/* FORM DEFAULTS */

::placeholder{color: #3E3E3E;font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;}
:-ms-input-placeholder{color: #3E3E3E;font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;}
::-ms-input-placeholder{color: #3E3E3E;font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;}

input[type=text]{font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;}
textarea{font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;}
select{
	font-family: 'Gotham SSm A', 'Gotham SSm B', sans-serif;
	background-color:#fff !important;
	border:1px solid #c7c7c7 !important;
	color: #505050 !important;
}
input:focus,textarea:focus,select:focus{
	outline:none;
	border:0;
	-webkit-box-shadow: 0px 0px 4px 0px #B4B4B4;
	box-shadow: 0px 0px 4px 0px #B4B4B4;
}
select:disabled, textarea:disabled, input:disabled {
	background-color: rgb(235, 235, 228) !important;
}

/* Fit recaptca on smaller mobile screens */
@media only screen and (max-width: 22.375em) {
	.g-recaptcha {
		transform:scale(0.85);
		transform-origin:0 0;
	}
}

/* Fields alignment */

form fieldset,
form .form-content-container{
	border:0;
	margin:0 0 0 0;
	outline:0;
	padding:0;
}

form fieldset > div,
form .form-content-container > div{
	margin:0 0 24px 0;
}

@media only screen and (min-width: 45em){ /* 720px */ 

	form fieldset,
	form .form-content-container,
	form .form-content-container-full{
		border:0;
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		margin:0 0 0 0;
		outline:0;
		padding:0;
	}

	form fieldset > div,
	form .form-content-container > div{
		flex:0 1 auto;
		margin:0 0 32px 0;
		position:relative;
		width:43.07%;
	}
	
	form .form-content-container-full > div{
		flex:0 1 auto;
		position:relative;
		width:100%;
	}

}

/* Labels */

form label.text-input > span{
	color:#0033A0;
	display:block;
	font-size:1rem;
	font-weight: 700;
	line-height:1.238em;
	margin-top:1rem;
	margin-left:0;
	margin-bottom:12px;
}
form label.text-input > span > span {
	color:#0033A0;
	font-size:1rem;
	font-weight:400;
}

form .checkbox-input label{
	color:#262626;
	display:block;
	font-size:1rem;
	font-weight:400;
	line-height:1.5em;
	margin-top:1em;
	margin-left:0;
	margin-bottom:12px;
	position:relative;
}

form p.label-like{
	color:#0033A0;
	display:block;
	font-size:1em;
	font-weight: 700;
	line-height:1.238em;
	margin-top:1em;
	margin-left:0;
	margin-bottom:12px;
}
.text-align-label{
	color:#0033A0;
	display:block;
	font-size:1rem;
	font-weight:700;
	line-height:1.238em;
	margin-top:1em;
	margin-left:0;
	margin-bottom:12px;
}
.text-align-label span{font-weight:400;}

@media only screen and (min-width:45em){
	form label.text-input > span{margin-top:0;}
	form label.text-input{font-size:1rem;}
	form p.label-like{font-size:1rem;}
	.text-align-label{font-size:1.125rem;}
	.radio-input .label-text{font-size:1rem !important;}
	form select{font-size:1rem;}
	form .text-input input{font-size:1rem;}
}

/* Note */
form .field-note{
	display: block;
	margin:4px 0;
	font-size:1rem;
	font-weight:400;
	line-height:1.3125em;
}
form label + .field-note{
	margin-top:1rem;
}

/* Error Messages */

form .checkbox-input-error > p{
	padding-left:60px;
}

form strong.error{
	color:red;
	display:inline-block;
	font-size:14px;
	font-weight:700;
	margin:4px 0 0 0;
	/*position:absolute;
	top:100%;*/
}

/* Input defaults */

form .text-input input{
	background-color:#FFFFFF;
	border:1px solid #C7C7C7;
	border-radius:4px;
	box-sizing:border-box;
	display:block;
	font-size:1rem;
	padding:9px 10px;
	line-height:1.2em;
	width:100%;
}

/* Submit / Button */

form .submit-button{
	margin:0 0 0 0;
	text-align: center;
}

form button,
form input[type=submit] {
	border-radius:14px;
	background-color:#0033A0;
	border:1px solid #0033A0;
	box-sizing: border-box;
	color:#FFFFFF;
	cursor: pointer;
	display:inline-block;
	font-size:1em;
	font-weight:700;
	line-height:1em;
	margin: 0 auto 0 auto;
	padding:13px 24px;
	text-transform: uppercase;
	text-align:center;
	width:auto;
}

form button:hover,
form input[type=submit]:hover{
	background-color:#fff;
	color:#0033A0 !important;
}

@media only screen and (min-width:45em){
	form button,
	form input[type=submit] {
		font-size:1.125rem;
		margin:24px auto 0 auto;
		padding:13px 54px;
		width:auto;
	}
}

/* Checkboxes */

.checkbox-input{
	color:#333330;
	cursor: pointer;
	display: block;
	font-size:1rem;
	font-weight:500;
	line-height:1.5em;
	margin-bottom: 24px;
	padding-left: 40px;
	padding-right: 0%;
	padding-top: 3px;
	position: relative;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.checkbox-input input{
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

.checkbox-input .checkmark{
	background-color: #FFFFFF;
	border:1px solid #C7C7C7;
	border-radius:4px;
	height: 22px;
	left: 0;
	position: absolute;
	top: 0;	
	width: 22px;
}

.checkbox-input:hover input ~ .checkmark{background-color: rgba(255,255,255,1);}
.checkbox-input input:checked ~ .checkmark{background-color: #fff;}
.checkbox-input .checkmark:after {content: "";position: absolute;display: none;}
.checkbox-input input:checked ~ .checkmark:after {display: block;}

.checkbox-input .checkmark:after {
	border: solid #0033A0;
	border-width: 0 3px 3px 0;
    height:15px;
	left:9px;
	top:4px;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
    width:6px;
}

form .checkbox-input p,
form .checkbox-input ul,
form .checkbox-input li{
	margin-bottom:0.25rem !important;
	margin-top:0 !important;
}

form .checkbox-input li{
	padding-left:0.5rem;
}

form .checkbox-input a{
	color:var(--color-purple);
	font-weight:700;
	text-decoration: none;
}

form .checkbox-input a:hover{
	text-decoration:underline;
}

@media screen and (min-width: 45em) {

	form .checkbox-input{
		font-size:1rem;
		margin-bottom:32px;
		padding-left:62px;
		/*padding-right: 15%;*/
	}

	form .checkbox-input .checkmark{
		height: 30px;
		width: 30px;
	}

	form .checkbox-input .checkmark:after {
		border-width: 0 3px 3px 0;
		height: 17px;
        left: 9px;
        top: 4px;
        width: 10px;
	}

}

/* Radio Buttons */

.radio-input {
	display: block;
	position: relative;
	padding-left: 40px;
	padding-right: 0%;
	margin-bottom: 0px;
	cursor: pointer;
	font-size:1em;
	line-height:1.4em;
	font-weight:500;
	color:#263D7A;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.radio-input input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}

.radio-input .radio-check{
	position: absolute;
	top: 0;
	left: 0;
	height: 22px;
	width: 22px;
	background-color: #F6FCFF;
	border-radius: 50%;
	border:3px solid #263D7A;
}

.radio-input:hover input ~ .radio-check {background-color: rgba(178,178,178,0.18);}
.radio-input input:checked ~ .radio-check {background-color: #75C1FB;}
.radio-input .radio-check:after {content: "";position: absolute;display: none;}
.radio-input input:checked ~ .radio-check:after {display: block;}

/* Checked Circle
.radio-input .checkmark:after {
	top: 9px;
	left: 9px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: white;
}
*/
.radio-input a{
	color:var(--color-purple);
	font-weight:700;
	text-decoration: none;
}

.radio-input a:hover{
	text-decoration:underline;
}

@media screen and (min-width: 45em) {

	.radio-input {
		padding-left: 40px;
		font-size:1.25em;
	}

	.radio-input .radio-check{
		height: 26px;
		width: 26px;
	}

}

/* Select */

form select{
	background-color:#FFFFFF;
	border:1px solid #C7C7C7;
	border-radius:4px;
	color:#262626;
	font-size:1.125em;
	padding:10px 20px;
	box-sizing:border-box;
	display:block;
	font-size:1rem;
	padding:9px 10px;
	line-height:1.2em;
	width:100%;
}

/* Textarea */

form textarea{
	box-sizing:border-box;
	display:block;
	width:100%;
	height:120px;
	padding:13px 20px;
	border:1px solid #c7c7c7;
	border-radius:4px;
	font-size:1em;
	line-height:1.2em;
}

/* Content and Links */

form .form-content-container p,
form .form-content-container-full p{
	color:var(--text-color);
	font-size:1rem;
	margin:0 0 16px 0;
	line-height:1.5em;
}

form .form-content{
	color:#333330;
	font-size:1rem;
}

form .form-content a{
	color:var(--color-purple);
	font-weight:700;
	text-decoration: underline;
}

form .form-content a:hover{
	text-decoration:none;
}

@media screen and (min-width: 45em) {

	form .form-content-container p,
	form .form-content-container-full p{
		margin:0 0 24px 0;
	}

}
