
:root {
    --color--blue-astronaut: #2C4278;
    --color--blue-astronaut--rgb: 37 42 54;
    --color--blue-black-zodiac: #1F2A50;
    --color--blue-black-zodiac--rgb: 31 42 80;
    --color--blue-fountain: #60BFBB;
    --color--blue-fountain--rgb: 96 191 187;
    /* --color--blue-scampi: #6266AC; */
    --color--gray: #E1E6E9;
    --color--gray-light: #F8F9FA;

    --font-size--20: clamp(16px, calc(20 / 1200 * 100dvw), 20px);
    --font-size--26: clamp(18px, calc(26 / 1260 * 100dvw), 26px);
}

/** Fonts */

/** Font - https://fonts.google.com/specimen/Lexend */

h1, h2, h3, h4, h5, h6,
.testimonial.component .inner .content .quote,
.font-lexend {
    font-family: 'Lexend', sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

/** Font - https://fonts.google.com/specimen/Manrope */

body,
.font-manrope {
    font-family: 'Manrope', sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}

/** Typography - Override */

.tabbed-content.component .inner .nav-tabs .nav-item .nav-link,
.hover-cards.component .card-wrapper .cards li.card .uppercase.h3,
.hover-cards.component .card-wrapper .cards li.card h3.uppercase,
.two-column-content.component ul.items > li .inner .img .h2,
.two-column-content.component ul.items > li .inner .img h2,
.component-wrapper .container.hdr .h2,
.component-wrapper .container.hdr h2,
section.component .container.hdr .h2,
section.component .container.hdr h2,
h2.component-hdr,
.btn {
    text-transform: unset;
}

/** Base */

body {
    color: black;
    padding-top: 0;
}

h1 {
    font-weight: 700;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--color--blue-astronaut);
    font-weight: 700;
    line-height: 1.3;
}

h3, h4, h5, h6 {
    padding-top: unset;

    &:where(:not(:first-child)) {
        margin-top: 1rem;
    }
}

/** Colors - Override */

footer#ft #ftr-bottom #sm-icons ul.icons li a .fab,
footer#ft #ftr-bottom #sm-icons ul.icons li a .fal,
footer#ft #ftr-bottom #sm-icons ul.icons li a .far,
footer#ft #ftr-bottom #sm-icons ul.icons li a .fas {
    color: inherit !important;
}

footer#ft #ftr-bottom #sm-icons ul.icons li a,
.video-modal.modal .modal-header .btn-close {

    &:active,
    &:focus,
    &:hover {
        color: var(--color--blue-fountain);
    }
}

.slideshow.component .container .slideshow .slide a.video,
.two-column-content.component ul.items > li .inner .img a.video {
    color: var(--color--blue-fountain);

    &:active,
    &:focus,
    &:hover {
        color: white;
    }
}

.testimonial.component .inner {
    background-color: transparent;
}

.testimonial.component .inner .content {
    color: var(--color--blue-astronaut);
}

.testimonial.component .inner .content::after {
    background-color: rgb(255 255 255 / 0.80);
}

.testimonial.component .inner .content .quote {
    font-weight: 800;
}

.two-column-content.component ul.items > li .inner .content ul:not(.pagination) li::before,
.basic-content.component .component-wrapper .container > div ul:not(.pagination) li::before {
    color: var(--color--blue-fountain);
}

.testimonial.component .inner .content ul.meta li {
    border-left-color: var(--color--blue-fountain);
    color: var(--color--blue-astronaut);

    &:first-child {
        font-weight: 800;
    }
}

.navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item.dropdown:hover .dropdown-menu {

    @media (min-width: 992px) {
        border-left-color: var(--color--blue-fountain);
    }
}

.basic-content.component .component-wrapper.gray,
.two-column-content.component ul.items > li.gray {
    background-color: var(--color--gray);
}

/** WordPress */

#wpadminbar {

    @media (max-width: 600px) {
        position: fixed;
    }
}

img:is([sizes=auto i],[sizes^="auto," i]) {
    contain-intrinsic-size: revert;
}

/** Headers */

section.component .container.hdr h2 em,
h2 em,
h3 em {
    color: var(--color--blue-fountain);
    font-style: normal;
}

section.component .container.hdr h2 span::after,
h2 span::after,
h3 span::after {
    display: none;
    /* background-color: var(--color--blue-fountain); */
    /* background-color: rgb(var(--color--blue-fountain--rgb) / 0.90); */
}

.component-hdr {
    line-height: 1.3;

    &::before,
    &::after {
        border-bottom: 2px solid var(--color--blue-fountain) !important;
    }
}

/** Buttons */

.btn {
    --bs-btn-font-size: 14px;

    background-size: 201% auto;
    padding-bottom: 5px;
    padding-top: 6px;
}

.btn-sm {
    --bs-btn-font-size: 12px;

    padding-top: 6px;
}

.btn.btn-default {
    background-image: linear-gradient(to left, white 50%, rgb(0 0 0 / 0.20) 50%);
}

/* .btn.btn-default, */
.btn.btn-primary {
    padding-bottom: 3px;
    padding-top: 4px;
    background-image: linear-gradient(to left, transparent 50%, var(--color--blue-fountain) 50%);
    border: 2px solid var(--color--blue-fountain) !important;
    color: var(--color--blue-black-zodiac) !important;

    /* &:active,
    &:focus,
    &:hover {
        background-color: var(--color--blue-fountain) !important;
    } */

    &:not(.btn-arrow-left) {
        padding-left: 14px;
    }

    &:not(.btn-arrow-right) {
        padding-right: 14px;
    }

    &.btn-arrow-left,
    &.btn-arrow-right {

        &::after {
            color: inherit;
        }
    }
}

.btn.btn-secondary {
    background-image: linear-gradient(to left, white 50%, var(--color--blue-astronaut) 50%);
    color: var(--color--blue-astronaut) !important;

    &:active,
    &:focus,
    &:hover {
        color: white !important;
    }
}

.btn.btn-arrow-left,
.btn.btn-arrow-right {

    &::after {
        color: currentColor !important;
        margin-top: 0;
        transform: translateY(-50%) translateY(1px);
    }
}

/** Content */

/* #content {

    body.no-hero & {
        padding-top: 72px !important;

        @media (min-width: 992px) {
            padding-top: 104px !important;
        }
    }
} */

/** Navigation */

#navigation {
    background-color: white;
    color: var(--color--blue-black-zodiac);

    body.no-hero & {

        @media (min-width: 992px) {
            background-color: white !important;
        }
    }

    body.has-hero.scrolled & {

        @media (min-width: 992px) {
            background-color: white !important;
        }
    }

    body.show-search &,
    body.has-hero.hero-scrolled & {

        @media (min-width: 992px) {
            background-color: white !important;
        }
    }

    body.menu-open & {
        background-color: white;
    }

	&.fixed-top {
		top: var(--wp-admin--admin-bar--height, 0px);
	}
}

#navigation #navbar {
    min-height: 72px;

    @media (min-width: 992px) {
        min-height: 104px;
    }
}

#navigation #navbar > .container {
    /* padding-top: 12px; */

    @media (max-width: 991.98px) {
        align-items: flex-start;
    }
}

#navigation #navbar a.navbar-brand {
    align-self: center;
    display: flex;
    position: relative;
    z-index: 1;

    @media (min-width: 992px) {
        margin-bottom: 0;
    }

    @media (min-width: 1500px) {
        margin-right: 8rem;
    }

    body.menu-open & {
        visibility: visible;
    }
}

#navigation #navbar a.navbar-brand img.logo {
    height: 72px;
    left: 0;
    position: static;
    width: 164px;

    @media (min-width: 992px) {
        width: 216px;
        height: 60px;
    }

    @media (min-width: 1200px) {
        width: 228px;
    }

    @media (min-width: 1500px) {
        width: 295px;
    }
}

#navigation #navbar button.navbar-toggler {
    background-color: var(--color--blue-fountain);
    margin-top: 12px;
    min-height: 48px;

    &:focus-visible,
    &:hover {
        background-color: var(--color--blue-astronaut);
        color: white;
    }
}

#navigation #navbar button.navbar-toggler .fa,
#navigation #navbar button.navbar-toggler .fal,
#navigation #navbar button.navbar-toggler .far,
#navigation #navbar button.navbar-toggler .fas,
#navigation #navbar button.navbar-toggler .fa-xmark,
#navigation #navbar button.navbar-toggler span.label,
#navigation #navbar button.navbar-toggler.collapsed span.label {
    color: inherit;
}

#navigation #navbar #main-navigation button#search-toggler {
    color: inherit;
    margin-left: 1.7rem;
    margin-top: 0;

    @media (min-width: 1500px) {
        margin-left: 3.4rem;
    }

    &:active,
    &:focus,
    &:hover {
        color: var(--color--blue-fountain);
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav {

    @media (min-width: 992px) {
        justify-content: flex-end;
        gap: 0 1.7rem;
        margin-top: 0;
    }

    @media (min-width: 1500px) {
        gap: 0 3.4rem;
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item {

    & + .nav-item {
        margin-top: 0.2em;

        @media (min-width: 992px) {
            margin-top: 0;
        }
    }

    &.actv {
        border-left-color: var(--color--blue-fountain);
    }

    &.current-menu-ancestor {

        & a.nav-link {
            color: var(--color--blue-fountain);
        }
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav > li.nav-item {

    &:has(.dropdown-menu:focus-within) {
        border-left-color: var(--color--blue-fountain);
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item a.nav-link {
    color: inherit;
    text-shadow: none;
    text-transform: none;

    @media (min-width: 992px) {
        padding: 0.75rem 0.5rem;
    }

    &.show {

        @media (min-width: 992px) {
            color: var(--color--blue-fountain);
        }
    }

    &:active,
    &:focus,
    &:hover {
        color: var(--color--blue-fountain);
    }

    &.hvr,
    &:hover {
        border-left-color: var(--color--blue-fountain);
        color: var(--color--blue-fountain);
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item.active a.nav-link {
    color: var(--color--blue-fountain);
}

#navigation #navbar #main-navigation #main-nav.navbar-nav li.search {
    padding-top: calc(2 * 0.65rem);
}

#navigation #navbar #hdr-search-form {
    top: 1.525rem;
}

#navigation #navbar #hdr-search-form #hdr-search-form-btn {
    padding: 0 0.8rem;
    color: inherit;

    &:active,
    &:focus,
    &:hover {
        color: var(--color--blue-fountain);
    }
}

#navigation #navbar #hdr-search-form .fa-xmark {
    color: inherit;
}

#navigation #navbar #hdr-search-form input.form-control {
    border-bottom-color: currentColor;
    color: inherit;

    &::placeholder {
        color: currentColor;
        opacity: 0.6;
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item.dropdown .dropdown-menu {
    margin-top: 0;

    @media (min-width: 992px) {
        background-color: var(--color--blue-astronaut);
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item.dropdown.actv .dropdown-menu,
#navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item.dropdown:hover .dropdown-menu {

    @media (min-width: 992px) {
        border-left-color: var(--color--blue-fountain);
    }
}

#navigation #navbar #main-navigation #main-nav.navbar-nav li.nav-item .dropdown-menu a.dropdown-item {
    text-transform: none;
    font-size: 16px;

    &:active,
    &:focus,
    &:hover {

        @media (min-width: 992px) {
            color: var(--color--blue-fountain);
            text-decoration: none;
            /* color: white; */
            /* text-decoration: underline; */
        }
    }
}

/** Footer */

footer#ft {
    background-color: var(--color--blue-astronaut);
}

footer#ft #ftr-bottom>div:last-of-type ul#bottom-nav li a:active,
footer#ft #ftr-bottom>div:last-of-type ul#bottom-nav li a:focus,
footer#ft #ftr-bottom>div:last-of-type ul#bottom-nav li a:hover {
    color: var(--color--blue-fountain);
}

#ftr-nav {
    justify-content: center;
}

#ftr-menu {
    width: fit-content;
}

#footer-nav {

    & .menu-item {

        & + .menu-item {
            margin-top: 0.6em !important;
        }

        & > a {
            transition-duration: 0.15s, 0.15s, 0.15s;
            transition-property: color, background-color, border-color;

            &:active,
            &:focus,
            &:hover {
                color: var(--color--blue-fountain) !important;
                /* text-decoration: underline !important; */
            }
        }
    }

    & > .menu-item {

        & + .menu-item {
            margin-top: 0 !important;
        }

        & > a {
            font-size: 16px !important;
            text-transform: none !important;
        }

        & > .sub-menu {
            padding-top: 0.2em !important;

            & > .menu-item {

                & > a {
                    font-size: 16px !important;
                    font-weight: 600 !important;
                    text-transform: none !important;
                }

                & > .sub-menu {
                    padding-top: 0.6em !important;

                    & > .menu-item {

                        & > a {
                            text-indent: -1.2em;
                            padding-left: 1.2em;
                        }
                    }
                }
            }
        }
    }
}

/** Shape */

#bd::before {
    display: none;
}

/** Hero */

.hero.component {

    & h1 {
        color: var(--color--blue-astronaut) !important;

        & em {
            color: var(--color--blue-fountain) !important;
        }
    }

    & .content {
        color: inherit !important;
    }
}

.hero.component .carousel .item .overlay {
    background-color: rgb(255 255 255 / 0.80);
    padding-top: 72px;

    @media (min-width: 992px) {
        padding-top: 104px;
    }
}

.hero.component .carousel .item .overlay .inner .container .content h2 {
    color: var(--color--blue-astronaut);
}

.hero.component .carousel .item .overlay .inner .container .content h2 em {
    color: var(--color--blue-fountain);
}

.hero.component .carousel .item .overlay .inner .container .content {
    font-size: var(--font-size--20);

    & h6 {
        color: var(--color--blue-fountain);
    }
}

.hero.component .carousel .item.side .overlay {
    background-color: transparent;

    &::before {
        background-color: white;
        content: '';
        display: block;
        height: 72px;
        left: 0;
        position: absolute;
        /* position: fixed; */
        top: 0;
        /* top: var(--wp-admin--admin-bar--height, 0px); */
        width: 100%;
        z-index: 6;

        @media (min-width: 992px) {
            height: 104px;
        }
    }
}
.hero.component .carousel .item.side .img-wrapper,
.hero.component .carousel .item.side .inner .container {
    padding-top: 72px;

    @media (min-width: 992px) {
        padding-top: 104px;
    }
}

.hero.component .carousel .item.side .img-wrapper picture {
    display: block;
    height: 100%;
    position: relative;
}

.hero.component .carousel .item.side .inner .container .content {
    background-color: var(--color--blue-astronaut);
    color: white !important;

    & h1 {
        color: inherit !important;
    }

    & h6 {
        color: var(--color--blue-fountain);
    }

    & .btn-primary {
        color: inherit !important;

        &:hover {
            color: var(--color--blue-black-zodiac) !important;
        }
    }
}

.hero.component .carousel .item.transparency .overlay .inner .container .content {
    background-color: rgb(255 255 255 / 0.80);
}

.hero.component .carousel .item .button-container .h3,
.hero.component .carousel .item .button-container h3 {
    /* color: inherit; */
    color: var(--color--blue-astronaut);

    &::before,
    &::after {
        /* border-bottom-color: currentColor; */
        border-bottom-color: var(--color--blue-fountain);
    }
}

.hover-cards.component .card-wrapper .container {

    /* &.wide,
    &.container--wide {} */

    &.container--full {
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
}

.hover-cards.component .card-wrapper .cards li.card .overlay {
    min-height: 70px; /** Match li.card h3 height */

    @media (min-width: 992px) {
        /* background-color: rgb(var(--color--blue-fountain--rgb) / 0.90); */
        background-color: var(--color--blue-astronaut);
        color: white;
    }

    & .btn-primary {
        color: inherit !important;

        &:hover {
            color: var(--color--blue-black-zodiac) !important;
        }
    }
}

.hover-cards.component .card-wrapper .cards li.card h3 {
    background-color: rgb(var(--color--blue-black-zodiac--rgb) / 0.80);
    font-size: var(--font-size--26);
    line-height: 1.3;
    padding: 1.5rem;
}

.hover-cards.component .card-wrapper .cards li.card .overlay > div .h4,
.hover-cards.component .card-wrapper .cards li.card .overlay > div h4 {
    color: inherit;
}

.hover-cards.component .card-wrapper .cards li.card .overlay .btn-primary,
.hover-cards.component .card-wrapper .cards li.card .overlay .btn-primary {
    color: inherit !important;
}

.two-column-content.component ul.items > li .inner .content .big.h3,
.two-column-content.component ul.items > li .inner .content h3.big {
    /* -webkit-text-stroke: 1px var(--color--blue-fountain); */
    text-shadow:
        -1px -1px 1px var(--color--blue-fountain),
        -1px 1px 1px var(--color--blue-fountain),
        1px 1px 1px var(--color--blue-fountain),
        1px -1px 1px var(--color--blue-fountain),
        0 0 1px var(--color--blue-fountain)
    ;
    color: white;
}

.two-column-content.component ul.items > li {

    &:not(:first-child) {
        padding-top: 1em;
    }

    &:not(:last-child) {
        padding-bottom: 1em;
    }

    &.gray {

        &:first-child {
            padding-top: 1em;
        }

        &:last-child {
            padding-bottom: 1em;
        }
    }
}

.basic-content {

    & .container {

        & :last-child {
            margin-bottom: 0;
        }
    }

    & .container.hdr {

        &:last-child {

            & h2 {
                margin-bottom: 0 !important;
            }
        }
    }
}

.case-studies.component ul.posts li:hover .inner {
    background-color: var(--color--blue-astronaut);
}

.case-studies.component ul.posts li .inner .h3 a,
.case-studies.component ul.posts li .inner h3 a {
    color: var(--color--blue-astronaut);
}

.case-studies.component ul.posts li:hover .inner .h3 a,
.case-studies.component ul.posts li:hover .inner h3 a {
    color: var(--color--blue-fountain);
}

.tabbed-content.component .inner {
    background-color: var(--color--blue-astronaut);
}

.tabbed-content.component .inner .nav-tabs .nav-item .nav-link {

    @media (min-width: 992px) {
        padding-left: 1rem;
        padding-right: 1rem;
    }

    &:active,
    &:focus,
    &:hover {
        color: var(--color--blue-fountain);
    }
}

.tabbed-content.component .inner .nav-tabs .nav-item .nav-link.active {
    color: var(--color--blue-fountain);

    &:active,
    &:focus,
    &:hover {
        color: var(--color--blue-fountain);
    }
}

.tabbed-content.component .inner .tab-content .wrapper .inner-content .h3,
.tabbed-content.component .inner .tab-content .wrapper .inner-content h3 {
    color: inherit;
}

#bd .hdr-line {
    background-color: var(--color--blue-fountain);
    height: 2px;
}

article#post ul:not(.pagination) li::before {
    color: var(--color--blue-fountain);
}

.slideshow.component {
    background-color: var(--color--gray);
}

.slideshow.component .container .slick-arrow {
    background-color: var(--color--blue-astronaut);

    &:active,
    &:focus,
    &:hover {
        background-color: var(--color--blue-fountain);
    }
}

.slideshow.component .container .slideshow .slide a.video {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    line-height: 1;
    margin: 0;
    position: absolute;
    text-decoration: none !important;
    top: 0;
    width: 100%;

    /* transform: translate(-50%, -50%); */

    /* &::before {
        content: '';
        height: 100%;
        left: 0;
        position: absolute;
        top: 0;
        width: 100%;
    } */
}

.download.component {
    background-color: var(--color--gray);
}

.download.component .container ul.files a {
    color: var(--color--blue-astronaut);
    /* display: inline-flex;
    flex-wrap: wrap; */
    font-size: var(--font-size--26);

    & .fa-arrow-down-to-line {
        display: inline-block;
        font-size: 2em;
        transform: translateY(0.25em);
    }
}

.team-cards.component ul.team li.card .card-body {
    position: relative;
    z-index: 1;
}

.team-cards.component ul.team li.card .card-body .h5 a,
.team-cards.component ul.team li.card .card-body h5 a {

    &::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }

    &:hover {
    	color: var(--color--blue-fountain);
    }
}

.team-cards.component ul.team li.card:hover .card-body {
    background-color: var(--color--blue-astronaut);
}

.team-cards.component ul.team li.card:hover .card-body a {
    color: var(--color--blue-fountain);

	&:hover {
		color: var(--color--blue-fountain);
	}
}

.team-cards-modal.modal .modal-body .h5,
.team-cards-modal.modal .modal-body h5 {
    color: var(--color--blue-fountain);
}

.team-cards-modal.modal .modal-body .h6,
.team-cards-modal.modal .modal-body h6 {
    color: white;
}

.team-cards-modal.modal .modal-body ul.contact li a {

    &:active,
    &:focus,
    &:hover {
        color: var(--color--blue-fountain);
    }
}

.modal {
    background-color: rgb(255 255 255 / 0.80);
}

.modal-content {
	background-color: var(--color--blue-astronaut);
}

body.error404 {

    & #content .component {
        padding-bottom: max(2rem, 10dvh);
        padding-top: max(2rem, 10dvh);

        & h2 {

            & span {
                color: inherit;
            }
        }
    }
}
