@import url(font-awesome.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,300italic,600,600italic");

 
/* Reset */

	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;
	}

	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;
	}

/* Box Model */

	*, *:before, *:after {
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

/* Grid */

	.row {
		border-bottom: solid 1px transparent;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	.row > * {
		float: left;
		-moz-box-sizing: border-box;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}

	.row:after, .row:before {
		content: '';
		display: block;
		clear: both;
		height: 0;
	}

	.row.uniform > * > :first-child {
		margin-top: 0;
	}

	.row.uniform > * > :last-child {
		margin-bottom: 0;
	}

	.row.\30 \25 > * {
		padding: 0 0 0 0em;
	}

	.row.\30 \25 {
		margin: 0 0 -1px 0em;
	}

	.row.uniform.\30 \25 > * {
		padding: 0em 0 0 0em;
	}

	.row.uniform.\30 \25 {
		margin: 0em 0 -1px 0em;
	}

	.row > * {
		padding: 0 0 0 2em;
	}

	.row {
		margin: 0 0 -1px -2em;
	}

	.row.uniform > * {
		padding: 2em 0 0 2em;
	}

	.row.uniform {
		margin: -2em 0 -1px -2em;
	}

	.row.\32 00\25 > * {
		padding: 0 0 0 4em;
	}

	.row.\32 00\25 {
		margin: 0 0 -1px -4em;
	}

	.row.uniform.\32 00\25 > * {
		padding: 4em 0 0 4em;
	}

	.row.uniform.\32 00\25 {
		margin: -4em 0 -1px -4em;
	}

	.row.\31 50\25 > * {
		padding: 0 0 0 3em;
	}

	.row.\31 50\25 {
		margin: 0 0 -1px -3em;
	}

	.row.uniform.\31 50\25 > * {
		padding: 3em 0 0 3em;
	}

	.row.uniform.\31 50\25 {
		margin: -3em 0 -1px -3em;
	}

	.row.\35 0\25 > * {
		padding: 0 0 0 1em;
	}

	.row.\35 0\25 {
		margin: 0 0 -1px -1em;
	}

	.row.uniform.\35 0\25 > * {
		padding: 1em 0 0 1em;
	}

	.row.uniform.\35 0\25 {
		margin: -1em 0 -1px -1em;
	}

	.row.\32 5\25 > * {
		padding: 0 0 0 0.5em;
	}

	.row.\32 5\25 {
		margin: 0 0 -1px -0.5em;
	}

	.row.uniform.\32 5\25 > * {
		padding: 0.5em 0 0 0.5em;
	}

	.row.uniform.\32 5\25 {
		margin: -0.5em 0 -1px -0.5em;
	}

	.\31 2u, .\31 2u\24 {
		width: 100%;
		clear: none;
		margin-left: 0;
	}

	.\31 1u, .\31 1u\24 {
		width: 91.6666666667%;
		clear: none;
		margin-left: 0;
	}

	.\31 0u, .\31 0u\24 {
		width: 83.3333333333%;
		clear: none;
		margin-left: 0;
	}

	.\39 u, .\39 u\24 {
		width: 75%;
		clear: none;
		margin-left: 0;
	}

	.\38 u, .\38 u\24 {
		width: 66.6666666667%;
		clear: none;
		margin-left: 0;
	}

	.\37 u, .\37 u\24 {
		width: 58.3333333333%;
		clear: none;
		margin-left: 0;
	}

	.\36 u, .\36 u\24 {
		width: 50%;
		clear: none;
		margin-left: 0;
	}

	.\35 u, .\35 u\24 {
		width: 41.6666666667%;
		clear: none;
		margin-left: 0;
	}

	.\34 u, .\34 u\24 {
		width: 33.3333333333%;
		clear: none;
		margin-left: 0;
	}

	.\33 u, .\33 u\24 {
		width: 25%;
		clear: none;
		margin-left: 0;
	}

	.\32 u, .\32 u\24 {
		width: 16.6666666667%;
		clear: none;
		margin-left: 0;
	}

	.\31 u, .\31 u\24 {
		width: 8.3333333333%;
		clear: none;
		margin-left: 0;
	}

	.\31 2u\24 + *,
	.\31 1u\24 + *,
	.\31 0u\24 + *,
	.\39 u\24 + *,
	.\38 u\24 + *,
	.\37 u\24 + *,
	.\36 u\24 + *,
	.\35 u\24 + *,
	.\34 u\24 + *,
	.\33 u\24 + *,
	.\32 u\24 + *,
	.\31 u\24 + * {
		clear: left;
	}

	.\-11u {
		margin-left: 91.66667%;
	}

	.\-10u {
		margin-left: 83.33333%;
	}

	.\-9u {
		margin-left: 75%;
	}

	.\-8u {
		margin-left: 66.66667%;
	}

	.\-7u {
		margin-left: 58.33333%;
	}

	.\-6u {
		margin-left: 50%;
	}

	.\-5u {
		margin-left: 41.66667%;
	}

	.\-4u {
		margin-left: 33.33333%;
	}

	.\-3u {
		margin-left: 25%;
	}

	.\-2u {
		margin-left: 16.66667%;
	}

	.\-1u {
		margin-left: 8.33333%;
	}

	@media screen and (max-width: 1680px) {

		.row > * {
			padding: 0 0 0 2em;
		}

		.row {
			margin: 0 0 -1px -2em;
		}

		.row.uniform > * {
			padding: 2em 0 0 2em;
		}

		.row.uniform {
			margin: -2em 0 -1px -2em;
		}

		.row.\32 00\25 > * {
			padding: 0 0 0 4em;
		}

		.row.\32 00\25 {
			margin: 0 0 -1px -4em;
		}

		.row.uniform.\32 00\25 > * {
			padding: 4em 0 0 4em;
		}

		.row.uniform.\32 00\25 {
			margin: -4em 0 -1px -4em;
		}

		.row.\31 50\25 > * {
			padding: 0 0 0 3em;
		}

		.row.\31 50\25 {
			margin: 0 0 -1px -3em;
		}

		.row.uniform.\31 50\25 > * {
			padding: 3em 0 0 3em;
		}

		.row.uniform.\31 50\25 {
			margin: -3em 0 -1px -3em;
		}

		.row.\35 0\25 > * {
			padding: 0 0 0 1em;
		}

		.row.\35 0\25 {
			margin: 0 0 -1px -1em;
		}

		.row.uniform.\35 0\25 > * {
			padding: 1em 0 0 1em;
		}

		.row.uniform.\35 0\25 {
			margin: -1em 0 -1px -1em;
		}

		.row.\32 5\25 > * {
			padding: 0 0 0 0.5em;
		}

		.row.\32 5\25 {
			margin: 0 0 -1px -0.5em;
		}

		.row.uniform.\32 5\25 > * {
			padding: 0.5em 0 0 0.5em;
		}

		.row.uniform.\32 5\25 {
			margin: -0.5em 0 -1px -0.5em;
		}

		.\31 2u\28xlarge\29, .\31 2u\24\28xlarge\29 {
			width: 100%;
			clear: none;
			margin-left: 0;
		}

		.\31 1u\28xlarge\29, .\31 1u\24\28xlarge\29 {
			width: 91.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 0u\28xlarge\29, .\31 0u\24\28xlarge\29 {
			width: 83.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\39 u\28xlarge\29, .\39 u\24\28xlarge\29 {
			width: 75%;
			clear: none;
			margin-left: 0;
		}

		.\38 u\28xlarge\29, .\38 u\24\28xlarge\29 {
			width: 66.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\37 u\28xlarge\29, .\37 u\24\28xlarge\29 {
			width: 58.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\36 u\28xlarge\29, .\36 u\24\28xlarge\29 {
			width: 50%;
			clear: none;
			margin-left: 0;
		}

		.\35 u\28xlarge\29, .\35 u\24\28xlarge\29 {
			width: 41.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\34 u\28xlarge\29, .\34 u\24\28xlarge\29 {
			width: 33.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\33 u\28xlarge\29, .\33 u\24\28xlarge\29 {
			width: 25%;
			clear: none;
			margin-left: 0;
		}

		.\32 u\28xlarge\29, .\32 u\24\28xlarge\29 {
			width: 16.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 u\28xlarge\29, .\31 u\24\28xlarge\29 {
			width: 8.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\31 2u\24\28xlarge\29 + *,
		.\31 1u\24\28xlarge\29 + *,
		.\31 0u\24\28xlarge\29 + *,
		.\39 u\24\28xlarge\29 + *,
		.\38 u\24\28xlarge\29 + *,
		.\37 u\24\28xlarge\29 + *,
		.\36 u\24\28xlarge\29 + *,
		.\35 u\24\28xlarge\29 + *,
		.\34 u\24\28xlarge\29 + *,
		.\33 u\24\28xlarge\29 + *,
		.\32 u\24\28xlarge\29 + *,
		.\31 u\24\28xlarge\29 + * {
			clear: left;
		}

		.\-11u\28xlarge\29 {
			margin-left: 91.66667%;
		}

		.\-10u\28xlarge\29 {
			margin-left: 83.33333%;
		}

		.\-9u\28xlarge\29 {
			margin-left: 75%;
		}

		.\-8u\28xlarge\29 {
			margin-left: 66.66667%;
		}

		.\-7u\28xlarge\29 {
			margin-left: 58.33333%;
		}

		.\-6u\28xlarge\29 {
			margin-left: 50%;
		}

		.\-5u\28xlarge\29 {
			margin-left: 41.66667%;
		}

		.\-4u\28xlarge\29 {
			margin-left: 33.33333%;
		}

		.\-3u\28xlarge\29 {
			margin-left: 25%;
		}

		.\-2u\28xlarge\29 {
			margin-left: 16.66667%;
		}

		.\-1u\28xlarge\29 {
			margin-left: 8.33333%;
		}

	}

	@media screen and (max-width: 1280px) {

		.row > * {
			padding: 0 0 0 1.5em;
		}

		.row {
			margin: 0 0 -1px -1.5em;
		}

		.row.uniform > * {
			padding: 1.5em 0 0 1.5em;
		}

		.row.uniform {
			margin: -1.5em 0 -1px -1.5em;
		}

		.row.\32 00\25 > * {
			padding: 0 0 0 3em;
		}

		.row.\32 00\25 {
			margin: 0 0 -1px -3em;
		}

		.row.uniform.\32 00\25 > * {
			padding: 3em 0 0 3em;
		}

		.row.uniform.\32 00\25 {
			margin: -3em 0 -1px -3em;
		}

		.row.\31 50\25 > * {
			padding: 0 0 0 2.25em;
		}

		.row.\31 50\25 {
			margin: 0 0 -1px -2.25em;
		}

		.row.uniform.\31 50\25 > * {
			padding: 2.25em 0 0 2.25em;
		}

		.row.uniform.\31 50\25 {
			margin: -2.25em 0 -1px -2.25em;
		}

		.row.\35 0\25 > * {
			padding: 0 0 0 0.75em;
		}

		.row.\35 0\25 {
			margin: 0 0 -1px -0.75em;
		}

		.row.uniform.\35 0\25 > * {
			padding: 0.75em 0 0 0.75em;
		}

		.row.uniform.\35 0\25 {
			margin: -0.75em 0 -1px -0.75em;
		}

		.row.\32 5\25 > * {
			padding: 0 0 0 0.375em;
		}

		.row.\32 5\25 {
			margin: 0 0 -1px -0.375em;
		}

		.row.uniform.\32 5\25 > * {
			padding: 0.375em 0 0 0.375em;
		}

		.row.uniform.\32 5\25 {
			margin: -0.375em 0 -1px -0.375em;
		}

		.\31 2u\28large\29, .\31 2u\24\28large\29 {
			width: 100%;
			clear: none;
			margin-left: 0;
		}

		.\31 1u\28large\29, .\31 1u\24\28large\29 {
			width: 91.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 0u\28large\29, .\31 0u\24\28large\29 {
			width: 83.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\39 u\28large\29, .\39 u\24\28large\29 {
			width: 75%;
			clear: none;
			margin-left: 0;
		}

		.\38 u\28large\29, .\38 u\24\28large\29 {
			width: 66.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\37 u\28large\29, .\37 u\24\28large\29 {
			width: 58.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\36 u\28large\29, .\36 u\24\28large\29 {
			width: 50%;
			clear: none;
			margin-left: 0;
		}

		.\35 u\28large\29, .\35 u\24\28large\29 {
			width: 41.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\34 u\28large\29, .\34 u\24\28large\29 {
			width: 33.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\33 u\28large\29, .\33 u\24\28large\29 {
			width: 25%;
			clear: none;
			margin-left: 0;
		}

		.\32 u\28large\29, .\32 u\24\28large\29 {
			width: 16.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 u\28large\29, .\31 u\24\28large\29 {
			width: 8.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\31 2u\24\28large\29 + *,
		.\31 1u\24\28large\29 + *,
		.\31 0u\24\28large\29 + *,
		.\39 u\24\28large\29 + *,
		.\38 u\24\28large\29 + *,
		.\37 u\24\28large\29 + *,
		.\36 u\24\28large\29 + *,
		.\35 u\24\28large\29 + *,
		.\34 u\24\28large\29 + *,
		.\33 u\24\28large\29 + *,
		.\32 u\24\28large\29 + *,
		.\31 u\24\28large\29 + * {
			clear: left;
		}

		.\-11u\28large\29 {
			margin-left: 91.66667%;
		}

		.\-10u\28large\29 {
			margin-left: 83.33333%;
		}

		.\-9u\28large\29 {
			margin-left: 75%;
		}

		.\-8u\28large\29 {
			margin-left: 66.66667%;
		}

		.\-7u\28large\29 {
			margin-left: 58.33333%;
		}

		.\-6u\28large\29 {
			margin-left: 50%;
		}

		.\-5u\28large\29 {
			margin-left: 41.66667%;
		}

		.\-4u\28large\29 {
			margin-left: 33.33333%;
		}

		.\-3u\28large\29 {
			margin-left: 25%;
		}

		.\-2u\28large\29 {
			margin-left: 16.66667%;
		}

		.\-1u\28large\29 {
			margin-left: 8.33333%;
		}

	}

	@media screen and (max-width: 980px) {

		.row > * {
			padding: 0 0 0 1.5em;
		}

		.row {
			margin: 0 0 -1px -1.5em;
		}

		.row.uniform > * {
			padding: 1.5em 0 0 1.5em;
		}

		.row.uniform {
			margin: -1.5em 0 -1px -1.5em;
		}

		.row.\32 00\25 > * {
			padding: 0 0 0 3em;
		}

		.row.\32 00\25 {
			margin: 0 0 -1px -3em;
		}

		.row.uniform.\32 00\25 > * {
			padding: 3em 0 0 3em;
		}

		.row.uniform.\32 00\25 {
			margin: -3em 0 -1px -3em;
		}

		.row.\31 50\25 > * {
			padding: 0 0 0 2.25em;
		}

		.row.\31 50\25 {
			margin: 0 0 -1px -2.25em;
		}

		.row.uniform.\31 50\25 > * {
			padding: 2.25em 0 0 2.25em;
		}

		.row.uniform.\31 50\25 {
			margin: -2.25em 0 -1px -2.25em;
		}

		.row.\35 0\25 > * {
			padding: 0 0 0 0.75em;
		}

		.row.\35 0\25 {
			margin: 0 0 -1px -0.75em;
		}

		.row.uniform.\35 0\25 > * {
			padding: 0.75em 0 0 0.75em;
		}

		.row.uniform.\35 0\25 {
			margin: -0.75em 0 -1px -0.75em;
		}

		.row.\32 5\25 > * {
			padding: 0 0 0 0.375em;
		}

		.row.\32 5\25 {
			margin: 0 0 -1px -0.375em;
		}

		.row.uniform.\32 5\25 > * {
			padding: 0.375em 0 0 0.375em;
		}

		.row.uniform.\32 5\25 {
			margin: -0.375em 0 -1px -0.375em;
		}

		.\31 2u\28medium\29, .\31 2u\24\28medium\29 {
			width: 100%;
			clear: none;
			margin-left: 0;
		}

		.\31 1u\28medium\29, .\31 1u\24\28medium\29 {
			width: 91.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 0u\28medium\29, .\31 0u\24\28medium\29 {
			width: 83.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\39 u\28medium\29, .\39 u\24\28medium\29 {
			width: 75%;
			clear: none;
			margin-left: 0;
		}

		.\38 u\28medium\29, .\38 u\24\28medium\29 {
			width: 66.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\37 u\28medium\29, .\37 u\24\28medium\29 {
			width: 58.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\36 u\28medium\29, .\36 u\24\28medium\29 {
			width: 50%;
			clear: none;
			margin-left: 0;
		}

		.\35 u\28medium\29, .\35 u\24\28medium\29 {
			width: 41.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\34 u\28medium\29, .\34 u\24\28medium\29 {
			width: 33.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\33 u\28medium\29, .\33 u\24\28medium\29 {
			width: 25%;
			clear: none;
			margin-left: 0;
		}

		.\32 u\28medium\29, .\32 u\24\28medium\29 {
			width: 16.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 u\28medium\29, .\31 u\24\28medium\29 {
			width: 8.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\31 2u\24\28medium\29 + *,
		.\31 1u\24\28medium\29 + *,
		.\31 0u\24\28medium\29 + *,
		.\39 u\24\28medium\29 + *,
		.\38 u\24\28medium\29 + *,
		.\37 u\24\28medium\29 + *,
		.\36 u\24\28medium\29 + *,
		.\35 u\24\28medium\29 + *,
		.\34 u\24\28medium\29 + *,
		.\33 u\24\28medium\29 + *,
		.\32 u\24\28medium\29 + *,
		.\31 u\24\28medium\29 + * {
			clear: left;
		}

		.\-11u\28medium\29 {
			margin-left: 91.66667%;
		}

		.\-10u\28medium\29 {
			margin-left: 83.33333%;
		}

		.\-9u\28medium\29 {
			margin-left: 75%;
		}

		.\-8u\28medium\29 {
			margin-left: 66.66667%;
		}

		.\-7u\28medium\29 {
			margin-left: 58.33333%;
		}

		.\-6u\28medium\29 {
			margin-left: 50%;
		}

		.\-5u\28medium\29 {
			margin-left: 41.66667%;
		}

		.\-4u\28medium\29 {
			margin-left: 33.33333%;
		}

		.\-3u\28medium\29 {
			margin-left: 25%;
		}

		.\-2u\28medium\29 {
			margin-left: 16.66667%;
		}

		.\-1u\28medium\29 {
			margin-left: 8.33333%;
		}

	}

	@media screen and (max-width: 736px) {

		.row > * {
			padding: 0 0 0 1.25em;
		}

		.row {
			margin: 0 0 -1px -1.25em;
		}

		.row.uniform > * {
			padding: 1.25em 0 0 1.25em;
		}

		.row.uniform {
			margin: -1.25em 0 -1px -1.25em;
		}

		.row.\32 00\25 > * {
			padding: 0 0 0 2.5em;
		}

		.row.\32 00\25 {
			margin: 0 0 -1px -2.5em;
		}

		.row.uniform.\32 00\25 > * {
			padding: 2.5em 0 0 2.5em;
		}

		.row.uniform.\32 00\25 {
			margin: -2.5em 0 -1px -2.5em;
		}

		.row.\31 50\25 > * {
			padding: 0 0 0 1.875em;
		}

		.row.\31 50\25 {
			margin: 0 0 -1px -1.875em;
		}

		.row.uniform.\31 50\25 > * {
			padding: 1.875em 0 0 1.875em;
		}

		.row.uniform.\31 50\25 {
			margin: -1.875em 0 -1px -1.875em;
		}

		.row.\35 0\25 > * {
			padding: 0 0 0 0.625em;
		}

		.row.\35 0\25 {
			margin: 0 0 -1px -0.625em;
		}

		.row.uniform.\35 0\25 > * {
			padding: 0.625em 0 0 0.625em;
		}

		.row.uniform.\35 0\25 {
			margin: -0.625em 0 -1px -0.625em;
		}

		.row.\32 5\25 > * {
			padding: 0 0 0 0.3125em;
		}

		.row.\32 5\25 {
			margin: 0 0 -1px -0.3125em;
		}

		.row.uniform.\32 5\25 > * {
			padding: 0.3125em 0 0 0.3125em;
		}

		.row.uniform.\32 5\25 {
			margin: -0.3125em 0 -1px -0.3125em;
		}

		.\31 2u\28small\29, .\31 2u\24\28small\29 {
			width: 100%;
			clear: none;
			margin-left: 0;
		}

		.\31 1u\28small\29, .\31 1u\24\28small\29 {
			width: 91.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 0u\28small\29, .\31 0u\24\28small\29 {
			width: 83.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\39 u\28small\29, .\39 u\24\28small\29 {
			width: 75%;
			clear: none;
			margin-left: 0;
		}

		.\38 u\28small\29, .\38 u\24\28small\29 {
			width: 66.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\37 u\28small\29, .\37 u\24\28small\29 {
			width: 58.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\36 u\28small\29, .\36 u\24\28small\29 {
			width: 50%;
			clear: none;
			margin-left: 0;
		}

		.\35 u\28small\29, .\35 u\24\28small\29 {
			width: 41.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\34 u\28small\29, .\34 u\24\28small\29 {
			width: 33.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\33 u\28small\29, .\33 u\24\28small\29 {
			width: 25%;
			clear: none;
			margin-left: 0;
		}

		.\32 u\28small\29, .\32 u\24\28small\29 {
			width: 16.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 u\28small\29, .\31 u\24\28small\29 {
			width: 8.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\31 2u\24\28small\29 + *,
		.\31 1u\24\28small\29 + *,
		.\31 0u\24\28small\29 + *,
		.\39 u\24\28small\29 + *,
		.\38 u\24\28small\29 + *,
		.\37 u\24\28small\29 + *,
		.\36 u\24\28small\29 + *,
		.\35 u\24\28small\29 + *,
		.\34 u\24\28small\29 + *,
		.\33 u\24\28small\29 + *,
		.\32 u\24\28small\29 + *,
		.\31 u\24\28small\29 + * {
			clear: left;
		}

		.\-11u\28small\29 {
			margin-left: 91.66667%;
		}

		.\-10u\28small\29 {
			margin-left: 83.33333%;
		}

		.\-9u\28small\29 {
			margin-left: 75%;
		}

		.\-8u\28small\29 {
			margin-left: 66.66667%;
		}

		.\-7u\28small\29 {
			margin-left: 58.33333%;
		}

		.\-6u\28small\29 {
			margin-left: 50%;
		}

		.\-5u\28small\29 {
			margin-left: 41.66667%;
		}

		.\-4u\28small\29 {
			margin-left: 33.33333%;
		}

		.\-3u\28small\29 {
			margin-left: 25%;
		}

		.\-2u\28small\29 {
			margin-left: 16.66667%;
		}

		.\-1u\28small\29 {
			margin-left: 8.33333%;
		}

	}

	@media screen and (max-width: 480px) {

		.row > * {
			padding: 0 0 0 1.25em;
		}

		.row {
			margin: 0 0 -1px -1.25em;
		}

		.row.uniform > * {
			padding: 1.25em 0 0 1.25em;
		}

		.row.uniform {
			margin: -1.25em 0 -1px -1.25em;
		}

		.row.\32 00\25 > * {
			padding: 0 0 0 2.5em;
		}

		.row.\32 00\25 {
			margin: 0 0 -1px -2.5em;
		}

		.row.uniform.\32 00\25 > * {
			padding: 2.5em 0 0 2.5em;
		}

		.row.uniform.\32 00\25 {
			margin: -2.5em 0 -1px -2.5em;
		}

		.row.\31 50\25 > * {
			padding: 0 0 0 1.875em;
		}

		.row.\31 50\25 {
			margin: 0 0 -1px -1.875em;
		}

		.row.uniform.\31 50\25 > * {
			padding: 1.875em 0 0 1.875em;
		}

		.row.uniform.\31 50\25 {
			margin: -1.875em 0 -1px -1.875em;
		}

		.row.\35 0\25 > * {
			padding: 0 0 0 0.625em;
		}

		.row.\35 0\25 {
			margin: 0 0 -1px -0.625em;
		}

		.row.uniform.\35 0\25 > * {
			padding: 0.625em 0 0 0.625em;
		}

		.row.uniform.\35 0\25 {
			margin: -0.625em 0 -1px -0.625em;
		}

		.row.\32 5\25 > * {
			padding: 0 0 0 0.3125em;
		}

		.row.\32 5\25 {
			margin: 0 0 -1px -0.3125em;
		}

		.row.uniform.\32 5\25 > * {
			padding: 0.3125em 0 0 0.3125em;
		}

		.row.uniform.\32 5\25 {
			margin: -0.3125em 0 -1px -0.3125em;
		}

		.\31 2u\28xsmall\29, .\31 2u\24\28xsmall\29 {
			width: 100%;
			clear: none;
			margin-left: 0;
		}

		.\31 1u\28xsmall\29, .\31 1u\24\28xsmall\29 {
			width: 91.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 0u\28xsmall\29, .\31 0u\24\28xsmall\29 {
			width: 83.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\39 u\28xsmall\29, .\39 u\24\28xsmall\29 {
			width: 75%;
			clear: none;
			margin-left: 0;
		}

		.\38 u\28xsmall\29, .\38 u\24\28xsmall\29 {
			width: 66.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\37 u\28xsmall\29, .\37 u\24\28xsmall\29 {
			width: 58.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\36 u\28xsmall\29, .\36 u\24\28xsmall\29 {
			width: 50%;
			clear: none;
			margin-left: 0;
		}

		.\35 u\28xsmall\29, .\35 u\24\28xsmall\29 {
			width: 41.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\34 u\28xsmall\29, .\34 u\24\28xsmall\29 {
			width: 33.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\33 u\28xsmall\29, .\33 u\24\28xsmall\29 {
			width: 25%;
			clear: none;
			margin-left: 0;
		}

		.\32 u\28xsmall\29, .\32 u\24\28xsmall\29 {
			width: 16.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 u\28xsmall\29, .\31 u\24\28xsmall\29 {
			width: 8.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\31 2u\24\28xsmall\29 + *,
		.\31 1u\24\28xsmall\29 + *,
		.\31 0u\24\28xsmall\29 + *,
		.\39 u\24\28xsmall\29 + *,
		.\38 u\24\28xsmall\29 + *,
		.\37 u\24\28xsmall\29 + *,
		.\36 u\24\28xsmall\29 + *,
		.\35 u\24\28xsmall\29 + *,
		.\34 u\24\28xsmall\29 + *,
		.\33 u\24\28xsmall\29 + *,
		.\32 u\24\28xsmall\29 + *,
		.\31 u\24\28xsmall\29 + * {
			clear: left;
		}

		.\-11u\28xsmall\29 {
			margin-left: 91.66667%;
		}

		.\-10u\28xsmall\29 {
			margin-left: 83.33333%;
		}

		.\-9u\28xsmall\29 {
			margin-left: 75%;
		}

		.\-8u\28xsmall\29 {
			margin-left: 66.66667%;
		}

		.\-7u\28xsmall\29 {
			margin-left: 58.33333%;
		}

		.\-6u\28xsmall\29 {
			margin-left: 50%;
		}

		.\-5u\28xsmall\29 {
			margin-left: 41.66667%;
		}

		.\-4u\28xsmall\29 {
			margin-left: 33.33333%;
		}

		.\-3u\28xsmall\29 {
			margin-left: 25%;
		}

		.\-2u\28xsmall\29 {
			margin-left: 16.66667%;
		}

		.\-1u\28xsmall\29 {
			margin-left: 8.33333%;
		}

	}

	@media screen and (max-width: 360px) {

		.row > * {
			padding: 0 0 0 1.25em;
		}

		.row {
			margin: 0 0 -1px -1.25em;
		}

		.row.uniform > * {
			padding: 1.25em 0 0 1.25em;
		}

		.row.uniform {
			margin: -1.25em 0 -1px -1.25em;
		}

		.row.\32 00\25 > * {
			padding: 0 0 0 2.5em;
		}

		.row.\32 00\25 {
			margin: 0 0 -1px -2.5em;
		}

		.row.uniform.\32 00\25 > * {
			padding: 2.5em 0 0 2.5em;
		}

		.row.uniform.\32 00\25 {
			margin: -2.5em 0 -1px -2.5em;
		}

		.row.\31 50\25 > * {
			padding: 0 0 0 1.875em;
		}

		.row.\31 50\25 {
			margin: 0 0 -1px -1.875em;
		}

		.row.uniform.\31 50\25 > * {
			padding: 1.875em 0 0 1.875em;
		}

		.row.uniform.\31 50\25 {
			margin: -1.875em 0 -1px -1.875em;
		}

		.row.\35 0\25 > * {
			padding: 0 0 0 0.625em;
		}

		.row.\35 0\25 {
			margin: 0 0 -1px -0.625em;
		}

		.row.uniform.\35 0\25 > * {
			padding: 0.625em 0 0 0.625em;
		}

		.row.uniform.\35 0\25 {
			margin: -0.625em 0 -1px -0.625em;
		}

		.row.\32 5\25 > * {
			padding: 0 0 0 0.3125em;
		}

		.row.\32 5\25 {
			margin: 0 0 -1px -0.3125em;
		}

		.row.uniform.\32 5\25 > * {
			padding: 0.3125em 0 0 0.3125em;
		}

		.row.uniform.\32 5\25 {
			margin: -0.3125em 0 -1px -0.3125em;
		}

		.\31 2u\28xxsmall\29, .\31 2u\24\28xxsmall\29 {
			width: 100%;
			clear: none;
			margin-left: 0;
		}

		.\31 1u\28xxsmall\29, .\31 1u\24\28xxsmall\29 {
			width: 91.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 0u\28xxsmall\29, .\31 0u\24\28xxsmall\29 {
			width: 83.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\39 u\28xxsmall\29, .\39 u\24\28xxsmall\29 {
			width: 75%;
			clear: none;
			margin-left: 0;
		}

		.\38 u\28xxsmall\29, .\38 u\24\28xxsmall\29 {
			width: 66.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\37 u\28xxsmall\29, .\37 u\24\28xxsmall\29 {
			width: 58.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\36 u\28xxsmall\29, .\36 u\24\28xxsmall\29 {
			width: 50%;
			clear: none;
			margin-left: 0;
		}

		.\35 u\28xxsmall\29, .\35 u\24\28xxsmall\29 {
			width: 41.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\34 u\28xxsmall\29, .\34 u\24\28xxsmall\29 {
			width: 33.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\33 u\28xxsmall\29, .\33 u\24\28xxsmall\29 {
			width: 25%;
			clear: none;
			margin-left: 0;
		}

		.\32 u\28xxsmall\29, .\32 u\24\28xxsmall\29 {
			width: 16.6666666667%;
			clear: none;
			margin-left: 0;
		}

		.\31 u\28xxsmall\29, .\31 u\24\28xxsmall\29 {
			width: 8.3333333333%;
			clear: none;
			margin-left: 0;
		}

		.\31 2u\24\28xxsmall\29 + *,
		.\31 1u\24\28xxsmall\29 + *,
		.\31 0u\24\28xxsmall\29 + *,
		.\39 u\24\28xxsmall\29 + *,
		.\38 u\24\28xxsmall\29 + *,
		.\37 u\24\28xxsmall\29 + *,
		.\36 u\24\28xxsmall\29 + *,
		.\35 u\24\28xxsmall\29 + *,
		.\34 u\24\28xxsmall\29 + *,
		.\33 u\24\28xxsmall\29 + *,
		.\32 u\24\28xxsmall\29 + *,
		.\31 u\24\28xxsmall\29 + * {
			clear: left;
		}

		.\-11u\28xxsmall\29 {
			margin-left: 91.66667%;
		}

		.\-10u\28xxsmall\29 {
			margin-left: 83.33333%;
		}

		.\-9u\28xxsmall\29 {
			margin-left: 75%;
		}

		.\-8u\28xxsmall\29 {
			margin-left: 66.66667%;
		}

		.\-7u\28xxsmall\29 {
			margin-left: 58.33333%;
		}

		.\-6u\28xxsmall\29 {
			margin-left: 50%;
		}

		.\-5u\28xxsmall\29 {
			margin-left: 41.66667%;
		}

		.\-4u\28xxsmall\29 {
			margin-left: 33.33333%;
		}

		.\-3u\28xxsmall\29 {
			margin-left: 25%;
		}

		.\-2u\28xxsmall\29 {
			margin-left: 16.66667%;
		}

		.\-1u\28xxsmall\29 {
			margin-left: 8.33333%;
		}

	}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	body {
		background: #1c1c1c;
	}

		body.is-loading *, body.is-loading *:before, body.is-loading *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body, input, select, textarea {
		color: #ffffff;
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 17pt;
		font-weight: 300;
		letter-spacing: 0.025em;
		line-height: 1.65;
	}

		@media screen and (max-width: 1680px) {

			body, input, select, textarea {
				font-size: 14pt;
			}

		}

		@media screen and (max-width: 1280px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

		@media screen and (max-width: 360px) {

			body, input, select, textarea {
				font-size: 11pt;
			}

		}

	a {
		-moz-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
		border-bottom: dotted 1px;
		color: inherit;
		text-decoration: none;
        
        border-bottom-color: transparent
	}

		a:hover {
			border-bottom-color: transparent;
			color: #d52634 !important;
		}

		a:active {
			color: #d52634 !important;
		}

	strong, b {
		color: #ffffff;
		font-weight: 600;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 1.5em 0 1.5em 0;
        font-size: 17px;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #ffffff;
		font-weight: 600;
		line-height: 1.65;
		margin: 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
			border-bottom: 0;
		}

	h1 {
		font-size: 2.5em;
	}

	h2 {
		font-size: 1.75em;
	}

	h3 {
		font-size: 1.35em;
	}

	h4 {
		font-size: 1.1em;
	}

	h5 {
		font-size: 0.9em;
	}

	h6 {
		font-size: 0.7em;
	}

	@media screen and (max-width: 736px) {

		h1 {
			font-size: 2em;
		}

		h2 {
			font-size: 1.5em;
		}

		h3 {
			font-size: 1.25em;
		}

	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	blockquote {
		border-left: solid 4px rgba(212, 212, 255, 0.1);
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		background: rgba(212, 212, 255, 0.035);
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0.25em;
		padding: 0.25em 0.65em;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 1em 0 ;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px rgba(212, 212, 255, 0.1);
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		text-align: right;
	}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header.major {
 
		margin-bottom: 2em;
	}

		header.major > :first-child {
			margin-bottom: 0;
			width: calc(100% + 0.5em);
		}

			header.major > :first-child:after {
				content: '';
				/* background-color: #ffffff; */
				display: block;
				height: 2px;
				margin: 0.1em 0 0 0;
				width: 100%;
			}

		header.major > p {
			font-size: 0.7em;
			font-weight: 600;
			letter-spacing: 0.25em;
			margin-bottom: 0;
			text-transform: uppercase;
		}

		body.is-ie header.major > :first-child:after {
			max-width: 9em;
		}

		body.is-ie header.major > h1:after {
			max-width: 100% !important;
		}

	@media screen and (max-width: 736px) {

		header.major > p br {
			display: none;
		}

	}

/* Form */

	form {
		margin: 0 0 2em 0;
	}

		form .field {
			margin: 0 0 2em 0;
		}

			form .field.half {
				width: 50%;
				float: left;
				padding: 0 0 0 1em;
			}

				form .field.half.first {
					padding: 0 1em 0 0;
				}

		form > .actions {
			margin: 2.5em 0 0 0 !important;
		}

		@media screen and (max-width: 736px) {

			form .field {
				margin: 0 0 1.5em 0;
			}

				form .field.half {
					padding: 0 0 0 0.75em;
				}

					form .field.half.first {
						padding: 0 0.75em 0 0;
					}

			form > .actions {
				margin: 2em 0 0 0 !important;
			}

		}

		@media screen and (max-width: 480px) {

			form .field.half {
				width: 100%;
				float: none;
				padding: 0;
			}

				form .field.half.first {
					padding: 0;
				}

		}

	label {
		color: #ffffff;
		display: block;
		font-size: 0.8em;
		font-weight: 600;
		letter-spacing: 0.25em;
		margin: 0 0 1em 0;
		text-transform: uppercase;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		background: rgba(212, 212, 255, 0.035);
		border: none;
		border-radius: 0;
		color: inherit;
		display: block;
		outline: 0;
		padding: 0 1em;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		input[type="tel"]:invalid,
		input[type="search"]:invalid,
		input[type="url"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		input[type="tel"]:focus,
		input[type="search"]:focus,
		input[type="url"]:focus,
		select:focus,
		textarea:focus {
			border-color: #9bf1ff;
			box-shadow: 0 0 0 2px #9bf1ff;
		}

	.select-wrapper {
		text-decoration: none;
		display: block;
		position: relative;
	}

		.select-wrapper:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			font-family: FontAwesome;
			font-style: normal;
			font-weight: normal;
			text-transform: none !important;
		}

		.select-wrapper:before {
			color: rgba(212, 212, 255, 0.1);
			content: '\f078';
			display: block;
			height: 2.75em;
			line-height: 2.75em;
			pointer-events: none;
			position: absolute;
			right: 0;
			text-align: center;
			top: 0;
			width: 2.75em;
		}

		.select-wrapper select::-ms-expand {
			display: none;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	input[type="tel"],
	input[type="search"],
	input[type="url"],
	select {
		height: 2.75em;
	}

	textarea {
		padding: 0.75em 1em;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2em;
		opacity: 0;
		width: 1em;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			color: #ffffff;
			cursor: pointer;
			display: inline-block;
			font-weight: 300;
			padding-left: 2.65em;
			padding-right: 0.75em;
			position: relative;
		}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				font-family: FontAwesome;
				font-style: normal;
				font-weight: normal;
				text-transform: none !important;
			}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				background: rgba(212, 212, 255, 0.035);
				content: '';
				display: inline-block;
				height: 1.65em;
				left: 0;
				letter-spacing: 0;
				line-height: 1.58125em;
				position: absolute;
				text-align: center;
				top: 0;
				width: 1.65em;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			background: #ffffff;
			border-color: #9bf1ff;
			content: '\f00c';
			color: #242943;
		}

		input[type="checkbox"]:focus + label:before,
		input[type="radio"]:focus + label:before {
			box-shadow: 0 0 0 2px #9bf1ff;
		}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		color: rgba(244, 244, 255, 0.2) !important;
		opacity: 1.0;
	}

	:-moz-placeholder {
		color: rgba(244, 244, 255, 0.2) !important;
		opacity: 1.0;
	}

	::-moz-placeholder {
		color: rgba(244, 244, 255, 0.2) !important;
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		color: rgba(244, 244, 255, 0.2) !important;
		opacity: 1.0;
	}

	.formerize-placeholder {
		color: rgba(244, 244, 255, 0.2) !important;
		opacity: 1.0;
	}

/* Box */

	.box {
		border: solid 1px rgba(212, 212, 255, 0.1);
		margin-bottom: 2em;
		padding: 1.5em;
	}

		.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;
		}

/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			font-family: FontAwesome;
			font-style: normal;
			font-weight: normal;
			text-transform: none !important;
		}

		.icon > .label {
			display: none;
		}

		.icon.alt:before {
			background-color: #ffffff;
			border-radius: 100%;
			color: #242943;
			display: inline-block;
			height: 2em;
			line-height: 2em;
			text-align: center;
			width: 2em;
		}

	a.icon.alt:before {
		-moz-transition: background-color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out;
	}

	a.icon.alt:hover:before {
		background-color: #d52634;
	}

	a.icon.alt:active:before {
		background-color: #37a6cb;
	}

/* Image */

	.image {
		border: 0;
		display: inline-block;
		position: relative;
        width: 100%;
	}

		.image img {
			display: block;
		}

		.image.left, .image.right {
			max-width: 30%;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.left {
			float: left;
			margin: 0 1.5em 1.25em 0;
			top: 0.25em;
		}

		.image.right {
			float: right;
			margin: 0 0 1.25em 1.5em;
			top: 0.25em;
		}

		.image.fit {
			display: block;
			margin: 0 0 2em 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.main {
			display: block;
			margin: 2.5em 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}

			@media screen and (max-width: 736px) {

				.image.main {
					margin: 1.5em 0;
				}

			}

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 2em 0;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

	ul { 
		margin: 0 0 2em 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt li {
				border-top: solid 1px rgba(212, 212, 255, 0.1);
				padding: 0.5em 0;
			}

				ul.alt li:first-child {
					border-top: 0;
					padding-top: 0;
				}

		ul.icons {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.icons li {
				display: inline-block;
				padding: 0 1em 0 0;
			}

				ul.icons li:last-child {
					padding-right: 0;
				}

			@media screen and (max-width: 736px) {

				ul.icons li {
					padding: 0 0.75em 0 0;
				}

			}

		ul.actions {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.actions li {
				display: inline-block;
				padding: 0 1em 0 0;
				vertical-align: middle;
			}

				ul.actions li:last-child {
					padding-right: 0;
				}

			ul.actions.small li {
				padding: 0 1em 0 0;
			}

			ul.actions.vertical li {
				display: block;
				padding: 1em 0 0 0;
			}

				ul.actions.vertical li:first-child {
					padding-top: 0;
				}

				ul.actions.vertical li > * {
					margin-bottom: 0;
				}

			ul.actions.vertical.small li:first-child {
				padding-top: 0;
			}

			ul.actions.fit {
				display: table;
				margin-left: -1em;
				padding: 0;
				table-layout: fixed;
				width: calc(100% + 1em);
			}

				ul.actions.fit li {
					display: table-cell;
					padding: 0 0 0 1em;
				}

					ul.actions.fit li > * {
						margin-bottom: 0;
					}

				ul.actions.fit.small {
					margin-left: -1em;
					width: calc(100% + 1em);
				}

					ul.actions.fit.small li {
						padding: 0 0 0 1em;
					}

		ul.pagination {
			cursor: default;
			list-style: none;
			padding-left: 0;
		}

			ul.pagination li {
				display: inline-block;
				padding-left: 0;
				vertical-align: middle;
			}

				ul.pagination li > .page {
					-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					border-bottom: 0;
					display: inline-block;
					font-size: 0.8em;
					font-weight: 600;
					height: 1.5em;
					line-height: 1.5em;
					margin: 0 0.125em;
					min-width: 1.5em;
					padding: 0 0.5em;
					text-align: center;
				}

					ul.pagination li > .page.active {
						background-color: #ffffff;
						color: #242943;
					}

						ul.pagination li > .page.active:hover {
							background-color: #d52634;
							color: #242943 !important;
						}

						ul.pagination li > .page.active:active {
							background-color: #d52634;
						}

				ul.pagination li:first-child {
					padding-right: 0.75em;
				}

				ul.pagination li:last-child {
					padding-left: 0.75em;
				}

			@media screen and (max-width: 480px) {

				ul.pagination li:nth-child(n+2):nth-last-child(n+2) {
					display: none;
				}

				ul.pagination li:first-child {
					padding-right: 0;
				}

			}

	dl {
		margin: 0 0 2em 0;
	}

		dl dt {
			display: block;
			font-weight: 600;
			margin: 0 0 1em 0;
		}

		dl dd {
			margin-left: 2em;
		}

/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2em 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px rgba(212, 212, 255, 0.1);
			border-left: 0;
			border-right: 0;
		}

			table tbody tr:nth-child(2n + 1) {
				background-color: rgba(212, 212, 255, 0.035);
			}

		table td {
			padding: 0.75em 0.75em;
		}

		table th {
			color: #ffffff;
			font-size: 0.9em;
			font-weight: 600;
			padding: 0 0.75em 0.75em 0.75em;
			text-align: left;
		}

		table thead {
			border-bottom: solid 2px rgba(212, 212, 255, 0.1);
		}

		table tfoot {
			border-top: solid 2px rgba(212, 212, 255, 0.1);
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px rgba(212, 212, 255, 0.1);
				border-left-width: 0;
				border-top-width: 0;
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;
			}

			table.alt tfoot {
				border-top: 0;
			}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		background-color: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: inset 0 0 0 2px #ffffff;
		color: #ffffff;
		cursor: pointer;
		display: inline-block;
		font-size: 0.8em;
		font-weight: 600;
		height: 3.5em;
		letter-spacing: 0.25em;
		line-height: 3.5em;
		padding: 0 1.75em;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"]:hover, input[type="submit"]:active,
		input[type="reset"]:hover,
		input[type="reset"]:active,
		input[type="button"]:hover,
		input[type="button"]:active,
		button:hover,
		button:active,
		.button:hover,
		.button:active {
			box-shadow: inset 0 0 0 2px #d52634;
			color: #d52634;
		}

		input[type="submit"]:active,
		input[type="reset"]:active,
		input[type="button"]:active,
		button:active,
		.button:active {
			background-color: rgba(155, 241, 255, 0.1);
			box-shadow: inset 0 0 0 2px #d52634;
			color: #d52634;
		}

		input[type="submit"].icon:before,
		input[type="reset"].icon:before,
		input[type="button"].icon:before,
		button.icon:before,
		.button.icon:before {
			margin-right: 0.5em;
		}

		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"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.6em;
		}

		input[type="submit"].big,
		input[type="reset"].big,
		input[type="button"].big,
		button.big,
		.button.big {
			font-size: 1.25em;
			height: 3em;
			line-height: 3em;
		}

		input[type="submit"].next,
		input[type="reset"].next,
		input[type="button"].next,
		button.next,
		.button.next {
			padding-right: 4.5em;
			position: relative;
		}

			input[type="submit"].next:before, input[type="submit"].next:after,
			input[type="reset"].next:before,
			input[type="reset"].next:after,
			input[type="button"].next:before,
			input[type="button"].next:after,
			button.next:before,
			button.next:after,
			.button.next:before,
			.button.next:after {
				-moz-transition: opacity 0.2s ease-in-out;
				-webkit-transition: opacity 0.2s ease-in-out;
				-ms-transition: opacity 0.2s ease-in-out;
				transition: opacity 0.2s ease-in-out;
				background-position: center right;
				background-repeat: no-repeat;
				background-size: 36px 24px;
				content: '';
				display: block;
				height: 100%;
				position: absolute;
				right: 1.5em;
				top: 0;
				vertical-align: middle;
				width: 36px;
			}

			input[type="submit"].next:before,
			input[type="reset"].next:before,
			input[type="button"].next:before,
			button.next:before,
			.button.next:before {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='36px' height='24px' viewBox='0 0 36 24' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %23ffffff%3B stroke-width: 2px%3B %7D%3C/style%3E%3Cline x1='0' y1='12' x2='34' y2='12' /%3E%3Cline x1='25' y1='4' x2='34' y2='12.5' /%3E%3Cline x1='25' y1='20' x2='34' y2='11.5' /%3E%3C/svg%3E");
			}

			input[type="submit"].next:after,
			input[type="reset"].next:after,
			input[type="button"].next:after,
			button.next:after,
			.button.next:after {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='36px' height='24px' viewBox='0 0 36 24' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %239bf1ff%3B stroke-width: 2px%3B %7D%3C/style%3E%3Cline x1='0' y1='12' x2='34' y2='12' /%3E%3Cline x1='25' y1='4' x2='34' y2='12.5' /%3E%3Cline x1='25' y1='20' x2='34' y2='11.5' /%3E%3C/svg%3E");
				opacity: 0;
				z-index: 1;
			}

			input[type="submit"].next:hover:after, input[type="submit"].next:active:after,
			input[type="reset"].next:hover:after,
			input[type="reset"].next:active:after,
			input[type="button"].next:hover:after,
			input[type="button"].next:active:after,
			button.next:hover:after,
			button.next:active:after,
			.button.next:hover:after,
			.button.next:active:after {
				opacity: 1;
			}

			@media screen and (max-width: 1280px) {

				input[type="submit"].next,
				input[type="reset"].next,
				input[type="button"].next,
				button.next,
				.button.next {
					padding-right: 5em;
				}

			}

		input[type="submit"].special,
		input[type="reset"].special,
		input[type="button"].special,
		button.special,
		.button.special {
			background-color: #ffffff;
			box-shadow: none;
			color: #242943;
		}

			input[type="submit"].special:hover, input[type="submit"].special:active,
			input[type="reset"].special:hover,
			input[type="reset"].special:active,
			input[type="button"].special:hover,
			input[type="button"].special:active,
			button.special:hover,
			button.special:active,
			.button.special:hover,
			.button.special:active {
				background-color: #9bf1ff;
				color: #242943 !important;
			}

			input[type="submit"].special:active,
			input[type="reset"].special:active,
			input[type="button"].special:active,
			button.special:active,
			.button.special:active {
				background-color: #53e3fb;
			}

		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;
			cursor: default;
			opacity: 0.25;
		}

/* Tiles */

	.tiles {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		border-top: 0 !important;
	}

		.tiles + * {
			border-top: 0 !important;
		}

		.tiles article {
			-moz-align-items: center;
			-webkit-align-items: center;
			-ms-align-items: center;
			align-items: center;
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-transition: -moz-transform 0.25s ease, opacity 0.25s ease, -moz-filter 1s ease, -webkit-filter 1s ease;
			-webkit-transition: -webkit-transform 0.25s ease, opacity 0.25s ease, -webkit-filter 1s ease, -webkit-filter 1s ease;
			-ms-transition: -ms-transform 0.25s ease, opacity 0.25s ease, -ms-filter 1s ease, -webkit-filter 1s ease;
			transition: transform 0.25s ease, opacity 0.25s ease, filter 1s ease, -webkit-filter 1s ease;
			padding: 4em 4em 2em 4em ;
			background-position: center;
			background-repeat: no-repeat;
			background-size: cover;
			cursor: default;
			height: 40vh;
			max-height: 40em;
			min-height: 23em;
			overflow: hidden;
			position: relative;
			width: 40%;
		}

			.tiles article .image {
				display: none;
			}

			.tiles article header {
				position: relative;
				z-index: 3;
			}

			.tiles article h3 {
				font-size: 1.75em;
			}

				.tiles article h3 a:hover {
					color: inherit !important;
				}

			.tiles article .link.primary {
				border: 0;
				height: 100%;
				left: 0;
				position: absolute;
				top: 0;
				width: 100%;
				z-index: 4;
			}

			.tiles article:before {
				-moz-transition: opacity 0.5s ease;
				-webkit-transition: opacity 0.5s ease;
				-ms-transition: opacity 0.5s ease;
				transition: opacity 0.5s ease;
				bottom: 0;
				content: '';
				display: block;
				height: 100%;
				left: 0;
				opacity: 0.85;
				position: absolute;
				width: 100%;
				z-index: 2;
			}

			.tiles article:after {
				background-color: rgba(36, 41, 67, 0.25);
				content: '';
				display: block;
				height: 100%;
				left: 0;
				position: absolute;
				top: 0;
				width: 100%;
				z-index: 1;
			}

			.tiles article:hover:before {
				opacity: 0;
			}

			.tiles article.is-transitioning {
				-moz-transform: scale(0.95);
				-webkit-transform: scale(0.95);
				-ms-transform: scale(0.95);
				transform: scale(0.95);
				-moz-filter: blur(0.5em);
				-webkit-filter: blur(0.5em);
				-ms-filter: blur(0.5em);
				filter: blur(0.5em);
				opacity: 0;
			}

			.tiles article:nth-child(4n - 1), .tiles article:nth-child(4n - 2) {
				width: 60%;
			}

			.tiles article:nth-child(6n - 5):before {
				background-color: #6fc3df;
			}

			.tiles article:nth-child(6n - 4):before {
				background-color: #8d82c4;
			}

			.tiles article:nth-child(6n - 3):before {
				background-color: #ec8d81;
			}

			.tiles article:nth-child(6n - 2):before {
				background-color: #e7b788;
			}

			.tiles article:nth-child(6n - 1):before {
				background-color: #8ea9e8;
			}

			.tiles article:nth-child(6n):before {
				background-color: #87c5a4;
			}

		@media screen and (max-width: 1280px) {

			.tiles article {
				padding: 4em 3em 2em 3em ;
				height: 30vh;
				max-height: 30em;
				min-height: 20em;
			}

		}

		@media screen and (max-width: 980px) {

			.tiles article {
				width: 50% !important;
			}

		}

		@media screen and (max-width: 736px) {

			.tiles article {
				padding: 3em 1.5em 1em 1.5em ;
				height: 16em;
				max-height: none;
				min-height: 0;
			}

				.tiles article h3 {
					font-size: 1.5em;
				}

		}

		@media screen and (max-width: 480px) {

			.tiles {
				display: block;
			}

				.tiles article {
					height: 20em;
					width: 100% !important;
				}

		}

/* Contact Method */

	.contact-method {
		margin: 0 0 2em 0;
		padding-left: 3.25em;
		position: relative;
	}

		.contact-method .icon {
			left: 0;
			position: absolute;
			top: 0;
		}

		.contact-method h3 {
			margin: 0 0 0.5em 0;
		}

/* Spotlights */

	.spotlights {
		border-top: 0 !important;
	}

		.spotlights + * {
			border-top: 0 !important;
		}

		.spotlights > section {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-direction: row;
			-webkit-flex-direction: row;
			-ms-flex-direction: row;
			flex-direction: row; 
		}

			.spotlights > section > .image {
				background-position: center center;
				background-size: cover;
				border-radius: 0;
				display: block;
				position: relative;
				width: 30%;
			}

				.spotlights > section > .image img {
					border-radius: 0;
					display: block;
					width: 100%;
				}

				.spotlights > section > .image:before {
					background: rgba(36, 41, 67, 0.9);
					content: '';
					display: block;
					height: 100%;
					left: 0;
					opacity: 0;
					position: absolute;
					top: 0;
					width: 100%;
				}

			.spotlights > section > .content {
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				padding: 2em 3em 0.1em 3em ;
				width: 70%;
			}

				.spotlights > section > .content > .inner {
					margin: 0 auto;
					max-width: 100%;
					width: 65em;
				}

			.spotlights > section:nth-child(2n) {
				-moz-flex-direction: row-reverse;
				-webkit-flex-direction: row-reverse;
				-ms-flex-direction: row-reverse;
				flex-direction: row-reverse;
			 
			}

				.spotlights > section:nth-child(2n) > .content {
					-moz-align-items: -moz-flex-end;
					-webkit-align-items: -webkit-flex-end;
					-ms-align-items: -ms-flex-end;
					align-items: flex-end;
				}

		@media screen and (max-width: 1680px) {

			.spotlights > section > .image {
				width: 40%;
			}

			.spotlights > section > .content {
				width: 60%;
			}

		}

		@media screen and (max-width: 1280px) {

			.spotlights > section > .image {
				width: 45%;
			}

			.spotlights > section > .content {
				width: 55%;
			}

		}

		@media screen and (max-width: 980px) {

			.spotlights > section {
				display: block;
			}

				.spotlights > section > .image {
					width: 100%;
				}

				.spotlights > section > .content {
					padding: 4em 3em 2em 3em ;
					width: 100%;
				}

		}

		@media screen and (max-width: 736px) {

			.spotlights > section > .content {
				padding: 3em 1.5em 1em 1.5em ;
			}

		}

/* Header */

	@-moz-keyframes reveal-header {
		0% {
			top: -4em;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	@-webkit-keyframes reveal-header {
		0% {
			top: -4em;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	@-ms-keyframes reveal-header {
		0% {
			top: -4em;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	@keyframes reveal-header {
		0% {
			top: -4em;
			opacity: 0;
		}

		100% {
			top: 0;
			opacity: 1;
		}
	}

	#header {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		background-color: #1c1c1c;
		box-shadow: 0 0 0.25em 0 rgba(0, 0, 0, 0.15);
		cursor: default;
		font-weight: 600;
		height: 3.25em;
		left: 0;
		letter-spacing: 0.25em;
		line-height: 3.25em;
		margin: 0;
		position: fixed;
		text-transform: uppercase;
		top: 0;
		width: 100%;
		z-index: 10000;
		border-bottom: 2px solid #c5c5c5;
	}
		#header .logo {
			border: 0;
			display: inline-block;
			font-size: 0.8em;
			height: inherit;
			line-height: inherit;
			padding: 0;
		}

			#header .logo strong {
				-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
				-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
				-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
				transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
				background-color: #ffffff;
				color: #242943;
				display: inline-block;
				line-height: 1.65em;
				margin-right: 0.325em;
				padding: 0 0.125em 0 0.375em;
			}

			#header .logo:hover strong {
				background-color: #d52634;
			}

			#header .logo:active strong {
				background-color: #53e3fb;
			}

		#header nav {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-justify-content: -moz-flex-end;
			-webkit-justify-content: -webkit-flex-end;
			-ms-justify-content: -ms-flex-end;
			justify-content: flex-end;
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
			height: inherit;
			line-height: inherit;
		}

			#header nav a {
				border: 0;
				display: block;
				font-size: 0.8em;
				height: inherit;
				line-height: inherit;
				padding: 0 0.75em;
				position: relative;
				vertical-align: middle;
			}

				#header nav a:last-child {
					padding-right: 1.5em;
				}

				#header nav a[href="#menu"] {
					padding-right: 3.325em !important;
				}

					/* Hamburger glyph, shown to the right of the "Menu" label
					   (the padding-right above reserves the space for it). */
					#header nav a[href="#menu"]:before {
						-moz-osx-font-smoothing: grayscale;
						-webkit-font-smoothing: antialiased;
						content: '\f0c9';
						font-family: FontAwesome;
						font-style: normal;
						font-weight: normal;
						text-transform: none !important;
						position: absolute;
						top: 50%;
						right: 1.5em;
						-moz-transform: translateY(-50%);
						-webkit-transform: translateY(-50%);
						-ms-transform: translateY(-50%);
						transform: translateY(-50%);
						line-height: 1;
					}

					#header nav a[href="#menu"]:hover:after, #header nav a[href="#menu"]:active:after {
						opacity: 1;
					}

					#header nav a[href="#menu"]:last-child {
						padding-right: 3.875em !important;
					}

						#header nav a[href="#menu"]:last-child:before, #header nav a[href="#menu"]:last-child:after {
							right: 2em;
						}

		#header.reveal {
			-moz-animation: reveal-header 0.35s ease;
			-webkit-animation: reveal-header 0.35s ease;
			-ms-animation: reveal-header 0.35s ease;
			animation: reveal-header 0.35s ease;
		}

		#header.alt {
			-moz-transition: opacity 2.5s ease;
			-webkit-transition: opacity 2.5s ease;
			-ms-transition: opacity 2.5s ease;
			transition: opacity 2.5s ease;
			-moz-transition-delay: 0.75s;
			-webkit-transition-delay: 0.75s;
			-ms-transition-delay: 0.75s;
			transition-delay: 0.75s;
			-moz-animation: none;
			-webkit-animation: none;
			-ms-animation: none;
			animation: none;
			background-color: transparent;
			box-shadow: none;
			position: absolute;
			background-image: none;
			border-bottom: none;
		}
			#header.alt .logo {
				display: none;
			}

			#header.alt.style1 .logo strong {
				color: #6fc3df;
			}

			#header.alt.style2 .logo strong {
				color: #8d82c4;
			}

			#header.alt.style3 .logo strong {
				color: #ec8d81;
			}

			#header.alt.style4 .logo strong {
				color: #e7b788;
			}

			#header.alt.style5 .logo strong {
				color: #8ea9e8;
			}

			#header.alt.style6 .logo strong {
				color: #87c5a4;
			}

		body.is-loading #header.alt {
			opacity: 0;
		}

		@media screen and (max-width: 1680px) {

			#header nav a[href="#menu"] {
				padding-right: 3.75em !important;
			}

				#header nav a[href="#menu"]:last-child {
					padding-right: 4.25em !important;
				}

		}

		@media screen and (max-width: 1280px) {

			#header nav a[href="#menu"] {
				padding-right: 4em !important;
			}

				#header nav a[href="#menu"]:last-child {
					padding-right: 2.5em !important;
				}

		}

		@media screen and (max-width: 736px) {

			#header {
				height: 3.65em;
				line-height: 2.75em;
			}

				#header .logo {
					padding: 0 1em;
				}

				#header nav a {
					padding: 0 0.5em;
				}

					#header nav a:last-child {
						padding-right: 1em;
					}

					#header nav a[href="#menu"] {
						padding-right: 3.25em !important;
					}

						#header nav a[href="#menu"]:before, #header nav a[href="#menu"]:after {
							right: 0.75em;
						}

						#header nav a[href="#menu"]:last-child {
							padding-right: 0.6em !important;
						}

							#header nav a[href="#menu"]:last-child:before, #header nav a[href="#menu"]:last-child:after {
								right: 1.5em;
							}

                #header.reveal { 
                background-position:   6px 6px;

            }
		}

		@media screen and (max-width: 480px) {

			#header .logo span {
				display: none;
			}

			#header nav a[href="#menu"] {
				white-space: nowrap;
				padding-right: 2.75em !important;
			}

				#header nav a[href="#menu"]:before,
				#header nav a[href="#menu"]:last-child:before {
					right: 1em;
				}

				#header nav a[href="#menu"]:after {
					right: 0;
					width: inherit;
				}

				#header nav a[href="#menu"]:last-child:after {
					width: 4em;
					right: 0;
				}

		}

		/* Menu link: lay the label + hamburger out inline-flex so they stay
		   aligned (vertically centered, icon right after the text) at EVERY
		   breakpoint — the per-breakpoint absolute positioning / padding hacks
		   above conflicted (esp. the small last-child padding ≤736px) and pushed
		   the burger out of alignment. This consolidates them, hence !important. */
		#header nav a[href="#menu"],
		#header nav a[href="#menu"]:last-child {
			display: -webkit-inline-flex;
			display: inline-flex;
			-webkit-align-items: center;
			align-items: center;
			padding-right: 1.25em !important;
		}
			#header nav a[href="#menu"]:before {
				position: static;
				-webkit-transform: none;
				transform: none;
				right: auto;
				width: auto;
				height: auto;
				margin-left: 0.5em;
				-webkit-order: 2;
				order: 2;
				line-height: 1;
			}

            #header .logo {
				max-height: 3.25em;
				margin: auto 0 auto 15px;
				-moz-animation: reveal-header 0.35s ease;
				-webkit-animation: reveal-header 0.35s ease;
				-ms-animation: reveal-header 0.35s ease;
				animation: reveal-header 0.35s ease;
            }

			#header .logo > img {
				max-height: 100%;
				padding: 0.2em 0;
			}

            a {
                 text-decoration: none;
            }
        

/* Banner */

	#banner {
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
        background-image: url("../../images/home/def_bg.jpg");
        background-size: cover;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		padding: 6em 0 2em 0 ;
		background-position: center;
		background-repeat: no-repeat;
 
		border-bottom: 0 !important;
		cursor: default;
		height: 60vh;
		margin-bottom: -3.25em;
		max-height: 32em;
		min-height: 22em;
		position: relative;
		top: -3.25em;
	}
		#banner:after {
			-moz-transition: opacity 2.5s ease;
			-webkit-transition: opacity 2.5s ease;
			-ms-transition: opacity 2.5s ease;
			transition: opacity 2.5s ease;
			-moz-transition-delay: 0.75s;
			-webkit-transition-delay: 0.75s;
			-ms-transition-delay: 0.75s;
			transition-delay: 0.75s;
			-moz-pointer-events: none;
			-webkit-pointer-events: none;
			-ms-pointer-events: none;
			pointer-events: none;
 
			content: '';
			display: block;
			height: 15vh;
			left: 0;
			opacity: 0.85;
			position: absolute;
			top: 0;
			width: 100%;
			z-index: 1;
           
            background-image: url("../../logos/logo_chevron_colors.webp");
            background-size: contain;
            background-repeat: no-repeat;
            background-position: top center;
            
		}

		#banner h1 {
			font-size: 3.25em;
		}

		#banner > .inner {
			-moz-transition: opacity 1.5s ease, -moz-transform 0.5s ease-out, -moz-filter 0.5s ease, -webkit-filter 0.5s ease;
			-webkit-transition: opacity 1.5s ease, -webkit-transform 0.5s ease-out, -webkit-filter 0.5s ease, -webkit-filter 0.5s ease;
			-ms-transition: opacity 1.5s ease, -ms-transform 0.5s ease-out, -ms-filter 0.5s ease, -webkit-filter 0.5s ease;
			transition: opacity 1.5s ease, transform 0.5s ease-out, filter 0.5s ease, -webkit-filter 0.5s ease;
			padding: 0 !important;
			position: relative;
			z-index: 2;
		}

			#banner > .inner .image {
				display: none;
			}

			#banner > .inner header {
				width: auto;
			}

 

				#banner > .inner header > :first-child {
					width: auto;
				}

					#banner > .inner header > :first-child:after {
						max-width: 100%;
					}

			#banner > .inner .content {
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				margin: 0 0 2em 0;
			}

				#banner > .inner .content > * {
					margin-left: 1.5em;
					margin-bottom: 0;
				}

				#banner > .inner .content > :first-child {
					margin-left: 0;
				}

				#banner > .inner .content p {
					font-size: 0.7em;
					font-weight: 600;
					letter-spacing: 0.25em;
					text-transform: uppercase;
				}

		#banner.major {
			height: 75vh;
			min-height: 30em;
			max-height: 50em;
		}

			#banner.major.alt {
				opacity: 0.75;
			}

		#banner.style1:after {
			background-color: #6fc3df;
		}

		#banner.style2:after {
		/*	background-color: #8d82c4; */
		}

		#banner.style3:after {
			background-color: #ec8d81;
		}

		#banner.style4:after {
			background-color: #e7b788;
		}

		#banner.style5:after {
			background-color: #8ea9e8;
		}

		#banner.style6:after {
			background-color: #87c5a4;
		}

		body.is-loading #banner:after {
			opacity: 1.0;
		}

		body.is-loading #banner > .inner {
			-moz-filter: blur(0.125em);
			-webkit-filter: blur(0.125em);
			-ms-filter: blur(0.125em);
			filter: blur(0.125em);
			-moz-transform: translateX(-0.5em);
			-webkit-transform: translateX(-0.5em);
			-ms-transform: translateX(-0.5em);
			transform: translateX(-0.5em);
			opacity: 0;
		}

		@media screen and (max-width: 1280px) {

			#banner {
				background-attachment: scroll;
			}

		}

		@media screen and (max-width: 736px) {

			#banner {
				padding: 5em 0 1em 0 ;
				height: auto;
				margin-bottom: -2.75em;
				max-height: none;
				top: -2.75em;
                background-image: url("../../images/home/def_bg-vertical.jpg");
			}
              #header .logo {
                margin-left: -8px;
             
            }

				#banner h1 {
					font-size: 2em;
				}

				#banner > .inner .content {
					display: block;
				}

					#banner > .inner .content > * {
						margin-left: 0;
						margin-bottom: 2em;
					}
            
			#banner > .inner header {
				width: 82%;
			}


			 
		}

		@media screen and (max-width: 480px) {

			#banner {
				padding: 6em 0 2em 0 ;
			}

				#banner > .inner .content p br {
					display: none;
				}

				#banner.major {
					padding: 8em 0 4em 0 ;
				}

		}

/* Main */

	#main {
		background-color: #1c1c1c;
	}

		#main > * {
			border-top: solid 1px rgba(212, 212, 255, 0.1);
		}

			#main > *:first-child {
				border-top: 0;
			}

			#main > * > .inner {
				padding: 4em 0 2em 0 ;
				margin: 0 auto;
				max-width: 65em;
				width: calc(100% - 6em);
			}

				@media screen and (max-width: 736px) {

					#main > * > .inner {
						padding: 3em 0 1em 0 ;
						width: calc(100% - 3em);
					}

				}

		#main.alt {
			background-color: transparent;
			border-bottom: solid 1px rgba(212, 212, 255, 0.1);
		}

/* Contact */

	#contact {
		border-bottom: solid 1px rgba(212, 212, 255, 0.1);
		overflow-x: hidden;
	}

		#contact > .inner {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			padding: 0 !important;
		}

			#contact > .inner > :nth-child(2n - 1) {
				padding: 4em 3em 2em 0 ;
				border-right: solid 1px rgba(212, 212, 255, 0.1);
				width: 60%;
			}

			#contact > .inner > :nth-child(2n) {
				padding-left: 3em;
				width: 40%;
			}

			#contact > .inner > .split {
				padding: 0;
			}

				#contact > .inner > .split > * {
					padding: 3em 0 1em 3em ;
					position: relative;
				}

					#contact > .inner > .split > *:before {
						border-top: solid 1px rgba(212, 212, 255, 0.1);
						content: '';
						display: block;
						margin-left: -3em;
						position: absolute;
						top: 0;
						width: calc(100vw + 3em);
					}

				#contact > .inner > .split > :first-child:before {
					display: none;
				}

		@media screen and (max-width: 980px) {

			#contact > .inner {
				display: block;
			}

				#contact > .inner > :nth-child(2n - 1) {
					padding: 4em 0 2em 0 ;
					border-right: 0;
					width: 100%;
				}

				#contact > .inner > :nth-child(2n) {
					padding-left: 0;
					width: 100%;
				}

				#contact > .inner > .split > * {
					padding: 3em 0 1em 0 ;
				}

				#contact > .inner > .split > :first-child:before {
					display: block;
				}

		}

		@media screen and (max-width: 736px) {

			#contact > .inner > :nth-child(2n - 1) {
				padding: 3em 0 1em 0 ;
			}

		}

/* Footer */

	#footer .copyright {
		font-size: 0.65em;
		list-style: none;
		padding-left: 0;
	}

		#footer .copyright li {
			border-left: solid 1px rgba(212, 212, 255, 0.1);
			color: rgba(244, 244, 255, 0.2);
			display: inline-block;
			line-height: 20px;
			margin-left: 1em;
			padding-left: 1em;
		}

			#footer .copyright li:first-child {
				border-left: 0;
				margin-left: 0;
				padding-left: 0;
			}

	@media screen and (max-width: 480px) {

		#footer .copyright li {
			display: block;
			border-left: 0;
			margin-left: 0;
			padding-left: 0;
			line-height: inherit;
		}

	}

/* Wrapper */

	#wrapper {
		-moz-transition: -moz-filter 0.35s ease, -webkit-filter 0.35s ease, opacity 0.375s ease-out;
		-webkit-transition: -webkit-filter 0.35s ease, -webkit-filter 0.35s ease, opacity 0.375s ease-out;
		-ms-transition: -ms-filter 0.35s ease, -webkit-filter 0.35s ease, opacity 0.375s ease-out;
		transition: filter 0.35s ease, -webkit-filter 0.35s ease, opacity 0.375s ease-out;
		padding-top: 3.25em;
	}

		#wrapper.is-transitioning {
			opacity: 0;
		}

		#wrapper > * > .inner {
			padding: 4em 0 2em 0 ;
			margin: 0 10%;
			max-width: 65em;
			width: calc(100% - 6em);
            bottom: 18px;
            position: absolute
		}

			@media screen and (max-width: 736px) {

				#wrapper > * > .inner {
					padding: 3em 0 1em 0 ;
					width: calc(100% - 3em);
				}

			}

		@media screen and (max-width: 736px) {

			#wrapper {
				padding-top: 2.75em;
			}

		}

/* Menu */

	#menu {
		-moz-transition: -moz-transform 0.35s ease, opacity 0.35s ease, visibility 0.35s;
		-webkit-transition: -webkit-transform 0.35s ease, opacity 0.35s ease, visibility 0.35s;
		-ms-transition: -ms-transform 0.35s ease, opacity 0.35s ease, visibility 0.35s;
		transition: transform 0.35s ease, opacity 0.35s ease, visibility 0.35s;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-moz-pointer-events: none;
		-webkit-pointer-events: none;
		-ms-pointer-events: none;
		pointer-events: none;
		background: rgba(11, 11, 11, 0.9);;
		box-shadow: none;
		height: 100%;
		left: 0;
		opacity: 0;
		overflow: hidden;
		padding: 3em 2em;
		position: fixed;
		top: 0;
		visibility: hidden;
		width: 100%;
		z-index: 10002; 
	}

		#menu .inner {
			-moz-transition: -moz-transform 0.35s ease-out, opacity 0.35s ease, visibility 0.35s;
			-webkit-transition: -webkit-transform 0.35s ease-out, opacity 0.35s ease, visibility 0.35s;
			-ms-transition: -ms-transform 0.35s ease-out, opacity 0.35s ease, visibility 0.35s;
			transition: transform 0.35s ease-out, opacity 0.35s ease, visibility 0.35s;
			-moz-transform: rotateX(20deg);
			-webkit-transform: rotateX(20deg);
			-ms-transform: rotateX(20deg);
			transform: rotateX(20deg);
			-webkit-overflow-scrolling: touch;
			max-width: 100%;
			max-height: 100vh;
			opacity: 0;
			overflow: auto;
			text-align: center;
			visibility: hidden;
			width: 18em;
		}

			#menu .inner > :first-child {
				margin-top: 2em;
                width: 150px;
			}

			#menu .inner > :last-child {
				margin-bottom: 3em;
			}

		#menu ul {
			margin: 0 0 1em 0;
		}

			#menu ul.links {
				list-style: none;
				padding: 0;
			}

				#menu ul.links > li {
					padding: 0;
				}

					#menu ul.links > li > a:not(.button) {
						border: 0;
						border-top: solid 1px rgba(212, 212, 255, 0.1);
						display: block;
						font-size: 0.8em;
						font-weight: 600;
						letter-spacing: 0.25em;
						line-height: 4em;
						text-decoration: none;
						text-transform: uppercase;
					}

					#menu ul.links > li > .button {
						display: block;
						margin: 0.5em 0 0 0;
					}

					#menu ul.links > li:first-child > a:not(.button) {
						border-top: 0 !important;
					}

		#menu .close {
			-moz-transition: color 0.2s ease-in-out;
			-webkit-transition: color 0.2s ease-in-out;
			-ms-transition: color 0.2s ease-in-out;
			transition: color 0.2s ease-in-out;
			-webkit-tap-highlight-color: transparent;
			border: 0;
			cursor: pointer;
			display: block;
			height: 4em;
			line-height: 4em;
			overflow: hidden;
			padding-right: 1.25em;
			position: absolute;
			right: 0;
			text-align: right;
			text-indent: 8em;
			top: 0;
			vertical-align: middle;
			white-space: nowrap;
			width: 8em;
		}

			#menu .close:before, #menu .close:after {
				-moz-transition: opacity 0.2s ease-in-out;
				-webkit-transition: opacity 0.2s ease-in-out;
				-ms-transition: opacity 0.2s ease-in-out;
				transition: opacity 0.2s ease-in-out;
				background-position: center;
				background-repeat: no-repeat;
				content: '';
				display: block;
				height: 4em;
				position: absolute;
				right: 0;
				top: 0;
				width: 4em;
			}

			#menu .close:before {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='20px' viewBox='0 0 20 20' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %23ffffff%3B stroke-width: 2%3B %7D%3C/style%3E%3Cline x1='0' y1='0' x2='20' y2='20' /%3E%3Cline x1='20' y1='0' x2='0' y2='20' /%3E%3C/svg%3E");
			}

			#menu .close:after {
				background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' width='20px' height='20px' viewBox='0 0 20 20' zoomAndPan='disable'%3E%3Cstyle%3Eline %7B stroke: %239bf1ff%3B stroke-width: 2%3B %7D%3C/style%3E%3Cline x1='0' y1='0' x2='20' y2='20' /%3E%3Cline x1='20' y1='0' x2='0' y2='20' /%3E%3C/svg%3E");
				opacity: 0;
			}

			#menu .close:hover:after, #menu .close:active:after {
				opacity: 1;
			}

	body.is-ie #menu {
		background: rgba(42, 47, 74, 0.975);
	}

	body.is-menu-visible #wrapper {
		-moz-filter: blur(0.5em);
		-webkit-filter: blur(0.5em);
		-ms-filter: blur(0.5em);
		filter: blur(0.5em);
	}

	body.is-menu-visible #menu {
		-moz-pointer-events: auto;
		-webkit-pointer-events: auto;
		-ms-pointer-events: auto;
		pointer-events: auto;
		opacity: 1;
		visibility: visible;
	}

		body.is-menu-visible #menu .inner {
			-moz-transform: none;
			-webkit-transform: none;
			-ms-transform: none;
			transform: none;
			opacity: 1;
			visibility: visible;
		}


/* Featured Posts Widget */
.recent_posts {
    padding: 20px 0 0 20px;
    margin: 0 0 5px 0;
    
    font-size:14px; /* Content font size */
	line-height:22px; /* Content line height */
    
    min-height: 200px;
}

.recent_posts_img {
    width: 150px;
    height: 150px;
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    border-radius: 100%;
}

.recent_posts_img img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 100%;
}

.widget_posts li:before,
.widget_posts li a:before {
    display: none;
}

.widget_posts li {
    position: relative;
    margin-top: 11px;
    padding-left: 170px;
    min-height: 150px;
    padding-bottom: 9px;
}
.widget_posts li:last-child {
	padding-bottom:2px;
}
.widget_posts li.no_img {
    padding-left: 0;
    min-height: 0;
}

.widget_posts li:first-child {
    margin-top: 0;
}

.widget_posts li:before {
    display: none;
}

.recent_posts_content span,
.recent_posts_content a {
    color: #bababa;
    display: inline-block;
}

.widget_posts div.clear {
    font-size: 0;
    line-height: 0;
}

.widget_posts .post_title {
    display: inline-block;
    margin: 0 0 2px 0;
}

/* Calendar */
.widget_calendar table {
    width: 100%;
    text-align: center;
}

.widget_calendar caption {
    font-weight: bold;
    margin-bottom: 5px;
}

.widget_calendar th {
    font-weight: bold;
    border: none;
}

.widget_calendar table {
    border: none;
}

.widget_calendar table td {
    padding: 0;
    border: none;
}

/* Flickr Widget */
.flickr_widget_wrapper {
    overflow: hidden;
    display: block;
    font-size: 0;
    line-height: 0;
    margin: -14px 0 0 -10px;
    padding-top: 9px;
}

.widget_flickr .flickr_badge_image {
    padding: 10px 0 0 10px;
    width: 20%;
    display: inline-block;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
}

.widget_flickr .flickr_badge_image a {
    display: block;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: hidden;
    border-radius: 100%;
}

.widget_flickr .flickr_badge_image img {
    display: block;
    height: auto;
    width: 100%;
    border-radius: 100%;
	opacity:0.5;
	transition:opacity 250ms;
}

.flickr_badge_image .flickr_fadder {
    display: none;
}

.widget_flickr .flickr_badge_image a:hover img {
	opacity:1;
}

/* Tag Cloud */
.tagcloud {
    overflow: hidden;
}

.tagcloud {
    margin: -5px 0 0 -5px;
}

.widget_tag_cloud a {
    display: inline-block;
    color: #ffffff;
    margin: 5px 0 0 5px;
    font-size: 11px !important;
    line-height: 20px !important;
    height: 20px;
    padding: 1px 11px 3px 18px;
    background: #bfbfbf;
    float: left;
    border-radius: 3px;
    text-transform: lowercase;
	position:relative;
	transition:color 250ms, background 250ms;
}
.widget_tag_cloud a:before {
	content:'';
	position:absolute;
	left:8px;
	top:10px;
	width:4px;
	height:4px;
	display:block;
	background:#ffffff;
	border-radius:100%;
}

.widget_tag_cloud a:hover {
    color: #ffffff;
    background: #3f4041;
}

.sidepanel .sub-menu {
    padding-left: 15px;
}

.sidepanel img,
.sidepanel select {
    max-width: 100%;
}

#wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input {
    width: 24px !important;
}

#wpadminbar > #wp-toolbar > #wp-admin-bar-top-secondary > #wp-admin-bar-search #adminbarsearch input.adminbar-input:focus {
    width: 200px !important;
}

.blueHead {
	color: #9bf1ff;
}
.borderDiapo {
	margin: 0;
	padding: 1.2em 1.2em 0.1em  1.2em;
	background-color: #313131;
}
.legende {
	font-size: 13.2px;
	text-align: center;

}

.carousel-container {
	width: 100%;
	height: 50vh;
	overflow: hidden;
	position: relative;
}

/* Header banner rendered with the Fancybox Carousel: one slide per view filling
   the 50vh band; images and inline videos cover the slot. */
.header-carousel { width: 100%; height: 50vh; }
.header-carousel .f-carousel__viewport { height: 50vh; }
.header-carousel .f-carousel__slide { width: 100%; height: 50vh; padding: 0; }
.header-carousel .f-carousel__slide img,
.header-carousel .f-carousel__slide video {
	width: 100%;
	height: 50vh;
	object-fit: cover;
	display: block;
}


.sidebar_header {
	color: #9bf1ff;
}

.cursor-container {
	display: flex;
	align-items: center;
}

.cursor {
	display: inline-block;
	width: auto;
	height: auto;
	animation: blink 1s steps(1, start) infinite;
	color: white;
}

@keyframes blink {
	0%, 100% {
		opacity: 1;
	}
	50% {
		opacity: 0;
	}
}

.credits {
	position: absolute;
	right: 10px;
	width: 450px;
	font-size: 12px;
	text-align: right;
}

.showvideo {
	position: relative;
	width: 100vw;
}

.video-container {
	position: relative;
	width: 100%; /* Largeur du conteneur */
	height: 100vh; /* Hauteur du conteneur, par exemple toute la hauteur de la fenêtre */
	overflow: hidden; /* Masquer ce qui dépasse du conteneur */
}

.video-container video {
	position: absolute;
	top: 25%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 50%;
	object-fit: cover;
}

.contactBox {
	margin-top:-4em;
}

/* Contact blocks — make the whole block clickable, not just the link text.
   Each linked block (see contact.php: .contact-card) holds a single <a>; a
   stretched, transparent pseudo-element overlays the block so a click anywhere
   on it follows that link. Icon + label pick up the theme accent on hover so the
   whole card reads as interactive. */
.contactBox .contact-card {
	position: relative;
}
	.contactBox .contact-card h5 {
		margin-top: .8rem;
	}
	.contactBox .contact-card a::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 1;
	}
	.contactBox .contact-card:hover {
		cursor: pointer;
	}
	.contactBox .contact-card:hover .icon.alt:before {
		background-color: #d52634;
		color: #ffffff;
	}

.visible {
	opacity: 1;
	animation: typing 3s steps(40) forwards, blink-caret 0.75s step-end infinite;
}

@keyframes typing {
	from { width: 0; }
	to { width: 100%; }
}

@keyframes blink-caret {
	from, to { border-color: transparent; }
	50% { border-color: black; }
}

.video-box {
	flex: auto;
	float: left;
	width: 50%;
	padding: 1em
}

/* YouTube embed: responsive 16:9 iframe filling the media box. */
.video-embed {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
}
.video-embed iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}

.chevron {
	background-image: url("../../logos/chevron-gris.webp");
	background-position: top left;
	background-repeat: no-repeat;
	background-size: contain;
	height: 20px;

	margin-right: 1em;
	margin-bottom: 1em;
	padding-left: 26px;
	line-height: 20px;
	font-size: 17px;

	display: flex;
	float: left;
}

.spotlights {
	padding-right: 1em;
}

.article {
	position: relative;
	width: 100%;
	display:inline-block;
}

hr {
	border: 0;
	height: 1px;
	background: #333;
	background-image: linear-gradient(to right, #ccc, #333, #ccc);
}

.main {
	padding: 2em 0 2em 0;
	margin: 0 auto;
	max-width: 85em;
	width: calc(100% - 3em);

	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

.slideshow-container {
	width: 100%;
	margin: 0;
	overflow: hidden;
	position: relative;
}
.slideshow-container img {
	width: 100%;
	display: none;
	cursor: pointer;
}
.slideshow-container img.active {
	display: block;
}

/* Miniatures */
.thumbnails {
	display: flex;
	justify-content: center;
	margin-top: 10px;
}
.thumbnails img {
	width: 40px;
	height: 30px;
	object-fit: cover;
	margin: 0 5px;
	opacity: 0.6;
	cursor: pointer;
	border: 2px solid transparent;

}
.thumbnails img.active {
	opacity: 1;
	border-color: #fff;
}

/* Plein écran */
#fullscreen {
	display: none;
	position: fixed;
	top: 0; left: 0;
	width: 100vw; height: 100vh;
	background: rgba(0,0,0,0.95);
	z-index: 9999;
	justify-content: center;
	align-items: center;
	flex-direction: column;
}
#fullscreen img {
	max-width: 98vw;
	max-height: 98vh;
}
.nav-button {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	font-size: 2rem;
	box-shadow: none;
	border: none;
	color: #fff;
	padding: 10px;
	cursor: pointer;
	z-index: 10000;
}

#prevBtn { left: 10px; }
#nextBtn { right: 10px; }

h5 a {
	font-weight: 100;
	color: #9bf1ff;
	text-transform: none;
	text-decoration: none;
}

@media screen and (max-width: 736px) {

	.credits {
		bottom: -28px;
		line-height: 15px;
		font-size: 11px;
		width: 180px;
	}

	.thumbnails img {
		width: 10px;
		height: 10px;
	}

	.video-box {
		float: none;
		width: 100%;
		padding: 0;
	}

	h3 {
		margin: 0.8em 0 13px 0;
	}
}


.icone {
	width: 40px;
	vertical-align: text-bottom;
}

.poster-video {
	background-size: cover;
	background-position: center center;
}
/* Portfolio tiles: per-tile overlay colour. The 6-colour rotation is set by
   nth-child above; when a portfolio defines its own colour we override it. */
.tiles article.has-color:before {
	background-color: var(--tile-color) !important;
}

/* Portfolio article inline gallery: a main image + a thumbnail strip. */
/* Generic article gallery: Fancybox v6 inline carousel (one image per page,
   v6 sizes the slides) + thumbnail strip below. Red autoplay timer; neutral
   (non-red) navigation arrows. */
.article-carousel { width: 100%; --f-progressbar-color: #d52634; --f-arrow-color: #fff; --f-arrow-hover-color: #fff; }
.article-carousel .f-button.is-arrow:hover,
.article-carousel .f-button.is-arrow:focus,
.article-carousel .f-button.is-arrow:focus-visible { color: #fff; outline: none; box-shadow: none; }
.article-carousel .f-carousel__slide img { display: block; width: 100%; height: auto; cursor: zoom-in; }
.article-carousel .f-thumbs { margin-top: 8px; }

.article.portfolio-title h2,
.article.portfolio-item > h3 {
	margin: 0.3em 0 13px 0;
	letter-spacing: 1.9px;
	text-transform: uppercase;
	word-wrap: break-word;
	font-size: 1.35em;
}

.article.portfolio-item > h3 > sup {
	font-size: 0.5em;
	top: -1.2em;
}
/* Portfolio article "Mandataire" line: client name (optionally a link) + logo. */
.article-mandataire-line { display: inline-flex; align-items: center; flex-wrap: wrap; gap: 8px; }
/* The theme styles <a> with a 1px dotted bottom border, which makes the link
   taller than the plain "Mandataire" label and shifts it in the centered flex.
   Use an underline (no box-height change) so the link aligns with the text. */
.article-mandataire-line a { border-bottom: 0; text-decoration: none; }
.article-mandataire-logo { height: 1.6em; width: auto; vertical-align: middle; }

/* Media-only portfolio: mosaic grid (markup ported from the old theme). A square
   4-column grid where every 7th item is a 2x2 "featured" tile, back-filled with
   dense flow — the dynamic mosaic from the reference design. Scoped under
   .fullscreen_portfolio so the legacy class names can't leak elsewhere. */
.fullscreen_portfolio {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	grid-auto-flow: row dense;
	gap: 8px;
	padding: 1em;
	box-sizing: border-box;
	text-align: left;
}
.fullscreen_portfolio .blogpost_preview_fw {
	aspect-ratio: 800 / 680;
	min-width: 0;
}
/* Featured tiles spanning 2x2 (1st, 8th, 15th … — the pattern in the reference). */
.fullscreen_portfolio .blogpost_preview_fw:nth-child(7n + 1) {
	grid-column: span 2;
	grid-row: span 2;
}
.fullscreen_portfolio .fw-portPreview,
.fullscreen_portfolio .fs_port_item,
.fullscreen_portfolio .img_block,
.fullscreen_portfolio .img_block > a {
	display: block;
	height: 100%;
}
.fullscreen_portfolio .img_block { position: relative; overflow: hidden; }
.fullscreen_portfolio .img_block img,
.fullscreen_portfolio .img_block video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease;
}
.fullscreen_portfolio .img_block:hover img,
.fullscreen_portfolio .img_block:hover video { transform: scale(1.04); }
.fullscreen_portfolio .portFadder {
	position: absolute;
	inset: 0;
	background: rgba(29, 30, 31, 0);
	transition: background 250ms;
	pointer-events: none;
}
.fullscreen_portfolio .img_block:hover .portFadder { background: rgba(29, 30, 31, 0.35); }
@media screen and (max-width: 980px) {
	.fullscreen_portfolio { grid-template-columns: repeat(3, 1fr); }
}
@media screen and (max-width: 736px) {
	.fullscreen_portfolio { grid-template-columns: 1fr; gap: 6px; }
	/* Uniform tiles on mobile: drop the 2x2 featured spans (single column). */
	.fullscreen_portfolio .blogpost_preview_fw:nth-child(7n + 1) {
		grid-column: auto;
		grid-row: auto;
	}
}

/* MINK BOX — public file transfer form (route /box). */
.box-wrap { max-width: 1040px; margin: 0 auto; padding: 4em 1.5em 5em; }
.box-intro { color: #c9c9d4; margin-bottom: 1.5em; }
.box-drop-intro { color: #9bf1ff; margin: 1.5em 0 .5em; }
.box-row { display: flex; flex-wrap: wrap; gap: 1.1em; }
.box-row .box-field { flex: 1 1 280px; }
.box-field { margin-bottom: 1.1em; display: flex; flex-direction: column; }
.box-field label { margin-bottom: .35em; font-size: .85em; letter-spacing: .1em; text-transform: uppercase; color: #c9c9d4; }
.box-field input, .box-field textarea {
    width: 100%; padding: .7em .9em; background: #2a2a2f; border: 1px solid #3a3a42;
    border-radius: 0; color: #fff; font-size: 1em;
}
.box-field input:focus, .box-field textarea:focus { outline: none; border-color: #9bf1ff; box-shadow: 0 0 0 2px rgba(155,241,255,.2); }
/* Transparent + dashed, like the admin dropzone (override dropzone.min.css,
   which loads after mink.css — hence the doubled class for specificity). */
.box-dropzone.dropzone { background: transparent; border: 2px dashed #3a3a42; border-radius: 0; min-height: 140px; color: #c9c9d4; cursor: pointer; }
.box-dropzone.dropzone:hover, .box-dropzone.dropzone.dz-drag-hover { border-color: #d52634; }
.box-dropzone.dropzone .dz-message { margin: 2.5em 0; color: #c9c9d4; }
/* Previews: no white box, readable text on the dark surface. */
.box-dropzone.dropzone .dz-preview.dz-image-preview { background: transparent; }
.box-dropzone.dropzone .dz-preview .dz-image { background: transparent; }
.box-dropzone.dropzone .dz-preview .dz-details { color: #fff; }
.box-dropzone.dropzone .dz-preview .dz-filename span,
.box-dropzone.dropzone .dz-preview .dz-size span { background: transparent; color: #fff; }
.box-sending-row { margin-top: 1em; }
/* Total-weight indicator (used / max) + progress bar. */
.box-usage-bar { position: relative; height: 24px; background: #2a2a2f; border: 1px solid #3a3a42; border-radius: 4px; overflow: hidden; margin-bottom: 1.2em; }
.box-usage-fill { position: absolute; left: 0; top: 0; height: 100%; width: 0; background: #9bf1ff; transition: width .2s ease; }
.box-usage-text { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; font-size: .8em; font-weight: 700; letter-spacing: .03em; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .55); }
.box-full .box-usage-fill { background: #e63946; }
.box-full .box-dropzone.dropzone { border-color: rgba(230, 57, 70, .6); }
/* Progression globale du transfert (octets envoyés / octets à envoyer). */
.box-transfer-bar { position: relative; height: 24px; background: #2a2a2f; border: 1px solid #3a3a42; border-radius: 4px; overflow: hidden; margin-bottom: 1.2em; }
.box-transfer-fill { position: absolute; left: 0; top: 0; height: 100%; width: 0; background: #4caf7d; transition: width .2s ease; }
.box-transfer-text { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; gap: .4em; font-size: .8em; font-weight: 700; letter-spacing: .03em; color: #fff; text-shadow: 0 1px 2px rgba(0, 0, 0, .55); }
/* File-type tile shown for non-previewable files (a document glyph + extension). */
.box-dropzone.dropzone .dz-preview .dz-image .box-file-icon {
    width: 120px; height: 120px; box-sizing: border-box;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px;
    background: #2a2a2f; border: 1px solid #3a3a42; border-radius: 6px; color: #9bf1ff;
}
.box-file-glyph { display: block; width: 30px; height: 38px; border: 2px solid currentColor; border-radius: 3px; }
.box-file-ext { font-weight: 800; letter-spacing: 1px; font-size: 14px; }
.box-turnstile { margin: 1.2em 0; }
/* 6-box one-time-code input (verify page) — boxes + inline button. */
.box-otp-row { display: flex; align-items: center; gap: 1em; flex-wrap: wrap; }
.box-otp { display: flex; gap: .6em; }
.box-otp input {
    width: 2.6em; height: 2.7em; padding: 0;
    text-align: center; font-size: 1.05em; font-weight: 700;
    background: #2a2a2f; border: 1px solid #3a3a42; color: #fff; border-radius: 0;
}
.box-otp input:focus { outline: none; border-color: #9bf1ff; box-shadow: 0 0 0 2px rgba(155, 241, 255, .25); }
.box-otp-row .box-submit { margin: 0; }
@media screen and (max-width: 736px) {
    .box-otp { width: 100%; gap: .4em; }
    /* min-width:0 lets the inputs shrink to share the row (default input min-width
       would otherwise make the 6 cells overflow). Fixed height instead of
       aspect-ratio so they never blow up. */
    .box-otp input { flex: 1 1 0; min-width: 0; width: auto; height: 3em; font-size: 1.1em; }
    .box-otp-row .box-submit { width: 100%; text-align: center; }
}

.box-submit { display: block; width: fit-content; margin: 1em 0 1em auto; }
@media screen and (max-width: 736px) {
    .box-submit { width: 100%; margin: 1em 0; text-align: center; }
}
/* Bandeau de pilotage de la page d'upload (jauge de poids, progression, bouton) :
   collé sous le #header fixe pour rester atteignable quand la liste de fichiers
   dépasse la hauteur de l'écran. Le fond opaque empêche les vignettes de défiler
   visuellement au travers. Les vignettes Dropzone montent jusqu'à z-index 1000
   (.dz-image à 10, .dz-progress et .dz-error-message à 1000) dans le contexte
   racine, .dz-preview n'en créant aucun : le bandeau doit passer au-dessus, tout
   en restant sous le #header (10000). */
.box-sticky-head {
    position: sticky;
    top: 3.25em;
    z-index: 2000;
    background: #1c1c1c;
    padding-top: 1em;
    margin-bottom: 1em;
}
/* Fondu sous le bandeau : les vignettes qui défilent dessous s'estompent au lieu
   d'être tranchées net par le bord du fond opaque. pointer-events:none pour que
   la bande n'intercepte pas les clics sur les vignettes qu'elle recouvre. */
.box-sticky-head::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    height: 1.5em;
    pointer-events: none;
    background: linear-gradient(to bottom, #1c1c1c 0%, rgba(28, 28, 28, .75) 45%, rgba(28, 28, 28, 0) 100%);
}
.box-sticky-head .box-usage-bar,
.box-sticky-head .box-transfer-bar { margin-bottom: .8em; }
.box-submit-bar { display: flex; justify-content: center; padding-bottom: .8em; }
.box-submit-bar .box-submit { margin: 0; }
@media screen and (max-width: 736px) {
    .box-sticky-head { top: 3.65em; }
    .box-submit-bar .box-submit { width: 100%; }
}
.box-alert { background: rgba(230,57,70,.15); border: 1px solid rgba(230,57,70,.5); color: #ffb3b9; padding: .7em 1em; border-radius: 6px; margin-bottom: 1em; }
.box-progress { height: 8px; background: #2a2a2f; border-radius: 4px; overflow: hidden; margin-top: 1em; }
.box-progress > span { display: block; height: 100%; width: 0; background: #9bf1ff; transition: width .2s ease; }
.box-sending { color: #9bf1ff; }
.box-hint { display: block; color: #9a9aa6; font-size: .85em; margin-top: .4em; }

/* Document ouvert en lightbox sous le type « iframe » (les PDF de la page de
   partage) : Fancybox laisse à ce type le cadre carré du contenu générique, où une
   page A4 s'affiche riquiqui et où la visionneuse replie sa barre d'outils. On lui
   donne la hauteur de l'écran et la largeur qui va avec le format portrait, plutôt
   que de laisser le navigateur ajouter ses bandes de part et d'autre.

   `!important` est nécessaire : la feuille de Fancybox est chargée APRÈS celle-ci
   dans le layout public, et pose width/height à 100 % avec la même spécificité. */
.has-iframe > .f-html {
    height: 95vh !important;
    width: calc(95vh * 210 / 297) !important;
    max-width: 96vw !important;
    padding: 0;
}

/* MINK BOX — page publique de téléchargement d'un transfert (route /share).
   Reprend la charpente et la palette de la page de dépôt : une ligne par fichier,
   son poids, puis ses actions. */
.box-message {
    border-left: 3px solid #3a3a42; margin: 0 0 1.5em; padding: .2em 0 .2em 1em;
    color: #c9c9d4; font-style: normal;
}
.box-files { list-style: none; margin: 1.5em 0; padding: 0; }
.box-file {
    display: flex; align-items: center; flex-wrap: wrap; gap: .8em;
    padding: .9em 0; border-bottom: 1px solid #2a2a2f;
}
.box-file:first-child { border-top: 1px solid #2a2a2f; }
.box-file-name { flex: 1 1 260px; min-width: 0; color: #fff; word-break: break-word; }
/* Le nom d'un fichier affichable ouvre la galerie : le curseur le dit, puisque
   c'est le seul déclencheur de l'aperçu sur la ligne. */
a.box-file-name { border-bottom: 1px dotted #9bf1ff; cursor: zoom-in; }
a.box-file-name:hover { color: #9bf1ff; }
.box-file-size { color: #9a9aa6; font-size: .9em; white-space: nowrap; }
.box-file-actions { display: flex; gap: .5em; flex-wrap: wrap; margin-left: auto; }
/* Boutons de ligne : plus discrets que le bouton principal, qui reste seul à
   porter l'action « tout télécharger » en bas de page. */
.box-file-action { padding: 0 1.2em; height: 2.6em; line-height: 2.6em; font-size: .8em; }
@media screen and (max-width: 736px) {
    .box-file { align-items: flex-start; }
    .box-file-actions { margin-left: 0; width: 100%; }
    .box-file-action { flex: 1 1 0; text-align: center; }
}

/* =========================================================================
   Website portfolio layout — regular 4-per-row grid of 800×446 images, each
   with a caption band (site number, title+year, subtitle, client link).
   ========================================================================= */
.website-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1.5em;
    padding: 0 2.5em 3em;
}
.website-card {
    background: transparent;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    height: 100%; /* equal height per row (grid stretch) so the link can pin to the bottom */
}
.website-card-img { display: block; position: relative; line-height: 0; font-size: 0; }
.website-card-img img {
    display: block;
    width: 100%;
    aspect-ratio: 800 / 446;
    object-fit: cover;
    margin-bottom: -1px; /* kill the sub-pixel gap under the image (black line above the red border) */
}
.website-no-badge {
    position: absolute;
    top: .5rem;
    right: .5rem;
    background: rgba(0, 0, 0, .55);
    color: #fff;
    /* rem, not em: the card image wrapper sets font-size:0 to kill the inline
       gap, so an em-based size would collapse the badge text to 0. */
    font-size: .72rem;
    line-height: 1;
    padding: .3rem .55rem;
    border-radius: 3px;
    backdrop-filter: blur(2px);
}
.website-band {
    padding: .85em 1em 1em;
    background: rgba(0, 0, 0, .2);
    border-top: 3px solid #d52634;
    color: #ececec;
    line-height: 1.35;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.website-band p { margin: 0 0 .15em; }
/* Pin the website link to the bottom so it lines up across cards in a row.
   Specificity must beat ".website-band p" above (class+element). */
.website-band .website-band-link { margin-top: auto; padding-top: .35em; margin-bottom: 0; }
.website-band-no {
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: .72em;
    color: #9a9a9a;
}
.website-band-title { font-weight: 700; font-size: 1em; color: #fff; }
.website-band-title sup { font-weight: 400; color: #9a9a9a; font-size: .7em; }
.website-band-sub { font-size: .85em; color: #c7c7c7; }
.website-band-link { font-size: .82em; text-align: right; }
.website-band-link a { color: inherit; }
.website-band-link a:hover { color: #d52634 !important; }
.website-band-arrow { text-decoration: none; margin-left: .25em; font-size: .9em; vertical-align: middle;}

@media (max-width: 1200px) { .website-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 900px)  { .website-grid { grid-template-columns: repeat(2, 1fr); padding: 0 1.5em 2em; } }
@media (max-width: 600px)  { .website-grid { grid-template-columns: 1fr; } }

/* Hide the Fancybox prev/next arrows on mobile (all lightboxes). */
@media (max-width: 768px) {
    .f-button.is-arrow { display: none !important; }
}
