/**
 * Updated Form Style CSS
 * Applies modern floating-label styling to forms with .updatedFormStyle class
 *
 * @package CE5
 */

.updatedFormStyle {
    max-width: 800px;
    margin: auto;
}

.updatedFormStyle.singlepageform {
    max-width: 1000px;
}

.updatedFormStyle div,
.updatedFormStyle span,
.updatedFormStyle p,
.updatedFormStyle a,
.updatedFormStyle img,
.updatedFormStyle b,
.updatedFormStyle u,
.updatedFormStyle i,
.updatedFormStyle ol,
.updatedFormStyle ul,
.updatedFormStyle li,
.updatedFormStyle form,
.updatedFormStyle label
{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	font-family: Arial, sans-serif;
}
.updatedFormStyle .cx-full-force-break {display:none;}
.updatedFormStyle .cx-small-force-break {display:inline;}
.updatedFormStyle ol,
.updatedFormStyle ul,
.updatedFormStyle li
{
	list-style: none;
}

.updatedFormStyle label {
    color: #4A4A4A;
}

.updatedFormStyle .formfield {
    width: 45%;
    margin-right: 2.5%;
    float: left;
    margin-bottom: 1.5rem;
    position: relative;
    border: 1px solid #00000033;
    border-radius: 5px;
    padding: 1%;
    box-shadow: 0px 3.71px 3.71px 0px #327FEF3D;
}

.updatedFormStyle .formfield:not(.customField).focused {
    border-color: #327FEF;
    outline: none;
    box-shadow: 0 0 5px rgba(0, 0, 255, 0.5);
}

.updatedFormStyle .privacy_section .formfield.focused {
    border: none;
    outline: none;
    box-shadow: none;
}

.updatedFormStyle .formfield:not(.customField).filled {
    background-color: #E5EEFE;
}

.updatedFormStyle .privacy_section .formfield.filled {
    background-color: initial;
}

.updatedFormStyle .fullWidth .formfield {
    width: 92%;
    padding-right: 2%;
}

.updatedFormStyle .formfield:has(textarea) {
    width: 95%;
    border: none;
    box-shadow: none;
    padding: 0;
}

.updatedFormStyle .formfield textarea {
    width: 99%;
    border: 1px solid #00000033;
    border-radius: 5px;
    padding: 5px;
    font-family: Arial, sans-serif;
    font-size: 1em;
    resize: vertical;
}

.updatedFormStyle .formfield:not(.customField) label {
    position: absolute;
    left: 10px;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    display: flex;
    align-items: center;
    transition: all 0.2s ease;
}

.updatedFormStyle .formfield:not(.customField).filled label,
.updatedFormStyle .formfield:not(.customField).focused label,
.updatedFormStyle .formfield:not(.customField).labeltop label {
    top: 0px;
    left: 5px;
    transform: none;
    font-size: 0.8rem;
}

.updatedFormStyle .privacy_section .formfield.filled label,
.updatedFormStyle .privacy_section .formfield.focused label,
.updatedFormStyle .privacy_section .formfield.labeltop label {
    top: unset;
    left: unset;
    transform: none;
    font-size: 1.5em;
}

.updatedFormStyle .errormsg {
    position: absolute;
    left: 0;
    bottom: -20px;
    font-size: 12px;
    color: red;
    white-space: nowrap;
}

.updatedFormStyle input[type=checkbox] {
    accent-color: green;
}

.updatedFormStyle .privacy_section input[type=checkbox] {
    float: left;
}

.updatedFormStyle .field_isRequired {
    box-shadow: none !important;
    border: none !important;
}

.updatedFormStyle .formfield:has(.field_isRequired) {
    border: 1px solid rgb(255, 0, 0) !important;
    -moz-box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    -webkit-box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    background-color: #fbeeee;
}

.updatedFormStyle .mobileOpt.field_isRequired input[type=checkbox] {
    border: 1px solid rgb(255, 0, 0) !important;
    -moz-box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    -webkit-box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    background-color: #fbeeee;
}

.updatedFormStyle .privacy_section .field_isRequired {
    border: 1px solid rgb(255, 0, 0) !important;
    -moz-box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    -webkit-box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
    box-shadow: rgb(255, 0, 0) 0px 0px 1.5px 1px !important;
}

.updatedFormStyle .privacy_section .formfield:has(.field_isRequired) {
    box-shadow: none !important;
    border: none !important;
}

.updatedFormStyle .formsection {
    position: relative;
}

.updatedFormStyle .iconField img {
    width: 20px;
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    pointer-events: none;
}

.updatedFormStyle .iconField input[type=text],
.updatedFormStyle .iconField input[type=tel],
.updatedFormStyle .iconField input[type=number],
.updatedFormStyle .iconField input[type=email],
.updatedFormStyle .iconField input[type=date],
.updatedFormStyle .iconField select
{
    margin-left: 25px;
    width: calc(99% - 25px);
}

.updatedFormStyle .formfield:not(.customField):not(.filled):not(.focused):not(.labeltop).iconField label {
    left: 35px
}

.updatedFormStyle .fa
{
	display: inline-block;
	font: normal normal normal 14px/1  "Font Awesome 5 Free";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

.updatedFormStyle button {cursor: pointer;}

.updatedFormStyle li.formfield .button
{
}

.updatedFormStyle .sectionHeader {
    display: flex;
    flex-direction: row;
}

.updatedFormStyle .sectionHeader h2 {
    color: #1A67DB;
    width: 100%;
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 1.5rem;
}

.updatedFormStyle .field
{
	margin-bottom: 1em;
}

.updatedFormStyle label
{
	font-size: 1.5em;
	line-height: 1;
}

.updatedFormStyle input[type=text],
.updatedFormStyle input[type=tel],
.updatedFormStyle input[type=email],
.updatedFormStyle input[type=date]
{
	width: 99%;
}

.updatedFormStyle input[type=text],
.updatedFormStyle input[type=tel],
.updatedFormStyle input[type=number],
.updatedFormStyle input[type=email],
.updatedFormStyle input[type=date],
.updatedFormStyle input[type=num],
.updatedFormStyle select
{
	font-size: 1.3em;
	height: 2em;
	background-color: transparent;
	border-width: 0;
        border: none;
        padding: 5px 0;
        width: 99%;
}

.updatedFormStyle .otherincome input {
    width: 49%;
    border: 1px solid lightgrey;
}

.updatedFormStyle input[type=text]:focus,
.updatedFormStyle input[type=tel]:focus,
.updatedFormStyle input[type=number]:focus,
.updatedFormStyle input[type=email]:focus,
.updatedFormStyle input[type=date]:focus,
.updatedFormStyle select:focus {
    outline: none;
    box-shadow: none;
    border-color: transparent;
}

.updatedFormStyle .buttonContainer {
    text-align: center;
    width: 100%;
    float: left;
}

.updatedFormStyle .prequalButton
{
        min-width: 6rem;
        font-weight: 600;
	background-color: #6e6d73;
	color: white;
	text-transform: uppercase;
	padding: 0.8em;
        border-width: 0;
        padding: 0.8rem 1.5rem;
        border-radius: 5px;
}

.updatedFormStyle .next_button,
.updatedFormStyle .submitButton
{
	background-color: #327FEF;
        margin-top: 1rem;
}

.updatedFormStyle .field.left_label
{
	clear: both;
}

.updatedFormStyle .select
{
	position: relative;
	display: inline-block;
	width: 100%;
}

.updatedFormStyle select.multidate.select_month
{
    width: 5rem;
}
.updatedFormStyle select.multidate.select_day
{
    width: 4rem;
}
.updatedFormStyle select.multidate.select_year
{
    width: 4.4rem;
}

.updatedFormStyle .fullWidth select.multidate.select_month,
.updatedFormStyle .fullWidth select.multidate.select_day,
.updatedFormStyle .fullWidth select.multidate.select_year
{
    width: initial;
}

.updatedFormStyle .select select
{
	display: inline-block;
	width: 100%;
	cursor: pointer;
	padding: 10px 15px;
	outline: 0;
	border: 0;
	border-radius: 0;
	background: #e6e6e6;
	color: #7b7b7b;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.updatedFormStyle .select select::-ms-expand
{
	display: none;
}

.updatedFormStyle .select select:hover
{
	color: #000;
	background: #ccc;
}

.updatedFormStyle .select select:disabled
{
	opacity: 0.5;
	pointer-events: none;
}

.updatedFormStyle .select select:hover ~ .select__arrow
{
	border-top-color: #000;
}

.updatedFormStyle .select select:disabled ~ .select__arrow
{
	border-top-color: #ccc;
}

.updatedFormStyle .money::before
{
	content: '$';
}

.updatedFormStyle .privacy_section {
    width: 100%;
    float: left;
    text-align: center;
}

.updatedFormStyle .privacy_section .formfield {
    width: 100%;
    padding: 4px;
    margin-bottom: 0;
    float: left;
    border: none;
    box-shadow: none;
    text-align: center;
}

.updatedFormStyle .privacy_section > li {
    color: #898484;
    padding: 0 !important;
    box-shadow: none;
}

.updatedFormStyle .privacy_section .creditAuthLine label {
     font-size: 12px !important;
}

.updatedFormStyle .privacy_section .formfield label {
    position: relative;
    top: initial;
    left: initial;
    transform: none;
    color: #898484;
}

.updatedFormStyle .privacy_section .actionformalabel,
.updatedFormStyle .privacy_section .actionforminput {
    width: 100%;
    float: none;
}

.updatedFormStyle .privacy_section .actionformcheckbox {
    display: inline-block;
    text-align: center;
}

.updatedFormStyle .disclaimer
{
        display: block !important;
        margin: 0;
        font-size: 12px;
}

.updatedFormStyle .mobileOpt {
    margin-bottom: 1rem;
    color: #898484;
}

.updatedFormStyle .mobileOpt input {
    float: left;
    z-index: 1;
}

.updatedFormStyle .ref_label_holder {
    display: none;
}

/* Progress bar for multipart forms */
.updatedFormStyle img.prev_button {
    cursor: pointer;
    width: 40px;
    height: 40px;
    margin: auto;
}

.updatedFormStyle .progressHeader {
    display: flex;
    flex-direction: row;
}

.updatedFormStyle div.prequalProgress {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    background: 0;
}

.updatedFormStyle div.prequalProgress div.icons {
    text-align: center;
}

.updatedFormStyle div.prequalProgress div.icons hr {
    position: relative;
    top: 2.7em;
    z-index: -1;
    height: 0.1em;
    margin-left: auto;
    margin-right: auto;
    color: #0E88C9;
    background-color: #327FEF;
}

.updatedFormStyle div.prequalProgress div.icons div.section {
    display: inline-block;
    text-align: center;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    width: 19%;
    vertical-align: top;
}

.updatedFormStyle div.prequalProgress div.icons div.section div.icon {
    line-height: 1.5;
    width: 1.5em;
    text-align: center;
    border-radius: 50%;
    background-color: white;
    color: #526171;
    margin-left: auto;
    margin-right: auto;
    font-size: 2em;
    border: 1px solid #526171;
}

.updatedFormStyle div.prequalProgress div.icons div.section div.icon svg {
    display: none;
}

.updatedFormStyle div.prequalProgress div.icons div.section.complete div.icon svg {
    display: inline-block;
}

.updatedFormStyle div.prequalProgress div.icons div.section div.icon span {
    display: inline-block;
}

.updatedFormStyle div.prequalProgress div.icons div.section.complete div.icon span {
    display: none;
}

.updatedFormStyle div.prequalProgress div.icons div.section.active.complete div.icon {
    background-color: #327FEF;
    color: white;
    box-shadow: none;
}

.updatedFormStyle div.prequalProgress div.icons div.section div.label {
    text-align: center;
    width: 100%;
    color: #4A4A4A;
    font-size: 1.3em;
    line-height: 1.3;
}

.updatedFormStyle div.prequalProgress div.icons div.section.active div.icon {
    border: 2px solid #327FEF;
    box-shadow: 0 0 5px rgba(0, 0, 255, 0.5);
}

.updatedFormStyle .sectionHeader .mobile_prev {
    display: none !important;
    width: 30px;
    height: 30px;
}

.updatedFormStyle .multipart_footer {
    width: 100%;
    float: left;
}

.prequalWrapStyle {
    padding: 1rem 0.25rem 1rem 1rem;
}

@media screen and (max-width: 768px) {
    .updatedFormStyle .progressHeader {
        display: none;
    }

    .updatedFormStyle .sectionHeader {
        margin-bottom: 1rem;
    }

    .updatedFormStyle .sectionHeader .mobile_prev {
        display: initial !important;
    }

    .updatedFormStyle .sectionHeader h2 {
        margin-bottom: 0;
        margin-left: 1rem;
    }

    .updatedFormStyle .formfield {
        width: 92%;
    }

    .singlepageform.updatedFormStyle .formfield {
        width: 96%;
    }
}

@media only screen and (min-width:768px)
{
	.updatedFormStyle .cx-full-force-break {display:inline;}
	.updatedFormStyle .cx-small-force-break {display:none;}

	.updatedFormStyle div.field.left_label label
	{
		display: inline-block;
		width: 20% !important;
		min-width: 6em !important;
	}

	.updatedFormStyle .container.year div.field.from
	{
		width: 55%;
		vertical-align: top;
	}

	.updatedFormStyle .container.year div.field.to
	{
		width: 42%;
		vertical-align: top;
	}

	.updatedFormStyle .container.year label.middle
	{
		display: none;
	}

	.updatedFormStyle .field
	{
		margin-bottom: 2em;
	}

	.updatedFormStyle .field.vin,
	.updatedFormStyle .text
	{
		margin-bottom: 0.8em;
	}

	.updatedFormStyle .text
	{
		margin-left: 5em;
	}

	.updatedFormStyle .top .dealership {
		display: block;
	}

	.updatedFormStyle .bottom .dealership {
		display: none;
	}
}
