@media (max-width: 1680px) {
    html {
        font-size: 90%;
    }
}

@media (max-width: 1536px) {
    html {
        font-size: 80%;
    }
}

@media (max-width: 1440px) {
    .fun-map {
        right: -5%;
    }
}

@media (max-width: 1280px) {
    html {
        font-size: 70%;
    }
}

@media (max-width: 1200px) {
    html {
        font-size: 65%;
    }
}

@media (max-width: 1024px) {
    @font-face {
        font-family: 'Gilroy';
        src: url('/fonts/Gilroy-Bold.eot');
        src: local('Gilroy Bold'), local('Gilroy-Bold'),
            url('/fonts/Gilroy-Bold.eot?#iefix') format('embedded-opentype'),
            url('/fonts/Gilroy-Bold.woff') format('woff'),
            url('/fonts/Gilroy-Bold.ttf') format('truetype');
        font-weight: bold;
        font-style: normal;
    }
    html {
        font-size: 100%;
    }
    .row {
        position: relative;
    }
    .preloader {
        display: flex;
    }
    .mouse {
        display: none;
    }
    .container {
        padding: 0 4em;
    }
    .main:before {
        content: '';
        position: absolute;
        bottom: 0;
        left: 0;
        background: url(/img/static-illustration.svg) no-repeat bottom center;
        width: 100%;
        height: 100%;
    }
    .main .container:after {
        content: none;
    }
    .static-element {
        display: none;
    }
    .header {
        display: none;
    }
    .header .container {
        padding: 0 1.5em;
    }
    .menu {
        margin-right: 2em;
    }
    .logo {
        position: relative;
        top: auto;
        right: auto;
    }
    .row {
        height: 100%;
        z-index: 4;
    }
    .row.margin-top {
        margin-top: 2em;
    }
    .column:nth-child(1) {
        width: 100%;
        z-index: 1;
    }
    .column:nth-child(2) {
        position: absolute;
        top: 0;
        right: 0;
        width: 10em;
        height: 10em;
        z-index: 0;
    }
    .image-elements {
        position: absolute;
        top: auto;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50%;
        z-index: 3;
    }
    .cloud.top-right {
        top: 0;
        right: 5%;
    }
    .cloud.bottom-left {
        bottom: 55%;
        left: 5%;
    }
    .yellow-aerostat {
        top: -20%;
        right: 15%;
    }
    .image-elements#yellow_aerostat {
        left: auto;
        right: 0;
        width: 100%;
    }
    #yellow_aerostat .cloud.top-right {
        opacity: 1;
    }
    #yellow_aerostat .cloud.bottom-left {
        bottom: 55%;
        left: 5%;
        top: auto;
        right: auto;
    }
    #no_elements .cloud {
        opacity: 1;
    }
    .block-image {
        width: 10em;
        height: 10em;
    }
    .block-image:after {
        background: url(/img/image-mask.png) no-repeat left top;
        background-size: cover;
    }
    .swiper-container {
        width: 10em;
        height: 10em;
        border: none;
    }
    .picknick-logo {
        display: flex;
        align-items: center;
        justify-content: flex-start;
        width: 65%;
        height: 3em;
        font-size: 3.5em;
    }
    .buttons .button {
        width: 13em;
        margin-bottom: 1em;
    }
    .picknick .text, .picknick .buttons {
        opacity: 0;
        transform: scale(0);
    }
    .picknick .text.visible,
    .picknick .buttons.visible {
        opacity: 1;
        transform: scale(1);
        transition: .7s ease-out;
        transition-delay: .5s;
    }
    h2 {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: center;
        width: 70%;
        height: 2.5em;
        font-family: 'Gilroy';
        font-size: 4.25em;
        font-weight: bold;
    }
    .farm h2,
    .join h2 {
        font-size: 4.25em;
    }
    .gastro p br {
        display: none;
    }
    [data-image="no_image"] h2 {
        width: 100%;
    }
    .active-elements:before {
        content: '';
        position: absolute;
        bottom: 2%;
        right: -5em;
    }
    .active-elements-item:nth-child(1) {
        bottom: 7%;
        right: 50%;
    }
    .active-elements-item:nth-child(2) {
        bottom: 8%;
        right: 25%;
    }
    .active-elements-item:nth-child(3) {
        bottom: 8%;
        right: 21%;
    }
    .active-elements-item:nth-child(4) {
        bottom: 7%;
        right: 21%;
    }
    .active-elements-item:nth-child(5) {
        bottom: 7%;
        right: 18%;
    }
    .active-elements-item:nth-child(6) {
        bottom: 6%;
        right: 20%;
    }
    .active-elements-item:nth-child(8) {
        bottom: 6%;
        right: 8%;
    }
    .active-elements-item:nth-child(9) {
        bottom: 7%;
        right: 14%;
    }
    .active-elements-item:nth-child(10) {
        bottom: 8%;
        right: 28%;
    }
    .map-item {
        display: none;
        width: 80%;
        margin: 2em auto;
    }
    .map-item h3 {
        font-size: 2.8em;
    }
    .map-image {
        max-width: 100%;
    }
    .maps {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .map-buttons {
        flex-direction: column;
        align-items: flex-start;
    }
    .map-buttons .button {
        width: 100%;
        margin-bottom: 1em;
        font-size: 2em;
    }
    .map-buttons .button a {
        display: block;
        width: 100%;
        padding: .5em 0;
        text-align: center;
    }
    .map-buttons [type="button"] {
        font-size: 2em;
    }
    .back {
        position: absolute;
        top: 2.5%;
        left: calc(50% - 1.75em);
        display: inline-block;
        width: 3.5em;
        font-family: 'Plumb';
        font-size: 2.68em;
        text-transform: uppercase;
        text-align: center;
        color: #152f4e;
    }
    .back:before {
        content: '';
        position: absolute;
        top: calc(50% - 10px);
        left: -25px;
        background: url(/img/icon-back.png) no-repeat center center;
        background-size: contain;
        width: 18px;
        height: 20px;
    }
    .cities {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: space-between;
        margin-top: 3em;
    }
    .maps-list {
        margin: 7em 0 0;
    }
    .city {
        margin-bottom: 2em;
        font-size: 3.28em;
        font-weight: 300;
        color: #152f4e;
    }
    .organizators-list {
        width: 100%;
        height: auto;
    }
    .organizator-item {
        margin-bottom: 6em;
    }
    .org .buttons {
        display: block;
    }
    .fun-map {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
    }
}

@media (max-width: 768px) {
    .active-elements-item:nth-child(1) {
        right: 45%;
    }
    .active-elements-item:nth-child(3) {
        right: 16%;
    }
    .active-elements-item:nth-child(4) {
        right: 16%;
    }
    .active-elements-item:nth-child(5) {
        right: 13%;
    }
    .active-elements-item:nth-child(6) {
        right: 17%;
    }
    .active-elements-item:nth-child(9) {
        right: 6%;
    }
    .active-elements-item:nth-child(10) {
        right: 10%;
    }
    .block-text-item {
        transition: .4s ease-out;
    }
    .block-text-item.active {
        transition-delay: .2s;
    }
    .organizators-list {
        font-size: .9em;
    }
}

@media (max-width: 650px) {
    html {
        font-size: 75%;
        height: 100%;
    }
    body {
        height: 100%;
    }
    body:before {
        content: none;
    }
    .row.margin-top {
        margin-top: 1em;
    }
    .main {
        height: 100%;
    }
    .container {
        padding: 0 2em;
    }
    .picknick-logo  {
        height: 3.5em;
    }
    .block-text-item {
        font-size: .8em;
    }
    .text p {
        font-size: 1.8em;
        line-height: 1.3;
    }
    .gastro .text p, .farm .text p, .fun .text p, .join .text p, .ural .text p, .ural-cook .text p {
        font-size: 1.8em;
    }
    .column:nth-child(2) {
        width: 8em;
        height: 8em;
    }
    .block-image {
        width: 8em;
        height: 8em;
    }
    .buttons {
        flex-direction: column;
        align-items: flex-start;
    }
    .buttons.outter {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        bottom: 1%;
        left: 0;
        width: 100%;
    }
    .buttons.outter {
        opacity: 0;
        transform: scale(0);
    }
    .buttons.outter.visible {
        display: none;
        opacity: 1;
        transform: scale(1);
        transition: .7s ease-out;
        transition-delay: .5s;
    }
    .buttons.outter .button {
        margin-bottom: 0;
        border-radius: 2em;
    }
    .block-text-item .buttons .button:first-child {
        /* display: none; */
    }
    .swiper-container {
        width: 8em;
        height: 8em;
    }
    .active-elements:before {
        content: '';
        font-size: .9em;
    }
    .active-elements-item {
        font-size: .8em;
    }
    .active-elements-item:nth-child(1) {
        bottom: 5%;
        right: 45%;
    }
    .active-elements-item:nth-child(2) {
        bottom: 5%;
        right: 25%;
    }
    .active-elements-item:nth-child(3) {
        bottom: 6%;
        right: 17%;
    }
    .active-elements-item:nth-child(4) {
        bottom: 6%;
        right: 17%;
    }
    .active-elements-item:nth-child(5) {
        bottom: 6%;
        right: 15%;
    }
    .active-elements-item:nth-child(6) {
        bottom: 5%;
        right: 18%;
    }
    .active-elements-item:nth-child(8) {
        bottom: 4%;
    }
    .active-elements-item:nth-child(9) {
        bottom: 6%;
        right: 8%;
    }
    .active-elements-item:nth-child(10) {
        bottom: 6%;
        right: 15%;
    }
    .map-buttons [type="button"] {
        width: 100%;
        margin-bottom: 1em;
    }
    .city {
        font-size: 2.28em;
    }
    .feedback-form {
        margin-top: 2em;
    }
    .organizators-list {
        flex-direction: column;
        margin: 1.5em 0 0;
    }
    .keyboard-open .main:before {
        content: none;
    }
    .keyboard-open .main:after {
        content: none;
    }
    .keyboard-open .buttons.outter.visible {
        display: none;
    }
    .keyboard-open [type="text"] {
        margin-top: 1em;
    }
    .keyboard-open [type="text"].form-control-warning + label.form-control-warning + [type="text"] {
        margin-top: .4em
    }
    .fun-map {
        position: relative;
        top: auto;
        right: auto;
        width: 160%;
        transform: translateX(-17%);
    }
    .message {
        top: 10%;
        left: calc(50% - 13.75em);
        height: 21.625em;
    }
    .message h3 {
        font-size: 2em !important;
    }
    .message p {
        font-size: 1.5em !important;
    }
    .message.active {
        transform: scale(1) translate(0)
    }
}

@media (max-width: 450px) {
    html {
        font-size: 65%;
    }
    .text {
        margin: 5em 0 3.5em;
    }
    .text p {
        font-size: 2em;
        line-height: 1.3;
    }
    .gastro .text p, .farm .text p, .fun .text p, .join .text p, .ural .text p, .ural-cook .text p {
        font-size: 2em;
    }
    .organizators-list {
        font-size: .9em;
    }
    .organizator-item {
        margin-bottom: 3em;
    }
    .red-aerostat {
        display: none;
    }
}

@media (max-width: 375px) {
    .menu-item {
        margin-bottom: .5em;
    }
    .contacts-text {
        font-size: 1.27em;
    }
    .text p {
        font-size: 2.1em;
    }
    .gastro .text p, .farm .text p, .fun .text p, .join .text p, .ural .text p, .ural-cook .text p {
        font-size: 2.1em;
    }
    .all-partners .description {
        font-size: 1.18em;
    }
    .general .description {
        font-size: 1.18em;
    }
    .text {
        margin: 2em 0 3.5em;
    }
    .active-elements-item.active {
        transform: scale(1) translate(1em, 0);
    }
}

@media (max-width: 320px) {
    #modal_window {
        width: 300px;
        height: 300px;
        margin-top: -150px;
        margin-left: -150px;
    }
    .organizators-list {
        font-size: .75em;
    }
    .active-elements-item {
        font-size: .6em;
    }
    .preloader p {
        font-size: 2em;
    }
}