html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}
body {
    line-height: 1;
}
ol, ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}

* {
    box-sizing: border-box;
    /*max-width: 100%;*/
    font-family: inherit;
    outline: none;
    -webkit-appearance:none;
}

@font-face {
    font-family: 'PRAVDAC';
    src: url('/assets/fonts/PRAVDAC.otf') format('opentype');
}
@font-face {
    font-family: 'PT Sans';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: local('PT Sans'),local('PTSans-Regular'),url(/assets/fonts/pt_sans.woff2) format('woff2');
    unicode-range: U+0100-024F,U+0259,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF
}

body {
    font-family: "Gotham Pro";
    font-size: 16px;
    background: #F5F5F5;
}

.container {
    width: 1200px;
    margin: 0 auto;
}

.is_mobile {
    display: none;
}

header {
    position: relative;
    z-index: 2;
    background: linear-gradient(105deg, #FECB36 20.07%, #FFED00 112.49%);
}
body.fixed_header {
    padding: 105px 0 0 0;
}
header.fixed {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    box-shadow: 0 -30px 84px 0 rgba(0, 0, 0, 0.35);
}
header.fixed .container {
    padding: 10px 0;
}
header.fixed .logo img {
    height: 36px;
}
header .container {
    display: flex;
    align-items: center;
    padding: 25px 0;
    justify-content: space-between;
}
header .logo {

}
header .menu {

}
header .menu ul {
    display: flex;
    gap: 30px;
}
header .menu ul li {

}
header .menu ul li a {
    color: #4F3324;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    text-decoration: none;
}

.hero {
    position: relative;
    background: linear-gradient(105deg, #FECB36 20.07%, #FFED00 112.49%);
    overflow: hidden;
    padding: 105px 0 0 0;
    margin: -105px 0 0 0;
}
.hero:after {
    content: '';
    display: block;
    height: 136px;
    width: 100%;
    background: url(/assets/images/green_waves.svg) no-repeat center center;
    z-index: 3;
    position: absolute;
    bottom: 0;
    left: 0;
}
.hero .container {
    position: relative;
    padding: 60px 0 0 0;
    height: 785px;

}
.hero .container:after {
    content: '';
    position: absolute;
    top: -85px;
    right: -352px;
    background: url(/assets/images/hero_bg.png?v=4) no-repeat bottom right;
    background-size: 100%;
    width: 1002px;
    height: 825px;
    z-index: 4;
    pointer-events: none;
}
.hero h1 {
    color: #4F3229;
    font-family: "Gotham Pro";
    font-size: 55px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0  0 25px 0;
}
.hero h1 span {
    color: #329901;
    font-family: PravdaC;
    font-size: 65px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}
.hero .hero__subtitle {
    color: #4F3229;
    font-family: "Gotham Pro";
    font-size: 55px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 28px 0;
}
.hero .hero__subtitle span {
    color: #329901;
    font-weight: 800;
}
.rouble {
    font-family: 'PT Sans', 'Open Sans', 'Trebuchet MS', sans-serif;
}
.hero .hero__description {
    color: #4F3229;

    font-family: "Gotham Pro";
    font-size: 35px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    margin: 0 0 40px 0;
}
.hero .hero__buttons {
    position: relative;
    z-index: 5;
    width: 940px;
    margin: 0 auto;
    border-radius: 25px;
    box-shadow: 0 0px 44px 0 rgba(0, 0, 0, 0.35);
}
.hero .hero__buttons:after {
    content: '';
    position: absolute;
    top: -40px;
    left: -200px;
    background: url(/assets/images/tree.png) no-repeat center center;
    width: 343px;
    height: 299px;
    z-index: 1;
}
.hero .hero__buttons .buttons__title {
    background: #4F3229;
    color: #FEC502;
    font-family: "Gotham Pro";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 52px */
    text-align: center;
    padding: 31px 0;
    border-radius: 25px 25px 0 0;
}
.hero .hero__buttons .buttons__list {
    padding: 43px 0;
    position: relative;
    z-index: 2;
    background: linear-gradient(105deg, #FECB36 20.07%, #FFED00 112.49%), #FEC502;
    border-radius: 0 0 25px 25px;
}
.hero .hero__buttons .buttons__list ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 33px;
}
.hero .hero__buttons .buttons__list ul li {

}
.hero .hero__buttons .buttons__list ul li a {

}
.hero .hero__buttons .buttons__list ul li a.btn_check {
    position: relative;
    width: 375px;
    padding: 10px 40px 10px 80px;
}
.hero .hero__buttons .buttons__list ul li a.btn_check:after {
    content: '';
    position: absolute;
    top: -26px;
    left: 27px;
    background: url(/assets/images/btn_check.png) no-repeat center center;
    width: 90px;
    height: 101px;
}
.btn {
    display: inline-block;
    padding: 10px 40px;
    border-radius: 40px;
    background: #FFF;
    color: #489943;
    text-align: center;
    font-family: "Gotham Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 600;
    line-height: 150%; /* 27px */
    text-decoration: none;
    outline: none;
    border: none;
    cursor: pointer;
}
.btn_main {
    background: #329901;
    color: #fff;
}

.steps {
    position: relative;
    background: linear-gradient(0deg, #329801 0%, #329801 100%), linear-gradient(0deg, #4B2F27 0%, #4B2F27 100%), #FFF;
    padding: 100px 0 180px 0;
}
.steps:after {
    content: '';
    display: block;
    height: 136px;
    width: 100%;
    background: url(/assets/images/yellow_waves.svg) no-repeat center center;
    z-index: 3;
    position: absolute;
    bottom: 0;
    left: 0;
}
.steps .steps__title {
    color: #FFF;
    font-family: PravdaC;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 66px */
}
.steps .steps__map {
    margin: -60px 0 0 0;
}
.steps .steps__map img {
    max-width: 100%;
}

.prizes {
    background: linear-gradient(99deg, #FECB36 4.5%, #FFED00 90.46%);
    padding: 0 0 24px 0;
}
.prizes .container {
    width: 100%;
    max-width: 100%;
}
.prizes .prizes__list {

}
.prizes .prizes__list .owl-carousel .owl-stage {
    display: flex;
}
.prizes .prizes__list .owl-carousel .owl-item {
    /* display: flex; */
    /* align-items: end; */
    /* justify-content: center; */
}
.prizes .prizes__list ul {

}
.prizes .prizes__list ul li {

}
.prizes .prizes__list ul li .prize__image {
    /*height: 315px;*/
    /*display: flex;*/
    /*align-items: center;*/
    /*justify-content: center;*/
}
.prizes .prizes__list ul li .prize__image img {
    max-width: 90%;
    margin: 0 auto;
}
.prizes .prizes__list ul li .prize__name {
    color: #4B2F27;
    text-align: center;
    font-family: "Gotham Pro";
    font-size: 15.405px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 20.026px */
}
.prizes .prizes__text {
    width: 1200px;
    margin: 100px auto 0 auto;
    color: #4B2F27;
    text-align: right;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%; /* 18.2px */
    opacity: 0.4;
}

.how {

}
.how .container {
    display: flex;
    gap: 114px;
    border-bottom: 5px dashed #329901;
    padding: 86px 0;
}
.how .how__image {
    width: 521px;
    margin: -150px 0 0 0;
}
.how .how__image img {
    max-width: 100%;
}
.how .how__text {
    width: calc(100% - 521px - 114px);
}
.how .how__text .text__title {
    color: #329801;

    font-family: PravdaC;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 66px */
    margin: 0 0 20px 0;
}
.how .how__text .text__description {
    color: #2F2E2E;

    font-family: "Gotham Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%; /* 27px */
    margin: 0 0 20px 0;
}
.how .how__text ol {
    color: #2F2E2E;
    font-family: "Gotham Pro";
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%; /* 27px */
    padding: 0 0 0 20px;
    margin: 0 0 50px 0;
}
.how .how__text ol li {
    list-style-type: decimal;
}
.how .how__text ol li span {
    color: #329901;
}

.dates {
    position: relative;
    padding: 105px 0;
}
.dates:after {
    content: '';
    display: block;
    height: 136px;
    width: 100%;
    background: url(/assets/images/green_waves.svg) no-repeat center center;
    z-index: 3;
    position: absolute;
    bottom: 0;
    left: 0;
}
.dates .dates__title {
    color: #329801;
    font-family: PravdaC;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 66px */
    margin: 0 0 53px 0;
}
.dates ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 0 -40px 0;
}
.dates ul li {
    width: 216px;
    height: 184px;
    display: inline-flex;
    padding: 27.395px 14px 69.442px 29px;
    flex-direction: column;
    align-items: flex-end;
    gap: 11.163px;
    border-radius: 20px;
    background: #FFD029;
}
.dates ul li .date__number {
    color: #DAA800;
    text-align: right;
    font-family: PravdaC;
    font-size: 31.028px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 40.336px */
}
.dates ul li .date__date {
    color: #4B2F27;
    text-align: center;
    font-family: PravdaC;
    font-size: 28px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 36.4px */
}
.dates ul li.final {
    display: flex;
    justify-content: center;
    flex-direction: column;
    gap: 24px;
    position: relative;
    padding: 27.395px 14px 27.395px 14px;
    width: 294px;
    height: 249px;
    border-radius: 27px;
    background: linear-gradient(105deg, #FECB36 20.07%, #FFED00 112.49%), #F1BB02;
    z-index: 4;
}
.dates ul li.final:after {
    content: '';
    position: absolute;
    top: -139px;
    left: calc(50% - 158px / 2);
    background: url(/assets/images/corona.svg) no-repeat center center;
    width: 158px;
    height: 126px;
}
.dates ul li.final .date__date {
    display: flex;
    width: 245.805px;
    height: 73.274px;
    transform: rotate(-4.608deg);
    padding: 13.844px 13.844px 9.691px 13.844px;
    justify-content: center;
    align-items: center;
    gap: 13.844px;
    background: #329901;
    color: #FFF;
    text-align: center;
    font-family: PravdaC;
    font-size: 35px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 45.5px */
    left: -10px;
    position: relative;
}
.dates ul li.final .date__text {
    color: #4B2F27;
    text-align: center;
    font-family: "Gotham Pro";
    font-size: 25.892px;
    font-style: normal;
    font-weight: 800;
    line-height: 130%; /* 33.659px */
    text-transform: uppercase;
}

.shops {
    padding: 60px 0;
    background: #329901;
}
.shops .shops__title {
    color: #FFF;
    font-family: PravdaC;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 66px */
    margin: 0 0 30px 0;
}
.shops .shops__text {
    color: #FFF;
    text-align: justify;
    font-family: "Gotham Pro";
    font-size: 20px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 22px */
    letter-spacing: -0.2px;
}

.products {
    position: relative;
    padding: 60px 0 220px 0;
    background: #329901;
}
.products:after {
    content: '';
    display: block;
    height: 136px;
    width: 100%;
    background: url(/assets/images/white_waves.svg) no-repeat center center;
    z-index: 3;
    position: absolute;
    bottom: 0;
    left: 0;
}
.products .products__title {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
    margin: 0 0 80px 0;
}
.products .products__title span {
    text-align: right;
    color: #FFF;
    text-align: right;
    font-family: PravdaC;
    font-size: 60px;
    font-style: normal;
    font-weight: 400;
    line-height: 110%; /* 66px */
}
.products .products__list .owl-carousel .owl-stage {
    display: flex;
}
.products .products__list .owl-carousel .owl-item {
    /* display: flex; */
    /* align-items: end; */
    /* justify-content: center; */
}
.products .products__list ul {

}
.products .products__list ul li {

}
.products .products__list ul li .product__image {
    margin: 0 0 24px 0;
}
.products .products__list ul li .product__image img {
    max-width: 85%;
    margin: 0 auto;
}
.products .products__list ul li .product__name {
    color: #fff;
    text-align: center;
    font-family: "Gotham Pro";
    font-size: 15.405px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 20.026px */
    padding: 0 32px;
}

footer {
    background: #262626;
    padding: 68px 0;
}
footer .menu {

}
footer .menu ul {
    display: flex;
    flex-direction: column;
    gap: 33px;
}
footer .menu ul li {
    text-align: center;
}
footer .menu ul li.text {
    color: #B6B6B6;
    font-size: 22px;
    line-height: 32px;
}
footer .menu ul li a {
    color: #FFF;
    text-align: center;
    font-size: 22px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 28.6px */
    text-decoration: none;
}
footer .menu ul li a.button {
    display: inline-block;
    padding: 10px 20px;
    border-radius: 100px;
    border: 1px solid #FFF;
}

.register {
    background: #fff;
    padding: 0 0 84px 0;
}
.register form {
    width: 782px;
    margin: 0 auto;
}
.register form h4 {
    color: #2F2E2E;

    text-align: center;
    font-family: "Gotham Pro";
    font-size: 40px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%; /* 52px */
    margin: 0 0 50px 0;
}
.register form h4.check_info_header {
    margin: 50px 0 30px 0;
}
.register form .field {
    margin: 0 0 27px;
}
.register form .field.half {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}
.register form .field input[type=text],
.register form .field input[type=number] {
    width: 100%;
    height: 53px;
    border-radius: 30px;
    background: #F3F3F3;
    line-height: 53px;
    padding: 12px 40px;
    border: none;
    font-size: 18px;
    font-weight: 400;
    -webkit-appearance: none;
    appearance: none;
}
.register form .field input[type=number]::-webkit-outer-spin-button,
.register form .field input[type=number]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}
.register form .field input[type=number] {
    -moz-appearance:textfield; /* Firefox */
}
.register form .field select {
    width: 100%;
    height: 53px;
    border-radius: 30px;
    padding: 12px 40px;
    border: none;
    font-size: 18px;
    font-weight: 400;
    -webkit-appearance: none;
    appearance: none;
    background: url(/assets/images/select_arrow.svg) no-repeat center right 16px, #F3F3F3;
    color: #2F2E2E;
}
.register form .field input.invalid {
    background: rgb(228, 3, 46, 0.15);
    border: 2px solid #e4032e;
}
.register form .field.half input[type=text],
.register form .field.half input[type=number],
.register form .field.half select {
    width: 380px;
}
.register form .field input[name=shop_name] {
    flex-basis: 380px;
    margin: 10px 0 0 auto;
}
.register form .field .file_wrapper {
    width: 380px;
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 0 0 0 18px;
}
.register form .field .file {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    height: 40px;
    background: url(/assets/images/attach.svg) no-repeat left center;
}
.register form .field .file input {
    /*display: none;*/
    position: absolute;
    opacity: 0;
    width: 100%;
    cursor: pointer;
    height: 100%;
    z-index: 2;
    /*margin: 6px 0 0 0;*/
}
.register form .field .file label {
    display: block;
    width: 100%;
    position: relative;
    z-index: 1;
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    padding: 0 0 0 50px;
    cursor: pointer;
}
.register form .field .qr {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
}
.register form .field .qr span.hint {
    color: #329801;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 130%;
    position: absolute;
    top: calc(100% + 12px);
    width: 300px;
}
.register form .field .qr a {
    display: block;
    height: 40px;
    background: url(/assets/images/qr.svg) no-repeat left center;
    color: #000;
    font-size: 16px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    padding: 0 0 0 50px;
    text-decoration: none;
}
.register form .checkboxes {
    display: flex;
    justify-content: center;
    margin: 70px 0 0 0;
}
.register form .checkboxes .checkbox {
    position: relative;
    margin: 0 0 52px 0;
}
.register form .checkboxes > .checkbox:not(:last-child) {
    margin: 0 32px 0 0;
}
.register form .checkboxes .checkbox input {
    opacity: 0;
    -webkit-appearance: auto;
    position: absolute;
    top: 0;
    left: 0;
}
.register form .checkboxes .checkbox label {
    display: block;
    color: #000;
    font-size: 12px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    background: url(/assets/images/checkbox_off.svg) no-repeat left center;
    height: 23px;
    line-height: 23px;
    white-space: nowrap;
    padding: 0 0 0 32px;
    cursor: pointer;
}
.register form .checkboxes .checkbox label a {
    color: inherit;
    text-decoration: underline;
}
.register form .checkboxes .checkbox input:checked + label {
    background: url(/assets/images/checkbox_on.svg) no-repeat left center;
}
.register form .alert {
    text-align: center;
    margin: 0 0 31px 0;
}
.register form .alert span {
    color: #2F2E2E;

    text-align: center;
    font-size: 30px;
    font-style: normal;
    font-weight: 400;
    line-height: 130%; /* 39px */
}
.register form .submit {
    text-align: center;
}
.register form .submit input {
    width: 375px;
    /*display: inline-block;*/
    /*width: 397px;*/
    /*height: 113px;*/
    /*color: #FFF;*/
    /*text-align: center;*/
    /*font-size: 18px;*/
    /*font-style: normal;*/
    /*font-weight: 500;*/
    /*padding: 29px 10px 37px 60px;*/
    /*text-decoration: none;*/
    /*border: none;*/
    /*cursor: pointer;*/
}
.register .help {
    text-align: center;
    margin: 30px 0 0 0;
    opacity: 0.7;
}
.register .help a {
    color: inherit;
}

















#qr_scanner {
    display: none;;
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: none !important;
    background: #fff;
    z-index: 100;
}
#qr_scanner video {
    width: 100vw;
    height: 100vh;
    /* object-fit: cover; */
}
#qr_scanner a.close {
    position: absolute;
    left: 5%;
    bottom: 24px;
    display: inline-block;
    padding: 10px 30px;
    border-radius: 30px;
    background: #329801;
    box-shadow: 0px 10px 40px 0px rgba(0, 0, 0, 0.35);
    color: #FFF;
    text-align: center;
    font-size: 22px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
    text-decoration: none;
    width: 90%;
}

.loader {
    display: none;
    position: fixed;
    z-index: 99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/assets/images/loader.svg?v=1) no-repeat center center, rgba(255, 255, 255, 0.8);
    background-size: 72px;
}