/* =============================== */
/*  PAGE CONTACT GENERAL STYLES
/* =============================== */
.form-wrapper {
    position: relative;
    padding: 30px min(10%, 80px);
    width: min(95%, 600px);
}


.form-wrapper h2 {
    /* font-size: 3rem; */
    font-weight: 700;
    margin-bottom: 20px;
}


.form-title {
    text-align: center;
    margin-bottom: 20px;
    font-size: 3rem;
    color: var(--red);
}

.form-wrapper label,
.form-wrapper p {
    font-family: 'Intro Bold Caps', sans-serif;
    color: #fff;
    font-size: 1rem;
    line-height: 1.1rem;
    text-align: center;
    font-weight: 600;
}

.form-wrapper label {
    margin-bottom: 3px;
}


 input[type="text"],
 input[type="email"],
 input[type="tel"],
 textarea {
    color: #000;
    width: 100%;
    min-height: 50px;
    background: #fff;
    border: none;
    box-shadow: 4px 4px 0 var(--orange);
}

input, textarea {
    font-family: myriad-pro, sans-serif;
    font-size: 1rem;
    padding: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    transition: 0.3s ease-in-out;
}

textarea {
    box-sizing: border-box;
    resize: vertical;
    min-height: 100px;
}

input:focus,
textarea:focus {
    outline: none;
    transform: scale(1.02);
    transition: 0.3s ease-in-out;
    box-shadow: 6px 6px 0 var(--orange);
}

.text-remaining {
    text-align: left !important;
    margin-top: -10px;
}

.end-date h4, 
.before-start h4 {
    margin-top: 20px;
    padding: 20px;
    border: 3px solid var(--yellow);
    color: var(--yellow);
    font-size: 2rem;
    margin-bottom: 50px;
    text-align: center;
}


/* ============================================================ */
/* SECTION ACCEPTANCES ============================================================ */
.consents {
    margin-top: 10px;
    padding-left: 15px;

    & label {
        font-family: 'Intro Bold', sans-serif;
        font-size: 0.9rem;
        line-height: 1rem;
        text-align: left;
        position: relative;
        font-weight: 600;
    }

    & a {
        text-decoration: underline;
        text-transform: uppercase;
        font-weight: 600;
    }

    & input[type='checkbox'] {
        position: absolute;
        left: -35px;
        top:0;
        border: 2px solid #fff;
        width: 10px;
        height: 10px;
        appearance: none;
        background: transparent !important;
        transition: 0.3s ease-in-out;

        &:checked {
            box-shadow: 2px 2px 0 var(--yellow);
        }

        &:checked::before {
            content: "✓";
            color: var(--yellow);    
            font-size: 25px;
            position: absolute;
            top: 4px;
            left: 0;
            width: 100%;
            height: 100%;
        }
    }
}

.form-acceptances .wpcf7-list-item {
    margin: 0;
}


.consents p {
    font-size: 0.8rem;
    line-height: 1rem;
    font-weight: 500;
}

/* Hidden elements */
.read-more-content {
    display: none;

}

.consent.is-expanded .read-more-content {
    display: inline;
}

.read-more {
    display: block;
    text-transform: uppercase;
    cursor: pointer;
    font-weight: 600;
    font-style: italic;
}

/* ============================================================ */
/* SECTION SUBMIT BUTTON ============================================================ */

.cta-form {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: 60px;
    border-radius: 50px;
    margin-top: 60px;
    margin-bottom: 30px;
    text-align: center;
    position: relative;
    background: var(--orange);
    transition: 0.4s ease-in-out;
    z-index: 10;

    & p {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-bottom: 0;
    }

    & input {
        background: var(--orange);
        background-position: -100px 100%;
        background-size: 150%;
        min-width: 250px;
        height: 60px;
        position: relative;
        border-radius: 50px;
        color: var(--yellow);
        font-size: 1.5rem;
        font-family: 'Jolly Lodger', sans-serif;
        font-size: 2rem;
        text-transform: uppercase;
        text-shadow: 2px 3px 0 #000;
        transition: 0.4s ease-in-out;
        z-index: 10;
        overflow: none;
        border: none;

        &:hover {
            background: var(--yellow);
            color: var(--orange);
        }
    }

    &::before {
        content: "";
        position: absolute;
        top: 60%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 103%;
        border-radius: 50px;
        background: var(--yellow);
        z-index: 0;
        transition: 0.4s ease-in-out;
    }

    &::after {
        content: "'";
        position: absolute;
        top: 35%;
        left: 49%;
        transform: translate(-50%, -50%);
        width: 30px;
        height: 30px;
        /* background-color: red; */
        z-index: 10;
        color: var(--yellow);
        text-shadow: 2px 3px 0 #000;
    }

    &:hover {
        box-shadow: 0 0 30px 5px rgb(245, 209, 90);
    }

    &:hover::before {
        background: var(--orange);
    }
}



/* Keep CF7's loading spinner from widening the wrapper. */
.cta-form-button .wpcf7-spinner {
    position: absolute;
    top: 50%;
    left: calc(100% + 16px);
    margin: 0;
    transform: translateY(-50%);
}

.wpcf7-spinner {
    display: none !important;
}



/* ============================================================ */
/* SECTION ERROR MESSAGES ============================================================ */

.wpcf7-not-valid-tip {
    /* font-family: myriad-pro, sans-serif; */
    font-size: 0.8rem;
    line-height: 0.8rem;
    color: #fff;
    background-color: rgb(185, 0, 0);
    box-shadow: 0 0 15px 0 rgba(158, 20, 20, 0.5);
    padding: 2px 10px;
    margin-top: 2px;

}

.wpcf7-response-output {
    background-color: #ffb027;
    color: #000;
    border-radius: 5px;
}

.wpcf7 form.sent .wpcf7-response-output {
    background-color: #0f8828;
    border-color: #0f8828 !important;
    color: #fff;
    border-radius: 5px;
}

/* ============================================================ */
/* SECTION PUMPKIN SMILE ============================================================ */


.pumpkin-smile {
    max-width: 150px;
    margin: auto;
    margin-top: 20px;
}