/* Corporate Content pages only - if nav and subsequent/only block of content are same color, then alternate */
body[class*='-cc']:has(header.mode--light > .page-navigation):has(#content-zone #main > a:first-child + div.mode--light:last-child) #content-zone #main > a:first-child + div.mode--light:last-child .section,
body[class*='-cc']:has(header.mode--light > .page-navigation):has(#content-zone #main > a:first-child + a + div.mode--light:last-child) #content-zone #main > a:first-child + a + div.mode--light:last-child .section {
    background: #edf0f3;
}

body[class*='-cc']:has(header.mode--dark > .page-navigation):has(#content-zone #main > a:first-child + div.mode--dark:last-child) #content-zone #main > a:first-child + div.mode--dark:last-child .section,
body[class*='-cc']:has(header.mode--dark > .page-navigation):has(#content-zone #main > a:first-child + a + div.mode--dark:last-child) #content-zone #main > a:first-child + a + div.mode--dark:last-child .section {
background: #fff;
}

/* Team Section bugs - overcoded */
.mode--light .section--team .container--title,
.mode--dark .section--team .container--title {
    background-color: initial;
}

body[class*='-cc']:has(header.mode--light > .page-navigation):has(#content-zone #main > a:first-child + div.mode--light:last-child) #content-zone #main > a:first-child + div.mode--light:last-child .section .section--team .container--content {
    padding: 25px;
}

/* Team Section - social icons */
.section--team-col .card--profile .container--card-title .card--social .social-icon-list {
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: .5em;
    column-gap: .5em;
}

.section--team-col .card--profile .container--card-title .card--social .social-icon-list li {
    padding: 0 !important;
}

/* All Heroes */
@media only screen and (min-width: 769px) {
    div[class*='Hero-Banners'] .align--right {
        text-align: right;
    }
}

@media only screen and (max-width: 768px) {
    div[class*='Hero-Banners'] .align--right {
        text-align: right;
    }

    div[class*='Hero-Banners'] br {
        display: none;
    }

    /* center the overlays on mobile */
    .container--hero.container--slick .container--content.container--content {
        margin-left:auto;
        margin-right: auto;
    }
}

/* All Center Justified Heroes */
div[class*='Hero-Banners'] .align--center .social-icon-list {
    justify-content: center;
}

/* Hero Banner 1/6 && 2/7 */
div[class*='Hero-Banners-WHB-H-T-OptCTA'] .container--content .text.text.text.text.text hgroup,
div[class*='Hero-Banners-B-H-T-OptCTA'] .container--content .text.text.text.text.text hgroup {
    flex: 1 0 50%;
}

div[class*='Hero-Banners-WHB-H-T-OptCTA'] .container--content .text.text.text.text.text hgroup:not(:has(.subtitle)) > .title,
div[class*='Hero-Banners-B-H-T-OptCTA'] .container--content .text.text.text.text.text hgroup:not(:has(.subtitle)) > .title {
    margin-bottom: 0 !important;
}

/* Hero Banner 3 (Light only) */
.Hero-Banners-WHB-V-T-OptCTA-Light .container--link-icon .container--icon svg,
.Hero-Banners-B-V-T-OptCTA-Light .container--link-icon .container--icon svg {
    fill: #0e497b;
}

/* Hero Banner 1/6, 3/8 (Light only) */
    /* If there is no text, remove gradient */
body:not([class*="bas-site-editor"]) div[class*='Hero-Banners-FullWidthBanner-TextLeftBg'] .background--media:has(.hero-content:empty)::before,
body:not([class*="bas-site-editor"]) div[class*='Hero-Banners-'][class*='-OptCTA-NO-Overlay'] .background--media:not(:has( + .container--content))::before {
    background: initial !important;
}

/* Singular Content 2 - If there is nothing more than Intro Container text */
div[class*='Singular-Content-H-M-1Col-Text'] .container--title:not(:has(+ .row > .container--content .custom-wysiwyg)) {
    padding-bottom: 0 !important;
}

/* If .title is the only content in Singular Content 1/2/3, reduce margin */
div[class*='Singular-Content-B-H-M-OptCTA']:has(.col-sm-8:empty) hgroup > h2.title:only-child,
div[class*='Singular-Content-H-M-1Col-Text']:not(:has(.container--content *)) .container--title:has(hgroup > h2.title:only-child):not(:has(.custom-wysiwyg *)) h2.title,
div[class*='Singular-Content-H-M-OptCTA']:not(:has(a.btn.link)) .container--title:has(hgroup > h2.title:only-child):not(:has(.custom-wysiwyg *)) h2.title {
    margin-bottom: 10px;
}

/* Intro Container - remove bottom margin from last element in Message Field */
/* .container--title .custom-wysiwyg *:last-child {
    margin-bottom: 0 !important;
} */

/* Reset all Intro Containers' padding-bottom */
    /* Exclusions - SC1 (dark/primary), SC6/11, V3 */
div[class^='mode--']:not(:has(.section--textBanner-cta-col > .container .container--title)):not(:has(.section--textBanner-cta-default)):not([class*="Singular-Content-I-H-M-OptCTA"]):not([class*="Singular-Content-H-M-OptCTA-I"]):not([class*="Singular-Content-V-H-M-OptCTA"]):not(.Singular-Content-B-H-M-OptCTA-Primary):not(.Singular-Content-B-H-M-OptCTA-Dark) .container--title {
    padding-bottom: 30px;
}

/* Subtitle */
.subtitle:not(:empty) {
    display: block;
}

div[class^='mode--']:not([class*="Hero"]) hgroup:has(>.subtitle) {
    display: flex;
    flex-direction: column;
}

div[class^='mode--']:not([class*="Hero"]) hgroup:has(>.subtitle) > .subtitle {
    margin-bottom: 20px;
}

div[class^='mode--']:not([class*="Hero"]) hgroup:has(>.subtitle) > .title {
    order: -1;
    margin-bottom: 5px;
}

/* Text Banner 1 */
div[class*='Banner-Text-HeadingMessage'] .custom-wysiwyg > a.btn.link:only-child {
    margin-top: 0;
}

/* Text Banner 2 */
    /* make all text white when img bg is selected */
div[class*='Banner-Text-HeadingMessageQuote'] .background--media .custom-wysiwyg * {
    color: #fff;
}

div[class*='Banner-Text-HeadingMessageQuote'] .section--textBanner-quote .container--content blockquote p:not(:has(+ footer)) {
    margin-bottom: 1rem;
}

/* Counting Numbers */
.mode--primary .section--counting-numbers-3col:not(.background--media) .container--content * {
    color: #fff;
}

/* Empty Accordion */
.accordion:empty {
    padding: 0;
    flex-grow: 1;
}

.accordion:empty:has(+ a.link) {
    padding: 5px 0;
}

/* Hero Banner 2 */
div[class*='Hero-Banners-FullWidthBanner-TextLeftBg'] .subtitle {
    display: block !important;
    color: #fff;
    font-weight: 400;
}

div[class*='Hero-Banners-FullWidthBanner-TextLeftBg'] hgroup:has(.subtitle) {
    display: flex;
    flex-direction: column;
}

div[class*='Hero-Banners-FullWidthBanner-TextLeftBg'] hgroup:has(.subtitle) > h2.title {
    order: -1;
}

/* Hero Subtitle */
.container--hero:not(:has(a.btn)) .subtitle {
    margin-bottom: 0;
}

/* Hero Social icons (Centered Box and Overlay only) */
div[class*='Hero-Banners'][class*='V-T-OptCTA']:not([class*='NO-Overlay']) .container--hero .social-icon-list,
div[class*=Hero-Banners-FullWidthBanner-TextLeftBg] .container--hero .social-icon-list,
div[class*=Hero-Banners-WHB-V-T-OptCTA-NO-Overlay] .container--hero .social-icon-list {
    margin-top: 25px;
}

/* Hero Social Icons (Text Bar only) */
div[class*='Hero-Banners'][class*='H-T-OptCTA'] .container--hero .social-icon-list,
div[class*='Hero-Banners'][class*='-H-T-OptCTA-NO-Overlay'] .container--hero .social-icon-list{
    margin-top: auto;
}

/* Carousel 1 */
    /* If Center Justified, center image captions */
div[class*='Carousel-H-M-1Col-ImageAboveText'] .section--carousel-img.text--center.text--center.text--center figure figcaption {
    text-align: center;
}

/* Carousel 2 */
    /* If there's picture but no title/text, remove border bottom; if it has text, but no title, reduce opacity of unselected images */
div[class*='Carousel-H-M-4Col-ImageAboveFullWidthText']:not([class*="primary"]) li.slick-slide:has(div.container--media:only-child).slick-current {
    border-bottom-width: 0 !important;
}

div[class*='Carousel-H-M-4Col-ImageAboveFullWidthText']:not([class*="primary"]):has(.container--tab) div.slick-track:not(:has(li.slick-slide>p[id^='title'] )) > li.slick-slide:not(.slick-current) > .container--media img {
    opacity: .35;
}
    

/* Carousel 3 */
div[class*='Carousel-H-M-4Col-ImageAboveText'] .container--text p,
div[class*='Carousel-H-M-4Col-ImageAboveText'] .container--text li {
    font-size: 1em;
}

div[class*='Carousel-H-M-4Col-ImageAboveText']:has(button) .container--title {
    padding-bottom: 0;
}

    /* Keep CTAs aligned */
div[class*='Carousel-H-M-4Col-ImageAboveText'] li.slick-slide.slick-slide {
    display: flex;
}

div[class*='Carousel-H-M-4Col-ImageAboveText'] li.slick-slide *:has(+ a.btn) {
    flex-grow: 1;
}

@media only screen and (max-width: 575px) {
    div[class*='Carousel-H-M-4Col-ImageAboveText'] .container--text p,
    div[class*='Carousel-H-M-4Col-ImageAboveText'] .container--text li {
        font-size: .875em;
    }
}

/* Carousel 4/5 */
div[class*='Carousel-Image'] .container--carousel figcaption {
    text-align: center !important;
}

/* Carousel 5 */
@media (min-width: 768px) {
    .column-reverse .section--carousel-img-2col .container--content {
        padding-right: 50px;
        padding-left: 15px;
    }
}

/* Insights 1 */
.section--insights .container--content .container--desc:not(:has(+ a.btn.link)) {
    flex-grow: initial;
}

/* Insights 2 */
.section--insights .container--content .container--desc:not(:has(+ .btn)) {
    margin-bottom: .72em;
}

.section--insights .container--content p,
.section--insights .container--content li {
    font-size: 1em;
}

.Insights-H-M-3ColGrid-ImageAboveText-Dark .container--content:has(a.btn:only-child) {
    background: initial !important;
}

.section--insights-3col > .container > .row div.col-md-4 .container--wrapper .container--content a.btn {
    align-self: center;

}

@media (max-width: 576px) {
    div[class*='Insights-H-M-3ColGrid-ImageAboveText'] .container--wrapper {
        padding-left: 15px;
        padding-right: 15px;
    }
}

@media (max-width: 767px) {
    .section--insights .container--content p,
    .section--insights .container--content li {
        font-size: .875em;
    }
}


/* Team Sections */
.section--team-col .card--profile .container--card-title {
    flex-grow: 1;
}

/* Highlights <li> font-size doesn't match <p> */
.section--highlights-icon-flip .container .grid .grid-item .overlay li,
.section--textBanner-cta-col > .container .row:not(.container--title) div[class*=col-] .container--content li {
    font-size: 1em;
}


@media (max-width: 767px) {
    .section--highlights-icon-flip .container .grid .grid-item .overlay li,
    .section--textBanner-cta-col > .container .row:not(.container--title) div[class*=col-] .container--content p {
        font-size: .875em;
    }
}

/* Highlights 2 - If there is no text on back of card, disable flip */
div[class*='Highlights-H-M-3Col-IconAboveText'] .inner-overlay:not(:has(.custom-wysiwyg)):not(:has(a.btn)) {
    display: none;
}

div[class*='Highlights-H-M-3Col-IconAboveText'] .grid-item:hover:not(:has(.custom-wysiwyg)):not(:has(a.btn)) .content-card {
    transform: initial !important;
    opacity: initial !important;
}

/* Highlights 3 */
div[class*='Highlights-H-M-3ColGrid-Images']:not([class*="primary"]) .section--highlights-img-cover .container.grid-container .grid .grid-item .overlay .custom-wysiwyg *:not(a.btn.link):not(a.btn.link > .link--text) {
    color: #fff;
}

div[class*='Highlights-H-M-3ColGrid-Images'] .grid-item:not(:hover) .overlay:not(:has(.inner-overlay > .title-col)) {
    background: initial !important;
}

div[class*='Highlights-H-M-3ColGrid-Images'] .grid-item .inner-overlay:has(a.link:only-child) {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

div[class*='Highlights-H-M-3ColGrid-Images'] .grid-item:hover .inner-overlay a.btn {
    margin: 15px auto 0;
}

div[class*='Highlights-H-M-3ColGrid-Images'] .text--center .grid-item:hover .inner-overlay a.btn {
    margin: 15px auto 0;
}

div[class*='Highlights-H-M-3ColGrid-Images'] .text--right .grid-item:hover .inner-overlay a.btn {
    margin: 15px 0 0 auto;
}

.section--highlights-img-cover .container.grid-container .grid .grid-item .overlay {
    background: rgba(0,0,0,.4);
}

    /* only <p> on backside of card is programmed for proper opacity
     */
.section--highlights-img-cover .container.grid-container .grid .grid-item .overlay .custom-wysiwyg * {
    opacity: 0;
}

.section--highlights-img-cover .container.grid-container .grid .grid-item:hover .overlay .inner-overlay .custom-wysiwyg * {
    opacity: 1;
}


/* Insights 1 */
div[class*='Insights-H-M-2Col-ImageLeftOfText'] div[class*='col-'][class*='-6']:has(.row .col-md-5:empty):not(:has(div[class*='col-'][class*='-7'])) {
    background: initial;
}

/* Lead Gen */
.section--lead-form .container>.row>div[class*=col-]:first-of-type img {
    object-fit: initial;
    font-family: initial;
    height: initial;
}

.section--lead-form .container > .row > div[class*=col-]:last-of-type {
    min-height: initial;
}

.section--lead-form .container--btn {
    margin-top: 25px;
}

/* Singular Content 1 */
div[class*='Singular-Content-B-H-M-OptCTA'] > .section:not(:has(.container--title)) {
    padding-bottom: 0 !important;
}

div[class*='Singular-Content-B-H-M-OptCTA'].mode--light .container--title {
    padding-bottom: 0 !important;
}

/* Singular Content 2 */
div[class*='Singular-Content-H-M-1Col-Text'] .container--title:has( + div .container--content:empty) {
   padding-bottom: 0 !important;
}

/* Singular Content 6 */
div[class*='Singular-Content-H-M-OptCTA-I'].mode--light .section--textBanner-cta-img .container--title {
    padding-top: 0;
}

/* Singular Content 11/ Video 3 (Light only) */
div[class*='Singular-Content-I-H-M-OptCTA'].mode--light .container--title,
div[class*='Singular-Content-V-H-M-OptCTA'].mode--light .container--title {
    padding-bottom: 0;
}

/* Singular Content 13/15 */
@media (max-width: 767px) {
    div[class^='mode--']:not([class*="light"]) .section--textBanner-cta-2col-overlay.section--textBanner-cta-2col-img-tall .container--content {
        padding: 25px;
    }
}

/* Singular Content 7/9 && 12/14 */
    /* Allow for smaller images to be inserted */
div[class*='Singular-Content-Image']:not([class*="-Overlay-"]) .section--textBanner-cta-2col .container--media img {
    margin-left: auto;
    margin-right: auto;
    width: initial;
    display: block;
}

div[class*='Singular-Content-N-I']:not([class*="-O-"]) .section--textBanner-cta-2col-img-tall .container--media img {
    margin-left: auto;
    margin-right: auto;
    width: initial;
    display: block;
}

    /* Trim bottom of text box on mobile */
@media (max-width: 767px) {
    .section--textBanner-cta-2col-img:not(.section--textBanner-cta-2col-overlay) .container--content {
        padding-bottom: 0;
    }
}

/* Singular Content 8/10 */
    /* The default behavior allows too much dead space in the Overlay box */
div[class*='Singular-Content-Image'][class*='-Overlay-OptCTA'] .container > .row {
    align-items: center;
}

/* Accordion Headers */
.text--center .accordion .card-header button {
    padding-left: 0 !important;
    text-align: left !important;
}

/* Multi-Item Content 1 */
div[class*='Multi-Item-Content-H-M-1Col-Accordion'] .container--title:has(> .custom-wysiwyg:empty) {
    padding-bottom: 20px;
}

/* Multi-Item Content 5/7 */
.section--textBanner-cta-col > .container .row:not(.container--title) div[class*=col-] .container--content p {
    margin-bottom: .72em;
}

.section--textBanner-cta-col > .container .row:not(.container--title) div[class*=col-] .container--content > a.btn.link {
    margin-top: 20px;
}

.section--textBanner-cta-col > .container .row:not(.container--title) div[class*=col-] .container--content .custom-wysiwyg:not(:last-child):empty {
    margin-bottom: 0;
}

.section--textBanner-cta-col > .container .row:not(.container--title) div[class*=col-] .container--content > a.link--styled.link {
    margin-top: 10px;
}

    /* if no icon */
div[class*='Multi-Item-Content-H-M-3Col-IconAboveText'] .col-md-4:not(:has(.container--icon > svg)) .container--content {
    padding-top: 0 !important;
}

/* Singular Content 6/11 */
div[class*='Singular-Content-I-H-M-OptCTA'] .container--media img,
div[class*='Singular-Content-H-M-OptCTA-I'] .container--media img  {
    width: auto;
    margin: 0 auto;
    display: block;
}

/* Resources */
.mode--light .section--resources .container--content,
.mode--dark .section--resources .container--content,
.mode--primary .section--resources .container--content {
    background-color: initial;
}

/* SEQ1 bug */
.Sequential-Content-H-M-2Col-OTI-Primary .count {
    color: #ffb81c !important;
}

div[class*='Sequential-Content-H-M-2Col-OTI']:not([class*="primary"]) .count {
    color: #0e497b !important;
}

/* Ordered List (Matches Microsoft Word) */
.custom-wysiwyg ol > li > ol {
    list-style: lower-alpha;
}

.custom-wysiwyg ol > li > ol > li > ol {
    list-style-type: lower-roman;
}

/* Disclosure - if only text */
.custom-wysiwyg:only-of-type > p.disclaimer:only-child {
    margin-top: 20px;
}

/* Disclosure - if following <hr> */
hr + p.disclaimer {
    margin-top: 0;
}


/* Message Field text */
/* .custom-wysiwyg:not(:has( + a.link)) *:has(+ p:empty:last-child),
.custom-wysiwyg:not(:has( + a.link)) > *:last-child {
    margin-bottom: 0;
} */

.custom-wysiwyg ol ol,
.custom-wysiwyg ol ul,
.custom-wysiwyg ul ol,
.custom-wysiwyg ul ul {
    margin-bottom: .72em;
}

.custom-wysiwyg ol li::marker {
    font-weight: 500;
}

/* Sequential Content 1 */
div[class*='Sequential-Content-H-M-2Col'] .container--media {
    padding-top: 1rem;
}

/* Tables */
.custom-wysiwyg table td {
    border: 1px solid black;
    padding: 5px 10px;
    margin-bottom: 10px;
}

.custom-wysiwyg table {
  width: auto !important;
    margin-bottom: 10px;
}

@media only screen and (max-width: 768px) {
  .custom-wysiwyg table *:not(h1):not(h2):not(h3):not(h4):not(h5) {
    font-size: .85rem;
  }
}

@media only screen and (max-width: 576px) {
  .custom-wysiwyg table *:not(h1):not(h2):not(h3):not(h4):not(h5) {
    font-size: 12px;
  }

  .custom-wysiwyg table *:not(strong) {
    font-weight: 400;
  }

  .custom-wysiwyg table td {
    padding: 2.5px 5px;
  }
}

/* Format <hr> */
.custom-wysiwyg hr {
    margin: 20px 0;
}

.custom-wysiwyg hr:first-child,
.custom-wysiwyg p:empty:first-child + hr {
    margin-top: 0;
}

.custom-wysiwyg hr:last-child,
.custom-wysiwyg hr + p:empty:last-child  {
    margin-bottom: 0;
}

/* Message Field Blockquote */
a + div:not([class*=Banner-Text-]) .custom-wysiwyg blockquote {
    margin: 2rem auto;
    max-width: 866px;
}

a + div:not([class*=Banner-Text-]) .custom-wysiwyg blockquote:first-child,
a + div:not([class*=Banner-Text-]) .custom-wysiwyg > *:first-child:empty + blockquote {
    margin-top: 0;
}

/* Side-by-Side Videos */
    /* If no description text */
.section--video-library .container--content.custom-wysiwyg:not(:has(> *:not(:empty))) {
    padding-top: 0px;
}

/* Connect Bar */
.header--connect-bar > .container {
    padding: 20px 15px;
}

/* Navigation - hide topnavs that contain no link or subnavs */
body:not(.concept) li.nav-item:not(.dropdown):has(> a.nav-link[href='#']) {
    display: none;
}

/* Footer - if last Section is Primary */
body:has(#content-zone .mode--primary:last-child) #footer-zone .alert.mode--primary > .alert--section {
    background: #edf0f3 !important;
}

body:has(#content-zone .mode--primary:last-child) #footer-zone .alert.mode--primary * {
    color: #4a4a4a !important;
}

body:has(#content-zone .mode--primary:last-child) #footer-zone .alert.mode--primary a {
    color: #0e497b !important;
}

body:has(#content-zone .mode--primary:last-child) #footer-zone #page--footer {
    background: #fff !important;
}