@font-face {
    font-family: 'HalvarBreit';
    src: url('fonts/HalvarBreit-Md.woff2') format('woff2'),
    url('fonts/HalvarBreit-Md.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Halvar Breitschrift';
    src: local('Halvar Breitschrift BdSlanted'),
    url('fonts/HalvarBreit-BdSlanted.woff2') format('woff2'),
    url('fonts/HalvarBreit-BdSlanted.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'HalvarMittelschrift';
    src: url('fonts/HalvarMittelschrift-Medium.woff2') format('woff2'),
    url('fonts/HalvarMittelschrift-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'HalvarMittelschrift';
    src: url('fonts/HalvarMittelschrift-Regular.woff2') format('woff2'),
    url('fonts/HalvarMittelschrift-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

body {
    font-family: 'HalvarMittelschrift', sans-serif;
    color: #1e1e1e;
    overflow-x: hidden;
}

a {

}

h2 {
    /*font-family: 'HalvarBreit', sans-serif;*/
    font-family: 'Halvar Breitschrift', sans-serif;
}

.container {
    max-width: 1194px;
}

@media (max-width: 991.98px) {

    .container {
        padding: 0 20px;
    }

}


.header {
    transition: all .2s;
}
.header_scrolled {
    background: #1c3d77;
}
.header__wrapper {
    padding-top: 40px;
    transition: all .2s;
}
.header_scrolled .header__wrapper {
    padding-top: 10px;
    padding-bottom: 10px;
}
.header__menu {
    gap: 10px;
}
.header__menu-item {
    font-weight: 500;
    font-size: 18px;
    line-height: 124%;
    text-align: center;
    color: #fff;
    text-decoration: none;
    padding: 13px 20px;
    position: relative;
    cursor: pointer;
    transition: all .2s;
}
.header__menu-item:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid rgba(255, 255, 255, .1);
    transform: skewX(-10deg);
    transition: all .2s;
    z-index: -1;
}
.header__menu-item:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    transform: skewX(-10deg);
    transition: all .2s;
    z-index: -1;
}
.header__menu-item:hover {
    color: #1c3d77;
}
.header__menu-item:hover:after {
    background: #fff;
    width: 100%;
}
.header__menu-item:nth-child(1) {
    min-width: 162px;
}
.header__menu-item:nth-child(2) {
    min-width: 170px
}
.header__menu-item:nth-child(3) {
    min-width: 170px;
}
.header__menu-item:nth-child(4) {
    min-width: 170px
}
.header__hamburger {
    background: url(img/hamburger.svg) no-repeat center / contain;
    width: 29px;
    height: 21px;
}

@media (max-width: 991.98px) {

    .header__wrapper {
        padding-top: 25px;
    }

}


.mobile-menu {
    position: fixed;
    z-index: 1031;
    background: #fff;
    width: 100%;
    height: 100dvh;
    left: 0;
    top: 0;
}
.mobile-menu__top {
    padding-top: 18px;
}
.mobile-menu__logo {
    background: url(img/logo_m.svg) no-repeat left center / contain;
    width: 114px;
    height: 44px;
}
.mobile-menu__close {
    background: url(img/close.svg) no-repeat center / contain;
    width: 22px;
    height: 22px;
}
.mobile-menu__menu {
    padding-top: 40px;
}
.mobile-menu__menu-item {
    font-weight: 400;
    font-size: 26px;
    line-height: 170%;
    text-align: center;
    color: #1e1e1e;
}
.mobile-menu__contacts {
    margin-top: 60px;
}
.mobile-menu__contacts-link {
    font-weight: 400;
    font-size: 16px;
    line-height: 162%;
    text-align: center;
    color: #1e1e1e;
    text-decoration: none;
}


.hero {
    background: #1c3d77;
    height: 871px;
    overflow: hidden;
    position: relative;
}
.hero::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: linear-gradient(90deg,*/
    /*rgba(77, 112, 177, 0.8) 0%,*/
    /*rgba(77, 112, 177, 0.6) 25%,*/
    /*rgba(77, 112, 177, 0.4) 50%,*/
    /*rgba(77, 112, 177, 0.2) 75%,*/
    /*rgba(77, 112, 177, 0.1) 100%);*/
    background: #000;
    opacity: .2;
    z-index: 2;
}
.hero__wrapper {
    padding-top: 228px;
    position: relative;
}
.hero .container {
    position: relative;
    z-index: 3;
    height: 100%;
}

@keyframes colorCycle {
    0%, 100% { fill: #90191D; }
    33% { fill: #A71E22; }
    66% { fill: #C02B26; }
}

.hero__bg1 {
    position: absolute;
    left: calc(50% - 672px);
    top: 161px;
}
.hero__bg1 svg path {
    animation: colorCycle 6s ease-in-out infinite;
}
.hero__bg1 svg path:nth-child(1) { animation-delay: 0s; }
.hero__bg1 svg path:nth-child(2) { animation-delay: 0.5s; }
.hero__bg1 svg path:nth-child(3) { animation-delay: 1s; }
.hero__bg1 svg path:nth-child(4) { animation-delay: 1.5s; }
.hero__bg1 svg path:nth-child(5) { animation-delay: 2s; }
.hero__bg1 svg path:nth-child(6) { animation-delay: 2.5s; }
.hero__bg1 svg path:nth-child(7) { animation-delay: 3s; }
.hero__bg1 svg path:nth-child(8) { animation-delay: 3.5s; }
.hero__bg1 svg path:nth-child(9) { animation-delay: 4s; }
.hero__bg1 svg path:nth-child(10) { animation-delay: 4.5s; }
.hero__bg1 svg path:nth-child(11) { animation-delay: 5s; }
.hero__bg1 svg path:nth-child(12) { animation-delay: 5.5s; }
.hero__bg1 svg path:nth-child(13) { animation-delay: 0s; }
.hero__bg1 svg path:nth-child(14) { animation-delay: 0.5s; }
.hero__bg1 svg path:nth-child(15) { animation-delay: 1s; }
.hero__bg1 svg path:nth-child(16) { animation-delay: 1.5s; }
.hero__bg1 svg path:nth-child(17) { animation-delay: 2s; }
.hero__bg1 svg path:nth-child(18) { animation-delay: 2.5s; }
.hero__bg1 svg path:nth-child(19) { animation-delay: 3s; }
.hero__bg2 {
    position: absolute;
    left: calc(50% - 318px);
    top: 138px;
}
.hero__bg2 img {
    width: 898px;
}
.hero__logo {
    width: 768px;
    z-index: 1;
}
.hero-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    object-fit: cover;
}

@media (max-width: 991.98px) {

    .hero {
        height: 510px;
        overflow: hidden;
    }
    .hero__logo {
        width: 259px;
    }
    .hero__bg2 {
        left: calc(50% - 364px);
        top: 75px;
    }
    .hero__bg2 svg {
        width: 518px;
        height: 472px;
    }
    .hero__bg3 {
        position: absolute;
        left: calc(50% + 48px);
        top: 331px;
    }

}


.about {
    background: #4d70b1;
    z-index: 4;
    position: relative;
    margin-bottom: 66px;
}
.about:before {
    content: '';
    background: url(img/bg_about_top.png) no-repeat center / 100% 100%;
    height: 170px;
    width: 100%;
    position: absolute;
    top: -169px;
    left: 0;
}
.about:after {
    content: '';
    background: url(img/bg_about_bottom.png) no-repeat center / 100% 100%;
    height: 66px;
    width: 100%;
    position: absolute;
    bottom: -65px;
    left: 0;
}
.about h2 {
    font-size: 56px;
    line-height: 97%;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #fff;
    margin-left: -5px;
}
.about__wrapper {
    padding-top: 86px;
    padding-bottom: 119px;
}
.about__text {
    font-size: 26px;
    line-height: 130%;
    color: #fff;
}

@media (max-width: 991.98px) {

    .about:before {
        height: 70px;
        top: -69px;
    }
    .about__wrapper {
        padding-top: 50px;
        padding-bottom: 40px;
    }
    .about h2 {
        font-size: 32px;
        margin-left: 0;
        margin-bottom: 16px;
    }
    .about__text {
        font-size: 18px;
    }
    .about:after {
        height: 40px;
        bottom: -39px;
        left: 0;
    }

}


.projects {
    padding-top: 98px;
}
.projects h2 {
    font-size: 56px;
    line-height: 97%;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #1c3d77;
    margin-bottom: 0;
}
.projects__list {
    margin-top: 74px;
}
.projects__item:not(.projects__item:last-child) {
    margin-bottom: 150px;
}
.projects__item-pic {
    width: 100%;
}
.projects__item-title {
    font-family: 'Halvar Breitschrift', sans-serif;
    font-size: 36px;
    line-height: 97%;
    letter-spacing: -0.04em;
    color: #1e1e1e;
    margin-top: 48px;
}
.projects__item-title:first-letter {
    color: #ff4f37;
}
.projects__item-desc {
    font-size: 26px;
    line-height: 130%;
    margin-top: 32px;
}
.projects__item-desc ul {
    font-size: 20px;
    line-height: 130%;
    max-width: 830px;
    margin-top: 30px;
}
.projects__item-more {
    font-size: 20px;
    color: #1c3d77;
    border-bottom: 1px dashed #1c3d77;
    display: inline-block;
    cursor: pointer;
    margin-top: 15px;
    transition: opacity .3s;
}
.projects__item-more:hover {
    opacity: .8;
}
.projects__item-detail {
    font-size: 20px;
    line-height: 130%;
    margin-top: 32px;
    border-left: 2px solid #1c3d77;
    padding: 5px 0 5px 20px;
    transform-origin: top;
    transform: scaleY(0);
    opacity: 0;
}
.projects__item-detail a {
    color: #1c3d77;
}
.projects__item-detail ul {
    font-size: 20px;
    line-height: 130%;
    max-width: 830px;
}
.projects__item-detail h2,
.projects__item-detail h3 {
    font-size: 20px;
    margin: 30px 0 20px;
    color: #1c3d77;
}
.projects__docs {
    border-top: 1px solid rgba(0, 0, 0, .1);
    border-bottom: 1px solid rgba(0, 0, 0, .1);
    margin-top: 43px;
    padding: 36px 0 38px;
}
.projects__docs h3 {
    font-size: 26px;
    line-height: 97%;
    letter-spacing: -0.04em;
    font-family: 'Halvar Breitschrift', sans-serif;
    margin-bottom: 0;
    margin-top: 7px;
}
.projects__docs-list {

}
.projects__docs-item {
    background: url(img/doc_arrow.svg) no-repeat left 3px top 13px / 16px;
    font-size: 26px;
    line-height: 150%;
    color: rgba(30, 30, 30, .4);
    text-decoration: none;
    transition: all .3s;
    padding-left: 35px;
}
.projects__docs-item:hover {
    color: #1e1e1e;
}
.projects__media {
    padding: 43px 0 0;
}
.projects__media h3 {
    font-size: 26px;
    line-height: 97%;
    letter-spacing: -0.04em;
    font-family: 'Halvar Breitschrift', sans-serif;
    margin-bottom: 38px;
}
.projects__media-photos {
    /*height: 285px;*/
    aspect-ratio: 16 / 9;
    font-size: 28px;
    line-height: 130%;
    color: #fff;
    background-size: cover;
    background-position: center;
    position: relative;
    cursor: pointer;
    transition: all .3s;
}
.projects__media-photos:hover {
    opacity: .8;
}
.projects__media-photos:before {
    content: '';
    background: #000;
    opacity: .4;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.projects__media-photos span {
    position: relative;
}
.projects__media-video {
    /*height: 285px;*/
    aspect-ratio: 16 / 9;
    position: relative;
    cursor: pointer;
    background-size: cover;
    background-position: center;
    transition: all .3s;
}
.projects__media-video:hover {
    opacity: .8;
}
.projects__media-video:before {
    content: '';
    background: #000;
    opacity: .4;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
.projects__media-video span {
    background: rgba(255, 255, 255, .4) url(img/play.svg) no-repeat left 57px top 25px;
    width: 130px;
    height: 130px;
    border-radius: 100%;
    display: block;
    position: relative;
    font-size: 18px;
    line-height: 93%;
    text-align: center;
    padding-top: 63px;
    color: #fff;
}

@media (max-width: 991.98px) {

    .projects {
        padding-top: 35px;
    }
    .projects h2 {
        font-size: 32px;
        padding-left: 29px;
        max-width: 225px;
    }
    .projects__list {
        margin-top: 33px;
    }
    .projects__item:not(.projects__item:last-child) {
        margin-bottom: 50px;
    }
    .projects__item-title {
        font-size: 22px;
        margin-top: 33px;
    }
    .projects__item-desc {
        font-size: 14px;
        margin-top: 20px;
    }
    .projects__item-desc ul {
        font-size: 14px;
    }
    .projects__item-more {
        font-size: 14px;
        margin-top: 10px;
    }
    .projects__item-detail {
        font-size: 14px;
        margin-top: 25px;
        padding: 5px 0 5px 10px;
    }
    .projects__item-detail ul {
        font-size: 14px;
        padding-left: 15px;
    }
    .projects__item-detail h2,
    .projects__item-detail h3 {
        font-size: 16px;
        margin: 20px 0 15px;
    }
    .projects__media-photos {
        /*height: 182px;*/
        font-size: 24px;
    }
    .projects__media-video {
        /*height: 182px;*/
        margin-top: 20px;
    }
    .projects__media-video span {
        background-position: left 50px top 20px;
        width: 110px;
        height: 110px;
        font-size: 14px;
        padding: 58px 10px 0;
    }
    .projects__media h3 {
        font-size: 22px;
        margin-bottom: 20px;
    }
    .projects__docs {
        margin-top: 40px;
        padding: 24px 0;
    }
    .projects__docs h3 {
        font-size: 22px;
        margin-bottom: 20px;
        margin-top: 0;
    }
    .projects__docs-item {
        font-size: 16px;
        padding-left: 20px;
        background-size: 11px auto;
        background-position: 0 center;
    }

}


.partners {
    margin-top: 150px;
}
.partners h2 {
    font-size: 56px;
    line-height: 97%;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #1c3d77;
}
.partners__list {
    margin-top: 52px;
}
.partners__item {
    height: 285px;
    background-color: #f5f5f5;
}
.partners__item_1 span {
    background-size: contain;
    background-repeat: no-repeat;
    width: 325px;
    height: 82px;
    display: block;
}
.partners__item_2 span {
    background-size: contain;
    background-repeat: no-repeat;
    width: 261px;
    height: 120px;
    display: block;
}

@media (max-width: 991.98px) {

    .partners {
        margin-top: 60px;
    }
    .partners h2 {
        font-size: 32px;
        padding-left: 29px;
        margin-bottom: 0;
    }
    .partners__list {
        margin-top: 25px;
    }
    .partners__item {
        height: 182px;
    }
    .partners__item_1 {
        margin-bottom: 20px;
    }
    .partners__item_1 span {
        width: 208px;
        height: 53px;
    }
    .partners__item_2 span {
        width: 167px;
        height: 77px;
    }

}


.footer {
    background: #1c3d77;
    margin-top: 350px;
    position: relative;
    min-height: 290px;
}
.footer:before {
    content: '';
    background: url(img/footer_top.png) no-repeat center / 100% 100%;
    height: 171px;
    width: 100%;
    position: absolute;
    top: -170px;
    left: 0;
}
.footer__bg {
    position: absolute;
    left: 0;
    bottom: 0;
    touch-action: none;
}
.footer__wrapper {
    position: relative;
    padding-top: 70px;
}
.footer h2 {
    font-size: 56px;
    line-height: 97%;
    letter-spacing: -0.04em;
    text-transform: uppercase;
    color: #fff;
}
.footer__contacts {
    gap: 56px;
    padding-top: 10px;
}
.footer__contacts-link {
    font-size: 26px;
    line-height: 130%;
    color: #fff;
    text-decoration: none;
    transition: color .3s;
}
.footer__contacts-link:hover {
    color: #ff4f37;
}

@media (max-width: 991.98px) {

    .footer {
        margin-top: 137px;
        min-height: 220px;
    }
    .footer:before {
        height: 64px;
        top: -63px;
    }
    .footer__wrapper {
        padding-top: 38px;
    }
    .footer__bg {
        width: 100%;
    }
    .footer__bg svg {
        width: 100%;
    }
    .footer h2 {
        font-size: 32px;
        margin-bottom: 0;
    }
    .footer__contacts {
        gap: 7px;
        padding-top: 24px;
    }
    .footer__contacts-link {
        font-size: 18px;
    }

}