/* Color Tokens */
.primary {
	color: #2A6091; /* $primary */
}

.secondary {
	color: #A7AEAE; /* $secondary */
}

.tertiary {
	color: #134070; /* $tertiary */
}

.quaternary {
	color: #2A6091; /* $quaternary */
}

.light {
	color: #FFFFFF; /* $light */
}

.off {
	color: #ECF0F1; /* $off */
}

.dark {
	color: #313131; /* $dark */
}
/* End Color Tokens */

/* General Styles */
.contact-section {
	line-height: 1.5em;
}

.contact-section.right-side {
	max-width: 32em;
	margin-top: -14em;
	-webkit-flex: 1 0 32em;
	-ms-flex: 1 0 32em;
	flex: 1 0 32em;
	margin-left: 4%;
	padding-bottom: 6em;
}

body.cms-admin .contact-section.right-side {
	margin-top: -2rem;
}

.contact-section .main {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-direction: row;
	-ms-flex-direction: row;
	flex-direction: row;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-align-items: flex-start;
	-ms-flex-align: start;
	align-items: flex-start;
}

.contact-section .zone-editable {
	width: 95% !important;
}

.contact-section .text {
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
	-webkit-flex: 0 0 48%;
	-ms-flex: 0 0 48%;
	flex: 0 0 48%;
}

.contact-section .contact-form {
	-webkit-order: 1;
	-ms-flex-order: 1;
	order: 1;
	-webkit-flex: 0 0 48%;
	-ms-flex: 0 0 48%;
	flex: 0 0 48%;
	background-color: #ECF0F1; /* $off */
	box-shadow: .5em .5em 20px rgba(49,49,49,0.149); /* alpha($dark,15%) */
	padding: 3em 2em 0;
}

.contact-section .contact-form .hide {
	display: none;
}

.contact-section .contact-form fieldset {
	border: none;
	padding: 0;
	margin: 0;
}

.contact-section .contact-form .contact-header {
}

.contact-section .contact-form h2 {
	color: #2A6091; /* $primary */
}

.contact-section .contact-form h2:last-child {
	margin-bottom: 2rem;
}

.contact-section .contact-form h3 {
	color: #134070; /* $tertiary */
	font-size: 1.875em;
	letter-spacing: 0.1em;
	font-weight: 600;
}

.contact-section .contact-form h3 strong {
	display: block;
	font-size: 1.833em;
	letter-spacing: 0.1em;
}

.contact-section .contact-form h3:after {
	display: block;
	width: 4.5rem;
	height: 3px;
	background-color: #2A6091; /* $primary */
	margin: 2.25rem 0 2.25rem auto;
	content: '';
}

.contact-section .contact-header p {
	font-size: 1.111em;
	margin-bottom: 0;
}

.contact-section .contact-header p strong {
	display: block;
}

.contact-section .contact-header p a {
	color: #313131; /* $dark */
}

.contact-section .contact-form ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.contact-section .contact-form ul li {
	position: relative;
	width: 100%;
}

.contact-section .contact-form input, .contact-section .contact-form textarea, .contact-section .contact-form select {
	color: #313131; /* $dark */
	font-size: 1em;
	border-color: #C3CFD3; /* darken($off,15%) */
}

.contact-section .contact-form textarea {
	padding-top: .75em;
	height: 9.2em;
}

.contact-section .contact-form .btn {
	display: block;
	margin: 1.5em auto 0;
	min-width: 80%;
}

.contact-section fieldset ::-webkit-input-placeholder {
	color: #313131; /* $dark */
	opacity: 1;
}

.contact-section fieldset :-moz-placeholder {
	color: #313131; /* $dark */
	opacity: 1;
}

.contact-section fieldset ::-ms-input-placeholder {
	color: #313131; /* $dark */
	opacity: 1;
}

.contact-section fieldset ::-moz-placeholder {
	color: #313131; /* $dark */
	opacity: 1;
}
/* End General Styles */

/* Thin Styles */
.contact-section.thin {
	margin-top: -5em;
}

.contact-section.thin .contact-form {
	padding: 1.5em 4%;
}

.contact-section.thin header {
	-webkit-flex: 0 1 43%;
	-ms-flex: 0 1 43%;
	flex: 0 1 43%;
	text-align: right;
	padding-right: 2%;
}

.contact-section.thin .contact-form h3 {
	font-size: 2.5em;
	font-weight: 300;
}

.contact-section.thin .contact-form h3 em {
	display: block;
}

.contact-section.thin .fields-section {
	-webkit-flex: 1 1 40%;
	-ms-flex: 1 1 40%;
	flex: 1 1 40%;
}

.contact-section.thin .fields-section ul {
	-webkit-flex: 1 1 50%;
	-ms-flex: 1 1 50%;
	flex: 1 1 50%;
	padding: 0 2%;
}

.contact-section.thin .contact-form .btn {
	width: 100%;
	margin: .6em auto 0;
}

.contact-section.thin .contact-form li.submit {
	border: none;
}
/* End Thin Styles */

/* Responsive Styles */
@media screen and (min-width:451px) {
}

@media screen and (min-width:1501px) {
}

@media screen and (max-width:1500px) {
	.contact-section.right-side {
		margin-top: -8rem;
	}

	.contact-section .contact-form h3 strong {
		font-size: 1.7em;
	}
}

@media screen and (max-width:1150px) {
	.contact-section .contact-form ul li:last-child {
		width: 100%;
	}

	.contact-section .contact-form ul {
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		-webkit-justify-content: space-between;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}

	.contact-section .contact-form ul li.half {
		width: 49%;
	}

	.contact-section.right-side {
		-webkit-flex: 1 0 100%;
		-ms-flex: 1 0 100%;
		flex: 1 0 100%;
		max-width: 100%;
		margin-top: 2em;
		padding-bottom: 0;
		margin-left: 0;
	}

	.contact-section.thin {
		margin-top: 0;
		padding: 0;
	}

	.contact-section.thin .contact-form {
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}

	.contact-section:not(.thin) .contact-form .btn {
		margin: 1.5em auto 0;
	}

	.contact-section.thin header {
		-webkit-flex: 1 0 100%;
		-ms-flex: 1 0 100%;
		flex: 1 0 100%;
		text-align: center;
	}

	.contact-section.thin .contact-form h3 em {
		display: inline-block;
	}

	.contact-section .contact-form h3:after {
		margin-left: auto;
		margin-right: auto;
	}

	.contact-section .contact-header p strong {
		display: inline-block;
	}

	.contact-section.thin .fields-section {
		padding-top: 1em;
		border-top: solid 2px #ECF0F1; /* $off */
	}

	.contact-section.thin .fields-section ul.left-fields {
		padding-left: 0;
		padding-right: 4%;
	}

	.contact-section.thin .fields-section ul.right-fields {
		padding: 0;
	}
}

@media screen and (max-width:800px) {
	.contact-section .contact-form ul {
		display: block;
	}

	.contact-section .main {
		display: block;
	}

	.contact-section.thin {
		-webkit-order: 2;
		-ms-flex-order: 2;
		order: 2;
		border-bottom: solid 4px #ECF0F1; /* $off */
	}

	.contact-section.thin .contact-form {
		padding-top: 2em;
		padding-bottom: 2em;
	}

	.contact-section.thin .fields-wrapper {
		display: block;
	}

	.contact-section .contact-form ul li.half {
		width: 100%;
	}
}

@media screen and (max-width:550px) {
	.contact-section .contact-form {
		padding: 2.5em 6% 2em;
	}

	.contact-section .contact-form h2 {
		font-size: 2.5em;
	}
}

@media screen and (max-width:450px) {
	.contact-section .contact-form h2 {
		font-size: 2em;
	}

	.contact-section.thin .contact-form h3 {
		font-size: 2em;
	}
}
/* End Responsive Styles */
