/* Forms - General Structure */
:root {
	--input-border-radius: 5px;
	--input-border: 1px solid var(--tertiary-color);
}

input, textarea, select {
	font-size: 1em;
	line-height: inherit;
	padding: .5em 1em;
	border: none;
	border-radius: 0;
	background-image: none;
	resize: none;
	outline: none;
	box-shadow: none;
	font-family: var(--font-1);
}

select::-ms-expand {
    display: none;
}

select {
	-webkit-appearance: none;
	appearance: none;
}


input[type='search'] {
	-webkit-appearance: none;
}

fieldset {
	border: none;
	padding: 0;
	margin: 0;
	width: 100%;
	overflow: hidden;
}

fieldset > legend {
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}

fieldset ul ul {
	margin-top: 0;
	margin-bottom: 0;
}

fieldset > ul > li {
	position: relative;
	width: 100%;
	font-size: inherit;
	padding-left: 0;
	padding-right: 0;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

fieldset li svg {
	position: absolute;
	top: 50%;
	right: 1rem;
	-ms-transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
	font-size:.722rem;
	color:var(--click1-color);
}

.no-flexbox fieldset > ul > li:not(.full) {
	display: block;
	float: left;
}

fieldset > ul > li.auto + .auto {
}

fieldset > ul > li.fourth {
	width: 24%;
}

fieldset > ul > li.third {
	width: 32%;
}

fieldset > ul > li.half {
	width: 49%;
}

.input-text {
	position: relative;
}

fieldset ul.column-form {
}

fieldset > ul.column-form > li.half {
	padding-bottom: 0;
}

fieldset > ul.column-form > li.half > ul {
	width: 100%;
}

fieldset > ul.column-form > li.half > ul > li {
	width: 100%;
	padding-bottom: .8em;
}

fieldset li .inline-field, fieldset li .inline-field > ul {
	display: flex;
	align-items: center;
}

fieldset li .inline-field > label {
	margin-right: .8rem;
}

fieldset li .inline-field ul li + li {
	margin-left: .8rem;
}

/* End Forms - General Structure */

/* Forms - Label Styles */
fieldset li > label {
	display: block;
	position: relative;
	font-weight: 400;
	margin: .5em 0;
}

fieldset li > label.hide {
	display: none;
}

fieldset li > label small {
	display: block;
	line-height: 1;
}
/* End Forms - Label Styles */

/* Forms - Input Styles */
.input-text input[type='text'], .input-text input[type='search'], .input-text input[type='month'], .input-text input[type='email'], .input-text input[type='tel'], .input-text input[type='date'], .input-text input[type='datetime'], .input-text input[type='password'], .input-text input[type='datetime-local'], .input-text textarea, .input-text select, .zip-search-input {
	display: block;
	padding:0.611rem 1.11rem .444rem;
	width: 100%;
	background-color: var(--white-color);
	text-align: left;
	outline: none;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.2;
	transition: background-color .4s ease 0s, border-color .4s ease 0s, color .4s ease 0s;
	border-bottom:solid 2px var(--primary-color);
	font-family:var(--font-2);
}


.invalid .input-text input, .invalid .input-text select, .invalid .input-text textarea, .invalid .zip-search-input {
    border-color: red;
}

.valid .input-text input, .valid .input-text select, .valid .input-text textarea, .valid .zip-search-input {
    border-color: green;
}

.input-text input:focus, .input-text select:focus, .input-text textarea:focus, .zip-search-input:focus {
    outline: none;
    border-color: var(--click2-color);
}
.search-form .input-text input[type='text'], .search-form .input-text input[type='month'], .search-form .input-text input[type='email'], .search-form .input-text input[type='tel'], .search-form .input-text input[type='datetime'], .search-form .input-text input[type='password'], .search-form .input-text input[type='datetime-local'], .search-form .input-text textarea, .search-form .input-text select, .search-form .zip-search-input {
	_display: initial;
}

input:invalid {
	box-shadow: none;
}

:invalid {
	box-shadow: none;
}

:-moz-submit-invalid {
	box-shadow: none;
}

:-moz-ui-invalid {
	box-shadow: none;
}

.input-text textarea {
	resize: none;
	min-height: 8em;
	overflow: hidden;
}

.input-text select {
	_display: initial;
}

.touch .input-text select,.touch .input-text input {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
}

.input-text input[type='month'] {
	_display: initial;
}

.input-text input:focus, .input-text select:focus, .input-text textarea:focus, .zip-search-input:focus {
	outline: none;
}

.input-text.check-box label:not(.check-replace) {
	-webkit-flex: 0 1 auto;
	-ms-flex: 0 1 auto;
	flex: 0 1 auto;
}

.input-text.check-box.input-box-height input {
	height: 2.5em;
}

.input-text.check-box input {
	width: 1.5em;
	height: 1.5em;
	margin: 0;
	padding: 0;
	position: absolute;
	opacity: 0;
	top:0;
}



.input-text.check-box.custom input {
	width: 1.5em;
	height: 2.5em;
	margin: 0;
	padding: 0;
	position: absolute;
	opacity: 0;
	top:0;
}



.input-text.check-box input[type="checkbox"] + .check-replace {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	margin-right: .75em;
	-webkit-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	position: relative;
	border: 1px solid var(--primary-color);
	border-radius: var(--input-border-radius);
	pointer-events: none;
}

.input-text.check-box input[type="checkbox"] + .check-replace:before, .input-text.check-box input[type="checkbox"] + .check-replace:after {
	content: '';
	position: absolute;
	width: 1.5px;
	height: 90%;
	top: 50%;
	left: 50%;
	background-color: var(--primary-color);
}

.input-text.check-box input[type="checkbox"] + .check-replace:before {
	transition: transform .3s ease 0s;
	-webkit-transform: translate(-50%,-50%) rotate(45deg) scaleY(0);
	-ms-transform: translate(-50%,-50%) rotate(45deg) scaleY(0);
	transform: translate(-50%,-50%) rotate(45deg) scaleY(0);
}

.input-text.check-box input[type="checkbox"] + .check-replace:after {
	transition: transform .3s ease 0s;
	-webkit-transform: translate(-50%,-50%) rotate(-45deg) scaleY(0);
	-ms-transform: translate(-50%,-50%) rotate(-45deg) scaleY(0);
	transform: translate(-50%,-50%) rotate(-45deg) scaleY(0);
}

.input-text.check-box input[type="checkbox"]:checked + .check-replace:before {
	transition: transform .3s ease 0s;
-webkit-transform: translate(-50%,-50%) rotate(45deg) scaleY(1);
-ms-transform: translate(-50%,-50%) rotate(45deg) scaleY(1);
transform: translate(-50%,-50%) rotate(45deg) scaleY(1);
}

.input-text.check-box input[type="checkbox"]:checked + .check-replace:after {
	transition: transform .3s ease .3s;
	-webkit-transform: translate(-50%,-50%) rotate(-45deg) scaleY(1);
	-ms-transform: translate(-50%,-50%) rotate(-45deg) scaleY(1);
	transform: translate(-50%,-50%) rotate(-45deg) scaleY(1);
}

.input-text.check-box .check-con {
	position:relative;
}

.input-text.check-box input[type="radio"] + .check-replace {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	margin-right: .75em;
	-webkit-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	position: relative;
	border:1px solid var(--primary-color);
	border-radius: 50%;
	pointer-events: none;
	overflow: hidden;
}

.input-text.check-box input[type="radio"] + .check-replace:before {
	content: '';
	position: absolute;
	width: 102%;
	height: 102%;
	top: 50%;
	left: 50%;
	border-radius: 50%;
	background-color: var(--primary-color);
	transition: transform .2s ease-out 0s;
	-ms-transform: translate(-50%, -50%) scale(0);
	-webkit-transform: translate(-50%, -50%) scale(0);
	transform: translate(-50%, -50%) scale(0);
	border: 3px solid var(--off-color);
}

.input-text.check-box input[type="radio"]:checked + .check-replace:before {
	-ms-transform: translate(-50%, -50%) scale(1);
	-webkit-transform: translate(-50%, -50%) scale(1);
	transform: translate(-50%, -50%) scale(1);
}

fieldset > ul > li.radio-list ul li {
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
}

fieldset > ul > li.radio-list ul li input {
	width: 1.15em;
	height: 1.15em;
	margin: 0;
	padding: 0;
	position: absolute;
	opacity: 0;
}

fieldset > ul > li.radio-list ul li label.radio-replace {
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	border-style: solid;
	border-width: .25em;
	margin-right: .75em;
	-webkit-flex: 0 0 auto;
	-ms-flex: 0 0 auto;
	flex: 0 0 auto;
	position: relative;
	transition: border-color .4s ease 0s, background-color .4s ease 0s;
	border-radius: 50%;
}

fieldset > ul > li.radio-list ul li label.label {
	display: inline-block;
}

.input-text select option {
	text-transform: none;
	text-align: left;
}

.input-text ::-webkit-input-placeholder, .input-text select  {
	opacity: 1;
	color: var(--text-color);
}

.input-text :-moz-placeholder {
	opacity: 1;
	color: var(--text-color);
}

.input-text ::-moz-placeholder {
	opacity: 1;
	color: var(--text-color);
}

.input-text ::-ms-input-placeholder {
	opacity: 1;
	color: var(--text-color);
}

input[type=text]::-ms-clear {
	display: none;
	width: 0;
	height: 0;
}

input[type=text]::-ms-reveal {
	display: none;
	width: 0;
	height: 0;
}

input[type='search']::-webkit-search-decoration,
input[type='search']::-webkit-search-cancel-button,
input[type='search']::-webkit-search-results-button,
input[type='search']::-webkit-search-results-decoration {
	display: none;
}
/* End Forms - Input Styles */

/* File Uploader Styles */
.input-text.uploader {
	border-radius: .3em;
}

.input-text.uploader input {
	padding-top: .5em;
	padding-bottom: .5em;
	width: 100%;
	margin: .3em .5em 0;
}

@media screen and (-webkit-min-device-pixel-ratio:0) {
	.input-text.uploader input {
		padding-left: 3.75em;
	}
}

.input-text.uploader input::-webkit-file-upload-button {
	visibility: hidden;
}

.input-text.uploader input:before {
	content: 'Upload Image';
	border-radius: .5em;
	display: inline-block;
	padding: .5em 1em;
	outline: none;
	white-space: nowrap;
	-webkit-user-select: none;
	cursor: pointer;
	font-weight: 700;
	font-size: .95em;
	text-transform: uppercase;
	line-height: 1;
	transition: background-color .4s ease 0s, color .4s ease 0s;
	margin-left: -3.25rem;
	margin-top: -.75rem;
}

.input-text.uploader input.uploaded:before {
	content: 'Change Image';
}
/* End File Uploader Styles */

/* Forms - Validation Message Box */
fieldset .validation {
	position: absolute;
	padding: .5em 1em;
	top: 100%;
	z-index: 2;
	font-size: .8em;
	opacity: 0;
	visibility: hidden;
	-webkit-transform: translateY(10%);
	-ms-transform: translateY(10%);
	transform: translateY(10%);
	transition: .25s;
	white-space: nowrap;
	display: block;
	right: 0;
}

fieldset .invalid .validation {
	opacity: 1;
	-webkit-transform: translate(0);
	-ms-transform: translate(0);
	transform: translate(0);
	visibility: visible;
	background-color: rgba(0,0,0,0.8);
	color: var(--white-color);
	display:block !important;
}

fieldset .validation:before {
	content: '';
	display: block;
	position: absolute;
	height: 0;
	width: 0;
	border-left: solid .5em transparent;
	border-right: solid .5em transparent;
	border-bottom: solid .5em rgba(0,0,0,0.8);
	bottom: 100%;
	right: 1em;
}
/* End Forms - Validation Message Box */
/* CMS Pop Under */
.cms-popunder {
	position: absolute;
	width: auto;
	height: auto;
	border: solid 1px #d4d9e1;
	background: #fff;
	left: 0;
	top: 100%;
	padding: 0;
	margin: 5px 0 0 0;
	box-shadow: 0 3px 6px rgba(0,0,0,.3);
	z-index: 3;
	-webkit-animation: fade-in .3s forwards,slide-up-20 .3s;
	-moz-animation: fade-in .3s forwards,slide-up-20 .3s;
	-o-animation: fade-in .3s forwards,slide-up-20 .3s;
	animation: fade-in .3s forwards,slide-up-20 .3s;
}
.night .cms-popunder {
	border: none;
	background: #4e5561;
}

.cms-popunder:before {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: -12px;
	margin: 0 0 0 -6px;
	padding: 0;
	border-top: 0;
	border-left: solid 12px transparent;
	border-right: solid 12px transparent;
	border-bottom: solid 12px #c6cad2;
}

.night .cms-popunder:before {
	border-bottom-color: #4e5561;
}

.cms-popunder:after {
	content: '';
	display: block;
	position: absolute;
	left: 50%;
	top: -11px;
	margin: 0 0 0 -6px;
	padding: 0;
	border-top: 0;
	border-left: solid 12px transparent;
	border-right: solid 12px transparent;
	border-bottom: solid 12px #ffffff;
	z-index: 2;
}

.night .cms-popunder:after {
	display: none;
}
/* CMS Pop Under */

/* Date Picker */
.input-text input[type='date'] { cursor: text; }
.no-touch input[type=time] { cursor: text; }
.no-touch input[type=datetime] { cursor: text; }
.no-touch input[type=datetime-local] { cursor: text; }
.no-touch ::-webkit-inner-spin-button { display: none; }
.no-touch ::-webkit-calendar-picker-indicator { display: none; }
.no-touch ::-webkit-clear-button {
    display: none; 
    -webkit-appearance: none; 
}

div.cms-datepicker {
	position: absolute;
}

div.cms-datepicker:before {
	left: 100px;
}

div.cms-datepicker:after {
	left: 100px;
}

div.cms-datepicker div.cms-date {
	display: none;
	position: relative;
	width: 220px;
	height: 360px;
	background-color:#fff;
	vertical-align: middle;
}

div.cms-datepicker div.cms-time {
	display: none;
	position: relative;
	width: 220px;
	height: 360px;
	vertical-align: middle;
	margin: 0;
	padding: 15px;
}

div.cms-datepicker.cms-d div.cms-date {
	display: inline-block;
}

div.cms-datepicker.cms-t div.cms-time {
	display: inline-block;
}

div.cms-datepicker.cms-d div.cms-time {
	border-left: solid 1px #d4d9e1;
}

.night div.cms-datepicker.cms-d div.cms-time {
	border-color: #3f444e;
}

div.cms-datepicker .cms-date-years {
	width: 100%;
	margin: 0;
	padding: 0 30px;
	position: relative;
	cursor: default;
}

div.cms-datepicker .cms-date-years:before {
	content: '';
	display: block;
	position: absolute;
	top: 16px;
	left: 7px;
	width: 24px;
	height: 24px;
	background-image: url(/common/images/sprite24.png);
	background-repeat: no-repeat;
	background-position: -288px -360px;
}

div.cms-datepicker .cms-date-years:after {
	content: '';
	display: block;
	position: absolute;
	top: 16px;
	right: 7px;
	width: 24px;
	height: 24px;
	background-image: url(/common/images/sprite24.png);
	background-repeat: no-repeat;
	background-position: -312px -360px;
}

div.cms-datepicker .cms-date-years ul {
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 10px 0;
	overflow: hidden;
	white-space: nowrap;
}

div.cms-datepicker .cms-date-years li {
	font: 600 normal 16px/16px 'Open Sans';
	display: inline-block;
	color: #889aa7;
	padding: 10px 4px 0 4px;
	vertical-align: bottom;
	height: 40px;
}

.night div.cms-datepicker .cms-date-years li {
	color: #afbac1;
}

div.cms-datepicker .cms-date-years li.active {
	font: 600 normal 28px/28px 'Open Sans';
	display: inline-block;
	color: #35a6f6;
	padding-top: 0;
}

.night div.cms-datepicker .cms-date-years li.active {
	color: #FFFFFF;
}

div.cms-datepicker ul.cms-date-months {
	width: 100%;
	list-style: none;
	margin: 0;
	padding: 0px 18px;
}

div.cms-datepicker ul.cms-date-months:after {
	content: '';
	display: block;
	clear: both;
}

div.cms-datepicker ul.cms-date-months li {
	font: 600 normal 11px/11px 'Open Sans';
	width: 16.66%;
	float: left;
	text-transform: uppercase;
	text-align: center;
	padding: 9px 0;
	color: #889aa7;
	cursor: default;
	-webkit-transition: .15s;
	-moz-transition: .15s;
	-o-transition: .15s;
	transition: .15s;
}

.night div.cms-datepicker ul.cms-date-months li{
	color: #afbac1;
}

div.cms-datepicker ul.cms-date-months li:hover {
	background-color: #eaedf1;
}

.night div.cms-datepicker ul.cms-date-months li:hover {
	background-color: #3f444e;
}

div.cms-datepicker ul.cms-date-months li.active {
	background-color: #35a6f6;
	color: #ffffff;
}

div.cms-datepicker ul.cms-date-days {
	width: 100%;
	list-style: none;
	margin: 10px 0;
	padding: 0px 15px;
}

div.cms-datepicker ul.cms-date-days:after {
	content: '';
	display: block;
	clear: both;
}

div.cms-datepicker ul.cms-date-days li {
	font: 400 normal 11px/11px 'Open Sans';
	width: 14.28%;
	float: left;
	text-transform: uppercase;
	text-align: center;
	color: #889aa7;
	padding: 9px 0;
	cursor: default;
	-webkit-transition: .15s;
	-moz-transition: .15s;
	-o-transition: .15s;
	transition: .15s;
}

.night div.cms-datepicker ul.cms-date-days li {
	color: #afbac1;
}

div.cms-datepicker ul.cms-date-days li:hover {
	background-color: #eaedf1;
}
.night div.cms-datepicker ul.cms-date-days li:hover {
	background-color: #3f444e;
}

div.cms-datepicker ul.cms-date-days li:empty,
.night div.cms-datepicker ul.cms-date-days li:empty {
	background-color: transparent;
}

div.cms-datepicker ul.cms-date-days.weekdays {
	background-color: #eaedf1;
}

.night div.cms-datepicker ul.cms-date-days.weekdays {
	background-color: #3f444e;
}

div.cms-datepicker ul.cms-date-days.weekdays li {
	font: 600 normal 12px/12px 'Open Sans';
}

div.cms-datepicker ul.cms-date-days li.active {
	background-color: #35a6f6;
	color: #ffffff;
}

div.cms-datepicker div.cms-time time {
	margin-bottom: 20px;
	display: block;
	border: solid 1px #d4d9e1;
	font: 400 normal 28px/50px 'Open Sans';
	color: #35a6f6;
	text-align: center;
	padding: 0;
	cursor: default;
}

div.cms-datepicker div.cms-time h3 {
	font: 700 normal 14px/20px 'Open Sans';
	margin: 0;
	padding: 0;
	color: #677580;
}

div.cms-datepicker div.cms-time-drag {
	height: 32px;
	position: relative;
	padding: 5px 0;
	margin: 0 15px 15px 15px;
}

div.cms-datepicker div.cms-time-drag:before {
	content: '1';
	display: block;
	font: 600 normal 12px/12px 'Open Sans';
	position: absolute;
	top: 5px;
	left: -15px;
	width: 10px;
	text-align: center;
	color: #889aa7;
}

div.cms-datepicker div.cms-time-drag:after {
	content: '12';
	display: block;
	font: 600 normal 12px/12px 'Open Sans';
	position: absolute;
	top: 5px;
	right: -15px;
	width: 10px;
	text-align: center;
	color: #889aa7;
}

div.cms-datepicker div.cms-time-drag ul {
	list-style: none;
	margin: 0 5px;
	padding: 0;
	width: calc(100% - 10px);
	height: 12px;
	position: relative;
	border-left: solid 1px #d4d9e1;
}

div.cms-datepicker div.cms-time-drag ul:after {
	content: '';
	display: block;
	width: calc(100% - 1px);
	height: 4px;
	background: #d4d9e1;
	border-top: solid 1px #fff;
	border-bottom: solid 1px #fff;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -2px;
}

div.cms-datepicker div.cms-time-drag li {
	float: left;
	height: 100%;
	width: 9.09%;
	border-right: solid 1px #d4d9e1;
}

div.cms-datepicker div.cms-time-drag span {
	position: absolute !important;
	display: block;
	left: 0;
	top: 5px;
	background-color: #35a6f6;
	border-radius: 50%;
	width: 12px;
	height: 12px;
}

div.cms-datepicker div.cms-time-drag.minutes li {
	width: 25%;
}

div.cms-datepicker div.cms-time-drag.minutes:before {
	content: '0';
}

div.cms-datepicker div.cms-time-drag.minutes:after {
	content: '59';
}

div.cms-datepicker ul.cms-time-ampm {
	list-style: none;
	margin: 0 auto;
	padding: 0 0 20px 0;
	width: 80%;
}

div.cms-datepicker ul.cms-time-ampm:after {
	content: '';
	display: block;
	clear: both;
}

div.cms-datepicker ul.cms-time-ampm li {
	margin: 0;
	padding: 0;
	float: left;
	width: 50%;
	text-align: center;
}

div.cms-datepicker ul.cms-time-ampm li label {
	color: #677580;
}

.night div.cms-datepicker ul.cms-time-ampm li label {
	color: #afbac1;
}

div.cms-datepicker .cms-time p {
	margin: 0;
	padding: 0;
	font: 400 normal 14px/18px 'Open Sans';
	color: #889aa7;
}

.night div.cms-datepicker .cms-time p {
	color: #afbac1;
}

div.cms-datepicker .cms-date-footer {
	border-top: solid 1px #d4d9e1;
	background: #fff;
	padding: 8px;
	min-height: 30px;
	position: relative;
}

.night div.cms-datepicker .cms-date-footer {
	border-color: #3f444e;
	background: #4e5561;
}

div.cms-datepicker .cms-date-footer a {
	font: 400 normal 11px/11px 'Open Sans';
	color: #35a6f6;
	text-decoration: none;
	position: absolute;
	left: 18px;
	top: 50%;
	margin-top: -6px;
	display: none;
}

div.cms-datepicker .cms-date-footer a.cms-simple {
	display: block;
}

div.cms-datepicker .cms-date-footer a.right {
	left: auto;
	right: 18px;
	float: none;
}

div.cms-datepicker .cms-date-footer button {
	display: none;
	margin: 0 auto;
}

div.cms-datepicker.cms-t .cms-date-footer button {
	display: block;
}

div.cms-datepicker.cms-t .cms-date-footer a.cms-simple {
	display: none;
}

div.cms-datepicker.cms-t.cms-d .cms-date-footer a.cms-simple,
div.cms-datepicker.cms-t .cms-date-footer a.cms-simple.right {
	display: block;
}

/* End Date Picker */

/* 500px Responsive */
@media screen and (max-width:500px) {
	fieldset > ul > li {
		display: block;
		width: 100% !important;
	}

	fieldset > ul > li.fake-label label {
		display: none;
	}

	.input-text input[type='text'], .input-text input[type='month'], .input-text input[type='email'], .input-text input[type='tel'], .input-text input[type='datetime'], .input-text input[type='datetime-local'], .input-text textarea, .input-text select, .zip-search-input {
		font-size: 18px !important;
	}
}
/* End 500px Responsive */
