*::selection {
    background-color: #F67EAC;
    color: #3E8CF2;
}

*::-webkit-scrollbar {
    height: 6px;
    width: 6px;
}

*::-webkit-scrollbar-track {
    border-radius: 5px;
    background-color: #FFF;
}

*::-webkit-scrollbar-track:hover {
    background-color: #FFF;
}

*::-webkit-scrollbar-track:active {
    background-color: #FFF;
}

*::-webkit-scrollbar-thumb {
    border-radius: 5px;
    background-color: #3D7720;
}

*::-webkit-scrollbar-thumb:hover {
    background-color: #F67EAC;
}

*::-webkit-scrollbar-thumb:active {
    background-color: #F67EAC;
}

img,
picture {
    display: block;
    max-width: 100%;
    height: auto;
    user-select: none;
}

p,
h1,
h2,
h3 {
    margin: 0;
}

.center {
    margin: 0 auto;
}

.desk-only {
    display: none;
}

.tb-link {
    color: inherit;
    transition: .3s ease-in-out;
}

.inline-link {
    text-decoration: underline;
}

.out-of-header {
    font-family: "Montserrat Alternates", "Nunito", sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-style: normal;
    color: #fff;
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;
}

.section-title {
    font-weight: 900;
    font-size: 2rem;
    line-height: 1.3;
    margin-bottom: 1em;
}

.white,
.green {
    padding-bottom: 60px;
    background: repeat-x bottom / 117px 51px;
}

.white {
    background-image: url('./assets/pattern-green.svg');
}

.green {
    background-image: url('./assets/pattern-white.svg');
    background-color: #3D7720;
}

.white .section-title {
    color: #3D7720;
    width: 300px;
}


.tb-button {
    position: relative;
    padding: 16px;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
    display: block;
    text-align: center;
    font: inherit;
    font-size: 15px;
    text-decoration: none;
    color: var(--text-sec);
    transition: .3s ease-in-out;
}

.tb-button::before {
    content: "";
    pointer-events: none;
    position: absolute;
    inset: 0;
    border-radius: inherit;
    box-shadow: 0 0 15px#EDEDFF;
    opacity: 0;
    transition: opacity .3s ease-in-out;
}

.tb-button--ghost {
    padding: .8em;
    font-size: 15px;
    font-weight: 600;
    color: var(--text);
    border-radius: 10px;
}

.tb-button--ghost.active {
    background-color: #fff;
    color: #3D7720;
}

.tb-button--accent {
    color: #000;
    background-color: #FBCC23;
    border: 1px solid #F8FF9C;
}

.tb-button--secondary {
    color: #28580F;
    background-color: #fff;
}

.tb-button--accent,
.tb-button--secondary {
    width: 100%;
    max-width: 288px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-radius: 10px;
}

.tb-button--icon {
    padding: 1em;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .5em;
}

@media (hover: hover) {
    .tb-link:is(:hover, :focus-visible) {
        text-decoration: none;
        color: inherit;
        opacity: .8;
    }

    .tb-link:focus-visible {
        outline: 1px solid white;
        outline-offset: 2px;
    }

    .tb-button--ghost:not(.active):is(:hover, :focus-visible) {
        background: rgba(243, 236, 219, .36);
    }

    .tb-button--ghost:not(.active):focus-visible {
        outline: 1px solid white;
        outline-offset: 2px;
    }

    .tb-button:not(.tb-button--ghost):is(:hover, :focus-visible) {
        filter: brightness(1.2);
    }

    .tb-button--accent {
        color: #000;
    }

    .tb-button--secondary:is(:hover, :focus-visible) {
        color: #114ea0;
    }

    .tb-button:not(.tb-button--ghost):is(:hover, :focus-visible)::before {
        opacity: 1;
    }

    .tb-button:not(.tb-button--ghost):focus-visible {
        outline: 1px solid white;
        outline-offset: 2px;
    }
}

.tb-button:not(.tb-button--ghost):active {
    filter: brightness(.98);
}

.tb-button:not(.tb-button--ghost):active::before {
    opacity: 1;
}

*,
*::before,
*::after {
    box-sizing: border-box;
    /* outline: 1px solid tomato; */
}

body {
    margin: 0;
    overflow-x: clip;
    scroll-behavior: smooth;
}

.tb-container {
    display: grid;
    grid-template-columns: min(100% - 32px, 720px);
    justify-content: center;
}

.section:not(.hero) {
    padding-block: 60px;
    position: relative;
}

.pink-branch {
    position: absolute;
    top: 0;
    right: 0;
    translate: 30% 20px;
    transform-origin: right 83%;
}

.pink-branch img {
    width: clamp(100px, 44vw, 380px);
}

/* ============================= hero */

.hero {
    padding: 100px 16px 80px;
}

.hero-container {
    --rows: 5;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: repeat(var(--rows), auto) 30px;
    position: relative;
    z-index: 1;
}

.hero .visual {
    grid-column: 1 / -1;
}

.hero-container .link-one {
    grid-area: 7 / 1 / 8 / -1;
    justify-self: center;
    align-self: start;
    display: inline-flex;
    gap: 8px;
    align-items: center;
    z-index: 2;
    margin-top: 20px;
    text-decoration-line: underline;
}

.link-one a {
    color: #fff;
}

.link-one a:active,
.link-one a:hover {
    color: #ffd2d2;
    text-decoration: underline;
}

.hero-sum {
    grid-area: 4 / 1 / 5 / -1;
    z-index: 2;
    font-size: 38px;
    font-family: "Montserrat Alternates";
    font-weight: 700;
    line-height: 130%;
    margin-bottom: 15px;
}

.hero .tyb-logo {
    grid-area: 1 / 1 / 2 / -1;
    margin-bottom: 25px;
}

.hero-title {
    grid-area: 2 / 1 / 3 / -1;
    font-size: 2rem;
    font-weight: 800;
    margin-bottom: 6px;
}

.hero-lead {
    grid-area: 3 / 1 / 4 / -1;
    line-height: 1.3;
}

.hero-lead time,
.hero-title strong {
    font-weight: 800;
    color: #FDCB14;
}

.hero .visual {
    margin-inline: -16px;
    pointer-events: none;
    display: grid;
    grid-area: 5 / 1 / 6 / -1;
    grid-column: 1 / -1;
}

.hero .visual :where(picture, img) {
    width: 100%;
}

.hero .visual>* {
    grid-area: 1/1;
    z-index: 1;
}

.hero .shape {
    background: radial-gradient(#C6FF40 20%, transparent 70%);
    filter: blur(50px);
    border-radius: 50%;
    margin: -4rem -8rem;
}

.hero .paddles,
.hero .branches,
.hero .branch-shadows {
    display: grid;
}

.hero .branches {
    grid-area: 2 / 1 / -2 / -1;
    z-index: 2;
    align-self: start;
}

.hero .paddles {
    align-self: end;
}

.hero .branch-shadows {
    align-self: center;
    translate: 0 30%;
}

.hero .paddles>*,
.hero .branches>*,
.hero .branch-shadows>* {
    grid-area: 1 / 1;
}

.hero .paddles .left {
    justify-self: start;
    translate: -50% 0;
    width: clamp(200px, 70vw, 800px);
}

.hero .paddles .right {
    justify-self: end;
    translate: 75% -14%;
    width: clamp(200px, 78vw, 600px);
}

.hero .branches>*,
.hero .branch-shadows>* {
    width: clamp(150px, 52vw, 700px);
    overflow-x: clip;
}

.hero .branches .left {
    translate: -50% 80%;
}

.hero .branch-shadows .left {
    translate: -40% 0;
}

.hero .branches .right,
.hero .branch-shadows .right {
    justify-self: end;
}

.hero .branches .right {
    translate: 22% 24%;
}

.hero .branch-shadows .right {
    translate: 30% 0;
}

.hero .branches .branch,
.hero .branches .branch img {
    width: clamp(150px, 52vw, 500px);
}

.hero .branch-shadows .branch-shadow {
    width: clamp(200px, 65vw, 650px)
}

.hero .more {
    grid-area: 6 / 1 / 7 / -1;
    width: 100%;
    max-width: 281px;
    justify-self: center;
    align-self: end;
    z-index: 2;
}

@media(prefers-reduced-motion: no-preference) {

    .branch {
        animation: wobble 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite alternate;
    }

    .branch-shadow {
        animation: pulse 1s cubic-bezier(0.455, 0.030, 0.515, 0.955) infinite alternate;
    }

    .branch.left {
        animation-name: wobble2;
        transform-origin: left 40%;
    }

    .branch.right {
        animation-delay: .2s;
        transform-origin: right 40%;
    }

    .branch-shadow.left {
        transform-origin: left;
    }

    .branch-shadow.right {
        animation-delay: .2s;
        transform-origin: right;
    }

    @keyframes wobble {
        0% {
            transform: rotate(0.5deg);
        }

        100% {
            transform: rotate(-0.5deg);
        }
    }

    @keyframes wobble2 {
        0% {
            transform: rotate(-0.5deg);
        }

        100% {
            transform: rotate(0.5deg);
        }
    }

    @keyframes pulse {
        0% {
            transform: scaleX(1.02);
        }

        100% {
            transform: scaleX(0.98);
        }
    }
}

/* ============================= participate */
.section.participation {
    padding-bottom: 0;
}

.participation .section-title {
    color: #3D7720;
}

.tabs-nav {
    margin: 0 0 1.5em;
    padding: 2px;
    display: flex;
    width: 100%;
    max-width: 330px;
    background-color: #3D7720;
    border-radius: 11px;
    overflow: hidden;
}

.tabs-nav * {
    flex-grow: 1;
}

.tabs-content {
    display: grid;
}

.tabs-content>* {
    grid-area: 1 / 1;
}

.tabs-content .content-panel {
    opacity: 0;
    transform: scale(0) translateY(6rem);
    height: 0;
    transform-origin: center top;
    z-index: 1;
}

.tabs-content .content-panel.active {
    height: auto;
    opacity: 1;
    transform: scale(1) translateY(0);
    z-index: 2;
}

.instruction-item {
    padding: 1.25em;
    border-radius: 10px;
    background: #3D7720;
}

.instruction-item:not(:last-child) {
    margin-bottom: 1em;
}

.instruction-item.map {
    margin-top: 2em;
}

.instruction-title {
    display: flex;
    align-items: center;
    font-size: 1.25rem;
    gap: .5em;
    margin-bottom: .8em;
}

.instruction-text {
    font-weight: 500;
    line-height: 1.35;
}

.instruction-text:not(:last-child) {
    margin-bottom: 1.2em;
}

.participation .form-container {
    padding-top: 44px;
}

.iframe-wrapper {
    width: clamp(330px, 100%, 100vw - 32px);
    height: 100%;
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
}

.participation .info {
    max-height: fit-content;
    padding: 1.25em;
    border-radius: 10px;
    font-weight: 500;
    background: rgba(243, 236, 219, .36);
}

.participation .info p {
    font-size: 1rem;
    line-height: 1.5;
}

.participation .info p:not(:last-of-type) {
    margin-bottom: 0.5em;
}

.participation .top {
    margin-bottom: 1.25rem;
    display: grid;
    place-content: center;
    place-items: center;
    gap: 1.25em;
}

.participation .bottom {
    padding: 1.25em;
}

.participation .bottom .title {
    margin-bottom: 0.65rem;
    font-size: 1.5rem;
    line-height: 1.1;
    font-weight: 700;
}

.participation .bottom .lead {
    font-size: .75rem;
    margin-bottom: 1.75rem;
}

.participation .bottom .buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.participation .bottom .tb-button:first-of-type:not(:last-of-type) {
    margin-bottom: 0.65rem;
}

/* ============================= faq */

.faq-list>div {
    background: #F3ECDB;
    color: #183209;
    border-radius: 10px;
}

.faq-list>div:not(:last-of-type) {
    margin-bottom: 20px;
}

.faq-list>div button {
    width: 100%;
    padding: 1em;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2em;
    color: #fff;
    border-radius: 10px;
    background: #3D7720;
    outline-color: #FBCC23;
    border: none;
    transition: .3s ease-in-out;
}

.faq-list>div button>span {
    text-align: left;
    pointer-events: none;
}

.faq-list>div button>.decor {
    width: 20px;
    flex: 0 0 20px;
    aspect-ratio: 1 / 1;
    background-image: url("data:image/svg+xml,%3Csvg width='20' height='20' viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M18.33 4.773V1.67a.833.833 0 1 0-1.666 0v1.971L12.327.716a4.15 4.15 0 0 0-4.66 0L1.835 4.652A4.161 4.161 0 0 0 0 8.106v7.728A4.17 4.17 0 0 0 4.166 20h1.666c.461 0 .833-.373.833-.833v-7.499c0-.459.374-.833.834-.833h4.999c.46 0 .833.374.833.833v7.499c0 .46.372.833.833.833h1.666a4.17 4.17 0 0 0 4.166-4.166V8.106c0-1.318-.62-2.548-1.666-3.333Z' fill='%23FBCC23'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100% 100%;
    position: relative;
    perspective: 50px;
    perspective-origin: center;
}

.faq-list>div button>.decor::before {
    content: "";
    position: absolute;
    width: 4px;
    height: 8px;
    background-color: #FBCC23;
    bottom: 0;
    left: 50%;
    translate: -50% 0;
    transition: transform .3s ease-in-out;
    transform-style: preserve-3d;
    transform-origin: left center;
}

.faq-list>div.opened button {
    box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.25);
}

.faq-list>div.opened button>.decor::before {
    transform: rotateY(75deg);
}

.faq-list>div .panel {
    padding: 0 1em;
    max-height: 0;
    overflow: hidden;
    transition: max-height .5s ease-in-out, padding .5s ease-in-out;
}

.faq-list>div .panel h3 {
    font-size: 1em;
    font-weight: 600;
    margin: 0 0 .5em;
}

.faq-list>div .panel p,
.faq-list>div .panel :where(ul, ol, ul>li, ol>li) {
    margin: 0;
    padding: 0;
    font-size: 16px;
    line-height: 1.5;
}

.faq-list>div .panel li>ul {
    padding-left: 2em;
}

.faq-list>div .panel :where(ul>li, ol>li) {
    margin-top: .75rem;
    padding-left: 1.2em;
}

.faq-list>div .panel :where(ul>:where(ul, ol)>li, :where(ol, ul)>li:not(:last-of-type)) {
    margin-bottom: .75em;
}

.faq-list>div .panel ul>li::before {
    width: 1em;
    height: 1em;
    translate: 0 50%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='38' height='40' viewBox='0 0 38 40' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M37.5 0C32.07 8.397 2.237 7.523 8.744 30.155c1.842-1.42 3.75-2.747 5.689-4.095C22.483 20.464 31.053 14.507 37.5 0Z' fill='%233D7720'/%3E%3Cpath d='M10 31.5C26.085 40.513 39.902 20.175 37.5 0c-4.26 14.327-12.417 20.258-20.525 26.152-2.362 1.717-4.72 3.43-6.975 5.348Z' fill='%233D7720'/%3E%3Cpath d='M8.744 30.155C5.789 32.435 3.024 34.907.617 38c1.483.248 2.035.718 2.65 2 .233-3 3.94-6.233 6.733-8.5 2.256-1.917 4.613-3.631 6.975-5.348C25.083 20.258 33.24 14.327 37.5 0c-6.447 14.507-15.016 20.464-23.067 26.06-1.939 1.348-3.847 2.675-5.69 4.095Z' fill='%2383BD66'/%3E%3C/svg%3E");
}

.faq-list>div .panel ul>li::before,
.faq-list>div .panel ol>li::before,
.faq-list>div .panel ul>li:first-child:before,
.faq-list>div .panel ol>li:first-child:before {
    top: 0;
    color: #3d7720;
}

.faq-list>div .panel p:not(:last-of-type) {
    margin-bottom: 1.2em;
}

.faq-list>div.opened .panel {
    padding: 1em;
}

/* =================================== prev translation */

.video__container {
    padding: 16px;
    border-radius: 16px;
    background: #fff;
    color: #3D7720;
}

.video__wrapper {
    width: 100%;
    margin-bottom: 10px;
    padding-bottom: 56.25%;
    position: relative;
}

.video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 8px;
}

.translation-title {
    margin-bottom: 8px;
    font-size: 21px;
}

.translation-winner {
    margin-bottom: 16px;
    font-size: 15px;
}

.video-container__bottom {
    font-size: 12px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.video-container__bottom time {
    font-weight: 700;
}

.video__container .inline-link {
    display: flex;
    align-items: center;
    gap: .5em;
}

/* =================================== winners */

.row {
    padding-inline: 16px;
    display: grid;
    grid-template-columns: 1fr 76px;
    font-size: 12px;
    font-weight: 400;
    line-height: 120%;
    text-align: left;
}

.row .cell {
    margin-left: -2px;
}

.row.table-header .cell:not(:last-of-type) {
    padding-left: 12px;
}

.row:not(:last-child) {
    margin-bottom: 10px;
}

.row.content .cell {
    padding: 18px 0 18px 12px;
}

.row.content>.cell {
    position: relative;
    background-repeat: no-repeat;
    background-size: 34px 24px;
    background-position: 50% 50%;
    background-image: url("data:image/svg+xml,%3Csvg width='34' height='24' viewBox='0 0 34 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M17.106.334h.184c1.695.007 10.286.068 12.602.686.7.189 1.339.556 1.851 1.066s.88 1.145 1.068 1.84c.208.778.355 1.807.454 2.87l.02.212.046.532.016.213c.134 1.87.15 3.622.153 4.005v.153c-.002.397-.02 2.268-.17 4.216l-.016.215-.018.213c-.103 1.17-.256 2.332-.485 3.188a4.1 4.1 0 0 1-1.067 1.84c-.513.51-1.151.878-1.852 1.066-2.392.638-11.486.683-12.747.685h-.293c-.637 0-3.273-.012-6.037-.106l-.35-.012-.18-.008-.353-.015-.352-.014c-2.29-.1-4.47-.262-5.475-.532a4.148 4.148 0 0 1-1.85-1.065 4.1 4.1 0 0 1-1.068-1.839c-.23-.853-.382-2.018-.485-3.188l-.016-.215-.017-.213A63.759 63.759 0 0 1 .5 11.96v-.251c.004-.44.02-1.96.132-3.639l.014-.21.007-.107.016-.213.046-.532.02-.213c.1-1.062.246-2.093.454-2.869a4.1 4.1 0 0 1 1.067-1.84A4.147 4.147 0 0 1 4.108 1.02C5.112.754 7.292.59 9.582.488l.35-.014.355-.013.178-.006.352-.014C12.78.378 14.744.343 16.708.337l.398-.003Zm-3.405 6.57v9.86l8.574-4.928-8.574-4.932Z' fill='%23fff'/%3E%3C/svg%3E");
}

.row .group {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
}

.row.content .group .cell:last-of-type {
    max-width: 10ch;
    overflow: hidden;
    text-overflow: ellipsis;
}

.row.content .group,
.row.content>.cell {
    background-color: #3D7720;
    border-radius: 10px;
}

.row.content>.cell,
.row.table-header .cell:last-of-type {
    margin-left: 10px;
}

.row.content .cell:last-child a {
    position: absolute;
    inset: 0;
}

.winners-swiper {
    padding-bottom: 32px;
}

.winners-swiper .swiper-pagination-bullet {
    width: 12px;
    height: 12px;
    background: #fbcc23;
}

.anim-container {
    position: fixed;
    z-index: 3;
    inset: 0;
    pointer-events: none;
    overflow: clip;
}

.anim-wrapper {
    position: absolute;
    bottom: 0;
    translate: 0 100%;
    opacity: var(--opacity);
    left: var(--left);
    width: var(--width);
    aspect-ratio: 1;
    animation: paddleAnimation var(--dur) ease var(--del) infinite;
    display: grid;
}

.anim {
    width: clamp(20px, 10%, 60px);
    aspect-ratio: 100 / 57;
    align-self: end;
    background: no-repeat center / 100% 100%;
    background-image: url("data:image/svg+xml,%3Csvg width='64' height='37' viewBox='0 0 64 37' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M43.81 31.013c-7.798-1.052-14.424-1.946-23.793 3.278 10.045 4.253 23.563 3.276 43.5-2.92-8.082 1.21-14.188.386-19.707-.358Z' fill='%23E3738B'/%3E%3Cpath d='M63.517 31.37C58.59 27.933 54.103 25.294 50 23.257c-.336-.167-.67-.33-1-.488-9.467-4.544-16.867-5.872-23-6.492l-.5-.05c-1.35-.13-2.637-.227-3.871-.321C15.018 15.402 9.925 15.014 5 10.5c5.406 5.19 10.719 5.704 17.76 6.384 3.685.357 7.845.759 12.74 1.902.294.069.59.14.89.214 7.208 1.785 15.987 5.208 27.127 12.37Z' fill='%23E3738B'/%3E%3Cpath d='M21.629 6.5c3.763 3.522 4.336 5.687 3.871 9.728l.5.049c.185-1.757.11-3.12-.206-4.277a7.172 7.172 0 0 0-.294-.858c-.704-1.695-2.015-2.989-3.871-4.642Z' fill='%23E3738B'/%3E%3Cpath d='M25.5 11.142c.114.274.212.56.294.858.835-3.691 1.22-5.75-.794-9 1.515 3.362 1.188 4.891.708 7.139-.068.318-.139.65-.208 1.003ZM36.39 19c-.3-.074-.596-.145-.89-.214-4.047 5.775-7.909 7.69-16.5 9.714 4.961-.551 8.403-1.558 11.228-3.356.092-.058.182-.117.272-.177 2.178-1.445 3.998-3.381 5.89-5.967Z' fill='%23E3738B'/%3E%3Cpath d='M30.228 25.144c.112 1.772-.213 2.7-1.728 4.356 1.626-1.502 2.31-2.262 2-4.533-.09.06-.18.119-.272.177ZM48.762 19a27.73 27.73 0 0 0-.135-1c-2.47-1.11-4.352-2.295-6.627-4.188a50.128 50.128 0 0 1-.761-.647A82.245 82.245 0 0 1 39 11.142c3.114 4.161 5.474 5.474 9.594 7.765l.168.093Z' fill='%23E3738B'/%3E%3Cpath d='M49 22.769c.33.159.664.321 1 .488l-.044-.45c-.34-3.469-.612-6.254-1.602-8.807-.109-.281-.227-.56-.354-.835-1.193-2.585-3.24-4.975-7-7.665 4.253 3.916 6.733 6.665 7.627 12.5.05.324.095.657.135 1 .132 1.136.21 2.383.238 3.769Z' fill='%23E3738B'/%3E%3Cpath d='M47 6c1.416 3.038 1.394 4.55 1 7.165.127.276.245.554.354.835.701-3.339.29-5.188-1.354-8Z' fill='%23E3738B'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M20.017 34.29C11.421 30.65.444 20.366.017 11.87-.23 6.923 2.182 6.888 6.02 6.834c2.752-.04 6.237-.09 9.997-1.969 28-14 43.5 4.501 47.5 26.505-4.928-3.437-9.414-6.076-13.517-8.113l-.044-.45c-.34-3.469-.612-6.254-1.602-8.807.701-3.339.29-5.188-1.354-8 1.416 3.038 1.394 4.55 1 7.165-1.193-2.585-3.24-4.975-7-7.665 4.253 3.916 6.733 6.665 7.627 12.5-2.47-1.11-4.352-2.295-6.627-4.188C41.584 9.92 40.726 8.608 38.5 7c2.582 2.702 2.705 3.955 2.739 6.165A82.245 82.245 0 0 1 39 11.142c3.114 4.161 5.474 5.474 9.594 7.765l.168.093c.132 1.136.21 2.383.238 3.769-9.467-4.544-16.867-5.872-23-6.492.185-1.757.11-3.12-.206-4.277.835-3.691 1.22-5.75-.794-9 1.515 3.362 1.188 4.891.708 7.139-.068.318-.139.65-.208 1.003-.704-1.695-2.015-2.989-3.871-4.642 3.763 3.522 4.336 5.687 3.871 9.728-1.35-.13-2.637-.228-3.871-.322C15.018 15.402 9.925 15.014 5 10.5c5.406 5.19 10.719 5.704 17.76 6.384 3.685.357 7.845.759 12.74 1.902-4.047 5.775-7.909 7.69-16.5 9.714 4.961-.551 8.403-1.558 11.228-3.356.112 1.772-.213 2.7-1.728 4.356 1.626-1.502 2.31-2.262 2-4.533 2.178-1.445 3.998-3.381 5.89-5.967 7.208 1.785 15.987 5.208 27.127 12.37-8.082 1.21-14.188.387-19.707-.357-7.798-1.052-14.424-1.946-23.793 3.278Z' fill='%23F5CBDB'/%3E%3Cpath d='M38.5 7c2.582 2.702 2.705 3.955 2.739 6.165.26.225.512.44.761.647C41.584 9.92 40.726 8.608 38.5 7Z' fill='%23E3738B'/%3E%3C/svg%3E");
}

.hero .visual img.main-visual {
    height: auto;
    max-width: none;
    justify-self: unset;
    margin: 0;
}

.instruction-item1 {
    display: flex;
    min-width: 328px;
    padding: 20px;
    flex-direction: column;
    border-radius: 10px;
    border: 1px solid #FFF;
    background: #648F42;
}

.instruction-title {
    color: #FFF;
    font-family: "Montserrat Alternates";
    font-size: 20px;
    font-weight: 800;
    line-height: 110%;
    align-items: flex-start;
}

.instruction-text {
    color: #FFF;
    font-family: "Montserrat Alternates";
    font-size: 16px;
    font-weight: 500;
    line-height: 130%;
}

.top-container {
    display: flex;
    min-width: 328px;
    padding: 24px 16px;
    flex-direction: column;
    margin-top: 40px;
    justify-content: center;
    align-items: flex-start;
    gap: 36px;
    border-radius: 8px;
    border: 2px solid #FFF;
    background: #648F42;
}

.top-block h3 {
    font-family: "Montserrat Alternates";
    font-size: 22px;
    font-weight: 700;
}

.top-block p {
    font-family: "Montserrat Alternates";
    font-size: 16px;
    font-weight: 500;
    margin-top: 8px;
}

.bottom {
    padding: 20px 20px 0;
}

.title {
    color: #FFF;

    font-family: "Montserrat Alternates";
    font-size: 22px;
    font-weight: 700;
    line-height: 110%;
}

.lead {
    color: #FBFBFB;
    margin: 10px 0 30px;
    font-family: "Montserrat Alternates";
    font-size: 13px;
    font-weight: 500;
    line-height: 120%
}

.buttons {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: center;
}

.form {
    display: flex;
    flex-direction: row;
    gap: 8px;
    align-items: center;
    margin-top: 22px;
}

.input-wrapper {
    display: flex;
    align-items: center;
    height: 43px;
    background: #fff;
    border-radius: 14px;
    padding: 0 18px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .12);
    min-width: 160px;
}

.prefix {
    font-size: 16px;
    font-weight: 500;
    color: #111;
    margin-right: 8px;
}

.input {
    border: none;
    outline: none;
    font-size: 16px;
    font-weight: 500;
    color: #111;
    width: 180px;
}

.input::placeholder {
    color: #999;
    font-weight: 500;
}

.btn {
    height: 43px;
    padding: 0 20px;
    border-radius: 14px;
    border: none;
    background: linear-gradient(180deg, #FFAE00 0%, #F4CD58 100%);
    color: #1A4107;
    font-size: 16px;
    font-weight: 600;
    text-transform: uppercase;
    cursor: pointer;
    font-family: "Montserrat Alternates";
    box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
    transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
}


.btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 10px 26px rgba(0, 0, 0, .22);
}

.btn:active {
    transform: translateY(0);
    box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
}

.btn:disabled {
    opacity: .5;
    cursor: not-allowed;
    box-shadow: none;
}

#not-participant {
    margin-bottom: 0 !important;
}

.hidden {
    display: none;
}

.input:-webkit-autofill,
.input:-webkit-autofill:hover,
.input:-webkit-autofill:focus,
.input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #000 !important;
    transition: background-color 9999s ease-in-out 0s;
}

.top-container {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
}

.top-container .top-block {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    margin: 0 auto;
}

.top-container,
.top-container .top-block {
    min-width: 0;
}

#checkForm {
    width: 100%;
    max-width: 100%;
}

#checkForm .btn {
    max-width: 100%;
}

#checkForm .input-wrapper {
    position: relative;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

#checkForm .input-wrapper .input {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    display: block;
    min-width: 0;
    height: 100%;
    padding: 0;
}

.result {
    margin-top: 18px;
    position: relative;
    overflow: visible;
}

.hidden {
    display: none;
}

.reg+.reg {
    border-top: 1px solid #ecebf3;
}

.col .reg:first-child {
    border-top: none;
}

.reg ul li {
    padding: 0;
    display: list-item;
    margin: 0 0 0 10px;
    color: #FFF;
    font-family: "Montserrat Alternates";
    font-size: 15px;
    font-weight: 500;
}

.reg ul li::before {
    content: none;
}

.regs-navline {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin-top: 12px;
    position: relative;
    z-index: 5;
}

.regs-navline.hidden {
    display: none;
}

.regs-nav {
    width: 36px;
    height: 36px;
    border: none;
    border-radius: 10px;
    background: rgba(225, 225, 225, .3);
    color: #fff;
    font-size: 24px;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
}

.regs-nav:disabled {
    opacity: .4;
    cursor: not-allowed;
}

.regs-swiper .swiper-pagination-bullet{
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: rgba(225,225,225,.2);
  opacity: 1;
}
.regs-swiper .swiper-pagination-bullet-active{
  width: 22px;
  height: 8px;
  border-radius: 999px;
  background: #fff;
}

.winners-swiper .swiper-pagination-bullet {
    background: #fbcc23;
    opacity: 0.35; 
}

.winners-swiper .swiper-pagination-bullet-active {
    background: #fbcc23;
    opacity: 1; 
}

.regs-swiper .swiper-pagination{ pointer-events: none; }


.reg+.reg {
    border-top: 1px solid #ecebf3
}
.narrow {
  width: 18px;
  height: auto;
}

@media (max-width: 768px) {
  .narrow {
    width: 24px;
  }
}
@keyframes paddleAnimation {
    0% {
        translate: var(--translateStart);
        rotate: var(--start-turn);
    }

    100% {
        translate: 100% 100%;
        rotate: var(--end-turn);
    }
}