/*
Theme Name: Glacial Theme
Author: Glacial Multimedia
Author URI: https://glacial.com
Description: Your custom created WordPress theme from Glacial Multimedia.
Version: 3.2.4
Text Domain: glacialtheme

GitHub Theme URI: https://github.com/Glacial-Web/glacial-theme
 */

:root {
    --gl-inner-pad-top: 4rem;
    --gl-inner-pad-bottom: 4rem;

    --gl-button-color: #fff;
    --gl-button-bg: #0D2C31;
    --gl-button-color-hover: #ffffff;
    --gl-button-bg-hover: #3D747D;
    --gl-max-width: 1350px;
}

.screen-readers {
    position: absolute !important;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    border: 0;
    word-break: normal !important;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

/* Skip Links */
.glacial-skip-link {
    position: absolute;
    top: -9999px;
    left: -9999px;
    -webkit-transition: 0s;
    transition: 0s;
    text-decoration: none;
}

.glacial-skip-link:focus {
    padding: 1em 2em !important;
    top: 20px;
    font-size: 1.2em;
    left: 20px;
    z-index: 99999;
    background: #333;
    color: #fff;
    border: 1px solid #ccc;
}

/* Full width blocks */
.alignfull {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow-x: hidden;
}

.standard-inner-wrapper, .glacial-footer {
    max-width: var(--gl-max-width, 1350px);
    width: 90%;
    margin: 0 auto;
}

.standard-inner-wrapper {
    padding-top: var(--gl-inner-pad-top);
    padding-bottom: var(--gl-inner-pad-bottom);
}

/* Related Pages bottom — on-brand full-bleed "Services" section.
   The theme outputs .related-pages-bottom (h2.related-title + ul>li>a text
   links) at the bottom of inner pages. Styled to match the site: a light
   teal full-bleed band with the serif heading and the service links as
   teal-bordered cards in a responsive grid. Sits above the dark-teal footer
   and preserves its wave transition. Verified desktop / mobile (no h-scroll
   from the 100vw full-bleed). Colors from webflow.css :root. */
.related-pages-bottom {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    margin-top: 6%;
    padding: 4% 20px 5%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    overflow-x: hidden;
    background-color: #e8f5f7; /* pale tint of --light-blue (#a5eaf5) */
}

.entry .related-pages-bottom .related-title,
.related-pages-bottom h2 {
    width: 100%;
    margin: 0 0 24px;
    color: #0d2c31; /* --dark-teal */
    font-family: ivypresto-display, serif; /* site heading font */
}

/* Service links become a responsive grid of teal-bordered cards. */
.entry .related-pages-bottom ul,
.related-pages-bottom ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, 100%), 1fr));
    gap: 14px;
    width: 90%;
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    align-items: stretch;
}

.related-pages-bottom ul li {
    margin: 0;
}

.entry .related-pages-bottom ul li a,
.related-pages-bottom ul li a {
    display: block;
    height: 100%;
    padding: 14px 18px;
    color: #0d2c31; /* --dark-teal */
    background: #fff;
    border: 1px solid #3d747d; /* --logo-teal */
    border-radius: 10px;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.related-pages-bottom ul li a:hover {
    background: #3d747d; /* --logo-teal */
    color: #fff;
}

/* Flush the related-pages section into the footer.
   - When related links are present, give the footer the same background as
     the related band; it shows above the footer's wave graphic, so the light
     teal runs continuously from the cards into the footer. Pages with no
     related links keep the footer's default (no teal) via body:has().
   - Drop the content wrapper's bottom padding when related links are present,
     so there's no gap between the two.
   - Hide the section entirely on pages with no related links (otherwise the
     styled band renders as an empty ~100px light-teal strip). */
body:has(.related-pages-bottom ul li) footer,
body:has(.related-pages-bottom ul li) footer .footer_section {
    background-color: #e8f5f7; /* match .related-pages-bottom — only on pages that show related links */
}

.standard-inner-wrapper:has(.related-pages-bottom ul li) {
    padding-bottom: 0;
}

.related-pages-bottom:not(:has(ul li)) {
    display: none;
}

/* Pillar Link Buttons*/

.pillar-link-grid {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    grid-gap: 1.5em;
    grid-auto-rows: 1fr;
}

.pillar-link-grid a.ui-button {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-end;
    margin: auto;
    width: 100%;
    height: 300px;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    border-color: rgba(255, 255, 255, 0.8);
    border-width: 2px;
    left: 10px;
    right: 10px;
    bottom: 10px;
    top: 10px;
}

.pillar-link-grid a.ui-button span {
    width: 100%;
    padding: 10px;
    color: #000;
    background-color: rgba(255, 255, 255, 0.8);
}

/* Blog containers */

.outer-flex-wrapper {
    gap: 4rem;
}

.main-content {
    flex: 1;
}

aside {
    background: #fff;
    flex-basis: 25%;
    border-left: 1px solid #cecece;
    padding-left: 15px;
}

h2 a {
    text-decoration: none !important;
}

.related-topics-div ul {
    padding-left: 0;
}

.related-topics-div li {
    list-style: none;
}

.related-topics-div li a {
    text-decoration: none;
}

.related-pages-bottom li:first-of-type {
    margin-left: 0;
}

/* Format Content */
.entry h2, .entry h3, .entry h4, .entry p, .entry ul, .entry ol, .entry blockquote, .attachment-post-thumbnail, .wp-block-kadence-accordion, article h2, article h3, article h4, article p, article ul, article ol, article hr, article blockquote, .wp-block-group, .wp-block-image, .wp-block-media-text {
    margin-bottom: 30px;
}
.entry h3{
    font-family: ivypresto-display, serif;
}
.entry img{
    border-radius: 10px;
}
.entry p, .entry li {
    line-height: 180%;
}

.entry hr {
    margin: 50px auto;
}

blockquote {
    color: var(--gl-button-bg);
    line-height: 1.5em;
    font-weight: 400;
    font-style: italic;
}

cite {
    color: #757575;
    font-weight: 400;
    font-style: normal;
}

.wp-caption-text {
    margin-top: 30px;
    font-style: italic;
    text-align: center;
}

img, .entry img {
    height: auto
}

a {
    -webkit-transition: all 100ms ease;
    -o-transition: all 100ms ease;
    transition: all 100ms ease;
}

.entry a {
    color: #437AB2;
    text-decoration: underline;
}

.entry a:hover {
    color: #174677;
}

.size-medium-large img {
    width: 100%;
    max-width: 650px;
}

/* Button Code */
a.ui-button, a.wp-block-button__link, .entry a.moretag {
    color: var(--gl-button-color);
    font-size: 1em;
    margin: 0 20px 30px 0;
    border-radius: 0;
    text-transform: uppercase;
    display: inline-block;
    padding: 0.6em 1.2em;
    text-align: center;
    text-decoration: none;
    background: var(--gl-button-bg);
}

a.ui-button:hover, a.wp-block-button__link:hover, .entry a.moretag:hover {
    color: var(--gl-button-color-hover);
    background: var(--gl-button-bg-hover);
    box-shadow: 0 20px 20px 0 rgba(0, 0, 0, 0.15);
}

.search-submit {
    -webkit-appearance: none;
    padding: 0 15px;
    border: none;
    cursor: pointer;
    background: var(--gl-button-bg);
    color: var(--gl-button-color);
}

.search-submit:hover {
    color: var(--gl-button-color-hover);
    background: var(--gl-button-bg-hover);
}

.search-form {
    margin-bottom: 30px;
    display: -webkit-box;
    display: flex;
}

.search-field, .search-submit {
    height: 35px;
}

.search-field {
    padding-left: 5px;
    border-radius: 0;
    border: 1px solid #666;
    color: #333;
}

.entry a.moretag {
    display: block;
    margin: 15px 0;
    padding: 0.6em;
    width: 150px;
}

/* Button Code End */
h2 a {
    text-decoration: none;
}

/* Alignment */
.alignleft {
    float: left;
    margin: 0 15px 8px 0;
}

.alignright {
    float: right;
    margin: 0 0 8px 15px;
}

.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.embed-container {
    position: relative;
    padding-bottom: 45.25%;
    height: 0;
    overflow: hidden;
    max-width: 80%;
    margin: auto;
    margin-bottom: 20px;
}

.embed-container iframe, .embed-container object, .embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.flex-wrapper, .flex-wrapper .wp-block-group__inner-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.entry aside .wp-block-group__inner-container {
    display: block
}

.flex-wrapper .ui-button, .flex-wrapper .wp-block-button {
    width: 260px;
    margin-right: 0 !important;
    display: -webkit-box !important;
    display: flex !important;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    margin-bottom: 30px;
}

.flex-wrapper .wp-block-button__link {
    margin-right: 0 !important;
    margin-bottom: 0 !important;
    height: 100%;
    width: 100%;
    display: -webkit-box !important;
    display: flex !important;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
}

.flex-item {
    text-align: center;
    margin-bottom: 30px;
}

#primary-sidebar h2 {
    font-size: 20px;
    font-weight: 700;
    border-bottom: 1px solid #2f7896;
    color: #2f7896;
    text-transform: uppercase;
    margin-bottom: 30px;
}

#primary-sidebar ul {
    padding-left: 0;
    margin-bottom: 30px;
}

#primary-sidebar ul li {
    list-style: none;
}

#primary-sidebar ul li a {
    text-decoration: none;
}

hr {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.75), rgba(0, 0, 0, 0));
    background-image: -webkit-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
    background-image: -o-linear-gradient(left, #f0f0f0, #8c8b8b, #f0f0f0);
}

.menu-footer-menu-container {
    width: 100%;
}

.sb-link.current-page {
    color: var(--gl-button-bg-hover);
}

#menu-footer-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
    padding-left: 0;
}

#menu-footer-menu li {
    list-style: none;
}

.menu-level-1 {
    display: none
}

/* Dropdown Menus End */

.wp-block-group.has-background {
    padding: 2rem;
}

.footer-menu-link {
    padding: 1em;
}

/** Column Shadow Boxes **/
.wp-block-columns.box-columns {
    margin-bottom: 30px !important;
}

.box-columns .wp-block-column {
    border: 1.2px solid #e5e5e5;
    padding: 20px 20px 0 20px;
    height: auto;
    min-height: 280px;
    background-color: #fbfbfb;
    box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, .19);
    -webkit-transition: all 400ms ease;
    -moz-transition: all 400ms ease;
    -ms-transition: all 400ms ease;
    transition: all 400ms ease;
}

.box-columns .wp-block-column:hover {
    /*box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, .49);*/
}

/*** GUTTENBERG CALLOUT BOX GROUPS ***/
.box-outline {
    border: 1px solid var(--gl-button-bg);
    padding: 30px 30px 0 30px;
    margin: 0 0 30px 0;
    display: block;
}

.box-solid {
    background-color: #f0f7f8;
    padding: 30px 30px 0 30px;
    margin: 0 0 30px 0;
    display: block;
    border-radius: 10px;
}
.box-solid h2, .box-solid h3, .box-solid h4{
    color:#3d747d;
}

.box-solid .ui-button, .box-solid .wp-block-button__link {
    background-color: #fff !important;
    color: var(--gl-button-bg) !important;
}

.box-solid .ui-button:hover, .box-solid .wp-block-button__link:hover {
    background: var(--gl-button-bg-hover) !important;
    color: var(--gl-button-color) !important;
}

/*** KADENCE OVERRIDES ***/

/*** BIO ROW HOVER REVERSE TO COLOR/BLACK WHITE ***/
.kt-info-animate-grayscale img, .kt-info-animate-grayscale-border-draw img {
    -webkit-filter: none !important;
    filter: none !important;
}

.kt-blocks-info-box-link-wrap:hover .kt-info-animate-grayscale img, .kt-blocks-info-box-link-wrap:hover .kt-info-animate-grayscale-border-draw img {
    -webkit-filter: grayscale(100%) !important;
    filter: grayscale(100%) !important;
}

.top-floating-button {
    display: none;
    text-decoration: none;
    position: fixed;
    bottom: 20px;
    right: 20px;
    z-index: 999;
    font-size: 15px;
    border: none;
    outline: none;
    background-color: var(--gl-button-bg);
    color: white;
    padding: 10px;
    border-radius: 0;
    opacity: .7 !important;
    -webkit-transition: all 200ms ease;
    transition: all 200ms ease;
}

.top-floating-button:hover {
    background-color: var(--gl-button-bg-hover);
}

.tabs-content-2 {
    background-color: hsl(0deg 0% 90% / 73%);
}

/*** BLOG START ***/
.post-excerpt {
    margin-bottom: 30px;
    padding: 20px;
    box-shadow: 1px 1px 11px 0 rgb(68 68 70 / 17%);
}

.blog-entry-wrapper {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
}

.blog-entry-wrap {
    width: 65%;
}

.featured-img-post {
    width: 30%;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
}

.blog-logo {
    max-width: 270px;
    width: 100%;
}

h2.blog-title-excerpt {
    margin-top: 0;
    font-size: 28px;
    line-height: 1.3;
    margin-bottom: 5px;
}

.blog-grid .blog-grid-wrapper {
    display: -ms-grid;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    grid-gap: 3rem;
    margin: 0 auto 3rem auto;
}

.blog-grid-wrapper .grid-excerpt {
    max-width: 550px;
}

a.grid-excerpt {
    background-color: var(--gl-button-bg);
    padding: 20px;
    text-decoration: none;
    position: relative;
}

a.grid-excerpt:hover {
    background-color: var(--gl-button-bg-hover);
}

p.blog-grid-meta {
    margin-top: 10px;
    margin-bottom: 10px;
    font-size: 14px;
}

.grid-excerpt img {
    aspect-ratio: 16/9;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.grid-excerpt img.post-logo, .grid-excerpt .post-logo img {
    -o-object-fit: contain;
    object-fit: contain;
}

h2.blog-grid-title {
    font-size: 24px;
    line-height: 1.3;
    margin-bottom: 10px;
    margin-top: 0;
}

a.grid-excerpt * {
    color: var(--gl-button-color);
}

a.grid-excerpt:hover * {
    color: var(--gl-button-color-hover);
}

.nav-links {
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

.nav-link-buttons .nav-links {
    display: -ms-flexbox;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: justify;
    justify-content: space-between;
    flex-wrap: wrap;
}

.nav-link-buttons .nav-links {
    -webkit-box-pack: center;
    justify-content: center;
}

.nav-link-buttons .nav-links > * {
    width: 40px;
    padding: 10px;
    margin-top: 1em;
    margin-right: 10px;
    border-radius: 0;
    text-align: center;
    font-size: 1.2em;
}

.nav-link-buttons .nav-links a {
    color: var(--gl-button-color);
    background: var(--gl-button-bg);
    text-decoration: none;
}

.nav-link-buttons .nav-links a:hover, .nav-link-buttons .nav-links .current {
    background: var(--gl-button-bg-hover);
    color: var(--gl-button-color-hover);
}

.wp-block-image.img-50 figure {
    width: 49% !important;
}

.services-single-image {
    display: grid;
    grid-template-columns: 30% 70%;
    border: 1px solid #c5c5c5;
    width: 100%;
}

.services-single-image .links {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    padding: 0;
}

.services-single-image .links a {
    margin: 0;
    display: flex;
    align-items: center;
    flex: 1;
    text-align: left;
    border-bottom: 1px solid #c5c5c5;
}

.services-single-image a svg {
    transition: 0.2s ease-in-out transform;
    margin-left: 5px
}

.services-single-image a:hover svg {
    transform: translateX(10px);
}

.services-single-image .links a:last-child {
    border-bottom: none;
}

.services-single-image img {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 3;
}

/*** Search modal ***/

.search-button-modal {
    background: none;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid #666;
    border-radius: 50%;
    color: var(--gl-button-color);
    cursor: pointer;
    transition: 0.1s;
    background: var(--gl-button-bg);
}

.search-button-modal:hover {
    background: var(--gl-button-bg-hover);
    color: var(--gl-button-color-hover);
}

.search-button-modal svg {
    width: 15px;
    height: 15px;
}

.modal__overlay {
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
}

.modal__container {
    position: relative;
    background-color: #fff;
    padding: 30px;
    width: 95%;
    max-width: 500px;
    max-height: 100vh;
    border-radius: 4px;
    overflow-y: auto;
    box-sizing: border-box;
}

.modal__content button {
    padding: 5px 1em;
    display: block;
}

.modal__close {
    position: absolute;
    right: 10px;
    top: 10px;
    padding: 10px;
    background: transparent;
    border: 0;
}

.modal__close:before {
    content: "\2715";
}

@keyframes mmfadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes mmfadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}

@keyframes mmslideIn {
    from {
        transform: translateY(15%);
    }
    to {
        transform: translateY(0);
    }
}

@keyframes mmslideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(-10%);
    }
}

.micromodal-slide {
    display: none;
}

.micromodal-slide.is-open {
    display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
    animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="false"] .modal__container {
    animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
    animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__container {
    animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
    will-change: transform;
}

.modal__container .search-field {
    flex: 1;
}
.lasik_candidate_buttons a{
    color:#fff !important;
    text-decoration: none !important;
}
.lasik_candidate_section{
    padding:5% 0% !important;
}















.wp-block-button .wp-block-button__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 10px 22px 10px 52px;
    background: #063b43;
    color: #fff;
    border-radius: 100px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.2;
    text-decoration: none;
    border: none;
    box-shadow: none;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.wp-block-button .wp-block-button__link::before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 30px;
    height: 30px;
    background: #fff;
    border-radius: 50%;
    transform: translateY(-50%);
}

.wp-block-button .wp-block-button__link::after {
    content: "→";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #063b43;
    font-size: 18px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%) rotate(0deg);
    transform-origin: center;
    transition: transform 0.3s ease;
}

.wp-block-button .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus {
    background: #0b515b;
    color: #fff;
    text-decoration: none;
}

.wp-block-button .wp-block-button__link:hover::before,
.wp-block-button .wp-block-button__link:focus::before {
    transform: translateY(-50%);
}

.wp-block-button .wp-block-button__link:hover::after,
.wp-block-button .wp-block-button__link:focus::after {
    transform: translateY(-50%) rotate(-45deg);
}


/*** BLOG END ***/

/**** STYLE OVERRIDES ****/

/*** Home ***/

/*** Secondary Pages ***/

/*** Footer ***/

@media (max-width: 1080px) {

    .wp-block-image.img-50 figure {
        width: 100% !important;
    }

    /** Center images to avoid narrow text wrap **/
    .alignleft, .alignright, .aligncenter, .wp-block-image .alignright, .wp-block-image .alignleft {
        display: block;
        float: none;
        margin: auto;
        margin-bottom: 20px;
        text-align: center;
    }

    figcaption {
        display: block !important;
    }

    .blog-entry-wrapper {
        flex-wrap: wrap;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse;
    }

    .blog-entry-wrap, .featured-img-post {
        width: 100%;
    }

    .featured-img-post {
        margin-bottom: 0px;
        text-align: center;
    }

    .attachment-post-thumbnail {
        float: none;
    }

    .blog-entry-wrapper {
        -webkit-box-pack: center;
        justify-content: center;
    }

    .blog-title-excerpt, .blog-entry-wrap p {
        text-align: center;
    }

    .entry a.moretag {
        margin-left: auto;
        margin-right: auto;
    }

}

@media (max-width: 991px) {

    .search-button-modal {
        margin-top: 1em;
        margin-left: 10px;
    }

    .modal__overlay {
        align-items: flex-start;
    }

    .modal__container {
        margin-top: 100px;
    }

    .services-single-image {
        display: flex;
        flex-direction: column-reverse;
    }

    .w--open .w-icon-nav-menu:before {
        content: "\e900";
    }

    aside {
        flex-basis: auto;
        width: 100%;
        border-left: none;
        padding: 1em 0;
    }

    .pillar-link-grid a {
        padding: 1.5em;
    }

    /* Blog Containers */
    .main-content {
        width: 100%;
        padding-right: 0;
    }

    .embed-container {
        max-width: 100%;
        padding-bottom: 56.25%;
    }

    /* Rollover LASIK Callouts */
    .colorbox {
        display: block;
        z-index: 99999999;
        -webkit-transform: translateX(0px) translateY(0px) translateZ(0px) !important;
        transform: translateX(0px) translateY(0px) translateZ(0px) !important;
        opacity: 1 !important;
    }

    .project-name {
        -webkit-transform: translateX(0px) translateY(0px) translateZ(0px) !important;
        transform: translateX(0px) translateY(0px) translateZ(0px) !important;
    }
}

@media (max-width: 800px) {
    /** Stack Gutenberg Columns & Media Text **/
    .wp-block-columns {
        display: block
    }

    .wp-block-column {
        margin-left: 0px;
        margin-right: 0;
    }

    .wp-block-column:nth-child(2n) {
        margin-left: 0 !important;
    }

    .wp-block-media-text {
        display: -webkit-box !important;
        display: flex !important;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        margin-bottom: 0;
    }

    .wp-block-media-text__media img, .wp-block-media-text__media video {
        padding-bottom: 30px;
    }

    .wp-block-media-text .wp-block-media-text__content {
        padding: 0;
    }

    /* Column Shadow Boxes Mobile */
    .box-columns .wp-block-column {
        margin-left: 0;
        margin-bottom: 20px;
        width: 100%;
        flex-basis: unset;
    }

    .wp-block-columns.box-columns {
        flex-wrap: wrap;
    }

    .box-columns .wp-block-column:not(:first-child) {
        margin-left: 0;
    }

}

@media (max-width: 767px) {
    figure.alignleft, img.alignleft, figure.alignright, img.alignright {
        float: none !important;
        display: block !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    .kt-sc-textcol {
        margin: 0 !important;
    }

    .kt-row-column-wrap {
        max-width: 100% !important;
    }

    .wp-block-buttons > .wp-block-button {
        width: 100%;
    }

    .blog-grid-wrapper .grid-excerpt {
        max-width: 100%;
    }

}

@media only screen
and (min-device-width: 375px)
and (max-device-width: 667px)
and (-webkit-min-device-pixel-ratio: 2)
and (orientation: landscape) {

}

@media (max-width: 479px) {
    a.ui-button, a.wp-block-button__link, .entry a.moretag {
        width: 100%;
    }

    .featured-img-post {
        float: none;
        margin: 0 0 30px 0;
        text-align: center;
    }
}


/* ==================================================================
   Inner-page hero — responsive image + clear the fixed nav
   ------------------------------------------------------------------
   The Webflow export sized the hero image as a fixed square
   (.innerhero_img_div: 600px -> 450 -> 300), which forced the 1fr 1fr grid
   (squishing the text column) and never scaled. The section also used a
   fixed height with align-items:flex-end and no desktop top padding, so tall
   content overflowed the top and hid behind the position:fixed
   .glacial-top-banner.

   Fix: the image is fluid (fills its column up to 600px, stays circular via
   aspect-ratio 1/1); the section uses min-height (grows with content) and
   flex-start + a top padding that reserves space for the fixed nav, so
   content can never slide under it. Verified desktop / tablet / mobile. */
.inner_hero_section {
    height: auto;
    min-height: 75svh;
    align-items: flex-start;
    padding-top: 140px; /* clears the mobile header (~80px) with breathing room */
}

.innerhero_img_div {
    width: 100%;
    max-width: 600px;
    height: auto;
    aspect-ratio: 1 / 1;
    margin-left: auto; /* right-align within its column on the 2-col desktop layout */
}

@media (min-width: 992px) {
    .inner_hero_section {
        /* Clear the fixed desktop header (~110px — kept to a single line by
           the nav rule below) with a comfortable gap below the page title. */
        padding-top: 170px;
    }
}

@media (max-width: 991px) {
    /* Hide the hero image on mobile. Once the layout stacks, the image just
       drops below the text and pushes the page down without adding much, so
       hide the whole cell. With no image the hero is text-only, so let it
       size to its content instead of holding min-height:75svh (same reasoning
       as the no-image desktop fallback above) — otherwise short heroes leave
       a large empty band. The wave graphic lives in the section's bottom
       padding, so it's preserved. */
    .hero_img_cell {
        display: none;
    }
    .inner_hero_section {
        min-height: auto;
    }
}

/* ------------------------------------------------------------------
   Inner-hero fallback — pages with no hero image
   ------------------------------------------------------------------
   The hero is now ACF-driven (page-title.php): .hero_img_cell is only
   output when the `hero_image` field is set. Without it the grid still
   holds its Webflow desktop columns (1fr 1fr, from the #w-node ID rule
   at >=992px), so the text/CTA get stranded in the left half with an
   empty column beside them. Below 992px the export already collapses to
   one column, so this only needs handling on desktop.

   When there's no image cell, drop to a single column and cap the text
   block so the line length stays readable instead of stretching the
   full width. !important beats the Webflow ID rule (1,0,0); scoped to
   :not(:has(.hero_img_cell)) so image pages are untouched.

   Also let the section shrink to its content (the image is what gave the
   two-column hero its height, so min-height:75svh here just left a large
   empty band). The wave graphic lives in the bottom padding, so it's
   preserved. Grows with the hero text; compact when there's little. */
@media (min-width: 992px) {
    .inner_hero_grid:not(:has(.hero_img_cell)) {
        grid-template-columns: 1fr !important;
    }
    .inner_hero_grid:not(:has(.hero_img_cell)) .inner_hero_content_cell {
        max-width: 720px;
    }
    .inner_hero_section:not(:has(.hero_img_cell)) {
        min-height: auto;
    }
}


/* ==================================================================
   Nav — keep the desktop menu on one line (~992-1365px)
   ------------------------------------------------------------------
   The full-size menu (7 items incl. two wide CTAs) needs ~1366px to fit on
   one line; between the 991px hamburger breakpoint and ~1365px it wrapped to
   two lines, making the fixed header ~40px taller (and forcing the extra
   hero top-padding above). Tighten the item font/padding/margin and the logo
   in that range so it stays one line. !important beats the nav_settings-
   generated sizing and navigation.css (both load after style.css). Above
   1365px the full-size nav is restored. Verified 992 / 1280 / 1366. */
@media (min-width: 992px) and (max-width: 1365px) {
    .header-logo {
        max-width: 160px;
    }

    #navigation .gl-top-level > li {
        margin-right: 3px !important;
    }

    #navigation .gl-top-level > li > a {
        padding-left: 5px !important;
        padding-right: 5px !important;
        font-size: 14px !important;
    }
}


