body {
    font-family: 'Suisse Intl';
    margin: 0;
}

body * {
    transition: all 0.5s ease-in-out;
}

h2 {
    color: #152690;
    font-size: 2.3018125vw;
    font-weight: 500;
    line-height: 2.8125vw;
    margin: 0;
    text-transform: uppercase;
}

p, blockquote {
    color: #152690;
    font-size: 1.09375vw;
    font-weight: 400;
    letter-spacing: -0.04em;
    line-height: 1.328125vw;
    margin: 0;
    padding: 0;
}

section {
    margin: 0 auto;
}

.showMenu {
}

/* Ð¼ÐµÐ½ÑŽ */
#menuButton {
    border: 0;
    cursor: pointer;
    display: block;
    height: 3.5128906250000003vw;
    left: 91.4453125vw;
    position: fixed;
    top: 1.796875vw;
    width: 3.5128906250000003vw;
    z-index: 11;
}

#menuButton::after {
    background: #FFFFFF;
    bottom: 0%;
    content: "";
    cursor: pointer;
    filter: blur(2.138671875vw);
    left: 0%;
    position: absolute;
    right: 0%;
    top: 0%;
    z-index: -1;
}

.showMenu #menuButton {
    position: fixed;
}

#bottomMenu {
    background: white;
    overflow: hidden;
    width: 100%;
}

#bottomMenu menu {
    display: flex;
    justify-content: space-between;
    list-style: none;
    margin: 0 auto;
    padding: 1.640625vw 0;
    width: 47.03125vw;
}

#bottomMenu li {
    display: inline-block;
}

#bottomMenu a {
    color: #000000;
    font-size: 1.0546875vw;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 110%;
    text-decoration: none;
}

#bottomMenu a:hover {
    color: #152690;
}

/* Ð½Ð°Ð²Ð¸Ð³Ð°Ñ†Ð¸Ñ */
#navigation {
    margin-bottom: 7.6953125vw;
    padding-bottom: 0;
}

#navigation h2 {
    margin: 9.84375vw 0 6.2890625vw 0;
    text-align: center;
}

#navigation menu {
    display: flex;
    justify-content: space-evenly;
    margin: 0;
    padding: 0 1.953125vw;
}

#navigation li {
    background: #ddd;
    background-position: center;
    background-size: cover;
    background-size: 100%;
    border-radius: 1.171875vw;
    display: flex;
    flex: none;
    flex-grow: 0;
    height: 21.3078125vw;
    justify-content: center;
    list-style: none;
    order: 0;
    overflow: hidden;
    position: relative;
    transition: all 0.5s ease-in;
    width: 29.863671874999998vw;
}

#navigation li:hover {
    background-position: center;
    background-size: 124%;
}

#navigation li:hover a {
    color: #124FBC;
    font-size: 2.28260546875vw;
    font-weight: 700;
    height: 8.30546875vw;
    letter-spacing: -0.04em;
    line-height: 2.3046875vw;
    padding-bottom: 4.217578124999999vw;
    padding-left: 2.0765624999999996vw;
    padding-right: 1.2203125vw;
    padding-top: 8.784765624999999vw;
    width: 26.566796874999998vw;
}

#navigation li::before {
    background: white;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    opacity: 0.0;
    position: absolute;
    top: 0;
    width: 100%;
    transition: all 0.5s ease-in-out;
}

#navigation li:hover::before {
    opacity: 0.7;
}

#navigation .stage1 {
    background-image: url(../images/home/stage1.png);
}

#navigation .stage2 {
    background-image: url(../images/home/stage2.png);
}

#navigation .stage3 {
    background-image: url(../images/home/stage3.png);
}

#navigation a {
    background-size: cover;
    color: #FFFFFF;
    display: block;
    font-family: 'Suisse Intl';
    font-size: 1.7265859375vw;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.7578125vw;
    padding: 8.7890625vw 4.04609375vw 8.7890625vw 3.19453125vw;
    text-decoration: none;
    width: 22.65625vw;
    z-index: 1;
}

/* bluebox */
header.blueBox {
    background: #152690;
    border-radius: 1.6015625vw;
    margin: 3.75vw auto 0 auto;
    padding: 1.40625vw 2.03125vw;
    width: 64.6484375vw;
}

header.blueBox h1 {
    color: #FFFFFF;
    font-family: 'Suisse Intl';
    font-size: 2.3018125vw;
    font-style: normal;
    font-weight: 500;
    line-height: 2.8125vw;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
}

header.blueBox strong {
    display: block;
}

header.blueBox p {
    color: #FFFFFF;
    font-family: 'Suisse Intl';
    font-size: 1.4391328124999998vw;
    font-style: normal;
    font-weight: 300;
    letter-spacing: -0.04em;
    line-height: 1.953125vw;
    margin: 1.9921875vw 0;
    text-align: right;
    width: 64.6484375vw;
}

header.blueBox img {
    border-radius: 2.34375vw;
    width: 100%;
}

#dropdownMenu {
    height: 100%;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
}

#dropdownMenu #menuBackground {
    background: #D9D9D9;
    height: 100%;
    left: 0;
    opacity: 0;
    opacity: 0.7;
    position: absolute;
    top: 0;
    width: 100%;
}

#dropdownMenu #topMenu {
    background: #fff;
    height: 100%;
    position: absolute;
    right: -299px;
    top: 0;
    width: 299px;
}

.showMenu #dropdownMenu #topMenu {
    right: 0;
}

#dropdownMenu menu {
    font-family: 'Suisse Intl';
    font-size: 27px;
    font-style: normal;
    font-weight: 400;
    letter-spacing: -0.02em;
    line-height: 110%;
    list-style: none;
    margin: 0;
    margin-left: 37px;
    margin-top: 246px;
    padding: 0;
}

#dropdownMenu li {
    margin-bottom: 35px;
}

#dropdownMenu a {
    color: #000;
    text-decoration: none;
}

#dropdownMenu a:hover {
    color: #152690;
}

#menuCloseButton {
    background: transparent;
    background: url(../images/menuCloseButton.svg);
    border: 0;
    cursor: pointer;
    display: block;
    height: 89.93px;
    margin-left: 80px;
    margin-top: 46px;
    width: 89.93px;
}

.showMenu #dropdownMenu {
    opacity: 1;
    pointer-events: all;
}

#popupContainer {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    left: 0;
    opacity: 0;
    pointer-events: none;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 11;
}

#popupContainer #contactPopup,
#popupContainer #aplicationPopup,
#popupContainer #navigationPopup {
    display: none;
}

.showContactsPopup #popupContainer,
.showContactsPopup #popupContainer #contactPopup,
.showApplicationPopup #popupContainer,
.showApplicationPopup #popupContainer #aplicationPopup {
    display: flex;
    opacity: 1;
    pointer-events: all;
}

#popupContainer aside {
    margin-right: -200%;
}

.animated #popupContainer aside {
    margin-right: 0;
}

.showNavigationPopup #popupContainer {
    align-content: space-between;
    align-items: center;
    display: flex;
    flex-direction: column;
    opacity: 1;
    pointer-events: all;
}

.showNavigationPopup #popupContainer #navigationPopup {
    display: flex;
    flex-direction: column;
    padding: 0 1.9921875vw;
}

#popupBackground {
    background: black;
    height: 100%;
    opacity: 0.3;
    position: absolute;
    width: 100%;
}

#popupContainer aside {
    background: #FFFFFF;
    border-radius: 2.34375vw;
    display: flex;
    height: 25.546875vw;
    padding: 7.3046875vw 3.90625vw;
    top: 0;
    width: 61.320703124999994vw;
    z-index: 4;
}

#popupContainer h3 {
    align-items: center;
    color: #152690;
    font-family: 'Suisse Intl';
    font-size: 2.3018125vw;
    font-style: normal;
    font-weight: 500;
    height: 5.625vw;
    line-height: 2.8125vw;
    margin-bottom: 0.859375vw;
    margin-top: 0;
    text-transform: uppercase;
    width: 26.171875vw;
}

#popupContainer form {
    margin-right: 1.953125vw;
}

#popupContainer input {
    border: 0;
    border-bottom: 1px solid #152690;
    color: #152690;
    display: block;
    font-size: 1.4391328124999998vw;
    font-weight: 300;
    height: 3.90625vw;
    height: 2.8125vw;
    line-height: 1.953125vw;
    outline: none;
    padding-bottom: 0.859375vw;
    padding-top: 0.859375vw;
    width: 19.046875vw;
    width: 100%;
}

#popupContainer label {
    align-items: flex-start;
    color: rgba(21, 38, 144, 0.6);
    display: flex;
    font-family: 'Suisse Intl';
    font-size: 0.859375vw;
    font-style: normal;
    font-weight: 300;
    height: 2.109375vw;
    letter-spacing: -0.04em;
    line-height: 1.0546875vw;
    margin-bottom: 0.859375vw;
    margin-top: 0.859375vw;
    user-select: none;
    width: 23.3203125vw;
}

#popupContainer textarea {
    border: 0;
    border-bottom: 0.0390625vw solid #152690;
    color: #152690;
    display: block;
    font-size: 1.4391328124999998vw;
    font-weight: 300;
    height: 3.7109375vw;
    line-height: 1.953125vw;
    outline: none;
    padding-bottom: 0.859375vw;
    padding-top: 0.859375vw;
    width: 19.046875vw;
    width: 100%;
}

#popupContainer textarea:focus,
#popupContainer input:focus {
    border-bottom-width: 2px;
}

#popupContainer button {
    background: #152690;
    border-radius: 1.7578125vw;
    color: white;
    cursor: pointer;
    display: block;
    font-size: 1.09375vw;
    font-weight: 500;
    height: 2.8304687499999996vw;
    line-height: 1.25vw;
    margin-top: 3vw;
    width: 10.03125vw;
}

#popupContainer button:hover {
    background: white;
    border: 1px solid #000;
    color: #000;
}

#popupContainer .viewer3d {
    background: center center url(../images/popups/sliderPreview.jpg);
    background-size: cover;
    border-radius: 1.640625vw;
    display: inline-block;
    height: 25.5515625vw;
    width: 34.318749999999994vw;
}

input::placeholder,
textarea::placeholder {
    color: #152690;
    opacity: 1;

    /* Firefox */
}

#popupContainer input[type=checkbox] {
    height: 1px;
    margin-top: 1.0800781249999998vw;
    opacity: 0; 
    position: absolute;
    width: 1px;
}

#popupContainer label .fakeCheckbox {
    border: 0.05859375vw solid #152690;
    border-radius: 0.2734375vw;
    box-sizing: border-box;
    display: inline;
    height: 1.0800781249999998vw;
    margin: 0 0.5859375vw 0 0;
    padding: 0;
    width: 1.5726562499999999vw;
}

#popupContainer label input[type=checkbox]:checked+.fakeCheckbox {
    background: center 0.1171875vw #152690 url(../images/popups/check.svg) no-repeat;
}

#popupContainer aside#navigationPopup {
    background: #FFFFFF;
    border-radius: 2.734375vw;
    height: 40.13671875vw;
    width: 100%;
}

#navigationPopup {
    transform: scale(0.76);
    width: 100%;
}

#navigationPopup h3 {
    display: block;
    margin: 6.25vw 0 3.125vw 0;
    text-align: center;
    width: 100%;
}

#navigationPopup menu {
    display: flex;
    justify-content: space-around;
    margin: 0;
    padding: 0 1.953125vw;
}

#navigationPopup li {
    background: #ddd;
    background-position: center;
    background-size: cover;
    background-size: 100%;
    border-radius: 1.171875vw;
    display: flex;
    flex: none;
    flex-grow: 0;
    height: 21.3078125vw;
    justify-content: center;
    list-style: none;
    order: 0;
    overflow: hidden;
    position: relative;
    transition: all 0.5s ease-in;
    width: 29.863671874999998vw;
}

#navigationPopup li:hover {
    background-position: center;
    background-size: 124%;
}

#navigationPopup li:hover a {
    color: #124FBC;
    font-size: 2.28260546875vw;
    font-weight: 700;
    height: 8.30546875vw;
    letter-spacing: -0.04em;
    line-height: 2.3046875vw;
    padding-bottom: 4.217578124999999vw;
    padding-left: 2.0765624999999996vw;
    padding-right: 1.2203125vw;
    padding-top: 8.784765624999999vw;
    width: 26.566796874999998vw;
}

#navigationPopup li::before {
    background: white;
    content: '';
    display: block;
    height: 100%;
    left: 0;
    opacity: 0.0;
    position: absolute;
    top: 0;
    width: 100%;
    transition: all 0.5s eaose-in-out;
}

#navigationPopup li:hover::before {
    opacity: 0.7;
}

#navigationPopup .stage1 {
    background-image: url(../images/home/stage1.png);
}

#navigationPopup .stage2 {
    background-image: url(../images/home/stage2.png);
}

#navigationPopup .stage3 {
    background-image: url(../images/home/stage3.png);
}

#navigationPopup a {
    background-size: cover;
    color: #FFFFFF;
    display: block;
    font-family: 'Suisse Intl';
    font-size: 1.7265859375vw;
    font-style: normal;
    font-weight: 700;
    letter-spacing: -0.04em;
    line-height: 1.7578125vw;
    padding: 8.7890625vw 4.04609375vw 8.7890625vw 3.19453125vw;
    text-decoration: none;
    width: 22.65625vw;
    z-index: 1;

    /* or 102% */
}

/* close button animation */
#menuButton {
    border: 0.078125vw solid #000;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    height: 3.359375vw;
    width: 3.359375vw;
}

#iconContents {
    -moz-transform: rotate(0deg);
    -moz-transition: .5s ease-in-out;
    -o-transform: rotate(0deg);
    -o-transition: .5s ease-in-out;
    -webkit-transform: rotate(0deg);
    -webkit-transition: .5s ease-in-out;
    height: 2.5390625vw;
    margin: 0.390625vw;
    position: relative;
    transform: rotate(0deg);
    transition: .5s ease-in-out;
    width: 2.5390625vw;
}

#iconContents span {
    -moz-transform: rotate(0deg);
    -moz-transition: .25s ease-in-out;
    -o-transform: rotate(0deg);
    -o-transition: .25s ease-in-out;
    -webkit-transform: rotate(0deg);
    -webkit-transition: .25s ease-in-out;
    background: #000;
    border-radius: 0px;
    display: block;
    height: 2px;
    left: 0;
    opacity: 1;
    position: absolute;
    transform: rotate(0deg);
    transition: .25s ease-in-out;
    width: 100%;
}

#iconContents span:nth-child(1) {
    top: 0.8984375vw;
}

#iconContents span:nth-child(2), #iconContents span:nth-child(3) {
    top: 1.25vw;
}

#iconContents span:nth-child(4) {
    top: 1.6015625vw;
}

#iconContents.open span:nth-child(1) {
    left: 50%;
    top: 1.25vw;
    width: 0%;
}

#iconContents.open span:nth-child(2) {
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#iconContents.open span:nth-child(3) {
    -moz-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}

#iconContents.open span:nth-child(4) {
    left: 50%;
    top: 1.25vw;
    width: 0%;
}

/* menu icon fixes */
@media only screen and (max-width: 1400px) {
    #iconContents span {
        height: 1px;
    }
}

/* mobile */
@media only screen and (max-width: 600px) {
    #menuButton {
        margin-top: 20px;
        transform: scale(2);
    }

    #popupContainer aside {
        transform: scale(1.4);
    }

    #popupContainer aside#navigationPopup {
        height: auto;
        width: 40%;
    }

    #navigation{
        height: 213vw;
        overflow: hidden;
    }

    #navigation menu{
        margin-top: 66.66666666666667vw;
        flex-direction: column;
        align-items: center;
        transform: scale(2.5);
    }

    #navigation li{
        margin-bottom: 3.3333333333333335vw;
    }

    #navigationPopup menu {
        align-items: center;
        display: flex;
        flex-direction: column;
    }

    #navigationPopup li {
        margin-bottom: 5vw;
    }

    aside#contactPopup,
    aside#aplicationPopup {
        transform: scale(2);
        width: 40%;
    }

    #popupContainer form {
        margin: 0;
        width: 100%;
    }

    #popupContainer .viewer3d {
        display: none;
    }

    #popupContainer label {
        font-size: 1.3vw;
        height: auto;
        line-height: 120%;
        width: auto;
    }

    h2{
        font-size: 150%;
        line-height: 150%;
    }

    #bottomMenu menu{
        padding: 2.8vw 0 !important;
        width: 90vw !important;
    }
    #bottomMenu a{
        font-size: 1.8vw !important;
        line-height: 110% !important;
    }

    header.blueBox h1{
        font-size: 130%;
        line-height: 110%;
    }

    header.blueBox p{
        font-size: 90%;
        line-height: 100%;
    }

    .showMenu #dropdownMenu #topMenu {
        right: 0;
        margin: 0;
        width: 100%;
    }

    #dropdownMenu menu{
        margin-left: 0;
    }

    #dropdownMenu li {
        text-align: center;
        font-size: 100%;
    }
}

@media only screen and (max-width: 530px) {
    #menuButton {
        border: 2px solid #000;
        height: 43px;
        width: 43px;
        transform: inherit;
        left: inherit;
        right: 10px;
    }

    #iconContents {
        height: 32.5px;
        margin: 5px;
        width: 32.5px;
    }

    #iconContents span {
        height: 2px;
    }

    #iconContents span:nth-child(1) {
        top: 11px;
    }

    #iconContents span:nth-child(2), #iconContents span:nth-child(3) {
        top: 16px;
    }

    #iconContents span:nth-child(4) {
        top: 21px;
    }

    #iconContents.open span:nth-child(1) {
        top: 13px;
    }

    #iconContents.open span:nth-child(4) {
        top: 13px;
    }
}

@media only screen and (max-width: 400px) {
    #navigation {
        height: 223vw;
    }
}

@media only screen and (max-width: 330px) {
    #navigation {
        height: 240vw;
    }
}