/* Form layout */
.vv-form--base .vtc-form {
	text-align: center;
	margin: 0 auto;
}
.vv-form--base .vtc-form {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	grid-column-gap: 20px;
}
.vv-form--base .vtc-form__group:has(input[name="phone"]),
.vv-form--base .vtc-form__group:has(input[name="email"]),
.vv-form--base .vtc-form__group:has(select[name="insurance"]),
.vv-form--base .vtc-form__group:has(select[name="state"]),
.vv-form--base .vtc-form__group:has(select[name="location"]),
.vv-form--base .vtc-form__group:has(select[name="clinic_location"]),
.vv-form--base .vtc-form__group--state,
.vv-form--base .vtc-form__group--location,
.vv-form--base .vtc-form__button,
.vv-form--base .vtc-form__disclaimer,
.vv-form--base .vtc-form__phone-number {
	grid-column: 1 / -1;
}
.vv-form--base .vtc-form fieldset { display: flex }

/* Form fields */
.vv-form--base .vtc-form__group {
	margin-bottom: clamp(40px,6vw,100px);
}
.vv-form--base .vtc-form__group--state,
.vv-form--base .vtc-form__group--location {
	width: 100%;
	justify-self: stretch;
}
.vv-form--base .vtc-form input,
.vv-form--base .vtc-form select {
	color: #455A64 !important;
	font-family: 'DM Sans - Regular',sans-serif;
	font-size: 20px;
	border: none;
	background-color: transparent !important;
	border-bottom: 2px solid #455A64 !important;
	width: 100%;
	margin-bottom: 0;
	line-height: 1.2;
}
.vv-form--base .vtc-form__group--select::after {
	top: 0.15em;
	transform: none;
	font-size: 1.15em;
	line-height: 1.2;
	color: #455A64;
}
.vv-form--base .vtc-form select option {
	font-size: clamp(20px,1.7vw,28px);
	color: #455A64;
	font-family: 'DM Sans - Bold',sans-serif;
	background: #F2F2F2;
}
.vv-form--base .vtc-form select option:hover {
	background: #673BB5;
}

.vv-form--base .vtc-form input::-webkit-input-placeholder { color: #455A64 !important }
.vv-form--base .vtc-form input::-moz-placeholder { color: #455A64 !important }
.vv-form--base .vtc-form input:-ms-input-placeholder { color: #455A64 !important }
.vv-form--base .vtc-form input:-moz-placeholder { color: #455A64 !important }
.vv-form--base .vtc-form input::placeholder  { color: #455A64 !important }
.vv-form--base__disclaimer,
.vv-form--base__disclaimer a {
	color: #455A64;
	font-family: 'DM Sans - Regular',sans-serif;
	font-size: clamp(16px,1.2vw,20px) !important;
	line-height: 1.5em;
	text-align: left;
}
.vv-form--base .vtc-form .vtc-form__phone-number,
.vv-form--base .vtc-form .vtc-form__disclaimer {
	text-align: left;
}

/* Form button */
.vv-form--base .vtc-form__button {
	width: clamp(250px,50vw,350px);
	border: 2px solid #ffffff;
	padding: clamp(10px,2.6vw,20px) 30px;
	border-radius: 100vw;
	background: #673BB5;
	font-family: 'DM Sans - Bold',sans-serif;
	color: #ffffff;
	font-size: 20px;
	margin-bottom: clamp(25px,2.5vw,40px)!important;
}
.vv-form--base .vtc-form__button:hover {
	cursor: pointer;
	color: #ffffff;
	background: #181B84;
	font-style: italic;
}

/* Phone link */
.vv-phone-link {
	color: #673BB5;
	font-family: 'DM Sans - Regular',sans-serif;
	font-size: 20px;
	margin-bottom: clamp(25px,2.5vw,40px) !important;
}
.vv-phone-link:hover {
	color: #AB47BC;
	text-decoration: underline;
}

/* Error handling */
.vv-form--base .vtc-form .vtc-form__error-message {
	background: pink;
	padding: 5px;
	border-radius: 5px;
}

.vv-form--sidebar .vv-form__title{
	font-family: 'DM Sans - Bold',sans-serif;
	font-size: 23px;
	color: #ffffff;
	text-align: center;
}
.vv-form--sidebar .vv-form__intro {
	font-family: 'DM Sans - Regular',sans-serif;
	font-size: 18px;
	color: #ffffff;
	text-align: center;
	margin-bottom: 30px;
}
.vv-form--sidebar .vtc-form {
	text-align: center;
	margin: 0 auto;
}
.vv-form--sidebar .vtc-form__group {
	margin-bottom: 25px;
}
.vv-form--sidebar .vtc-form input,
.vv-form--sidebar .vtc-form select {
	color: #ffffff !important;
	font-family: 'DM Sans - Regular',sans-serif;
	font-size: 20px;
	border: none;
	background-color: transparent !important;
	border-bottom: 2px solid #FFFFFF !important;
	width: 100%;
	margin-bottom: 0;
	padding-bottom: 15px;
}
.vv-form--sidebar .vtc-form__group--select::after {
	top: 0.2em;
	transform: none;
	font-size: 1.15em;
	line-height: 1.2;
	color: #ffffff;
}
.vv-form--sidebar .vtc-form select option {
	font-size: clamp(20px,1.7vw,28px);
	color: #455A64;
	font-family: 'DM Sans - Bold',sans-serif;
	background: #ffffff;
}
.vv-form--sidebar .vtc-form input::-webkit-input-placeholder { color: #ffffff !important }
.vv-form--sidebar .vtc-form input::-moz-placeholder { color: #ffffff !important }
.vv-form--sidebar .vtc-form input:-ms-input-placeholder { color: #ffffff !important }
.vv-form--sidebar .vtc-form input:-moz-placeholder { color: #ffffff !important }
.vv-form--sidebar .vtc-form input::placeholder  { color: #ffffff !important }
.vv-form__disclaimer,
.vv-form__disclaimer a {
	color: #ffffff;
	font-size: 12px;
	line-height: 1.2em;
	max-width: 600px;
	margin: 0 auto;
}
.vv-form--sidebar .vtc-form__button {
	width: 100%;
	border: 2px solid #ffffff;
	padding: 20px 30px;
	border-radius: 100vw;
	background: transparent;
	font-family: 'DM Sans - Bold',sans-serif;
	color: #ffffff;
	font-size: 18px;
	margin: 15px auto 40px auto;
}
.vv-form--sidebar .vtc-form__button:hover {
	cursor: pointer;
	color: #455A64;
	background: #ffffff;
}
.vtc-form__phone-number {
	display: none;
}

.vtc-form__disclaimer {
	color: #455A64;
}
.vtc-form__disclaimer a {
	color: inherit;
}
.vtc-form__disclaimer a:hover {
	color: #673BB5;
}

/* Form styles for dark background */
.vv-form--light .vtc-form input {
	color: #fff !important;
}

.vv-form--light .vtc-form__disclaimer {
	color: #fff;
}

.vv-form--light .vtc-form__disclaimer a:hover {
	color: #000;
}
