.wine_cellar {
    --lightGreen: #EFE0E5;
    --primaryColor: #590923;
    --primaryHover: #48061B;
    --primaryPress: #48061B;
    --scrollColor: rgba(89, 9, 35, .6)
}

.restaurant {
    --lightGreen: #E9E2D6;
    --primaryColor: #27201D;
    --primaryHover: #B48C59;
    --primaryPress: #B48C59;
    --scrollColor: rgba(39, 32, 29, .6)
}

@media screen and (max-width: 768px) {
    .header {
        padding:12px 0
    }

    .header .main_logo {
        order: 2;
        margin: 0 auto
    }

    .header .main_logo img {
        height: 57px
    }

    .header .lg_block {
        width: 90px;
        margin-left: 0;
        margin-right: -20px
    }

    .header .menu_btn {
        margin-left: 22px;
        order: 3;
        font-size: 0;
        line-height: 0;
        padding: 0;
        min-width: 48px
    }

    .header .menu_btn>span {
        margin: 0
    }

    .header_inner .book_btn,.header_inner .icon_phone,.header .menu_image {
        display: none
    }

    .header .menu_block {
        display: flex;
        flex-direction: column
    }

    .header .menu_block:before {
        display: block;
        content: "";
        min-height: 81px;
        background: inherit
    }

    .header .menu_inner {
        height: calc(100dvh - 81px);
        padding-bottom: 30px
    }

    .header .menu_inner .page_container {
        flex-direction: column
    }

    .header .menu_inner:before,.header .menu_inner:after {
        display: none
    }

    .header .menu_left {
        flex: none;
        flex-direction: column;
        max-width: 100%
    }

    .header .btns_container {
        padding: 20px 10px;
        display: flex;
        flex-wrap: wrap;
        white-space: nowrap;
        margin-bottom: 30px
    }

    .header .btns_container>* {
        flex: 1;
        margin: 10px;
        min-width: 230px
    }

    .header .main_menu {
        margin: 0 auto;
        padding: 0;
        text-align: center;
        max-width: 100%;
        width: 100%
    }

    .header .main_menu li {
        justify-content: center
    }

    .header .main_menu li:not(:first-child) {
        margin-top: 30px
    }

    .header .main_menu li:before {
        display: none
    }

    .header .secondary_menu {
        margin: 30px auto 0;
        padding: 0;
        text-align: center
    }

    .header .secondary_menu li:not(:first-child) {
        margin-top: 20px
    }

    .header .menu_right {
        flex: none;
        max-width: 100%;
        margin: 30px auto 0
    }

    .header .contact_title {
        font-size: 180%;
        margin-bottom: 14px
    }

    .header .contact_block {
        margin-bottom: 30px
    }

    .header .contact_block .simple_btn {
        margin-top: 14px
    }

    .header .contact_info br {
        height: 10px
    }

    .header .menu_decor {
        justify-content: center;
        align-items: flex-end
    }

    .header .menu_decor .decor_inner {
        max-width: 320px;
        flex: 0 0 100%;
        height: auto;
        aspect-ratio: auto
    }

    .header .menu_decor .decor_inner img {
        height: auto;
        width: 960px
    }
}

@media screen and (max-width: 768px) {
    .footer {
        text-align:center
    }

    .footer .page_container {
        padding: 0
    }

    .footer_inner {
        flex-direction: column-reverse
    }

    .footer_inner:before {
        display: none
    }

    .footer .menu_left {
        padding: 30px 20px;
        flex: none;
        max-width: 100%;
        background: var(--primaryHover, #00362A)
    }

    .footer .menu_left:before {
        width: 160px;
        bottom: 100%;
        right: 50%
    }

    .footer .menu_left:after {
        height: 100px;
        right: 50%;
        margin-right: 180px;
        bottom: 100%
    }

    .footer .menu_right {
        padding: 40px 0;
        flex: none;
        max-width: 100%
    }

    .footer .menu_right:before {
        width: 160px;
        left: 50%;
        background-image: url(left_large-Cv21a2mZ.svg);
        transform: scaleX(-1);
        -moz-transform: scaleX(-1);
        -ms-transform: scaleX(-1);
        -webkit-transform: scaleX(-1);
        -o-transform: scaleX(-1)
    }

    .footer .menu_right:after {
        height: 100px;
        left: 50%;
        margin-left: 180px;
        background-image: url(left_small-CC4BB9F7.svg)
    }

    .footer .right_inner {
        margin: 0 auto
    }

    .footer .logo_block {
        margin-bottom: 30px
    }

    .footer .logo_block img {
        height: 90px
    }

    .footer .booking_btn {
        margin-bottom: 30px
    }

    .footer .main_menu,.footer .secondary_menu {
        display: none
    }

    .footer .contact_block {
        margin-bottom: 30px
    }

    .footer .contact_title {
        margin-bottom: 14px
    }

    .footer .info_block {
        flex-direction: column;
        padding: 0
    }

    .footer .copyrights,.footer .developer {
        padding: 0;
        font-size: 120%
    }

    .footer .developer {
        margin-top: 12px
    }

    .wine_cellar .footer .menu_right:before {
        background-image: url(wine_left_large-g06cvVl9.svg)
    }

    .wine_cellar .footer .menu_right:after {
        background-image: url(wine_left_small-hkBPkUz-.svg)
    }
}

@media screen and (max-width: 768px) {
    .contacts_section .page_container {
        height:auto;
        flex-wrap: wrap
    }

    .contacts_section .contacts_col {
        flex: 0 0 100%;
        max-width: 100%;
        margin-bottom: 40px;
        order: 2
    }

    .contact_form {
        margin-bottom: 10px;
        margin-left: 0;
        max-width: 100%
    }

    .contact_form .contact_description {
        font-size: 140%;
        text-align: center
    }

    .contact_form .section_title {
        text-align: center
    }
}

@media screen and (max-width: 575px) {
    .contact_form .primary_btn {
        width:100%
    }
}

@media screen and (max-width: 768px) {
    .about_main {
        padding-bottom:20px
    }

    .about_main .type_block {
        font-size: 180%
    }

    .about_main .scroll_btn {
        margin-top: 14px
    }

    .about_main .short_info {
        max-width: 560px
    }

    .new_story {
        padding-top: 100px;
        position: relative;
        z-index: 3
    }

    .new_story .section_inner {
        margin-left: -20px;
        margin-right: -20px;
        flex-wrap: wrap
    }

    .new_story .images_block {
        position: relative;
        overflow-y: hidden;
        overflow-x: auto;
        flex: 0 0 100%;
        max-width: 100%;
        display: block;
        padding-left: 8px;
        padding-right: 8px;
        white-space: nowrap;
        font-size: 0
    }

    .new_story .images_block ul {
        flex: auto!important;
        display: inline-block;
        vertical-align: top;
        max-width: none!important;
        margin: 0!important;
        padding: 0
    }

    .new_story .images_block li {
        display: inline-block;
        vertical-align: top;
        border-width: 12px;
        width: 198px;
        margin-left: 12px;
        margin-right: 12px
    }

    .new_story .images_block li:not(:first-child) {
        margin-top: 0
    }

    .new_story .info_block {
        flex: 0 0 100%;
        max-width: 100%;
        padding: 0 20px;
        text-align: center;
        margin-top: 40px;
        order: 2
    }

    .infrastructure {
        margin-top: -100px
    }

    .infrastructure .page_row {
        margin: 0 12px
    }

    .infrastructure:before {
        height: 115px
    }

    .infrastructure .slider_section {
        flex: 0 0 100%;
        max-width: 100%
    }

    .infrastructure .section_bg {
        bottom: clamp(-220px,-100dvh,0px);
        margin: 144px auto;
        width: 222.22%
    }

    .infrastructure .section_bg img {
        width: 85px;
        flex: 0 0 85px;
        margin-top: -44px
    }

    .infrastructure .slide_prev,.infrastructure .slide_next {
        display: none
    }

    .infrastructure .name_block {
        flex: 0 0 42px
    }

    .infrastructure .name_block span {
        height: 42px;
        line-height: 18px;
        justify-content: center
    }

    .infrastructure .slide_block.current_slide .name_block {
        max-height: 42px
    }

    .infrastructure .slider_dots {
        margin: 20px 0 0;
        padding: 0;
        list-style-type: none;
        display: flex;
        justify-content: center
    }

    .infrastructure .slider_dots li {
        min-width: 6px;
        width: 6px;
        height: 6px;
        border-radius: 2px;
        margin: 0 4px;
        backface-visibility: hidden;
        -webkit-backface-visibility: hidden;
        transform-style: preserve-3d;
        -webkit-transform-style: preserve-3d;
        background: #0045354d
    }

    .infrastructure .slider_dots li.active {
        background: var(--primaryColor, #004535);
        min-width: 25px
    }

    .explore_section .more_btn_block {
        display: none
    }

    .explore_section .slider_dots {
        margin-top: 20px
    }

    .explore_section .swiper-pagination-bullet {
        background: #0045354d
    }

    .join_section .section_inner {
        flex-wrap: wrap;
        display: flex
    }

    .join_section .section_inner:after {
        width: 100%;
        background-size: 100% auto;
        background-position: bottom left
    }

    .join_section .image_block {
        flex: 1;
        max-width: 100%
    }

    .join_section .info_block {
        flex: 0 0 100%;
        max-width: 100%;
        padding-top: 20px;
        padding-bottom: 20px;
        text-align: center
    }

    .join_section .primary_btn {
        margin-top: 12px
    }
}

@media screen and (min-width: 481px) and (max-width: 768px) {
    .explore_slider:not(.swiper-initialized) .swiper-slide {
        flex:0 0 75%;
        max-width: 75%
    }
}

@media screen and (max-width: 480px) {
    .explore_slider:not(.swiper-initialized) .swiper-slide {
        flex:0 0 93%;
        max-width: 93%
    }
}

@media screen and (max-width: 575px) {
    .infrastructure .name_block {
        font-size:140%
    }

    .explore_block .distance_block {
        font-size: 120%
    }
}
