@import url('https://fonts.googleapis.com/css?family=Barlow:100,100i,200,200i,300,300i,400,400i,500,500i,600,600i|Montserrat:400,400i,500,500i,600,600i,700,700i');

@-ms-viewport {
	width: device-width;
}

@media screen and (max-width: 480px) {
	html, body {
		min-width: 320px;
	}
}

*, *:before, *:after {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

body {
    overflow: visible !important;
    padding: 0 !important;
    background: #f1f3f5;
    -ms-overflow-style: scrollbar;
}

footer {
    padding: 40px 0 !important;
    border-top: 1px solid rgba(255,255,255,0.06) !important;
}

footer a {
    text-align: center;
    display: block;
    color: rgba(255,255,255,0.6);
    font-size: 0.8rem;
}

footer hr {
    opacity: 0.2;
}

footer .copy {
    text-align: left;
}

footer .byline {
    text-align: right;
}

.hero-links {
    padding: 40px 0 !important;
}

.hero-links a {
    text-align: center;
    display: block;
    padding: 10px;
    color: #FFF;
    font-size: 1rem;
    font-weight: 800;
    border: 0 !important;
    background: #48aa48;
    
    margin-bottom: 5px;
}

.hero-links a:hover,
.hero-links a:focus {
    border: 0 !important;
    background: #59c359;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}

body {
	line-height: 1;
    color: #495057;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

body, input, select, textarea {
	font-family: 'Montserrat', sans-serif;
	font-size: 14pt;
	font-weight: 400;
	line-height: 1.75;
}

@media screen and (max-width: 1680px) {

	body, input, select, textarea {
		font-size: 12pt;
	}

}

@media screen and (max-width: 1280px) {

	body, input, select, textarea {
		font-size: 12pt;
	}

}

@media screen and (max-width: 980px) {

	body, input, select, textarea {
		font-size: 12pt;
	}

}

@media screen and (max-width: 736px) {

	body, input, select, textarea {
		font-size: 10pt;
	}

}

@media screen and (max-width: 480px) {

	body, input, select, textarea {
		font-size: 9.5pt;
	}
}

a {
	-moz-transition: color 0.2s ease, border-bottom-color 0.2s ease;
	-webkit-transition: color 0.2s ease, border-bottom-color 0.2s ease;
	-ms-transition: color 0.2s ease, border-bottom-color 0.2s ease;
	transition: color 0.2s ease, border-bottom-color 0.2s ease;
	border-bottom: solid 2px rgba(255,255,255,0);
	color: inherit;
	text-decoration: none;
    color: #48aa48;
}

a:before {
	-moz-transition: color 0.2s ease;
	-webkit-transition: color 0.2s ease;
	-ms-transition: color 0.2s ease;
	transition: color 0.2s ease;
}

a:hover {
	border-bottom: solid 2px #48aa48;
}

strong, b {
	color: #3c3b3b;
	font-weight: 700;
}

em, i {
	font-style: italic;
}

cite {
    font-size: 0.8em;
    font-weight: 800;
}

p {
	margin: 0 0 2em 0;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Barlow', sans-serif;
	line-height: 1.2;
    color: #343A40;
}

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
	color: inherit;
	border-bottom: 0;
}

h1 {
	font-size: 4.5em;
	font-weight: 400;
}

h2 {
	font-size: 4em;
	font-weight: 400;
}

h3 {
	font-size: 2.5em;
	font-weight: 400;
}

h4 {
	font-size: 2.3em;
	font-weight: 800;
}

h5 {
	font-size: 2em;
	font-weight: 800;
}

h6 {
	font-size: 1em;
	font-weight: 800;
}

hr {
	border: 0;
	border-bottom: solid 1px rgba(160, 160, 160, 0.3);
	margin: 2em 0;
}

/* List */

ol {
	list-style: decimal;
	margin: 0 0 2em 0;
	padding-left: 1.25em;
}

ol li {
	padding-left: 0.25em;
}

ul {
	list-style: disc;
	margin: 0 0 2em 0;
	padding-left: 1em;
}

ul li {
	padding-left: 0.5em;
}


.container {
    width: 100%;
    padding: 0 10%;
}

@media (min-width: 1200px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 992px) {
    .container {
        max-width: 100%;
    }
}
@media (min-width: 768px) {
    .container {
        max-width: 100%;
    }
}
@media (max-width: 576px) {
    .container { 
        max-width: 100%;
    }
}
@media (min-width: 576px) {
    .container {
        max-width: 100%;
    }
}

section.internal-content {
    padding: 90px 0;
    color: #06203a;
}

.oxford-1 {
    background: #001b35;
}

.oxford-2 {
    background: #06203a;
}

.oxford-3 {
    background: #efefef;
}

.oxford-4 {
    background: #F7F9fA;
}

.oxford-5 {
    background: #fdfdfd;
}

.oxford-1-text {
    color: #001b35;
}

.oxford-2-text {
    color: #06203a;
}

.oxford-3-text {
    color: #efefef;
}

.oxford-4-text {
    color: #fdfdfd;
}

.oxford-1-border {
    border-color: #001b35;
}

.oxford-2-border {
    border-color: #06203a;
}

.oxford-3-border {
    border-color: #efefef;
}

.oxford-4-border {
    border-color: #fdfdfd;
}

.white {
    background: #FFF;
}

.white-text {
    color: #FFF;
}

.white-border {
    border-color: #FFF;  
}

.lime {
    background: #bad741;
}

.ocean {
    background: #2a9579;
}

.cloud {
    background: #f8f7f7;
}

.forest {
    background: #253b2f;
}

.lime-text {
    color: #bad741;
}

.ocean-text {
    color: #2a9579;
}

.cloud-text {
    color: #f8f7f7;
}

.forest-text {
    color: #253b2f;
}


.pd0 {
    padding: 0;
}

.pb0 {
    padding-bottom: 0 !important;
}

.mb0 {
    margin: 0 !important;
}

.mt0 {
    margin-top: 0 !important;
}

.mt30 {
    margin-top: 30px !important;
}

.mt50 {
    margin-top: 50px !important;
}

.pb30 {
    padding-bottom: 30px;
}

.mb50 {
    padding-bottom: 50px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.dimmed {
    opacity: 0.6;
}

.blur {
    filter: blur(5px);
    opacity: 0.3;
}

.thick {
    font-weight: 800;
}

a.borderless {
    border-bottom: 0;
}

.flex-collection {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
}

.flex-center {
    align-items: center;
    display: flex;
}

.flex-border {
    border-bottom: 1px solid #d3d6d8;
    border-radius: 0;
    margin-bottom: 30px;
}

@media (min-width: 1300px) {
    .flex-3 {
        width: 32%;
    }
    
    .flex-2 {
        width: 48%;
    }
    
    .flex-4 {
        width: 23%;
    }
    
    .flex-5 {
        width: 18%;
    }
    
    .flex-6 {
        width: 11%;
    }
}

@media (min-width: 992px) and (max-width: 1300px) {
    .flex-3 {
        width: 48%;
    }
    
    .flex-2 {
        width: 48%;
    }
    
    .flex-4 {
        width: 23%;
    }
    
    .flex-5 {
        width: 48%;
    }
    
    .flex-6 {
        width: 11%;
    }
}

@media (max-width: 992px) {
    .flex-3 {
        width: 100%;
    }
    
    .flex-2 {
        width: 100%;
    }
    
    .flex-4 {
        width: 100%;
    }
    
    .flex-5 {
        width: 100%;
    }
    
    .flex-6 {
        width: 32%;
    }
}

.label {
    background: #48aa48;
    color: #FFF;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 2px;
    padding: 5px 15px;
    display: inline-block;
    text-transform: uppercase;
}

.banner-image {
    height: 15vh;
    min-height: 460px;
    overflow: hidden;
    position: relative;
    
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: right center;
    
    position: relative;
}

.banner-image .banner-content {
    position: absolute;
    top: 60%;
    transform: translateY(-40%);
    left: 10%;
    right: 10%;
}

.banner-image .banner-content h1 {
    color: #FFF;
    margin-bottom: 30px;
}

.hero-image {
    height: 85vh;
    min-height: 660px;
    overflow: hidden;
    position: relative;
    
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: right center;
    
    position: relative;
}

.shield:before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    content: '';
    
    background: rgba(0, 27, 53, 0.65);
    transition: 0.9s cubic-bezier(0.18, 1, 0.21, 1);
}

.box:hover:before {
    background: rgba(0, 27, 53, 0.85);
    transition: 0.9s cubic-bezier(0.18, 1, 0.21, 1);
}

.hero-image .hero-content {
    position: absolute;
    top: 57%;
    transform: translateY(-53%);
    left: 10%;
    right: 10%;
}

.hero-image .hero-content h1 {
    color: #FFF;
    margin-bottom: 30px;
}

.contact-card {
    margin-bottom: 30px;
}

.contact-card p {
    margin: 0;
    font-size: 0.8rem;
    color: #efefef;
}

.contact-card h6 {
    color: #FFF;
    margin-bottom: 10px;
}

.quicklinks {
    background: rgba(239,239,239,0.09);
    padding: 40px 40px;
    position: relative;
    border: 0;
    margin-bottom: 10px;
}

.quicklinks-content {
    text-align: center !important;
    font-size: 1rem;
    line-height: 1 !important;
    position: absolute;
    color: #FFF;
    
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    right: 10px;
    
}

.quicklinks:hover, 
.quicklinks:focus {
    border: 0;
    background: rgba(239,239,239,0.2);
}

.box {
	padding: 1.5em;
    height: 300px;
    margin-bottom: 30px;
    position: relative;
    
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.box > :last-child,
.box > :last-child > :last-child,
.box > :last-child > :last-child > :last-child {
	margin-bottom: 0;
}

.box.alt {
	border: 0;
	border-radius: 0;
	padding: 0;
}

.box-title {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    right: 0;
    text-align: center;
    color: #FFF;
    font-weight: 100;
    font-family: 'Barlow', sans-serif;
    
    font-size: 1.8em;
    line-height: 1.2;
    padding: 30px;
}

button {
	border: 0 !important;
	margin: 1em 0;
    font-family: 'Barlow', sans-serif;
}

button .button-center {
    margin: 0 auto;
    display: inline-block;
}

button a {
	display: block;
	text-decoration: none;
	border: 0;
}


input[type="submit"],
input[type="reset"],
input[type="button"],
button,
.button {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
    border: 0;

	color: #e9ecef !important;
	cursor: pointer;
	display: inline-block;
	font-size: 0.8em;
	font-weight: 400;
	line-height: 1;
	padding: 1.5em 3.5em;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;

	background: rgba(72, 170, 72, 0.69);
}

input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
button:hover,
.button:hover {
	opacity: 0.8;
    border: 0;
}

	input[type="submit"]:hover:active,
	input[type="reset"]:hover:active,
	input[type="button"]:hover:active,
	button:hover:active,
	.button:hover:active {
	}

input[type="submit"]:before, input[type="submit"]:after,
input[type="reset"]:before,
input[type="reset"]:after,
input[type="button"]:before,
input[type="button"]:after
button:before,
button:after,
.button:before,
.button:after {
	color: #aaaaaa;
	position: relative;
    border: 0;
}

input[type="submit"]:before,
input[type="reset"]:before,
input[type="button"]:before,
button:before,
.button:before {
	left: -1em;
	padding: 0 0 0 0.75em;
}

input[type="submit"]:after,
input[type="reset"]:after,
input[type="button"]:after,
button:after,
.button:after {
	left: 1em;
	padding: 0 0.75em 0 0;
}

input[type="submit"].fit,
input[type="reset"].fit,
input[type="button"].fit,
button.fit,
.button.fit {
	display: block;
	margin: 0 0 1em 0;
	width: 100%;
}

input[type="submit"].big,
input[type="reset"].big,
input[type="button"].big,
button.big,
.button.big {
	font-size: 0.7em;
	padding: 1.5em 3em;
}

input[type="submit"].small,
input[type="reset"].small,
input[type="button"].small,
button.small,
.button.small {
	font-size: 0.5em;
}

input[type="submit"].disabled, input[type="submit"]:disabled,
input[type="reset"].disabled,
input[type="reset"]:disabled,
input[type="button"].disabled,
input[type="button"]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
	-moz-pointer-events: none;
	-webkit-pointer-events: none;
	-ms-pointer-events: none;
	pointer-events: none;
	color: rgba(160, 160, 160, 0.3) !important;
}

input[type="submit"].disabled:before, input[type="submit"]:disabled:before,
input[type="reset"].disabled:before,
input[type="reset"]:disabled:before,
input[type="button"].disabled:before,
input[type="button"]:disabled:before,
button.disabled:before,
button:disabled:before,
.button.disabled:before,
.button:disabled:before {
	color: rgba(160, 160, 160, 0.3) !important;
}

.copy,
.byline {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.4);
}

.reveal {
    opacity: 0;
    transform: translate3d(0, 100px, 0);
    transition: opacity 0.8s, transform 0.8s;
}

.reveal_visible {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.fade-in {
    animation: fadein 2s;
    -moz-animation: fadein 2s; /* Firefox */
    -webkit-animation: fadein 2s; /* Safari and Chrome */
    -o-animation: fadein 2s; /* Opera */
}
@keyframes fadein {
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-moz-keyframes fadein { /* Firefox */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-webkit-keyframes fadein { /* Safari and Chrome */
    from {
        opacity:0;
    }
    to {
        opacity:1;
    }
}
@-o-keyframes fadein { /* Opera */
    from {
        opacity:0;
    }
    to {
        opacity: 1;
    }
}

@media screen and (max-width: 1000px) { 
    nav.primary-nav {
        display: inline-block;
    }
    
    #header h1 img {
        max-height: 50px !important;
    }
    
    nav.secondary-nav {
        display: none;
    }
    
    #menu {
        display: inline-block;
    }
}

@media screen and (min-width: 999px) { 
    nav.primary-nav {
        display: none;
    }
    
    nav.secondary-nav {
        display: inline-block;
    }
    
    #menu {
        display: none;
    }
}

@media screen and (max-width: 600px) { 
    #header h1 img {
        max-height: 40px !important;
    }
    
    #header h1 {
        padding: 27px 0;
    }
    
    nav.primary-nav ul li a {
        padding: 29px 10px;
    }
}

/* -------------------------------------------- Alternate (scroll) --- */

.logo-dark {
    display: none;
}

.logo-light {

}

.alternate-header {
    background-color: #ffffff;
	position: fixed !important;
}

.alternate-header a {
    color: #495057 !important;
}

.alternate-header h1 {
    padding: 27px 0;
}

.alternate-header h1 img {
    max-height: 30px;
}

.alternate-header ul.desktop-menu li a {
    padding: 35px 0;
    color: #495057;
    font-size: 0.8em;
}

.alternate-header nav.primary-nav ul li a {
    color: #495057;
}

.alternate-header nav.primary-nav ul li a {
    padding: 30px 10px;
}

/* -------------------------------------------- Universal --- */

#header {
	position: absolute;
	width: 100%;
	z-index: 10000;
}

#header a {
	color: inherit;
	text-decoration: none;
    display: block;
    color: #FFF;
}

#header ul {
	list-style: none;
	margin: 0;
	padding-left: 0;
}

#header ul li {
	display: inline-block;
	padding-left: 0;
}

#header .links {
	-moz-flex: 1;
	-webkit-flex: 1;
	-ms-flex: 1;
	flex: 1;
	height: inherit;
	line-height: inherit;
	margin-left: 1.5em;
	overflow: hidden;
	padding-left: 1.5em;
}

#header .links ul li {
	border-left: solid 1px rgba(160, 160, 160, 0.3);
	line-height: 1;
	margin-left: 1em;
	padding-left: 1em;
}

#header .links ul li a {
	border-bottom: 0;
	font-family: 'Barow', sans-serif;
	font-size: 0.7em;
	font-weight: 400;
	letter-spacing: 0.25em;
	text-transform: uppercase;
}

/* -------------------------------------------- Desktop Menu --- */

nav.secondary-nav {
    padding: 0;
    overflow: hidden;
    float: right;
    width: 75%;
    text-align: right;
}

ul.desktop-menu {
    
}

ul.desktop-menu li {
    display: inline-block;
    width: 13%;
    text-align: center;
    position: relative;
    transition: 0.9s cubic-bezier(0.18, 1, 0.21, 1);
    overflow: hidden;
    margin-bottom: -10px;
}

/* Home Icon */

ul.desktop-menu li a {
    border-bottom: 0;
    line-height: 12px;
    color: #FFF;
    font-weight: 300;
    font-size: 0.9em;
    
    display: block;
    padding: 80px 0px;
    transition: 0.9s cubic-bezier(0.18, 1, 0.21, 1);
    z-index: 1;
    position: relative;
    font-family: 'Barlow', sans-serif;
}

ul.desktop-menu li:hover:before,
ul.desktop-menu li:focus:before,
ul.desktop-menu li:active:before,
ul.desktop-menu li:visited:before,
ul.desktop-menu li.selected:before {
    content: '';
    bottom: 10px;
    position: absolute;
    left: 5px;
    right: 5px;
    top: 10px;
    
    background: rgba(72, 170, 72, 0.44);
    color: rgba(255,255,255,0.8);
    transition: 0.9s cubic-bezier(0.18, 1, 0.21, 1);
}

ul.desktop-menu li:active,
ul.desktop-menu li:focus {
    outline: none;
    
    transition: 0.9s cubic-bezier(0.18, 1, 0.21, 1);
}


/* -------------------------------------------- Mobile Menu --- */

#menu::-webkit-scrollbar {
    width: 0.6em;
}
 
#menu::-webkit-scrollbar-track {
    background: transparent;
}
 
#menu::-webkit-scrollbar-thumb {
    background-color: rgba(241, 243, 245, 0.1) !important;
    border-radius: 50px;
    outline: 1px solid slategrey;
}

#menu {
	-moz-transform: translateX(25em);
	-webkit-transform: translateX(25em);
	-ms-transform: translateX(25em);
	transform: translateX(25em);
	-moz-transition: -moz-transform 0.5s ease, visibility 0.5s;
	-webkit-transition: -webkit-transform 0.5s ease, visibility 0.5s;
	-ms-transition: -ms-transform 0.5s ease, visibility 0.5s;
	transition: transform 0.5s ease, visibility 0.5s;
	-webkit-overflow-scrolling: touch;

	box-shadow: none;
	height: 100%;
	max-width: 80%;
	overflow-y: auto;
	position: fixed;
	right: 0;
	top: 0;
	visibility: hidden;
	width: 25em;
	z-index: 10002;
    
    background: rgba(0, 27, 53, 0.92);
}

#menu > * {
	border-top: solid 1px #495057;
	padding: 3em;
}

#menu > * > :last-child {
	margin-bottom: 0;
}

#menu > :first-child {
	border-top: 0;
}

#menu .links {
	list-style: none;
	padding: 0;
}

#menu .links > li {
	border: 0;
	margin: 0;
	padding: 0;
}

#menu .links > li a {
	display: block;
	border-bottom: 0;
}

#menu .links > li a h3 {
	-moz-transition: color 0.2s ease;
	-webkit-transition: color 0.2s ease;
	-ms-transition: color 0.2s ease;
	transition: color 0.2s ease;
	font-size: 1em;
	font-weight: 500;
	color: #F7F9fA;
    
    padding: 15px 20px;
}

#menu .links > li a:hover h3 {
	background: #06203a;
    -moz-transition: color 0.2s ease;
	-webkit-transition: color 0.2s ease;
	-ms-transition: color 0.2s ease;
}

#menu .links > li a p {
	font-size: 0.6em;
	font-weight: 400;
	letter-spacing: 0.25em;
	margin-bottom: 0;
	text-decoration: none;
	text-transform: uppercase;
}

#menu .links > li:first-child {
	border-top: 0;
	margin-top: 0;
	padding-top: 0;
}

body.is-menu-visible #menu {
	-moz-transform: translateX(0);
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	visibility: visible;
}

body.is-menu-invisible #menu {
	-moz-transform: translateX(0);
	-webkit-transform: translateX(0);
	-ms-transform: translateX(0);
	transform: translateX(0);
	visibility: hidden;
}

@media screen and (max-width: 736px) {

	#menu > * {
		padding: 1.5em;
	}
}

/* -------------------------------------------- Hamburger Icon --- */

nav.primary-nav {
    overflow: hidden;
    width: 75%;
}

nav.primary-nav ul {
    margin: 0;
    float: right;
}

nav.primary-nav ul li {
    margin: 0;
    display: inline-block;
}

nav.primary-nav ul li a {
    text-decoration: none;
    padding: 67px 10px;
    border: 0;
    
    display: block;
    position: relative;
    color: #FFF;
}

@media screen and (max-width: 601px) {
    nav.primary-nav ul li a {
        padding: 30px 10px;
    }
}

@media screen and (max-width: 436px) {
    nav.primary-nav ul li a {
        padding: 30px 10px;
    }
}

/* -------------------------------------------- Logo --- */

#header h1 a {
	font-size: 0.7em;
}

#header h1 a:hover {
    border-bottom: 0;
}

header h1 {
    font-size: 1em;
    line-height: 1;
    padding: 65px 0;
    display: inline-block;
    float: left;
    width: 25%;
    
    position: relative;    
}

header h1 img{
    max-height: 60px;
    height: 100%;
}

/*
@media screen and (max-width: 736px) {
    header h1 {
        font-size: 1em;
        min-height: 20px;
    }
}

@media screen and (max-width: 436px) {
    header h1 {
        font-size: 1em;
        min-height: 20px;
        padding: 20px 0;
    }
}
*/
