* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    font-size: 1.1vw;
}

body {
    background: linear-gradient(180deg, #FABC52 0%, #FAFF40 100%);
    background-repeat: no-repeat;
    font-family: Roboto, sans-serif;
    font-weight: 400;
    line-height: 1.33;   
}

img {
    display: block;
}

h1 {
    font-size: 6rem;
    color: transparent; 
    line-height: 0.9;
    letter-spacing: 0;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
    padding-bottom: 1.5rem;
	-webkit-background-clip: text;
	background-clip: text;
	background-image: linear-gradient(to top, #FABC52, #000000);
    background-size: 100% 150%;
    background-repeat: no-repeat;
}

.global_wrapper {
    position: relative;
    overflow: hidden;
}

.container {
    width: 76%;
    margin-left: auto;
    margin-right: auto;
}

.logo {
    width: 17rem;
    margin-top: 3rem;
}

.logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.first_screen {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.first_screen_start-promotion_wrapper {
    display: none;
    position: absolute;
    top: 9rem;
    left: 33rem;
    width: 16rem;
    height: 16rem;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: #FFF;
    background: #FF001D;
    border-radius: 50%;
    box-shadow: 0 0 5rem 4rem rgba(255, 255, 255, 1);
    z-index: 2;
}

.first_screen_start-promotion_wrapper.show {
    display: flex;
}

.first_screen_start-promotion_header {
    font-size: 1.1rem;
    font-weight: 600;
    text-align: center;
    text-transform: uppercase;
}

.first_screen_start-promotion_timer_wrapper {
    display: flex;
    padding-top: 1.2rem;
    padding-bottom: 2rem;
}

.first_screen_start-promotion_timer_item {
    flex: 0 0 3.2rem;
    text-align: center;
    font-weight: 600;
    min-width: 3.8rem;
}

.first_screen_start-promotion_timer_item_number {
    font-size: 1.5rem;
}

.first_screen_start-promotion_timer_item_text {
    font-size: 0.8rem;
    text-transform: lowercase;
    white-space: nowrap;
    width: 100%;
    min-width: 3.2rem;
    text-align: center;
    overflow: hidden;
}

.first_screen_start-promotion_timer_separator {
    position: relative;
    width: 0rem;
    height: 2rem;
}

.first_screen_start-promotion_timer_separator:before {
    content: "";
    position: absolute;
    right: -0.1rem;
    top: 0.6rem;
    width: 0.2rem;
    height: 0.2rem;
    background: #FFF;
    border-radius: 50%;
}

.first_screen_start-promotion_timer_separator:after {
    content: "";
    position: absolute;
    right: -0.1rem;
    bottom: 0.6rem;
    width: 0.2rem;
    height: 0.2rem;
    background: #FFF;
    border-radius: 50%;
}

.first_screen_start-promotion_reg {
    font-weight: 600;
    text-transform: uppercase;
}

.first_screen_form {
    flex: 0 0 30%;
}

.form_wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    border-radius: 1.7rem;
    background: #efdf44;
    padding: 1rem;
}

.form {
    width: 100%;
    margin-top: 2rem;
}

.form_header {
    font-size: 1.4rem;
    font-weight: bold;
}

.form_step {
    font-size: 1rem;
    opacity: 0.5;
}

.form_label {
    position: relative;
    display: block;
    padding-bottom: 1rem;
    margin-bottom: 0.2rem;
}

.form_input_header {
    font-size: 0.9rem;
    color: #1D1D1D;
    margin-bottom: 0.4rem;
}

.form_input {
    font-size: 1rem;
    color: #1D1D1D;
    width: 100%;
    background: rgba(255, 255, 255, 0.2);
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: .6rem;
    outline: none;
    padding: 0.5rem;
}

.form_input_error {
    position: absolute;
    bottom: 0;
    left: 0;
    font-size: 0.6rem;
    color: #FF2B43;
}

.form_agree {
    font-size: 0.6rem;
    color: #1D1D1D;
}

.form_agree a {
    color: #FF2B43;
    text-decoration: none;
}

.form_submit-button_wrapper {
    display: block;
    position: relative;
}

.form_submit-button_wrapper.loading {
    height: 2.5rem;
    margin-top: 1rem;
}

.form_submit-button_wrapper.loading:before {
    content: '';
    position: absolute;
    top: 0;
    left: calc(50% - (2.5rem/2));
    width: 2.5rem;
    height: 2.5rem;
    border-top: 3px solid #03CE03;
    border-right: 3px solid transparent;
    border-bottom: 0 solid #03CE03;
    border-left: 3px solid #03CE03;
    border-radius: 50%;
    animation: rotation 1s linear 0s infinite;
}

.form_submit-button {
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.6);
    width: 100%;
    font-weight: 500;
    background: #03CE03;
    border: none;
    border-radius: .6rem;
    padding-top: 0.536rem;
    padding-bottom: 0.560rem;
    margin-top: 1.2rem;
    cursor: pointer
}

.form_submit-button_wrapper.loading .form_submit-button {
    display: none;
}

.form_have-account {
    font-size: 0.8rem;
    text-align: center;
    margin-top: 1.2rem;
}

.form_have-account a {
    font-weight: bold;
}

/* .form_checkbox_agree_wrapper {

}

.form_checkbox_agree_wrapper input[type="checkbox"] {
    display: none;
} */

@keyframes rotation {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

.first_screen_form_label.loading .first_screen_form_button {
    display: none;
}

.error-step {
    display: none;
}

.second-step {
    display: none;   
}

.first_screen_form.second .first-step {
    display: none;
}

.first_screen_form.second .second-step {
    display: block;
}

.form_label.second-step {
    margin-top: 10.4rem;
    margin-bottom: 3rem;
}

.form_submit-button.second-step {
    margin-bottom: 2rem;
}

.mobile_how {
    display: none;
}

.mobile_how_steps {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
}

.mobile_how_steps_background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.mobile_how_steps_background img {
    width: 100%;
    object-fit: contain;
}

.mobile_how_step {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

.mobile_how_step:nth-child(2) {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.mobile_how_step_number {
    height: 9rem;
}

.mobile_how_step_number img {
    height: 100%;
    object-fit: contain;
}

.mobile_how_step_header {
    color: #1D1D1D;
    font-size: 1.3rem;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    margin-top: 3rem;
}

.mobile_how_step_description {
position: relative;
    color: #1D1D1D;
    font-weight: 500;
    text-align: center;
    margin-top: 1rem;
}

.first_screen_content {
    flex: 0 0 60%;
}

.first_screen_content_text {

}

.first_screen_content_images {
    position: relative;
}

.first_screen_content_image_main {
    position: relative;
    left: -14%;
    top: -5.5rem;
}

.first_screen_content_image_main img {
    width: 120%;
    object-fit: contain;
}

.first_screen_content_image_bubble {
    position: absolute;
    top: 3rem;
    left: -2rem;
    width: 11rem;
}

.first_screen_content_image_bubble img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.how {

}

.how_header {
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
}

.how_steps {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 5rem;
}

.how_steps_background {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}

.how_steps_background img {
    width: 100%;
    object-fit: contain;
}

.how_step {
    flex: 0 0 30%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 4rem 1rem;
}

.how_step_number {
    height: 11rem;
}

.how_step_number img {
    height: 100%;
    object-fit: contain;
}

.how_step_header {
    color: #1D1D1D;
    font-size: 1.3rem;
    font-weight: 800;
    text-transform: uppercase;
    text-align: center;
    margin-top: 4rem;
}

.how_step_description {
    position: relative;
    color: #1D1D1D;
    font-weight: 500;
    text-align: center;
    margin-top: 1rem;
}

.how_step_description:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 33%;
    background: rgba(255, 0, 0, 0.1);
}

.how_step_description:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 33%;
    background: rgba(255, 0, 0, 0.1);
}

.participate_button_wrapper {
    text-align: center;
    margin-top: 2rem;
}

.participate_button {
    display: inline-block;
    font-size: 1rem;
    color: #FFF;
    width: 27%;
    font-weight: 500;
    text-decoration: none;
    background: #03CE03;
    border: none;
    border-radius: .6rem;
    padding-top: 0.536rem;
    padding-bottom: 0.560rem;
    margin-top: 1.2rem;
    cursor: pointer
}

.participate_button_agree {
    font-size: 0.8rem;
    color: #1D1D1D;
    font-weight: 500;
    text-align: center;
    margin-top: 0.6rem;
    opacity: 0.5;
}

.participate_button_agree a {
    color: #1D1D1D;
}

.example {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    width: 31rem;
    background: #efdf44;
    border-radius: 2rem;
    padding: 1rem;
    margin-top: 5rem;
    margin-left: auto;
    margin-right: auto;
}

.example_header {
    font-size: 1.2rem;
    font-weight: 500;
    text-transform: uppercase;
    text-align: center;
}

.example_single {
    color: #FFF;
    text-align: center;
    background: rgba(32, 146, 36, 0.53);
    border-radius: 5rem;
    padding: 0.5rem 1rem;
    margin-top: 1rem;
}

.example_express {
    color: #FFF;
    text-align: center;
    background: #00BC06;
    border-radius: 5rem;
    padding: 0.5rem 1rem;
    margin-top: 0.4rem;
}

.example_description {
    font-size: 0.8rem;
    width: 100%;
    margin-top: 2rem;
}

.example_description_text {
    width: 21rem;
}

.example_insert {
    position: absolute;
    right: -5.5rem;
    bottom: -2.5rem;
    width: 14rem;
}

.example_insert img {
    width: 100%;
    object-fit: cover;
}

.rules {
    z-index: 1;
    position: relative;
    margin-top: 5rem;
}

.rules_header {
    font-size: 1.1rem;
    font-weight: 500;
    margin-left: 2rem;
}

.rules-block_wrapper {
    position: relative;
    height: 25rem;
    /* width: 90%; */
    text-align: left;
    background: #fff;
    border-radius: 2rem;
    padding-top: 2.5rem;
    padding-left: 2.5rem;
    padding-bottom: 2.5rem;
    padding-right: 1.25rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1rem;
    margin-bottom: 1rem;
    z-index: 1;
}

.rules-block_inner {
    position: relative;
    width: 100%;
    height: 100%;
}

.rules-block {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    color: #000;
    font-size: 0.8rem;
    padding-right: 1rem;
    overflow-y: scroll;
}

.rules-block h2 {
    font-weight: 700;
    font-size: 1.5rem;
    color: #000;
    text-align: left;
    text-transform: none;
    margin-bottom: 1.5rem;
}

.rules-block h3 {
    font-size: 1rem;
    text-transform: uppercase;
    margin-top: 1rem;
}

.rules-block h2:first-child {
    margin-top: 0;
}

.rules-block ul, .rules-block ol {
    margin-left: 2rem;
}

.rules-block li {
    font-size: 0.8rem;
    margin-top: 0.33rem;
    margin-bottom: 0.33rem;
}

.rules-block p {
    font-size: 0.8rem;
    margin-top: 0.33rem;
    margin-bottom: 0.33rem;
}

.copyright {
    font-size: 1rem;
    font-weight: 300;
    margin-top: 3rem;
}

.bottom_logo {
    width: 10rem;
    padding-bottom: 5rem;
    margin: 3rem auto 0;
}

.bottom_logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.bg_many_bubbles {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -7;
}

.bg_many_bubbles img {
    width: 100%;
    /* height: 100%; */
    object-fit: cover;
}

.left_bubble {
    position: absolute;
    left: 0;
    bottom: 54rem;
    width: 14rem;
    z-index: -5;
}

.left_bubble img {
    width: 100%;
    object-fit: contain;
}

.right_top_bubbles {
    position: absolute;
    right: 0;
    bottom: 59rem;
    width: 18rem;
    z-index: -5;
}

.right_top_bubbles img {
    width: 100%;
    object-fit: contain;
}

.right_bottom_bubbles {
    position: absolute;
    right: 0;
    bottom: 18rem;
    width: 14rem;
    z-index: -5;
}

.right_bottom_bubbles img {
    width: 100%;
    object-fit: contain;
}