:root {
  --primary: #a30808;
  --red: #d90f0f;
  --dk-blue: #0d297a;
  --font-body: 'Lato', Helvetica, sans-serif;
  --font-serif: 'Libre Baskerville', serif;
}

//*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace, monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.3em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type="button"],[type="reset"],[type="submit"],button{-webkit-appearance:button}[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}
* {box-sizing:border-box}
/* ==========================================================================
 FONTS
 ========================================================================== */
@font-face {
	 font-family: 'Libre Baskerville';
	 src: url('fonts/librebaskerville-regular.woff2') format('woff2'),
		  url('fonts/librebaskerville-regular.woff') format('woff');
	 font-weight: normal;
	 font-style: normal;
}
@font-face {
	 font-family: 'Libre Baskerville';
	 src: url('fonts/librebaskerville-bold.woff2') format('woff2'),
		  url('fonts/librebaskerville-bold.woff') format('woff');
	 font-weight: bold;
	 font-style: normal;
 
}
@font-face {
	 font-family: 'Libre Baskerville';
	 src: url('fonts/librebaskerville-italic.woff2') format('woff2'),
		  url('fonts/librebaskerville-italic.woff') format('woff');
	 font-weight: normal;
	 font-style: italic;
}
@font-face {
    font-family: 'Lato';
    src: url('fonts/lato-light.woff2') format('woff2'),
         url('fonts/lato-light.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'Lato';
    src: url('fonts/lato-regular.woff2') format('woff2'),
         url('fonts/lato-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Lato';
    src: url('fonts/lato-italic.woff2') format('woff2'),
         url('fonts/lato-italic.woff') format('woff');
    font-weight: 400;
    font-style: italic;
}

/* ==========================================================================
 STRUCTURE
 ========================================================================== */
.span_12_of_12 {
	width: 100%;
}
.span_11_of_12 {
  	width: 91.53%;
}
.span_10_of_12 {
  	width: 83.06%;
}
.span_9_of_12 {
  	width: 74.6%;
}
.span_8_of_12 {
  	width: 66.13%;
}
.span_7_of_12 {
  	width: 57.66%;
}
.span_6_of_12 {
  	width: 49.2%;
}
.span_5_of_12 {
  	width: 40.73%;
}
.span_4_of_12 {
  	width: 32.26%;
}
.span_3_of_12 {
  	width: 23.8%;
}
.span_2_of_12 {
  	width: 15.33%;
}
.span_1_of_12 {
  	width: 6.866%;
}
body {
  font-family: var(--font-body);
  font-size: calc(15px + 0.390625vw);
}
/* ==========================================================================
 TYPOGRAPHY
========================================================================== */
 p {
	 margin: 0 0 1em 0;
	 line-height: 1.3em;
	 font-weight: 200;
 }
 p.center {
	  text-align: center;
	  font-size: 130%;
	  margin-top: 30px;
  }
 ul {
	 font-weight: 200;
 }
 h1 {
	 color: var(--dk-blue);
	 font: bold 500%/1em var(--font-serif);
	 width: 100%;
	 text-align: center;
	 margin-bottom: 6px;
 }
 p.center {
	 text-align: center;
 }
 h2 {
	  font: normal 300%/1em var(--font-body);
	  color: black;
	  text-align: center;
	  margin-top: 6px;
  }
 h3 {
	 font-size: 1.65rem;
	  font-family: var(--font-serif);
	  color: var(--dk-blue);
	  margin: 0 auto;
	  text-align: left;
 }
 a {
	 color: var(--primary);
	 text-decoration: underline;
 }
 a:visited {
	  color: var(--primary);
	  text-decoration: underline;
  }
 a:hover,
 a:active {
	  color: var(--dk-blue);
	  text-decoration: underline;
  }
 a.fill {
	 border: 1px solid var(--dk-blue);
	 background-color: var(--dk-blue);
	 color: white;
	 text-decoration: none;
	 transition: background-color 215ms,border-color 215ms;
 }
 a.fill:hover,
 a.fill:active {
	 border: 1px solid var(--dk-blue);
	 background-color: transparent;
	 color: var(--dk-blue);
 }
 a.outl {
	 border: 1px solid var(--dk-blue);
	 background-color: transparent;
	 color: var(--dk-blue);
	 text-decoration: none;
	 transition: background-color 215ms,border-color 215ms;
 }
 a.outl:hover,
 a.outl:active {
	 border: 1px solid var(--dk-blue);
	 background-color: var(--dk-blue);
	 color: white;
 }

/* ==========================================================================
 HEADER + NAV
 ========================================================================== */
header {
  background: url(img/bg-header.webp) no-repeat;
  background-size: cover;
  width: 100%;
  height: auto;
  padding-bottom: 110px;
  border-bottom: 38px solid var(--primary);
}
header section {
  background: url(img/bg-logo-header.svg) no-repeat;
  width: 100%;
  top: 0;
  height: 223px;
  text-align: center;
  position: relative;
}
.logo {
	margin: 0 auto;
	height: 200px;
	position: absolute;
	top: 7px;
	left: 50%;
	transform: translate(-50%, 0);
}
.logo a {
	display: inline-block;
	height: 66%;
	margin-top: 8px;
}
.logo img {
	height: 100%;
	width: auto;
}

header p {
	font-size: 5.68rem;
	font-family: var(--font-body);
	line-height: 1.3em;
	margin: 25px auto 10px auto;
	text-align: center;
	color: white;
	text-shadow:
	   -2px -2px 0 var(--primary),  
		2px -2px 0 var(--primary),
		-2px 2px 0 var(--primary),
		 2px 2px 0 var(--primary),
		 3px 3px 7px #000;
}
header p span {
	font-family: var(--font-serif);
	font-style: italic;
	font-size: 138%;
	display: block;
}
header p strong {
	font-weight: 800;
	font-size: 130%;
}

/* ==========================================================================
 MAIN CONTENT
 ========================================================================== */
.main {
	padding: 0;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-around;
}
.main li {
	margin: 0 0 10px 0;
}
.left {
	border-right: 1px solid var(--primary);
	text-align: right;
	padding-right: 2%;
	font-size: 220%;
	font-family: var(--font-serif);
	color: var(--dk-blue);
}
.right {
	padding-left: 2%;
	font-size: 220%;
	color: var(--dk-blue);
	font-family: var(--font-body);
}
.right a {
	display: block;
	color: var(--red);
	font: normal 180%/1em var(--font-serif);
	text-decoration: none;
	margin-top: 15px;
}
.right a:hover {
	color: var(--dk-blue);
}
.photo-strip {
	margin-top: 30px;
}
.cta {
	border-top: 8px solid var(--primary);
	border-bottom: 8px solid var(--primary);
	background: linear-gradient(90deg, #0d21b0 0%, #010546 100%);
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	color: white;
	width: 100%;
	padding: 22px 2.6% 40px 2.6%;
}
.cta .right {
	text-align: left;
	padding-left: 2%;
	font: normal 2rem/1.3em var(--font-body);
	color: white;
	text-align: center;
}
.cta .left {
	text-align: center;
	padding: 0;
	color: white;
	font-family: var(--font-body);
	border:0 none;
}
.cta .left div {
	display: flex;
	flex-flow: row nowrap;
	justify-content: space-between;
	align-items: center;
	font: normal 3rem/1.7em var(--font-serif);
	text-align: center;
	width: 75%;
	margin: 0 auto 30px auto;
}
.cta p {
	margin-bottom: 10px;
}
.cta a {
	color: white;
	font-weight: bold;
	text-decoration: none;
}
.cta a:hover {
	color: var(--red);
}
.cta hr {
	border: 0 none;
	border-bottom: 2px solid white;
	width: 21%;
}
.cta h3 {
	color: white;
	font-size: 3.2rem;
	text-align: center;
	font-weight: normal;
}
ul {
	margin: 16px 0;
	padding-left: 25px;
}
li {
	margin-bottom: 5px;
}
li::marker {
	color: var(--primary);
}

img {
	width:100%
}

/* ==========================================================================
 FORMS
 ========================================================================== */
form {
	margin: 2rem 0 1rem 0;
}
input, select, textarea {
	font-family: var(--font-body);
}
div.row {
  margin: 15px 0;
  padding: 0;
  display: block;
  width: 100%;
  clear: both;
}

div.row.submit {
  padding-top: 25px;
  margin: 20px 0;
}

input[type=text],
input[type=tel],
input[type=email] {
  width: 100%;
  padding: 6px 5px 5px 10px;
  height: 54px;
  font-size: 100%;
  color: black;
  padding-left: 10px;
  border: 1px solid #999;
  margin: 8px 0;
}
input::placeholder {
	color: rgb(115, 115, 115);
}
a.g-recaptcha {
  padding: 10px;
  background-color: transparent;
  color: white;
  font-family: var(--font-body);
  text-align: center;
  width: auto;
  font-size: 120%;
  line-height: 1.2em;
  border: 1px solid white;
  text-decoration: none;
  cursor: pointer;
  margin: 0 auto;
}
a.g-recaptcha:hover,
a.g-recaptcha:active {
  outline: 0 none;
  background-color: white;
  color: var(--dk-blue);
  cursor: pointer;
}
div.grecaptcha-badge {
  display: none;
}
/* ==========================================================================
 FOOTER
 ========================================================================== */
footer {
	width: 100%;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	padding: 22px 2.6% 40px 2.6%;
	margin-top: 20px;
}
footer div {
	text-align: left;
	color: var(--primary);
	width: 35%;
	font-family: var(--font-serif);
}
footer div.start {
	width: auto;
}
footer img {
	max-width: 250px;
}
footer p {
	font-size: 1.5rem;
}
footer a {
	text-decoration: none;
}
footer .row {
	border: 0 none;
	display: flex;
	flex-wrap: wrap;
}
.row .span_6_of_12 {
	flex: 0 0 50%;
	max-width: 50%;
	border: 0 none;
}

/* ==========================================================================
   MEDIA QUERIES
   ========================================================================== */
@media only screen and (max-width: 2100px) {
	.logo {
		height: 180px;
	}
}
@media only screen and (max-width: 1860px) {
	header section {
		background-size: auto;
	}
}
@media only screen and (max-width: 1650px) {
	.logo {
		height: 170px;
	}
	header p span {
		line-height: 1.2em;
	}
}
@media only screen and (max-width: 1580px) {
	.logo {
		height: 150px;
	}
	h1 {
		font-size: 420%;
	}
}
@media only screen and (max-width: 1550px) {
	header section {
		height: 180px;
	}
	header p {
		font-size: 4.7rem;
	}
}
@media only screen and (max-width: 1450px) {
	input[type=text],
	input[type=tel],
	input[type=email]
	 {
	  height: 50px;
	}
}
@media only screen and (max-width: 1380px) {
	header section {
		background: url(img/bg-logo-header-med.svg) no-repeat;
		background-size: auto;
	}
}
@media only screen and (max-width: 1350px) {
	header section {
		height: 140px;
	}
	input[type=submit].g-recaptcha {
	  font-size: 170%;
	  padding: 5px 0;
	  width: 200px;
	}
	.main {
		font-size: 90%;
	}
}
@media only screen and (max-width: 1255px) {
	div.row {
		margin-bottom: 15px;
	}
}
@media only screen and (max-width: 1220px) {
	footer span,
	footer p {
		font-size: 1.8rem;
	}
	.logo {
		height: 115px;
	}
	.logo a {
		height: 75%;
	}
}

@media only screen and (max-width: 1160px) {
	header section {
		height: 120px;
	}
	.main {
		font-size: 80%;
	}
	.btn-submit input[type="submit"] {
		font-size: 2rem;
	}
}
@media only screen and (max-width: 1105px) {
	.logo a {
		height: 68%;
		margin-top: 5px;
	}
}
@media only screen and (max-width: 1030px) {
	.logo {
		height: 110px;
		margin-top: 0;
	}
	.button {
		width: 100%;
	}
	.cta .left div {
		width: 85%;
	}
	.cta h3 {
		font-size: 2.7rem;
		line-height: 1.3em;
	}
	form.fancy-form label {
	  font-size: 120%;
	}
	form p {
		margin: 15px 0;
		font-size: 90%;
	}
	footer {
		flex-flow: column wrap;
	}
	footer div {
		border-right: 0 none;
		text-align: center;
	}
	footer .start,
	footer .end,
	footer .middle {
		width: 100%;
	}
	footer p {
		margin: 15px 0;
	}
	footer h4 {
		margin-top: 24px;
	}
	.btn-submit input[type="submit"] {
		font-size: 1.5rem;
	}
}
@media only screen and (max-width: 950px) {
	header section {
		background-size: 110%;
		background-position: center, top;
		height: 90px;
	}	
	.logo a {
		margin-top: 0;
	}
	.main {
		font-size: 80%;
	}
}
@media only screen and (max-width: 870px) {
	header section {
		background: url(img/bg-logo-header-sm.svg) no-repeat;
		background-size: cover;
		height: 110px;
	}
	.logo a {
		height: 80%;
	}
	header p {
		font-size: 4rem;
		text-shadow: -1px -1px 0 var(--primary), 
					1px -1px 0 var(--primary), 
					-1px 1px 0 var(--primary), 
					3px 3px 0 var(--primary), 
					3px 3px 7px #000;
	}
	.main .span_6_of_12,
	.cta .span_6_of_12 {
		width: 100%;
	}
	.cta .span_6_of_12.left {
		display: none;
	}
	.left,
	.right,
	.cta .right {
		text-align: center;
		padding: 0;
		border: 0 none;
		margin-bottom: 25px;
	}
	input[type=text], input[type=tel], input[type=email] {
		font-size: 90%;
	}
}
@media only screen and (max-width: 800px) {
	.logo a {
		height: 72%;
	}
}
@media only screen and (max-width: 780px) {
	form.fancy-form label {
		font-size: 140%;
	  }
	div.row.submit {
		  text-align: center;
	}
	input[type=submit].g-recaptcha {
		   width: 90%;
		   padding: 10px 0;
	}
}
@media only screen and (max-width: 730px) {
	header section {
		height: 90px;
	}
	.logo a {
		height: 65%;
	}
	header p {
		font-size: 3.5rem;
	}
	.main {
		font-size: 70%;
	}
}
@media only screen and (max-width: 675px) {
	header section {
		background-position: center;
		background-size: 130%
	}
	footer img {
		max-width: 200px;
	}
	footer span, footer p {
		font-size: 1.4rem;
	}
}
@media only screen and (max-width: 600px) {
	header {
		padding-bottom: 80px;
	}
	header section {
		height: 90px;
	}
	.logo a {
		height: 60%;
	}
	header p {
		font-size: 2.5rem;
	}
	input[type=text], input[type=tel], input[type=email] {
		font-size: 80%;
	}
	button.g-recaptcha {
		font-size: 100%;
	}
}
@media only screen and (max-width: 500px) {
    .span_1_of_12, .span_2_of_12, .span_3_of_12, .span_4_of_12, .span_5_of_12, .span_6_of_12, .span_7_of_12, .span_8_of_12, .span_9_of_12, .span_10_of_12, .span_11_of_12, .span_12_of_12 {
		width: 100%;
	}
	header section {
		height: 85px;
	}
	.logo a {
		height: 50%;
	}
	.main {
		font-size: 65%;
	}
}
@media only screen and (max-width: 415px) {
	header section {
		height: 80px;
	}
	header {
		padding-bottom: 20px;
		border-bottom: 20px solid var(--primary);
	}
}
@media only screen and (max-width: 400px) {
	header section {
		background-size: 150%;
		height: 82px;
	}
	header p {
		padding: 0 10px;
		font-size: 2.25rem;
	}
	h1 {
		font-size: 400%;
		padding: 0 10px;
	}
	.cta .right {
		padding: 0 2%;
	}
	footer p,
	.left,
	.right {
		padding: 0 10px;
	}
}
@media only screen and (max-width: 365px) {
	header section {
		background-size: 170%;
	}
}
@media only screen and (max-width: 325px) {
	header section {
		height: 78px;
	}
	.logo {
		top: 4px;
	}
	header p {
		font-size: 1.8rem;
	}
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
.ir {
    background-color: transparent;
    border: 0;
    overflow: hidden;
    *text-indent: -9999px;
}
.ir:before {
    content: "";
    display: block;
    width: 0;
    height: 150%;
}
.hidden {
    display: none !important;
    visibility: hidden;
}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}
.invisible {
    visibility: hidden;
}
.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}
.clearfix:after {
    clear: both;
}
.clearfix {
    *zoom: 1;
}
.note {
	font-size: 80%;
	font-style: italic;
	margin-top: 30px;
}
/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    * {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    .ir a:after,
    a[href^="javascript:"]:after,
    a[href^="#"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    @page {
        margin: 0.5cm;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
