:root {

    --header-padding-mobile: 0 2%;
    --header-padding-tablet: 0 2%;
    --header-padding-laptop: 0 2%;
    --header-padding-desktop: 0 2%;
    --header-padding-sm-laptop: 0 2%;

    --header-row-padding-mobile: 0.5em 5%;
    --header-row-padding-tablet: 0.5em 5%;
    --header-row-padding-laptop: 0em 6%;
    --header-row-padding-desktop: 0em 8%;
    --header-row-padding-sm-laptop: 0em 5%;

}

/*Widget parents rules*/
div.elementor:has(.site-header) > div.elementor-element {
    padding: 0 !important;
}

div.elementor:has(.site-header) > div.elementor-element > div {
    padding: 0 !important;
    max-width: 100% !important;
}

div.elementor-location-header > div.elementor-element,
div.elementor-location-header > div.elementor-element > div {
    padding: 0 !important;
    max-width: 100% !important;
}

body > div > div > header > section > div > div {
    min-height: unset !important;
}

/*Widget parents rules*/

body.menu-opened {
    height: 100%;
    overflow: hidden;
    margin: 0 !important;
}

.site-header {
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    display: flex;
    position: fixed;
    align-items: center;
    flex-direction: column;
    max-width: unset !important;
    transition: all 0.6s ease-out;
    justify-content: space-between;
}

.site-header.scrolled {
    background-color: #ffffff;
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10);
}

.site-header__row {
    gap: 3em;
    width: 100%;
    display: flex;
    align-items: center;
    flex-direction: row;
    justify-content: space-between;
}

.site-header__row.site-header__row--top {
    padding: 1.125em 0;
}

.header-row__column {
    display: flex;
    align-items: center;
}

.header-row__column--rows {
    justify-content: center;
    flex-direction: column;
    align-items: flex-start;
}

.header-row__column-row {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.header-row__column.column-logo {
    flex-grow: 0;
    justify-content: flex-start;
}

.header-row__column.column-logo .header-logo {
    width: 216px;
    height: 31px;
    display: flex;
    z-index: 99999;
    position: relative;
    align-items: center;
    transition: all 0.5s ease-in-out;
}

.header-row__column.column-logo .header-logo img {
    height: auto;
    max-width: 100%;
    position: absolute;
    transition: all 0.5s ease-in-out;
}

.header-row__column.column-cta {
    flex-grow: 0;
    justify-content: flex-end;
}

.header-logo img.header-logo--d {
    opacity: 1;
}

.header-logo img.header-logo--w {
    opacity: 0;
}

.site-header.scrolled img.header-logo--d,
body .site-header--light img.header-logo--w,
body.menu-opened .header-logo img.header-logo--d {
    opacity: 1;
}

.site-header.scrolled img.header-logo--w,
body .site-header--light img.header-logo--d,
body.menu-opened .header-logo img.header-logo--w {
    opacity: 0;
}


/*	burger */

.header-row__column.column-burger {
    width: 48px;
    height: 48px;
    flex: 0 1 48px;
    z-index: 99999;
    justify-content: center;
    background-color: transparent;
}

.header-burger {
    height: 24px;
    width: 36px;
    cursor: pointer;
    position: relative;
    border-radius: 100%;
    transform: scale(0.7);
    background-color: transparent;
}

.header-burger__line {
    right: 0;
    width: 100%;
    height: 2px;
    animation: none;
    position: absolute;
    transform: rotate(0deg);
    animation-duration: 0.65s;
    background-color: var(--e-global-color-primary);
    animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

body:not(.menu-opened) .site-header--light .header-burger__line {
    background-color: #ffffff !important;
}

body .site-header.scrolled .header-burger__line {
    background-color: var(--e-global-color-primary)!important;
}

.header-burger__line:nth-child(1) {
    top: 0;
    animation-name: topreverse;
    animation-fill-mode: forwards;
}

.header-burger__line:nth-child(2) {
    width: 80%;
    bottom: 10px;
    animation-name: bottomreverse;
}

.header-burger__line:nth-child(3) {
    width: 60%;
    bottom: 0;
    animation-name: bottomreverse;
}

.header-burger.is-active > .header-burger__line {
    width: 100%;
    animation-duration: 0.65s;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
}

.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: 45.8333333333%;
    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 */



@keyframes stickySlideDown {
    0% {
        opacity: 0.7;
        transform: translateY(-100%);
    }
    100% {
        opacity: 1;
        transform: translateY(0);
    }
}



/*RESPONSIVE*/

/*phone*/
@media (max-width: 767px) {

    .hide-mobile {
        display: none !important;
    }

    .site-header {
        padding: var(--header-padding-mobile);
    }

}

/*tablet*/
@media (min-width: 768px) and (max-width: 1024px) {

    .hide-tablet {
        display: none !important;
    }

    .site-header {
        padding: var(--header-padding-tablet);
    }

}

/*mobile and tablet*/
@media (max-width: 1024px) {

    .site-header__row--top::before {
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        content: "";
        z-index: 999;
        position: absolute;
        background-color: #ffffff;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10);
    }

    body .site-header--light .site-header__row--top::before {
        box-shadow: none;
        background-color: transparent;
    }

    body.menu-opened .site-header--light .site-header__row--top::before {
        background-color: #ffffff;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10);
    }

    .header-row__column {
        flex: 1 1 0;
    }

    /* menu */
    .header-row__column.column-menu {
        top: 0;
        left: 0;
        gap: 1em;
        opacity: 0;
        z-index: -1;
        width: 100vw;
        height: 100vh;
        display: flex;
        position: fixed;
        visibility: hidden;
        flex-direction: column;
        align-items: flex-start;
        align-content: flex-start;
        transition: 0.5s ease all;
        background-color: #ffffff;
        transform: translateX(-100%);
        justify-content: space-between;
    }

    .header-row__column.column-menu.is-opened {
        opacity: 1;
        z-index: 100;
        visibility: visible;
        transform: translateX(0);
    }

    /* menu */

}


/*desktop*/
@media (min-width: 1025px) {

    .hide-desktop {
        display: none !important;
    }

    .site-header {
        padding: var(--header-padding-desktop);
    }

    .site-header.scrolled {
        background-color: #ffffff;
        box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.10);
        animation: stickySlideDown .8s ease-in-out forwards;
    }

    .header-row__column {
        flex: 1 1 0;
    }

}

/*laptop 1*/
@media (min-width: 1025px) and (max-width: 1439px) {

    .site-header {
        padding: var(--header-padding-sm-laptop);
    }

    .header-row__column.column-logo .header-logo {
        width: 200px;
    }


}

/*laptop 2*/
@media (min-width: 1440px) and (max-width: 1700px) {

    .site-header {
        padding: var(--header-padding-laptop);
    }

}

/*RESPONSIVE*/
