@charset "utf-8";
body {
	font-family: "Geologica", sans-serif;
	font-weight: 400;
	font-size: medium;
	color: #222;
	background-color: #FFF;
	margin: 0;
	padding: 0;
}
.serif, i, em {
	font-family: Georgia,"Times New Roman", Times, serif;
}
b {
	font-weight: 600;
}
em {
	font-weight: 700;
}
strong {
	font-weight: 800;
}
figure, figcaption {
	margin: 0;
}
.upper {
	text-transform: uppercase;
}
img, video, audio, iframe {
	width: 100%;
}
img, video {
	height: auto;
}
video, audio, iframe {
	max-width: 640px;
}
iframe {
	display: block;
	margin: .5em auto;
	height: 56vw;
}
a, a:link, a:visited{
	text-decoration: none;
	color: #006EB9;
	cursor: pointer;
}
.formsubmit:hover, input.formsubmit:focus,
input.changebutton:hover, input.changebutton:focus,
.learnmore a:hover, .learnmore a:visited:hover {
	color: #FFF;
	cursor: pointer;
	background-color: #FFBF6E;
}
p, li, .group {
	page-break-inside: avoid;
	-webkit-column-break-inside: avoid;
	break-inside: avoid;
}
h1 {
	font-size: 1.6em;
	font-weight: 800;
	margin: 0;
}
h2 {
	font-size: 1.5em;
	font-weight: 800;
	margin-top: 1em;
}
h3 {
	font-size: 1.3em;
	font-weight: 600;
}
h4 {
	font-size: 1.2em;
	font-weight: 600;
}
h5 {
	font-size: 1.11em;
	font-weight: 600;
}
h1, h2, h3 {
	color: #222;
	line-height: 1.1em;
}
h4, h5 {
	color: #000;
	line-height: 1em;
}
h4 + p {
	margin-top: .5em;
}
h1 + p, h2 + p, h3 + p {
	margin-top: 1rem;
}
p, div.group {
	padding: 0;
	margin: 0 0 .8em;
}
hr {
	border-top: 2px solid #CCE1EB;
	border-bottom: none;
	border-left: none;
	border-right: none;
	margin: 1.5em .5em;
	clear: both;
}
li {
	list-style-position: outside;
	padding-bottom: .4em;
}
ul {
	padding: 0 0 0 2em;
	margin: .2em 0 1em;
}
dl {
	padding: 0;
	margin: .2em 0 1em;
}
dt {
	padding: 0;
	margin: 0;
	font-weight: 600;
}
dd {
	padding: 0;
	margin: .2em 0 .5em 1.5em;
}
#fullwidth {
	box-sizing: border-box;
	padding: 1px 1px 1em;
	width: 100%;
	position: relative;
	background-color: #F1F0ED;
}
#header {
	text-align: center;
	z-index: 500;
	border-bottom: 4px solid #006EB9;
}
.sized, .post.page {
	box-sizing: border-box;
	width: 100%;
	display: table;
	padding: 0 2%;
	position: relative;
}
.sized .colorbar, .sized .photoback {
	margin-left: -2%;
	margin-right: -2%;
	padding: .5em 2%;
}

.logoside {
	padding: 1em;
}
.logoside img {
	width: 100%;
	height: auto;
	max-width: max-content;
}
.main {
	background-color: #FFF;
	background-position: center top;
	background-size: 100%;
	background-repeat: no-repeat;
	padding: 2em 1em;
}
.overlay {
	font-size: 6.5vw;
	line-height: 1em;
	font-weight: 600;
	text-align: center;
	padding: 35% 0 1em;
	color: #FFF;
	text-shadow: 1px 1px 0 #000, -1px -1px 0 #CCC;
}
#footer {
	font-size: 1em;
	line-height: 1.2em;
	text-align: center;
	padding: 0 1em 2em;
	border-top: 4px solid #006EB9;
}
#footer .split div + div {
	border-top: 2px solid #999;
	margin-top: 1em;
	padding-top: 1em;
}
.address {
	margin: 1em 0;
}
#topnav, .hide {
	display: none;
}
#mobilenav {
	width: 100%;
	position: relative;
	background-color: #293E53;
	border-bottom: 4px solid #FFF;
}
#mobilenav ul	{
	font-size: 19px;
	font-weight: 600;
	margin: 0;
	padding: 0;
}
#mobilenav li{
	box-sizing: border-box;
	width: 100%;
	list-style:none;
	display: table;
	text-align: center;
	padding: 0;
}
#mobilehide > ul > li{
	border-top: 1px solid #FFF;
} 
#mobilehide .more{
	width: 70px;
	height: 44px;
}
#mobilenav .more, #mobilenav li > div {
	display: table-cell;
	vertical-align: middle;
}
#mobilenav a {
	display: block;
	line-height: 1em;
	padding: 13px 0;
	border-bottom: 1px solid #CCC;
}
#mobilenav a, #mobilenav a:link, #mobilenav a:visited {
	color: #FFF;
}
#mobilenav .mobiletitle {
	color: #FFF;
	text-align: center;
	font-weight: normal;
	font-size: x-large;
	line-height: 52px;
	height: 52px;
	display: block;
	margin-right: 70px;
	overflow: hidden;
}
#mobilenav .soon a {
	background-color: #77314B;
	color: #CCC;
}

#mobilenav ul ul {
	display:none;
}
.mobileicon {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	right: 0;
	width: 70px;
	height: 52px;
}
.mobileicon:hover, #mobiletoggle:checked ~ .mobileicon, #mobilenav .more, #mobilenav a:hover, #mobilenav a:visited:hover {
	color: #FFF;
	background-color: #5B7085;
}
#mobilehide {
	display: none;
}
#mobiletoggle, .subtoggle {
	position:absolute;
	left:-100%;
	top:-100%;
}
#mobiletoggle + label, #mobilehide.more{
	cursor: pointer;
}
#mobiletoggle:checked ~ #mobilehide {
	display: block;
}
#mobilehide ul li input:checked ~ ul {
	display: table-row;
}
#mobilehide ul li input:checked + label .plus {
	fill: none;
}
#footnav > ul {
	box-sizing: border-box;
	line-height: 1.2em;
	margin: 1em 0;
	padding: 0;
	list-style: none;
	text-align: center;
}
#footnav li{
	margin: 0;
	padding: 0;
}
#footnav > ul > li {
	display: inline-block;
	text-align: center;
}
#footnav a {
	display: block;
	padding: .3em 1em;
	font-size: 1.3em;
	line-height: 1em;
}
#footnav {
	margin: 2em 0;
}
.container{
	position: relative;
	text-align: center;
	line-height: 0;
}
.socialmedia, .socialmedia > div {
	vertical-align: middle;
	display: inline-block;
}
.socialmedia {
	font-size: 16px;
	padding-right: 1em;
}
.socialmedia > div {
	margin: .8em;
}
.socialmedia > div:last-child {
	margin-right: 0;
}
.social div.spacer { 
	display: block;
	-webkit-transition: all 200ms cubic-bezier(.5, 0, .5, 1);
	transition: all 200ms cubic-bezier(.5, 0, .5, 1);
	background-image: url(https://commonelements.net/common/elements/social-icons.png);
	background-repeat: no-repeat;
	background-size: 31.25em;
	height: 2em;
	width: 2em;
}
.socialmedia .social div.spacer {
	border-radius: 8px;
}
.socialmedia .social a:hover, .socialmedia .social a:visited:hover {
	opacity: .6;
}
.socialmedia .social.facebook div.spacer {
	background-position: 0 0;
}
.socialmedia .social.twitter div.spacer  {
	background-position: -3.125em 0;
}
.socialmedia .social.linkedin div.spacer {
	background-position: -9.375em 0;
}
.socialmedia .social.youtube div.spacer {
	background-position: -12.5em 0;
}
.socialmedia2 .social div.spacer {
	background-color: #6E6E6E;
}
.socialmedia2 .facebook div.spacer{
	background-position: 0 -3.125em;
}

.category {
	color: #000;
	font-size: 1.2em;
	line-height: 1em;
	font-weight: 600;
	margin: 1em 0;
}

.articlelist {
	display: table;
	border-collapse: collapse;
	border-spacing: 0px;
	margin: 1em 0;
}
.articlelist > div{
	padding-top: .5em;
}
.articlelist .content {
	font-size: .9em;
}
.articlelist .docside {
	text-align: center;
	width: 200px;
	margin: 0 auto;
}
.docside img {
	width: 100%;
	height: auto;
	max-width: max-content;
}
.articlelist img, #media img {
	box-shadow: 2px 2px 0 #666;
}
.articlelist .more {
	margin-top: .4em;
}
#media {
	margin: .4em auto;
	text-align: center;
}
#media img {
	border: 1px solid;
}
.navigation {
	text-align: right;
	font-size: .9em;
	opacity: .9;
	margin: .5em 0;
}
#n1 .navigation {
	margin: 1em 0 -.5em;
}
.fullarticle {
	position: relative;
}
.fullarticle .content {
	margin: 1em 0;
}
.articlelist h3 {
	font-size: 1.3em;
}
.articlelist h3 a{
	padding: 0;
}
.articlelist h4, .fullarticle h4{
	opacity: .9;
	font-weight: 600;
	font-size: 1.2em;
}
.articlelist h5, .fullarticle h5, .fullarticle h6 {
	padding: .5em 0 0 .5em;
	margin: 0;
	font-size: .8em;
	color: #7E90A6;
}
.articlelist h5 + div, .fullarticle h5 + div, .fullarticle h6 + div {
	padding-top: .5em;
}
.blog .date {
	display: none;
}
.fullarticle .date{
	padding: .8em 0;
}
.fullarticle .image {
	margin: 1em .5em .5em;
	width: auto;
}	
.fullarticle img {
	width: 100%;
	height: auto;
	max-width: max-content;
}
.fullarticle .author {
	padding: 0 0 .4em;
	color: #7E90A6;
}
.photoshell {
	margin: .5em auto;
	text-align: center;
}
.caption {
	display: block;
	font-size: .9em;
	line-height: 1em;
	margin-top: .3em;
 	color: #F9DFA2;
}
.fullphoto {
	text-align: center;
	margin: 1em 0;
}
.fullphoto img {
	width: 100%;
	height: auto;
	max-width: max-content;
}
.content .floatleft img, .content .floatright img, .photoshell img{
	box-sizing: border-box;
	width: 100%;
	height: auto;
	max-width: max-content;
	display: block;
	margin: 0 auto;
}
figure .figure {
	max-width: 250px;
}
figure img {
	padding: 6px;
	border: 1px solid #CCE1EB;
}
.content .floatleft, .content .floatright, .photoshell {
	box-sizing: border-box;
	font-size: .85em;
	line-height: 100%;
	text-align: center;
	color: #333;
}
.center img {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	max-width: max-content;
	padding: 8px;
}
.blog .center img {
	border: 1px solid #CCE1EB;
}
.floatright, .floatleft {
	margin: .5em 0;
	float: none;
}

.forcebreak:after {
	content: "\A";
	white-space: pre;
}
.nicebox {
	display: table;
	border-radius: 1em;
	background-color: #CCE2F1;
	padding: 1em;
	margin: 1em auto;
	line-height: 1.2em;
}
.nicebox ul {
	margin: 0;
}
.stripe {
	text-align: center;
	background-color: #00699D;
}
.stripe p {
	text-align: center;
}
.stripe, .stripe h3, .stripe h2 {
	color: #FFF;
}
.stripe a, .stripe a:link, .stripe a:visited {
	color: #FFBF6E;
}
.learnmore a, .formsubmit {
	font-size: 1.2em;
	display: inline-block;
	padding: .5em 1em .4em;
	border: 3px solid #FFBF6E;
	margin: 0 0 1em;
}
.learnmore a, .learnmore a:link, .learnmore a:visited, .formsubmit,
.stripe .learnmore a, .stripe .learnmore a:link, .stripe .learnmore a:visited {
	color: #FFF;
	background-color: #E48332;
}
.border {
	padding: 6px;
	border: 1px solid #CCE1EB;
}
.granted {
	display: none;
}
.submitbutton {
	font-family: "Geologica", sans-serif;
	text-align: center;
	background-color: #8C0000;
	font-size: 1.2em;
	line-height: 1em;
	color: #FFF;
	margin: 1rem auto;
	display: table;
}
.submitbutton a, input.submitbutton {
	letter-spacing: 1px;
	border-radius: 1.2em;
	display: block;
	text-transform: uppercase;
	padding: .8em 1em;
}
.submitbutton a, .submitbutton a:link, .submitbutton a:visited {
	background-color: rgba(255,255,255,0);
	color: #FFF;
}
.submitbutton a:hover, .submitbutton a:visited:hover, input.submitbutton:hover {
	background-color: rgba(255,255,255,1);
	color: #8C0000;
}
.formtable {
	width: 90%;
	max-width: 640px;
	margin-bottom: 1em;
	border-radius: .5em;
	background-color: #EEE;
	line-height: 1.1em;
}
.formtable td {
	display: block;
}
input[type="text"], input[type="email"], input[type="tel"], textarea {
	box-sizing: border-box;
	width: 100%;
}
.formnorm {
	font-family: "Courier New", Courier, monospace;
	font-size: .85em;
}
.check_human .errorborder {
	padding: 4px;
}
.errorborder h3 {
	color: #FFF;
}
.formbox {
	padding: 1em 2em 1em 1em;
}
.formnorm {
	background-color: #DDD;
	color: #00699D;
	padding: .6em .8em;
	border: none;
}
.bar1 {
	background-color: #006EB9;
	color: #EEE;
	text-align: center;
	border-radius: .5em;
}	
.dark2 {
	color: #3863AC;
}
.formsubmit {
	display: table;
	margin: 0 auto;
}
table.preview {
	background-color: #E0E2DF;
	border-spacing: 0;
	color: #000;
}
table.preview td {
	padding: .5em;
}
.submitgroup {
	position: relative;
	padding-bottom: 1em;
}
#coverup {
	position: absolute;
	font-size: .85em;
	padding: 3.5em 0 0;
	text-align: center;
	width: 100%;
	top: 0;
	left: 0;
	background-color: rgba(255,255,255, .5);
	color: #990000;
	z-index: 11;
	display: none;
}
#coverup.after {
	display: block;
}
#coverup.after:after {
	content: "Submitting, please wait";
}
.soonnotice {
	display: inline-block;
	font-size: 1.1em;
	line-height: 1em;
	padding: .5em 1em;
	margin: .5em 0;
	background-color: #990000;
	border: 1px solid #E92D25;
	color: #FFF;
}
ul.features {
	display: table;
	margin: 1em auto;
	padding: 0 .5em;
	list-style: none;
	text-align: center;
}
ul.features li {
	display: inline-block;
	vertical-align: top;
	padding: 0;
	margin: .5em 1em;
}
.servicebutton {
	display: inline-block;
	margin: 1em auto;
}
.servicebutton a {
	position: relative;
	display: block;
	background-image: linear-gradient(180deg,#83A7BE,#062A47);
	color: #FFF;
	font-weight: 600;
	padding: .8em 2.2em .8em 1em;
	font-size: 1.2em;
	line-height: 1.1em;
	border-radius: .5rem;
}
.servicebutton a:hover, .servicebutton a:visited:hover {
	color: #FF0;
}
.chevrons {
	position: absolute;
	font: 400 2.5em/0 "Geologica", sans-serif;
	top: 50%;
	right: .2em;
}
.signout {
	display: none;
}
.pretitle {
	position: relative;
}
@media only screen and (min-width: 20em) {
/* 320px */
	#debug {
		z-index: 501;
		background-color: rgba(256,256,256,.5);
		border: 1px solid #FFF;
		color: #3300FF;
		padding: 4px;
		position: fixed;
		bottom: 0;
		right: 0;
	}
	.debugnotes {
		font-size: medium;
		line-height: 1.15em;
	}
}
@media only screen and (min-width: 30em) {
/* 480px */
	h1 {
		font-size: 1.875em;
		line-height: 1em;
	}
	.original {
		display: initial;
	}
	.articlelist > div{
		display: table-cell;
		vertical-align: top;
	}
	.articlelist .docside {
		padding-right: 1em;
	}
	.fullarticle .image {
		float: right;
		width: 35%;
	}	
	.docgroup > div {
		display: table-cell;
		vertical-align: middle;
		padding: 1em;
	}

}
@media only screen and (min-width: 41em) {
/* 656px */
	.floatleft {
		float: left;
		margin: .2em 1em .5em 0;
		max-width: 40%;
	}
	.floatright {
		float: right;
		margin: .2em 0 .5em 1em;
		max-width: 40%;
	}
	.photoshell {
		float: right;
		margin: 0 0 .5em .5em;
		max-width: 60%;
	}
	.formtable td {
		display: table-cell;
	}

}
@media only screen and (min-width: 50em) {
/* 800px */
	body {
		font-size: 18px;
	}	
	a, .formsubmit, input.submitbutton{
		-webkit-transition: all 300ms cubic-bezier(.5, 0, .5, 1);
		transition: all 300ms cubic-bezier(.5, 0, .5, 1);
	}
	input.submitbutton:hover {
		cursor: pointer;
	}
	a:hover, a:visited:hover {
		color: #000;
	}
	.main a.tel, #footer a.tel {
		color: #222;
	}
	.stripe a:hover, .stripe a:visited:hover {
		color: #000;
	}
	.stripe a.tel, .stripe a.tel:link, .stripe a.tel:visited {
		color: #FFF;
	}
	.learnmore a, .formsubmit {
		border-radius: .5em;
		box-shadow: 2px 2px 4px #000;
		border: none;
	}
	.learnmore a:hover, .learnmore a:visited:hover,
	.stripe .learnmore a:hover, .stripe .learnmore a:visited:hover {
		color: #FFF;
		background-color: #FFBF6E;
	}
	#fullwidth {
		padding: 0;
	}
	#header {
		border-bottom: none;
	}
	#header .sized > div {
		display: table-cell;
		vertical-align: bottom;
	}
	.logoside {
		margin: 0;
		padding-right: 1em;
		width: 40%;
	}
	.logoside .url {
		display: inline-block;
		vertical-align: top;
	}
	.contactside {
		text-align: right;
		padding: 0 2em 1em 0;
	}
	.sized, .post.page {
		padding: 0 5%;
	}
	.sized .colorbar, .sized .photoback {
		margin-left: -5%;
		margin-right: -5%;
		padding: .5em 5%;
	}
	.stripe p {
		width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	.articlelist img, #media img {
		box-shadow: 2px 2px 4px #000;
	}

	.split{
		box-sizing: border-box;
		width: 100%;
		display: table;
	}
	.split > div{
		display: table-cell;
		vertical-align: top;
	}
	#footer .split > div {
		width: 30%;
		font-size: .9em;
	}
	#footer .split div + div {
		border-top: none;
		padding-top: 0;
		padding-left: 3em;
	}
	#footer .split > div.logoside {
		vertical-align: bottom;
	}
	.navback {
		background-color: #006EB9;
	}
	#topnav {
		display: block;
	}
	#topnav > ul {
		box-sizing: border-box;
		font-size: .74em;
		line-height: 1.1em;
		display: table;
		padding: .5em;
		margin: 0 0 0 auto;
		list-style: none;
	}
	#topnav li{
		margin: 0;
		padding: 0;
	}
	#topnav > ul > li {
		display: table-cell;
		vertical-align: middle;
		text-align: center;
	}
	#topnav > ul > li:not(:last-child) {
		border-right: 1px solid #999;
	}
	#topnav a {
		display: block;
		padding: .4em 2em;
		text-transform: uppercase;
		font-size: .9em;
		line-height: 1em;
	}
	#topnav a, #topnav a:link, #topnav a:visited {
		color: #CCC;
		text-decoration: none;
	}
	#topnav a:hover, #topnav a:visited:hover {
		color: #FFF;
		background-color: #008CD1;
	}
	#topnav .nav.on a {
		color: #FFF;
	}
	#topnav ul ul li {
		text-transform: none;
	}	
	#topnav ul ul {
		border-top: 2px solid #A6A6A6;
		margin: 0;
		padding: 0;
		position: absolute;
		z-index: 500;
		display: none;
		text-align: center;
		list-style: none;
		font-size: .9em;
		background-color: #3863AC;
		background-color: rgba(56,99,172,.85);
	}
	#topnav ul ul a {
		text-transform: none;
		padding: .3em .5em;
		border-bottom: 2px solid #A6A6A6;
		text-align: left;
	}
	#topnav .subhead a {
		font-size: 1.1em;
		font-weight: 600;
		color: #FFF;
		background-color: #3863AC;
		border-bottom: 2px solid #FFF;
	}
	#topnav .soon a {
		background-color: #77314B;
		color: #CCC;
	}
	#topnav ul ul a, #topnav ul ul a:link, #topnav ul ul a:visited {
		color: #FFF;
	}
	#topnav ul ul a:hover, #topnav ul ul a:visited:hover {
		color: #5391FA;
		background-color: #000;
	}
	#topnav ul ul .on a, #topnav ul ul .on a:link, #topnav ul ul .on a:visited {
		color: #F9DFA2;
	}
	
	div#topnav li:hover {
		cursor:pointer;
		z-index:100;
	}
	
	div#topnav li:hover ul ul,
	div#topnav li li:hover ul ul,
	div#topnav li li li:hover ul ul,
	div#topnav li li li li:hover ul ul
	{display:none;}
	
	div#topnav li:hover ul,
	div#topnav li li:hover ul,
	div#topnav li li li:hover ul,
	div#topnav li li li li:hover ul
	{display:block;}
	.original {
		display: inherit;
	}
	#mobilenav {
		display: none;
	}
	.footnav > ul > li:not(:last-child) {
		border-right: 1px solid #CCE1EB;
	}

	video, audio {
		width: auto;
	}
	.forcebreak:after {
		content: "\A";
		white-space: pre;
	}
	.photoshell {
		max-width: 50%;
		float: right;
		margin: 1em 0 1em 1em;
	}
	.blog .floatleft, .blog .floatright {
		max-width: 340px;
	}
	.formnorm {
		border-radius: .5em;
	}
	.formtable .right {
		width: 12em;
	}
	.signout {
		display: block;
		z-index: 501;
		background-color: rgba(256,256,256,.5);
		border: 1px solid #FFF;
		padding: 4px;
		position: fixed;
		bottom: 0;
		left: 0;
	}
	#header .servicebutton {
		position: absolute;
		bottom: 0;
		right: 16em;
	}
}
@media only screen and (min-width: 60em) {
/* 960px */
	#topnav > ul {
		font-size: .84em;
		line-height: 1em;
	}
	#header .servicebutton {
		right: 18em;
		bottom: .5em;
	}
}
@media only screen and (min-width: 71em) {
/* 1136px */
	.columnize {
		-moz-column-count: 2;
		-moz-column-gap: 3em;
		-webkit-column-count: 2;
		-webkit-column-gap: 3em;
		column-count: 2;
		column-gap: 3em;
	}
	ul.features li {
		display: table-cell;
		vertical-align: top;
		padding: .5em 1em;
	}

}
@media only screen and (min-width: 85em) {
/* 1360px */
	body {
		font-size: 20px;
	}	
	#fullwidth {
		max-width: 100%;
	}
	#footnav {
		font-size: .9em;
		margin: 1em 0 2em;
	}
	.sized, .post.page {
		padding: 0;
		max-width: 1280px;
		margin-left: auto;
		margin-right: auto;
	}
	.sized .colorbar, .sized .photoback {
		margin-left: -10%;
		margin-right: -10%;
		padding: .5em 10%;
	}
	#header .servicebutton {
		right: 13em;
	}

}