
/* ==========================================================================
   Fonts
   ========================================================================== */

@import url('https://fonts.googleapis.com/css?family=Muli:400,700|Rubik:400,700&display=swap');


/* ==========================================================================
   Base styles
   ========================================================================== */
     
body {
  	position: relative;
  	/*background-color: #f7f9fa;*/
  	background-color: #3f4042;
	background-image: url("libs/images/bright-squares.png");
  	color: #414042;
  	font-size: 18px;
  	line-height: 28px;
  	font-family: 'Muli', sans-serif;
  	font-weight: 400;
}

html,
body {
  height: 100%;
}

a {
	color: #004e6e;
}

a:hover {
	color: #01384f;
}

a:focus, area:focus, button:focus, input:focus, object:focus, select:focus, textarea:focus, [tabindex]:focus, .carousel > figure:focus:before {
  /*outline-color: #4d90fe;
  outline-style: solid;
  outline-width: 2px;
  outline-offset: -1px;*/
  outline: none;
}

h1, h2, h3, h4 {
	font-family: 'Rubik', sans-serif;
	font-weight: 700;
	color: #01384f;
}

h1 {
	font-size: 2.5em; /* 40px */
	line-height: 1.167em; /* 70px */
}

h2 {
    font-size: 1.750em; /* 28px */
    line-height: 1.313em; /* 42px */
}

h3 {
    font-size: 1.375em; /* 22px */
}

h4 {
	margin-bottom: 0;
	font-size: 1.125em; /* 18px */
}

figure {
	margin: 0;
}

.visible-small-tablet {
	display: none !important;
}

.container {
	position: relative;
	max-width: 992px;
}

.shadow {
	box-shadow: 10px 10px 10px 0 rgba(0,0,0,.03);
}

@media screen and (max-width: 599px) {
	.hidden-small-tablet {
    	display: none !important;
	}

	.visible-small-tablet {
    	display: block !important;
    }
}

.main-header,
.main-content,
.main-footer {
	display: block;
	width: 100%;
	position: relative;
}

.main-header .content-block,
.main-content .content-block {
	background-color: white;
}

.content-block {
	padding: 1.5em 2em;
}

   
/* ==========================================================================
   Header
   ========================================================================== */

.main-header .content-block {
	padding: 1em 2em;
}

.main-header .logo {
	display: block;
	margin-top: 0.5rem;
	font-family: 'Rubik', sans-serif;
	font-weight: 700;
	font-size: 3rem; 
	line-height: 1;
	text-decoration: none;
	text-transform: uppercase;
	color: #01384f;
}

.main-header .logo span {
	font-weight: 400;
}


/* Main Nav */

nav {
	position: relative;
}

nav ul {
	display: block;
	margin: .5em auto;
	padding: 0;
}

nav li {
	display: inline-block;
	position: relative;
	list-style: none;
	margin: 0;
}

nav li + li {
	margin-left: 1.5em;
}

nav a {
	display: block;
    margin: 0;
    padding: .5em 0;
	text-decoration: none;
}

nav .current {
	color: #4C293B;
	border-bottom: 2px solid #4C293B;
}


/* ==========================================================================
   Main Content
   ========================================================================== */

/* Base */

ul.row {
	margin: 0;
	padding: 0;
}

.main-content {
	position: relative;
	max-width: 992px;
	margin: 0 auto;
	background-color: white;
}

.img-block {
	width: 100%;
	margin: 1rem 0;
	overflow: hidden;
}

.img-fit {
	object-fit: cover;
	object-position: center;
	width: 100%;
	height: 100%;
	display: block;
	max-width: none;
}

/* Masthead */

.masthead {
	height: 220px;
	overflow: hidden;
}

@media screen and (min-width: 768px) {
	.masthead {
		height: 400px;
	}
}


/* Billboard */

.billboard__image {
	height: 220px;
	overflow: hidden;
}

.billboard__content {
	padding: 1.25rem;
}

@media screen and (min-width: 768px) {
	.billboard {
		display: flex;
		min-height: 400px;
	}

	.billboard__image {
		order: 2;
		height: auto;
		width: 50%
	}

	.billboard__content {
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 2.5rem;
		width: 50%;
	}
}


/* Site styling */

.section-header {
	margin-top: 0;
}

.image-block img {
	width: 100%;
}

.pad-outer {
	padding-left: 2em;
	padding-right: 2em;
}

.icon {
	position: relative;
	display: inline-block;
	width: 60px;
	height: 60px;
	background-color: white;
	background-position: center;
    background-repeat: no-repeat;
}

.icon:hover {
	background-color: #61455D;
}

.facebook {
	background-image: url("libs/images/facebook-icon.png");
	/*background-color: #4b6dad;*/
}

.linkedin {
	background-image: url("libs/images/linkedin-icon.png");
	/*background-color: #0097bd;*/
}

.question {
	padding: 1em 0;
	border-top: 1px solid #eee;
}

.question:first-child {
	padding-top: 0;
	border-top: none;
}

.image-panel {
	margin: 1em 0;
}

/* Feature Banner */

.feature-banner {
    position: relative;
    background-image: url("libs/images/backgrounds/pexels-photo-207712.jpg");
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}

.feature-banner .content-block {
	margin: 1.5em;
	padding: 1.5em 2.5em;
	background-color: white;
}

.feature-banner h1 {
	margin: 0;
	font-size: 2em; /* 32px */
	line-height: 1.25em;
}

.feature-banner p {
    word-wrap: break-word;
}

/* Highlight panel */

.highlight-panel {
	padding: 2em;
	background-color: #01384f;
	color: white;
	text-align: center;
}

.highlight-panel h2 {
	margin: 0;
	font-size: 1.5em;
	font-weight: 400;
	color: white;
}

.highlight-panel p {
	margin: 1em 0 0;
	font-size: 2em;
	font-weight: 400;
	color: white;
}

/* Signposts */

.signposts {
	padding: 3em 0;
	text-align: center;
}

.signpost-box {
	padding: 0 0.5em;
}

/* Callout Banner */

.callout {
	padding: 2em 4em;
	background-color: #01384f;
	text-align: center;
}

.callout h2 {
	margin: 0;
	color: white;
}

.callout p {
	margin: 30px 0;
    padding: 0;
    position: relative;
    font-size: 2em;
    letter-spacing: -0.025em;
    color: white;
}

.callout p:last-of-type {
	margin-bottom: 0;
}

.callout a,
.callout span  {
	color: #00b4ff;
}

/* Side Panel */

.side-panel {
	margin: 1em 0;
	padding: 2em;
	background-color: #eeeeee;
}

.side-panel h3 {
	margin-top: 0;
}

.side-panel p {
	margin-bottom: 0;
}

/* Page title */

.page-title {
	padding: 0.5em 0;
	border-bottom: 1px solid #eee;
	background-color: white;
	text-align: center;
}

.page-title h1 {
	margin: 0;
	padding: 1em 1.5rem 0;
	border-top: 1px solid #eee;
}

.page-title p {
	font-size: 1.5em;
}

/* Services */

.service-list {
	padding-left: 1em;
}

.service-list li {
	margin: .5em 0;
	list-style-type: disc;
}


/* ==========================================================================
   Footer
   ========================================================================== */

.main-footer {
	max-width: 992px;
	margin: 0 auto;
	padding: 2em 1rem;
	color: #000;
	background-color: white;
}

.main-footer a {
	color: #004e6e;
	text-decoration: none;
}

.main-footer a:hover {
	text-decoration: underline;
}

.main-footer p {
	margin: 0;
}

.main-footer .utility-nav {
	padding: 0;
}

.footer-nav {
	margin: 0 0 1em;
	padding: 0;
}

.footer-nav li {
	padding-left: 0;
	list-style: none;
	display: inline-block;
}

.footer-nav li + li:before {
	margin: 1px 15px 1px 15px;
    color: #01384f;
    content: "/";
    display: inline-block;
	font-size: 100%;
}

.main-footer .copyright a {
	text-decoration: underline;
}


/* ==========================================================================
   Buttons
   ========================================================================== */
   
 a[role="button"] {
 	display: inline-block;
 	border: 1px solid #e08524;
 	margin: 1em 0;
 	padding: .5em 1.25em;
 	text-decoration: none;
 }

.btn {
	margin: 1rem 0;
	padding: 0.5rem 1.25rem;
	border: 2px solid #01384f;
	font-family: 'Rubik', sans-serif;
	font-weight: 400;
	color: #01384f;
	text-decoration: none;
}

.billboard .btn {
	margin-right: auto;
}