@charset "UTF-8";
@import url("https://use.typekit.net/yin0jzi.css");

/* -------- */
/* Defaults */
/* -------- */

*, *:after, *:before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }
body, html { font-size: 100%; padding: 0; margin: 0; }

.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

body {
	background: #FFF;
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
}
img {width:100%;}
.clear {clear:both;}

a:link {
    color: inherit;
	text-decoration:none;
}
a:visited {
    color: inherit;
	text-decoration:none;
}
a:hover {
    color: inherit;
	text-decoration:none;
}

/* ----- */
/* Fonts */
/* ----- */

.regular {
    font-family: "museo-sans", sans-serif;
    font-weight: 500;
    font-style: normal;
}
.bold {
    font-family: "museo-sans", sans-serif;
    font-weight: 900;
    font-style: normal;
}

/* ------- */
/* Italics */
/* ------- */

.regular.italic,
.bold.italic {
    font-style: italic;
}

/* ----------- */
/* Text Styles */
/* ----------- */

.uppercase {
	text-transform: uppercase;
}
.lowercase {
	text-transform: lowercase;
}
.centered {
    text-align: center;
}
.left-align {
    text-align: left;
}
.underline {
    text-decoration: underline;
}

/* ------- */
/* Colours */
/* ------- */

.white {
	color: #FFF;
}
.black {
    color: #000000;
}
.red {
    color: #e32b36;
}
.burg {
    color: #8b1812;
}
.teal {
    color: #81b3b1;
}
.navy {
    color: #052b3d;
}

/* ----------- */
/* Backgrounds */
/* ----------- */

.white-bg {
	background: #FFF;
	position: relative;
}
.grey-bg {
	background: #F4F4F4;
	position: relative;
}
.red-bg {
    background: #e32b36;
    position: relative;
}
.blue-bg {
    background: #0046AD;
    position: relative;
}
.green-bg {
    background: #11574e;
    position: relative;
}

/* ------ */
/* Images */
/* ------ */

#home-bg {
    background: url('../gfx/photos/banner.jpg') no-repeat;
    background-position: center;
    background-size: cover;
}

/* -------- */
/* graphics */
/* -------- */

.graphic-container {
    position: relative;
}
.graphic-container.overflow {
    overflow: hidden;
}
#footer-skyline {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 600px;
    height: 104px;
    background: url('../gfx/photos/footer-skyline.png') no-repeat;
    background-size: contain;
}

/* ----------- */
/* Text Styles */
/* ----------- */

h1 {
	font-size: 4em;
	line-height: 1.2em;
	padding: 0px 0px 20px 0px;
    margin: 0;
}
h2 {
	font-size: 2.55em;
	line-height: 1.2em;
	padding: 0px 0px 20px 0px;
    margin: 0;
}
h3 {
	font-size: 1.8em;
	line-height: 1.6em;
	padding: 0px 0px 20px 0px;
    margin: 0;
}
p {
	font-size: 1.1em;
	line-height: 1.5em;
	padding: 0px 0px 20px 0px;
	margin: 0;
}
p.small {
	font-size: 0.9em;
}
p a:link,
p a:visited,
.list li a:link,
.list li a:visited {
    color: inherit;
    text-decoration: underline;
}
p a:hover,
p a:focus,
.list li a:hover,
.list li a:focus {
    opacity: 0.8;
    transition: 0.2s all;
}

/* ---- */
/* Flex */
/* ---- */

.flex-container {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}
.flex-container.flex-single,
.flex-container.flex-single-space,
.flex-container.flex-double,
.flex-container.flex-double-space,
.flex-container.flex-tripple,
.flex-container.flex-tripple-space,
.flex-container.flex-quad,
.flex-container.flex-quad-space,
.flex-container.flex-footer,
.flex-container.flex-nav {
    justify-content: space-around;
}
.flex-single .flex-item {
    width: 100%;
}
.flex-single-space .flex-item {
    width: calc(100% - 50px);
    margin: 25px;
}
.flex-double .flex-item {
    width: 50%;
}
.flex-double-space .flex-item {
    width: calc(50% - 50px);
    margin: 25px;
}
.flex-tripple .flex-item {
    width: 33.3%;
}
.flex-tripple-space .flex-item {
    width: calc(33.3% - 50px);
    margin: 25px;
}
.flex-quad .flex-item {
    width: 25%;
}
.flex-quad-space .flex-item {
    width: calc(25% - 50px);
    margin: 25px;
}
.flex-quad-space .flex-item.flex-item-large {
    width: calc(50% - 50px);
    margin: 25px;
}
.flex-footer .flex-item {
    width: calc(25% - 50px);
    margin: 25px;
}
.flex-item.flex-photo {
    position: relative;
    overflow: hidden;
    border-radius: 15px;
    /* Shadow */
    -webkit-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
	-moz-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
	box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
}
.flex-item.flex-photo img {
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.flex-item.flex-text {
    padding: 20px 0px 20px 0px;
}

/* ---------- */
/* Navigation */
/* ---------- */

#main,
footer {
    position: relative;
	width: 1200px;
    height: 60px;
	margin: 30px auto 30px auto;
    padding: 0px 0px 0px 0px;
}

/* ----- */
/* Logos */
/* ----- */

.logo-primary {
    position: absolute;
    z-index: 2;
    top: 0px;
	left: 50%;
    transform: translateX(-50%);
	width: 370px;
	height: 60px;
	background: url('../gfx/logos/logos.png') no-repeat;
	background-size: contain;
}

/* -------- */
/* Sections */
/* -------- */

.wrapper {
    position: relative;
    width: 1200px;
    margin: 0 auto;
    padding: 30px 0px 100px 0px;
}
.banner .wrapper {
    z-index: 2;
}
.wrapper .narrow {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}
.wrapper .spacer {
    height: 50px;
}

/* ------ */
/* Banner */
/* ------ */

.banner {
    position: relative;
    height: 600px;
    width: 100%;
    max-width: 1600px;
    margin: 0 auto;
    border-radius: 30px;
    /* Shadow */
    -webkit-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
	-moz-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
	box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
}
.banner .wrapper {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    padding: 50px 0px 50px 0px;
}

/* ----- */
/* Cards */
/* ----- */

.wrapper .card {
	position: relative;
    padding: 40px;
    border-radius: 15px;
    /* Shadow */
    -webkit-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
	-moz-box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
	box-shadow: 0px 0px 18px -6px rgba(0,0,0,0.05);
}
.wrapper .card p {
    margin: 0;
    padding: 0;
}

/* ------ */
/* Footer */
/* ------ */

footer {
    margin: 0 auto;
    padding: 80px 0px 20px 0px;
}
footer p {
    margin: 20px 0px 0px 0px;
}

/* ------------- */
/* Media Queries */
/* ------------- */

@media (max-width: 1700px) {
   
    /* Standards */
    .banner {
    width: 80%;
    }
    
}
@media (max-width: 1400px) {
   
    /* Standards */
    .wrapper,
    #main,
    footer {
    width: 80%;
    }
    
}
@media (max-width: 1024px) {
   
    /* Text */
    .centered {
    text-align: left;
    }
    h1 {
	font-size: 3em;
    }
    h2 {
	font-size: 2em;
    }
    h3 {
	font-size: 1.6em;
    }
    p {
	font-size: 1em;
    }
    .manual-break {
    display: none;
    }
    /* Flex */
    .flex-double .flex-item,
	.flex-tripple .flex-item,
	.flex-quad .flex-item,
    .flex-footer .flex-item {
    width: 100%;
    }
    .flex-double-space .flex-item,
	.flex-tripple-space .flex-item,
	.flex-quad-space .flex-item,
    .flex-quad-space .flex-item.flex-item-large {
    width: 100%;
    margin: 20px 0px 20px 0px;
    }
    .flex-item.flex-photo {
    display: none;
    visibility: hidden;
    opacity: 0;
    }
    .flex-item.flex-text {
    padding: 0px 0px 0px 0px;
    }
    /* Wrapper */
    .wrapper {
    padding: 50px 0px 50px;
    }
    .wrapper .spacer {
    height: 0;
    }
	.wrapper .narrow {
    max-width: none;
	}
    /* Banner */
    .banner .wrapper {
    padding: 50px 0px 50px 0px;
    }
    
}