.hd-1 { font-size: 3.8rem; line-height: 1.4; }
.headline { font-size: 3.8rem; color: #f6416f; font-weight: 500; max-width: 860px; }
.sub-headline { font-size: 2.4rem; max-width: 930px; }

.page { position: relative; }
.page:before { opacity: 0.2; content: ''; position: absolute; width: 100%; height: 100%; background: #fff url(./../images/old-woman-sitting-back-pain.webp) center right -200px no-repeat; background-size: auto 100%; }

.opt-box { margin: 40px 0; }

#step-2 { display: none; }
#form-1 { margin-top: 40px; }
.opt-note { font-size: 14px; max-width: 700px; }

.input-field { max-width: 500px; width: 100%; margin: 0 0 20px; position: relative; }
.input-field input { z-index: 2; max-width: 500px; width: 100%; font-size: 2.2rem; padding: 17px 50px 13px; box-sizing: border-box; position: relative; box-shadow: 3px 3px 12px #e3e3e3 inset; display: block; background: #ffffff; border-radius: 5px; line-height: 1; border: 3px solid #ffffff; }
.input-icon { position: absolute; z-index: 3; top: 0; left: 0; width: 24px; height: 24px; margin: 20.5px 15px; }
.input-icon svg { width: 100%; height: 100%; fill: #757575; }

.cta-button { display: flex; max-width: 625px; width: 100%; margin: 40px 0; align-items:center; justify-content: center; z-index: 1; position: relative; }
.cta-button.step-1-btn { margin-left: -62px; }
.cta-button.step-2-btn { margin-left: -62px; }
.cta-button:hover { transition: all .4s ease-in-out 0s; }
.cta-button .btn-1-hp { flex-grow: 1; position: relative; }
.arrow { position: relative; z-index: -1; }
.arrow-left { flex-shrink: 0; margin-bottom: -5px; }
.arrow-right { flex-shrink: 0; transform: scaleX(-1); margin-bottom: -5px; }
.arrow span { display: inline-block; width: 25px; height: 25px; border-bottom: 5px solid #f74646; border-right: 5px solid #f74646; transform: rotate(-45deg); margin: -6px; animation: animate 2s infinite; position: relative; z-index: 10 }
.arrow span:nth-child(2) { animation-delay: -0.2s; }
.arrow span:nth-child(3) { animation-delay: -0.4s; }

.next-btn { font-family: "Roboto", serif; line-height: 1.2; font-size: 3.2rem; flex-basis: 500px; flex-grow: 0; flex-shrink: 1; max-width: 500px; font-weight: 700; color: #ffffff; text-align: center; text-decoration: none; padding: 12px 20px; position: relative; cursor: pointer; background: linear-gradient(90deg, rgb(227 83 4) 0%, rgb(242 103 28) 100%); border-radius: 40px; box-shadow: 7px 3px 24px rgba(251, 203, 176, 0.21); transition: all 0.3s ease-in-out 0s; outline: 0; border: 0; appearance: none; }
.next-btn::before { content: ''; border-radius: 80px; width: calc(100% + 6px); height: calc(100% + 6px); border: 6px solid rgb(248 124 55); box-shadow: 0 0 60px rgba(251, 203, 176, 0.21); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); opacity: 0; transition: all .3s ease-in-out 0s; }
.next-btn:hover, .btn-1:focus { transform: translateY(-10px); }
.next-btn:hover::before, .btn-1:focus::before { opacity: 1; }
.next-btn::after { content: ''; width: 30px; height: 30px; border-radius: 100%; border: 6px solid rgb(253 160 109); position: absolute; z-index: -1; top: 50%; left: 50%; opacity: 0; pointer-events: none; transform: translate(-50%, -50%); animation: ring 1.5s infinite; }
.next-btn:hover::after, .btn-1:focus::after { animation: none; display: none; }

@keyframes ring {
    0% { width: 30px; height: 30px; opacity: 0; }
    5% { opacity: 1; }
    95% { width: 300px; height: 300px; opacity: 0; }
    100% { width: 30px; height: 30px; }
}

@keyframes animate {
    0% {
        opacity: 0;
        transform: rotate(-45deg) translate(-20px, -20px);
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
        transform: rotate(-45deg) translate(20px, 20px);
    }
}

.pink { color: #f6416f; }
.purple { color: #54008f; }
.bold { font-weight: 900; }

@media screen and (max-width: 1080px) {
    .headline { font-size: 3.2rem; max-width: 820px; }
    .sub-headline { font-size: 2.2rem; max-width: 850px; }
}

@media screen and (max-width: 768px) {
    .hd-1 { font-size: 2.6rem; }
    .headline { font-size: 2.6rem; }
    .sub-headline { font-size: 2rem; }

    .next-btn { font-size: 2.4rem; }
    .cta-button.step-1-btn { margin: 30px auto 0; }
    .cta-button.step-2-btn { margin: 20px auto; }
    .input-field { margin: 0 auto 20px; }
    .input-field input { font-size: 1.8rem; }
}

@media screen and (max-width: 540px) {
    .br-2, .br-3 { display: none; }

    .arrow-left { position: absolute; left: 0; }
    .arrow-right { position: absolute; right: 0; }
    .next-btn { margin: 0 15px; }

    @keyframes animate {
        0% {
            opacity: 0;
            transform: rotate(-45deg) translate(0px, 0px);
        }
        50% {
            opacity: 1;
        }
        100% {
            opacity: 0;
            transform: rotate(-45deg) translate(20px, 20px);
        }
    }

    @keyframes ring {
        0% { width: 30px; height: 30px; opacity: 0; }
        5% { opacity: 1; }
        95% { width: 150px; height: 150px; opacity: 0; }
        100% { width: 30px; height: 30px; opacity: 0; }
    }
}

@media screen and (max-width: 500px) {
    .br-1 { display: none; }
}