/* CSS Reset */
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-size: var(--fontDefault);
    font-family: Manrope, serif;
    color: var(--colorBlack);
}

/* Fonts */
@font-face {
   src: url("../fonts/calibri_light.ttf");
   font-family: CalibriLight;
   font-display: swap;
}
@font-face {
    src: url("../fonts/EdwardianScriptITC.ttf");
    font-family: Edwardian;
    font-display: swap;
    font-weight: 400;
}
@font-face {
    src: url("../fonts/signpainter_housescript2.otf");
    font-family: SignPainterH;
    font-display: swap;
}
@font-face {
   src: url("../fonts/Manrope-Regular.ttf");
   font-family: Manrope;
   font-display: swap;
   font-weight: 400;
}
@font-face {
    src: url("../fonts/Manrope-SemiBold.ttf");
    font-family: Manrope;
    font-display: swap;
    font-weight: 600;
}
@font-face {
   src: url("../fonts/Manrope-Light.ttf");
   font-family: Manrope;
   font-display: swap;
   font-weight: 200;
}
@font-face {
   src: url("../fonts/Manrope-Bold.ttf");
   font-family: Manrope;
   font-display: swap;
   font-weight: 700;
}

/* Global CSS */
:root{
    --fontBig: calc(68.19vw / 19.2);
    --fontDefault: calc(20.16vw / 19.2);
    --fontSmall: calc(16.53vw / 19.2);
    --fontVerySmall: calc(12.09vw / 19.2);
    --colorMain: #97C531;
    --colorMainDark: #4B6218;
    --colorSecond: #B08200;
    --colorWhite: white;
    --colorBlack: #000000;
    --colorGrey: #7F7F7F;
}
html{
    /*scroll-behavior: smooth;*/
}
body{
    overflow-x: hidden;
}
header{
    z-index: 9;
    position: fixed;
    width: 100%;
    background-color: var(--colorWhite);
}

.section{
    display: grid;
    grid-auto-flow: row;
    justify-items: center;
    width: 100vw;
    overflow-x: hidden;
    padding-top: calc(187vw / 19.2);
    position: relative;
    min-height: 100vh;
    align-content: start;
    z-index: 2;
}
.section-nav__link{
    font-size: var(--fontDefault);
    line-height: calc(21.84vw / 19.2);
}
.section__nav{
    position: absolute;
    left: 0;
    top: calc(-42vw / 19.2);
    width: 100vw;
    padding-left: calc(155vw / 19.2);
    padding-right: calc(117vw / 19.2);
    z-index: 2;
}
.container{
    width: 100%;
    display: grid;
    grid-auto-flow: column;
    justify-items: center;
    align-content: start;
    position: relative;
}
.container__inner_img{
    grid-template-columns: 1fr 1fr 1fr;
    width: 100%;
    background-color: transparent;
    position: relative;
}
.container__item{
    height: calc(637vw / 19.2);
    background-color: #393232c0;
}
.container__img{
    object-fit: cover;
    object-position: center center;
}
.container__img_bottom{
    position: relative;
    top: calc(69vw / 19.2);
    height: calc(620vw / 19.2);
}
.container__text{
    margin-bottom: calc(22vw / 19.2) !important;
}
.container__inner_first{
    padding-left: calc(155vw / 19.2);
    padding-right: calc(117vw / 19.2);
    background-position: center center;
    background-size: cover;
    position: relative;
    z-index: 2;
}
.container__inner_first::before{
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: -1;
    top: 0;
    left: 0;
}
.container__inner_first_dark::before{
    background-color: rgba(0, 0, 0, 0.6);
}
.container_content{
    grid-template-columns: calc(1051vw / 19.2) 1fr;
}
.container__img_logo{
    width: calc(356vw / 19.2);
    height: calc(145vw / 19.2);
    background-image: url('../img/logo/food.png');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    z-index: 2;
    position: absolute;
    bottom: calc(80vw / 19.2);
    margin: auto;
    left: 0;
    right: calc(30vw / 19.2);
}
.grid{
    display: grid;
}
.grid-row{
    grid-auto-flow: column;
}
.grid-column{
    grid-auto-flow: row;
}
.gap-5{
    gap: 5px;
}
.gap-10{
    gap: 10px;
}
.gap-15{
    gap: 15px;
}
.gap-25{
    gap: 25px;
}
.gap-50{
    gap: 50px;
}
.gap-75{
    gap: 75px;
}
.gap-100{
    gap: 100px;
}
.margin-bottom-10{
    margin-bottom: 10px;
}
.margin-bottom-15{
    margin-bottom: 15px;
}
.margin-bottom-25{
    margin-bottom: 25px;
}
.margin-bottom-50{
    margin-bottom: 50px;
}
.margin-bottom-75{
    margin-bottom: 75px;
}
.margin-bottom-100{
    margin-bottom: 100px;
}
.justify-content-start{
    justify-content: start;
}
.justify-content-center{
    justify-content: center;
}
.justify-content-end{
    justify-content: end;
}
.justify-content-space-between{
    justify-content: space-between;
}
.align-content-start{
    align-content: start;
}
.align-content-center{
    align-content: center;
}
.align-content-end{
    align-content: end;
}
.align-content-space-between{
    align-content: space-between;
}
.align-items-start{
    align-items: start;
}
.align-items-center{
    align-items: center;
}
.align-items-end{
    align-items: end;
}
.justify-items-start{
    justify-items: start;
}
.justify-items-center{
    justify-items: center;
}
.justify-items-end{
    justify-items: end;
}
.align-self-start{
    align-self: start;
}
.align-self-center{
    align-self: center;
}
.align-self-end{
    align-self: end;
}
.justify-self-start{
    justify-self: start;
}
.justify-self-center{
    justify-self: center;
}
.justify-self-end{
    justify-self: end;
}
.link{
    cursor: pointer;
    text-decoration: none;
    color: var(--colorGrey);
    transition: all .3s ease;
    font-weight: 600;
}
.link_hover:hover, .link_hover:focus-visible{
    color: var(--colorMainDark);
}
.section-nav__link_active{
    font-weight: 700;
    color: var(--colorMainDark);
}
.btn{
    cursor: pointer;
    height: calc(44vw / 19.2);
    width: calc(167vw / 19.2);
    font-size: var(--fontVerySmall);
    text-decoration: none;
    color: var(--colorWhite);
    border: 1px solid var(--colorWhite);
    outline: none;
    text-align: center;
    display: grid;
    grid-auto-flow: column;
    align-items: center;
}
.text-inherit{
    font-family: inherit;
    font-weight: inherit;
    font-size: inherit;
}
.color-white *{
    color: var(--colorWhite);
}
.color-white{
    color: var(--colorWhite);
}
.color-main{
    color: var(--colorMain);
}
.color-main-dark{
    color: var(--colorMainDark);
}
.color-second{
    color: var(--colorSecond);
}
.color-second-2{
    color: #DBC07E;
}
.color-black{
    color: var(--colorBlack);
}
.color-gray{
    color: var(--colorGrey);
}
.fontBig{
    font-size: var(--fontBig);
}
.fontDefault{
    font-size: var(--fontDefault);
}
.fontSmall{
    font-size: var(--fontSmall);
}
.fontVerySmall{
    font-size: var(--fontVerySmall);
}
.text-alight-center{
    text-align: center;
}
.text-alight-end{
    text-align: end;
}
.weight-200{
    font-weight: 200;
}
.weight-400{
    font-weight: 400;
}
.weight-600{
    font-weight: 600;
}
.weight-700{
    font-weight: 700;
}
.italic{
    font-style: italic;
}
.width-100{
    width: 100%;
}

/* Menu */
.menu__section{
    padding-top: calc(15vw / 19.2);
    padding-bottom: calc(19vw / 19.2);
    min-height: unset;
    align-content: unset;
}
.menu__container{
    padding: 0;
    max-width: calc(1760vw / 19.2);
    margin: 0 auto;
    width: 100%;
}
.menu__img{
    height: calc(95.22236251831055vw / 19.2);
}
.menu__logo span{
    font-size: calc(80vw / 19.2);
    color: var(--colorSecond);
    font-family: Edwardian;
}
.menu__logo{
    text-decoration: none;
}
.menu__link{
    padding: 0 calc(28vw / 19.2);
    margin-left: calc(30vw / 19.2);
    font-size: calc(26vw / 19.2);
    text-decoration: none;
    color: var(--colorBlack);
    line-height: calc(52vw / 19.2);
    background-image: linear-gradient(black, black);
    background-repeat: no-repeat;
    background-size: 0% 1px;
    background-position: left bottom;
}
.menu__link:hover, .menu__link:focus-visible{
    background-size: 100% 1px;
}
.menu__link_not-hover:hover, .menu__link_not-hover:focus-visible{
    background-size: 0% 1px;
}
.menu__link:nth-child(1){
    margin-left: 0;
}
.menu__nav{
    padding-left: 4vw;
}
.menu__link_img{
    width: calc(32vw / 19.2);
    height: calc(32vw / 19.2);
}
.menu__burger{
    width: calc(65vw / 19.2);
    height: calc(65vw / 19.2);
    background-color: transparent;
    outline: none;
    border: none;
    cursor: pointer;
    display: none;
}
.menu__burger img{
    width: 100%;
}
.menu__cross{
    display: none;
}

/* Modal */
.more__btn_hidden{
    display: none;
}
.modal__section{
    width: 100vw;
    height: 100vh;
    background-color: var(--colorMainDark);
    position: fixed;
    z-index: 10;
    padding-left: calc(155vw / 19.2);
    padding-right: calc(117vw / 19.2);
    padding-top: 15vh;
    bottom: -100vh;
    transition: bottom .3s ease;
}
.modal__section_active{
    bottom: 0;
}
.modal__cross{
    position: absolute;
    top: 5vh;
    right: calc(117vw / 19.2);
    font-size: calc(50vw / 19.2);
    cursor: pointer;
}

/* Footer */
#contacts{
    min-height: 100vh;
    align-content: end;
    display: grid;
    grid-template-rows: auto 0.8fr auto;
}
.footer__icon{
    width: calc(60vw / 19.2);
    height: calc(60vw / 19.2);
}
.footer__title{
    letter-spacing: calc(6vw / 19.2);
    font-style: italic;
    font-size: calc(40vw / 19.2);
    font-family: SignPainterH, serif;
    text-shadow: rgba(0, 0, 0, 0.1) 5px 5px 8px;
    position: relative;
    left: -20px;
}
/*.footer__title_ru{*/
/*    font-size: calc(32vw / 19.2);*/
/*    position: relative;*/
/*    left: -20px;*/
/*}*/
/*.footer__title::before{*/
/*    content: '';*/
/*    position: absolute;*/
/*    bottom: calc(-10vw / 19.2);*/
/*    width: 66%;*/
/*    height: 1px;*/
/*    background-color: var(--colorWhite);*/
/*    left: 0;*/
/*    right: 0;*/
/*    margin: auto;*/
/*}*/
.footer__cert{
    width: calc(95vw / 19.2);
    height: calc(95vw / 19.2);
}
.footer__inner:nth-child(1){
    padding-left: calc(155vw / 19.2);
    padding-right: calc(117vw / 19.2);
    padding-bottom: 30px;
}
.footer__inner:nth-child(2){
    background-image: url("../img/footer/bg.jpg");
    background-size: cover;
    background-position: center center;
    padding: 0 calc(117vw / 19.2) 0 calc(155vw / 19.2);
    position: relative;
    z-index: 1;
}
.footer__inner_last::before{
    content: '';
    position: absolute;
    z-index: -1;
    background-color: rgba(151, 197, 49, 0.6);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.footer__logo{
    width: calc(600vw / 19.2);
    margin-bottom: calc(30vw / 19.2);
}
.footer__contacts{
    gap: calc(30vw / 19.2);
}
.footer__icon_contacts{
    width: calc(40vw / 19.2);
    height: calc(40vw / 19.2);
}
.footer__bottom{
    height: calc(70vw / 19.2);
    background-color: var(--colorMainDark);
    border-top: calc(10vw / 19.2) solid var(--colorWhite);
    position: relative;
    overflow: visible;
    z-index: 2;
}
/*.footer__bottom::after{*/
/*    z-index: 2;*/
/*    content: '';*/
/*    position: absolute;*/
/*    width: calc(140vw / 19.2);*/
/*    height: calc(140vw / 19.2);*/
/*    top: calc(-80vw / 19.2);*/
/*    right: calc(117vw / 19.2);*/
/*    background-image: url("../img/footer/og.png");*/
/*    background-position: center center;*/
/*    background-repeat: no-repeat;*/
/*    background-size: contain;*/
/*}*/
.container__text_hidden{
    display: none;
}
.footer__wrapper{
    grid-template-columns: 2fr 1fr;
    padding: calc(75vw / 19.2) 0;
    align-content: center;
}
.footer__wrapper *:not(.footer__title){
    font-family: CalibriLight, serif;
}
.footer__contacts_box{
    grid-template-columns: 1fr 1fr 1fr;
    position: relative;
}
.footer__img{
    width: 100%;
    align-self:  center;
}
.footer__contacts_mobile{
    display: none;
    grid-template-columns: 1fr 1fr;
    justify-content: space-between;
}
.footer__contacts_box *{
    font-family: "Calibri Light", serif;
    font-size: calc(20vw / 19.2);
    font-weight: 200;
    letter-spacing: calc(1vw / 19.2);
    text-shadow: rgba(0, 0, 0, 0.5) 3px 3px 5px;
}
.footer__text_info{
    font-size: calc(25vw / 19.2);
    text-shadow: rgba(0, 0, 0, 0.2) 5px 5px 7px;
    font-weight: 500;
}
.footer__contacts_mobile .footer__contacts_box{
    grid-template-columns: 1fr;
}
.footer__contacts_box::before{
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: -30px;
    width: 4px;
    height: 4px;
    background-color: var(--colorWhite);
    margin: auto;
    border-radius: 50%;
}

/* Media */
@media (max-width: 768px) {
    .footer__contacts_box::before{
        display: none;
    }
    body{
        display: grid;
        min-height: 100vh;
        grid-template-rows: auto auto 1fr;
    }
    footer{
        align-self: end;
    }
    .footer__wrapper{
        grid-template-columns: 1fr;
    }
    .footer__img{
        order: -1;
    }
    .footer__title{
        font-size: calc(72vw / 19.2);
        left: 0;
    }
    .footer__contacts_box *{
        font-size: calc(54vw / 19.2);
    }
    .footer__text_info{
        font-size: calc(52vw / 19.2);
        text-shadow: rgba(0, 0, 0, 0.2) 5px 5px 7px;
    }
    .footer__contacts_box:not(.footer__contacts_mobile .footer__contacts_box){
        display: none;
    }
    .footer__contacts_mobile{
        display: grid;
    }
    :root{
        --fontBig: calc(90.19vw / 19.2);
        --fontDefault: calc(60.16vw / 19.2);
        --fontSmall: calc(45.53vw / 19.2);
        --fontVerySmall: calc(40.09vw / 19.2);
    }
    header{
        height: 30vw;
    }
    .menu__burger{
        display: grid;
    }
    .about__section{
        margin-top: 30vw;
    }
    .menu__nav{
        width: 100vw;
        height: 100vh;
        background-color: var(--colorWhite);
        grid-auto-flow: row;
        justify-items: center;
        align-content: space-evenly;
        position: fixed;
        right: -100vw;
        transition: right .3s ease;
        top: 0;
    }
    .menu__nav_active{
        right: 0;
    }
    .menu__cross{
        display: grid;
        position: absolute;
        top: 5vh;
        right: calc(117vw / 19.2);
        font-size: 28px;
        cursor: pointer;
    }
    .menu__link{
        font-size: 16px;
        line-height: 28px;
    }
    .modal__cross{
        font-size: 28px;
    }
    .modal__section{
        padding-top: 12vh;
    }
    .container__inner_img{
        display: none;
    }
    .container_content{
        grid-template-columns: 1fr;
    }
    .container__inner{
        width: 100%;
        align-content: start;
        padding-top: calc(50vw / 19.2);
        padding-bottom: calc(50vw / 19.2);
        height: 30vw;
        justify-items: start;
    }
    p.container__text:not(.container__text_hidden){
        display: none;
    }
    /*h2.container__text{*/
    /*    margin-bottom: 0 !important;*/
    /*}*/
    .menu__logo span {
        font-size: calc(240vw / 19.2);
    }
    .menu__img {
        height: calc(280vw / 19.2);
    }
    .section{
        padding-top: 0;
        min-height: 0;
    }
    .menu__section{
        padding-top: calc(15vw / 19.2);
        padding-bottom: calc(19vw / 19.2);
        height: 100%;
        align-content: center;
    }
    .section__nav{
        display: none;
    }
    .menu__burger{
        width: calc(150vw / 19.2);
        height: calc(60vw / 19.2);
    }
    .btn{
        width: auto;
        height: auto;
        padding: 5px;
    }
    .more__btn_hidden{
        display: grid;
        border: none;
        padding-left: 0;
        padding-right: 0;
    }
    .footer__inner:nth-child(1){
        padding-top: 20px;
        grid-template-columns: 1fr;
        grid-auto-flow: unset;
        justify-items: start;
        align-content: start;
        gap: 20px;
    }
    .footer__icon{
        width: calc(125vw / 19.2);
        height: calc(125vw / 19.2);
    }
    .footer__cert{
        width: calc(200vw / 19.2);
        height: calc(200vw / 19.2);
    }
    .footer__icon_contacts{
        width: calc(80vw / 19.2);
        height: calc(80vw / 19.2);
    }
    .container__text_hidden{
        display: grid;
        height: 0;
        overflow: hidden;
        margin-bottom: 0 !important;
        background-color: var(--colorBlack);
        transition: height .3s ease;
        align-content: start;
    }
    .footer__link{
        font-size: calc(45.16vw / 19.2);
    }
}
/* @media (max-width: 576px) {
    :root{
        --h1: 32px;
        --h2: 30px;
        --h3: 24px;
        --h4: 18px;
        --h5: 16px;
        --h6: 16px;
        --h7: 14px;
        --fontDefault: 16px;
    }
} */