html
{
  -ms-text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  
  background:#f5f3ef;
  font-size:125%;
}

body, div, dl, dt, dd, ul, ol, li,
h1, h2, h3, h4, h5, h6, pre, code, svg,
form, fieldset, legend, input, textarea,
p, blockquote, th, td, a, address,
article, aside, details, figcaption, figure, footer,
header, hgroup, main, menu, nav, section, summary,
body, th, tr, tbody, thead, sup
{
	margin:0;
	padding:0;
	background-color:transparent;
	box-sizing:border-box;
	text-decoration:none;
	list-style:none;
	border:none;
	border-radius:0;
}

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

sup
{
	line-height:1;
	font-size:0.7rem;
}

a:active,
a:hover
{
	outline:0;
}

table
{
	border-collapse:collapse;
	border-spacing:0;
	
	font-size:100%;
}

fieldset, img, svg
{
	border:0;
	vertical-align:bottom;
}

img, svg
{
	width:100%;
	height:auto;
}

svg:not(:root)
{
	overflow:hidden;
}

address, caption, cite, code, dfn, em, th, var
{
	font-style:normal;
	font-weight:normal;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

audio, canvas, progress, video
{
	display:inline-block;
	vertical-align:baseline;
}

ol, ul
{
	list-style:none;
}

caption, th
{
	text-align:left;
}

h1, h2, h3, h4, h5, h6
{
	font-size:1rem;
	line-height:1;
	font-weight:normal;
}

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

input, textarea, select
{
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit;
	vertical-align:top;
	
	appearance:none;
	-webkit-appearance:none;
	-moz-appearance:none;
}

body
{
	font:400 1rem/1.6666666667 "proxima-nova", Helvetica, Arial, sans-serif;
	-webkit-font-smoothing:antialiased;
}

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

	html
	{
		font-size:80%;
	}	
	
}

body, a, input, textarea, button
{
	color:#3d4442;
}

body a
{
	transition:color 300ms ease-in-out, border 300ms ease-in-out;
	-webkit-transition:color 300ms ease-in-out, border 300ms ease-in-out;
	-moz-transition:color 300ms ease-in-out, border 300ms ease-in-out;
	-ms-transition:color 300ms ease-in-out, border 300ms ease-in-out;
}

a:hover,
a:focus,
a:active
{
	color:#235f64;
	border-color:#235f64;
}

/* Header */

header
{
	z-index:100;
	position:relative;
	top:0;
	left:0;
	width:100%;
}

	#header-content
	{
		display:flex;
		max-width:1400px;
		margin:0 auto;
		padding:30px 40px;
	}

		#header-toggle
		{
			display:none;
			align-self:flex-end;
			margin:0 0 0 auto;
			padding:0;
			border:none;
			border-radius:0;
			background:none;
			-webkit-appearance:none;
			font-size:100%;
		}
		
			#header-toggle svg
			{
				width:20px;
				margin:0 10px 0 0;
			}
		
				#header-toggle path
				{
					fill:#235f64;
				}
				
			#header-toggle span
			{
				color:#235f64;
				font-size:1.133333333rem;
			}

		#header-logo
		{
			display:flex;
			align-items:center;
		}
		
			#header-logo path
			{
				fill:#235f64;
			}
		
		#header-menu
		{
			align-self:flex-end;
			margin:0 0 0 auto;
		}
		
			#header-menu ul
			{
				display:flex;
			}
			
				#header-menu li
				{
					padding:0 0 0 50px;
				}
			
					#header-menu a
					{
						display:block;
						position:relative;
						color:#235f64;
					}
					
					#header-menu a:after
					{
						content:"";
						position:absolute;
						top:110%;
						right:10%;
						left:10%;
						width:80%;
						height:2px;
						background:rgba(35,95,100,0);
						
						transform:scale(0.5,1);
						transition:all 200ms ease-out;
					}
					
					#header-menu a.open:after,
					#header-menu a:hover:after,
					#header-menu a:focus:after,
					#header-menu a:active:after
					{
						transform:scale(1,1);
						background:rgba(35,95,100,1);
					}
					
			#header-close
			{
				display:none;
				align-items:center;
				position:absolute;
				top:20px;
				right:20px;
				padding:0;
				border:none;
				border-radius:0;
				background:none;
				-webkit-appearance:none;
				text-align:center;
				font-size:1.133333333rem;
				color:#fff;
			}
			
				#header-close span
				{
					font-size:1.5rem;
					margin-top:-4px;
					line-height:20px;
				}
			
				#header-close span + span
				{
					font-size:1rem;
					margin:0;
					padding:0 0 0 8px;
				}
				
header.over
{
	position:absolute;
	top:0;
}

	header.over #header-logo path
	{
		fill:#fff;
	}
	
	header.over #header-menu a
	{
		color:#fff;
	}
	
	header.over #header-menu a:after
	{
		background:rgba(255,255,255,0);
	}
	
	header.over #header-menu a:hover:after,
	header.over #header-menu a:focus:after,
	header.over #header-menu a:active:after
	{
		background:rgba(255,255,255,1);
	}
	
@media screen and (max-width:950px) {
	
	#header-content
	{
		padding:20px;
	}
	
		#header-logo
		{
			width:30%;
		}
	
		#header-toggle
		{
			display:flex;
		}
		
		#header-menu
		{
			position:fixed;
			top:0;
			right:-100%;
			width:100%;
			height:100%;
			
			background-color:#235f64;
			background-image:-webkit-linear-gradient(0deg, #235f64 0, #235f64 25%, #5e8f79 75%, #5e8f79 100%);
			background-size:300% 100%;
			background-position:25% 0;
			
			transform:translate3d(0,0,0);
			transition:transform 400ms cubic-bezier(.04,.71,.47,1), background 1000ms ease-out;
		}
		
			#header-menu ul
			{
				flex-direction:column;
				padding:10% 0 0 40px;
			}
			
				#header-menu li
				{
					padding:0 0 40px;
				}
				
					#header-menu a
					{
						font-size:2rem;
						color:#fff;
					}
					
					#header-menu a:after
					{
						display:none;
					}
					
			#header-close
			{
				display:flex;
			}
					
		.open #header-menu
		{
			transform:translate3d(-100%,0,0);
			background-position:75% 0;
		}
		
		main
		{
			z-index:0;
			opacity:1;
			filter:blur(0);
			transform:translate3d(0,0,0);
			transition:all 300ms ease-out;
		}
		
		main.open
		{
			opacity:0.5;
			filter:blur(10px);
			transform:translate3d(-25%,0,0);
		}
	
}

/* Section */

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

section, .contain
{
	position:relative;
	width:100%;
	max-width:70rem;
	margin:0 auto;
	padding:4rem 2rem;
}

.flush
{
	max-width:100%;
	padding:0;
}

.shade
{
	background-color:#dde1e3;
}

.columns
{
	display:grid;
	grid-template-columns:1fr 1fr;
	grid-gap:2rem;
}

@media screen and (max-width:800px) {
	
	.columns
	{
		grid-template-columns:1fr;
	}
	
	#footer-content > *
	{
		grid-column:1/2;
		grid-row:auto;
	}
	
}

	.column
	{
/* 		padding:20px;
		width:100%; */
	}
		
/* 		.large-1 { width:8.333333333%; }
		.large-2 { width:16.666666666%; }
		.large-3 { width:25%; }
		.large-4 { width:33.333333333%; }
		.large-5 { width:41.666666666%; }
		.large-6 { width:50%; }
		.large-7 { width:58.333333333%; }
		.large-8 { width:66.666666666%; }
		.large-9 { width:75%; }
		.large-10 { width:83.333333333%; }
		.large-11 { width:91.6666666667%; }
		
		.push-1 { margin-left:8.333333333%; } */
		
		.title
		{
			padding-bottom:0.5rem;
			font-size:1.5rem;
			font-weight:100;
			
			-webkit-text-fill-color: transparent;
			background: -webkit-linear-gradient(0deg, #235f64 0, #5e8f79 100%);
			-webkit-background-clip: text;
			color:#235f64;
		}
		
		.title-small
		{
			font-size:2rem;
		}
		
		.title-medium
		{
			font-size:3rem;
			line-height:1.15;
		}
		
		.title-pre
		{
			width:100%;
			font-size:0.75rem;
			font-weight:400;
			line-height:2;
		}
		
		.title-solid
		{
			font-size:3rem;
			font-weight:600;
			color:#fff;
			-webkit-background-clip:none;
			-webkit-text-fill-color:#fff;
			background:none;
			text-shadow:0 1px 50px rgba(0,0,0,0.5);
		}
		
		.text-medium { font-size:1.133333333rem; line-height:1.5; }
		.text-large { font-size:1.5rem; line-height:1.333; }
		
		.centre
		{
			text-align:center;
		}
		
		.vertical-centre
		{
			display:flex;
			flex-direction:column;
			align-items:flex-start;
			justify-content:center;
		}
		
.button
{
	padding:0.5rem 1.5rem;
	
	background-color:#235f64;
	background-image:-webkit-linear-gradient(0deg, #235f64 0, #235f64 25%, #5e8f79 75%, #5e8f79 100%);
	background-size:300% 100%;
	background-position:25% 0;
	border-radius:5px;
	font-weight:900;
	color:#fff;
	text-transform:uppercase;
	
	transition:all 600ms ease-out;
}

.button:hover,
.button:focus,
.button:active
{
	color:#fff;
	background-position:80% 0;
}

.button-small
{
	padding:10px 20px;
}

/* Footer */

footer
{
	background:#235f64;
	font-size:1.133333333rem;
}

footer, footer a
{
	color:#fff !important;
}

	#footer-content
	{
		width:100%;
		max-width:1400px;
		margin:0 auto;
		padding:80px 20px;
	}
	
		.footer-title
		{
			padding:0 0 10px;
			font-size:1.7647058824rem;
			font-weight:600;
		}
		
		.footer-agents-logo
		{
			width:80%;
			max-width:300px;
			padding:0 0 40px;
		}
		
			.footer-agents-logo path,
			.footer-agents-logo polygon
			{
				fill:#fff;
			}
	
		.footer-agents
		{
			display:flex;
			flex-wrap:wrap;
		}
		
			.footer-agent
			{
				width:50%;
				padding:0 40px 0 0;
				text-align:center;
				font-size:0.8823529412rem;
			}
			
				.footer-agent img
				{
					width:50%;
					margin:0 0 20px;
					border-radius:50%;
					overflow:hidden;
				}
				
				.footer-agent h4
				{
					font-size:1rem;
					font-weight:600;
				}
				
/* Floater */

#floater
{
	z-index:800;
	position:fixed;
	top:40vw;
	left:40px;
	max-width:200px;
	padding:30px;
	background:#235f64;
	color:#fff;
	text-align:center;
	
	transition:all 150ms ease-out;
}

#floater.hide,
#floater.remove
{
	transform:translate3d(-250px,0,0);
}

	#floater-title
	{
		display:block;
		padding:0 0 10px;
		line-height:1.1;
		font-weight:800;
	}
	
	#floater-link
	{
		display:block;
		text-decoration:underline;
		color:#fff;
	}
	
	#floater-close
	{
		position:absolute;
		top:10px;
		right:10px;
		color:#fff;
		line-height:12px;
		font-size:1.5rem;
	}
	
@media screen and (max-width:900px) {
	
	#floater
	{
		display:none;
	}
	
}
	
/* Timeline */

.timeline
{
	display:flex;
	padding:2rem 0 0;
}

	.timeline-item
	{
		flex:1;
		position:relative;
	}
	
	.timeline-item:before,
	.timeline-item:after
	{
		content:"";
		z-index:-100;
		position:absolute;
		top:26px;
		left:0;
		width:50%;
		height:4px;
		background:#235f64;
	}
	
	.timeline-item:after
	{
		left:auto;
		right:0;
	}
	
	.timeline-item:first-child:before
	{
		display:none;
	}
	
	.timeline-item:last-child:after
	{
		display:none;
	}
	
		.timeline-point
		{
			z-index:200;
			display:flex;
			flex-direction:column;
			align-items:center;
			text-align:center;
		}
	
			.timeline-icon
			{
				width:50px;
				height:50px;
				border:3px solid #235f64;
				border-radius:50%;
				background:#f5f3ef;
			}
			
				.timeline-icon-complete
				{
					background:#235f64;
				}
			
			.timeline-label
			{
				padding:15px 0 0;
				font-size:1.333rem;
			}
			
@media screen and (max-width:700px) {
	
	.timeline-icon
	{
		width:24px;
		height:24px;
	}
	
	.timeline-item:before,
	.timeline-item:after
	{
		top:12px;
	}
	
	.timeline-label
	{
		font-size:0.8rem;
		line-height:1;
	}
	
}
			
/* Downloads */

.downloads
{
	
}

	.downloads-item
	{
		display:flex;
		padding:10px 0 0;
	}
	
	.downloads-item:first-child
	{
		padding:0;
	}
	
		.downloads-title
		{
			flex:1;
			padding:10px 20px;
			border-top-left-radius:5px;
			border-bottom-left-radius:5px;
			background:#dde1e3;
		}
		
		.downloads-link
		{
			margin:0 0 0 10px;
			padding:10px 20px;
			border-top-left-radius:0;
			border-bottom-left-radius:0;
			font-size:1rem;
			text-transform:uppercase;
		}
		
/* Cover */

.cover
{
	width:90%;
	max-width:700px;
	top:50%;
	left:50%;
	position:absolute;
	text-align:center;
	
	transform:translate3d(-50%,-50%,0);
}

/* Button Group */

.button-group
{
	display:flex;
	justify-content:center;
}

	.button-group .button
	{
		display:block;
		margin:0 20px;
	}
	
/* Form */

footer form
{
	padding:20px 0 0;
	width:75%;
}

	footer label
	{
		display:block;
	}
	
		footer input
		{
			width:100%;
			border-bottom:1px solid #fff;
			padding:5px;
			margin:15px 0 0;
		}
		
		footer input[type="checkbox"]
		{
			width:26px;
			height:26px;
			margin:5px 10px 0 0;
			border:1px solid #fff;
		}
		
			footer input[type="checkbox"]:checked
			{
				background:#fff;
			}
		
		footer .wpcf7-form-control-wrap
		{
			display:block;
			margin:15px 0 0 !important;
		}
		
		footer input[type="submit"]
		{
			width:auto !important;
			padding:5px 40px;
			margin:20px 0 !important;
			
			background:#fff !important;
			color:#235f64 !important;
		}
		
		footer .wpcf7-not-valid-tip
		{
			display:block;
			padding:0 10px;
			background:#fff;
			color:#235f64;
		}
		
#contact-form input, #contact-form textarea
{
	background:#fff;
}