@import url('//fonts.googleapis.com/css?family=Source+Sans+Pro:200i,300,300i,400,400i,600');

	html {
		font-family: 'Source Sans Pro', sans-serif;
		font-size: 18px;
		line-height: 1.444;
		font-weight: 300;
		color: #000;

		font-style: normal;
		text-transform: none;
		letter-spacing: 0;
	}


	body.showMargins * {
		background-color: rgba(0,0,255,0.1);
	}
	body.showMargins div {
		background-color: none;
	}

	@media print {
		* {
			color: #000 !important;
		}
	}



	h1,	.h1, .template-home h2 {
		margin: 1rem 0 0;
		padding: 0;

		font-size: 2.667em;
		line-height: 1.042;
		font-weight: 300;
		color: #005f9f;

		font-style: normal;
		text-transform: none;
		letter-spacing: 0;
	}
	.template-home h2 {
		margin-bottom: 1rem;
	}

	h2, .h2 {
		margin: 22px 0 4px;
		font-size: 1.5em;
		line-height: 1.148;
		font-weight: 400;
		color: #005f9f;

		font-style: normal;
		text-transform: none;
		letter-spacing: 0;
	}
	h2:before {
		display: table;
		content: "";
		clear: left;
	}



	blockquote, .quote {
		margin: 0.6em 0 1em;

		font-size: 1.667em;
		line-height: 1.2;
		font-weight: 200;
		color: #000;

		font-style: italic;
		text-transform: none;
		letter-spacing: 0;
	}
	.right blockquote {
		padding: 0.34em 0.7em;
		background-color: #007996;

		font-size: 1.1rem;
		line-height: 1.462;
		color: #fff;

		font-style: normal;
	}


	h3, .h3,
	table caption,
	.ccbnTblTtl {
		margin: 18px 0 4px;
		font-size: 1.111em;
		line-height: 1.2;
		font-weight: 400 !important;
		color: #005f9f;

		font-style: normal;
		text-transform: none;
		letter-spacing: 0;
	}


	h4, .h4 {
		margin: 18px 0 4px;
		font-size: 0.9em;
		line-height: 1.267;
		font-weight: 600 !important;
		color: #005f9f;

		font-style: normal;
		text-transform: uppercase;
		letter-spacing: 2px;
	}


	h2 + blockquote,
	h3 + blockquote {
		margin-top: 0;

		font-size: 0.889em;
		line-height: 1.5;
		font-weight: 300;
		color: #000;

		font-style: normal;
		text-transform: none;
		letter-spacing: 0;
	}




	p {
		margin: 0 0 1em;
	}
	blockquote p {
		margin-bottom: 0.3em;
	}

	h4 + ul {
		margin-top: 0px;
	}


	iframe {
		border: none;
		overflow: hidden;
	}

	#contentbody iframe {
		width: 100%;
	}
	@media screen and (min-width: 615px) {
		#contentbody iframe {

		}
	}


	.iframe {
		position: relative;
	}
	.iframe iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}

	.iframe iframe + img  {
		display: block;
		width: 100% !important;
		height: auto !important;
	}


	@media screen {
		hr {
			margin: 1.25em 0;
			height: 0;
			border-color: #eceeec;
			border-width: 1px;
			border-style: solid;
			border-top: none;
		}
		hr:before {
		    content: "";
		    display: block;
		    clear: both;
		    visibility: hidden;
		    height: 0;
		    line-height: 0;
		}
	}



	a {
		color: #42ae00;
		font-weight: 400;
		text-decoration: none;
	}
	.notmobile a:hover, .notmobile a:active {
		color: #04d904;
	}
	a img {
		border: none;
	}

	/* Fixed top nav needs some buffer when using anchors */
	a[name] {
		position: absolute;
		margin-top: -4em !important;
	}




	img.retina {
		width: 50% !important;
		height: auto !important;
	}
	@media (min-width: 530px) {
		img.retina {
			width: 40% !important;
		}
	}
	#contentbody img,
	#modal-box img {
		max-width: 100%;
		height: auto !important;
	}


	strong, b,
	.ccbnTxtBold, .quote-long tr td:nth-child(2n+1) {
		color: #000;
		font-weight: 400 !important;
	}
	u {
		font-size: 0.65rem;
		line-height: 2;
		font-weight: 400;
		color: #000;
		text-decoration: none;
		text-transform: uppercase;
		letter-spacing: 1px;
		vertical-align: baseline;
	}
	small {
		font-size: 80%;
		line-height: 100%;
	}

	sup {
		vertical-align: text-top;
		font-size: 70%;
		text-transform: uppercase;
	}




	@media print {
		.noprint {
			display: none !important;
		}
		object {
			display: none;
		}
	}



	.local table,
	.cke_editable table,
	table.styled {
		margin: 1em 0;
		width: 100%;
		width: calc(100% - 1px);
		border-collapse: collapse;
	}
	.local caption,
	.cke_editable > caption,
	table.styled > caption {
		text-align: left;
		margin: 0 0 0.5em;
	}
	.local thead > tr > th,
	.local thead > tr > td,
	.cke_editable > thead > tr > th,
	.cke_editable > thead > tr > td,
	table.styled > thead > tr > th,
	table.styled > thead > tr > td,

	table.styled > tbody > tr.ccbnBgTblTtl > td

	 {
		padding: 0.6em 0 0.6em 1.91rem;
		padding: 0.5em 0.5em 0.5em 0.5rem;
		text-align: left;
		vertical-align: bottom;
		background: #fff;
	}

 	.local thead > tr > th,
	.local thead > tr > td,
	.cke_editable > thead > tr > th,
	.cke_editable > thead > tr > td,
	table.styled > thead > tr > th,
	table.styled > thead > tr > td,

	table.styled > tbody > tr.ccbnBgTblTtl > td,
	table.styled > tbody > tr.ccbnBgTblTtl > td span,

	.ccbnLabel,
	.ccbnLabel + .ccbnTxt

	 {
		font-size: 0.778rem;
		line-height: 1.267;
		font-weight: 400 !important;
		color: #005f9f;

		font-style: normal;
		text-transform: uppercase;
		letter-spacing: 1px;
	}


	.local tbody > tr > th,
	.local tbody > tr > td,
	.cke_editable > tbody > tr > th,
	.cke_editable > tbody > tr > td,
	table.styled > tbody > tr > th,
	table.styled > tbody > tr > td {
		padding: 0.5em 0.5em 0.5em 0.5rem;
		border-bottom: solid 2px #fff;
		background: #eceeec;
		vertical-align: top;

		font-size: 0.889rem;
	}

	.local tfoot > tr > th,
	.local tfoot > tr > td,
	.cke_editable > tfoot > tr > th,
	.cke_editable > tfoot > tr > td,
	table.styled > tfoot > tr > th,
	table.styled > tfoot > tr > td {
		margin: 0.5em 0;
		font-size: 0.8em;
	}







	.button {
		display: inline-block;
		padding: 0.6em 1em;
		background-color: transparent;
		border: solid 1px #e11b20;
		border-radius: 1rem;

		font-size: 0.7rem;
		line-height: 1.2;
		font-weight: 300;
		text-decoration: none;
		color: #e11b20;

		-webkit-transition: all 100ms ease;
		   -moz-transition: all 100ms ease;
				transition: all 100ms ease;
	}

	.notmobile .button:hover,
	.notmobile .button:active {
		background-color: #e11b20;
		border-color: transparent !important;
		color: #fff;
		cursor: pointer;
	}




	form.styled label {
		display: none;
	}
	form.styled label.required:after {
		display: none;
	}

	.lt-ie10 form.styled label {
		display: block;
		text-align: left;
	}
	.lt-ie10 form.styled label.required:after {
		display: inline-block;
	}


	form.styled ul {
		margin-left: -12px;
		margin-top: 0;
		margin-bottom: 0;
		padding-left: 0;
		list-style: none;
	}
	form.styled ul:after {
		display: table;
		content: "";
		clear: both;
	}
	form.styled li {
		float: left;
		padding: 0 0 0 12px;
		margin-bottom: 12px !important;
	}






	form.styled input {
		-webkit-appearance: none;
		   -moz-appearance: none;
				appearance: none;

	}


	form.styled input[type=text],
	form.styled input[type=email],
	form.styled select,
	form.styled textarea {
		display: block;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
				box-sizing: border-box;
		height: auto;
	    width: 100%;
	    margin: 0;
	    padding: 0.8em 1em;
		border: 1px solid #dfdfdf;
		border-radius: 0;
		background: #fff;
		box-shadow: none;
		outline: none;

		-webkit-transition: none;
		   -moz-transition: none;
				transition: none;


		font-family: 'Roboto', sans-serif;
		font-size: 1em;
		line-height: inherit;
	}

	form.styled input[type=text],
	form.styled input[type=email],
	form.styled select,
	form.styled textarea,
	form.styled .required {
	}

	form.styled input[type=text][required]:invalid,
	form.styled input[type=email][required]:invalid,
	form.styled select[required]:invalid,
	form.styled textarea[required]:invalid,
	form.styled .required {
		background-image: url(/themes/_common/images/asterisk.svg);
		background-position: calc(100% - 10px) 1.3em;
		background-repeat: no-repeat;
		background-size: 0.4em;
	}

	form.styled .required {
		position: relative;
	}
	form.styled .required:after {
		content: "";
		display: inline-block;
		height: 1em;
		position: absolute;
		top: 50%;
		-webkit-transform: translateY(-50%);
		   -moz-transform: translateY(-50%);
				transform: translateY(-50%);
		width: 20px;

		background-image: url(/themes/_common/images/asterisk.svg);
		background-position: 6px center;
		background-repeat: no-repeat;
		background-size: 0.4em auto;

	}

	form.styled input[type=text]:focus,
	form.styled input[type=email]:focus,
	form.styled select:focus,
	form.styled textarea:focus {
		border-color: #14aded !important;
		box-shadow: none !important;
		outline: none;
	}
	form.styled.submitted input[type=text]:invalid,
	form.styled.submitted input[type=email]:invalid,
	form.styled.submitted select:invalid,
	form.styled.submitted textarea:invalid {
		border-color: #e77;
	}



	form.styled input[type=button],
	form.styled input[type=submit],
	form.styled input[type=reset] {
		border-radius: 2rem;
		font-size: 1rem;
	}




	form.styled select {
	    padding: 0.4em 1em 0.4em 0.8em;
	    height: 3.11em;
	    -webkit-appearance: none;
	       -moz-appearance: none;
	       		appearance: none;
	}
	form.styled select:invalid {
		color: #A3A3A3;
	}
	form.styled option {
	    padding: 0.4em 1em;
	}

	form.styled textarea {
		resize: vertical;
		height: 10em;
	}



	form.styled input[type=checkbox],
	form.styled input[type=radio] {
		position: absolute;
		z-index: -1;
	}

	form.styled input[type=checkbox] + label,
	form.styled input[type=radio] + label {
		position: relative;
		display: block;
		padding: 0.8em 1em;
		-webkit-box-sizing: border-box;
		   -moz-box-sizing: border-box;
				box-sizing: border-box;
		border: 1px solid #dfdfdf;
		cursor: pointer;
		background-color: #fff;
		-webkit-transition: background-color 150ms ease, color 150ms ease;
		   -moz-transition: background-color 150ms ease, color 150ms ease;
				transition: background-color 150ms ease, color 150ms ease;
		font-size: 0.8em;
	}
	form.styled input[type=radio] + label {
		text-align: center;
	}
	form.styled input[type=checkbox] + label {
		padding-left: 30px;
	}
	form.styled input[type=checkbox] + label::before {
		content: "";
		position: absolute;
		z-index: 1;
		top: 50%;
		-webkit-transform: translateY(-50%);
		   -moz-transform: translateY(-50%);
				transform: translateY(-50%);
		left: 8px;
		height: 10px;
		width: 10px;
		border: 2px solid #dfdfdf;
		border-radius: 2px;
	}

	form.styled input[type=checkbox]:checked + label::after {
		content: "";
		position: absolute;
		z-index: 1;
		top: 50%;
		-webkit-transform: translateY(-100%) rotate(-45deg);
		   -moz-transform: translateY(-100%) rotate(-45deg);
				transform: translateY(-100%) rotate(-45deg);
		left: 11px;
		height: 5px;
		width: 12px;
		border-left: 3px solid #14aded;
		border-bottom: 3px solid #14aded;
	}


	form.styled input[type=checkbox]:checked + label::before,
	form.styled input[type=checkbox]:checked + label::after {
		border-color: #fff;
	}



	form.styled.submitted input[type=checkbox]:invalid + label,
	form.styled.submitted input[type=radio]:invalid + label {
		border-color: #e77;
	}


	form.styled input[type=checkbox]:focus + label,
	form.styled input[type=radio]:focus + label {
		border-color: #14aded !important;
	}
	form.styled input[type=checkbox]:checked + label,
	form.styled input[type=radio]:checked + label {
		background: #14aded;
		border-color: #14aded;
		color: #fff;
	}












	.right, .left {
		display: block;
		margin: 0.8em 0;
	}

	.right > :first-child,
	.right > :first-child > :first-child,
	.right > :first-child > :first-child > :first-child,
	.right > :first-child > :first-child > :first-child > :first-child,
	.left > :first-child,
	.left > :first-child > :first-child,
	.left > :first-child > :first-child > :first-child,
	.left > :first-child > :first-child > :first-child > :first-child {
		margin-top: 0 !important;
	}
	.right > :last-child,
	.right > :last-child > :last-child,
	.right > :last-child > :last-child > :last-child,
	.right > :last-child > :last-child > :last-child > :last-child,
	.left > :last-child,
	.left > :last-child > :last-child,
	.left > :last-child > :last-child > :last-child,
	.left > :last-child > :last-child > :last-child > :last-child {
		margin-bottom: 0 !important;
	}



	img.right,
	img.left,
	.right img,
	.left img {
		display: block;
		margin: 0.8em 0;
		height: auto !important;
	}

	@media (max-width: 415px) {
		img.right,
		img.left,
		.right img,
		.left img {
			width: 100% !important;
		}
	}


	@media (min-width: 416px) {

		.right,
		img.right {
			float: right;
			max-width: 47% !important;
			height: auto !important;
			margin: 4px 0 10px 1.6em;
		}


		/* Unset .right settings for wide */
		.wide .right,
		.wide img.right {
			float: none;
			max-width: none !important;
			margin: 0 0 16px 0;
		}

		.left,
		img.left {
			float: left;
			margin: 4px 1.6em 10px 0;
			max-width: 47% !important;
		}

	}



	.columnleft:after {
		content: "";
		display: block;
		clear: both;
	}
	.columnright:after {
		content: "";
		display: block;
		clear: both;
	}

	@media (min-width: 616px), print {

		.popup .left {
			width: 200px !important;
		}

		.columnleft {
			position: relative;
			padding-left: 214px;
			min-height: 260px;
		}
		.columnleft .left {
			position: absolute;
			left: 0;
		}

		.columnright {
			position: relative;
			padding-right: 53%;
			padding-right: calc(47% + 30px);
			min-height: 380px;
		}
		.columnright .right {
			position: absolute;
			right: 0;
			top: 0;
			width: 47% !important;
			height: auto !important;
		}

		.popup .columnright {
			padding-right: 36%;
			padding-right: calc(34% + 30px);
		}
		.popup .columnright .right {
			width: 34% !important;
		}



		.columnright.wide {
			min-height: 500px;
			padding-right: 70%;
		}
		.columnright.wide .right {
			float: right;
			margin: 0;
			width: calc(70% - 40px) !important;
			max-width: none !important;
		}

		.columnright .right iframe {
			display: block;
		}
		.columnright .right iframe + * {
			display: none;
		}

	}

	@media (min-width: 816px) {
		.columnright {
			padding-right: 340px;
		}
		.columnright .right {
			width: 300px !important;
		}
		.popup .columnright {
			padding-right: 280px;
		}
		.popup .columnright .right {
			width: 240px !important;
		}
		.popup .left {
			width: 240px !important;
		}
	}
	@media (min-width: 900px) {
		.columnright {
			padding-right: 360px;
		}
		.columnright .right {
			width: 320px !important;
		}
		.popup .columnright {
			padding-right: 300px;
		}
		.popup .columnright .right {
			width: 260px !important;
		}
		.popup .left {
			width: 260px !important;
		}
	}
	@media (min-width: 1016px) {
		.columnright {
			padding-right: 430px;
		}
		.columnright .right {
			width: 390px !important;
		}
		.popup .columnright {
			padding-right: 320px;
		}
		.popup .columnright .right {
			width: 280px !important;
		}
		.popup .left {
			width: 280px !important;
		}
	}






	.clearfloat {
		*zoom: 1;
	}
	.clearfloat:after {
		display: table;
		content: "";
		line-height: 0;
	}
	.clearfloat:after {
		clear: both;
	}
