/** COMMONS **/

/*
 * Write common website styles here that you don't expect to see in the admin
 */

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0 Globals
2.0 Utils
3.0 Forms
4.0 Sliders
5.0 Page commons
6.0 Header
7.0 Footer

--------------------------------------------------------------*/
/*- 1.0 Globals */
[id] {
    scroll-margin-top: calc(var(--custom-theme-site-header-height) + 50px);
}

/*- 2.0 Utils */
.reset-nav {
    padding: 0;
    margin: 0;
}

.reset-nav li {
    display: block;
}

.reset-nav a {
    text-decoration: none;
}

.js-clickable-block {
    cursor: pointer;
}


/* Text meant only for screen readers. */
.screen-reader-text {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
    /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: bold;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
    outline: 0;
}

/*- 3.0 Forms */
#page .gform_wrapper {
    display: flex;
    flex-direction: column;
}
#page .gform_heading {
    order: -1;
}
#page .gform_title {
    margin: 0 0 20px;
    font-weight: inherit;
    font-family: Sora, sans-serif;
    font-size: 1.25rem;
    line-height: 1.1;
}

#page .gform_footer {
    padding: 0;
}
#page .gform_footer:has(.gform_button) {
    margin-top: 24px;
}

#page .gform_fields {
    display: flex;
    flex-wrap: wrap;
    --custom-theme-flex-gap: 16px;
    gap: 12px var(--custom-theme-flex-gap);
}
#page .gfield {
    --custom-theme-flex-span: 12;
}
#page .gfield--width-half {
    --custom-theme-flex-span: 6;
}
#page .ginput_complex .ginput_left,
#page .ginput_complex .ginput_right {
    --custom-theme-flex-span: 6;
}
#page .gform_hidden {
    display: none!important;
}


#page .gfield_html {
    font-size: 0.75rem;
    line-height: 1.25;
    margin-top: 12px;
}
#page .gfield_html a {
    color: var(--wp--preset--color--blue-base);
    text-decoration: none;
}

#page .gf_clear {
    display: none;
}

#page .gfield_required {
    color: inherit;
    margin-left: 0.03em;
}
#page .gfield_label,
#page .gform-field-label--type-sub {
    display: block;
    font-size: 1rem;
    line-height: 1;
    height: 12px;
    color: var(--wp--preset--color--grey-dark);
    margin-bottom: 3px;
    transform: translateY(31px);
    position: relative;
    z-index: 1;
    padding-left: 24px;
    pointer-events: none;
    transition: 0.2s ease-out;
}
#page .hidden_label > .gfield_label {
    display: none;
}
#page .gfield_label.is-dirty,
#page .gfield_label.is-focus,
#page .gfield_label:has(+ .ginput_container .choices.is-focused) {
    transform: translateY(19px);
    font-size: 0.75rem;
}
#page .has-white-background-color .gfield_label.is-dirty,
#page .has-white-background-color .gfield_label.is-focus {

}

#page .form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"])),
#page .form textarea,
#page .gform_wrapper.gravity-theme .chosen-container-single .chosen-single,
#page .form .choices__inner {
    border: 0;
    color: #FFF;
    border-radius: 25px;
    background: #1D1D1D;
    height: 50px;
    padding: 0 24px;
    font-size: 1rem;
    line-height: 1;
    width: 100%;
}
#page .form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"])):focus,
#page .form textarea:focus,
#page .gform_wrapper.gravity-theme .chosen-container-active .chosen-single,
#page .chosen-container-active .chosen-single,
#page .form .choices.is-focused .choices__inner {
    border-color: var(--wp--preset--color--dark-grey);
    outline: 0;
}
#page .form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"]))::placeholder,
#page .form textarea::placeholder {
    color: var(--wp--preset--color--grey-dark);
    opacity: 1;
}
#page .form input:where(:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]):not([type="reset"])):disabled,
#page .form select:disabled,
#page .form textarea:disabled {
    background-color: #484848;
}

#page .form textarea {
    resize: none;
    height: 160px!important;
    padding-top: 17px;
}
#page .form select {
    max-width: 100%;
    position: relative;
}

#page .form .gfield:has(.choices.is-focused) {
    position: relative;
    z-index: 10;
}

#page .form .choices::after {
    display: none;
}
#page .form .choices__inner {
    display: flex;
    align-items: center;
}
#page .form .choices__list--dropdown,
#page .form .choices__list[aria-expanded] {
    border-radius: 25px;
    border: 0;
    background: #1D1D1D;
    top: calc(100% + 12px);
    bottom: auto;
    width: 100%;
    word-break: initial;
}
#page .form .choices__list--single {
    padding: 0;
}
#page .form .choices__input {
    background: none;
    color: inherit;
    font-size: inherit;
    margin: 0;
    padding: 0;
    line-height: 1;
}
#page .form .choices__input::placeholder {
    opacity: 1;
    color: inherit;
}
#page .form .choices__list--dropdown .choices__list,
#page .form .choices__list[aria-expanded] .choices__list {
    max-height: 280px;
    margin-top: 8px;
    margin-bottom: 8px;
}
#page .form .choices__list--dropdown .choices__item,
#page .form .choices__list[aria-expanded] .choices__item,
#page .form .choices__list--dropdown .choices__item--selectable[data-select-text] {
    padding: 8px 24px;
    display: flex;
    align-items: center;
}
#page .form .choices__list--dropdown .choices__input,
#page .form .choices__list--dropdown .choices__item:first-child {
    display: none!important;
}
#page .form .choices__list[aria-expanded] .choices__item--selectable[data-select-text] {
    padding-right: 21px;
}
#page .form .choices__list--dropdown .choices__item--selectable.is-highlighted,
#page .form .choices__list[aria-expanded] .choices__item--selectable.is-highlighted {
    background: none;
    color: var(--wp--preset--color--blue-base);
}
#page .form .choices__list--dropdown .choices__item--selectable.is-highlighted::after,
#page .form .choices__list[aria-expanded] .choices__item--selectable.is-highlighted::after {
    display: none!important;
}
#page .form .choices__item.is-selected::before {
    content: '';
    background: currentColor;
    width: 4px;
    height: 4px;
    margin-right: 8px;
    border-radius: 50%;
    margin-left: -12px;
}



#page .gfield input[type="checkbox"],
#page .gfield input[type="radio"] {
    border: 0;
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-wrap: normal !important;
}

#page fieldset.gfield--type-consent,
#page fieldset.gfield--type-email,
#page fieldset.gfield--type-password {
    padding: 0;
    border: 0;
    margin: 0;
}
#page fieldset.gfield--type-consent {
    margin-top: 12px;
}
#page .gfield_consent_label,
#page .gfield_checkbox label,
#page .gfield_radio label {
    display: flex;
    align-items: center;
    gap: 8px;
}
#page .gfield_consent_label::before,
#page .gfield_checkbox label::before,
#page .gfield_radio label::before {
    content: '';
    flex: 0 0 auto;
    background: none;
    background-clip: content-box;
    width: 20px;
    height: 20px;
    padding: 1px;
    border: 1px solid;
    border-radius: 4px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}
#page .gfield_consent_label .gfield_required {
    display: none;
}
#page .gfield--type-consent input:checked + .gfield_consent_label::before,
#page .gfield_checkbox  input:checked + label::before,
#page .gfield_radio  input:checked + label::before {
    background-color: currentColor;
}

#page .gfield_radio label::before {
    border-radius: 50%;
}


#page .gform-button--width-full,
#page .gform-button {
    width: 100%;
}

#page .form .legal-text {
    --custom-theme-flex-span: 12;
    order: 100;
}
#page .gfield--type-submit {
    --custom-theme-flex-span: 12;
    margin-top: 12px;
}
#page .gfield:has( + .gfield--type-submit) {
    --custom-theme-flex-span: 12;
}

#page .gfield_validation_message {
    font-size: 0.75rem;
    margin-top: 5px;
}
#page .gform_confirmation_message {
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.3;
    margin-top: 10px;
}
#page .gform_submission_error {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--wp--preset--color--red-3);
}
#page .gform_submission_error .gform-icon {
    display: none;
}
#page .gform_validation_errors {
    font-size: 0.75rem;
    margin-bottom: 32px;
    outline: 0!important;
}

#page .gform_validation_errors a {
    color: inherit;
}

#page .gfield_error input[aria-invalid="true"],
#page .gfield_error textarea[aria-invalid="true"]{
    border-color: var(--wp--preset--color--red-3);
}
#page .gfield_error .gfield_label {
    color: var(--wp--preset--color--red-3);
}


#page .gfield--type-honeypot {
    display: none !important;
    left: -9000px;
    position: absolute !important;
}

#page .is-style-inline_wrapper {
    min-height: 116px;
}
#page .is-style-inline_wrapper .is-style-inline {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 28px;
}
#page .is-style-inline_wrapper .is-style-inline .gform_footer{
    margin-top: 6px; /* force alignement with fields */
}
#page .is-style-inline_wrapper .gfield {
    width: 232px;
}


#page .form--newsletter_wrapper {
    padding: 32px;
    max-width: 404px;
}
#page .form--newsletter_wrapper .gform_description {
    background: url('../images/decriiipt.webp') 0 0 / 100% auto no-repeat;
    width: 100%;
    padding-top: 33.7%;
    text-align: right;
    white-space: pre;
    margin: 0 0 36px;
    font-family: Sora, sans-serif;
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.1;
}
@supports (white-space: break-spaces) {
    #page .form--newsletter_wrapper .gform_description {
        white-space: break-spaces;
    }
}
#page .block-column .form--newsletter_wrapper {
    margin-left: 38px;
}
#page .block-columns__columns:has(.form--newsletter_wrapper) {
    align-items: flex-start;
}
#page .block-column:has(.form--newsletter_wrapper) {
    position: sticky;
    top: var(--custom-theme-site-header-height);
}

@media screen and (max-width: 1279px) {
    #page .block-column:has(.form--newsletter_wrapper) {
        --custom-theme-flex-span: 5;
    }
    #page .block-column .form--newsletter_wrapper {
        margin-left: 20px;
    }
}
@media screen and (max-width: 991px) {
    #page .block-column .form--newsletter_wrapper {
        margin-left: auto;
        margin-right: auto;
    }
    #page .block-column:has(.form--newsletter_wrapper) {
        position: static;
    }

    #page .block-column .gform_wrapper {
        max-width: 500px;
        margin-bottom: 40px;
    }
}
@media screen and (max-width: 767px) {
    #page .gform_fields {
        row-gap: 6px;
    }
    #page .gfield--width-half,
    #page .ginput_complex .ginput_left,
    #page .ginput_complex .ginput_right {
        --custom-theme-flex-span: 12;
    }

    #page .form--newsletter_wrapper {
        padding: 0;
    }
    #page .form--newsletter_wrapper .gform_description {
        margin-bottom: 24px;
    }
}

/*- 4.0 Sliders */
.slider__arrows {
    display: flex;
    gap: 16px;
}
.slider__arrow__prev,
.slider__arrow__next {
    background: none;
    border: 0;
    border-radius: 0;
    cursor: pointer;
    padding: 0;
    line-height: 1;
    z-index: 100;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    overflow: hidden;
    --custom-theme-slider-arrow-color-alt: var(--wp--preset--color--blue-base);
}
.slider__arrow__prev {
    padding-left: 10px;
}
.slider__arrow__next {
    padding-right: 10px;
    justify-content: flex-end;
}
.slider__arrow__prev .icon,
.slider__arrow__next .icon {
    display: block;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    object-fit: contain;

    transition: 0.3s ease-in-out;

}
.slider__arrow__prev .icon {
    transform: scaleX(-1);
}
.slider__arrow__prev .icon + .icon {
    transform: scaleX(-1) translateX(-150%);
}
.slider__arrow__prev:focus-visible .icon,
.slider__arrow__prev:hover .icon {
    transform: scaleX(-1) translateX(150%);
    color: var(--custom-theme-slider-arrow-color-alt);
}
.slider__arrow__prev:focus-visible .icon + .icon,
.slider__arrow__prev:hover .icon + .icon {
    transform: scaleX(-1) translateX(20px);
}

.slider__arrow__next .icon:first-child,
.slider__arrow__next .icon:first-child {
    transform: translateX(-150%);
}
.slider__arrow__next:focus-visible .icon,
.slider__arrow__next:hover .icon {
    color: var(--custom-theme-slider-arrow-color-alt);
}
.slider__arrow__next:focus-visible .icon:first-child,
.slider__arrow__next:hover .icon:first-child {
    transform: translateX(20px);
}
.slider__arrow__next:focus-visible .icon + .icon,
.slider__arrow__next:hover .icon + .icon {
    transform: translateX(150%);
}

.has-blue-base-background-color .slider__arrow__prev,
.has-blue-base-background-color .slider__arrow__next {
    --custom-theme-slider-arrow-color-alt: #FFF;
}
.has-white-background-color .slider__arrow__prev,
.has-white-background-color .slider__arrow__next {
    --custom-theme-slider-arrow-color-alt: var(--wp--preset--color--blue-dark);
}

.slider__arrow__prev:disabled,
.slider__arrow__next:disabled {
    opacity: 0.3;
    pointer-events: none;
}

@media screen and (max-width: 767px) {
    .slider__arrows {
        display: none;
    }
}


/*- 5.0 Page commons */
.pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    color: inherit;
}
.pagination .nav-links .page-numbers {
    color: inherit;
    text-decoration: none;
    padding: 0 20px;
    transition: color 0.2s ease-out;
}
.pagination .nav-links a.page-numbers:focus-visible,
.pagination .nav-links a.page-numbers:hover,
.pagination .nav-links .current {
    color: var(--wp--preset--color--blue-dark);
}

.pagination .nav-links .prev .icon,
.pagination .nav-links .next .icon {
    width: 13px;
    height: 13px;
    object-fit: contain;
}
.pagination .nav-links .prev .icon {
    transform: scaleX(-1);
}

@media screen and (max-width: 767px) {

}

/*- 6.0 Header */
.site-header {
    position: fixed;
    z-index: var(--custom-theme-z-index-nav);
    top: 0;
    left: 0;
    width: 100%;
    height: var(--custom-theme-site-header-height);

    padding-left: var(--wp--style--root--padding-left);
    padding-right: var(--wp--style--root--padding-right);
    transition: 0.3s ease-out;
}
.site-header.has-scrolled {
    background: #000;
}
.site-header.has-scrolled.is-scrolling-down {
    transform: translateY(-100%);
}
.site {
    padding-top: var(--custom-theme-site-header-height);
    background: #000;
    position: relative;
    z-index: 2;

    border-bottom-left-radius: 40px 45px;
    border-bottom-right-radius: 40px 45px;
}

html.is-menu-open,
html.is-menu-open body {
    overflow: hidden;
}

.site-header__inner {
    justify-content: space-between;
    align-items: center;
    height: 100%;
}
.site-header__logo {
    --custom-theme-flex-span: 2;
}


.site-header__menu-toggle,
.main-navigation__logo,
.main-navigation__close-btn,
.site-header__contact-btn {
    display: none;
}

.main-navigation {
    display: flex;
    justify-content: flex-end;
    align-self: stretch;
    --custom-theme-flex-span: 10;
}
.main-navigation__menu {
    height: 100%;
}
.main-navigation__menu > div,
.site-header__main-menu {
    height: 100%;
}
.site-header__main-menu {
    display: flex;
    gap: 8px;
    position: relative;
}
.site-header__main-menu .depth-0 > .sub-menu {
    display: flex;
    gap: 70px;
    position: absolute;
    top: 99px;
    left: 0;
    background: var(--wp--preset--color--blue-light);
    border-radius: 40px;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity 0.5s ease-in-out 0.2s;
}
.site-header__main-menu .depth-0 {
    display: flex;
    align-items: center;
}
.site-header__main-menu .depth-0 > a,
.site-header__main-menu .depth-0 > .lvl {
    position: relative;
    z-index: 1;
    font-family: 'Sora', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    line-height: 1.25;
    color: inherit;
    --custom-theme-gradient-pos: 0%;
    padding: 8px 12px;
    transition: 0.3s ease-out;
}
.site-header__main-menu .depth-0.menu-item-has-children {
    position: relative;
}
.site-header__main-menu .depth-0.menu-item-has-children::after {
    content: '';
    position: absolute;
    bottom: 16px;
    height: 30px;
    width: 200%;
    left: -50%;
    background: #000;
    display: none;
}
/* Increase hit area to avoid loosing hover state */
.no-touch .site-header__main-menu .depth-0.menu-item-has-children:hover::after {
    display: block;
}
.site-header__main-menu .depth-0.menu-item-has-children > a,
.site-header__main-menu .depth-0.menu-item-has-children > .lvl {
    display: flex;
    gap: 10px;
    align-items: center;
}

.site-header__main-menu .depth-0.menu-item-has-children > a .icon,
.site-header__main-menu .depth-0.menu-item-has-children > .lvl .icon {
    width: 10px;
    transform: rotate(90deg);
    transition: 0.3s ease-out;
    color: #FFF;
}


.site-header__main-menu .depth-0 > a .hover-state,
.site-header__main-menu .depth-0 > .lvl .hover-state {
    position: absolute;
    top: 8px;
    left: 12px;
    opacity: 0;
    /* Linear/blue-white */
    background: linear-gradient(251.49deg, #FFFFFF 9%, #8FAAFF 86.62%) repeat-x;
    background-size: 200% 100%;
    background-position: calc(200% + var(--custom-theme-gradient-pos)) 50%;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-fill-color: transparent;

    transition: 0.3s ease-out 0.2s;
}

.no-touch .site-header__main-menu .depth-0 > a:focus-visible,
.no-touch .site-header__main-menu .depth-0:hover > a,
.no-touch .site-header__main-menu .depth-0 > .lvl:focus-visible,
.no-touch .site-header__main-menu .depth-0:hover > .lvl {
    color: transparent;
    transition-delay: 0.2s;
}
.no-touch .site-header__main-menu .depth-0:has(>a:focus-visible) .hover-state,
.no-touch .site-header__main-menu .depth-0:hover .hover-state,
.no-touch .site-header__main-menu .depth-0:has(>.lvl:focus-visible) .hover-state {
    opacity: 1;
    transition-delay: 0s;
}
.no-touch .site-header__main-menu .depth-0:has(>a:focus-visible) .icon,
.no-touch .site-header__main-menu .depth-0:hover > a .icon,
.no-touch .site-header__main-menu .depth-0:has(>.lvl:focus-visible) .icon,
.no-touch .site-header__main-menu .depth-0:hover > .lvl .icon {
    transform: rotate(270deg);
}
.no-touch .site-header__main-menu .depth-0:has(>a:focus-visible) > .sub-menu,
.no-touch .site-header__main-menu .depth-0:hover > .sub-menu,
.no-touch .site-header__main-menu .depth-0:has(>.lvl:focus-visible) > .sub-menu {
    opacity: 1;
    max-height: 800px;
    padding: 40px;
}

.site-header__main-menu .depth-0.btn > a {
    position: relative;
    z-index: 1;
    display: block;
    background: #FFF;
    border-radius: 25px;
    padding: 15px 24px;
    color: #000;
    margin-left: 16px;
    --custom-theme-gradient-pos: 0%;
}
.site-header__main-menu .depth-0.btn > a::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(251.49deg, var(--wp--preset--color--white) 9%, var(--wp--preset--color--blue-dark) 86.62%) repeat-x;
    background-size: 200% 100%;
    background-position: calc(200% + var(--custom-theme-gradient-pos)) 50%;
    border-radius: inherit;
    opacity: 0;
    transition: 0.5s ease-out;
}
.no-touch .site-header__main-menu .depth-0.btn > a:focus-visible,
.no-touch .site-header__main-menu .depth-0.btn > a:hover {
    color: #000;
    background-color: #FFF;
    transition: color 0.3s ease-out, background-color 0.3s ease-out 0.2s;
}
.no-touch .site-header__main-menu .depth-0.btn > a:focus-visible::before,
.no-touch .site-header__main-menu .depth-0.btn > a:hover::before {
    opacity: 1;
}


.site-header__main-menu .is-link-hidden > a,
.site-header__main-menu .is-link-hidden > .lvl {
    display: none!important;
}
.site-header__main-menu .depth-1 > a,
.site-header__main-menu .depth-1 > .lvl {
    display: block;
    font-family: Sora, sans-serif;
    font-size: 1rem;
    line-height: 1.25;
    text-transform: uppercase;
    color: var(--wp--preset--color--blue-dark);
    margin-bottom: 24px;
}
.site-header__main-menu .depth-1 > .lvl {
    pointer-events: none;
}
.site-header__main-menu .depth-1 .sub-menu {
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.site-header__main-menu .depth-2 {
    overflow: hidden;
}
.site-header__main-menu .depth-2 > a {
    transition: 0.3s ease-out;
}
.site-header__main-menu .depth-2 > a:has(.icon) {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 1rem;
    line-height: 1.25;
    color: #000;
    white-space: nowrap;
    transform: translateX(-16px);
}
.site-header__main-menu .depth-2 > a .icon {
    opacity: 0;
    width: 10px;
    flex: 0 0 10px;
    object-fit: contain;
    height: 10px;
    transform: translateX(10px);
    transition: 0.3s ease-out;
}
.no-touch .site-header__main-menu .depth-2 > a:hover {
    transform: none;
}
.no-touch .site-header__main-menu .depth-2 > a:hover .icon {
    transform: none;
    opacity: 1;
}

.site-header__main-menu .menu-resources > .sub-menu {
    left: 50%;
    transform: translateX(-50%);
    gap: 48px;
}
.site-header__main-menu .menu-resources .depth-1 {
    position: relative;
}
.site-header__main-menu .menu-resources .depth-1 + .depth-1::before {
    content: '';
    position: absolute;
    left: -24px;
    top: 0;
    border-left: 1px solid var(--wp--preset--color--grey-dark);
    height: 100%;
}
.site-header__main-menu .menu-resources > .sub-menu .sub-menu {
    min-width: 172px;
}
.site-header__main-menu .menu-post-type {
    display: flex;
    flex-direction: column;
    gap: 16px;
    color: #000;
    width: 222px;
    transition: color 0.3s ease-out;
}
.no-touch .site-header__main-menu a:hover .menu-post-type {
    color: var(--wp--preset--color--blue-dark);
}
.menu-post-type__meta,
.menu-post-type__desc {
    color: var(--wp--preset--color--grey-dark-plus);
}

@media screen and (max-width: 1279px) {
    .site-header__menu-toggle,
    .main-navigation__logo,
    .main-navigation__close-btn,
    .site-header__contact-btn {
        display: block;
    }
    .site-header__inner {
        gap: 16px;
        justify-content: flex-start;
    }
    .site-header__logo {
        flex: 1 1 auto;
    }
    .site-header__menu-toggle {
        order: -1;
        flex: 0 0 auto;
    }
    .site-header__contact-btn {
        flex: 0 0 fit-content;
    }
    .main-navigation {
        display: none;
    }
    .main-navigation[aria-hidden] {
        position: fixed;
        z-index: var(--custom-theme-z-index-overlay);
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0,0,0,0.6);

        display: block;
        transition: transform 0.5s ease-out, background-color 0.2s ease-out 0.5s;
    }
    .main-navigation[aria-hidden="true"] {
        transform: translateX(-100%);
        background: rgba(0,0,0,0);
        transition-delay: 0.2s, 0s;
        transition-timing-function: ease-in, ease-out;
    }
    .main-navigation__inner {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 51px 24px;
        height: 100%;
        max-width: 439px;
        background: #FFF;
        color: #000;
        padding: 24px var(--wp--style--root--padding-right) 98px  var(--wp--style--root--padding-left);
    }
    .main-navigation__logo {
        height: 24px;
        width: auto;
    }
    .main-navigation__close-btn {
        height: 24px;
        width: 24px;
        display: flex;
        justify-content: flex-end;
        align-items: center;
    }
    .main-navigation__close-btn img {
        width: 13px;
        height: auto;
    }
    .main-navigation__menu {
        overflow: auto;
        height: calc(100% - 108px); /* 108px = space for contact button */
        width: calc(100% + 7px); /* +7px fixes overflow issue with the .icon */
        margin-right: -7px;
        flex: 1 1 100%;

    }
    .site-header__main-menu {
        flex-direction: column;
        gap: 16px;
    }

    .site-header__main-menu .depth-0 {
        display: block;
    }

    .site-header__main-menu .depth-0 > a,
    .site-header__main-menu .depth-0 > .lvl {
        font-family: "Rethink Sans", sans-serif;
        font-size: 1.5rem;
        line-height: 1.25;
        width: 100%;
        padding: 0;
    }
    .site-header__main-menu .depth-0.menu-item-has-children > a,
    .site-header__main-menu .depth-0.menu-item-has-children > .lvl {
        justify-content: space-between;
        transition: text-shadow 0.2s ease-out;
        width: calc(100% - 7px); /* -7px fixes overflow issue with the .icon */
    }
    .site-header__main-menu .depth-0.menu-item-has-children > a .icon,
    .site-header__main-menu .depth-0.menu-item-has-children > .lvl .icon {
        color: inherit;
        width: 13px;
        transform: rotate(90deg);
    }

    .site-header__main-menu .depth-0.menu-item-has-children > a[aria-expanded="true"],
    .site-header__main-menu .depth-0.menu-item-has-children > .lvl[aria-expanded="true"] {
        text-shadow: 1px 0 0 rgba(0, 0, 0, 0.5);
    }

    .site-header__main-menu .depth-0.menu-item-has-children > a[aria-expanded="true"] .icon,
    .site-header__main-menu .depth-0.menu-item-has-children > .lvl[aria-expanded="true"] .icon {
        transform: rotate(-90deg);
    }

    .site-header__main-menu .depth-0 > .sub-menu {
        position: static;
        flex-direction: column;
        gap: 32px;
        opacity: 1;
        background: none;
        border-radius: 0;
        padding: 0;
        transform: none;
        transition: 0.5s ease-in-out;
    }
    .site-header__main-menu .depth-0 > .sub-menu[aria-hidden="false"] {
        padding-top: 32px;
        padding-bottom: 32px;
        max-height: 1000px;
    }

    .site-header__main-menu .depth-0.btn {
        position: fixed;
        bottom: 0;
        width: 100%;
        max-width: 439px;
        left: 0;
        padding: 24px var(--wp--style--root--padding-right) 24px var(--wp--style--root--padding-left);
        background: #FFF;
    }
    .site-header__main-menu .depth-0.btn > a {
        margin-left: 0;
        background: #000;
        color: #FFF;
        text-align: center;
        max-width: 375px;
    }

    .site-header__main-menu .menu-resources .depth-1 + .depth-1::before {
        height: auto;
        border-left: 0;
        left: 0;
        top: -16px;
        border-top: 1px solid var(--wp--preset--color--grey-dark);
        width: 100%;

    }
}

/*- 7.0 Footer */
.site-footer {
    padding-bottom: 40px;
}
.site-footer__inner {
    display: flex;
    flex-wrap: wrap;
    gap: 48px 32px;
}
.site-footer__breadcrumbs {
    font-size: 1rem;
    flex: 1 1 100%;
}
.site-footer__breadcrumbs > span {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px;
}
.site-footer__breadcrumbs a,
.site-footer__breadcrumbs span {
    color: inherit;
    font-size: 1rem;
    line-height: 1.25;
}
.site-footer__breadcrumbs a {
    text-decoration: none;
    display: block;
}
.site-footer__breadcrumbs svg {
    display: block;
}
.site-footer__column-1 {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 47px 22px;
    width: 350px;
    max-width: 100%;
}
.footer-social-links {
    display: flex;
    gap: 11px;
}
.footer-social-links .icon {
    width: 40px;
    height: 40px;
}
.footer-social-links a {
    transition: 0.3s ease-out;
}
.footer-social-links:has(a:focus-visible,a:hover) a:not(:focus-visible):not(a:hover) {
    opacity: 0.6;
}
.site-footer__address p {
    margin: 0;
    font-size: 1rem;
    line-height: 1.5;
}
.site-footer__address a {
    color: inherit;
    transition: 0.3s ease-out;
}
.site-footer__address a:hover {
    color: var(--wp--preset--color--blue-base);
}
.site-footer__address a:not([href^="tel:"]) {
    font-weight: bold;
    white-space: nowrap;
}
.site-footer__address a[href^="tel:"] {
    text-decoration: none;
}

.site-footer__column-2 {
    flex: 0 0 calc(100% - 350px - 32px);
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-end;
    gap: 45px;
}

.footer-links-menu {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 40px;
}

.footer-links-menu a {
    color: inherit;
    font-size: 1rem;
    line-height: 1.25;
    transition: 0.3s ease-out;
}
.footer-links-menu a:hover {
    color: var(--wp--preset--color--blue-base);
}

.site-footer__certifications {
    display: flex;
    align-items: flex-end;
    gap: 12px;
}

.site-footer__certifications img {
    max-width: 68px;
    max-height: 66px;
}

.site-footer-newsletter {
    position: sticky;
    bottom: 0;
    z-index: 1;
    margin-top: -50px;
    padding-top: 130px;
    padding-bottom: 80px;
}
.site-footer-newsletter__iframe {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 100%;
    border: 0;
}
.site-footer-newsletter__iframe.confirmation-loaded {
    height: auto;
}

@media screen and (max-width: 991px) {
    .site-footer__inner {
        flex-direction: column;
        gap: 32px;
    }
    .site-footer__column-2 {
        align-items: flex-start;
    }
}

@media screen and (max-width: 767px) {
    .site-footer__certifications {
        order: 100;
    }
    .footer-links-menu {
        flex-direction: column;
    }
    .site-footer-newsletter {
        padding-top: calc(50px + 64px);
        padding-bottom: 64px;
    }
    .site-footer-newsletter__iframe {
        height: 430px;
    }
}
