.application-wrapper{

    width:100%;

    margin:40px 0;

    padding:0;

    background:transparent;

}


/************************************************
 FORM HEADING
************************************************/

.application-wrapper h2{

    margin:0 0 35px;

    font-size:2rem;

    font-weight:600;

    color:#222;

}


/************************************************
 FORM ELEMENTS
************************************************/

.form-group{

    margin-bottom:30px;

}


.form-group label{

    display:block;
	color: #033b80;
    margin-bottom:10px;
    font-family: var(--font-title);
	font-weight:500;
	font-size:25px;

}


.form-group label span{

    color:#e16f0a;

}


/************************************************
 TEXT INPUTS
************************************************/

.form-group input[type=text],
.form-group input[type=email],
.form-group input[type=tel] {

    width:100%;

    padding:14px 16px;

    font-size:15px;

    border:1px solid #033b80;

    border-radius: 25px;

    background:#fff;

    transition:
        border-color .2s ease,
        background-color .2s ease,
        box-shadow .2s ease;
}


.form-group input[type=text]:focus,
.form-group input[type=email]:focus,
.form-group input[type=tel]:focus {

    outline:none;

    border-color:#0054a6;

    box-shadow:
        0 0 0 3px rgba(0,84,166,.12);

}


input.valid{

    border:2px solid #2e7d32 !important;

    background:#f4fff4;

}


input.invalid{

    border:2px solid #e16f0a !important;

    background:#fff5f5;

}


/************************************************
 FILE DROP ZONES
************************************************/

.file-drop-zone{

    width:100%;

    border:2px dashed #c7d2dc;

    border-radius:6px;

    background:#e9e3e3;

    padding:35px 25px;

    text-align:center;

    cursor:pointer;

    transition:
        border-color .25s ease,
        background-color .25s ease,
        transform .25s ease;

}


.file-drop-zone:hover{

    border-color:#0054a6;

    background:#f4f8fc;

}


.file-drop-zone.drag{

    border-color:#0054a6;

    background:#edf5ff;

    transform:scale(1.01);

}


.drop-icon{

    font-size:42px;

    margin-bottom:12px;

}


.file-drop-zone p{

    margin:8px 0;

    color:#555;

}


/************************************************
 BROWSE BUTTON
************************************************/

.button-secondary{

    margin-top:15px;

    padding:12px 22px;

    border:none;

    border-radius:5px;

    background:#0054a6;

    color:#fff;

    font-size:14px;

    cursor:pointer;

    transition:.2s;

}


.button-secondary:hover{

    background:#003f82;

}


/************************************************
 UPLOADED FILE DISPLAY
************************************************/

.selected-file{

    margin-top:20px;

}


.uploaded-file{

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:15px;

    padding:12px 15px;

    margin-top:10px;

    background:#fff;

    border:1px solid #ddd;

    border-radius:6px;

    font-size:14px;

    color:#333;

}


.uploaded-file span{

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;

}


.uploaded-file small{

    color:#666;

    white-space:nowrap;

}


/************************************************
 ERROR MESSAGE BOX
************************************************/

.form-messages{

    display:none;

    margin-bottom:30px;

    padding:18px 22px;

    border-left:5px solid #d32f2f;

    background:#fff4f4;

    color:#a32020;

}


.form-messages strong{

    display:block;

    margin-bottom:8px;

}


.form-messages ul{

    margin:10px 0 0;

    padding-left:22px;

}


.form-messages li{

    margin-bottom:6px;

}


/************************************************
 SUBMIT BUTTON
************************************************/

.submit-button{

    width:100%;

    padding:16px;

    border:none;

    border-radius:6px;

    background:#0054a6;

    color:#fff;

    font-size:16px;

    font-weight:600;

    cursor:pointer;

    transition:.2s;

}


.submit-button:hover{

    background:#003f82;

    transform:translateY(-1px);

}


/************************************************
 RESPONSIVE
************************************************/

@media(max-width:768px){

    .application-wrapper{

        margin:25px 0;

        padding:0;

    }


    .application-wrapper h2{

        font-size:1.6rem;

    }


    .uploaded-file{

        flex-direction:column;

        align-items:flex-start;

    }

}


/************************************************
 CAPTCHA
************************************************/

.captcha-wrapper{

    margin-top:35px;

}


.cf-turnstile{

    transform-origin:left center;

}