:root {

    --header-font                  : "Inter", Sans-serif;

    --header-padding-mobile        : 1em 1em;
    --header-padding-tablet        : 1em 2em;
    --header-padding-laptop        : 1em 1.5em;
    --header-padding-desktop       : 1.2em 2em;
    --header-padding-sm-laptop     : 1em 1.5em;

    --header-row-padding-mobile    : 0;
    --header-row-padding-tablet    : 0;
    --header-row-padding-laptop    : 0;
    --header-row-padding-desktop   : 0;
    --header-row-padding-sm-laptop : 0;

    --top-banner-height            : 0px;

}

/*Widget parents rules*/
div.elementor:has(.site-header) > div.elementor-element {
    padding : 0 !important;
}

div.elementor:has(.site-header) > div.elementor-element > div {
    max-width : 100% !important;
    padding   : 0 !important;
}

div.elementor-location-header > div.elementor-element,
div.elementor-location-header > div.elementor-element > div {
    max-width : 100% !important;
    padding   : 0 !important;
}

/*Widget parents rules*/


body.menu-opened {
    overflow : hidden;
    height   : 100%;
    margin   : 0 !important;
}

.header-texte {
    line-height : 1.2em;
    position    : relative;
}
.header-texte:after {
    position   : absolute;
    top        : 1.2em;
    right      : 0;
    width      : 250px;
    content    : "";
    border-top : 3px solid black;
}

.site-header {
    position         : absolute;
    top              : var(--top-banner-height);
    right            : 0;
    left             : 0;
    z-index          : 999;
    display          : flex;
    justify-content  : space-between;
    align-items      : center;
    height           : 90px;
    background-color : transparent;
}
.site-header.scrolled {
    position         : fixed;
    top              : 0;
    background-color : rgb(19, 56, 91);
}

.column-logo {
    margin-left : 5%;
}
.column-cta {
    margin-right : 5%;
}


body.menu-opened .site-header::after {
    opacity    : 1;
    transform  : translateX(0);
    z-index    : -1;
    visibility : visible;
}

.site-header__row {
    display         : flex;
    flex-direction  : row;
    justify-content : space-between;
    gap             : 2em;
    width           : 100%;
}

.header-row__column {
    display     : flex;
    align-items : center;
}

.header-row__column--rows {
    font-size       : 16px;
    line-height     : 21px;
    color           : #FFFFFF;
    flex-direction  : column;
    justify-content : center;
    align-items     : center;

}

.header-row__column-row {
    display         : flex;
    justify-content : space-between;
    align-items     : center;
    width           : 100%;
}

.header-row__column.column-logo img {
    max-width : 100%;
    height    : auto;
}


/*	burger */
.header-burger {
    position : relative;
    width    : 38px;
    height   : 24px;
    cursor   : pointer;
}


.header-burger__line {
    position                  : absolute;
    transform                 : rotate(0deg);
    height                    : 4px;
    animation                 : none;
    animation-duration        : 0.65s;
    animation-timing-function : cubic-bezier(0.77, 0, 0.175, 1);
    border-radius             : 40px;
    background-color          : white;
}

.header-burger__line:nth-child(1) {
    width : 100%;
}
.header-burger__line:nth-child(2) {
    width : 100%;
}
.header-burger__line:nth-child(3) {
    width : 100%;
}


.header-burger__line:nth-child(1) {
    top                 : 0;
    animation-name      : topreverse;
    animation-fill-mode : forwards;
}

.header-burger__line:nth-child(2) {
    bottom         : 10px;
    animation-name : bottomreverse;
}

.header-burger__line:nth-child(3) {
    bottom         : 0;
    animation-name : bottomreverse;
}

.header-burger.is-active > .header-burger__line {
    animation-duration        : 0.65s;
    animation-timing-function : cubic-bezier(0.77, 0, 0.175, 1);
    animation-fill-mode       : forwards;
}

.header-burger.is-active .header-burger__line:nth-child(1) {
    top            : 45.8333333333%;
    animation-name : top;
}

.header-burger.is-active .header-burger__line:nth-child(2) {
    visibility : hidden;
}

.header-burger.is-active .header-burger__line:nth-child(3) {
    bottom         : 37%;
    animation-name : bottom;
}


@keyframes top {
    0% {
        top : 0;
    }
    60% {
        top       : 45.8333333333%;
        transform : rotate(0deg);
    }
    100% {
        transform : rotate(45deg);
    }
}

@keyframes bottom {
    0% {
        bottom : 0;
    }
    60% {
        bottom    : 45.8333333333%;
        transform : rotate(0deg);
    }
    100% {
        transform : rotate(-45deg);
    }
}

@keyframes topreverse {
    0% {
        transform : rotate(45deg);
        top       : 45.8333333333%;
    }
    60% {
        transform : rotate(0deg);
        top       : 45.8333333333%;
    }
    100% {
        top : 0;
    }
}

@keyframes bottomreverse {
    0% {
        transform : rotate(-45deg);
        bottom    : 45.8333333333%;
    }
    60% {
        transform : rotate(0deg);
        bottom    : 45.8333333333%;
    }
    100% {
        bottom : 0;
    }
}

/*	burger */


/* menu cta */

.header-menu-cta {
    position        : relative;
    z-index         : 3;
    display         : flex;
    justify-content : center;
    align-items     : center;
    gap             : 1em;
    margin          : 0;
    padding         : 0;
    list-style      : none;
}
.header-menu-cta li:first-child a {
    border : 1.5px solid #FFFCF0;
}
.header-menu-cta li:last-child a {
    background : #ED8C26;
}
.header-menu-cta li a:hover {
    transform : scale(1.05);
}

.header-menu-cta li a {
    font-family     : "DM Sans";
    font-size       : 16px;
    font-weight     : 700;
    font-style      : normal;
    line-height     : 24px; /* 150% */
    color           : #FFFCF0;
    text-align      : right;
    display         : flex;
    justify-content : center;
    align-items     : center;
    gap             : 10px;
    padding         : 20px 32px;
}
.cta-menu {
    position : relative;
    z-index  : 3;
}
._svg {
    position : absolute;
    bottom   : -10%;
    left     : -3em;
}


.cta-link:hover .menu-link span {
    color : #0F3052;
}

.menu-link span::first-letter {
    color : #0F3052;
}

/* menu cta */


/*RESPONSIVE*/

/*phone*/
@media (max-width : 767px) {

    .hide-mobile {
        display : none !important;
    }

    .site-header {
        padding : var(--header-padding-mobile);
    }

    .site-header__row {
        padding : var(--header-row-padding-mobile);
    }

    .header-row__column.column-menu {
        width : 100vw;
    }
    .menu-link span::first-letter {
        color : unset;
    }

    .header-menu-cta li a {
        display : flex;
    }
    .site-header {
        border-bottom : solid 1px rgba(0, 94, 52, 0.2);
    }
    .column-cta {
        margin-right : 0% !important;
    }
    .site-header__row {
        justify-content : space-between;
        gap             : 0;
    }
    .header-menu-cta li a {
        font-family     : "DM Sans";
        font-size       : 16px;
        font-weight     : 700;
        font-style      : normal;
        line-height     : 24px;
        color           : #FFFCF0;
        text-align      : right;
        display         : flex;
        justify-content : center;
        align-items     : center;
        gap             : 10px;
        padding         : 10px 15px;
    }

}

/*tablet*/
@media (min-width : 768px) and (max-width : 1024px) {

    .hide-tablet {
        display : none !important;
    }

    .site-header {
        padding : var(--header-padding-tablet);
    }

    .site-header__row {
        justify-content : space-between;
        gap             : 10em;
        padding         : var(--header-row-padding-tablet);
    }

    .header-row__column.column-menu {
        width : 100vw;
    }


    ._svg {
        position : absolute;
        bottom   : 38%;
        left     : -1em;
    }
    .header-menu-cta li a {
        width : 215px;
    }


}

@media (min-width : 1024px) and (max-width : 1025px) {

    .site-header__row {
        position : relative;
    }

    .header-row__column.column-menu {
        width : 65vw;
    }

    .header-row__column.column-logo {
        justify-content : flex-end;
    }

    .header-row__column.column-burger {
        justify-content : flex-start;
    }

}


/*mobile and tablet*/
@media (max-width : 1024px) {

    .site-header::before {
        z-index : 9999;
    }

    .lg-container {
        justify-content : flex-end;
    }

    body.menu-opened .site-header__row::before {
        position      : absolute;
        top           : 0;
        right         : -100%;
        bottom        : 0;
        left          : -100%;
        z-index       : 999;
        content       : "";
        border-bottom : 1px solid rgba(255, 255, 255, 0.2);
    }

    .header-row__column {
        /*flex: 1 1 0;*/
    }

    .header-row__column.column-cta,
    .header-row__column.column-logo,
    .header-row__column.column-burger {
        z-index : 999;
    }

    .header-row__column--rows {
        justify-content : flex-start;
    }

    .header-row__column.column-logo {
        justify-content : center;
    }

    .header-row__column.column-cta {
        justify-content : flex-end;
    }

    .header-row__column.column-menu {
        opacity          : 0;
        position         : fixed;
        top              : 0;
        left             : 0;
        transform        : translateX(-100%);
        z-index          : -1;
        visibility       : hidden;
        display          : flex;
        flex-direction   : column;
        align-content    : flex-start;
        align-items      : flex-start;
        gap              : 1em;
        height           : 100vh;
        transition       : .5s;
        background-color : #FFFFFF;
        backdrop-filter  : blur(10px);

    }

    .header-row__column.column-menu .column-menu_content > * {
        width : fit-content;
    }

    .header-row__column.column-menu.is-opened {
        opacity          : 1;
        transform        : translateX(0);
        z-index          : 100;
        visibility       : visible;
        background-color : #13385B;
    }
    #menu-header_cta_mobile .menu-link img {
        width         : unset !important;
        padding-right : 0px !important;
        padding-left  : unset;
    }

    .header-row__column.column-menu > .column-menu_content {
        position     : relative;
        margin-right : auto;
        margin-left  : auto;
    }

    .column-logo img {
        max-width : 100%;
        height    : auto;
    }

    .header-row__column-row:first-child {
        order : 2;
    }

    .header-row__column-row {
        flex-direction : column;
        align-items    : flex-start;
        gap            : 1em;
    }
    .header-menu-cta {
        display        : flex;
        flex-direction : row;
    }
    .cta-link {
        width : 100%;
    }


}


/*desktop*/
@media (min-width : 1025px) {

    .hide-desktop {
        display : none !important;
    }

    .site-header {
        /*padding: var(--header-padding-desktop)*/;
    }

    .site-header__row {
        padding : var(--header-row-padding-desktop);
    }

    .header-row__column {
        flex : 1 1 0;
    }

    .column-logo {
        width : fit-content;
    }

    .header-row__column-row {
        flex-direction : row;
        gap            : 4em;
        padding-right  : 2%;
        padding-left   : 2%;
    }

    .header-row__column.column-logo {
        flex-basis      : auto;
        flex-grow       : 0;
        justify-content : center;
    }

    .header-row__column.column-cta {
        flex-basis      : auto;
        flex-grow       : 0;
        justify-content : flex-end;
    }

    .header-row__column.column-logo .header-logo {
        max-width : 200px;
    }


}

/*laptop 1*/
@media (min-width : 1024px) and (max-width : 1700px) {

    .site-header {
        padding : var(--header-padding-sm-laptop);
    }

    .site-header__row {
        padding : var(--header-row-padding-sm-laptop);
    }

    .header-menu-cta li a {
        font-size   : 0.75rem;
        line-height : 0.75rem;
    }

    ._svg {
        position : absolute;
        bottom   : 33%;
        left     : -1em;
    }


}

/*laptop 2 aka 125%*/
@media (min-width: 1440px) and (max-width: 1700px) {

    .site-menu__primary li a {
        font-size: 16px;
    }

}

/*RESPONSIVE*/
