body {
    overflow-x: hidden;
}

@media screen and (max-width: 1150px){
    #header{
        z-index: 3;
        position: sticky;
        top: 0;
    }
}

.header_wrapper {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: max(55px, 5.5rem);
    padding: max(16px, 1.6rem) 0;
}
.header_wrapper .custom-logo{
    width: max(90px, 9rem);
}

@media screen and (max-width: 1150px){
    .header_wrapper{
        padding-bottom: max(10px, 1rem);
    }
    .menu__toggler {
        display: flex;
        justify-content: flex-end;
    }
}


.header_wrapper #menu-header{
    gap: max(46px, 4.6rem);
    white-space: nowrap;
}

.header__contact_cta.desktop{
    position: relative;
    gap: 1.2rem;
}

.header__contact_cta.desktop a{
    gap: 1.3rem;
}

.header__contact_cta.desktop a span{
    transition: color .3s ease;
}

.contact_cta__phone{
    display: flex;
    flex-direction: column;
    justify-content: center;
}

@keyframes shake-both-delay {
  0%, 50%, 100% {
    transform: translate(0, 0);
  }
  5%, 30% {
    transform: translate(-1px, -1px);
  }
  10%, 40% {
    transform: translate(1px, 1px);
  }
  15%, 35% {
    transform: translate(-1px, -1px);
  }
  20%, 45% {
    transform: translate(1px, 1px);
  }
  25% {
    transform: translate(0, 0);
  }
}

.header__contact_cta.desktop .flex .contact_cta__icon_wrapper {
  display: inline-block;
}

.header__contact_cta.desktop:hover .contact_cta__icon_wrapper {
  animation: shake-both-delay 1.2s ease-in-out infinite;
}

.header__contact_cta.desktop {
    margin-right: min(-15px, -1.5rem);
    padding: max(15px, 1.5rem);
    transition: .3s ease-in-out background-color, .3s ease-in-out color;
    border-radius: max(5px, 0.5rem);
    cursor: pointer;
    z-index: 2;
}

.header__contact_cta.desktop:hover {
    background-color: var(--color-navy);
}

.header__contact_cta.desktop:hover span {
    color: var(--color-white);
}

.header__contact_cta.desktop:hover .contact_cta__icon_wrapper svg path{
    fill: var(--color-white);
}

@media screen and (min-width: 1150px){
    .contact_cta__icon_wrapper svg{
        width: max(36px, 3.6rem);
        height: max(36px, 3.6rem);
    }
}

.header__contact_cta.mobile .contact_cta__phone span{
    display: flex;
    height: 100%;
    width: 100%;
    align-items: center;
}

.header__contact_cta{
    display: flex;
}

@media screen and (min-width: 1150px) {
    .home .header_wrapper::after {
        content: "";
        position: absolute;
        top: 0;
        left: 100%;
        width: calc((100vw - var(--global-width)) / 2);
        height: 100%;
        background-color: var(--color-light-gray);
        z-index: 1;
    }

    .header__menu_box {
        display: flex;
        flex-direction: column;
    }
    .main-menu {
        gap: max(42px, 4.2rem);
    }
}

.header_wrapper .header__menu_wrapper #menu-header a {
    text-transform: lowercase;
}

.header_wrapper .header__menu_wrapper #menu-header li.current-menu-item a{
    position: relative;
    color: var(--color-green);
}

@media screen and (max-width: 1150px){
    .header_wrapper{
        justify-content: space-between;
    }

    .header__menu_wrapper{
        position: absolute;
        top: 100%;
        left: -150vw;
        justify-content: center;
        height: max-content;
        width: 100vw;
        padding-top: 70px;
        padding-bottom: 70px;
        background-color: var(--color-white);
        overflow: hidden;
        visibility: hidden;
        pointer-events: none;
        transition: left .3s ease, overflow .3s ease, visibility .3s ease;
        z-index: 10;
    }

    .header_wrapper.active .header__menu_wrapper{
        left: calc((100vw - var(--global-width)) / 2 * -1);
        overflow: visible;
        visibility: visible;
        pointer-events: auto;
        flex-direction: column;
    }

    .header__contact_cta.mobile {
        justify-content: center;
        margin-top: 6rem;
    }

    .header__contact_cta.mobile .contact_cta__phone {
        margin-left: max(10px, 1rem);
    } 

    .header_wrapper .header__menu_wrapper #menu-header{
        flex-direction: column;
        font-size: var(--font-size-20);
        gap: 6rem;
        text-align: center;
    }

    .header__contact_cta.desktop{
        display:none;
    }
}

@media screen and (min-width: 1150px){
    #header .menu__toggler{
        display: none;
    }

    .header__contact_cta.mobile{
        display: none;
    }
}

#header .mobile_menu__btn {
    display: flex!important
}

#header .mobile_menu__btn:not(.opened)+.mm_menus_ul {
    transform: translateX(-250vw)
}

#header .mobile_menu__btn {
    background-color: transparent;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    padding: 0;
    cursor: pointer;
    outline: none!important
}

#header .mobile_menu__btn span {
    font-size: 17px;
    color: var(--mr_color__white);
    font-weight: var(--mr_fontweight__semibold);
    text-transform: uppercase;
    padding-top: 0
}

#header .mobile_menu__btn .line {
    fill: none;
    stroke: #fff;
    transition: stroke-dasharray 600ms cubic-bezier(.4,0,.2,1),stroke-dashoffset 600ms cubic-bezier(.4,0,.2,1)
}

#header .mobile_menu__btn .line1 {
    stroke-dasharray: 60 207;
    stroke-width: 6
}

#header .mobile_menu__btn .line2 {
    stroke-dasharray: 60 60;
    stroke-width: 6
}

#header .mobile_menu__btn .line3 {
    stroke-dasharray: 60 207;
    stroke-width: 6
}

#header .mobile_menu__btn .line {
    stroke: var(--color-white)
}

#header .mobile_menu__btn.opened .line1 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6
}

#header .mobile_menu__btn.opened .line2 {
    stroke-dasharray: 1 60;
    stroke-dashoffset: -30;
    stroke-width: 6
}

#header .mobile_menu__btn.opened .line3 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6
}


/* footer */

.footer__copyrights {
    border-top: 1px solid var(--color-border-gray);
    padding: max(30px, 3rem) 0;
}

.footer__copyrights .cont {
    justify-content: space-between;
}

.footer__copyrights p, .footer__copyrights a {
    transition: color .3s;
    padding: 0;
    margin: 0;
}

.footer {
    margin-top: max(70px, 7rem);
}

.footer__content-wrapper {
    justify-content: space-between;
    gap: max(90px, 9rem);
    padding-bottom: max(50px, 5rem);
}

.footer__logo img {
    max-width: max(108px, 10.8rem);
    margin-bottom: max(20px, 2rem);
}

.footer a:hover {
    text-decoration: none;
}

.footer__logo-text {
    line-height: max(25px, 2.5rem);
    width: max(290px, 29rem);
    margin-top: 0;
}

.footer__title {
    margin-top: max(5px, 0.5rem);
    margin-bottom: max(15px, 1.5rem);
    width: max-content;
    max-width: max(170px, 17rem);
}

.footer__text {
    margin: 0;
    max-width: max(330px, 33rem);
    min-width: max(260px, 26rem);
}

.footer__logo-content {
    margin-right: max(60px, 6rem);
}

.footer .menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer .menu-item {
    padding-top: max(5px, 0.5rem);
    padding-bottom: max(16px, 1.6rem);
}

.footer__contact {
    padding-top: max(5px, 0.5rem);
}

.footer__contact span {
    padding-bottom: max(10px, 1rem);
    display: block;
}

.footer__contact-item {
    padding-bottom: max(15px, 1.5rem);
}

.footer__contact-item a {
    display: block;
    padding-bottom: max(12px, 1.2rem);
    transition: .3s color;
    width: max-content;
}

.footer__contact-item a:hover, .footer__copyrights a:hover {
    color : var(--color-navy);
}

.footer__contact-item:last-of-type {
    padding-bottom: max(20px, 2rem);
}

.footer a {
    transition: color .3s;
}

@media screen and (max-width: 1240px) {
    .footer__logo-content {
        margin-right: 0;
    }

    .footer__content-wrapper {
    gap: max(40px, 4rem);
    }

    .footer__title {
        max-width: unset;
        width: auto;
    }
}

@media screen and (max-width: 1024px) {
    .footer__content-wrapper {
        flex-wrap: wrap;
    }
    .footer__content-item {
        flex: 1 1 calc(50% - max(40px, 4rem));
    }
}

@media screen and (max-width: 560px) {
    .footer__logo, .footer__logo-text {
        margin: 0 auto;
        text-align: center;
    }

    .footer__content-item:nth-of-type(2), .footer__content-item:nth-of-type(3) {
        text-align: center;
    }

    .footer__content:nth-of-type(2) .footer__text {
        margin-left: auto;
        margin-right: auto;
    }

    .footer__content .footer__title, .footer__content  .menu-item {
        text-align: center;
    }

    .footer__contact .btn--cta {
        margin: 0 auto;
    }

    .footer__copyrights .cont{
        text-align: center;
        flex-direction: column;
        align-items: center;
        gap: max(15px, 1.5rem);
    }

    .footer__contact-item a {
        margin: 0 auto;
    }

    .footer__title {
        width: max-content;
        margin-left: auto;
        margin-right: auto;
    }
}