/*** Forms CSS ***/

.wpcf7-spinner {
    display: none !important;
}

.submit-container {
}

.wpcf7 form .wpcf7-response-output {
    margin: 0;
    margin-bottom: 20px;
}

.wpcf7-not-valid-tip {
    margin-top: 5px;
}


input:focus,
textarea:focus,
select:focus {
    outline: none!important;
}



form label,
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
textarea,
select {
    width: 100%;
    max-width: unset;
}


input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="url"],
textarea,
select {
    margin-top: 8px;
    border-color: var(--grey-light);
    border-width: 1px;
    border-style: solid;
    border-radius: var(--form-field-border-radius);
    padding: 12px;
    padding-right: 36px;
}

/* Custom Select Dropdown Icon */
select {
    -moz-appearance: none;
    -webkit-appearance: none;
}
select::-ms-expand {
    display: none;
}
select {
    background-image: url('assets/select/select_arrow.svg');
    background-repeat: no-repeat;
    background-position: calc(100% - 20px) center;
}


@media(max-width: 1199.98px) {
    input[type="email"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="text"],
    input[type="url"],
    textarea,
    select {

    }
}

@media(max-width: 575px) {
    input[type="email"],
    input[type="number"],
    input[type="password"],
    input[type="search"],
    input[type="tel"],
    input[type="text"],
    input[type="url"],
    textarea,
    select {

    }
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="text"]:focus,
input[type="url"]:focus,
textarea:focus {

}




/* Placeholder Color Overrides */
::placeholder,
::-webkit-input-placeholder, /* Chrome/Opera/Safari */
::-moz-placeholder, /* Firefox 19+ */
::-webkit-input-placeholder, /* Chrome/Opera/Safari */
::-moz-placeholder, /* Firefox 19+ */
:-ms-input-placeholder, /* Firefox 18- */
:-moz-placeholder {
    color: var(--dark-grey) !important;
}
::-webkit-input-placeholder {
    color: var(--dark-grey) !important;
}
::-moz-placeholder {
    color: var(--dark-grey) !important;
}
::-ms-placeholder {
    color: var(--dark-grey) !important;
}
::placeholder {
    color: var(--dark-grey) !important;
}

:focus::placeholder,
:focus::-webkit-input-placeholder, /* Chrome/Opera/Safari */
:focus::-moz-placeholder, /* Firefox 19+ */
:focus:-ms-input-placeholder, /* Firefox 18- */
:focus:-moz-placeholder {
    color: var(--black) !important;
}




/*** Form Labels ***/

form label {
    font-weight: 600;
    font-family: neue-haas-grotesk-display, sans-serif;
    font-size: 15px;
    margin-top: 15px;
    margin-bottom: 0;
}

@media(max-width: 1199.98px) {
    form label {

    }
}



/*** Checkboxes and Radio Buttons - WPCF7 Custom Overrides ***/

.wpcf7-checkbox,
.wpcf7-radio,
.wpcf7-acceptance {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
.wpcf7-checkbox .wpcf7-list-item,
.wpcf7-radio .wpcf7-list-item,
.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0px;
}
.wpcf7-checkbox .wpcf7-list-item:first-of-type,
.wpcf7-radio .wpcf7-list-item:first-of-type,
.wpcf7-acceptance .wpcf7-list-item:first-of-type {
    margin: 0;
}
.wpcf7-checkbox label,
.wpcf7-radio label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: relative;
}
.wpcf7-acceptance label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    position: relative;
}

.wpcf7-checkbox .wpcf7-list-item input,
.wpcf7-radio .wpcf7-list-item input,
.wpcf7-acceptance .wpcf7-list-item input {
    position: absolute;
    opacity: 0;
    cursor: pointer;
}
.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
    display: inline-block;
    left: 0;
    opacity: 1;
    position: absolute;
    transition: ease all 0.2s;
}
.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before {
    top: 50%;
    transform: translateY(-50%);
}
.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
    top: 5px;
}
/* Acceptance Checkbox for Privacy Policy Checkbox - needs class .nw-acceptance */
.wpcf7-checkbox.nw-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
    top: 5px;
    transform: none;
}

.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before,

.wpcf7-checkbox .wpcf7-list-item:hover .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item:hover .wpcf7-list-item-label::before,
.wpcf7-acceptance .wpcf7-list-item:hover .wpcf7-list-item-label::before,

.wpcf7-checkbox input:checked ~ .wpcf7-list-item-label::before,
.wpcf7-radio input:checked ~ .wpcf7-list-item-label::before,
.wpcf7-acceptance input:checked ~ .wpcf7-list-item-label::before {
    background-size: 98%;
    background-position: center;
    background-repeat: no-repeat;
}

.wpcf7-checkbox .wpcf7-list-item-label,
.wpcf7-radio .wpcf7-list-item-label,
.wpcf7-acceptance .wpcf7-list-item-label {
    cursor: pointer;
    padding-left: 35px;
    margin-right: 30px;
    font-weight: 400;
    font-size: 16px;
}
.wpcf7-checkbox .wpcf7-list-item input,
.wpcf7-radio .wpcf7-list-item input,
.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before,
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before {
    height: 24px;
    width: 24px;
}

.wpcf7-acceptance .wpcf7-list-item input,
.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
    height: 24px;
    width: 24px;
}



@media(max-width: 1199.98px) {
    .wpcf7-checkbox .wpcf7-list-item input,
    .wpcf7-radio .wpcf7-list-item input,
    .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before,
    .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before {
        height: 18px;
        width: 18px;
    }

    .wpcf7-acceptance .wpcf7-list-item input,
    .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
        height: 18px;
        width: 18px;
    }

    .wpcf7-checkbox .wpcf7-list-item-label,
    .wpcf7-radio .wpcf7-list-item-label,
    .wpcf7-acceptance .wpcf7-list-item-label {
        padding-left: 28px;
        margin-right: 25px;
        font-size: 15px;
    }

    .wpcf7-checkbox label,
    .wpcf7-radio label,
    .wpcf7-acceptance label {
        margin-top: 8px;
    }
}

@media(max-width: 575px) {
    .wpcf7-checkbox .wpcf7-list-item input,
    .wpcf7-radio .wpcf7-list-item input,
    .wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before,
    .wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before {
        height: 16px;
        width: 16px;
    }

    .wpcf7-acceptance .wpcf7-list-item input,
    .wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
        height: 16px;
        width: 16px;
    }

    .wpcf7-checkbox .wpcf7-list-item-label,
    .wpcf7-radio .wpcf7-list-item-label,
    .wpcf7-acceptance .wpcf7-list-item-label {
        padding-left: 23px;
        margin-right: 20px;
        font-size: 14px;
    }
}



/* Checkbox - Unchecked */
.wpcf7-checkbox .wpcf7-list-item .wpcf7-list-item-label::before {
    background-image: url('assets/checkbox/deselected.svg');
}
/* Checkbox - Checked */
.wpcf7-checkbox input:checked ~ .wpcf7-list-item-label::before {
    background-image: url('assets/checkbox/selected.svg');
}


/* Acceptance Checkbox - Unchecked */
.wpcf7-acceptance .wpcf7-list-item .wpcf7-list-item-label::before {
    background-image: url('assets/checkbox/deselected.svg');
}
/* Acceptance Checkbox - Checked */
.wpcf7-acceptance input:checked ~ .wpcf7-list-item-label::before {
    background-image: url('assets/checkbox/selected.svg');
}


/* Radio - Unchecked */
.wpcf7-radio .wpcf7-list-item .wpcf7-list-item-label::before {
    background-image: url('assets/radio/deselected.svg');
}
/* Radio - Checked */
.wpcf7-radio input:checked ~ .wpcf7-list-item-label::before {
    background-image: url('assets/radio/selected.svg');
}




span.error {

}
span.success {

}
span.success:empty {

}

/* hide arrows for input[type="number"] */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {

}

/* Firefox */
input[type=number] {

}



/*** ---------------- CF7 Specific -------------------- ***/

/*** Response Output Box ***/
.wpcf7 form .wpcf7-response-output {
    margin-top: 30px;
    border-width: 1px;
    border-radius: 5px;
    color: white;
    line-height: 1;
    padding: 16px;
    padding-bottom: 15px;
    width: max-content;
    width: fit-content;
    width: 100%;
    text-align: center;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
    border-color: #b1b0b0;
    background-color: #b1b0b0;
}
.wpcf7 form.sent .wpcf7-response-output {
    background-color: #54d1ac;
    border-color: #54d1ac;
}


/*** Not Valid ***/
.wpcf7 form .wpcf7-not-valid {
    color: var(--danger-red);
    border-color: var(--danger-red);
}
.wpcf7 form .wpcf7-not-valid-tip {
    color: var(--danger-red);
}




/*** ----------------- Dynamics Forms ----------------- ***/
html form[data-container="true"] {
    margin-left: -10px;
    margin-right: -10px;
    width: calc(100% + 20px);
}
html form *[data-layout="true"] {
    max-width: unset !important;
}
html form *[data-section="true"] {
    padding: 0 !important;
}
html form [data-editorblocktype="Field-checkbox"] .lp-form-field {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-bottom: 30px;
    margin-top: 35px;
}
html form [data-editorblocktype="Field-checkbox"] label {
    margin-top: -3px;
    cursor: pointer;
    padding-left: 5px;
    margin-right: 30px;
    font-weight: 400;
    font-size: 16px;
}
html form [data-editorblocktype="Field-checkbox"] input {
    accent-color: black;
    height: 20px !important;
    width: 20px !important;
}
@media (max-width: 1199.98px) {
    html form [data-editorblocktype="Field-checkbox"] label {
        font-size: 15px;
    }
}
@media (max-width: 575px) {
    html form [data-editorblocktype="Field-checkbox"] label {
        font-size: 14px;
    }
}


/*** Dynamics Forms ***/
.new-form-style.dynamics-form table.outer {
    width: 100% !important;
}

.new-form-style.dynamics-form *,
.new-form-style.dynamics-form form,
.new-form-style.dynamics-form form input[type="text"],
.new-form-style.dynamics-form form input[type="email"],
.new-form-style.dynamics-form form input[type="tel"],
.new-form-style.dynamics-form input[type="date"],
.new-form-style.dynamics-form input[type="password"],
.new-form-style.dynamics-form form textarea,
.new-form-style.dynamics-form form,
.phoneFormFieldBlock label, .phoneFormFieldBlock label *,
.dynamics-form form label, form lab3ceel, .wpcf7 label {
    font-family: "Barlow", san-serif !important;
}

.new-form-style.dynamics-form .phoneFormFieldBlock .phoneCountryCode {
    border: none;
}

.new-form-style.dynamics-form form input,
.new-form-style.dynamics-form form select {
    flex: unset;
    background-color: white;
}

.new-form-style.dynamics-form .textFormFieldBlock,
.new-form-style.dynamics-form .dateTimeFormFieldBlock,
.new-form-style.dynamics-form .twoOptionFormFieldBlock,
.new-form-style.dynamics-form .optionSetFormFieldBlock,
.new-form-style.dynamics-form .multiOptionSetFormFieldBlock,
.new-form-style.dynamics-form .lookupFormFieldBlock,
.new-form-style.dynamics-form .phoneFormFieldBlock {
    gap: 2px;
    padding: 8px 0;
}

.new-form-style.dynamics-form div[data-editorblocktype=Text] {
    margin: 0 !important;
}
.new-form-style.dynamics-form .multiOptionSetFormFieldBlock fieldset > div > label {
    margin-bottom: 0 !important;
}
.new-form-style.dynamics-form .multiOptionSetFormFieldBlock fieldset > div {
    margin-bottom: 10px;
}
.new-form-style.dynamics-form div[data-editorblocktype="Captcha"],
.new-form-style.dynamics-form div[data-editorblocktype="SubmitButton"] {
    padding: unset !important;
}
.new-form-style.dynamics-form .primaryButtonWrapper,
.new-form-style.dynamics-form .submitButtonWrapper {
    text-align: left;
}

.new-form-style.dynamics-form form input,
.new-form-style.dynamics-form form select {
    font-size: 16px !important;
    border: 1px solid #d4d4d4;
    border-radius: 0;
    height: 45px;
}

.new-form-style.dynamics-form .textFormFieldBlock,
.new-form-style.dynamics-form .phoneFormFieldBlock,
.new-form-style.dynamics-form .optionSetFormFieldBlock {
    width: 100%;
}


.new-form-style.dynamics-form table.outer,
.new-form-style.dynamics-form table.outer > tbody,
.new-form-style.dynamics-form table.outer > tbody > tr,
.new-form-style.dynamics-form table.outer > tbody > tr > th {
    display: block;
}

.new-form-style.dynamics-form .marketingForm th.columnContainer {
    padding: 5px !important;
}
.new-form-style.dynamics-form .marketingForm th.inner,
.new-form-style.dynamics-form table.outer > tbody > tr > th {
    padding: 0 !important;
}

html .new-form-style.dynamics-form form [data-layout ="true"] {
    width: 100%;
}

.new-form-style.dynamics-form .twoOptionFormFieldBlock div.radiobuttons div label,
.new-form-style.dynamics-form .optionSetFormFieldBlock div.radiobuttons div label {
    margin-top: 0;
}

.new-form-style.dynamics-form .twoOptionFormFieldBlock div.radiobuttons,
.new-form-style.dynamics-form .optionSetFormFieldBlock div.radiobuttons {
    margin-top: 10px;
}

.new-form-style.dynamics-form #ms_captcha_holder td {
    text-align: left !important;
}

.new-form-style.dynamics-form #ms_captcha_holder input {
    height: 50px !important;
}


.new-form-style.dynamics-form .twoOptionFormFieldBlock div.radiobuttons div input,
.new-form-style.dynamics-form .twoOptionFormFieldBlock div.twooption_checkbox div input,
.new-form-style.dynamics-form .optionSetFormFieldBlock div.radiobuttons div input {
    cursor: pointer !important;
    z-index: 3;
}

html .new-form-style.dynamics-form form .columnContainer [data-editorblocktype] {
    margin-right: 0;
}


html .new-form-style.dynamics-form .multiOptionSetFormFieldBlock {
    margin-bottom: 30px;
}

html .new-form-style.dynamics-form button[type="submit"],
html .new-form-style.dynamics-form button.submitButton {
    background-color: var(--medal);
    border-color: var(--medal);
    color: var(--navy);
    border-radius: 0;
    text-transform: uppercase;
    margin-top: 30px;
}

html .new-form-style.dynamics-form .marketingForm p {
    margin-left: 0;
    margin-right: 0;
    font-size: 1.15rem;
    font-weight: 400;
    line-height: 1.65;
    color: #444444;
}

html .new-form-style.dynamics-form .marketingForm h2 {
    color: var(--navy);
    font-weight: bold;
    margin-top: 25px;
}

html .new-form-style.dynamics-form form label {
    font-size: 17px;
}