/*Menu global*/

.header {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, .5);
    border-bottom: 1px solid rgba(28, 94, 217, .2);
}

.header__wrapper {
    gap: 40px;
    min-height: 97px;
    padding-top: 20px;
    padding-bottom: 14px;
}

.header__logo {
    width: 365px;
}

#primary-menu {
    justify-content: center;
    position: relative;
    left: -13px;
}

.footer #primary-menu {
    display: block;
    width: fit-content;
    columns: 2 auto;
}

#primary-menu li {
    padding: 0 13px;
    display: list-item;
    transition: all .25s ease-in-out;
    transition: background-color .3s ease-in-out;
}

.footer #primary-menu li {
    padding: 0 89px 9px 28px;
}

#primary-menu li a {
    font-family: var(--font_regular);
    font-size: 20px;
    display: flex;
    align-items: center;
    transition: color .3s ease-in-out;
    white-space: nowrap;
}

.footer #primary-menu li a {
    font-size: 24px;
    text-transform: uppercase;
    transition: color .3s ease-in-out;
}

.footer #primary-menu li a:hover, .footer #primary-menu li a:focus {
    color: var(--black);
    transition: color .3s ease-in-out;
}

.header__contacts {
    margin-bottom: 0;
    margin-top: -16px;
}

.header-bottom__contacts {
    gap: 50px;
}

.header-list__item {
    position: relative;
}

.header-list__item.tel {
    margin-top: -6px;
}

.header-list__item * {
    color: var(--cobalt);
    font-family: var(--font_regular);
    line-height: 1;
}

.footer__contacts .header-list__item {
    padding-left: 32px;
}

.footer__contacts .header-list__item:not(:last-child) {
    margin-bottom: 11px;
}

.footer__contacts .header-list__item * {
    color: var(--white);
}

.header-list__item p {
    font-size: 14px;
}

.footer__contacts .header-list__item p {
    font-size: 16px;
}

.footer__contacts .header-list__item a {
    font-size: 18px;
    transition: color .25s ease-in-out;
}

.footer__contacts .header-list__item a:hover, .footer__contacts .header-list__item a:focus {
    color: var(--black);
    transition: color .25s ease-in-out;
}

.header-list__item a {
    font-size: 16px;
    display: block;
}

.header-list__item::before {
    content: "";
    display: block;
    position: relative;
    top: 15px;
    left: -24px;
    width: 18px;
    height: 18px;
    background-repeat: no-repeat;
    background-position: center left;
    background-size: contain;
}

.header-list__item.address::before {
    background-image: url("../img/geo.svg");
}

.header-list__item.tel::before {
    background-image: url("../img/tel-icon.svg");
}

.footer__contacts .header-list__item.address::before {
    background-image: url("../img/geo-white.svg");
    top: 18px;
    left: -35px;
    width: 23px;
    height: 23px;
}

.footer__contacts .header-list__item.tel::before {
    background-image: url("../img/tel-icon-white.svg");
    top: 18px;
    left: -35px;
    width: 23px;
    height: 23px;
}

.header-center {
    width: fit-content;
}

/*------При наведении-------*/

.header #primary-menu li:hover, .header #primary-menu li:focus, .header #primary-menu li.active {
    background-color: var(--blue);
    transition: all .25s ease-in-out;
}

.header #primary-menu li:hover a, .header #primary-menu li:focus a, .header #primary-menu li.active a {
    color: var(--white);
    transition: all .25s ease-in-out;
}

/*-----Верхний уровень END------*/


/*Burger menu*/
.burger {
    margin-left: auto;
    position: relative;
    z-index: 5;
    height: 30px;
    padding: 0;
    margin: 0;
    background-color: transparent;
    transition: .5s ease-in-out;
    cursor: pointer;

    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
}

.burger, .burger span {
    width: 54px;
    transform: rotate(0deg);

    -webkit-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}

.burger span {
    display: block;
    position: absolute;
    right: auto;
    left: 0;
    height: 4px;
    opacity: 1;
    background: var(--blue);
    transition: .25s ease-in-out;

    -webkit-transition: .25s ease-in-out;
    -moz-transition: .25s ease-in-out;
    -o-transition: .25s ease-in-out;
}

.burger span:first-child {
    top: 0;
}

.burger span:nth-child(2) {
    top: 10px;
    width: 42px;
}

.burger span:nth-child(3) {
    top: 21px;
    width: 34px;
}

.burger-close {
    width: fit-content;
    padding-left: 27px;
    background-color: transparent;
    z-index: 99;
}

.burger-close svg {
    width: 30px;
    height: 30px;
}

.burger-close svg path {
    fill: var(--blue);
}


/*Burger end*/


/*Media*/
@media (min-width:1921px) {
    .header__wrapper {
        gap: 0.8vw;
        min-height: 4.5vw;
        padding-top: 1vw;
        padding-bottom: 0.8vw;
    }

    .header__logo {
        width: 15vw;
    }

    .header__logo img {
        width: 100%;
    }

    #primary-menu li {
        padding: 0 0.5vw;
    }

    #primary-menu li a {
        font-size: 0.8vw;
    }

    .header-list__item::before {
        top: 0.75vw;
        left: -1vw;
        width: 0.8vw;
        height: 0.8vw;
    }

    .header-list__item p {
        font-size: 0.7vw;
    }

    .header-list__item a {
        font-size: 0.75vw;
    }

    .footer__contacts .header-list__item:not(:last-child) {
        margin-bottom: 0.4vw;
    }

    .footer__contacts .header-list__item p {
        font-size: 0.7vw;
    }

    .footer__contacts .header-list__item.address::before {
        top: 0.8vw;
        width: 0.9vw;
        height: 0.9vw;
    }

    .footer__contacts .header-list__item a {
        font-size: 0.8vw;
    }

    .copyright-text, body a.copyright-text {
        font-size: 0.6vw;
    }

    .footer #primary-menu li a {
        font-size: 1vw;
    }
}

@media (max-width:1599px) {
    .header__logo {
        width: 297px;
    }

    .header__wrapper {
        gap: 33px;
    }

    #primary-menu li {
        padding: 4px 12px;
    }

    #primary-menu li a {
        font-size: 18px;
    }

    .header-list__item p {
        font-size: 13px;
    }
}

@media (max-width:1399px) {
    .header .menu-osnovnoe-menyu-container #primary-menu {
        flex-direction: column;
        height: 100%;
    }

    .header #primary-menu {
        left: 0;
    }

    .header-center__nav {
        transform: translateX(-105vw);
        position: fixed;
        width: 486px;
        padding: 30px 0;
        gap: 22px;
        left: 0;
        top: 0;
        z-index: 99;
        height: 100%;
        grid-template-rows: 1fr auto;
        transition: transform .15s ease-in;
        background-color: rgba(255, 255, 255, .96);
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }

    .header-bottom {
        padding-left: 30px;
    }

    .header-center__nav.opened {
        /* display: grid; */
        transform: translateX(0);
        transition: transform .15s ease-in;
    }

    .navbar-content {
        height: calc(100vh - 230px);
    }

    .header #primary-menu li a {
        font-size: 24px;
        min-height: fit-content;
        color: var(--blue);
        text-transform: uppercase;
    }

    .footer #primary-menu li {
        padding: 0 66px 9px 20px;
    }

    .footer #primary-menu li a {
        font-size: 21px;
    }

    .header__wrapper {
        gap: 30px;
        flex-wrap: wrap;
        row-gap: 10px;
        min-height: 53px;
    }

    #primary-menu li.active {
        background: initial;
    }

    .header-center {
        order: -1;
    }

    .header__logo {
        margin-left: -6%;
    }

    .footer__contacts .header-list__item p {
        font-size: 14px;
    }

    .footer__contacts .header-list__item a {
        font-size: 16px;
    }

}

@media (max-width:991px) {
    .hero__text::before, .hero__text::after {
        width: 50px;
        height: 42px;
    }

    .footer__contacts .header-list__item:not(:last-child) {
        margin-bottom: 6px;
    }

    .footer__contacts .header-list__item p {
        font-size: 13px;
    }
}


@media (max-width:930px) and (max-height:420px) {
    .header__tel {
        font-size: 18px;
    }

    .burger-close svg {
        width: 25px;
        height: 25px;
    }

    #primary-menu li a {
        font-size: 17px;
    }

    .header__tel {
        height: 53px;
        padding: 8px 20px;
    }

    .header__wrapper {
        gap: 10px;
        flex-wrap: nowrap;
        padding-top: 15px;
        padding-bottom: 10px;
    }

    .header__tel a {
        font-size: 18px;
    }

    .header-center__nav {
        padding: 54px 0 16px 2px;
    }

    .navbar-content {
        height: calc(100vh - 133px);
    }

    .footer #primary-menu li a, .footer #services-menu li a {
        font-size: 16px;
    }

    .hero__text::before, .hero__text::after {
        width: 40px;
        height: 35px;
    }

    .header {
        background-color: var(--white);
    }
}

@media (max-width:767px) {
    .header__logo {
        width: 43vw;
    }

    .header-center__nav {
        width: 60%;
        border: none;
        padding-left: 0;
    }

    .header__wrapper {
        gap: 10px;
        flex-wrap: nowrap;
    }

    .hero-left .menu-osnovnoe-menyu-container, .hero-left .menu-menyu-v-sajdbare-glavnaya-container {
        margin: 0;
    }

    .footer #primary-menu li a {
        font-size: 20px;
    }

    .footer #primary-menu li {
        padding: 0 56px 9px 14px;
    }

    #primary-menu li a {
        font-size: 20px;
    }

    .burger {
        height: 22px;
    }

    .burger span {
        width: 36px;
        height: 3px;
    }

    .burger-close svg {
        width: 25px;
        height: 25px;
    }

    .burger span:nth-child(2) {
        top: 9px;
        width: 31px;
    }

    .burger span:nth-child(3) {
        width: 20px;
        top: 18px;
    }

    .hero__text::before, .hero__text::after {
        width: 40px;
        height: 35px;
    }

    .hero__text::before {
        top: -9px;
    }

    .header {
        background-color: var(--white);
    }
}

@media (max-width:439px) {
    .header__tel a, .other-pages .header__tel a {
        font-size: 16px;
    }

    .header__logo {
        display: none;
    }

    .footer #primary-menu li a {
        font-size: 18px;
    }
}

@media (max-width:374px) {
    .header__tel a, .other-pages .header__tel a {
        font-size: 15px;
    }

    .burger-close {
        padding-left: 18px;
    }

    #primary-menu li {
        padding: 2px 18px;
    }

    #primary-menu li a {
        font-size: 17px;
    }
}