@font-face {
    font-family: "Open Sans";
    src: local("Open Sans Light"), url(../fonts/OpenSans/OpenSansLight/OpenSansLight.woff) format("woff"), url(../fonts/OpenSans/OpenSansLight/OpenSansLight.ttf), url(../fonts/OpenSans/OpenSansLight/OpenSansLight.eot);
    font-style: normal;
    font-weight: 300
}

@font-face {
    font-family: "Open Sans";
    src: local("Open Sans Regular"), url(../fonts/OpenSans/OpenSansRegular/OpenSansRegular.woff) format("woff"), url(../fonts/OpenSans/OpenSansRegular/OpenSansRegular.ttf), url(../fonts/OpenSans/OpenSansRegular/OpenSansRegular.eot);
    font-style: normal;
    font-weight: 400
}

@font-face {
    font-family: "Open Sans";
    src: local("Open Sans Regular Italic"), url(../fonts/OpenSans/OpenSansRegularItalic/OpenSansRegularItalic.woff) format("woff"), url(../fonts/OpenSans/OpenSansRegularItalic/OpenSansRegularItalic.ttf), url(../fonts/OpenSans/OpenSansRegularItalic/OpenSansRegularItalic.eot);
    font-style: italic;
    font-weight: 400
}

@font-face {
    font-family: "Open Sans";
    src: local("Open Sans Semi Bold"), url(../fonts/OpenSans/OpenSansSemiBold/OpenSansSemiBold.woff) format("woff"), url(../fonts/OpenSans/OpenSansSemiBold/OpenSansSemiBold.ttf), url(../fonts/OpenSans/OpenSansSemiBold/OpenSansSemiBold.eot);
    font-style: normal;
    font-weight: 500
}

@font-face {
    font-family: "Open Sans";
    src: local("Open Sans Semi Bold Italic"), url(../fonts/OpenSans/OpenSansSemiBoldItalic/OpenSansSemiBoldItalic.woff) format("woff"), url(../fonts/OpenSans/OpenSansSemiBoldItalic/OpenSansSemiBoldItalic.ttf), url(../fonts/OpenSans/OpenSansSemiBoldItalic/OpenSansSemiBoldItalic.eot);
    font-style: italic;
    font-weight: 500
}

@font-face {
    font-family: "Open Sans";
    src: local("Open Sans Bold"), url(../fonts/OpenSans/OpenSansBold/OpenSansBold.woff) format("woff"), url(../fonts/OpenSans/OpenSansBold/OpenSansBold.ttf), url(../fonts/OpenSans/OpenSansBold/OpenSansBold.eot);
    font-style: normal;
    font-weight: 700
}

@font-face {
    font-family: "Open Sans";
    src: local("Open Sans Bold Italic"), url(../fonts/OpenSans/OpenSansBoldItalic/OpenSansBoldItalic.woff) format("woff"), url(../fonts/OpenSans/OpenSansBoldItalic/OpenSansBoldItalic.ttf), url(../fonts/OpenSans/OpenSansBoldItalic/OpenSansBoldItalic.eot);
    font-style: italic;
    font-weight: 700
}

::-webkit-scrollbar {
    width: 0
}

*,
::after,
::before {
    margin: 0;
    padding: 0;
    box-sizing: border-box
}

body,
html {
    height: 100%
}

html {
    font-family: sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    font-size: 55%
}

@media (min-width:768px) {
    html {
        font-size: 62.5%
    }
}

body {
    font-family: "Open Sans", sans-serif;
    color: #231f20;
    background: #fff;
    font-size: 1.4rem;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: hidden;
    margin: 0
}

h3 {
    font-size: 1.1vw
}

.btn:focus,
a:focus {
    outline: 0
}

ol,
ul {
    padding: 0;
    list-style-type: none
}

svg:not(:root) {
    overflow: hidden
}

.preloader {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    z-index: 101
}

.preloader-line {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20%;
    height: 5px;
    background-color: #f3f3f3
}

.preloader-line-progress {
    position: absolute;
    top: 0;
    left: 0;
    width: 0%;
    height: 5px;
    background-color: #fa0cab;
    animation: progress-bar 2s ease-in-out;
    animation-fill-mode: forwards
}

@keyframes progress-bar {
    100% {
        width: 100%
    }
}

.visually-hidden {
    width: 0;
    height: 0;
    font-size: 0
}

.btn-wrap {
    text-align: center
}

.btn {
    display: inline-block;
    position: relative;
    text-transform: uppercase;
    line-height: 3.5em;
    font-weight: 400;
    border: 0;
    cursor: pointer;
    font-size: 1.4rem;
    text-align: center;
    transition: all .2s ease-in-out;
    padding: 0 1.5em;
    color: #5252d4;
    border: 2px solid #5252d4;
    border-radius: 1em;
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    background: 0 0;
    padding: 0 1.8em;
    min-width: 25vh;
    height: 7vh
}

.btn-white {
    border-color: #fff;
    background-color: #fff;
    color: #fa0cab;
    font-size: .65vw;
    border: 1px solid #ccc;
    border-radius: 2em;
    line-height: 7.2vh;
    letter-spacing: .15em;
    box-shadow: 0 5px 20px 0 rgba(0, 0, 0, .1)
}

@media screen and (min-width:768px) {

    .btn-white:focus,
    .btn-white:hover {
        background-color: #fa0cab;
        color: #fff;
        border-color: rgba(255, 255, 255, .5)
    }

    a:focus,
    a:hover {
        color: #fff
    }
}

@media (max-width:1366px) {

    .btn,
    .btn-white {
        padding: 0 18px;
        font-size: 8px;
        line-height: 35px;
        height: auto
    }

    .project .btn {
        min-width: 27.7vh
    }

    .project-page .project .btn {
        min-width: 100%;
        margin-top: .2vw
    }
}

@media screen and (max-width:1100px) {
/*     .preloader {
    display: none !important
} */

    .project .btn {
        min-width: inherit
    }

    h3 {
        font-size: 18px
    }
}

a {
    color: #fff;
    text-decoration: none;
    transition: all .25s ease-in-out
}

img {
    max-width: 100%
}

#container {
    position: relative
}

#main {
    position: relative;
    min-height: 100vh;
    height: auto;
    z-index: 5
}

@media (min-width:768px) {
    #main {
        width: 100vw;
        margin: 0 auto
    }
}

@media screen and (max-width: 767px) {
    #main {
        margin-top: 35px;
    }
}

.header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    z-index: 10;
    height: 7rem
}

@media (min-width:768px) {
    .header {
        background: 0 0;
        height: auto;
        top: 20px
    }
}

@media (max-width:1100px) {
    .header {
        background: #fff
    }
}

.header-contact {
    position: fixed;
    top: 8.5vw;
    left: 2.5vw;
    display: flex;
    flex-direction: column;
}

.header-contact a {
    display: flex;
    align-items: center;
    height: 2vw;
    font-weight: 800;
    font-size: 1vw;
    color: #000000;
}

.project-page .header-contact a {
    color: #ffffff;
}

.header-contact a span {
    display: flex;
}

.header-contact a svg {
    width: 1.2vw;
    height: 1.2vw;
    margin-right: 0.8vw;
    fill: #3e2068;
    transition: 0.3s;
}

.project-page .header-contact a svg {
    fill: #ffffff;
}

.project-page .header-contact a:hover svg,
.project-page .header-contact a:focus svg,
.header-contact a:hover svg,
.header-contact a:focus svg {
    fill: #fa0cab;
}

.header-social {
    position: fixed;
    left: 2vw;
    bottom: 7vw;
    display: flex;
    flex-direction: column;
}

.project-page .header-social {
    display: flex;
    flex-direction: row;
    left: auto;
    right: 6vw;
    bottom: 1vw;
}

.header-social a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 3.5vw;
    height: 1.5vw;
    margin-top: 0.7vw;
}

.project-page .header-social a {
    height: 3.5vw;
    margin-top: 0;
}

.header-social a svg {
    fill: #3e2068;
    width: 1.2vw;
    height: 1.2vw;
    transition: 0.3s;
}

.project-page .header-social a svg {
    fill: #ffffff;
}

.header-social a:hover svg,
.header-social a:focus svg {
    fill: #fa0cab;
}

@media screen and (max-width:1100px) {
    .header-contact {
        top: 85px;
        left: 20px;
    }
    .header-contact a {
        height: 22px;
        font-size: 11px;
    }
    .header-contact a svg {
        width: 14px;
        height: 14px;
        margin-right: 8px;
    }
    .header-social {
        left: 20px;
        bottom: 75px;
    }
    .project-page .header-social {
        left: 20px;
        right: auto;
        bottom: 75px;
        flex-direction: column;
        z-index: 2;
    }
    .header-social a,
    .project-page .header-social a,
    .direction-menu-icon {
        width: 45px;
        height: 45px;
        margin-top: 10px;
        background-color: #fa0cab;
        box-shadow: 0 0 10px #3e2068;
        border-radius: 50%;
    }
    .header-social a svg {
        width: 13px;
        height: 13px;
        fill: #ffffff;
    }
    .header-social a:hover svg,
    .header-social a:focus svg {
        fill: #3e2068;
    }
}

@media screen and (max-width: 1000px) {
    .project-page .header-contact {
        top: 30px;
        left: 160px;
    }
}

@media screen and (max-width: 768px) {
    .header-contact {
        flex-direction: row;
        justify-content: center;
        width: 100%;
        top: 60px;
        left: 0;
        padding-bottom: 10px;
        background-color: #ffffff;
    }
    .header-contact a {
        margin: 0 5px;
    }
    .project-page .header-contact {
        left: 0;
        top: 60px;
    }
    .project-page .header-contact a {
        color: #000000;
    }
    .project-page .header-contact a svg {
        fill: #3e2068;
    }
}

.logo {
    position: absolute;
    left: 8.5%;
    top: .8rem;
    width: 2.8rem;
    display: block;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    overflow: hidden;
    height: 6rem;
    transition: .3s
}

.logo-filter {
    filter: brightness(0) invert(1)
}

@media (min-width:768px) {
    .logo {
        left: 8.2%;
        top: 4.5vh;
        width: 11.6vw;
        height: auto;
        overflow: visible
    }

    .logo img {
        width: 100%
    }
}

@media screen and (max-width:1100px) {
    .logo {
        width: 120px;
        top: 15px;
        left: 80px
    }
}

.menu-opener {
    display: block;
    position: absolute;
    top: 2.5rem;
    right: 2.5%;
    height: 1.05vw;
    padding-right: 1.922vw;
    line-height: 1.05vw;
    cursor: pointer
}

@media (min-width:768px) {
    .menu-opener {
        top: 6.1vh
    }
}

@media screen and (max-width:1100px) {
    .menu-opener {
        top: 20px;
        right: 25px;
        height: 14px;
        padding-right: 22px;
        line-height: 11px
    }
}

.menu-opener i {
    font-style: normal;
    color: #000;
    font-weight: 700;
    text-transform: uppercase;
    transition: color .25s ease-in-out;
    display: none;
    font-size: .76867vw
}

@media (min-width:1101px) {
    .menu-opener i {
        display: inline
    }
}

.menu-opener span {
    display: block;
    right: 0;
    top: 0;
    width: 25px;
    height: 4px;
    background-color: #fff;
    position: absolute;
    transition: all .25s ease-in-out;
    border-radius: 3px
}

.menu-opener span:after,
.menu-opener span:before {
    display: block;
    width: 25px;
    height: 4px;
    background-color: #fff;
    content: '';
    left: 0;
    position: absolute;
    border-radius: 3px
}

.menu-opener span:before {
    top: 8px;
    transition: all .25s ease-in-out
}

.menu-opener span:after {
    top: 16px;
    transition: all .25s ease-in-out
}

.menu-opener .hamburger {
    position: absolute;
    right: 0;
    top: 0;
    overflow: hidden;
    width: 1.373vw;
    height: 1.099vw
}

.menu-opener .hamburger .hb-line {
    position: absolute;
    width: 1.373vw;
    height: .22vw;
    background-color: #000;
    border-radius: 3px
}

.menu-opener .hamburger .hb-line-1 {
    top: 0
}

.menu-opener .hamburger .hb-line-2 {
    top: .4392385vw
}

.menu-opener .hamburger .hb-line-3 {
    top: .87848vw
}

@media screen and (max-width:1100px) {
    .menu-opener i {
        font-size: 12px
    }

    .menu-opener .hamburger {
        width: 25px;
        height: 20px
    }

    .menu-opener .hamburger .hb-line {
        width: 100%;
        height: 3px
    }

    .menu-opener .hamburger .hb-line-2 {
        top: 8px
    }

    .menu-opener .hamburger .hb-line-3 {
        top: 16px
    }
}

.nav-wrap {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    display: none;
    opacity: 0;
    transition: .2s;
    z-index: 1
}

.nav-wrap-inner {
    content: "";
    position: absolute;
    top: 6%;
    left: 6%;
    display: flex;
    width: 88%;
    height: 88%;
    padding: 6vh 4vw;
    background-color: #fa0cab;
    box-shadow: 0 0 40px rgba(138, 138, 138, .61);
    transition: .5s ease
}

.nav-wrap .menu-closer {
    position: absolute;
    top: 2vw;
    right: 0;
    transform: rotate(270deg);
    width: 7vw;
    height: 5.6vw;
    font-size: .8vw;
    pointer-events: auto
}

.video {
    width: auto;
    height: 28.5vh
}

.menu-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-top: 0;
    margin-bottom: 5vh
}

.menu-item {
    margin-bottom: 1.5vh;
    font-size: 2.1vw;
    font-weight: 800;
    text-transform: uppercase;
    color: #fff
}

.menu-item a {
    position: relative
}

.menu-item a::after {
    content: "";
    position: absolute;
    left: 0;
    top: 100%;
    width: 0%;
    height: 1px;
    background-color: #fff;
    transition: .3s
}

.menu-item.active a::after {
    width: 100%
}

@media screen and (min-width:768px) {

    .menu-item a:focus::after,
    .menu-item a:hover::after {
        width: 100%
    }
}

.menu-column {
    flex-shrink: 0
}

.menu-column-1 {
    width: 45%
}

.menu-column-2 {
    width: 30%
}

.menu-column-3 {
    width: 25%
}

.menu-column .h1 {
    margin-top: .5vw;
    text-transform: uppercase;
    color: #fff;
    font-size: 3.42vw;
    font-weight: 800;
    line-height: 3.5vw;
    text-shadow: 0 0 20px #bd2554
}

.nav-wrap-inner .social-item a svg {
    fill: #fff
}

@media screen and (min-width:768px) {

    .nav-wrap-inner .social-item a:focus svg,
    .nav-wrap-inner .social-item a:hover svg {
        fill: #3e2068
    }
}

.menu-contact {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start
}

.menu-contact .contact,
.menu-contact .socials {
    width: 45%;
    margin-top: 3vh;
    padding-right: 3vw
}

.menu-contact .contact p {
    margin-bottom: .5vw
}

.menu-contact h5 {
    font-size: .8vw
}

.lang {
    position: fixed;
    right: 2vw;
    bottom: 2vw;
    margin-right: .5vw;
    margin-bottom: .2vw;
    color: #000;
    font-weight: 700;
    font-size: .76867vw
}

.lang-wrap {
    position: absolute;
    bottom: 50%;
    opacity: 0;
    pointer-events: none;
    transition: .5s
}

.lang:hover .lang-wrap {
    bottom: 100%;
    opacity: 1;
    pointer-events: auto
}

.lang-wrap a {
    display: block;
    padding-bottom: .1vw;
    color: #000;
    transition: .3s
}

.lang-wrap a:hover,
.project-page .lang-wrap a:hover {
    transform: scale(1.2)
}

@media screen and (max-width:1100px) {
    .lang {
        margin-right: 7px;
        margin-bottom: 1px;
        font-size: 15px;
        letter-spacing: 1px;
        right: 15px;
        bottom: 20px
    }

    .lang span {
        display: none
    }

    .lang-wrap {
        position: relative;
        opacity: 1
    }
}

.project-page .lang,
.project-page .lang-wrap a {
    color: #fff;
    padding-top: .2vw
}

.site img {
    filter: brightness(0) invert(1)
}

.copyright {
    position: absolute;
    right: 1vw;
    bottom: 1.5vw
}

.contact-form {
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background-color: #fff;
    box-shadow: 0 0 .2vw rgba(0, 0, 0, 1);
    z-index: 100;
    color: #5252d4;
    font-family: "Open Sans", sans-serif;
    -webkit-transform: translateX(99.7%);
    -ms-transform: translateX(99.7%);
    transform: translateX(99.7%);
    overflow: auto;
    padding: 1em;
    -webkit-overflow-scrolling: touch
}

.contact-form::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url(../img/cosmonaut.png);
    background-position: bottom right;
    background-repeat: no-repeat;
    background-size: 35%;
    filter: grayscale(1);
    opacity: .1;
    pointer-events: none
}

.contact-info {
    display: flex;
    flex-direction: column;
    margin-top: 6vw;
    margin-left: auto;
}

.contact-info-left {
    padding-left: 12vw;
    padding-right: 2vw;
}

.contact-info a,
.contact-info p {
    width: 60%;
    margin-bottom: 1vw;
    font-family: "Open Sans", sans-serif;
    font-size: 1.2vw;
    line-height: 2vw;
    color: #262626
}

.contact-info-left p {
    width: 100%;
}

.contact-form h2 {
    transform: rotate(270deg) translateY(-50%);
    position: absolute;
    top: 50%;
    left: -4vw;
    text-transform: uppercase;
    font-size: 2.5vw;
    color: #3e2068
}

.contact-info h4 {
    margin-bottom: 1vw;
    font-size: 2vw;
    color: #3e2068
}

.close-btn {
    position: absolute;
    top: 2.5vw;
    right: 2vw;
    width: 5.5vw;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    letter-spacing: .03vw;
    font-size: .76867vw;
    text-transform: uppercase;
    text-align: left;
    background-color: transparent;
    border: none;
    outline: 0;
    cursor: pointer
}

.close-btn::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%) rotate(0);
    width: 1.373vw;
    height: 1.099vw;
    background-image: url(../img/cross.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    transition: .3s
}

@media screen and (min-width:768px) {

    .close-btn:focus::after,
    .close-btn:hover::after {
        transform: translateY(-50%) rotate(90deg)
    }
}

@media screen and (max-width:767px) {

    .project-page .lang,
    .project-page .lang-wrap a {
        color: #000
    }
}

.contact-inner {
    display: flex
}

.contact-info,
form {
    flex-shrink: 0;
    width: 50%
}

.form {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: flex-start;
    width: 21vw;
    height: 100vh;
    margin: 0 15vw;
    padding: 5vw 0
}

.form label {
    width: 100%
}

.form input[type=email],
.form input[type=tel],
.form input[type=text],
.form textarea {
    width: 100%;
    height: 3vw;
    padding: 0;
    padding-top: .5vw;
    padding-bottom: 2vw;
    font-family: "Open Sans", sans-serif;
    font-size: 1.2vw;
    border: none;
    border-bottom: 2px solid #bebebe;
    resize: none;
    outline: 0;
    color: #bebebe;
    transition: .3s
}

.form input[type=email]:focus,
.form input[type=tel]:focus,
.form input[type=text]:focus,
.form textarea:focus {
    border-color: #fa0cab;
    color: #fa0cab
}

.form input[type=email]:-internal-autofill-selected,
.form input[type=tel]:-internal-autofill-selected,
.form input[type=text]:-internal-autofill-selected {
    -webkit-box-shadow: inset 0 0 0 50px #fff;
    -webkit-text-fill-color: #bebebe;
    transition: none;
}

.form input[type=email]:invalid,
.form input[type=tel]:invalid,
.form input[type=text]:invalid,
.form textarea:invalid {
    box-shadow: none;
}

.form textarea {
    height: 7vw
}

.contact-form::before {
    content: "";
    position: absolute;
    width: 3.5vw;
    height: 14.5vh;
    background-color: #fff;
    border-radius: 0;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1
}

.contact-form.opened:before {
    margin-left: 0
}

.contact-form .form-opener {
    position: absolute;
    left: 0;
    top: 50%;
    background-color: #fff;
    box-shadow: 0 0 .2vw rgba(0, 0, 0, .4);
    height: 3.5vw;
    border-radius: .4vw;
    width: 3.5vw;
    -webkit-transform: translateX(-40%) translateY(-50%) rotate(-45deg);
    -ms-transform: translateX(-40%) translateY(-50%) rotate(-45deg);
    transform: translateX(-40%) translateY(-50%) rotate(-45deg);
    display: none
}

@media (min-width:1101px) {
    .contact-form .form-opener {
        display: block
    }
}

.contact-form .form-opener a {
    color: #eb1536;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    display: block;
    text-align: left;
    line-height: 5.5rem;
    position: relative;
    top: 50%
}

.contact-form .form-opener::before {
    content: "";
    position: absolute;
    width: 2.5vw;
    height: 2.5vw;
    border-radius: 0;
    left: 0;
    top: 0;
    background-image: url(../img/bow-tie.svg);
    background-position: .5vw center;
    background-repeat: no-repeat;
    background-size: 1vw;
    transform: rotate(45deg)
}

.contact-form .form-opener span {
    position: absolute;
    color: #000;
    white-space: nowrap;
    letter-spacing: 0;
    top: 50%;
    -webkit-transform: translateX(-57%) translateY(-50%) rotate(-90deg);
    -ms-transform: translateX(-57%) translateY(-50%) rotate(-90deg);
    transform: translateX(-57%) translateY(-50%) rotate(-90deg);
    transition: opacity .25s ease-in-out;
    text-align: center;
    width: 14em;
    height: 5vw;
    font-weight: 700;
    font-size: .77vw;
    line-height: 3vw;
    text-transform: uppercase
}

.direction-holding {
    position: fixed;
    left: 2vw;
    bottom: 2vw
}

.direction-menu-icon {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 3.5vw;
    height: 3.5vw;
    border-radius: 50%;
    overflow: hidden;
    padding: 10px;
    background-color: #fa0cab;
    transition: .3s
}

.direction-menu-icon:hover {
    background-color: #3e2068
}

.direction-list-wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fff;
    opacity: 0;
    transition: .3s;
    pointer-events: none;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center
}

.direction-menu-icon.opened + .direction-list-wrap {
    pointer-events: auto
}

.direction-list {
    position: fixed;
    top: 6%;
    left: 6%;
    font-size: 2.2vw;
    font-weight: 800;
    text-transform: uppercase;
    width: 88%;
    height: 88%;
    padding: 80px;
    background-color: #fa0cab;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start
}

.direction-list a {
    position: relative;
    display: flex;
    align-items: center;
    margin-bottom: 25px
}

.direction-list img {
    filter: brightness(0) invert(1);
    margin-right: 20px
}

.direction-list a::after {
    content: "";
    position: absolute;
    left: 75px;
    top: 100%;
    width: 0%;
    height: 1px;
    background-color: #fff;
    transition: .3s
}

.direction-list a:hover::after {
    width: calc(100% - 75px)
}

.direction-holding .menu-closer {
    position: absolute;
    top: 2vw;
    right: 0;
    transform: rotate(270deg);
    width: 7vw;
    height: 5.6vw;
    font-size: .8vw;
    pointer-events: none;
}

.direction-holding .direction-menu-icon.opened ~ .direction-list-wrap .menu-closer {
    pointer-events: auto;
}

@media (min-width:768px) {
    .contact-form {
        width: 80%;
        padding: 0 30px;
        overflow: visible
    }
}

@media screen and (max-width:1100px) {
    .contact-form {
        width: 100%
    }

    .contact-form::before {
        width: 36px;
        height: 57px;
        left: 1px
    }

    .contact-form h2 {
        left: -39px;
        font-size: 22px
    }

    .contact-form .form-opener span {
        width: 14em;
        height: 14px;
        font-size: 8px;
        line-height: 0
    }

    .close-btn {
        top: 20px;
        right: 20px;
        width: 25px;
        height: 25px;
        font-size: 0
    }

    .close-btn::after {
        width: 25px;
        height: 25px
    }

    .form input[type=email],
    .form input[type=tel],
    .form input[type=text],
    .form textarea {
        height: 35px;
        padding-top: 7px;
        padding-bottom: 7px;
        font-size: 12px
    }

    .form textarea {
        height: 50px
    }

    .direction-holding {
        left: 20px;
        bottom: 20px
    }

    .direction-menu-icon {
        width: 45px;
        height: 45px;
        padding: 8px
    }

    .direction-list {
        font-size: 19px
    }
}

@media screen and (max-width:960px) {

    .direction-holding .menu-closer,
    .nav-wrap .menu-closer {
        top: 50px;
        right: -15px;
        width: 90px;
        height: 16px;
        filter: invert(1)
    }

    .direction-holding .close-btn,
    .nav-wrap .close-btn {
        top: -5px;
        right: 10px
    }

    .direction-list,
    .nav-wrap-inner {
        flex-direction: column;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        padding: 20px;
        padding-bottom: 0;
        overflow: auto
    }

    .menu-column {
        width: 100%
    }

    .menu-column-2 {
        order: -1
    }

    .menu-list {
        margin-bottom: 25px
    }

    .menu-item {
        margin-bottom: 10px;
        font-size: 22px
    }

    .menu-item a::after {
        height: 1px
    }

    .video {
        width: 100%;
        height: auto
    }

    .menu-column .h1 {
        margin-top: 9px;
        font-size: 23px;
        line-height: 35px
    }

    .menu-contact {
        flex-direction: column
    }

    .menu-contact .contact,
    .menu-contact .socials {
        width: 100%;
        margin-top: 10px;
        padding-right: 0
    }

    .menu-contact .contact {
        margin-bottom: 20px
    }

    .nav-wrap .site p,
    .nav-wrap .socials p {
        text-align: left
    }

    .menu-contact .social-list {
        justify-content: flex-start
    }

    .menu-contact .contact p {
        text-align: left
    }

    .copyright {
        position: relative;
        left: 66px;
        bottom: 0;
        width: 0;
        margin-top: 20px;
        margin-bottom: 20px
    }

    .contact-form h2 {
        position: relative;
        top: 9px;
        left: 0;
        font-size: 18px;
        transform: rotate(0)
    }

    .contact-form::after {
        display: none
    }

    form {
        width: 100%;
        margin: 0;
        margin-top: 17px;
        z-index: 10
    }

    .contact-info {
        display: none
    }

    .form {
        align-items: center;
        width: 100%;
        height: 100%;
        margin: 0
    }

    .form label {
        margin-bottom: 20px
    }

    .contact-info a,
    .contact-info p {
        margin-bottom: 12px;
        font-size: 11px;
        line-height: 16px
    }
}

.layer {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%
}

.layer-zoomable {
    position: relative;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh
}

#scene {
    height: 100%;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    margin: 0
}

.scene-line {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh
}

.line {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 1px;
    height: 100%;
    background-color: #eee
}

.line-1 {
    left: 19.8vw
}

.line-2 {
    left: 39.8vw
}

.line-3 {
    left: 59.8vw
}

.line-4 {
    left: 79.8vw
}

.scene {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    margin: 0
}

@media screen and (max-width:1100px) {
    .scene-line {
        width: 100%;
        height: 100%
    }
}

.layer-redbox {
    position: absolute;
    background-color: #fa0cab;
    height: 80.5vh;
    width: 65vw;
    box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .15);
    top: 50%;
    left: 50%;
    z-index: 15
}

@media (min-width:768px) {
    .layer-redbox {
        width: 39.2vh;
        left: 30%;
        top: 7.5vh
    }
}

@media screen and (max-width:767px) {
    .layer-redbox {
        height: 80%;
        width: 100%;
        max-width: 255px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%)
    }
}

.layer-redbox.layer-mask {
    overflow: hidden;
    background-color: transparent;
    box-shadow: none;
    width: 60vh;
    left: 30%
}

.layer-redbox.layer-mask.layer-descr {
    width: 39.2vh
}

.layer > .layer-inner-text {
    top: -29.6vh;
    left: 35.3%
}

.layer-redbox.layer-mask .redbox-inner-text {
    position: absolute;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
    left: 50%;
    height: 80vh;
    width: 65vw
}

@media (min-width:768px) {
    .layer-redbox.layer-mask .redbox-inner-text {
        width: 39.2vh;
        left: 40%;
        top: 10vh;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%)
    }
}

@media screen and (max-width:767px) {
    .layer-redbox.layer-mask.layer-descr {
        height: 80%;
        width: 100%;
        max-width: 255px
    }

    .layer-redbox.layer-mask {
        max-width: 255px;
        left: 50%;
        z-index: 99999
    }

    .layer-redbox.layer-mask .redbox-inner-text {
        width: 100%
    }

    .layer > .layer-inner-text {
        top: 15%;
        left: 50%
    }
}

.layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage {
    position: absolute;
    width: 100vw;
    height: 100vh;
    top: -10vh;
    left: calc(-35vw / 2)
}

.layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 45.8vh;
    left: 10.5%;
    z-index: 99999;
    display: none
}

.layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black p {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    color: #fff;
    font-size: 12vw;
    line-height: .9em;
    letter-spacing: -.2vw;
    text-transform: uppercase;
    margin: 0;
    width: 70vw;
    left: 0
}

.layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-text p {
    letter-spacing: 0
}

.layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black p span {
    position: relative;
    display: block;
    float: left
}

@media (min-width:768px) {
    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black {
        display: block
    }

    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black p {
        font-size: 7vw
    }

    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-text p {
        font-size: 1.1vw;
        line-height: 1.3vw;
        text-align: left
    }
}

@media screen and (max-width:1100px) {
    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black p {
        font-size: 55px
    }

    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-text p {
        font-size: 11px;
        letter-spacing: 0;
        line-height: 13px
    }
}

@media screen and (max-width:767px) {
    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage {
        left: -135px
    }

    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black {
        display: block;
        top: 42.9%;
        left: 55px
    }
}

@media screen and (max-width:560px) {
    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage {
        left: -94px
    }

    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black {
        top: 47.9%;
        left: 94px;
        width: 255px
    }

    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-black p {
        width: 100%;
        font-size: 35px
    }

    .layer-redbox.layer-mask .redbox-inner-text .red-box-inner-fullpage .layer-name-text p {
        position: absolute;
        left: -41px;
        font-size: 11px
    }
}

.layer-header h1 {
    text-align: center;
    font-weight: 400;
    font-size: 1.4rem;
    top: 13vh;
    position: absolute;
    max-width: 60vw;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    left: 50%
}

@media (min-width:768px) {
    .layer-header h1 {
        font-size: 1.8rem;
        top: 20vh;
        max-width: none
    }
}

.layer-scene-instanaut {
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    position: absolute;
    left: 52.5%;
    top: 54.5%
}

.layer-scene-instanaut .cosmonaut {
    position: absolute;
    z-index: -1
}

.layer-scene-instanaut img {
    width: 56vh;
    max-width: none
}

@media (min-width:768px) {
    .layer-scene-instanaut img {
        width: 55vh
    }
}

@media screen and (max-width:767px) {
    .layer-scene-instanaut {
        left: 50%;
        z-index: 21;
        width: 100%;
        max-width: 280px
    }

    .layer-scene-instanaut img {
        width: 100%
    }
}

.layer-points {
    text-align: center;
    position: absolute;
    top: 65vh;
    width: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%)
}

@media (min-width:768px) {
    .layer-points {
        top: 70vh;
        width: 100%
    }
}

@media (min-width:1600px) {
    .layer-points {
        top: 70vh
    }
}

@media screen and (max-width:767px) {
    .layer-points {
        top: 73%;
        z-index: 21
    }
}

.layer-points ul {
    margin: 0 auto
}

.layer-points li {
    font-size: 1.4rem;
    line-height: 1.5em
}

@media (min-width:768px) {
    .layer-points li {
        font-size: .875em;
        float: left;
        width: 25%;
        line-height: 2em
    }
}

@media (max-width:767px) {
    .layer-points li:last-child {
        display: none
    }
}

.layer-points strong {
    display: block;
    font-family: "Open Sans", sans-serif;
    font-weight: 400;
    margin: .75em 0 0
}

@media (min-width:768px) {
    .layer-points strong {
        margin: 0 0 .5em;
        font-size: 1.8rem
    }
}

.layer-points br {
    display: none
}

.layer-points .btn-wrap {
    margin-top: 10vh;
    pointer-events: auto
}

.layer-name {
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 43.35vh;
    left: 23%;
    z-index: 99999
}

.layer-inner-text {
    position: absolute;
    top: -29.5vh;
    left: 22.8%
}

.layer-name p {
    font-family: "Open Sans", sans-serif;
    font-weight: 700;
    color: #3e2068;
    font-size: 12vw;
    line-height: .9em;
    letter-spacing: -.2vw;
    text-transform: uppercase;
    margin: 0;
    width: 70vw;
    left: 0
}

.layer-name p span {
    position: relative;
    display: block;
    float: left
}

@media (min-width:768px) {
    .layer-name p {
        font-size: 7vw
    }

    .layer-name-text p {
        font-size: 1.1vw;
        letter-spacing: 0;
        line-height: 1.3vw;
        text-align: left
    }
}

@media screen and (max-width:1100px) {
    .layer-name p {
        font-size: 55px
    }

    .layer-name-text p {
        font-size: 11px;
        letter-spacing: 0;
        line-height: 13px
    }
}

@media screen and (max-width:767px) {
    .layer-name {
        top: 43%;
        left: 50%
    }

    .layer-inner-text {
        top: 15%;
        left: 161px
    }

    .layer-name p {
        position: absolute;
        top: -49px;
        left: -207px
    }

    .layer-name-text p {
        top: -13px;
        left: -46px
    }
}

@media screen and (max-width:560px) {
    .layer-inner-text {
        top: 14%;
        left: 114px
    }

    .layer-name p {
        top: -36px;
        left: -168px;
        font-size: 40px;
        display: none
    }

    .layer-name-text p {
        top: -13px;
        left: -48px;
        font-size: 11px
    }
}

.layer-3d,
.layer-simple,
.layer-svg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
    -webkit-perspective: 666px;
    perspective: 666px;
    pointer-events: none;
    display: none
}

@media (min-width:768px) {

    .layer-3d,
    .layer-simple,
    .layer-svg {
        display: block
    }
}

.layer-3d li,
.layer-simple li,
.layer-svg li {
    position: absolute
}

.layer-3d li,
.layer-simple li {
    -webkit-animation: move 10s infinite;
    animation: move 10s infinite
}

.layer-3d li:nth-child(1) {
    left: 31%;
    top: 25%
}

.layer-3d li:nth-child(2) {
    left: 25%;
    top: 75%
}

.layer-3d li:nth-child(3) {
    left: 70%;
    top: 10%
}

.layer-3d li:nth-child(4) {
    left: 65%;
    top: 35%
}

.layer-3d li:nth-child(5) {
    left: 80%;
    top: 75%
}

.layer-svg li:nth-child(1) {
    left: 15%;
    top: 40%
}

.layer-svg li:nth-child(1) img {
    width: 4vw
}

.layer-svg li:nth-child(2) {
    left: 60%;
    top: 25%
}

.layer-svg li:nth-child(2) img {
    width: 4vw
}

.layer-svg li:nth-child(3) {
    left: 75%;
    top: 20%
}

.layer-svg li:nth-child(3) img {
    width: 3vw;
    -webkit-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg)
}

.layer-svg li:nth-child(4) {
    left: 84%;
    top: 30%
}

.layer-svg li:nth-child(4) img {
    width: 2vw;
    -webkit-transform: rotate(138deg);
    -ms-transform: rotate(138deg);
    transform: rotate(138deg)
}

.layer-svg li:nth-child(5) {
    left: 70%;
    top: 55%
}

.layer-svg li:nth-child(5) img {
    width: 4vw;
    -webkit-transform: rotate(229deg);
    -ms-transform: rotate(229deg);
    transform: rotate(229deg)
}

.layer-svg li:nth-child(6) {
    left: 66%;
    top: 85%
}

.layer-svg li:nth-child(6) img {
    width: 4vw
}

.layer-simple {
    color: #eb1536
}

.layer-simple .shape-circle {
    height: 3rem;
    width: 3rem;
    display: inline-block;
    border: 5px solid #fa0cab;
    border-radius: 50%
}

.layer-simple .star {
    height: 1rem;
    width: 1rem;
    transform: rotate(45deg);
    display: inline-block;
    background-color: #3e2068
}

.layer-simple li:nth-child(1) {
    left: 25%;
    top: 20%
}

.layer-simple li:nth-child(2) {
    left: 15%;
    top: 33%
}

.layer-simple li:nth-child(3) {
    left: 70%;
    top: 20%
}

.layer-simple li:nth-child(4) {
    left: 20%;
    top: 80%
}

.layer-3d li:nth-child(1) {
    -webkit-animation-delay: -1s;
    animation-delay: -1s;
    -webkit-transform: translate3d(6610px, 3260px, 830px);
    transform: translate3d(6610px, 3260px, 830px)
}

.layer-3d li:nth-child(2) {
    -webkit-animation-delay: -2s;
    animation-delay: -2s;
    -webkit-transform: translate3d(3480px, 4920px, 1807px);
    transform: translate3d(3480px, 4920px, 1807px)
}

.layer-3d li:nth-child(3) {
    -webkit-animation-delay: -3s;
    animation-delay: -3s;
    -webkit-transform: translate3d(5840px, 8080px, 751px);
    transform: translate3d(5840px, 8080px, 751px)
}

.layer-3d li:nth-child(4) {
    -webkit-animation-delay: -4s;
    animation-delay: -4s;
    -webkit-transform: translate3d(1330px, 4760px, 498px);
    transform: translate3d(1330px, 4760px, 498px)
}

.layer-3d li:nth-child(5) {
    -webkit-animation-delay: -5s;
    animation-delay: -5s;
    -webkit-transform: translate3d(1610px, 5020px, 1768px);
    transform: translate3d(1610px, 5020px, 1768px)
}

.layer-3d li:nth-child(6) {
    -webkit-animation-delay: -6s;
    animation-delay: -6s;
    -webkit-transform: translate3d(40px, 2580px, 679px);
    transform: translate3d(40px, 2580px, 679px)
}

.layer-3d li:nth-child(7) {
    -webkit-animation-delay: -7s;
    animation-delay: -7s;
    -webkit-transform: translate3d(6500px, 8490px, 1175px);
    transform: translate3d(6500px, 8490px, 1175px)
}

.layer-3d li:nth-child(8) {
    -webkit-animation-delay: -8s;
    animation-delay: -8s;
    -webkit-transform: translate3d(7850px, 3910px, 212px);
    transform: translate3d(7850px, 3910px, 212px)
}

.layer-simple li:nth-child(1) {
    -webkit-animation-delay: -1.2s;
    animation-delay: -1.2s;
    -webkit-transform: translate3d(9440px, 7030px, 2077px);
    transform: translate3d(9440px, 7030px, 2077px)
}

.layer-simple li:nth-child(2) {
    -webkit-animation-delay: -2.4s;
    animation-delay: -2.4s;
    -webkit-transform: translate3d(2710px, 3290px, 775px);
    transform: translate3d(2710px, 3290px, 775px)
}

.layer-simple li:nth-child(3) {
    -webkit-animation-delay: -3.6s;
    animation-delay: -3.6s;
    -webkit-transform: translate3d(230px, 1950px, 707px);
    transform: translate3d(230px, 1950px, 707px)
}

.layer-simple li:nth-child(4) {
    -webkit-animation-delay: -4.8s;
    animation-delay: -4.8s;
    -webkit-transform: translate3d(6020px, 1060px, 2384px);
    transform: translate3d(6020px, 1060px, 2384px)
}

.layer-simple li:nth-child(5) {
    -webkit-animation-delay: -6s;
    animation-delay: -6s;
    -webkit-transform: translate3d(2750px, 10000px, 1530px);
    transform: translate3d(2750px, 10000px, 1530px)
}

.layer-simple li:nth-child(6) {
    -webkit-animation-delay: -7.2s;
    animation-delay: -7.2s;
    -webkit-transform: translate3d(6780px, 2430px, 2268px);
    transform: translate3d(6780px, 2430px, 2268px)
}

.layer-simple li:nth-child(7) {
    -webkit-animation-delay: -8.4s;
    animation-delay: -8.4s;
    -webkit-transform: translate3d(4890px, 450px, 2196px);
    transform: translate3d(4890px, 450px, 2196px)
}

.layer-simple li:nth-child(8) {
    -webkit-animation-delay: -9.6s;
    animation-delay: -9.6s;
    -webkit-transform: translate3d(11090px, 1560px, 968px);
    transform: translate3d(11090px, 1560px, 968px)
}

.text-white {
    color: #fff !important;
    transition: .3s
}

.bg-white {
    background-color: #fff !important;
    transition: .3s
}

.translate-x-in {
    transform: translateX(0);
    transition: .7s
}

.translate-x-out {
    transform: translateX(99.7%);
    transition: .7s
}

.translate-x-fade {
    transform: translateX(106%);
    transition: .3s
}

.translate-Y-in {
    transition: .5s
}

.hidden {
    display: none
}

@-webkit-keyframes move {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    33% {
        -webkit-transform: translate3d(-10px, -10px, 25px);
        transform: translate3d(-10px, -10px, 25px)
    }

    66% {
        -webkit-transform: translate3d(10px, 10px, 50px);
        transform: translate3d(10px, 10px, 50px)
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

@keyframes move {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }

    33% {
        -webkit-transform: translate3d(-10px, -10px, 25px);
        transform: translate3d(-10px, -10px, 25px)
    }

    66% {
        -webkit-transform: translate3d(10px, 10px, 50px);
        transform: translate3d(10px, 10px, 50px)
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0)
    }
}

section.intro.cf {
    position: relative;
    z-index: 1;
    pointer-events: none
}

.main-content {
    position: relative
}

.banner {
    position: sticky;
    top: 0;
    right: 0;
    z-index: 1;
    background-image: url(../img/bg.jpg);
    background-position: left;
    background-repeat: no-repeat;
    background-size: cover;
    width: 59.49%;
    height: 100vh;
    margin-left: 79%
}

.about,
.advantages,
.clients,
.contacts,
.precept,
.project,
.services {
    position: relative;
    z-index: 1;
    width: 60vw;
    height: auto;
    margin-left: 19.85vw;
    padding: 2vw 0
}

.about {
    background-color: #3e2068;
    box-shadow: 0 5px 50px rgba(62, 32, 104, .47);
    margin-top: -100vh
}

.precept {
    padding-bottom: 3.5vw;
    background-color: #fff;
    box-shadow: 0 5px 50px rgba(62, 32, 104, .2)
}

.services {
    padding-bottom: 0;
    background-color: #fff;
    box-shadow: 0 5px 50px rgba(62, 32, 104, .2)
}

.project {
    z-index: 0;
    padding-bottom: 5vw
}

.advantages {
    padding-bottom: 3.4vw;
    background-color: #3e2068;
    background-image: url(../img/event.jpg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 24.5vw;
    box-shadow: 0 5px 50px rgba(62, 32, 104, .47)
}

.clients {
    z-index: 0;
    padding-bottom: 0
}

.contacts {
    padding: 5vw 0
}

.about::before,
.advantages::before,
.clients::before,
.contacts::before,
.main-footer::before,
.precept::before,
.project::before,
.services::before {
    position: absolute;
    z-index: 0;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    text-transform: uppercase;
    font-size: 4.2vw
}

.about::before {
    content: "О нас";
    color: #3e2068;
    text-shadow: -.35vw 0 2vw #271442;
    top: 16.5vw;
    left: -1.4vw;
    transform: rotate(-90deg)
}

.precept::before {
    content: "Заповеди";
    color: #fff;
    text-shadow: -.35vw 0 2vw #e3e3e3;
    top: 14.4vw;
    left: -6.6vw;
    transform: rotate(-90deg)
}

.services::before {
    content: "Услуги";
    color: #fff;
    text-shadow: -.35vw 0 2vw #e3e3e3;
    top: 10.5vw;
    left: -3.3vw;
    transform: rotate(-90deg)
}

.project::before {
    content: "Реализовали";
    color: #fff;
    text-shadow: -.35vw 0 2vw #e3e3e3;
    left: 19.5vw;
    top: 7vw
}

.project-page .project::before {
    color: #3e2068;
    text-shadow: -.35vw 0 2vw #271442
}

.advantages::before {
    content: "Выбирают";
    color: #3e2068;
    text-shadow: -.35vw 0 2vw #271442;
    top: 14.7vw;
    left: -7.3vw;
    transform: rotate(-90deg)
}

.clients::before {
    content: "Клиенты";
    color: #fff;
    text-shadow: -.35vw 0 2vw #e3e3e3;
    top: 12.8vw;
    left: -5.3vw;
    transform: rotate(-90deg)
}

.contacts::before {
    content: "Контакты";
    color: #fff;
    text-shadow: -.35vw 0 2vw #e3e3e3;
    top: 12.8vw;
    left: -5.3vw;
    transform: rotate(270deg)
}

.main-footer::before {
    content: "Навигация";
    color: #272727;
    text-shadow: -.35vw 0 2vw #000;
    top: 16vw;
    left: 11.5vw;
    transform: rotate(-90deg)
}

.about::after {
    content: "";
    position: absolute;
    right: -8.4vw;
    bottom: 0;
    width: 26vw;
    height: 45vw;
    background-image: url(../img/duhov.png);
    background-repeat: no-repeat;
    background-position: bottom;
    background-size: contain
}

.about .scene-line,
.advantages .scene-line,
.main-footer .scene-line,
.precept .scene-line,
.services .scene-line {
    position: absolute;
    left: -19.85vw;
    z-index: -1;
    height: 100%
}

.main-footer .scene-line {
    left: 0
}

.about .line,
.advantages .line {
    background-color: #351b59
}

.precept .line,
.services .line {
    background-color: #eee
}

.main-footer .line {
    background-color: #232323
}

@media screen and (max-width:1100px) {
    .intro.cf {
        padding-top: 15px
    }

    .banner {
        display: none
    }

    .about::after,
    .about::before,
    .advantages::before,
    .clients::before,
    .contacts::before,
    .main-footer::before,
    .precept::before,
    .project::before,
    .services::before {
        content: none !important
    }

    .about,
    .advantages,
    .clients,
    .contacts,
    .precept,
    .project,
    .services {
        width: 100%;
        margin-left: 0;
        padding: 35px 0;
        padding-left: 218px;
        padding-right: 221px;
        box-shadow: none
    }

    .scene-line {
        display: none
    }

    .about {
        margin-top: 0
    }

    .services {
        padding-bottom: 0
    }

    .advantages {
        background-size: 24.5%
    }
}

@media screen and (max-width:1000px) {

    .about,
    .advantages,
    .clients,
    .contacts,
    .precept,
    .project,
    .services {
        padding: 25px 0;
        padding-left: 0;
        padding-right: 0
    }

    .services {
        padding-bottom: 0
    }
}

@media screen and (max-width:767px) {
    .clients {
        padding-bottom: 0
    }
}

.about-list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start
}

.about-item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 20vw;
    height: 5vw;
    padding: 0 2vw;
    text-align: center;
    font-size: .77vw
}

.about-item .descr {
    font-size: .9vw;
    font-weight: 800;
    text-transform: uppercase
}

.about-item .num {
    font-family: "Open Sans", sans-serif;
    font-size: 1.6vw;
    font-weight: 800;
    color: #fa0cab
}

.about-content-wrap {
    width: 63%;
    margin-left: 12.6vw;
    margin-top: 5.4vw
}

.about-content-wrap .about-list {
    width: 40vw;
    margin-top: 6.7vw;
    margin-left: -2.5vw;
    margin-bottom: 2.65vw
}

.content-wrap {
    width: 43%;
    margin-left: 20vw;
    padding-top: 5.2vw
}

.title {
    margin-bottom: 1.4vw;
    text-transform: uppercase;
    font-size: 2.15vw
}

.text {
    font-size: .77vw;
    line-height: 1.3vw
}

@media screen and (max-width:1366px) {
    .text {
        font-size: 11px;
        line-height: 16px
    }

    .about-item {
        font-size: 10px
    }

    .about-item .descr {
        font-size: 11px
    }

    .about-item .num {
        font-size: 20px
    }
}

@media screen and (max-width:1100px) {
    .title {
        margin-bottom: 15px;
        font-size: 23px
    }

    .about-content-wrap,
    .content-wrap {
        width: 100%;
        margin: 0;
        padding-top: 55px;
        padding-left: 50px;
        padding-right: 50px
    }

    .about-content-wrap .about-list {
        justify-content: center;
        width: 100%;
        margin-top: 40px;
        margin-left: 0;
        margin-bottom: 40px;
        padding: 0
    }

    .about-list {
        padding-left: 40px;
        padding-right: 40px
    }

    .about-item {
        justify-content: center;
        width: 33.333%;
        height: 70px;
        padding: 0 15px
    }

    .about-content-wrap .about-item {
        width: 50%
    }
}

@media screen and (max-width:1000px) {

    .about-content-wrap,
    .content-wrap {
        padding-top: 35px;
        padding-left: 70px;
        padding-right: 70px
    }

    .about-item {
        width: 50%
    }
}

@media screen and (max-width:767px) {
    .title {
        text-align: center
    }

    .text {
        text-align: center
    }

    .about-list {
        display: flex;
        justify-content: center;
        align-items: flex-start;
        flex-wrap: wrap
    }

    .about-item {
        width: 252px;
        height: 95px;
        padding: 0
    }

    .about-content-wrap,
    .content-wrap {
        padding-left: 20px;
        padding-right: 20px
    }

    .about-content-wrap .about-list {
        margin-bottom: 0;
        padding: 0
    }

    .about-content-wrap .about-item {
        width: auto;
        max-width: 240px;
        height: 65px
    }
}

.precept .content-wrap {
    padding-top: 3vw
}

.precept-list {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 30vw;
    margin-top: 3vw;
    margin-left: -7.5vw
}

.precept-item {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 37vw;
    min-height: 5vw;
    padding-left: 7.4vw;
    font-size: .711vw;
    line-height: 1.3vw
}

.precept-list {
    counter-reset: list 0
}

.precept-item::before {
    content: "";
    position: absolute;
    top: 44%;
    left: -.3vw;
    transform: rotate(45deg) translateY(-50%);
    width: 2.6vw;
    height: 2.6vw;
    background-color: #fa0cab;
    border-radius: 8px;
    box-shadow: 2px 3px 5px #bdbbbb
}

.precept-item::after {
    counter-increment: list;
    content: counter(list) " ";
    position: absolute;
    top: 50%;
    left: .05vw;
    transform: rotate(0) translateY(-50%);
    width: 3.8vw;
    height: 4.5vw;
    border-radius: 8px;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    line-height: 4.5vw;
    font-size: 1.3vw;
    text-align: center;
    color: #fff
}

@media screen and (max-width:1366px) {
    .precept-item {
        font-size: 11px;
        line-height: 16px
    }

    .precept-item::before {
        left: -4px;
        width: 40px;
        height: 40px
    }

    .precept-item::after {
        width: 51px;
        height: 60px;
        left: 5px;
        line-height: 61px;
        font-size: 17px
    }
}

@media screen and (max-width:1100px) {
    .precept-list {
        margin-top: 35px;
        margin-left: 0
    }

    .precept-item {
        width: 100%;
        padding-left: 65px;
        min-height: 70px
    }
}

@media screen and (max-width:767px) {
    .precept-list {
        margin-top: 0
    }

    .precept-item {
        justify-content: center;
        padding-top: 73px;
        padding-left: 0;
        text-align: center
    }

    .precept-item::before {
        top: 30px;
        left: 50%;
        transform: rotate(45deg) translateX(-50%)
    }

    .precept-item::after {
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        line-height: 70px
    }

    .precept-item-10::after {
        width: 15px
    }
}

.services .content-wrap {
    padding-top: 2.3vw
}

.services-list {
    position: relative;
    z-index: 2;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 4.71vw;
    background: #fff
}

.services-item {
    width: 33.333%;
    height: 20vw
}

.services-item a {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100.2%;
    height: 100.2%;
    padding-top: 3vw;
    padding-left: 2vw;
    padding-right: 2vw;
    background-color: #3e2068;
    text-align: center;
    transition: .2s
}

.services-item svg {
    width: 4.722vw;
    height: 8.181vw;
    fill: #2d164c;
    transition: .2s
}

@media screen and (min-width:768px) {
    .services-item:nth-child(odd) a {
        box-shadow: inset 0 0 30px 5px rgba(0, 0, 0, .2)
    }

    .services-item a:focus,
    .services-item a:hover {
        background-color: #fa0cab
    }

    .services-item:nth-child(odd) a:focus,
    .services-item:nth-child(odd) a:hover {
        box-shadow: inset 0 0 30px 5px rgba(0, 0, 0, .3)
    }

    .services-item a:focus svg,
    .services-item a:hover svg {
        fill: #bb0b81
    }
}

.services-item span {
    position: relative;
    width: 100%;
    margin-top: -.5vw;
    font-family: "Open Sans", sans-serif;
    font-size: .895vw;
    color: #fff;
    text-transform: uppercase
}

.services-item span::before {
    content: "";
    position: absolute;
    top: -2vw;
    left: 49%;
    transform: rotate(45deg) translateX(-50%);
    width: 1vw;
    height: 1vw;
    border: 2px solid #fff;
    border-radius: 5px
}

@media screen and (max-width:1366px) {
    .services-item span {
        margin-top: -12px;
        font-size: 11px
    }

    .services-item span::before {
        top: -30px;
        width: 15px;
        height: 15px
    }

    .services-item svg {
        width: 72px;
        height: 124px
    }
}

@media screen and (max-width:1100px) {
    .services-list {
        margin-top: 35px
    }

    .services-item {
        height: 230px
    }

    .services-item a {
        padding-top: 26px;
        padding-left: 10px;
        padding-right: 10px
    }
}

@media screen and (max-width:767px) {
    .services-item {
        height: auto;
        width: 50%;
        min-width: 140px
    }

    .services-item a {
        padding-top: 0;
        padding-bottom: 20px
    }

    .services-item:nth-child(1) a,
    .services-item:nth-child(4) a,
    .services-item:nth-child(5) a {
        box-shadow: inset 0 0 30px 5px rgba(0, 0, 0, .2)
    }

    .services-item span {
        font-size: 8.5px
    }
}

.project img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 0
}

.project .content-wrap {
    padding-top: 2.4vw
}

.project-slider {
    width: 80vw;
    height: 30.1vw;
    margin-top: 6.5vw;
    margin-left: -2vw;
    overflow: visible !important
}

.project-slider .filter {
    position: sticky;
    top: 15vw;
    width: 15vw;
    margin-left: -15.5vw;
    padding: 1vw 1.3vw;
    background: #fff;
    color: #000
}

.project-slider .ln {
    margin: 0 0 1vw
}

.project-slider .filter label {
    display: block;
    width: 100%;
    padding: .8vw .3vw;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    font-size: .8vw;
    text-transform: uppercase;
    text-align: left
}

.project-slider select {
    width: 100%;
    font-family: "Open Sans", sans-serif;
    font-size: .8vw;
    border: none
}

.project-slider .filter .btn-white {
    min-width: 100%
}

.project .section {
    width: 60vw;
    height: 30.1vw;
    margin-left: 2vw
}

.project-page .project .section {
    margin-top: -16.05vw
}

.project .benefits-rows {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: flex-start
}

.benefits-rows > li {
    position: relative;
    height: 24.4vw;
    width: 33.333%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    transition: .3s
}

.project-page .project {
    z-index: 2;
    color: #fff
}

.project-page .title {
    margin-bottom: 8vw
}

.project-page .project p {
    font-size: .9vw;
    margin-top: 1vw
}

.project-page .benefits-rows {
    flex-direction: column;
    padding-bottom: 10vw
}

.project-page .benefits-rows > li {
    height: 30vw;
    width: 50%
}

.project-page .project-slider {
    height: auto;
    overflow: visible !important
}

.project-page .section {
    height: auto
}

.project-page .benefits-rows > li {
    margin-top: 0
}

.project-page .benefits-rows .detail-opener {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden
}

.detail-opener img {
    filter: grayscale(1)
}

.project-page .detail-opener img {
    width: 100%
}

.project-page .benefits-rows > li:nth-child(even) {
    margin-left: auto
}

.project-page .benefits-rows > li:nth-child(even) .benefit-slider {
    left: 0
}

@media screen and (min-width:768px) {
    .benefits-rows > li:hover {
        box-shadow: 0 .5vw 40px rgba(84, 84, 84, .5)
    }

    .home .benefits-rows > li:hover {
        z-index: 3 !important
    }

    .opened-detail .benefits-rows > li .opened {
        z-index: 1
    }
}

.benefits-rows .detail-opener::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(102, 51, 153, .7);
    transition: .3s
}

@media screen and (min-width:768px) {

    .benefits-rows > li .detail-opener.opened::after,
    .benefits-rows > li:hover .detail-opener::after {
        background-color: rgba(255, 0, 199, .75)
    }
}

#pagepiling .benefit-1 {
    z-index: 3;
    margin-top: 2.8vw
}

#pagepiling .benefit-2 {
    z-index: 2;
    margin-top: 5.8vw
}

#pagepiling .benefit-3 {
    z-index: 1
}

.benefit-detail {
    opacity: 0;
    pointer-events: none
}

.benefits-rows .detail-descr {
    width: 100%;
    height: 0;
    display: block
}

.project-page .benefits-rows .detail-descr {
    height: 100%
}

.benefits-rows .detail-descr h2 {
    position: absolute;
    top: 37%;
    left: 57%;
    width: 13vw;
    font-size: 1.3vw;
    text-transform: uppercase;
    color: #fa0cab;
    transition: .3s;
    z-index: 1
}

.project-page .logo {
    filter: brightness(0) invert(1)
}

.project-page .menu-opener i {
    color: #fff
}

.project-page .menu-opener .hamburger .hb-line {
    background-color: #fff
}

.project-page .contact-form .form-opener span {
    color: #fff
}

.project-page #main {
    background-color: #3e2068
}

.project-page #main > .scene-line .line {
    background-color: #351b59
}

.project-page .detail-descr {
    position: absolute;
    left: 57%;
    top: 27%;
    width: 23vw;
    z-index: 1;
    transition: .3s;
    pointer-events: none
}

.project-page .benefits-rows > li:nth-child(even) .detail-descr {
    left: auto;
    right: 57%
}

.project-page .benefits-rows > li .detail-descr h2 {
    position: relative;
    top: 0;
    left: 0;
    width: auto;
    min-height: 50px;
    margin-bottom: 2vw;
    font-size: 1.6vw;
    color: #fff
}

.project-page .benefits-rows > li .detail-descr h2::before {
    top: 0;
    border-color: rgba(255, 255, 255, 0.5)
}

.project-page .detail-descr p {
    position: relative;
    color: #fff;
    transition: .3s;
    z-index: 1
}

.project-page .benefits-rows > li:nth-child(even) .detail-descr h2 {
    text-align: right
}

.project-page .benefits-rows > li:nth-child(even) .detail-descr p {
    text-align: right
}

.detail-descr h2::before {
    content: "";
    position: absolute;
    left: -2.2vw;
    top: -.5vw;
    transform: rotate(45deg);
    width: 4.2vw;
    height: 4.2vw;
    border: 1px solid #fa0cab;
    border-radius: 10px;
    z-index: -1;
    transition: .3s
}

.project-page .benefits-rows > li:nth-child(even) .detail-descr h2::before {
    left: auto;
    right: -2.2vw
}

.benefit-2 h2 {
    top: 40%
}

.benefit-3 h2 {
    top: 32%
}

.benefit-detail {
    position: relative;
    left: 100%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 4vw 2vw;
    color: #000;
    background-color: #fff;
    transition: .3s
}

.benefit-detail-inner {
    height: 100%;
    overflow: auto;
    margin-top: 40px;
    padding-right: 30px;
}

.benefit-detail-inner::-webkit-scrollbar { width: 3px; border-radius: 20px; }
.benefit-detail-inner::-webkit-scrollbar-track { background-color: #dedede; }
.benefit-detail-inner::-webkit-scrollbar-thumb { background-color: #3e1f68; }

.benefit-slider {
    position: absolute;
    top: 100%;
    right: 0;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: nowrap;
    width: 200%;
    height: 10vw;
    background-color: #fff;
    opacity: 0;
    pointer-events: none;
    transition: .3s;
    overflow: hidden
}

.benefit-slider li {
    flex-shrink: 0;
    width: 9vw;
    height: 6vw;
    margin: 0 1.5vw;
    overflow: hidden
}

.benefit-slider a {
    overflow: hidden;
    display: block;
    width: 100%;
    height: 100%
}

.benefit-slider img {
    max-width: none;
    width: 100%
}

.project-page .benefits-rows > li.opened {
    z-index: 4
}

.project-page .benefits-rows a.opened ~ .benefit-detail .benefit-slider {
    opacity: 1;
    top: 100%;
    pointer-events: auto
}

.project-page .benefits-rows a.opened ~ .benefit-detail {
    opacity: 1;
    pointer-events: auto
}

.project-page .benefits-rows a.opened ~ .detail-descr {
    left: 15%
}

.project-page .benefits-rows > li:nth-child(even) a.opened ~ .detail-descr {
    left: auto;
    right: 15%
}

.benefit-contain h3 {
    margin-bottom: 1vw
}

.benefit-contain p {
    margin-bottom: .5vw
}

.project-page .benefits-rows > li:nth-child(even) .benefit-detail {
    left: auto;
    right: 100%
}

@media screen and (min-width:768px) {
    .benefits-rows > li:hover h2 {
        color: #fff;
        text-shadow: 0 0 15px rgba(168, 168, 168, .9)
    }

    .benefits-rows > li:hover h2::before {
        border-color: #fff
    }
}

.project .btn-wrap {
    margin-top: 4.6vw
}

@media screen and (min-width:1101px) {
    .filter-opener {
        display: none
    }
}

@media screen and (max-width:1100px) {
    .project-slider {
        width: 130%;
        height: 335px;
        margin-top: 0;
        margin-left: -22px
    }

    .project-slider .filter {
        position: fixed;
        top: 50%;
        left: 0;
        transform: translateY(-45%) translateX(-100%) !important;
        z-index: 10;
        width: 220px;
        height: 250px;
        margin-left: 0;
        padding: 27px 20px;
        box-shadow: 0 0 7px #2f2f2f;
        transition: .3s
    }

    .project-slider .filter.opened {
        transform: translateY(-45%) translateX(0) !important
    }

    .filter-opener {
        display: flex;
        justify-content: center;
        align-items: center;
        position: absolute;
        left: 100%;
        top: 50%;
        transform: translateY(-50%);
        width: 25px;
        height: 47px;
        background-color: #fff;
        border: 1px solid #ddd;
        border-left: none;
        cursor: pointer;
        transition: .5s
    }

    .filter.opened .filter-opener a {
        transform: rotate(180deg)
    }

    .project-slider .filter label {
        padding: 5px 4px;
        font-size: 11px
    }

    .project-slider select {
        padding: 5px 0;
        font-size: 12px
    }

    .project-slider .ln {
        margin-bottom: 15px
    }

    .project-page .project .btn {
        margin-top: 15px
    }

    .filter-opener svg {
        margin-top: 4px
    }

    .project-page .benefits-rows {
        padding-bottom: 120px
    }

    .benefits-rows .detail-descr h2 {
        top: 35px;
        left: 30px;
        transform: none;
        width: 150px;
        font-size: 14px;
        color: #fff
    }

    .benefits-rows h2::before {
        left: -18px;
        top: -4px;
        width: 44px;
        height: 44px;
        border-color: #fff;
        opacity: .3
    }

    .benefits-rows > li {
        height: 267px
    }

    .benefit-slider {
        width: 100%;
        height: 135px
    }

    .benefit-slider li {
        width: 173px;
        height: 105px;
        margin: 0 13.5px
    }

    .benefit-detail {
        left: 0;
        width: 214%;
        padding: 50px 25px 15px
    }

    .project-page .benefits-rows a.opened ~ .detail-descr {
        opacity: 0 !important
    }

    .project-page .benefits-rows > li:nth-child(even) .benefit-detail {
        left: -114%
    }

    .project .btn-wrap {
        margin-top: 35px
    }

    .project-page .title {
        margin-bottom: 20px
    }

    .project-page .project {
        margin-top: 51px
    }

    .project-page .project .section {
        height: auto;
        margin-top: 0
    }

    .project-page .project p {
        font-size: 13px
    }

    .project-page .project-slider {
        margin-top: 35px
    }

    .project-page .benefits-rows > li {
        width: 280px;
        height: 350px
    }

    .project-page .detail-opener img {
        width: auto;
        height: 99.5%
    }

    .project-page .detail-opener > img {
        width: 100%
    }

    .project-page .detail-descr {
        width: 100%
    }
}

@media screen and (max-width:1000px) {
    .project .section {
        width: 100%;
        height: 325px;
        margin: 0
    }

    .project-slider {
        height: 400px
    }

    .project-slider {
        width: 100%;
        margin: 0
    }

    .project .benefits-rows {
        width: 840px;
        margin: 0 auto
    }

    .project-page .project .benefits-rows {
        width: auto;
        margin-left: 70px;
        margin-right: 70px
    }

    .benefits-rows > li {
        width: 280px;
        height: 350px
    }
}

@media screen and (max-width:840px) {
    .project .benefits-rows {
        width: 100%;
        max-width: 600px;
        flex-direction: column;
        align-items: center
    }

    .project-slider {
        height: auto
    }

    .project .section {
        height: auto
    }

    #pagepiling .benefit-2 {
        margin-top: 0
    }

    .benefits-rows li {
        margin-bottom: 20px
    }
}

@media screen and (max-width:767px) {
    .project-page .benefits-rows {
        padding-bottom: 0
    }

    .benefits-rows li {
        margin: 0;
        margin-bottom: 20px;
        opacity: 1 !important;
    }

    .benefits-rows > li:last-of-type {
        margin-bottom: 0
    }

    .benefits-rows h2 {
        left: 59%;
        transform: translateX(-50%)
    }

    .project-page .logo {
        filter: none
    }

    .project-page .menu-opener i {
        color: #000
    }

    .project-page #main {
        background-color: #fff
    }

    .project-page .menu-opener .hamburger .hb-line {
        background-color: #000
    }

    .benefit-detail {
        position: absolute;
        justify-content: flex-start;
        width: 100%;
        height: 100%;
        padding-top: 105px;
        padding-bottom: 25px;
        overflow: auto;
        z-index: 10
    }
    
    .detail-opener.opened ~ .benefit-detail {
        position: fixed;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
    }

    .benefit-slider {
        width: 100%;
        height: 135px
    }

    .benefit-slider li {
        width: 100%;
        min-height: 140px;
        max-height: 200px;
        height: auto;
        margin-bottom: 0
    }

    .project-page .close-btn {
        position: fixed;
        top: 0;
        right: 12px;
        width: 25px;
        height: 25px;
        font-size: 0
    }

    .project-page .benefit-detail .close-btn {
        top: 110px
    }

    .project-page .contact-form .close-btn {
        top: 25px
    }

    .project-page .benefits-rows > li:nth-child(even) .detail-descr,
    .project-page .detail-descr {
        top: 0;
        left: 0;
        padding: 30px 35px
    }

    .project-page .benefits-rows > li:nth-child(even) .benefit-detail {
        left: 0
    }

    .project-page .benefits-rows > li:nth-child(even) {
        margin-left: 0
    }

    .project-page .benefits-rows > li:nth-child(even) a.opened ~ .detail-descr {
        left: 15%;
        right: auto
    }

    .project-page .benefits-rows > li .detail-descr h2 {
        transform: none;
        margin-bottom: 35px;
        font-size: 14px
    }

    .project-page .benefits-rows > li .detail-descr h2::before,
    .project-page .benefits-rows > li:nth-child(even) .detail-descr h2::before {
        top: -4px;
        left: -18px;
        right: auto
    }

    .project-page .benefits-rows > li:nth-child(even) .detail-descr h2,
    .project-page .benefits-rows > li:nth-child(even) .detail-descr p {
        text-align: left
    }

    .project-page .benefits-rows a.opened ~ .benefit-detail .benefit-slider,
    .project-page .benefits-rows a ~ .benefit-detail .benefit-slider {
        position: relative;
        top: auto;
        flex-shrink: 0;
        min-height: 140px;
        height: auto;
        margin-top: 15px
    }

    .project-page .benefits-rows a.opened ~ .detail-descr {
        display: none
    }

    .project-page .benefit-detail {
        padding-left: 40px;
        padding-right: 40px
    }

    .project-page .benefit-detail h3 {
        margin-bottom: 7px
    }
}

.advantages .content-wrap {
    padding-top: 2.5vw;
    width: 50%
}

.advantages .content-wrap h2 {
    line-height: 2.4vw
}

.advantages-list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    margin-top: 3vw
}

.advantages-item {
    position: relative;
    display: flex;
    flex-direction: column;
    padding-top: 1.5vw;
    margin-bottom: 2.2vw;
    font-size: .76867vw
}

.advantages-item::before {
    content: "";
    position: absolute;
    top: .6vw;
    left: -7.2vw;
    width: 3vw;
    height: 3vw;
    border: 1px solid rgba(255, 255, 255, .25);
    transform: rotate(45deg);
    border-radius: 10px;
    z-index: 1
}

.advantages-item::after {
    content: "";
    position: absolute;
    top: .6vw;
    left: -7.2vw;
    width: 3.1vw;
    height: 3.2vw;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    z-index: 2
}

.advantages-item:nth-child(1)::after {
    background-image: url(../img/ticket.svg)
}

.advantages-item:nth-child(2)::after {
    left: -6.7vw;
    width: 2.2vw;
    background-image: url(../img/rating.svg)
}

.advantages-item:nth-child(3)::after {
    top: .4vw;
    left: -7vw;
    width: 2.8vw;
    background-image: url(../img/idea.svg)
}

.advantages-item:nth-child(4)::after {
    top: .4vw;
    left: -7.1vw;
    width: 2.7vw;
    background-image: url(../img/security.svg)
}

.advantages-title {
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    font-size: 1.7vw;
    color: #fa0cab;
    margin-bottom: 1vw
}

.advantages-item span {
    line-height: 1.3vw
}

@media screen and (max-width:1366px) {
    .advantages-item {
        font-size: 11px
    }

    .advantages-item span {
        line-height: 17px
    }

    .advantages-item::before {
        top: 30px;
        left: -91px;
        width: 40px;
        height: 40px
    }

    .advantages-item::after {
        top: 25px;
        left: -94px;
        width: 46px;
        height: 46px
    }

    .advantages-item:nth-child(2)::after {
        width: 32px;
        left: -87px
    }

    .advantages-item:nth-child(3)::after {
        width: 34px;
        top: 25px;
        left: -88px
    }

    .advantages-item:nth-child(4)::after {
        width: 40px;
        top: 25px;
        left: -91px
    }
}

@media screen and (max-width:1100px) {
    .advantages-item {
        margin-left: 96px;
        margin-bottom: 15px;
        padding-top: 24px
    }

    .advantages-title {
        margin-bottom: 10px;
        font-size: 18px
    }
}

@media screen and (max-width:767px) {
    .advantages {
        background-image: none
    }

    .advantages .content-wrap h2 {
        line-height: 30px
    }

    .advantages-item {
        margin: auto;
        margin-bottom: 15px;
        padding-top: 77px;
        text-align: center
    }

    .advantages-item::before {
        top: 17px;
        left: 50%;
        transform: translateX(-50%) rotate(45deg)
    }

    .advantages-item::after,
    .advantages-item:nth-child(2)::after,
    .advantages-item:nth-child(3)::after,
    .advantages-item:nth-child(4)::after {
        top: 15px;
        left: 50%;
        transform: translateX(-50%)
    }
}

.clients .content-wrap {
    padding-top: 2.2vw
}

.clients-list {
    margin-top: 5vw;
    margin-left: 12.7vw;
    margin-bottom: 3.7vw
}

.clients-item {
    display: flex;
    flex-direction: column
}

.clients-item .num {
    font-family: "Open Sans", sans-serif;
    font-size: 2.9vw;
    line-height: 3vw;
    font-weight: 800;
    color: #fa0cab
}

.clients-review-item img {
    width: 6.699vw;
    filter: brightness(0) invert(1)
}

.clients-item .descr {
    font-size: .9vw;
    font-weight: 800;
    text-transform: uppercase
}

.swiper-wrapper {
    width: 100%;
    z-index: 1;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    transition-property: -webkit-transform;
    transition-property: transform;
    box-sizing: content-box
}

.clients-review-list {
    position: relative;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    height: 12.7vw;
    overflow: hidden;
    background-color: #fa0cab
}

.clients-review-item {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    padding: 0 3.3vw;
    background-color: #fa0cab
}

.clients-review-item .descr {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 35vw;
    height: 6vw;
    margin-left: 3.1vw;
    overflow: hidden;
    font-size: .685vw;
    text-align: center
}

.swiper-pagination {
    position: absolute;
    left: 50.7%;
    bottom: 1.3vw;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    width: 10.5vw;
    height: 1vw;
    z-index: 10
}

.swiper-pagination-bullet {
    width: .4vw;
    height: .4vw;
    border-radius: 50%;
    background-color: #d00a8e;
    cursor: pointer
}

.swiper-pagination-bullet-active {
    background-color: #fff
}

.partners-list {
    min-height: 11.8vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 2vw;
    margin-bottom: 2vw
}

.partners-item {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 10vw;
    margin: 1vw 0;
    filter: brightness(0) invert(.7)
}

.partners-item img {
    width: 6.699vw
}

.contacts .content-wrap {
    width: auto;
    padding-top: 2vw
}

.contacts .title {
    margin-bottom: 4.4vw
}

.contacts .content-wrap > p {
    width: 100%;
    margin-top: 1.5vw;
    margin-bottom: 1.5vw;
    font-size: 2vw;
    font-weight: 800;
    text-transform: uppercase;
    color: #3e2068
}

.contacts a {
    color: #3e2068
}

.map {
    margin-top: 6vw
}

#map {
    width: 100%;
    height: 35vw;
    background-color: #fff
}

.gm-style-mtc div {
    font-size: 12px !important
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom .gmnoprint > div {
    width: 35px !important;
    height: 60px !important
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom .gmnoprint > div button {
    width: 35px !important;
    height: 30px !important
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom .gmnoprint > div button + div {
    width: 25px !important
}

.gmnoprint.gm-bundled-control.gm-bundled-control-on-bottom .gmnoprint > div button > img {
    width: 13px !important;
    height: 13px !important;
    padding: 8px !important
}

@media screen and(max-width:1366px) {
    .clients-item .descr {
        font-size: 12px
    }

    .clients-review-item .descr {
        font-size: 10px
    }
}

@media screen and (max-width:1100px) {

    .advantages .content-wrap,
    .clients .content-wrap,
    .precept .content-wrap,
    .project .content-wrap,
    .services .content-wrap {
        width: 100%;
        padding-top: 0
    }

    .clients #sub-head {
        margin-top: 40px
    }

    .clients-item .num {
        font-size: 31px;
        line-height: 33px
    }

    .clients-item .descr {
        font-size: 11px
    }

    .clients-list {
        margin-top: 25px;
        margin-left: 52px;
        margin-bottom: 30px
    }

    .clients-review-list {
        height: 160px
    }

    .clients-review-item {
        padding: 0 30px
    }

    .clients-review-item .descr {
        width: 100%;
        height: 75px;
        margin-left: 30px;
        font-size: 9px
    }

    .clients-review-item img {
        width: 95px
    }

    .swiper-pagination {
        bottom: 15px;
        width: 135px;
        height: 13px
    }

    .swiper-pagination-bullet {
        width: 5px;
        height: 5px
    }

    .partners-list {
        flex-wrap: wrap;
        justify-content: center;
        height: auto;
        min-height: 185px;
        padding-top: 15px;
        padding-bottom: 15px
    }

    .partners-item {
        flex-shrink: 0;
        width: 125px;
        margin-top: 10px;
        margin-bottom: 10px;
        text-align: center
    }

    .partners-item img {
        width: 70px
    }

    .contacts {
        padding-bottom: 0
    }

    .contacts .title {
        margin-top: 40px;
        margin-bottom: 15px
    }

    .contacts .content-wrap > p {
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: 18px
    }

    .map {
        margin-top: 35px
    }

    #map {
        height: 400px
    }
}

@media screen and (max-width:1000px) {
    .clients-list {
        margin-left: 0;
        padding-left: 70px;
        padding-right: 70px
    }
}

@media screen and (max-width:767px) {
    .project-page .content-wrap {
        color: #000
    }

    .clients-list {
        padding-left: 20px;
        padding-right: 20px
    }

    .clients-item {
        text-align: center
    }

    .clients-review-list {
        height: auto;
        min-height: 240px;
        padding: 15px 0 45px
    }

    .clients-review-item {
        flex-direction: column
    }

    .clients-review-item .descr {
        height: auto;
        margin-top: 10px;
        margin-left: 0
    }
}

.main-footer {
    position: relative;
    z-index: 1;
    height: auto;
    padding: 3.7vw 0;
    background-color: #272727
}

.footer-row {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    margin-left: 32vw;
    margin-right: 20vw
}

.footer-row:last-of-type {
    margin-top: 5.35vw;
    margin-bottom: 1.6vw
}

.footer-column {
    flex-shrink: 0;
    width: 11.5vw;
    padding-right: 2vw;
    padding-left: .6vw
}

.footer-column-2 {
    width: 18.6vw
}

.footer-column-3 {
    width: 18vw
}

.footer-row:last-of-type .footer-column {
    width: 50%
}

.footer-list-wrap {
    padding-top: 1.6vw
}

.portfolio-list-wrap {
    margin-top: 2.7vw
}

.main-footer h5 {
    font-size: .8vw;
    margin-bottom: 1.2vw;
    text-transform: uppercase
}

.footer-item {
    padding-bottom: .5vw
}

.footer-item a {
    padding-bottom: .5vw;
    font-size: .76867vw;
    color: #fff;
    transition: .2s
}

@media screen and (min-width:768px) {

    .footer-item a:focus,
    .footer-item a:hover {
        color: silver
    }
}

.socials {
    margin-top: 1.5vw;
    margin-bottom: .5vw
}

.socials h5 {
    margin-bottom: .4vw
}

.social-list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: .5vw
}

.social-item {
    margin-right: .9vw
}

.social-item a svg {
    width: 1.154vw;
    height: 1.648vw;
    fill: silver;
    transition: .3s
}

@media screen and (min-width:768px) {

    .social-item a:focus svg,
    .social-item a:hover svg {
        fill: #fa0cab
    }
}

.write-us {
    margin-top: 2.6vw;
    margin-bottom: 2.9vw
}

.write-us h5 {
    margin-bottom: .8vw
}

.write-us a {
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    font-size: .76867vw;
    color: #fa0cab;
    text-transform: uppercase;
    text-decoration: underline;
    transition: .3s
}

@media screen and (min-width:768px) {

    .write-us a:focus,
    .write-us a:hover {
        color: #d1068e
    }
}

.site img {
    width: 8.511vw;
    margin-bottom: .3vw
}

.site p,
.socials p {
    color: #868686
}

.footer-row:last-of-type p {
    padding-top: .6vw;
    font-size: .73vw
}

.footer-row:last-of-type .footer-column:last-of-type {
    display: flex;
    justify-content: flex-end
}

.copyright-logo {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 3.125vw;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
    -webkit-transition-delay: .6s;
    -o-transition-delay: .6s;
    transition-delay: .6s;
    overflow: hidden
}

.copyright-logo::after {
    content: "Разработано";
    position: absolute;
    width: 0;
    font-family: "Code Pro", sans-serif;
    font-weight: 400;
    font-size: .6vw;
    color: rgba(255, 255, 255, 0);
    left: -4.3vw;
    top: 48%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    -webkit-transition: .3s opacity;
    -o-transition: .3s opacity;
    transition: .3s opacity
}

.copyright-logo svg {
    width: 3.5vw
}

.copyright-logo .st0 {
    fill: #fff;
    stroke: #fff;
    stroke-width: 12;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-miterlimit: 10;
    margin-left: auto;
    -webkit-animation: st0 2s linear 0s infinite normal;
    animation: st0 2s linear 0s infinite normal
}

.copyright-logo .st1 {
    fill: #fff;
    stroke: #fff;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: bevel;
    opacity: 0 !important;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s
}

.copyright-logo #st1 {
    -webkit-transition-delay: .1s;
    -o-transition-delay: .1s;
    transition-delay: .1s
}

.copyright-logo #st2 {
    -webkit-transition-delay: .2s;
    -o-transition-delay: .2s;
    transition-delay: .2s
}

.copyright-logo #st3 {
    -webkit-transition-delay: .3s;
    -o-transition-delay: .3s;
    transition-delay: .3s
}

@media screen and (min-width:768px) {

    .copyright-logo:focus,
    .copyright-logo:hover {
        width: 4.428vw;
        -webkit-transition-delay: 0s;
        -o-transition-delay: 0s;
        transition-delay: 0s;
        overflow: visible
    }

    .copyright-logo:focus::after,
    .copyright-logo:hover::after {
        width: auto;
        color: rgba(255, 255, 255, 1);
        -webkit-transition: .3s color;
        -o-transition: .3s color;
        transition: .3s color;
        -webkit-transition-delay: 1s;
        -o-transition-delay: 1s;
        transition-delay: 1s
    }

    .copyright-logo:focus .st0,
    .copyright-logo:hover .st0 {
        -webkit-animation: none;
        animation: none
    }

    .copyright-logo:focus .st1,
    .copyright-logo:hover .st1 {
        opacity: 1 !important
    }

    .copyright-logo:focus #st1,
    .copyright-logo:hover #st1 {
        -webkit-transition-delay: .4s;
        -o-transition-delay: .4s;
        transition-delay: .4s
    }

    .copyright-logo:focus #st2,
    .copyright-logo:hover #st2 {
        -webkit-transition-delay: .5s;
        -o-transition-delay: .5s;
        transition-delay: .5s
    }

    .copyright-logo:focus #st3,
    .copyright-logo:hover #st3 {
        -webkit-transition-delay: .6s;
        -o-transition-delay: .6s;
        transition-delay: .6s
    }
}

@-webkit-keyframes st0 {
    80% {
        stroke-width: 12
    }

    95% {
        stroke-width: 24
    }

    100% {
        stroke-width: 12
    }
}

@keyframes st0 {
    80% {
        stroke-width: 12
    }

    95% {
        stroke-width: 24
    }

    100% {
        stroke-width: 12
    }
}

@media screen and (max-width:1366px) {
    .main-footer::before {
        left: 1.5vw
    }

    .footer-row {
        margin-left: 22vw
    }

    .footer-column {
        width: 18.5vw
    }

    .footer-column-2 {
        width: 19.6vw
    }

    .footer-column-3 {
        width: 19.6vw
    }

    .footer-item a {
        font-size: 11px
    }

    .footer-row:last-of-type p {
        font-size: 10px
    }

    .main-footer h5 {
        font-size: 11px
    }

    .write-us a {
        font-size: 11px
    }
}

@media screen and (max-width:1100px) {
    .menu-contact h5 {
        font-size: 9px;
        margin-bottom: 10px
    }

    .main-footer {
        padding: 35px 236px
    }

    .footer-row {
        width: 100%;
        margin-left: 0
    }

    .footer-row:last-of-type {
        margin-top: 20px;
        margin-bottom: 0
    }

    .footer-row:last-of-type .footer-column:first-of-type {
        width: 70%
    }

    .footer-row:last-of-type .footer-column:last-of-type {
        width: 30%
    }

    .footer-column {
        width: 203px;
        padding-left: 0;
        padding-right: 24px
    }

    .footer-column-2 {
        width: 214px;
        padding-left: 17px
    }

    .footer-column-3 {
        width: 225px;
        padding-left: 21px
    }

    .main-footer h5 {
        margin-bottom: 9px
    }

    .footer-item {
        padding-bottom: 5px
    }

    .footer-item a {
        padding-bottom: 0
    }

    .socials {
        margin-top: 15px;
        margin-bottom: 5px
    }

    .social-list {
        margin-top: 5px
    }

    .social-item {
        margin-right: 15px
    }

    .social-item a svg {
        width: 20px;
        height: 35px
    }

    .write-us {
        margin-top: 25px;
        margin-bottom: 30px
    }

    .site img {
        width: 120px;
        margin-bottom: 6px
    }

    .copyright-logo {
        width: 40px;
        overflow: visible
    }

    .copyright-logo::after {
        width: auto;
        left: -65px;
        top: 36%;
        font-size: 10px !important;
        color: rgba(255, 255, 255, 1)
    }

    .copyright-logo svg {
        width: 38px
    }

    .copyright-logo .st1 {
        opacity: 1 !important
    }
}

@media screen and (max-width:1000px) {
    .main-footer {
        padding-left: 70px;
        padding-right: 70px
    }

    .footer-row {
        justify-content: space-between
    }
}

@media screen and (max-width:767px) {
    .main-footer {
        padding-left: 20px;
        padding-right: 20px
    }

    .footer-row {
        justify-content: center;
        align-items: center;
        text-align: center
    }

    .footer-column-1,
    .footer-column-2 {
        display: none
    }

    .footer-row:last-of-type {
        flex-direction: column
    }

    .footer-column {
        padding: 0
    }

    .social-list {
        justify-content: center
    }

    .social-item:last-of-type {
        margin-right: 0
    }

    .footer-row:last-of-type .footer-column:first-of-type {
        width: 100%
    }

    .footer-row:last-of-type .footer-column:last-of-type {
        justify-content: center;
        margin-top: 10px;
        margin-left: 70px
    }
}

.info {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    text-align: center;
    padding: 27px 15px;
    font-size: 14px;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    line-height: 1;
    color: #fff;
    z-index: 999;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.3);
}

.send {
    opacity: 1;
    pointer-events: auto;
}

.success-message,
.error-message {
    text-align: center;
    padding: 27px 15px;
    font-size: 14px;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    -moz-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
    font-family: "Open Sans", sans-serif;
    font-weight: 800;
    line-height: 1.5;
    color: #fff;
    z-index: 1;
    background-color: #fc0cab;
    position: absolute;
    max-width: 400px;
}

.info.success .success-message,
.info.error .error-message {
    opacity: 1;
    pointer-events: auto;
}

/*@-webkit-keyframes fade-out {
    80% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@-moz-keyframes fade-out {
    80% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@-o-keyframes fade-out {
    80% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}

@keyframes fade-out {
    80% {
        opacity: 1
    }

    100% {
        opacity: 0
    }
}*/
