/* -------------------------------------------

	Name:		NorthHaven Capital Group
	Date:		2019/05/13
	

---------------------------------------------  */
*, :before, :after { margin: 0; padding: 0; box-sizing: border-box; outline-color: var(--azure); }

html { overflow-y: scroll; min-height: 100%; margin: 0 0 1px; font-size: 100.01%; -webkit-tap-highlight-color: transparent; -moz-osx-font-smoothing: grayscale; -webkit-overflow-scrolling: touch; -ms-content-zooming: none; -ms-overflow-style: scrollbar; }
body { min-height: 100%; background: #fff; font-size: 62.5%; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
@-ms-viewport { width: device-width; }
@viewport { width: device-width; }	


/*! Theme --------- */
:root {
	--white: 	#ffffff;
	--sand: 	#f5f5f5;
	--mercury: 	#E3E3E3;
	--alto: 	#d6d6d6;
	--stone: 	#777b7d;
	--pale: 	#6F7880;
	--silver: 	#979797;
	--gray: 	#868686;
	--tundora: 	#4c4c4c;
	--coal: 	#333333;
	--black: 	#000000;
	--biscay: 	#173963;
	--denim: 	#1766B3;
	--marine: 	#135693;
	--azure: 	#2386E5;
	--squeeze: 	#dfebf3;
	--corn: 	#E9AB02;
	--mantis: 	#72B84D;
}


/*! Repeatable --------- */
/* cl:b */	.list-aside li:after, #nav > ul:after, .module-aside:after, .form-contact:after, #content:after, #top:after, #footer:after, form p:after, .double:after { content: ""; display: block; overflow: hidden; clear: both; }
/* fill */	.form-contact > div:before, .list-box a:before, .list-box li:before, #featured:before { content: ""; display: block; overflow: hidden; position: absolute; left: 0; top: 0; right: 0; bottom: 0; z-index: -1; text-align: left; text-indent: -3000em; direction: ltr; }
/* wide */ 	.module-aside:before, .form-contact:before { content: ""; display: block; position: absolute; left: -1000em; right: -1000em; top: 0; bottom: 0; z-index: -1; }
/* icon */ 	.list-social i { display: block; position: absolute; left: 0; top: 50%; width: 100%; margin: -10px 0 0; font-weight: 400; font-family: i; line-height: 20px; text-align: center; text-indent: 0; letter-spacing: normal; }
/* z:9  */	.list-box a:before, #featured:before { z-index: 8; }
/* tr:y */ 	#featured figcaption { -webkit-transform: translateY(-50%); transform: translateY(-50%); }
/* i:wi */	#featured img { display: block; position: relative; z-index: 1; width: 100% !important; }
/* i:ct */	#logo img { width: auto; max-height: 100% !important; -webkit-align-self: center; -ms-align-self: center; align-self: center; -webkit-flex-shrink: 0; -ms-flex-shrink: 0; flex-shrink: 0; }
/* i:bg */	.module-aside img, .form-contact img { display: block; width: 100% !important; height: 100% !important; -o-object-fit: cover; object-fit: cover; -o-object-position: center center; object-position: center center; }
/* td:u */ 	[data-whatintent="mouse"] a:hover { text-decoration: underline; }


/*! Defaults --------- */
body, textarea, input, select, option, button { color: var(--black); font-family: 'Open Sans', Arial, Helvetica, sans-serif; line-height: 1.7222222222; }
li, dt, dd, p, figure, th, td, caption, legend, pre { font-size: 1.8em; } li *, dt *, dd *, p *, figure *, th *, td *, legend * { font-size: 1em; }
ul, ol, dl, p, figure, table, pre, h1, h2, h3, h4, h5, h6, legend { margin-bottom: 31px; }

h1, h2, h3, h4, h5, h6, legend { margin-top: 62px; color: var(--marine); font-size: 2.4em; font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-weight: 900; line-height: 1.6538461538; text-transform: uppercase; }
h1, h2 { font-size: 2.8em; font-weight: 700; text-transform: none; }
h3 { font-size: 2.6em; font-weight: 700; text-transform: none; }

a { background: none; color: var(--azure); text-decoration: none; cursor: pointer; outline-width: 0; -webkit-text-decoration-skip: objects; } /*---*/ a span { cursor: pointer; }

ul, ol, dd, blockquote { padding-left: 40px; }


/*! Layout --------- */
#root { overflow: hidden; position: relative; width: 100%; }
	#top { position: absolute; left: 0; right: 0; top: 0; z-index: 9; }
		#logo { position: absolute; left: 75px; top: 0; height: 222px; margin: 0; padding: 20px 0; }
			#logo a { display: block; overflow: hidden; width: 100%; height: 100%; text-indent: -3000em; }
		#skip { position: fixed; top: 0; left: 0; right: 0; z-index: 10000; line-height: 1.5; }
			#skip ul { list-style: none; margin: 0; padding: 0; }
			#skip a { display: block; position: absolute; left: -3000em; top: 0; min-width: 200px; padding: 8px 16px; background: var(--azure); color: var(--white); font-size: 14px; font-weight: 700; text-align: center; text-decoration: none; white-space: nowrap; outline: none; }
				#skip a:focus, #skip a:active { left: 0; }
		#nav { position: absolute; right: 75px; top: 0; height: 222px; text-transform: uppercase; }
			#nav > ul { list-style: none; margin: 0 -40px 0 0; padding: 0; }
				#nav > ul > li { float: left; margin-right: 40px; }
				#nav > ul > li > a { color: var(--white); font-weight: 700; }
	#featured { position: relative; z-index: 2; margin: 0 0 83px; color: var(--white); font-size: 7.3em; font-family: 'Crimson Text', Arial, Helvetica, sans-serif; font-weight: 700; line-height: 1.2; text-align: center; }
		#featured:before { z-index: 2; background: var(--black); opacity: .225; }
		#featured img { max-height: 820px !important; -o-object-fit: cover; object-fit: cover; -o-object-position: center 0; object-position: center 0; }
		#featured figcaption { display: block; position: absolute; left: 0; right: 0; top: 50%; z-index: 7; }
	#content { position: relative; z-index: 3; width: 1170px; margin: 0 auto; }
		#content > *:last-child { margin-bottom: 50px; }
	#footer { position: relative; z-index: 2; width: 1170px; margin: 0 auto; padding: 28px 0 13px; color: var(--gray); }
		#footer ul + ul { margin-left: auto; }
		#footer ul { list-style: none; margin-right: -22px; margin-bottom: 15px; padding: 0; }
			#footer ul li { margin: 0 22px 0 0; font-size: 1.4em; }
			#footer ul li a { display: block; color: var(--gray); }
			#footer ul li + li a { margin-left: -10px; }
		#footer .list-social { top: -2px; }
	

/*! Columns --------- */
.double { display: block; position: relative; }
	.double > * { display: block; position: relative; clear: none; float: right; border: 0 solid rgba(0,0,0,0); }
	.double > *:first-child { float: left; }
.double.a { margin-left: -125px; }
	.double.a > * { float: left; width: 50%; border-left-width: 125px; }
.double.b { margin-left: -125px; }
	.double.b > * { float: left; width: 55%; border-left-width: 125px; }
	.double.b > *:first-child { width: 45%; }
.double.c { margin-left: -75px; }
	.double.c > * { float: left; width: 39%; border-left-width: 75px; }
	.double.c > *:first-child { width: 61%; }


/*! Modules --------- */
.heading-a { max-width: 1000px; margin: 0 auto 88px; padding: 60px 40px 0; background: var(--white); text-align: center; }
	.heading-a h1, .heading-a h2, .heading-a h3, .heading-a h4, .heading-a h5, .heading-a h6 { max-width: 868px; margin: 0 auto 39px; font-weight: 900; font-size: 2.6em; }
	.heading-a p { max-width: 856px; margin-left: auto; margin-right: auto; }
	#content > .heading-a:first-child { margin-top: -242px; }
	
.module-aside { position: relative; z-index: 2; margin: 63px 0 80px -125px; padding: 74px 694px 68px 125px; text-align: left; }


/*! Headers --------- */
.header-line { position: relative; margin: 0 0 38px; padding: 0 0 11px; font-size: 2.4em; font-weight: 900; text-transform: uppercase; }
	.header-line:before { content: ""; display: block; position: absolute; left: 0; bottom: 0; width: 58px; height: 4px; background: var(--corn); }


/*! Content --------- */
.strong { font-weight: 700; }
.stronger, h1.s24, h2.s24, h3.s24, h4.s24, h5.s24, h6.s24 { font-weight: 900; }
.em { font-style: italic; }

.text-center { text-align: center; }
.text-right { text-align: right; }
.text-justify { text-align: justify; }
.text-uppercase, h1.s24, h2.s24, h3.s24, h4.s24, h5.s24, h6.s24 { text-transform: uppercase; }

.s21 { font-size: 21px; }
.s24 { font-size: 24px; line-height: 1.6538461538; }
	h1.s24, h2.s24, h3.s24, h4.s24, h5.s24, h6.s24 { margin-bottom: 26px; }
.s30 { font-size: 30px; line-height: 1.6538461538; }

.overlay-a { color: var(--azure); }
.overlay-b { color: var(--black); }
.overlay-c { color: var(--tundora); }

.scheme-box { margin-bottom: 107px; padding: 84px 40px 84px 65px; background: var(--biscay); color: var(--white); }
	#content > .double:first-child > * > .scheme-box:first-child { margin-top: -204px; }


/*! Media --------- */
img, iframe, object, embed { max-width: 100% !important; border-style: none; }
img { height: auto !important; image-rendering: optimizeQuality; -ms-interpolation-mode: bicubic; }
	img::selection { background: transparent; }
	img::-moz-selection { background: transparent; }
		
	
/*! Lists --------- */
.list-box { list-style: none; margin: 0 0 40px -30px; padding: 0; color: var(--black); }
	.list-box li { position: relative; z-index: 2; width: 33.333333333%; margin: 0 0 30px; padding: 0 40px 22px; border-left: 30px solid rgba(0,0,0,0); font-size: 1.8em; }
	.list-box li:before { border: 1px solid var(--squeeze); }
	.list-box figure { margin: 0 -40px 40px; border-bottom: 1px solid var(--squeeze); }
	.list-box h1, .list-box h2, .list-box h3, .list-box h4, .list-box h5, .list-box h6 { margin: 0 0 7px; color: var(--black); font-size: 1.0555555556em; font-weight: 600; }
	.list-box p { font-size: 1em; }
	.list-box a { color: var(--black); }

.list-aside { list-style: none; margin: 40px 0 127px; padding: 0; }
	.list-aside li { position: relative; margin: 0 0 50px; padding: 0 0 0 405px; font-size: 1.8em; }
	.list-aside li > h1, .list-aside li > h2, .list-aside li > h3, .list-aside li > h4, .list-aside li > h5, .list-aside li > h6 { float: left; width: 380px; margin-left: -405px; color: var(--marine); font-size: 1em; font-weight: 700; }
		.list-aside h1 span, .list-aside h2 span, .list-aside h3 span, .list-aside h4 span, .list-aside h5 span, .list-aside h6 span { display: block; max-width: 280px; padding: 7px 0 0; color: var(--gray); font-size: 0.7222222222em; font-weight: 400; line-height: 1.6923076923; text-transform: uppercase; letter-spacing: 0.1em; }
	.list-aside p { float: right; clear: right; width: 100%; font-size: 1em; }
	.list-aside p.more { margin-top: -31px; }
	.list-aside + h1, .list-aside + h2, .list-aside + h3, .list-aside + h4, .list-aside + h5, .list-aside + h6 { margin-top: -97px; padding-top: 60px; border-top: 1px solid var(--alto); }
	
.list-social, #root .list-social { position: relative; list-style: none; margin-right: -12px; padding: 0; }
	.list-social li, #root .list-social li { margin-right: 12px; }
	.list-social a, #root .list-social a { display: block; overflow: hidden; position: relative; width: 28px; height: 28px; margin: 0; border-radius: 3px; background: var(--stone); color: var(--white); }
	.list-social i { font-size: 18px; }
		.list-social .icon-twitter { font-size: 16px; }
		

/*! Forms --------- */
fieldset, hr { min-width: 0; margin: 0; padding: 0; border-width: 0; }
	form p { position: relative; }
	legend { display: none; width: 100%; max-width: 100%; padding: 0; border: 0; white-space: normal; }
	input, select, textarea { position: relative; z-index: 1; margin: 0; padding: 0; box-shadow: none; border-radius: 0; font-size: 1em; line-height: normal; text-align: left; text-transform: none; outline-width: 0; }
	input, select, textarea { -moz-appearance: none; -webkit-appearance: none; appearance: none; }
	input, select, textarea, button, input[type="button"], input[type="reset"], input[type="submit"] { box-sizing: border-box; text-transform: none; outline-offset: -2px; }
		input { }
			input::-webkit-search-decoration, input::-webkit-search-cancel-button, input::-webkit-outer-spin-button, input::-webkit-inner-spin-button, input::-webkit-clear-button, input::-webkit-calendar-picker-indicator { display: none; -webkit-appearance: none; visibility: hidden !important; height: auto; margin: 0; }
			input::-o-outer-spin-button, input::-o-inner-spin-button { appearance: none; margin: 0; }
			input::-webkit-inner-spin-button, input::-webkit-outer-spin-button { height: auto; }
			input::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
			[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
			input[type="checkbox"], input[type="radio"] { display: inline-block; width: auto; height: auto; padding: 0; border: 0; background: none; line-height: 1; }
				input[type="checkbox"] { -moz-appearance: checkbox; -webkit-appearance: checkbox; appearance: checkbox; }
				input[type="radio"] { -moz-appearance: radio; -webkit-appearance: radio; appearance: radio; }
			input[type="color"] { padding: 0; cursor: pointer; }
			input[type="date"] { display: -webkit-inline-flex; }
			input[type="number"] { appearance: textfield; -moz-appearance: textfield; }
				input[type="number"]::-webkit-outer-spin-button,  input[type="number"]::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
				input[type="number"]::-o-outer-spin-button, input[type="number"]::-o-inner-spin-button { -o-appearance: none; margin: 0; }
		textarea { overflow: auto; vertical-align: top; resize: vertical; }
		select { line-height: 1; text-overflow: ''; text-indent: 0.01px; }
			select::-ms-expand { display: none; }
	button, input[type="button"], input[type="reset"], input[type="submit"] { display: block; overflow: visible; position: relative; z-index: 3; height: auto; margin: 0; box-shadow: none; text-transform: none; text-indent: 0; cursor: pointer; outline-width: 0; -webkit-appearance: button; appearance: button; -webkit-font-smoothing: inherit; }
		button::-moz-focus-inner, input::-moz-focus-inner { padding: 0; border: 0; outline: none; }
		button[disabled], input[type="button"][disabled], input[type="reset"][disabled], input[type="submit"][disabled] { border-color: var(--silver); background: var(--silver); cursor: default; }
::-webkit-input-placeholder { opacity: 1; color: inherit; }
:-ms-input-placeholder { opacity: 1; color: inherit; }
::-ms-input-placeholder { opacity: 1; color: inherit; }
::placeholder { opacity: 1; color: inherit; }
	:focus::-webkit-input-placeholder { opacity: 0; }
	:focus:-ms-input-placeholder { opacity: 0; }
	:focus::-ms-input-placeholder { opacity: 0; }
	:focus::placeholder { opacity: 0; }

form { }
	label { display: block; position: relative; left: 0; top: 0; z-index: 2; font-weight: 400; }
	input, select, textarea { display: block; width: 100%; border: 1px solid var(--mercury); background: var(--white); color: var(--pale); font-size: 16px; }
		input { height: 45px; padding: 0 16px; }
			input[type="date"] { line-height: 30px; }
		select { padding: 0 0 0 16px; line-height: normal; } 
			.gecko select { padding-left: 13px; }
		textarea { height: 122px; min-height: 122px; padding: 10px 10px 10px 16px; }
	button, input[type="button"], input[type="reset"], input[type="submit"] { overflow: hidden; float: left; margin-top: 6px; padding: 11.5px 19px; border-radius: 0; border: 0; background: var(--denim); color: var(--white); font-size: 14px; line-height: 1.2; text-transform: uppercase; text-align: center; }

.form-contact { position: relative; z-index: 2; margin: 63px 0 80px -125px; padding: 74px 760px 68px 125px; text-align: left; }
	.form-contact:before, .module-aside:before { background: var(--sand); }
	.form-contact header { margin-bottom: 50px; }
	.form-contact figure, .module-aside figure { position: absolute; left: 45%; right: calc(-50vw + 585px); top: 0; bottom: 0; margin: 0; border: 0 solid rgba(0,0,0,0); border-left-width: 125px; }
	.form-contact h1, .form-contact h2, .form-contact h3, .form-contact h4, .form-contact h5, .form-contact h6 { margin: 0 0 25px; font-size: 2.4em; font-weight: 900; text-transform: uppercase; }
	.form-contact .header-line { margin-bottom: 37px; }
	.form-contact p { margin-bottom: 6px; }
	.form-contact a.email { display: block; padding-top: 5px; }
.form-contact.inv { margin-left: 0; margin-right: -125px; padding-left: 680px; padding-right: 125px; }
	.form-contact.inv > * { max-width: 410px; }
	.form-contact.inv figure, .module-aside.inv figure { left: calc(-50vw + 585px); right: 45%; max-width: none; border-left-width: 0; border-right-width: 125px; }
		
	
.form-contact > div { position: relative; z-index: 2; }
	.form-contact.submit > div > *, .form-contact.done > div > * { opacity: .4; }
	.form-contact.submit > div:before, .form-contact.done > div:before { z-index: 8; }
	.form-contact.submit > div:after, .form-contact.done > div:after { content: ""; display: block; position: absolute; left: 50%; top: 50%; z-index: 9; width: 40px; height: 40px; margin: -20px 0 0 -20px; border-radius: 40px; border: 4px solid var(--alto); border-top-color: var(--azure); color: #fff; font-family: i; font-weight: 400; font-size: 16px; line-height: 32px; text-align: center; }
	.form-contact.submit > div:after { -webkit-animation: spin .75s infinite linear; animation: spin .75s infinite linear; }
	.form-contact.done > div:after { content: "\e902"; border-color: var(--mantis); background: var(--mantis); }
	
	
/*! Helpers --------- */
*, *:before, *:after { transition: visibility .4s cubic-bezier(.4,0,.2,1) 0s, color .4s cubic-bezier(.4,0,.2,1) 0s, background-color .4s cubic-bezier(.4,0,.2,1) 0s, border-color .4s cubic-bezier(.4,0,.2,1) 0s, opacity .4s cubic-bezier(.4,0,.2,1) 0s; -webkit-transition-delay: -.1s; -webkit-transform-origin: center center; transform-origin: center center; }
#mobile, #top > .menu:before, #top > .menu:after { transition: all .4s cubic-bezier(.4,0,.2,1) 0s; -webkit-transition-delay: -.1s; }
option { transition: none; }

.clear { clear: both; }
.hidden, #root .desktop-hide, #root .tablet-only, #root .mobile-only, #nav em, .list-social a span, #mobile em { position: absolute; left: -3000em; top: 0; right: auto; bottom: auto; }
[hidden], template, #mobile, #shadow, #top > .menu { display: none; }
article, aside, details, dialog, div, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }

hr { display: block; overflow: hidden; width: 100%; height: 1px; margin: 15px 0; padding: 0; border: 0; border-top: 1px solid var(--silver); background: none; font-size: 0; }

.form-contact:first-child, h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child, .list-aside:first-child, .list-aside p.more.toggle { margin-top: 0; }
ul ul, ul ol, ol ol, ol ul, #content > .form-contact:last-child, .list-aside li:last-child { margin-bottom: 0; }


/*! Miscellaneous --------- */
audio, canvas, iframe, img, svg, video { border-width: 0; vertical-align: middle; }
audio, canvas, progress, video { display: inline-block; vertical-align: baseline; }
audio:not([controls]), video[autoplay]:not([muted]) { display: none; }	
svg:not(:root) { overflow: hidden; }

::selection { background: var(--azure); color: var(--white); text-shadow: none; }
::-moz-selection { background: var(--azure); color: var(--white); text-shadow: none; }


/*! Outlines --------- */
[data-whatinput="keyboard"] a:focus, [data-whatinput="keyboard"] button:focus, [data-whatinput="keyboard"] input:focus, [data-whatinput="keyboard"] select:focus, [data-whatinput="keyboard"] textarea:focus { outline-width: 2px; outline-style: solid; }
[data-whatintent="mouse"] input:focus, [data-whatintent="mouse"] select:focus, [data-whatintent="mouse"] textarea:focus { outline: none; }


/*! Flexbox --------- */
/* flex */ 	.list-box, .list-social, #logo, #logo a, #nav, #footer ul, #footer { display: -moz-box; display: -webkit-box; display: -webkit-flex; display: -ms-flexbox; display: flex; }
/* f:wr */	.list-box, #footer ul, .list-social { -webkit-flex-wrap: wrap; flex-wrap: wrap; }
/* f:jc */	#footer { -webkit-justify-content: center; justify-content: center; }
/* f:ac */	#logo, #logo a, #nav, #footer { -webkit-align-items: center; align-items: center; }


/*! Icons --------- */
@font-face { font-family: 'i'; src: url('icons/icomoon.woff2') format('woff2'), url('icons/icomoon.woff') format('woff'), url('icons/icomoon.ttf') format('truetype'); }
[class^="icon-"], [class*=" icon-"] { font-family: 'i' !important; speak: none; font-style: normal; font-weight: 400; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
	.icon-check:before { content: "\e902"; }
	.icon-linkedin:before { content: "\e900"; }
	.icon-twitter:before { content: "\e901"; }


/* Animations --------- */
@-webkit-keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes spin { 0% { -webkit-transform: rotate(0deg); transform: rotate(0deg); } 100% { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }


/* Responsive --------- */
@media only screen and (max-width: 92.5em) { /* 1380 */
#logo { left: 50%; margin-left: -585px; }
#nav { right: 50%; margin-right: -585px; }

#top { }
	#logo, #nav { height: 180px; }
#featured { font-size: 5.06944444vw; }
}
@media only screen and (max-width: 75em) { /* 1200 */
#content, #footer { width: 980px; }
#logo { margin-left: -490px; }
#nav { margin-right: -490px; }

#top { }
	#logo, #nav { height: 130px; }
#featured { margin-bottom: 70px; }

.double.a, .double.b, .double.c, .form-contact { margin-left: -50px; }
	.double.a > *, .double.b > *, .double.c > *, .form-contact figure { border-left-width: 50px; }
.list-box { margin-left: -20px; }
	.list-box li { margin-bottom: 20px; padding-left: 30px; padding-right: 30px; padding-bottom: .1px; border-left-width: 20px; }
	.list-box figure { margin: 0 -30px 20px; }
.scheme-box { padding-right: 60px; }
	#content > .double:first-child > * > .scheme-box:first-child { margin-top: -191px; }
	
.form-contact, .module-aside { margin-left: -50px; padding-left: 50px; padding-right: 570px; }
	.form-contact figure, .module-aside figure { right: calc(-50vw + 490px); border-left-width: 50px; }
.form-contact.inv { padding-left: 535px; }
	.form-contact.inv figure, .module-aside.inv figure { left: calc(-50vw + 490px); }
}
@media only screen and (max-width: 62.5em) { /* 1000 */
#content, #footer { width: 720px; }
#logo { margin-left: -360px; }
#nav { margin-right: -360px; }
 
li, dt, dd, p, figure, th, td, caption, legend, pre, .list-box li, .list-aside li { font-size: 1.6em; }
h1, h2, h3, h4, h5, h6, legend, .s24 { font-size: 2.2em; }
h1, h2, .s30, .heading-a h1, .heading-a h2, .heading-a h3, .heading-a h4, .heading-a h5, .heading-a h6 { font-size: 25px; }
h3 { font-size: 2.4em; }

h1, h2, h3, h4, h5, h6, legend { margin-top: 35px; }
ul, ol, dl, p, figure, table, pre, h1, h2, h3, h4, h5, h6, legend, .form-contact h1, .form-contact h2, .form-contact h3, .form-contact h4, .form-contact h5, .form-contact h6, h1.s24, h2.s24, h3.s24, h4.s24, h5.s24, h6.s24, .header-line { margin-bottom: 15px; }
.form-contact header, .heading-a h1, .heading-a h2, .heading-a h3, .heading-a h4, .heading-a h5, .heading-a h6 { margin-bottom: 35px; }

#top { }
	#logo, #nav { height: 100px; }
		#logo { max-width: 350px; }
		#nav > ul { margin-right: -20px; }
			#nav > ul > li { margin-right: 20px; }
#featured { margin-bottom: 50px; }

.double.a, .double.b, .double.c, .form-contact { margin-left: -25px; }
	.double.a > *, .double.b > *, .double.c > *, .form-contact figure { border-left-width: 25px; }
.heading-a { margin-bottom: 75px; padding-top: 35px; }
.list-aside { margin: 0 0 50px; }
	.list-aside li { margin-bottom: 30px; padding-left: 335px; }
	.list-aside li > h1, .list-aside li > h2, .list-aside li > h3, .list-aside li > h4, .list-aside li > h5, .list-aside li > h6 { width: 305px; margin-left: -335px; }
	.list-aside h1 span, .list-aside h2 span, .list-aside h3 span, .list-aside h4 span, .list-aside h5 span, .list-aside h6 span { max-width: 250px; }
	.list-aside + h1, .list-aside + h2, .list-aside + h3, .list-aside + h4, .list-aside + h5, .list-aside + h6 { margin-top: 0; padding-top: 30px; }
	.list-aside p.more { margin-top: -15px; }
.list-box { }
	.list-box li { padding: 0 20px 1px; }
	.list-box figure { margin: 0 -20px 15px; }
.module-aside { margin: 40px 0 40px -25px; padding: 30px 420px 26px 25px; }
.scheme-box { margin-bottom: 50px; padding: 40px; }
	#content > .double:first-child > * > .scheme-box:first-child { margin-top: -120px; }
	
.form-contact { margin: 40px 0 40px -25px; padding: 30px 420px 35px 25px; }
	.form-contact figure, .module-aside figure { right: calc(-50vw + 360px); border-left-width: 25px; }
	.form-contact.inv figure, .module-aside.inv figure { left: calc(-50vw + 360px); padding-right: 4px; }
.form-contact.inv { padding-left: 371px; }

#root .desktop-hide, #root .tablet-only { position: relative; left: 0; top: 0; }
#root .desktop-only, #root .tablet-hide { position: absolute; left: -3000em; top: -3000em; right: auto; bottom: auto; }
}
@media only screen and (max-width: 47.5em) { /* 760 */
#content, #footer { width: auto; }
#content, #footer { padding-left: 20px; padding-right: 20px; }

li, dt, dd, p, figure, th, td, caption, legend, pre, .list-box li, .list-aside li { font-size: 1.5em; }
h1, h2, h3, h4, h5, h6, legend, .s24 { font-size: 1.8em; }
h1, h2, .s30, .heading-a h1, .heading-a h2, .heading-a h3, .heading-a h4, .heading-a h5, .heading-a h6 { font-size: 22px; }
h3 { font-size: 2em; }

#top { left: 0; right: 0; width: auto; margin: 0; padding: 10px 68px 0 10px; }
	#logo { position: relative; left: 0; right: 0; top: 0; height: 49px; margin: 0; padding: 0; }
	#skip { }
		#skip a { min-width: 0; }
			#skip a:focus, #skip a:active { right: 0; }
		#skip li { font-size: 1.3em; }
	#top > .menu { display: block; position: absolute; right: 10px; top: 10px; width: 49px; height: 49px; background: var(--marine); cursor: pointer; }
		#top > .menu:before, #top > .menu:after { content: ""; display: block; position: absolute; left: 50%; width: 30px; margin: 0 0 0 -15px; height: 13px; border-bottom: 3px solid #fff; }
			#top > .menu:before { top: 13px; border-top: 3px solid #fff; }
			#top > .menu:after { bottom: 13px; }
		.menu-active #top > .menu { }
			.menu-active #top > .menu:before { top: 23px; height: 3px; border-top-width: 0; border-bottom-width: 0; background: #fff; }
			.menu-active #top > .menu:after { bottom: 23px; height: 3px; border-top-width: 0; border-bottom-width: 0; background: #fff; }
			.menu-active #top > .menu:before { -webkit-transform: rotate(-225deg); -ms-transform: rotate(-225deg); transform: rotate(-225deg); }
			.menu-active #top > .menu:after { -webkit-transform: rotate(225deg); -ms-transform: rotate(225deg); transform: rotate(225deg); }
#featured { max-height: none; margin-bottom: 30px; }
	#featured img { max-height: 100vw; height: 300px !important; }
#mobile { display: block; overflow-x: hidden; overflow-y: auto; position: fixed; left: -250px; right: auto; top: 0; bottom: 0; z-index: 100; width: 240px; margin: 0; box-shadow: 0 0 5px rgba(0,0,0,.25); background: var(--biscay); line-height: 1.55; }
	#mobile > ul { list-style: none; margin: 0; padding: 0; }
	#mobile > ul > li { position: relative; float: none; margin: 0; border-bottom: 1px solid rgba(0,0,0,.2); font-size: 1.6em; }
	#mobile > ul > li > a { display: block; position: relative; z-index: 1; float: none; padding: 8px 20px; color: #fff; text-transform: none; text-decoration: none; }	
#shadow { display: block; visibility: hidden; position: fixed; left: 0; top: 0; z-index: 99; width: 100%; height: 100%; background: rgba(0,0,0,.5); text-align: left; text-indent: -3000em; opacity: 0; cursor: pointer; }
.menu-active #mobile { left: 0; }
.menu-active #shadow { visibility: visible; opacity: 1; }
#footer { }
	#footer ul, #footer ul + ul { width: 100%; margin-left: 0; }
	
.double { }
	#root .double > *, #root .list-aside > li > * { float: none; width: auto; }
.heading-a { margin: 0 -10px 25px; padding: 30px 10px 0; }
	.heading-a h1, .heading-a h2, .heading-a h3, .heading-a h4, .heading-a h5, .heading-a h6 { margin-bottom: 15px; padding-left: 10px; padding-right: 10px; }
.list-aside { margin-bottom: 30px; }
	.list-aside > li { margin-bottom: 15px; padding-left: 0; }
	.list-aside > li > h1, .list-aside > li > h2, .list-aside > li > h3, .list-aside > li > h4, .list-aside > li > h5, .list-aside > li > h6 { margin-left: 0; }
.list-box { display: block; } 
	.list-box li { width: 100%; }
.module-aside { }
	#root .module-aside figure { position: relative; left: 0; right: 0; width: auto; margin: 40px -20px -26px; padding: 0; border-left-width: 0; border-right-width: 0; }
.scheme-box { margin: 0 -10px 25px; padding: 30px; }
	#content > .double:first-child > * > .scheme-box:first-child, #content > .heading-a:first-child { margin-top: -60px; }
	
.form-contact { margin: 25px 0; }
	.form-contact.inv > * { max-width: none; }
	#root .form-contact, #root .module-aside { margin-left: 0; margin-right: 0; padding-right: 0; padding-left: 0; }
	#root .form-contact figure { position: relative; left: 0; right: 0; width: auto; margin: 40px -20px -35px; padding: 0; border-left-width: 0; border-right-width: 0; }

#footer { -webkit-flex-wrap: wrap; flex-wrap: wrap; }
#footer ul { -webkit-justify-content: center; justify-content: center; }

#nav { display: none; }
#root .tablet-hide, #root .mobile-only { position: relative; left: 0; top: 0; }
#root .tablet-only, #root .mobile-hide { position: absolute; left: -3000em; top: -3000em; right: auto; bottom: auto; }
}
@media only screen and (max-width: 25em) { /* 400 */
#featured { font-size: 22px; }
}