/*
* 	Air v. 0.8.0
	Base Styles
* 	2016, Rasmus Vork Design
*/

/* Table of Content
==================================================
	#Reset & Basics
	#HTML5 display definitions
	#Basic Styles
	#Typography
	#Links
	#Lists
	#Tables
	#Forms
	#Images
	#Video
	#Header
	#Section
	#Footer
	#Extras
================================================== */


/* #Reset & Basics (Inspired by E. Meyers)
================================================== */
	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;
		vertical-align: baseline; }
	article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
		display: block; }
	html {
		min-height: 100vh; /*background: #333;*/}
	body {
		position: relative;
		line-height: 1;
		min-height: 100vh; }
	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; }


/* #HTML5 display definitions
================================================== */

/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */

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

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */

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

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

	audio:not([controls]) {
		display: none;
		height: 0;
	}

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */

[hidden],
template {
  display: none;
}


/* #Basic Styles
================================================== */
	body {	
		background: #fff;
		background-repeat: no-repeat;
		background-position: left top;
		background-size: auto;
		
		padding: 64px 0 0 0;
	}

/* #Typography
================================================== */
	body, p {
		font-family: 'Source Sans Pro', sans-serif;
		font-size: 16px;
		line-height: 1.5rem;
		font-weight: 300;
		color: rgba(65,65,65,1);
		-webkit-font-smoothing: antialiased; /* Fix for webkit rendering */
		-webkit-text-size-adjust: 100%;
	}
	
	h1, h2, h3, h4, h5, h6 {
		font-family: 'Playfair Display', serif;
		font-weight: 600;
		margin: 0;
		letter-spacing: normal;
		}
	h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { font-weight: inherit; }
	h1 { font-size: 2rem; line-height: 2rem; padding: 0 0 1rem 0; letter-spacing: normal; }
	h2 { font-size: 2rem; line-height: 2.5rem; padding: 0 0 1rem 0; }
	h3 { font-size: 1.25rem; padding: 0 0 .5rem 0; }
	h4 { font-size: 1.125rem; padding: 0 0 .5rem 0; }
	h5 { font-size: 1rem line-height: 1rem; }
	h6 { font-size: 1rem; }
	.subheader { color: #379fb5; }

	p { margin: 0 0 1rem 0; text-align: left; }
	p:last-child { margin: 0; }
	p img { margin: 0; }
	p.lead { font-size: 1.5rem; line-height: 1rem; color: #5d5d5d; }
	p.center { text-align: center; }

	em { font-style: italic; }
	em:first-child { }
	strong, b { font-weight: 600; color: #5d5d5d; }
	small { font-size: 14px; line-height: 18px;}

/*	Blockquotes  */
	blockquote, blockquote p { font-size: 1rem; line-height: 1.6rem; color: #5d5d5d; font-style: italic; }
	blockquote { margin: 0 0 20px; padding: 9px 20px 0 19px; border-left: 1px solid #ddd; }
	blockquote cite { display: block; font-size: 0.8em; color: #5d5d5d; }
	blockquote cite:before { content: "\2014 \0020"; }
	blockquote cite a, blockquote cite a:visited, blockquote cite a:visited { color: #5d5d5d; }

	hr { border: solid #666; border-width: 1px 0 0; clear: both; margin: 10px 0 30px; height: 0; }
	
	/*  #Mobile (Landsape and less) 
	================================================== */
	    
    /* Note: Design for a width of 320px */
    
    @media only screen and (max-width: 767px) {
		body { line-height: 24px; }
		
		h1 { font-size: 32px; }
		h2 { font-size: 24px; line-height: 27px; }
		h3 { font-size: 1.175rem; }
		h4 { font-size: 1.175rem; }
		h5 { font-size: 1rem; }
		h6 { font-size: 1rem; }	  
	}
	

/* #Links
================================================== */
	a, a:visited { color: rgba(65, 65, 65, 1); font-weight: 400; text-decoration: none; outline: 0; }
	a:hover, a:focus { color: var(--highlight); text-decoration:none; }
	p a, p a:visited { line-height: inherit; }

/* #Selection
================================================== */
	::selection{ background:#686761; color:#fff; }

/* #Lists
================================================== */
	ul, ol { margin-bottom: 20px; }
	ul { list-style: none outside; }
	ol { list-style: decimal; }
	ol, ul.square, ul.circle, ul.disc { margin-left: 20px; }
	ul.square { list-style: square outside; }
	ul.circle { list-style: circle outside; }
	ul.disc { list-style: disc outside; }
	ul ul, ul ol,
	ol ol, ol ul { margin: 4px 0 5px 30px; }
	ul ul li, ul ol li,
	ol ol li, ol ul li { margin-bottom: 6px; }
	li { line-height: 18px; margin-bottom: 12px; }
	ul.large li { line-height: 21px; }
	li p { line-height: 21px; }


/* #Tables
================================================== *

/**
 * Remove most spacing between table cells.
 */

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

td,
th {
  padding: 0;
}


/* #Forms
================================================== */

/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */

/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */

	button,
	input,
	optgroup,
	select,
	textarea {
		color: inherit; /* 1 */
		font: inherit; /* 2 */
		margin: 0; /* 3 */
	}

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */

	button {
	  	overflow: visible;
	}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */

	button,
	select {
	  	text-transform: none;
	}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */

	button,
	html input[type="button"], /* 1 */
	input[type="reset"],
	input[type="submit"] {
	  	-webkit-appearance: button; /* 2 */
	  	cursor: pointer; /* 3 */
	}

/**
 * Re-set default cursor for disabled elements.
 */

	button[disabled],
	html input[disabled] {
	  	cursor: default;
	}

/**
 * Remove inner padding and border in Firefox 4+.
 */

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

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

	input {
	  	line-height: normal;
	}

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */

	input[type="checkbox"],
	input[type="radio"] {
		  box-sizing: border-box; /* 1 */
		  padding: 0; /* 2 */
	}

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */

	input[type="number"]::-webkit-inner-spin-button,
	input[type="number"]::-webkit-outer-spin-button {
	  	height: auto;
	}

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */

	input[type="search"] {
		  -webkit-appearance: textfield; /* 1 */
		  -moz-box-sizing: content-box;
		  -webkit-box-sizing: content-box; /* 2 */
		  box-sizing: content-box;
	}

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */

	input[type="search"]::-webkit-search-cancel-button,
	input[type="search"]::-webkit-search-decoration {
	  	-webkit-appearance: none;
	}

/**
 * Define consistent border, margin, and padding.
 */

	fieldset {
		  border: 1px solid #c0c0c0;
		  margin: 0 2px;
		  padding: 0.35em 0.625em 0.75em;
	}

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */

	legend {
		  border: 0; /* 1 */
		  padding: 0; /* 2 */
	}

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */

	textarea {
		  overflow: auto;
	}

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */

	optgroup {
	  	font-weight: bold;
	}


/* #Images
================================================== */

	.air-img {
		width: auto;
		max-width: 100%;
		height: auto; 
		display: block;
		margin:0 auto;
	}
	
	
/* #Video
================================================== */

	.air-video-embed {
    position: relative;
    padding-bottom: 56.25%; /* 16/9 ratio */
    height: 0;
    overflow: hidden;
	}

	.air-video-embed iframe,
	.air-video-embed object,
	.air-video-embed embed{
		position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
		}




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

header {
	position: absolute;
	top: 0;
		
    z-index: 999;
	
	width: 100%;
	height: 48px;
	
	/*
	background: -moz-linear-gradient(top, rgba(0,0,0,.35) 0%, rgba(0,0,0,0) 100%);
	background: -webkit-linear-gradient(top, rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 100%);
	background: linear-gradient(to bottom, rgba(0,0,0,.35) 0%,rgba(0,0,0,0) 100%);
	*/
	
	background: rgba(255,255,255,1);
	
	padding: .5rem 0;
	
	min-height: inherit !important;
	
	transform: translate3d(0, 0, 0);
	
	transition: background .5s ease, transform .75s ease;
}

header.-float { position: fixed; display: block !important; }

header.-hide { display: none; transform: translate3d(0, -64px, 0); }

header .header.l-box { padding-top: 0 !important; padding-bottom: 0 !important; }

	/* #Tablet (Portrait)
	================================================== */
	
	    /* Note: Design for a width of 768px */
	
	    @media only screen and (min-width: 768px) and (max-width: 959px) {
	    	
	    }
	    
	/*  #Mobile (Landsape and less) 
	================================================== */
	    
	    /* Note: Design for a width of 320px */
	    
	    @media only screen and (max-width: 767px) {
			body { /*padding-top: 48px;*/ }
	    	header, header.fixed, header.fixed.show {
	    		/*position: fixed;
	    		top: 0;*/
	    	}  
		}

.air-nav a {
	font-family: 'Source Sans Pro', sans-serif;
	font-weight: 400;
}

/* #Logo
================================================== */
.site-logo {
	float: left;
	height: 48px;
	}

	.site-logo img {
		max-height: 24px;
		margin-top: 12px;
		}

/* #Navigation
================================================== */


/* #Article
================================================== */
article h1 { text-align: left; text-transform: none; font-size: 2rem; font-weight: 600; padding: 0; }

/* #Section
================================================== */
section {
	position:relative;
	background-attachment: scroll;
	background-repeat:no-repeat;
	background-position-x: center;
	background-position-y: 0;
	display:block;
	width:100%;
	padding: 0;
	-webkit-overflow-scrolling:touch;
}

.content {
    margin: 0 auto;
    padding-top: 1rem;
    padding-bottom: 1rem;
    max-width: 1080px;
    box-sizing: border-box;
}

.air-u-1-2 .content,
.air-u-md-1-2 .content,
.air-u-xl-1-2 .content {
	    float: left;
	    max-width: 540px;
}

/*  #Mobile (Landsape and less) 
================================================== */
    
    /* Note: Design for a width of 320px */
    
    @media only screen and (max-width: 767px) {
		/*section:nth-child(1) { padding: 30px 0 30px 0; }*/  
	}
	
/* #Footer
================================================== */

footer { 
	position: absolute;
	bottom: 0;
	width: 100%;
}

footer img {
	max-height: 64px;
}

footer small {
	display: block;
	
	text-align: center;
	
	padding: .5rem 0 1rem 0;
	
}


/* #Extras
================================================== */

/**
 * Always hide an element when it has the `hidden` HTML attribute.
 */

.hidden,
[hidden] {
    display: none !important;
}



@keyframes fade_in {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

/*global load element and animation*/
/*.loader {
	display: block;
	margin: -15px 0 0 -15px;
	width: 30px;
	height: 30px;
	position: absolute;
	top: 50%;
	left: 50%;
	
	box-shadow: 0 0 15px rgba(0,0,0,.35);
	
	border: 1px solid rgba(255,255,255,.9);
	animation: loader 2.3s infinite ease;
		-o-animation: loader 2.3s infinite ease;
		-ms-animation: loader 2.3s infinite ease;
		-webkit-animation: loader 2.3s infinite ease;
		-moz-animation: loader 2.3s infinite ease;
}


.loader:after {
	vertical-align: top;
	display: inline-block;
	content: '';
	width: 100%;
	background-color: rgba(255,255,255,.6);
	animation: loader-inner 2.3s infinite ease-in;
		-o-animation: loader-inner 2.3s infinite ease-in;
		-ms-animation: loader-inner 2.3s infinite ease-in;
		-webkit-animation: loader-inner 2.3s infinite ease-in;
		-moz-animation: loader-inner 2.3s infinite ease-in;
}

*/

.loader {
	display: none;
	position: absolute;
	width: 124px;
	height: 28px;
	left: 50%;
	top: 50%;
	
	transform: translate(-50%, -50%);
		-o-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		-webkit-transform: translate(-50%, -50%);
		-moz-transform: translate(-50%, -50%);
}
.loader > div {
	position: absolute;
	transform-origin: center;
		-o-transform-origin: center;
		-ms-transform-origin: center;
		-webkit-transform-origin: center;
		-moz-transform-origin: center;
}

.triangle-v {
	width: 0;
	height: 0;
	left: 0px;
	top: 0px;
	border-style: solid;
	border-width: 28px 0 0 28px;
	border-color: rgba(255,255,255,.8) transparent rgba(255,255,255,.8) transparent;
	transform: scale(.75);
		-o-transform: scale(.75);
		-ms-transform: scale(.75);
		-webkit-transform: scale(.75);
		-moz-transform: scale(.75);
	animation: loader 2s ease-in-out infinite;
		-o-animation: loader 2s ease-in-out infinite;
		-ms-animation: loader 2s ease-in-out infinite;
		-webkit-animation: loader 2s ease-in-out infinite;
		-moz-animation: loader 2s ease-in-out infinite;
	animation-delay: 0s;
		-o-animation-delay: 0s;
		-ms-animation-delay: 0s;
		-webkit-animation-delay: 0s;
		-moz-animation-delay: 0s;
}

.square-o {
	background: rgba(255,255,255,.8);
	width: 28px;
	height: 28px;
	left: 32px;
	top: 0px;
	transform: scale(.75);
		-o-transform: scale(.75);
		-ms-transform: scale(.75);
		-webkit-transform: scale(.75);
		-moz-transform: scale(.75);
	animation: loader 2s ease-in-out infinite;
		-o-animation: loader 2s ease-in-out infinite;
		-ms-animation: loader 2s ease-in-out infinite;
		-webkit-animation: loader 2s ease-in-out infinite;
		-moz-animation: loader 2s ease-in-out infinite;
	animation-delay: .5s;
		-o-animation-delay: .5s;
		-ms-animation-delay: .5s;
		-webkit-animation-delay: .5s;
		-moz-animation-delay: .5s;
}

.triangle-r {
	width: 0;
	height: 0;
	left: 64px;
	top: 0px;
	border-style: solid;
	border-width: 0 28px 28px 0;
	border-color: transparent transparent rgba(255,255,255,.8) transparent;
	transform: scale(.75);
		-o-transform: scale(.75);
		-ms-transform: scale(.75);
		-webkit-transform: scale(.75);
		-moz-transform: scale(.75);
	animation: loader 2s ease-in-out infinite;
		-o-animation: loader 2s ease-in-out infinite;
		-ms-animation: loader 2s ease-in-out infinite;
		-webkit-animation: loader 2s ease-in-out infinite;
		-moz-animation: loader 2s ease-in-out infinite;
	animation-delay: 1s;
		-o-animation-delay: 1s;
		-ms-animation-delay: 1s;
		-webkit-animation-delay: 1s;
		-moz-animation-delay: 1s;
}

.triangle-r:after {
	content: '';
	display: block;
	
	position: absolute;
	
	width: 0;
	height: 0;
	left: 0;
	top: 0;
	border-style: solid;
	border-width: 14px 0 14px 14px;
	border-color: transparent transparent transparent rgba(255,255,255,.8);
}

.triangle-k {
	width: 0;
	height: 0;
	left: 96px;
	top: 0px;
	border-style: solid;
	border-width: 0 28px 28px 0;
	border-color: transparent transparent rgba(255,255,255,.8) transparent;
	transform: scale(.75);
		-o-transform: scale(.75);
		-ms-transform: scale(.75);
		-webkit-transform: scale(.75);
		-moz-transform: scale(.75);
	animation: loader 2s ease-in-out infinite;
		-o-animation: loader 2s ease-in-out infinite;
		-ms-animation: loader 2s ease-in-out infinite;
		-webkit-animation: loader 2s ease-in-out infinite;
		-moz-animation: loader 2s ease-in-out infinite;
	animation-delay: 1.5s;
		-o-animation-delay: 1.5s;
		-ms-animation-delay: 1.5s;
		-webkit-animation-delay: 1.5s;
		-moz-animation-delay: 1.5s;
}

.triangle-k:after {
	content: '';
	display: block;
	
	position: absolute;
	
	width: 0;
	height: 0;
	left: 0;
	top: 0px;
	border-style: solid;
	border-width: 28px 28px 0 0;
	border-color: rgba(255,255,255,.8) transparent transparent transparent;
}

@keyframes loader {
	0% {
		transform: scale(.75);
	}
	12.5% {
		transform: scale(1);
	}
	25% {
		transform: scale(1);
	}
	33% {
		transform: scale(.75);
	}
	100% {
		transform: scale(.75);
	}
}

@-o-keyframes loader {
	0% {
		-o-transform: scale(.75);
	}
	12.5% {
		-o-transform: scale(1);
	}
	25% {
		-o-transform: scale(1);
	}
	33% {
		-o-transform: scale(.75);
	}
	100% {
		-o-transform: scale(.75);
	}
}

@-ms-keyframes loader {
	0% {
		-ms-transform: scale(.75);
	}
	12.5% {
		-ms-transform: scale(1);
	}
	25% {
		-ms-transform: scale(1);
	}
	33% {
		-ms-transform: scale(.75);
	}
	100% {
		-ms-transform: scale(.75);
	}
}

@-webkit-keyframes loader {
	0% {
		-webkit-transform: scale(.75);
	}
	12.5% {
		-webkit-transform: scale(1);
	}
	25% {
		-webkit-transform: scale(1);
	}
	33% {
		-webkit-transform: scale(.75);
	}
	100% {
		-webkit-transform: scale(.75);
	}
}

@-moz-keyframes loader {
	0% {
		-moz-transform: scale(.75);
	}
	12.5% {
		-moz-transform: scale(1);
	}
	25% {
		-moz-transform: scale(1);
	}
	33% {
		-moz-transform: scale(.75);
	}
	100% {
		-moz-transform: scale(.75);
	}
}