/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/


#top .sf-menu>li ul { width:30em;}
#top .sf-menu li .sfHover ul, #top .sf-menu li li .sfHover ul {left:30em;}
#top .sf-menu li li .on-left-side, #top.sf-menu li .sfHover .on-left-side {right:30em;}

#header-outer[data-format="centered-menu"] #top nav >.sf-menu >li.current-menu-item, #header-outer[data-format="centered-menu"] #top nav >.sf-menu >li.current-menu-ancestor {background:#f0f0f0;}
#header-outer[data-format="centered-menu"] #top nav >.sf-menu >li.current-menu-item a:after, #header-outer[data-format="centered-menu"] #top nav >.sf-menu >li.current-menu-ancestor a:after {border-width:0 !important;}

#header-secondary-outer {border:0 !important;}
#header-secondary-outer[data-full-width="true"] >.container {padding:0 !important;}
#header-secondary-outer nav >.sf-menu {padding:0 !important;}
#header-secondary-outer ul {width:100%; background:#4a4a4a;}
#header-secondary-outer ul li a, #header-secondary-outer ul li.button_bordered_2 a {}
#header-secondary-outer .goog-te-gadget-simple .VIpgJd-ZVi9od-xl07Ob-lTBxed {color:#000000 !important;}
#header-secondary-outer .goog-te-gadget-simple span a {display: inline !important;}
#header-secondary-outer ul li.button_bordered_2 a:before {color:#ffffff !important;}
#header-secondary-outer ul li {padding:12px 6px !important;}
#header-secondary-outer ul li.button_bordered_2 {float:left !important;}
#header-secondary-outer ul li.button_bordered_2 a {font-weight:bold; margin:0 8px !important;}
#header-secondary-outer ul li.button_bordered_2 a:before {content:'|'; font-size:inherit; color:inherit; line-height:1; margin:0 16px 0 0; display:inline-block;}
#header-secondary-outer ul li.button_bordered_2:first-of-type a:before {content:''; margin-left:16px;}
#header-secondary-outer ul li.button_bordered_2 a:after {border:0 !important;}
#header-secondary-outer ul li.button_solid_color_2 {background:#6d6e71 !important; float:right !important;}
#header-secondary-outer ul li.button_solid_color_2:before {content:'|'; font-size:inherit; color:#f0f0f0; line-height:1; margin:0 10px 0 0; display:inline;}
#header-secondary-outer ul li.button_solid_color_2:last-of-type:before {content:''; margin-left:2px;}
#header-secondary-outer ul li.button_solid_color_2 a {color:#ffffff; display:inline !important;}
#header-secondary-outer ul li.button_solid_color_2 a:hover, #header-secondary-outer ul li.button_solid_color_2:hover a {color:#ffffff !important;}
#header-secondary-outer ul li.button_solid_color {background:var(--aa-gray) !important; float:right !important; border-left:1px solid #ffffff !important;}
#header-secondary-outer ul li.button_solid_color a {font-size:16px !important; padding-left:10px !important; padding-right:10px !important;}
#header-secondary-outer ul li.button_solid_color a:hover, #header-secondary-outer ul li.button_solid_color:hover a {color:#ffffff !important;}
#header-secondary-outer ul li.button_solid_color:hover {background-color: var(--aa-teal-btn) !important;}
#header-secondary-outer ul li.button_solid_color a:after {border:0 !important;}

#footer-outer #copyright #menu-footer-nav-menu-upper { padding-top:20px !important;}
#footer-outer #copyright #menu-footer-nav-menu-upper > li {margin:5px 0 10px 0 !important; padding:0 15px 0 10px !important; border-right:1px solid #ffffff;}
#footer-outer #copyright #menu-footer-nav-menu-upper > li:last-of-type {border-right:0 !important;}
#footer-outer #copyright #menu-footer-nav-menu-upper > li a {font-size:13px !important; font-weight:300 !important; text-transform:none !important; line-height:16px !important; height:16px !important; text-decoration:none !important;}
#footer-outer #copyright #menu-footer-nav-menu-upper > li a:hover {text-decoration:underline !important; }
#footer-outer #copyright #menu-footer-nav-menu-upper > li a:active {color:#202020 !important;}
#footer-outer #copyright #menu-footer-nav-menu-lower:after {content:''; display:block; width:75%; max-width:900px; text-align:center; margin-left:auto; margin-right:auto; height:0; padding-bottom:20px !important; margin-bottom:30px !important; border-bottom:1px solid rgba(255,255,255,0.25);}
#footer-outer #copyright #menu-footer-nav-menu-lower > li {margin:5px 0 10px 0 !important; padding:0 15px 0 10px !important; border-right:1px solid #ffffff;}
#footer-outer #copyright #menu-footer-nav-menu-lower > li:last-of-type {border-right:0 !important;}
#footer-outer #copyright #menu-footer-nav-menu-lower > li a {font-size:13px !important; font-weight:300 !important; text-transform:none !important; line-height:16px !important; height:16px !important; text-decoration:none !important;}
#footer-outer #copyright #menu-footer-nav-menu-lower > li a:hover {text-decoration:underline !important; }
#footer-outer #copyright #menu-footer-nav-menu-lower > li a:active {color:#202020 !important;}
#footer-outer #copyright p {font-style:italic !important;}
#footer-outer #copyright[data-layout="centered"] .col.span_5 {max-width:92% !important;}

ol li {list-style-type:inherit;}

.home #page-header-wrap {display:none;}
.home .row .col.section-title {padding-bottom:15px; padding-top:15px;}
.home .row .wpb_row, .material .wpb_row {margin-bottom:0;}
.bgtop {background-position:top center; background-repeat:no-repeat; background-size:initial;}
.bginitial, .bginitial .row-bg.using-image {background-size:300px auto !important;}
div[data-style="minimal_small"] .toggle:before {content:''; display:block; height:0; width:90px; border-top:1px solid #00b1b0; vertical-align:baseline; text-align:center; margin:30px auto;}
div[data-style="minimal_small"] .toggle a:after {content:'▸'; display:inline-block; margin:0 10px;}
div[data-style="minimal_small"] .toggle a {font-weight:300 !important; font-size:19px !important; line-height:1.5 !important;}
div[data-style="minimal_small"] .toggle.open a:after {content:'▾';}
.help-icon {max-width:240px !important; height:auto; width:auto; margin:0 auto;}
.nectar-milestone { text-align:center !important;}
.nectar-milestone .number {display:inline-block; }
.nectar-milestone .subject {display:inline-block; font-size:20px !important; font-weight:bold !important;}
.nectar_single_testimonial[data-style="small_modern"] .wrap > span:first-of-type {font-weight:bold !important; text-transform:uppercase;}
.row .col.section-title {border-bottom:0 !important;}
#page-header-bg[data-bg-pos="center"] .page-header-bg-image { background-position:center top;}
body:not(.single-post) #page-header-bg:not(.fullscreen-header) .span_6 {min-height: 160px !important;}
/* Fix: generic `.row .col img` content-spacing rule (parent theme style.css) leaks a
   15px margin-bottom onto the header background image on templates that nest
   #page-header-wrap inside a .row/.col (e.g. page-template-page-sidebar), exposing
   the #page-header-bg black placeholder behind the absolutely-positioned image. */
#page-header-bg .page-header-bg-image img { margin-bottom: 0; }


/* Custom styles for elements on pages */
.post-area .wpb_row { padding-top: 2em!important; padding-bottom: 2em!important; }
.bg_contain .row-bg { background-size:contain !important;}
.no_padding { padding: 0!important; }
.accent { color: #008484 !important; }
.stardecor:before, .stardecor:after {content:'★★★'; display:inline; margin:0 20px;}


#search-btn a:before, .mobile-search:before {content:'Search'; display:block; position:absolute; font-weight:300 !important; font-size:19px !important; line-height:20px !important; color:#1a1a1a; vertical-align:top; right:35px; top:50%; margin-top:-10px;}

@media only screen and (max-width: 1280px) and (min-width: 1000px) {
    #header-secondary-outer ul li {padding:6px !important;}
    #header-secondary-outer ul li.button_bordered_2 a:before {margin-right:10px !important;}
    #header-secondary-outer ul li.button_solid_color_2:before {margin-right:4px !important;}
    #header-secondary-outer ul li.button_solid_color a {font-size:14px !important;}
    #header-secondary-outer ul li.button_bordered_2 a {margin:0 !important;}
    #header-secondary-outer ul li.button_solid_color_2 a {margin:0 6px !important; font-size:10px !important;}
    .material #header-secondary-outer {min-height:34px !important;}
}


@media only screen and (max-width: 999px) and (min-width: 1px) {
   #header-secondary-outer ul li.button_solid_color_2 {display:none !important;} 
   .help-icon {max-width:100% !important; margin-top:20px !important;}
   .stardecor:before, .stardecor:after {display:block; margin:10px 20px;}
   
}

@media only screen and (max-width: 1280px) and (min-width: 690px) {
    .page-template-page-sidebar .container{ max-width:100%;}
    .subpagenav .sf-menu>li>ul { max-height:800px!important;}
    .subpagenav .sf-menu>li>ul>li { width: 50%!important;}
}

@media only screen and (max-width: 690px) {
    .page-template-page-sidebar .container{max-width:100% !important;}
    .page-template-page-sidebar .icon_nav {font-size:18px;}
    .page-template-page-sidebar .row .col .icon_nav img {width:70%; margin:6px auto;}
    .subpagenav .sf-menu>li>ul { height: auto!important; max-height: max-content!important;flex-wrap: nowrap!important;}
    #sidebar .tab-link a {font-size: 16px !important;text-align: center !important; padding: 10px 0 !important;}
    .page-template-page-sidebar .icon_nav {font-size: 12px!important;min-width: 50px;letter-spacing:0;line-height: 1.2!important;padding: 0 10px;margin: 10px 0;}
}

#header-secondary-outer ul li.button_solid_color a {}

body.using-mobile-browser .help-icon {max-width:100% !important; margin-top:20px !important;}



/***************************

  styles for sidebar pages 

***************************/

.page-template-page-sidebar .span_9 { width: 75%;}
.page-template-page-sidebar #sidebar.span_3 { width: 25%;}

/*.page-template-page-sidebar #page-header-wrap .inner-wrap > h1 {display:none;} */

body.page-template-page-sidebar .container > .row > .col, body.page-template-page-sidebar .main-content>.row>#sidebar{
    margin: 0;
}

body.page-template-page-sidebar .container-wrap {
    padding-top: 0;
    padding-bottom: 0;
    background:#EFEFEF;
}
.page-template-page-sidebar .container{ padding: 0; }
.page-template-page-sidebar .container .post-area{ background: #FAFAFA; }
.page-template-page-sidebar #sidebar { background: #FFFFFF;}
.page-template-page-sidebar #page-header-wrap .inner-wrap h1 {padding-top: 5em;}

/* align content for header and menu items*/
.page-template-page-sidebar .post-area .wpb_row, .subpagenav .sf-menu>li>ul, 
.page-template-page-sidebar #page-header-wrap .inner-wrap h1,
.subpagenav>ul>li>a  { padding-left: 6%; padding-right: 6%; }

/* uncomment if using sidebar widget titles *
#sidebar h4 {
    display: block;
    background-color: #00b1af;
    color: #ffffff;
    padding: 15px;
} */


#sidebar .tab-link a {
    color: #FFFFFF;
    font-size: 19px;
    font-weight: 600;
    text-decoration-thickness: 1px;
    text-transform: uppercase;
    text-align: left;
    display: block;
    background-color: var(--aa-gray);
    line-height:26px!important;
    padding:10px 20px;
    margin-bottom: 1px;
}
#sidebar .tab-link a:hover {
    background-color: var(--aa-teal-btn) !important;
    color: #ffffff !important;
}

.icon_nav {
    width: 100%;
    text-align: center;
    font-weight: 600;
    font-size: 19px;
    text-transform: uppercase;
    color: var(--aa-text-meta);
    padding: 0;
    margin: 10% auto;
	display: block;
	
    &:hover {
        color: var(--aa-teal);
        text-decoration: underline;
    }
}

.row .col .icon_nav img {
    width: 40%;
    height: auto;
    display: block;
    margin: 10px auto;
}

/* used when nav was added as a widget
.aah_pageheader {
    display: block;
    position: absolute;
    z-index: 200;
    background-color: rgba(0,0,0,.5);
    width: 100%;
    color: #FFFFFF;
}
*/
.subpagenav {
    display: block;
    position: absolute;
    z-index: 200;
    background-color: rgba(0,0,0,.5);
    width: 100%;
    color: #FFFFFF;
}

.subpagenav .sf-menu >li.sfHover>ul {
    top: 100%;
}
.subpagenav .sf-menu, .subpagenav .sf-menu>li {
    width: 100%;
}

/* style dropdown header*/
.subpagenav>ul>li>a>span {
    display: block;
    font-size: 28px;
    font-weight: 600;
    line-height: 36px;
    text-transform: uppercase;
    padding-top: 30px;
    padding-bottom: 30px;
    height: 93px; /*set height to align with sidebar widgets */
    width: 100%;
    color: #ffffff;
}

/* style dropdown header arrow*/
.subpagenav>ul>li>a>span:after {
    position: absolute;
    margin-left: 20px;
    content: "\f105";
    font-size: 1.8em;
    font-family: FontAwesome;
    font-style: normal;
    font-weight: 400;
    transform: rotate(0);
    color: #ffffff;
    opacity: .5;
    text-decoration: inherit;
    transition: transform 200ms ease-in-out;
}
.subpagenav>ul>li.sfHover>a>span:after {
    transform: rotate(90deg);
    opacity: .8;
}

.subpagenav .sf-menu>li>ul {
    background: rgba(0, 105, 105, 0.97);
    width:100%;
}

/******************************* 
style columns in dropdown -
uses Flex, which may not be compatible with older IE 
********************************/
.subpagenav .sf-menu>li>ul {
    flex-direction: column;
    flex-wrap: wrap;
    display: flex;
    max-height: 560px;
}
.subpagenav .sf-menu>li>ul>li {
    flex: 0 1 auto;
    width: 33.3333333333%;
    margin-right:2%;
}
/* dropdown */
.subpagenav>ul>li>ul>li {
    opacity: 0;
    -ms-transform: translateY(13px);
    -webkit-transform: translateY(13px);
    transform: translateY(13px);
    -ms-transition: transform 0.65s cubic-bezier(.2,.8,.25,1),opacity 0.65s cubic-bezier(.2,.8,.25,1);
    transition: transform 0.65s cubic-bezier(.2,.8,.25,1),opacity 0.65s cubic-bezier(.2,.8,.25,1);
    -webkit-transition: transform 0.65s cubic-bezier(.2,.8,.25,1),opacity 0.65s cubic-bezier(.2,.8,.25,1);
}
.subpagenav>ul>li.sfHover>ul>li {
    opacity: 1;
    -ms-transform: translateY(0);
    -webkit-transform: translateY(0);
    transform: translateY(0);	
}

/* 2nd and 3rd tier lists */
.subpagenav .sf-menu li li ul,.subpagenav .sf-menu li li .sfHover ul {
    position: relative;
    left: 0;
    padding: 0 15px;
    transform: none;
    transition: none;
    opacity: 1;
    color: #ffffff;
    box-shadow: none;
    margin: 0;
}

/*style all dropdown links */
.subpagenav .sf-menu li ul li a {
    font-size: 14px;
    font-weight: 600;
    line-height: 1.5;
    color: #ffffff;
    padding:4px 0;
    text-decoration: none;
}
/* current page and hover styles */
.subpagenav .sf-menu ul .sfHover>a, .subpagenav .sf-menu ul a:hover {
    color: #d0f0f0 !important; /* light cyan — 5.02:1 on #006d6d, passes AA */
    text-decoration: underline !important;
}

.subpagenav .sf-menu ul .current_page_item>a,
.subpagenav > ul > li.menu-item > ul > li.menu-item.current-page-ancestor a {
    color: #ffffff !important;
    text-decoration: underline;
    font-weight: 700;
}



/**** FAQ styles ****/

div.arconix-faq-wrap {
    margin: 10px 0;
    padding: 5px 15px;
}

/* uncomment for borderless FAQ *
div.arconix-faq-wrap {
    margin: 10px 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    background: none;
    clear: both;
    border: none;
    padding: 0;
} */

/* Homepage nectar slider style */

.swiper-slide .content {
    top: 0px;
}

.swiper-slide .image-bg {
    background-position: top center !important;
    background-size: contain;
}

.swiper-slide img.bg_icon {
    position: absolute;
    width: 300px !important;
    height: auto !important;
    top: -100px;
    left: 50px;
    opacity: 1;
}

.swiper-slide .button.solid_color .white, 
.swiper-slide .button.solid_color_2 .white, 
.swiper-slide .button a {
    background: #ffffff;
    border: 1px solid #222222;
    box-shadow: inset 0 0 5px 1px #777777;
    color: #696969;
    font-weight: 600;
    font-size: 32px;
}


/*********** FAQs ***************/

.arconix-faq-content {
    padding: 10px 20px !important;
}

.arconix-faq-title.faq-open, .arconix-faq-title.faq-closed {
    background: none!important;
    padding: 0;
    font-size: 1.3em;
}

.arconix-faq-title:before {
    font-size: 15px;
    font-family: "FontAwesome";
    padding-right: 15px;
}
.arconix-faq-title.faq-open:before {
    content: "\f068";
}
.arconix-faq-title.faq-closed:before {
    content: "\f067";
}

/* Overrides for 3D Flipbook (PDF Viewer) */
._3d-flip-book.full-size {
    height: 320px;
    margin-bottom: 0;
}

@media only screen and (min-width: 600px) {
    ._3d-flip-book.full-size {
        height: 50vh !important;
    }
}

._3d-flip-book .book-widget .full-size {
    margin-bottom: 0;
}

.book-widget {
  height: auto !important;
}
@media only screen and (min-width: 600px) {
    .book-widget {
        height: auto !important;
    }
}

#page-header-bg[data-alignment-v="middle"] .container {
    height: fit-content;
}


/* =========================================================================
   ACCESSIBILITY OVERRIDES — WCAG 2.1 AA
   Contrast + focus/keyboard fixes. Child-theme only so Salient parent
   updates won't wipe them. Brand teal #00b1b0 has 2.65:1 contrast on white
   (fails AA). Replaced withq #008484 / #006d6d for text/button surfaces.
   ========================================================================= */

:root {
    --aa-teal:           #00b1b0; /* original — decorative/large fills only */
    --aa-teal-text:      #008080; /* AA 4.63:1 on white — text & links */
    --aa-teal-btn:       #006d6d; /* AA 5.9:1  on white — buttons */
    --aa-teal-btn-hover: #004f4f; /* AA 8+:1   on white — button hover */
    --aa-text-meta:      #595959; /* AA 7:1    on white — meta/captions */
    --aa-gray:           #57575C;
    --aa-focus-ring:     #ffbf47; /* high-contrast amber focus ring */
    --black-text:        #58595b;
}

body {
    a {
        text-decoration: underline;
        text-decoration-thickness: 1px;
        text-underline-offset: 2px;

        &:hover {
            color: var(--aa-teal-text);
        }

        &:has(img, i.fa) {
            text-decoration: none;
        }

        &.nectar-button {
            &[data-hover-color-override="false"].regular-button {
                &:hover {
                    background-color: var(--aa-teal-btn) !important;
                }
            }
        }

        &.sf-with-ul {
            text-decoration: none;
        }
    }

    input {
        &[type=submit]:hover {
            opacity: 1;
            background-color: var(--aa-teal-btn) !important;
        }
    }

    .light {
        a {
            color: var(--nectar-font-light-color) !important;
            opacity: 1 !important;
            text-decoration-thickness: 1px !important;

            &:hover {
                text-decoration-thickness: 2px !important;
            }
        }
    }
}

/* --- Body content links — simple .dark / .light approach --- */

/* .dark sections: teal links, underlined */
.dark a:not(.nectar-button),
.dark a:not(.nectar-button) span {
    /*
    color: var(--aa-gray) !important;
    text-decoration: underline !important;
    text-underline-offset: 2px;
    */
}
.dark a:not(.nectar-button) span {
    /* text-decoration: none !important; */
}
/* .dark hover: black, no underline */
.dark a:not(.nectar-button):hover,
.dark a:not(.nectar-button):hover span {
    /* color: var(--aa-teal-text) !important; */
}

/* .light sections: white links, underlined */
.light a:not(.nectar-button),
.light a:not(.nectar-button) span {
    /*
    color: #ffffff !important;
    text-decoration: underline !important;
    */
}
.light a:not(.nectar-button) span {
    /* text-decoration: none !important; */
}
/* .light hover: remove underline */
.light a:not(.nectar-button):hover,
.light a:not(.nectar-button):hover span {
    /*
    color: #ffffff !important;
    text-decoration: none !important;
    */
}

/* Dark bg sections (#6d6e71, .aa-on-dark) — white text/links */
body [style*="background-color: #6d6e71"] a,
body [style*="background-color:#6d6e71"] a,
body [style*="background: #6d6e71"] a,
body [style*="background:#6d6e71"] a,
body .vc_row[style*="#6d6e71"] a,
body .vc_row[style*="#6d6e71"] *,
body .wpb_row[style*="#6d6e71"] a,
body .wpb_row[style*="#6d6e71"] *,
body [style*="background-color: rgb(109, 110, 113)"] a,
body [style*="background-color: rgb(109, 110, 113)"] *,
body .aa-on-dark,
body .aa-on-dark *,
body .aa-on-dark a {
    /* color: #ffffff !important; */
}
body [style*="#6d6e71"] a:hover,
body .aa-on-dark a:hover {
    /*
    color: #ffffff !important;
    text-decoration: underline !important;
    */
}

/* Subpagenav + sidebar links on dark teal — keep white */
body .subpagenav a,
body .subpagenav .sf-menu a,
body .subpagenav .sf-menu li a,
body #sidebar .tab-link a {
    /* color: #ffffff !important; */
}

/* Toggle/accordion link hover: keep black */
body div[data-style*="minimal"] .toggle.open > .toggle-title a:hover,
body div[data-style*="minimal"] .toggle > .toggle-title a:hover {
    /* color: #000000 !important; */
}

/* Sidebar tab-link hover */
body #sidebar .tab-link a:hover {
    /*
    color: #ffffff !important;
    background: #202020 !important;
    */
}

/* --- Salient accent-color buttons ---
   Override both the element and its ::before overlay. */
body .nectar-button.regular-button,
body .nectar-button.accent-color,
body .nectar-button[class*="accent-color"],
body a.nectar-button[data-color-override="false"],
body a.nectar-button[data-color-override="false"][class*="regular"],
body input[type="submit"].accent-color,
body button.accent-color {
    /*
    background-color: var(--aa-teal-btn) !important;
    color: #ffffff !important;
    border-color: var(--aa-teal-btn) !important;
    */
}
body .nectar-button.regular-button > span,
body .nectar-button.accent-color > span,
body a.nectar-button[data-color-override="false"] > span {
    /* color: #ffffff !important; */
}
body .nectar-button.regular-button:before,
body .nectar-button.accent-color:before,
body a.nectar-button[data-color-override="false"]:before {
    /* background-color: var(--aa-teal-btn) !important; */
}
body .nectar-button.regular-button:hover,
body .nectar-button.accent-color:hover,
body .nectar-button[class*="accent-color"]:hover,
body a.nectar-button[data-color-override="false"]:hover,
body input[type="submit"].accent-color:hover,
body button.accent-color:hover {
    /*
    background-color: var(--aa-teal-btn-hover) !important;
    border-color: var(--aa-teal-btn-hover) !important;
    */
}

/* See-through / outlined buttons */
body .nectar-button.see-through,
body .nectar-button.see-through-2 {
    /*
    color: #008484 !important;
    border-color: #008484 !important;
    */
}
body .nectar-button.see-through:hover,
body .nectar-button.see-through-2:hover {
    /*
    color: #ffffff !important;
    background-color: #008484 !important;
    */
}

/* --- Top header / nav links on white --- */
body #header-outer #top nav ul.sf-menu > li > a,
body #header-outer #top nav ul.sf-menu > li > a:visited,
body #header-outer[data-format="centered-menu"] #top nav > .sf-menu > li > a {
    /* color: #1a1a1a !important; */
}
body #header-outer #top nav ul.sf-menu > li > a:hover {
    /* color: var(--aa-teal-btn) !important; */
}
/* Current-page indicator: bold + dark text on #f0f0f0 highlight */
body #header-outer #top nav ul.sf-menu > li.current-menu-item > a,
body #header-outer #top nav ul.sf-menu > li.current-menu-ancestor > a {
    /*
    color: #1a1a1a !important;
    font-weight: 700 !important;
    */
}

/* --- Standard nav dropdowns: white text on dark teal --- */
body #header-outer #top nav ul.sf-menu ul.sub-menu,
body #header-outer #top nav ul.sf-menu li ul,
body #header-outer #top nav ul.sf-menu li li ul {
    /*
    background-color: var(--aa-gray) !important;
    border-color: var(--aa-gray) !important;
    */
}
body #header-outer #top nav ul.sf-menu ul.sub-menu li,
body #header-outer #top nav ul.sf-menu li ul li {
    /* background-color: transparent !important; */
}
body #header-outer #top nav ul.sf-menu ul a,
body #header-outer #top nav ul.sf-menu ul li a,
body #header-outer #top nav ul.sf-menu li ul li a,
body #header-outer #top nav ul.sf-menu li ul li.menu-item a {
    /*
    color: #ffffff !important;
    background-color: transparent !important;
    text-decoration: none !important;
    */
}
body #header-outer #top nav ul.sf-menu ul a:hover,
body #header-outer #top nav ul.sf-menu ul li a:hover,
body #header-outer #top nav ul.sf-menu ul li.sfHover > a,
body #header-outer #top nav ul.sf-menu ul li.current-menu-item > a {
    /*
    color: #ffffff !important;
    background-color: var(--aa-teal-btn-hover) !important;
    text-decoration: underline !important;
    */
}

/* --- Megamenu --- */
body #header-outer nav > ul > .megamenu > .sub-menu,
body #header-outer nav > ul > .megamenu.nectar-megamenu-menu-item > .sub-menu,
body #header-outer nav > ul > .nectar-megamenu-menu-item > .sub-menu {
    /* background-color: var(--aa-teal-btn) !important; */
}
body #header-outer nav > ul > .megamenu .sub-menu a,
body #header-outer nav > ul > .megamenu .sub-menu li a,
body #header-outer nav > ul > .megamenu .sub-menu .menu-title-text,
body #header-outer nav > ul > .megamenu .sub-menu h1,
body #header-outer nav > ul > .megamenu .sub-menu h2,
body #header-outer nav > ul > .megamenu .sub-menu h3,
body #header-outer nav > ul > .megamenu .sub-menu h4,
body #header-outer nav > ul > .megamenu .sub-menu h5,
body #header-outer nav > ul > .megamenu .sub-menu h6,
body #header-outer nav > ul > .megamenu .sub-menu p,
body #header-outer nav > ul > .megamenu .sub-menu span,
body #header-outer nav > ul > .nectar-global-section-megamenu a,
body #top nav ul li .nectar-global-section-megamenu a,
body #top nav ul li .nectar-global-section-megamenu * {
    /* color: #ffffff !important; */
}
body #header-outer nav > ul > .megamenu .sub-menu a:hover,
body #header-outer nav > ul > .megamenu .sub-menu li.current-menu-item > a {
    /*
    color: #ffffff !important;
    text-decoration: underline !important;
    background-color: var(--aa-teal-btn-hover) !important;
    */
}

/* --- Meta / caption text (replaces #888 / #999 on white) --- */
body .meta-author,
body .post-meta,
body .blog-meta,
body .widget .recent-posts .post-date,
body .nectar-recent-posts-single_featured .post-meta,
body .single .post .meta-category a {
    /* color: var(--aa-text-meta) !important; */
}

/* --- Form placeholders --- */
body input::placeholder,
body textarea::placeholder,
body select::placeholder {
    /*
    color: var(--aa-text-meta) !important;
    opacity: 1;
    */
}

/* --- Salient "fancy select" field labels (#acacac on white = 2.27:1, fails AA) --- */
body[data-fancy-form-rcs="1"] .fancy-select-wrap label {
    color: var(--aa-text-meta) !important;
}

/* --- Salient milestone numbers (teal on white) --- */
body .nectar-milestone .number,
body .nectar-milestone .number span,
body .nectar-milestone[data-color="accent-color"] .number {
    /* color: var(--aa-gray) !important; */
}

/* --- WPB text column headings/body — ensure readable --- */
body .container-wrap h2[style*="text-align"] { }

body .wpb_text_column h2 a,
body .wpb_text_column p a {
    /* color: var(--black-text); */
    text-decoration: underline;
    text-underline-offset: 2px;

    &:hover {
        color: var(--aa-teal-text);
    }
}
body .wpb_text_column h2,
body .wpb_text_column h3,
body .wpb_text_column h4,
body .wpb_text_column h5,
body .wpb_text_column p,
body .wpb_text_column p span,
body .wpb_text_column li,
body .wpb_text_column li span {
    /* color: #1a1a1a; */
}
/* Override the above for .light sections */
.light .wpb_text_column h2,
.light .wpb_text_column h3,
.light .wpb_text_column h4,
.light .wpb_text_column h5,
.light .wpb_text_column p,
.light .wpb_text_column p a span,
.light .wpb_text_column li,
.light .wpb_text_column li span,
.light .wpb_text_column a {
    /* color: #ffffff !important; */
}
.light .wpb_text_column a ,
.light .wpb_text_column a span {
    /* text-decoration: underline !important; */
}
.light .wpb_text_column a:hover,
.light .wpb_text_column a:hover span {
    /*
    color: #ffffff !important;
    text-decoration: none !important;
    */
}

/* --- Light text sections (.full-width-section .light) ---
   Parent only sets color:#fff on the container. Extend to all child elements
   so our a11y overrides on h/p/a don't clobber the white. */
.full-width-section > .col.span_12.light,
.full-width-content > .col.span_12.light,
.full-width-section > .col.span_12.light h1,
.full-width-section > .col.span_12.light h2,
.full-width-section > .col.span_12.light h3,
.full-width-section > .col.span_12.light h4,
.full-width-section > .col.span_12.light h5,
.full-width-section > .col.span_12.light h6,
.full-width-section > .col.span_12.light p,
.full-width-section > .col.span_12.light li,
.full-width-section > .col.span_12.light span,
.full-width-section > .col.span_12.light a,
.full-width-content > .col.span_12.light h1,
.full-width-content > .col.span_12.light h2,
.full-width-content > .col.span_12.light h3,
.full-width-content > .col.span_12.light h4,
.full-width-content > .col.span_12.light h5,
.full-width-content > .col.span_12.light h6,
.full-width-content > .col.span_12.light p,
.full-width-content > .col.span_12.light li,
.full-width-content > .col.span_12.light span,
.full-width-content > .col.span_12.light a {
    /* color: #ffffff !important; */
}

/* --- Inline-styled brand-teal text in content ---
   Catches the multiple teal hexes content authors have pasted over the years. */
body [style*="#00b1b0"],
body [style*="#00b1af"],
body [style*="#00B1B0"],
body [style*="#00B1AF"],
body [style*="#00b3a9"],
body [style*="#00B3A9"],
body [style*="#00afae"],
body [style*="#00AFAE"],
body [style*="color: #00b1b0"],
body [style*="color:#00b1b0"],
body [style*="color: #00b3a9"],
body [style*="color:#00b3a9"] {
    /* color: var(--aa-teal-btn) !important; */
}

/* --- Gravity Forms labels --- */
body .gform_wrapper .gform-field-label,
body .gform_wrapper .gfield_label,
body .gform_wrapper label.gform-field-label--type-sub,
body .gform_wrapper .ginput_complex label {
    /* color: #1a1a1a !important; */
}

/* --- Footer copyright text white on dark footer --- */
body #footer-outer #copyright,
body #footer-outer #copyright p,
body #footer-outer #copyright .col p {
    /* color: #ffffff !important; */
}
body #footer-outer #copyright a:not([class*="button"]) {
    /*
    color: #ffffff !important;
    text-decoration: none;
    */
}
body #footer-outer #copyright a:not([class*="button"]):hover {
    /*
    text-decoration: underline !important;
    font-weight: 700 !important;
    */
}

/* --- Slide-out / off-canvas widget area: dark teal bg, white text --- */
#slide-out-widget-area-bg.fullscreen,
#slide-out-widget-area-bg.fullscreen.dark,
#slide-out-widget-area.fullscreen,
#slide-out-widget-area.fullscreen .inner,
#slide-out-widget-area.fullscreen .off-canvas-menu-container,
body[data-slide-out-widget-area-style="fullscreen"] #slide-out-widget-area-bg {
    /* background-color: var(--aa-teal-btn) !important; */
}
#slide-out-widget-area.fullscreen,
#slide-out-widget-area.fullscreen a,
#slide-out-widget-area.fullscreen li a,
#slide-out-widget-area.fullscreen .menuwrapper a,
#slide-out-widget-area.fullscreen .off-canvas-menu-container a,
#slide-out-widget-area.fullscreen h1,
#slide-out-widget-area.fullscreen h2,
#slide-out-widget-area.fullscreen h3,
#slide-out-widget-area.fullscreen p,
#slide-out-widget-area.fullscreen span {
    /* color: #ffffff !important; */
}
#slide-out-widget-area.fullscreen a:hover,
#slide-out-widget-area.fullscreen li.current-menu-item > a {
    /*
    color: #ffffff !important;
    text-decoration: underline !important;
    background-color: var(--aa-teal-btn-hover) !important;
    */
}

/* --- Skip-link off-screen state --- */
.nectar-skip-to-content,
.nectar-skip-to-content:not(:focus),
a.skip-link {
    /*
    color: #ffffff !important;
    background-color: #000000 !important;
    */
}

/* --- Bulletproof visually-hidden for .screen-reader-text --- */
html body .screen-reader-text,
html body #header-outer .screen-reader-text,
html body header .screen-reader-text,
html body .screen-reader-text:focus,
html body .screen-reader-text:active {
    border: 0 !important;
    clip: rect(1px, 1px, 1px, 1px) !important;
    clip-path: inset(50%) !important;
    height: 1px !important;
    width: 1px !important;
    margin: -1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    word-wrap: normal !important;
    display: inline-block !important;
    font-size: 1px !important;
    line-height: 1 !important;
}

/* --- Visible focus indicator on every interactive element (WCAG 2.4.7) --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible,
[tabindex]:focus-visible,
[role="button"]:focus-visible,
[role="link"]:focus-visible,
.nectar-button:focus-visible,
.sf-menu a:focus-visible {
    outline: 3px solid var(--aa-focus-ring) !important;
    outline-offset: 2px !important;
    box-shadow: 0 0 0 5px rgba(0, 0, 0, 0.45) !important;
    text-decoration: underline;
}

/* Make the existing skip-link visible when focused */
.nectar-skip-to-content:focus,
.skip-link:focus {
    position: fixed !important;
    top: 8px !important;
    left: 8px !important;
    width: auto !important;
    height: auto !important;
    clip: auto !important;
    clip-path: none !important;
    padding: 12px 20px !important;
    background: #000000 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    text-decoration: underline !important;
    z-index: 100000 !important;
}

/* Honor reduced-motion users */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.001ms !important;
        scroll-behavior: auto !important;
    }
}

/* Debugging for Logged In Users */
body.logged-in *[style*="color"] { outline: 1px solid red; }