/* Fonts */
@font-face {
    font-family: 'Futura Futuris';
    src: url('../fonts/futura_futuris_regular.woff2') format('woff2'),
    url('../fonts/futura_futuris_regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

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

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-ExtraLight.woff2') format('woff2'),
    url('../fonts/NotoSans-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}

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

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Italic.woff2') format('woff2'),
    url('../fonts/NotoSans-Italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-Bold.woff2') format('woff2'),
    url('../fonts/NotoSans-Bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Noto Sans';
    src: url('../fonts/NotoSans-BoldItalic.woff2') format('woff2'),
    url('../fonts/NotoSans-BoldItalic.woff') format('woff');
    font-weight: 700;
    font-style: italic;
}

/* Reset */
*,
*:before,
*:after {
    margin: 0;
    padding: 0;
    font: inherit;
    box-sizing: border-box;
}

html {
    font-size: 10px;
}

@media (max-width: 640px) {
    html {
        font-size: 1.5625vw;
    }
}

@media (max-width: 480px) {
    html {
        font-size: 2vw;
    }
}

body {
    padding: 150px 0 0;
    font: normal 400 1.4rem/1.5 sans-serif;
    color: #000;
    background: #f3f3f3;
}

@media (max-width: 640px) {
    body {
        padding-top: 0;
    }
}

a {
    color: inherit;
    text-decoration: none;
}

strong {
    font-weight: 700;
}

em {
    font-style: italic;
}

ul, ol {
    list-style: none;
}

label {
    line-height: 1;
}

input,
select,
textarea,
button {
    line-height: 1;
    color: inherit;
    background: none;
    border: none;
    outline: none;
}

button {
    cursor: pointer;
}

img {
    border: none;
}

/* Button */
.btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: calc(14 / 12 * 1em) calc(42 / 12 * 1em) calc(11 / 12 * 1em) calc(46 / 12 * 1em);
    font: normal 700 1.2em/1.7 'Noto Sans', sans-serif;
    letter-spacing: calc(2.5 / 12 * 1em);
    text-transform: uppercase;
    transition: all 0.3s;
    cursor: pointer;
}

.btn_type_primary {
    color: #232324;
    background: #fff;
    border: 1px solid #858585;
}

.btn_type_primary:hover {
    color: #fff;
    background-color: #232324;
    border-color: #232324
}

.btn_type_secondary {
    color: #232324;
    background: transparent;
    border: 1px solid #B8BBBD;
}

.btn_type_secondary:hover {
    background-color: #F7F7F7;
    border-color: #F7F7F7
}


/* Site */
.site {
    width: 1060px;
    margin: 0 auto;
    color: #414042;
    background: #fff;
}

@media (max-width: 640px) {
    .site {
        width: 100%;
    }
}

/* Site Head Logo */
.site-head-logo img {
    display: block;
    max-width: 100%;
    height: auto;
}

/* Site Age Rating */
.site-age-rating {
    width: 30px;
    height: 30px;
    font-weight: 700;
    font-size: 12px;
    line-height: 30px;
    text-align: center;
    letter-spacing: -1px;
    color: #ca0f09;
    border-radius: 50%;
    border: 1px solid currentColor;
    user-select: none;
}

.site-age-rating:first-letter {
    letter-spacing: 0;
}

/* Site Head Desktop */
.site-head-desktop {
    display: flex;
    flex-direction: column;
    padding: 30px 0 0;
    background: #fff;
    border-top: 5px solid #ccc;
    border-bottom: 1px solid #000;
}

.site-head-desktop__section {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin: 0 0 30px;
    padding: 0 15px;
}

.site-head-desktop__section:last-child {
    margin-bottom: 0;
}

.site-head-desktop__age-rating {
    margin: 0 0 0 auto;
}

@media (max-width: 640px) {
    .site-head-desktop {
        display: none;
    }
}

/* Site Head Desktop Nav */
.site-head-desktop-nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 0 14px;
}

.site-head-desktop-nav ul {
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    width: 100%;
    font-size: 16px;
    font-family: 'Futura Futuris', sans-serif;
    letter-spacing: -0.035em;
}

.site-head-desktop-nav li {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 1 auto;
    text-transform: uppercase;
    white-space: nowrap;
}

.site-head-desktop-nav li + li {
    margin-left: 10px;
    padding-left: 9px;
    border-left: 1px solid #ccc;
}

.site-head-desktop-nav a {
    position: relative;
    transition: color 0.3s;
}

.site-head-desktop-nav a:hover {
    color: #ca0f09;
}

.site-head-desktop-nav a:after {
    content: '';
    position: absolute;
    bottom: -16px;
    left: 0;
    width: 100%;
    height: 4px;
    transform: translateY(100%);
    transition: all 0.3s;
    z-index: 1;
}

.site-head-desktop-nav a:hover:after {
    background: #ca0f09;
    transform: translateY(0);
}

/* Site Head Mobile */
.site-head-mobile {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 3vw;
    padding: 1rem 1.5rem;
    background: #fff;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.site-head-mobile__head {
    display: flex;
    justify-content: flex-start;
    width: 15%;
    margin: 0 auto 0 0;
}

.site-head-mobile__body {
    display: flex;
    justify-content: center;
    width: 70%;
    margin: 0 auto;
}

.site-head-mobile__tail {
    display: flex;
    justify-content: flex-end;
    width: 15%;
    margin: 0 0 0 auto;
}

.site-head-mobile__logo {
    max-width: 16.5em;
}

@media (min-width: 641px) {
    .site-head-mobile {
        display: none;
    }
}

/* Nav */
.nav {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 4em;
    font-size: 1rem;
    color: #414042;
    background: #E6E6E6;
}

.nav__items {
    display: flex;
    align-items: center;
    height: 100%;
}

.nav__items:nth-child(1) {
    flex: 1 1 auto;
    margin: 0 auto;
    padding: 0 0 0 425px;
}

.nav__items:nth-child(2) {
    justify-content: flex-end;
    margin: 0 0 0 auto;
}

.nav__item {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 0 calc(30 / 12 * 1em);
    font: normal 700 1.2em/1.7 'Noto Sans', sans-Serif;
    letter-spacing: calc(2.5 / 12 * 1em);
    text-transform: uppercase;
    color: inherit;
    transition: all 0.3s;
    cursor: pointer;
}

.nav__item + .nav__item {
    padding-left: 0;
}

.nav__item:hover {
    color: #D6A76F;
}

.nav__item-chevron {
    display: block;
    stroke: currentColor;
    margin: 0 0 0 calc(7 / 12 * 1em);
}

.nav__dropdown {
    position: absolute;
    top: 100%;
    z-index: 1000;
    min-width: calc(185 / 12 * 1em);
    width: 100%;
    color: #414042;
    background: #E6E6E6;
    opacity: 0;
    transition: all 0.3s;
    pointer-events: none;
}

.nav__item:hover .nav__dropdown {
    opacity: 1;
    pointer-events: auto;
}

.nav__dropdown_align_left {
    left: 0;
}

.nav__dropdown_align_right {
    right: 0;
}

.nav__dropdown-item {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: calc(10 / 12 * 1em) 0;
    font: normal 700 1em/1.7 'Noto Sans', sans-Serif;
    letter-spacing: calc(2.5 / 12 * 1em);
    text-transform: uppercase;
    color: inherit;
    border-top: 1px solid #C3B9B1;
    transition: all 0.3s;
}

.nav__dropdown-item:hover {
    color: #D6A76F;
}

@media (max-width: 640px) {
    .nav__items:nth-child(1) {
        justify-content: flex-start;
        width: auto;
        margin: 0;
        padding: 0;
    }

    .nav__items:nth-child(2) {
        width: auto;
    }

    .nav__item {
        padding: 0 calc(20 / 12 * 1em);
    }

    .nav__dropdown {
        min-width: calc(245 / 12 * 1em);
    }
}

/* Intro */
.intro {
    display: flex;
    margin: 0 0 11em;
    font-size: 1rem;
}

.intro__picture {
    position: relative;
    flex: 0 0 auto;
    max-width: 100%;
    width: 415px;
    background: #E6E6E6;
}

.intro__picture:before {
    content: '';
    display: block;
    width: 100%;
    padding: calc(468 / 415 * 100%) 0 0;
}

.intro__img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin: auto;
}

.intro__content {
    position: relative;
    flex: 1 1 auto;
    padding: 3.2em 2em 0.6em 4em;
    color: #000;
    background: url('../img/intro-bg_desktop.png') no-repeat 100% 0;
}

.intro__title {
    margin: 0 0 calc(17 / 42 * 1em);
    font: normal 700 4.2em/1.5em 'Noto Sans', sans-serif;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.intro__text {
    margin: 0 0 4.6em;
}

.intro__text p {
    font: normal 200 2.1em/normal 'Noto Sans', sans-serif;
    letter-spacing: 0.02em;
}

.intro__text p + p {
    margin-top: calc(15 / 21 * 1em);
}

.intro__text p strong {
    font-weight: 400;
}

.intro__cities {
    margin: 0 0 calc(31 / 19 * 1em);
    font: normal 200 1.9em/1.6 'Noto Sans', sans-serif;
}

.intro__note {
    font: normal 200 1.05em/1.6 'Noto Sans', sans-serif;
}

.intro__logo {
    position: absolute;
    right: 2em;
    bottom: 2em;
    width: 9.1em;
    height: auto;
}

@media (max-width: 640px) {
    .intro {
        flex-direction: column;
        margin-bottom: 9em;
    }

    .intro__picture {
        width: 640px;
    }

    .intro__picture:before {
        padding-top: calc(441 / 640 * 100%);
    }

    .intro__content {
        padding: 4em 12em 1.5em 1.5em;
        background-image: url('../img/intro-bg_mobile.png');
        background-size: 64em 48em;
    }

    .intro__logo {
        right: 1.5em;
    }
}

@media (max-width: 480px) {
    .intro__content {
        padding-right: 1.5em;
    }

    .intro__note {
        padding-right: calc(110 / 16 * 1em);
        font-size: 1.6em;
    }

    .intro__logo {
        width: 8em;
    }
}

/* Section */
.section {
    font-size: 1rem;
}

.section__head {
    padding: 0 0 0 10.5em;
}

.section__title {
    font: normal 700 2.4em/1.7 'Noto Sans', sans-serif;
    letter-spacing: calc(21 / 24 * 1em);
    text-transform: uppercase;
}

.section__body {
    padding: 0 0 0 19em;
}

@media (max-width: 640px) {
    .section__head {
        padding-left: 1.5em;
    }

    .section__body {
        padding-left: 7em;
    }

    .section__title {
        font-size: 1.8em;
        line-height: 2.2;
        letter-spacing: calc(16 / 18 * 1em);
    }
}

@media (max-width: 480px) {
    .section__title {
        letter-spacing: calc(14 / 18 * 1em);
    }

    .section__body {
        padding-left: 3em;
    }
}

/* Manifest */
.manifest {
    margin: 0 0 18.4em;
}

.manifest__head {
    margin-bottom: 2.4em;
}

.manifest__body {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
}

.manifest__picture {
    position: relative;
    flex: 0 0 auto;
    max-width: 100%;
    width: 370px;
}

.manifest__picture:before {
    content: '';
    display: block;
    width: 100%;
    padding: calc(383 / 370 * 100%) 0 0;
}

.manifest__img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin: auto;
}

.manifest__content {
    max-width: 100%;
    width: 435px;
}

.manifest__text {
    font: normal 400 1.6em/1.9 'Noto Sans', sans-serif;
}

@media (max-width: 640px) {
    .manifest {
        margin-bottom: 13em;
    }

    .manifest__body {
        flex-direction: column;
    }

    .manifest__content {
        width: 80%;
        margin-bottom: 3.5em;
    }

    .manifest__text {
        font-size: 1.4em;
        line-height: 1.8;
    }

    .manifest__picture {
        width: 65%;
    }
}

@media (max-width: 480px) {
    .manifest__content {
        width: 100%;
        padding-right: 1.5em;
    }

    .manifest__picture {
        width: 100%
    }
}

/* Features */
.features {
    margin: 0 0 14.5em;
}

.features__head {
    margin-bottom: 2em;
}

.features__body {
    display: flex;
    flex-wrap: wrap;
    margin: -8em 0 0 0;
}

.features__feature {
    display: flex;
    align-items: flex-start;
    width: 50%;
    padding: 8em 8.5em 0 0;
}

.features__feature-icon {
    flex: 0 0 auto;
    display: block;
    max-width: 100%;
    width: 6.5em;
    height: auto;
    margin: 0 2.5em 0 0;
}

.features__feature-title {
    font: normal 400 1.4em/1.8 'Noto Sans', sans-serif;
}

@media (max-width: 640px) {
    .features {
        margin-bottom: 14em;
    }

    .features__body {
        flex-direction: column;
        margin: -4em 0 0;
    }

    .features__feature {
        width: 100%;
        max-width: 370px;
        padding: 4em 3em 0 0;
    }

    .features__feature:nth-child(odd) {
        order: -1;
    }

    .features__feature-icon {
        width: 5em;
        margin: 0 1.5em 0 0;
    }

    .features__feature-title {
        font-size: 1.2em;
        line-height: 1.7;
    }
}

@media (max-width: 480px) {
    .features__feature {
        max-width: 350px;
    }

    .features__feature-title {
        font-size: 1.6em;
        line-height: 1.4;
    }
}

/* About */
.about__head {
    margin-bottom: 1em;
}

.about__text {
    max-width: 590px;
    font: normal 400 1.6em/1.9 'Noto Sans', sans-serif;
}

@media (max-width: 640px) {
    .about__head {
        margin-bottom: 1.5em;
    }

    .about__text {
        max-width: 80%;
        font-size: 1.4em;
        line-height: 1.8;
    }
}

@media (max-width: 480px) {
    .about__text {
        max-width: none;
        padding-right: 1em;
    }
}

/* Main About */
.main-about {
    margin: 0 0 10.5em;
    padding: 9em 0 27.5em;
    background: #F7F7F7 url('../img/main-about-bg_desktop.png') no-repeat 0 calc(100% - 1em);
}

@media (max-width: 640px) {
    .main-about {
        margin-bottom: 7.5em;
        padding: 8em 0 20em;
        background-image: url('../img/main-about-bg_mobile.png');
        background-position: 0 calc(100% - 2.5em);
        background-size: 64em 43.3em;
    }
}

@media (max-width: 480px) {
    .main-about {
        background-position: -4em 9em;
    }
}

/* Lavrentev */
.lavrentev {
    display: flex;
    align-items: flex-start;
    font-size: 1rem;
    padding: 0 0 0 11em;
}

.lavrentev__picture {
    position: relative;
    flex: 0 0 auto;
    max-width: 100%;
    width: 226px;
    margin: 0 7.7em 0 0;
}

.lavrentev__picture:before {
    content: '';
    display: block;
    width: 100%;
    padding: calc(288 / 226 * 100%) 0 0;
}

.lavrentev__img {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    margin: auto;
}

.lavrentev__content {
    max-width: 100%;
    width: 505px;
}

.lavrentev__title {
    margin: 0 0 calc(10 / 22 * 1em);
    font: normal 700 2.2em/1.6 'Noto Sans', sans-serif;
    letter-spacing: calc(3.26 / 22 * 1em);
}

.lavrentev__text {
    font: normal 400 1.6em/1.9 'Noto Sans', sans-serif;
}

@media (max-width: 640px) {
    .lavrentev {
        padding: 0 4em 0 5em;
    }

    .lavrentev__picture {
        width: 14.5em;
        margin: 0 3em 0 0;
    }

    .lavrentev__title {
        margin-bottom: calc(24 / 20 * 1em);
        font-size: 2em;
        line-height: 1.7;
        letter-spacing: calc(2.1 / 20 * 1em);
    }
}

@media (max-width: 480px) {
    .lavrentev {
        flex-direction: column;
        padding: 0 3em;
    }

    .lavrentev__picture {
        margin: 0 0 3em;
    }
}

/* Main Lavrentiev */
.main-lavrentev {
    margin-bottom: 9.5em;
}

@media (max-width: 640px) {
    .main-lavrentev {
        margin-bottom: 12.5em;
    }
}

/* Registration */
.registration {
    padding: 11em 0;
    background: #F7F7F7 url('../img/registration-bg_desktop.png') no-repeat 100% 0;
}

.registration__head {
    margin-bottom: 4em;
}

.registration__steps {
    margin: 0 0 6em;
    counter-reset: steps-counter;
}

.registration__step {
    counter-increment: steps-counter;
}

.registration__step:before {
    content: counter(steps-counter);
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(55 / 24 * 1em);
    height: calc(55 / 24 * 1em);
    margin: 0 calc(20 / 24 * 1em) 0 0;
    font: normal 700 2.4em/1 'Noto Sans', sans-serif;
    color: #414042;
    background: #C4C4C4;
    border-radius: 50%;
}

.registration__step + .registration__step {
    margin-top: 4.5em;
}

.registration__step-title {
    margin: 0 0 calc(5 / 12 * 1em);
    font: normal 700 1.2em/1.7 'Noto Sans', sans-serif;
    letter-spacing: calc(2.5 / 12 * 1em);
    text-transform: uppercase;
}

.registration__step-text {
    font: normal 400 1.6em/1.9 'Noto Sans', sans-serif;
}

@media (max-width: 640px) {
    .registration {
        background-image: url('../img/registration-bg_mobile.png');
        background-size: 64em 56em;
    }

    .registration__head {
        margin-bottom: 2em;
    }
}

/* Cities */
.cities {
    display: flex;
    flex-wrap: wrap;
    font-size: 1rem;
}

.cities__current {
    display: flex;
    width: 100%;
}

.cities__current-content {
    flex: 1 1 auto;
    padding: 6.5em 0 8em 10em;
}

.cities__current-title {
    margin: 0 0 calc(30 / 12 * 1em);
    font: normal 700 1.2em/1.7 'Noto Sans', sans-serif;
    letter-spacing: calc(2.5 / 12 * 1em);
    text-transform: uppercase;
}

.cities__current-name {
    margin: 0 0 calc(10 / 22 * 1em);
    font: normal 700 2.2em/1.6 'Noto Sans', sans-serif;
    letter-spacing: calc(3.26 / 22 * 1em);
    text-transform: uppercase;
}

.cities__current-date {
    margin: 0 0 calc(60 / 16 * 1em);
    font: normal 400 1.6em/1.9 'Noto Sans', sans-serif;
}

.cities__current-picture {
    flex: 0 0 auto;
    max-width: 100%;
    width: 530px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
}

.cities__current-picture:before {
    content: '';
    display: block;
    width: 100%;
    padding: calc(375 / 530 * 100%) 0 0;
}

.cities__city {
    position: relative;
    flex: 0 0 auto;
    max-width: 100%;
    width: calc(100% / 3);
    color: #E6E6E6;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
    overflow: hidden;
}

.cities__city:before {
    content: '';
    display: block;
    width: 100%;
    padding: calc(250 / 355 * 100%) 0 0;
}

.cities__city:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 35%;
    background: linear-gradient(to top, #232324 0%, rgba(35, 35, 36, 0) 100%);
    transition: all 0.3s;
}

.cities__city:hover:after {
    height: 80%;
}

.cities__city-content {
    position: absolute;
    top: 2.6em;
    left: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    padding: 0 3em 1.5em;
    transition: all 0.3s;
}

.cities__city:hover .cities__city-content {
    top: 0;
}

.cities__city-steady-part {
    display: flex;
    justify-content: space-between;
    margin: 0 0 0.5em;
}

.cities__city-rising-part {
    margin: 0 0 0.9em;
    opacity: 0;
    transition: all 0.3s;
}

.cities__city:hover .cities__city-rising-part {
    opacity: 1;
}

.cities__city-name {
    font: normal 700 1.2em/1.7 'Noto Sans', sans-serif;
    letter-spacing: calc(2.5 / 12 * 1em);
    text-transform: uppercase;
}

.cities__city-date {
    font: normal 400 1.2em/normal 'Noto Sans', sans-serif;
}

.cities__city-btn {
    font: normal 400 1.2em/normal 'Noto Sans', sans-serif;
}

@media (max-width: 640px) {
    .cities__current-content {
        padding: 2.5em 0 4em 1.5em;
    }

    .cities__current-name {
        margin-bottom: 0;
        font-size: 2em;
        line-height: 1.7;
        letter-spacing: calc(2.1 / 20 * 1em);
    }

    .cities__current-date {
        margin-bottom: calc(30 / 14 * 1em);
        font-size: 1.4em;
        line-height: 1.8;
    }

    .cities__current-picture {
        width: 320px;
    }

    .cities__current-picture:before {
        padding-top: calc(250 / 320 * 100%);
    }

    .cities__city {
        width: 50%;
    }
}

@media (max-width: 560px) {
    .cities__current {
        flex-direction: column;
    }

    .cities__current-picture {
        order: -1;
        width: 100%;
    }
}

@media (max-width: 480px) {
    .cities__city {
        width: 100%;
    }
}

/* Helpers */
@media (min-width: 641px) {
    .br-mobile {
        display: none;
    }
}

@media (max-width: 640px) {
    .br-desktop {
        display: none;
    }
}