/* ==========================================================================
   Styling and layout for all media
   ========================================================================== */


/* ==========================================================================
   Styling and layout for screen media (mobile first)
   ========================================================================== */

@media screen {

/* Layout
   ========================================================================== */

body {
    background: 0;
}

.wrapper {
    background: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: 1080px;
    width: 100%;
    min-width: 320px;
}

header, #container, .container {
    margin: 0 auto;
    width: 100%;
}

/* Lock header back to original compact height */
header[role="banner"] {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: center; /* Vertically centers the text within the 119px container */
    height: 120px;           /* Forces exact historic height */
    padding-right: 1.5em;
    box-sizing: border-box;
    text-align: right;
    overflow: hidden;        /* Prevents margin-collapse expansion */
}

/* Zero out browser default paragraph margins */
.site-title,
.site-slogan {
    margin: 0;
    padding: 0;
    float: none;
    text-align: right;
}

/* Site Name */
.site-title {
    font-family: 'Oswald', sans-serif;
    font-size: 4.2rem;       /* Locks exact 67.2px size */
    font-weight: 400;
    line-height: 1;
    color: #00a400;
}

.site-title a {
    color: inherit;
    text-decoration: none;
}

/* Site Tagline */
.site-slogan {
    font-family: 'Oswald', sans-serif;
    font-size: 1.35em;
    line-height: 1.25;
    font-weight: 300;
    font-style: italic;
    color: #00a400;
    margin-top: 0.45em;      /* Subtle gap between title and slogan */
}

#front_showcase {
    height: auto;
}

#container {
    margin: 0 auto;
    overflow: auto;
    padding-bottom: 3.5em;
    width: 100%;
    max-width: 86em;
}

#content {
    margin-top: 2.8em;
    margin-left: 3em;
    margin-bottom: 1em;
    float: left;
    width: 63%;
}

#site-list {
    margin-left: 1.5em;
    text-align: left;
    float: left;
}

.slides {
    padding-bottom: 1.0em;
}

#navi {
    float: right;
    margin-right: 1.5em;
    width: 25%;
    max-width: 23em;
    background: 0;
}

nav ul {
    margin: 0 auto;
    list-style: none;
    list-style-image: none;
    display: block;
}

nav li {
    text-align: right;
    margin: 0;
    border-bottom: 0;
    padding: .5em 0;
}

nav li.active {
    color: #00a400;
    border-left: 2px solid #00a400;
}

footer {
    margin-top: -2em;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    width: 95%;
    height: 5em;
    clear: both;
    text-align: center;
    border-style: dotted none none none;
    border-width: 1px;
    border-color: #99FF00;
    padding-top: 1em;
}

/* 1. Global Content Images (Photos, Hero, Article Images) */
img, video {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 9 / 5; /* Handles all standard content photos */
}

/* 2. Fix Divider & Icon Images (Resets height so lines don't stretch) */
.divider img,
img.divider {
    aspect-ratio: auto !important;
    height: auto !important;
    max-width: 100%;
}

/* 3. Divider Container (Your existing style) */
.divider {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0em;
    margin-bottom: 0em;
    max-width: 100%;
}

.thumb {
    text-align: center;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0em;
    margin-bottom: 0em;
}
 

/* Links
   ========================================================================== */

a {
   position: relative;
   text-decoration: none;
   -webkit-tap-highlight-color: rgba(153, 255, 0, 1);
}

a:link {
   text-decoration: none;
   color: #02cc00;
}

a:hover {
   outline: 0;
   text-decoration: none;
   color: #99ff00; 
}

a:active {
   outline: 0;
   top: 1px;
   color: #007900;
}

a:focus {
   outline: thin dotted #06f;
}

header a {
   color: #02cc00;
}

[role="main"] a:hover,
[role="complementary"] a:hover {
    text-decoration: none;
    color: #99ff00 !important;
}

[role="complementary"] a:active {
    text-decoration: none;
    color: #009900;
}

[role="main"] a:visited,
[role="complementary"] a:visited {
    color: #02cc00;
}

[role="main"] h1 a, h1 a:visited {
    color: #02cc00;
}

[role="main"] h1 a:hover {
     text-decoration: underline;
     color: #99ff00;
}

nav .current {
    color: #007900; 
    padding-right: 0.5em;
    border-right: 0.5em solid #007900;
}

.menu_article {
    font-size: 0.875em !important;
    padding-right: 1.25em;
    line-height: 1.5;
}

#sitemap .menu_article {
    font-size: 0.9375em !important;
    padding-left: 3em;
    line-height: 1.5;
}

.menuparent {
    padding-left: 0;
    padding-top: .5em;
    line-height: 1.5;
}

.paginator-l {
    float: left;
    width: 40%;
    text-align: left;
}

.paginator-r {
    float: right;
    width: 40%;
    text-align: right;
}

/* Typography
   ========================================================================== */

body {
    font-family: 'open sans', sans-serif;
    font-size: 1.1em;
    line-height: 1.5;
    font-weight: 400;
    color: #111;  
    margin: 0;
}

h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 2em;
    line-height: 1.25;
    font-weight: 300;
    color: #00a400;
    margin-top: 0.32em;
    text-align: center;
}

/* Style primary article and hut titles */
#content h1,
article h1,
h1.entry-title {
    display: block !important;
    visibility: visible !important;
    font-family: 'Oswald', sans-serif;
    font-size: 1.75rem;       /* ~35px - slim, proportional article title */
    font-weight: 300;        /* Elegant Oswald 300 */
    line-height: 1.25;
    color: #111111;          /* High contrast body-matched color */
    margin-top: 0.7em;
    margin-bottom: 0.5em;
    float: none !important;  /* Clears any legacy floating */
    text-align: center;        /* Ensures article title aligns with body text */
}

h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.5em;
    font-weight: 300;
    line-height: 1.25;
    color: #00a400;
    margin-top: 0.5em;
    text-align: center;
}

h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.35em;
    font-weight: 300;
    line-height: 1.25;
    font-weight: normal;
    color: #666666;
    text-align: center;
}

h4 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.35em;
    color: #666666;
    font-weight: 300;
    text-align: center;
    margin-top: 0em;
    margin-bottom: 0.5em;
}

h5 {
    color: #333;
    font-family: 'Oswald';
    font-size: 1.25em;
    font-style: normal;
    font-weight: 300;
    line-height: 1.4em;
    text-align: center;
    margin: 1.0em 0;
}

h6 {
    color: #333;
    font-family: 'Oswald';
    font-size: 1em;
    font-style: normal;
    font-weight: 300;
    line-height: 1.4em;
    text-align: center;
    margin: 1.0em 0;
}

blockquote {
    font-size: 0.9375em;
    font-style: italic;
    margin-left: 2em;
}

small {
    font-size: .9125em;
}

b, strong, em {
    font-weight: 500;
    font-style: italic;
}

p.route {
    margin-left: 1em;
}

nav {
    font-family: Oswald, sans-serif;
    font-weight: 300;
    font-size: 1.25em;
    padding-top: 2.8em;
}

p {
    font-family: 'open sans', sans-serif;
    font-size: 1.1em;
}

p.align-center {
    text-align: center;
}

p.align-right {
    text-align: right;
}

sub, sup {
    font-size: .85714285714286em;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sup {
    top: -0.5em;
}

sub {
    bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */

/* 1. Global Responsive Images & Aspect Ratio Fix */
img, video {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 9 / 5; /* Instantly reserves height for 1080x600 & 1080x500 images */
}

/* 4. Alignment Clean-up */
.align-center {
    display: block;
    max-width: 100%;
    height: auto;
    margin-top: 0;
    margin-bottom: 1em;
    margin-left: auto;
    margin-right: auto;
}

img:hover {
    opacity: .9;
}

figure {
    margin: 0;
}

svg:not(:root) {
    overflow: hidden;
}

} /* End @media screen */


/* ==========================================================================
   Additional layout for screen media 450px and under
   ========================================================================== */

@media only screen and (max-width: 450px) {

.wrapper {
    background: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: 450px;
    width: 100%;
    min-width: 320px;
}

#front_showcase {
    width: 100%;
    margin: 0;
}

#container {
    width: 100%;
    max-width: 450px;
}

#content {
    float: left !important;
    width: 90%;
    max-width: 450px;
    margin-top: 0.5em;
    margin-left: 1em;
    margin-right: 1em;
}

body {
    font-family: 'open sans', sans-serif;
    font-size: 0.875em;
    line-height: 1.375;
    font-weight: 300;
    color: #333;  
    margin: 0;
}

h1 {
    font-family: 'Oswald', sans-serif;
    font-size: 2.6em;
    line-height: 1;
    font-weight: bold;
    color: #00a400;
}

h2 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.25em;
    line-height: 1.125;
    color: #00a400;
    margin-top: 0.5em;
    text-align: center;
}

h3 {
    font-family: 'Oswald', sans-serif;
    font-size: 1em;
    line-height: 1.25;
    font-weight: normal;
    font-style: italic;
    color: #00a400;
}

h4 {
    font-family: 'Oswald', sans-serif;
    font-size: 1.125em;
    color: #666666;
    text-align: center;
    margin-left: 0.5em;
    margin-right: 0.5em;
}

h5 {
    color: #333;
    font-family: 'Oswald';
    font-size: 1em;
    font-style: normal;
    font-weight: 400;
    line-height: 1.4em;
    text-align: center;
    margin: 1.0em 0;
}

small {
    font-size: .75em;
}

p.paginator {
    margin: 0;
}

.menu_article {
    padding-right: 1em;
    font-size: 0.875em !important;
    line-height: 1.5;
}

nav ul.menu {
    display: block;
    float: right;
    text-align: right;
}

#navi {
    float: right;
    margin-right: 2em;
    width: 90%;
    background: 0;
}

nav {
    padding-top: 2.0em;
    width: 100%;
}

header {
    float: right;
    display: block;
    padding-right: 1.5em;
    text-align: right;
}

header h1 {
    float: right;
    display: block;
    margin: 0.125em 0 0 0;
    text-align: right;
}

header h3 {
    float: right;
    display: block;
    margin: 0.5em 0 0 0;
    text-align: right;
}

.align-center {
    display: block;
    max-width: 100%;
    height: 100%;
    margin-top: 0;
    margin-left: auto;
    margin-right: auto;
}

img, video {
    display: block;
    max-width: 100%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

} /* End @media only screen and (max-width: 450px) */


/* Contact Page & Utility Lists
   ========================================================================== */

#contact {
    padding: 0;
}

#contact fieldset {
    border: none;
    padding-bottom: 1em;
}

#contact legend {
    color: #333;
    font-size: 0.875em;
    padding: 0 0 1em 0;
    text-align: left;
    display: none;
}

#contact label {
    float: left;
    font-size: 0.875em;
    width: 8em;
    padding-top: 0.3em;
    margin: 0em 1em 0 0;
    text-align: right;
    color: #333;
}

#contact input {
    margin-bottom: 0.5em;
    width: 50%;
}

#contact br {
    clear: left;
}

#contact Submit {
    margin: 2em 0px 1em 4em;
}

li {
    list-style: none;
    padding-top: .5em;
}

li.menu_article {
    list-style: none;
    padding-top: 0.5em;
}

.section_list {
    font-size: 1.1375em;
}


/* Forms
   ========================================================================== */

form {
    margin: 0;
}

fieldset {
    margin: 0;
    border: 0;
    padding: 0;
}

legend {
    border: 0;
    padding: 0;
    white-space: normal;
}

button, input, select, textarea {
    font-size: 100%;
    margin: 0;
    vertical-align: baseline;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
    color: #888;
}
input:-moz-placeholder, textarea:-moz-placeholder {
    color: #888;
}

button:invalid, a.button:invalid, input:invalid, input[type="button"]:invalid, 
input[type="reset"]:invalid, input[type="submit"]:invalid, textarea:invalid {
    box-shadow: none;
}

button::-moz-focus-inner, a.button::-moz-focus-inner, input::-moz-focus-inner, 
input[type="button"]::-moz-focus-inner, input[type="reset"]::-moz-focus-inner, 
input[type="submit"]::-moz-focus-inner, textarea::-moz-focus-inner {
    border: 0;
    padding: 0;
}

button:focus, a.button:focus, input:focus, input[type="button"]:focus, 
input[type="reset"]:focus, input[type="submit"]:focus, select:focus, textarea:focus {
    box-shadow: 0 0 7px #0066ff;
    z-index: 1;
}

input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
    -webkit-appearance: none;
}

input[type="file"]:focus, input[type="file"]:active,
input[type="radio"]:focus, input[type="radio"]:active,
input[type="checkbox"]:focus, input[type="checkbox"]:active {
    box-shadow: none;
}

textarea, input[type="color"], input[type="date"], input[type="datetime"], 
input[type="datetime-local"], input[type="email"], input[type="month"], 
input[type="number"], input[type="password"], input[type="search"], 
input[type="tel"], input[type="text"], input[type="time"], 
input[type="url"], input[type="week"] {
  -webkit-appearance: none;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .8571em;
  text-align: left;
  border: solid 1px #ccc;
  padding: .5em;
  margin-bottom: 0.5em;
  background: #fff;
  outline: 0;
  box-sizing: border-box;
  border-radius: 0;
  width: 50%;
}

input[type="color"] {
  padding: 0;
  height: 2.3333em;
}

[role="complementary"] input[type="search"] {
  margin-right: 2px;
  width: 66.666666666667%;
  display: inline-block;
}

textarea {
  min-height: 3em;
  overflow: auto;
  vertical-align: top;
  resize: vertical;
}

select {
  font-family: Arial, Helvetica, sans-serif;
  font-size: .85714285714286em;
  text-align: left;
  border: solid 1px #ccc;
  padding: .5em;
  background: #fff;
  box-sizing: border-box;
}

textarea, select[size], select[multiple] {
  height: auto;
}

optgroup {
  font-family: Arial, Helvetica, sans-serif;
  font-style: normal;
  font-weight: normal;
  color: #333;
}

optgroup::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

button[disabled], input[disabled], input[type="button"][disabled], 
input[type="reset"][disabled], input[type="submit"][disabled], 
select[disabled], select[disabled] option, select[disabled] optgroup, 
textarea[disabled], span.disabled {
  opacity: 1;
  user-select: none;
  border: solid 1px #d2d2d2 !important;
  text-shadow: none !important;
  color: #888888 !important;
  background: #eee !important;
  cursor: default !important;
  top: 0 !important;
}

.large input {
  width: 50%;
  min-width: 302px;
}

.large textarea {
  height: 156px;
}

.small input {
  width: 25%;
  min-width: 151px;
}

.small textarea {
  height: 5.5em;
}




/* ==========================================================================
   GLightbox Custom Overrides
   ========================================================================== */

/* Container centered and constrained to max original image width */
.glightbox-clean .gslide-inner-content {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    width: 100% !important;
    max-width: 1080px !important; /* Fixed upper bound matching image file size */
    margin: 0 auto !important;
    padding: 0 !important;
}

/* Photo container shrink-wraps the image */
.glightbox-clean .gslide-media {
    display: block !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
    line-height: 0 !important;
}

.glightbox-clean .gslide-media img {
    display: block !important;
    max-height: 75vh !important; /* Keeps portrait photos on screen */
    width: auto !important;
    max-width: 100% !important;
    margin: 0 auto !important;
}

/* Caption inherits the exact rendered width of the media container */
.glightbox-clean .gslide-description {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    background: #ffffff !important;
    margin: 0 !important;
}

.glightbox-clean .gdesc-inner {
    padding: 9px 12px 18px !important;
}

.glightbox-clean .gslide-desc {
    font-family: 'Open Sans', sans-serif !important;
    color: #000000 !important;
    font-size: 0.9em !important;
    margin: 0 !important;
    line-height: 1.2 !important;
    text-align: center !important;
    overflow-wrap: break-word !important;
    word-break: break-word !important;
}

/* Prevents caption rendering glitches prior to image download */
.gslide:not(.loaded) .gslide-description {
    opacity: 0 !important;
}

.gslide.loaded .gslide-description {
    opacity: 1 !important;
    transition: opacity 0.15s ease-in !important;
}

/* 85% opacity elephant gray */
.glightbox-clean .goverlay {
    background: rgba(43, 45, 47, 0.95) !important;
}

/* Mobile Optimization for 500px/600px Landscape Images */
@media only screen and (max-width: 768px) {
    /* Ensure image scales down in horizontal view so caption stays visible */
    .glightbox-clean .gslide-media img {
        max-height: 55vh !important;
    }

    /* Slightly tighten padding for smaller touch screens */
    .glightbox-clean .gdesc-inner {
        padding: 6px 10px 10px !important;
    }

    .glightbox-clean .gslide-desc {
        font-size: 0.85em !important;
    }
}

/* Position Next/Prev arrows anchored 540px out from the center (matching 1080px photo edges) */
.glightbox-clean .gprev {
    left: calc(50% - 540px - 60px) !important; /* 540px = half photo width, 60px = offset */
    right: auto !important;
}

.glightbox-clean .gnext {
    left: calc(50% + 540px + 20px) !important;
    right: auto !important;
}

/* On screens narrower than the image + arrows, tuck them safely inside the photo edges */
@media only screen and (max-width: 1240px) {
    .glightbox-clean .gprev {
        left: 15px !important;
    }
    .glightbox-clean .gnext {
        left: auto !important;
        right: 15px !important;
    }
}
/* ==========================================================================
   HERO BANNER & SPLIDE SLIDESHOW STYLES
   ========================================================================== */

/* 2. Hero Banner Container (The Anchor) */
.hero-banner, 
#front_showcase {
    max-width: 1080px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border: 0;
    overflow: hidden;
    position: relative;
    background-color: #000;
    box-sizing: border-box;
    aspect-ratio: 9 / 5; /* Reserves container space BEFORE image or Splide JS loads */
}

figure.hero-banner {
  margin: 0 auto;
  padding: 0;
}

.hero-banner ul,
.hero-banner li,
.splide__track,
.splide__list,
.splide__slide {
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  border: 0 !important;
}

/* 3. Hero Banner Image Fill */
.hero-banner img {
    display: block;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    object-fit: cover; /* Perfectly fills the 9/5 box without distortion */
}

/* ==========================================================================
   SPLIDE PAGINATION DOTS (TOP-RIGHT CORNER WITH LIME GREEN ACCENT)
   ========================================================================== */

.hero-banner .splide__pagination,
.splide__pagination {
  top: 12px !important;
  bottom: auto !important;
  left: auto !important;
  right: 15px !important;
  width: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  z-index: 10 !important;
}

/* Inactive Dots */
.hero-banner .splide__pagination__page,
.splide__pagination__page {
  width: 10px !important;
  height: 10px !important;
  background: rgba(255, 255, 255, 0.6) !important;
  border: 1px solid rgba(0, 0, 0, 0.3) !important;
  border-radius: 50% !important;
  margin: 0 3px !important;
  opacity: 0.8 !important;
  cursor: pointer !important;
}

/* Active Dot (Bright Lime Green) */
.hero-banner .splide__pagination__page.is-active,
.splide__pagination__page.is-active {
  background: #ccff00 !important;
  border-color: #333333 !important;
  transform: scale(1.1) !important;
  opacity: 1 !important;
}

.gallery-cover-wrap {
    position: relative;
    display: block; /* Allows margin auto centering */
    margin-left: auto;
    margin-right: auto;
    width: fit-content; /* Shrink-wraps tightly to the 480px photo width */
    max-width: 100%;
}

/* Ensure the image block doesn't add extra inline line-height space below */
.gallery-cover-wrap img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Semi-transparent lime green "CLICK" overlay */
.gallery-cover-wrap::after {
    content: "CLICK";
    position: absolute;
    top: 50%;
    left: 50%;
    /* Shift Y up to -55% to offset Impact font top-padding */
    transform: translate(-50%, -70%); 
    
    font-family: Impact, "Arial Black", sans-serif;
    font-size: clamp(65px, 26vw, 135px);
    line-height: 0.8; /* Tightens font box bounds */
    color: rgba(50, 205, 50, 0.5);
    
    text-transform: uppercase;
    pointer-events: none;
    user-select: none;
    white-space: nowrap;
    
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3); 
    transition: color 0.2s ease-in-out;
}

/* Brightens on hover */
.gallery-cover-wrap:hover::after {
    color: rgba(50, 205, 50, 0.75);
}

/* ==========================================
   Hero Slideshow Resets (.topimage)
   ========================================== */
.topimage ul,
.topimage li {
  margin: 0;
  padding: 0;
  list-style: none;
  line-height: 1;
}

.topimage .splide__pagination {
  bottom: 12px;
  padding: 0;
  margin: 0;
}

.topimage .splide__pagination__page {
  background: #ffffff;
  opacity: 0.6;
}

.topimage .splide__pagination__page.is-active {
  background: #ffffff;
  opacity: 1;
}


/* Sets white background while images load in Splide */
.splide,
.splide__track,
.splide__slide {
    background-color: #ffffff !important;
}


/* ==========================================================================
   GLightbox Mobile Overrides (Applies uniformly to ALL slides in gallery)
   ========================================================================== */
@media only screen and (max-width: 768px) {

    /* 1. Flex layout: Stacks media on top and white caption box directly below */
    .glightbox-clean .gslide-inner-content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        align-items: center !important;
        height: 100vh !important;
        max-height: 100vh !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    /* 2. Constrain landscape photo height so top/bottom edges fit on mobile screens */
    .glightbox-clean .gslide-media {
        position: relative !important;
        max-height: 65vh !important;
        margin: 0 !important;
        box-shadow: none !important;
    }

    .glightbox-clean .gslide-media img {
        max-height: 65vh !important;
        width: auto !important;
        object-fit: contain !important;
    }

    /* 3. Attach white caption box below image - target ALL slide variants */
    .glightbox-clean .gslide-description,
    .glightbox-clean .gslide-description.description-bottom,
    .glightbox-clean .gslide-description.description-top,
    .glightbox-clean .gslide-description.gslide-description-active,
    .glightbox-clean .gslide-description.description-truncated {
        position: relative !important;
        bottom: auto !important;
        top: auto !important;
        left: auto !important;
        right: auto !important;
        height: auto !important;
        max-height: 28vh !important;
        overflow-y: auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
        transform: none !important;
    }

    /* 4. Desktop Match: Solid White Background across ALL slides */
    .glightbox-clean .gdesc-inner,
    .glightbox-clean .gslide-description .gdesc-inner {
        display: block !important;
        background: #ffffff !important;
        padding: 8px 12px 10px !important;
        box-sizing: border-box !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }

    /* 5. Force ALL text lines to display immediately on initial load */
    .glightbox-clean .gslide-desc,
    .glightbox-clean .gslide-description .gslide-desc,
    .glightbox-clean .gslide-description.description-truncated .gslide-desc {
        font-size: 0.8em !important;
        line-height: 1.25 !important;
        color: #2b2d2f !important;
        margin: 0 !important;
        
        display: block !important;
        height: auto !important;
        max-height: none !important;
        overflow: visible !important;
        
        /* Overrides webkit clamping on both initial slide & looped slides */
        -webkit-line-clamp: none !important;
        line-clamp: none !important;
        -webkit-box-orient: unset !important;
        white-space: normal !important;
    }

    /* 6. Hard remove mobile "See more" text, dots, & touch triggers globally */
    .glightbox-clean .more-desc,
    .glightbox-clean .gslide-inline-details,
    .glightbox-clean .gdesc-inner .more-desc,
    .glightbox-clean .gslide-description .more-desc,
    .glightbox-clean .gslide-description .more-desc-icon,
    .glightbox-clean .gslide-description .gslide-desc-dots {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        width: 0 !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
}