#hero {    
    font-size: 16px;
    z-index: 999999;
    --gray: #A3A3A6;
    --red: #ed1c24;
    --focus-border: #000;
    --focus-color: #79797B;
    --error-border: #E32E22;
    --error-color: #E32E22;
}
.hero-main{
    height: 663px;
}
.hero-main:before{
    content: '';
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: calc(((100% - 1230px) / 2) + (1230px - 545px));
    background-position: right center;
    background-repeat: no-repeat;
    background-size: cover;
    background-image: url(../../../images/25/july/hero/red-back.jpg);
	background-image: -webkit-image-set(url("../../../images/25/july/hero/red-back.jpg") 1x, url("../../../images/25/july/hero/red-back@2x.jpg") 2x);
}
.hero-inner{
    width: calc(100% - 570px);
}
.h-step-1 .button,
.h-step-2 button.button,
.h-step-3 .button,
.h-step-4 .button{
    font-size: 1.0625em;
    height: 39px;
    border-radius: 20px;
}
.h-step-1 .button,
.h-step-3 .button,
.h-step-4 .button {
    width: 200px;
    margin-top: 26px;
}
.h-step-2 button.button{
    width: 166px;
    margin-top: 26px;
}
.h-step-3 .button,
.h-step-4 .button {
    margin-top: 40px;
}

.h-step-2 p {
    font-size: 2em;
}

.h-step-2 form{
    width: 640px;
    margin-top: 26px;
}
.h-step-2 .form-field {
    padding: 9px;
    flex-basis: 50%;
    flex-grow: 1;
}
.h-step-2 .form-field label {
    left: 16px;
    font-size: 1.125em;
    margin-bottom: 0;
    line-height: 1;
    margin-top: 0.3em;
    transition: all 0.3s;
}
.h-step-2 .form-field .textarea_box label {
    margin-top: 16px;
}
.h-step-2 .form-field input,
.h-step-2 .form-field textarea,
.h-step-2 .form-field select{
    font-size: 1.125em;
    height: 56px;
    background-color: #fff;
    width: 100%;
    text-indent: 16px;
    padding-top: 18px;
    border-radius: 12px;
}
.h-step-2 .form-field select{
    background-image: none;
}
.h-step-2 .form-field textarea {
    height: 126px;
    padding-top: 16px;
    resize: none;
}
.h-step-2 .form-field .select_box:after{
    content: '';
    display: block;
    width: 17px;
    height: 10px;
    position: absolute;
    right: 15px;
    background-repeat: no-repeat;
    background-position: center;
	background-image: url(../../../images/25/july/hero/down-arrow.png);
	background-image: -webkit-image-set(url("../../../images/25/july/hero/down-arrow.png") 1x, url("../../../images/25/july/hero/down-arrow@2x.png") 2x);
    background-size: cover;
    pointer-events: none;
}
@-moz-document url-prefix() {
    .h-step-2 .form-field select {
       text-indent: 8px;
    }
}
.h-step-2 .form-field select.selected,
.h-step-2 .form-field input{
    color: var(--black);
}
.h-step-2 .form-field select,
.h-step-2 .form-field ::placeholder{
    opacity: 1;
    color: #262626;
}
.h-step-2 .form-field input:-internal-autofill-selected,
.h-step-2 .form-field input:-webkit-autofill,
.h-step-2 .form-field input:-webkit-autofill:focus {
    background-color: #fff !important;
    transition: background-color 0s 600000s, color 0s 600000s !important;
}
.h-step-2 .form-action [type="submit"].button[disabled]{
    opacity: 0.8;
    cursor: not-allowed;
}

.h-step-2 .form-field .validation-error:before,
.h-step-2 .form-field .incomplete-mask:before {
    content: '';
    display: block;
    width: 23px;
    height: 23px;
    position: absolute;
    z-index: 2;
    right: 16px;
    background-repeat: no-repeat;
    background-position: center;
	background-image: url(../../../../images/error.png);
	background-image: -webkit-image-set(url("../../../../images/error.png") 1x, url("../../../../images/error@2x.png") 2x);
    background-size: cover;
    pointer-events: none;
}

.h-step-2 .form-field .validation-error select,
.h-step-2 .form-field .validation-error input,
.h-step-2 .form-field .incomplete-mask input{
    border-color: var(--error-border);
    border-width: 2px;
}
.h-step-2 .form-field .validation-error label,
.h-step-2 .form-field .incomplete-mask label{
    color: var(--error-color);
}
.h-step-2 .form-field .select_box.focused:after {
    transform: scaleY(-1);
}
.h-step-2 .form-field .focused label,
.h-step-2 .form-field .has-value label {
    font-size: 0.84375em;
    margin-top: calc(-2.9em + 24px);
    color: var(--focus-color);
}
.h-step-2 .form-field .textarea_box.focused label, 
.h-step-2 .form-field .textarea_box.has-value label {
    margin-top: 8px;
}
.h-step-2 .form-field .focused select,
.h-step-2 .form-field .focused input{
    border-color: var(--focus-border);
    border-width: 2px;
}
.hero-animations{
    height: 100%;
    width: calc(((100% - 1230px) / 2) + 545px);
}
.ha-animation{
    height: 100%;
    width: auto;
    aspect-ratio: 1 / 0.38867925;
    left: -500px;
    left: -700px;
}
.ha-animation svg{
    width: auto !important;
}

@media screen and (max-width: 1229px){
    .hero-main:before,
    .hero-inner{
        width: calc(100% - 500px);
    }
    .hero-inner{
        padding-right: 15px;
    }
    .hero-animations{
        width: 500px;
    }
}
@media screen and (max-width: 991px){
    .hero-main:before,
    .hero-inner,
    .hero-animations{
        width: 100%;
    }
    .hero-inner{
        padding-right: 0;
    }
    .hero-animations{
        position: absolute;
        z-index: 1;
        display: none;
    }
    .ha-animation{
        left: -60vw;
    }
}
@media screen and (max-width: 567px){
    .hero-main{
        height: 625px;
    }
    .hero-main.shrinked{
        height: 500px;
    }
    .ha-animation{
        left: -14%;
        display: flex;
        justify-content: center;
        aspect-ratio: 1 / 1.06666667;
    }
    .ha-animation#winner-anim {
        left: -163%;
        aspect-ratio: 1 / 0.38867925;
    }
    .h-step-1 .button {
        margin-top: 14px;
    }
    .h-step-2 button.button{
        width: 200px;
        margin-top: 14px;
    }
    .h-step-3 .button {
        margin-top: 20px;
    }
    .h-step-4 .button {
        margin-top: 29px;
    }
    .h-step-2 p{
        font-size: 1.625em;
        line-height: 1.32692308;
        width: 240px;
    }
    .h-step-2 .popup-form form{
        margin-top: 15px;
        width: calc(100% - 25px);
    }
    .h-step-2 .form-row{
        flex-direction: column;
    }
    .h-step-2 .form-field{
        padding: 6px 0;
    }
    .h-step-2 .form-field label {
        font-size: 1em;
    }
    .h-step-2 .form-field input,
    .h-step-2 .form-field select{
        font-size: 1em;
        border-radius: 13px;
    }
    .h-step-2 .form-field textarea{
        height: 144px;
    }
} 