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;
}
/* HTML5 display-role reset for older browsers */
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;
}

/**
 *  clearfixc For modern browsers
 */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
.cf:after {
    clear:both;
}
/**
 * For IE 6/7 (trigger hasLayout)
 */
.cf {
    *zoom:1;
}

.fw
{
	display: block;
	width: 100%;
}

.reg { font-family: 'gc_r' }

html,body
{
	padding: 0;
	margin: 0;
	color: #ffffff;
}

body
{
	font-family: 'gc_b';
	-webkit-font-smoothing: antialiased;
	height: 100%;
	height: 100VH;
}

@media only screen and (min-width: 1024px){
	body { font-size: 100%; }
}

/*
@media only screen and (min-width: 640px) and (max-width: 1024px){
	body { font-size: 90%; }
}

@media only screen and (max-width: 640px){
	body
	{
		font-size: 80%;
	}
}
*/


@font-face {
	font-family: 'gc_b';
	src: url('greycliff-cf-bold.eot');
	src: url('greycliff-cf-bold.eot?#iefix') format('embedded-opentype'),
             url('greycliff-cf-bold.woff2') format('woff2'),
	     url('greycliff-cf-bold.woff') format('woff'),
	     url('greycliff-cf-bold.ttf') format('truetype'),
	     url('greycliff-cf-bold.svg#youworkforthem') format('svg');
	font-weight: normal;
	font-style: normal;
}

@font-face {
	font-family: 'gc_f';
	src: url('greycliff-cf-regular.eot');
	src: url('greycliff-cf-regular.eot?#iefix') format('embedded-opentype'),
             url('greycliff-cf-regular.woff2') format('woff2'),
	     url('greycliff-cf-regular.woff') format('woff'),
	     url('greycliff-cf-regular.ttf') format('truetype'),
	     url('greycliff-cf-regular.svg#youworkforthem') format('svg');
	font-weight: normal;
	font-style: normal;
}

/******************
/**** GENERAL *****
******************/

/*** Layout ***/

div#site-wrapper
{
	width: 94%;
	min-height: 100%;
	min-height: 100VH;
	height: 100%;
	height: 100VH;
	overflow: hidden;
	margin: 0 auto;
	padding-left: 3%;
	padding-right: 3%;

	background-image: url('../img/bg_desktop.jpg');
	background-position: center bottom;
	background-size: cover;
}

div#site-content
{
	width: 100%;
	max-width: 1100px;
	min-height: 100%;
	min-height: 100VH;
	margin: 0 auto;	
	text-align: center;
	display: flex;
	justify-content: space-between;
	flex-direction: column;
}

.mobile { display: none; }
.desktop-m { display: none; }
.desktop { display: block; }

/*
@media only screen and (max-height: 720px){
	.desktop-m { display: block; }
	.desktop { display: none; }
}
*/
@media only screen and (min-width: 1024px) and (max-width: 1200px), screen and (max-height: 880px){
	.desktop-m { display: block; }
	.desktop { display: none; }
}

@media only screen and (min-width: 640px) and (max-width: 1024px){
	div#site-content { max-width: 500px; }
}

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

	.desktop-m { display: none; }
	.desktop { display: none; }
	.mobile { display: block !important; }

	div#site-wrapper
	{
		width: 84%;
		min-height: auto;
		height: auto;
		overflow: auto;
		padding-left: 8%;
		padding-right: 8%;
		/*
		background-image: url('../img/bg_desktop.jpg');
		background-position: center bottom;
		*/
	}

	.desktop { display: none; }
}


/*** Column-wrappers ***/

div.col-wrapper
{
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-direction: row;
	flex-wrap: wrap;
}

div.col
{
	flex-grow: 0;
	flex-shrink: 0;
	margin: 0px;
}

div.col-1 { flex-basis: 100%; }
div.col-2 { flex-basis: 48%; }
div.col-3 { flex-basis: 27% }

div.col > .text-container
{
	max-width: none;
	margin: 10px 0px 0px;
}

div.col.image
{
	background-position: center center;
	background-size: cover;
	background-color: #FFFFFF;
}


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

	/*
	div.wrap-2 { flex-direction: column-reverse; }
	div.wrap-2.flipped { flex-direction: column; }
	div.wrap-4.flipped { flex-direction: row; }
	*/

	div.col-3 { flex-basis: 100%; }

}

@media only screen and (max-width: 920px){
	
}

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

	div.col { margin: 3% 0px; }

	div.col-1,
	div.col-2,
	div.col-4 { flex-basis: 100%; }

	div.col.image.vertical { padding-top: 120% }
	div.col.image.horizontal { padding-top: 70% }

	div.col-wrapper.reverse { flex-direction: column-reverse; }

}


/*** Header ***/

div#header
{
	margin-top: 18px;
}

div#top-tagline
{
	font-weight: 1.125em;
}


/*** Intro section ***/

div#main-content
{
	margin-top: 28px;
}

div#logo-wrapper
{
	width: 50%;
	max-width: 178px;
	margin: 26px auto 0px;
}

div.text-container
{
	width: 100%;
	max-width: 586px;
	margin: 18px auto 0;
	/*ont-size: 1.125em;*/
	line-height: 150%;
}

/* Small screen */
@media only screen and (min-width: 1024px) and (max-width: 1200px), screen and (max-height: 880px){	
	div#logo-wrapper
	{
		max-width: 125px;
		margin-top: 0px;
	}
}

@media only screen and (max-width: 1024px){	
	div#logo-wrapper
	{
		max-width: 150px;
	}
}


/*** Areas ***/

div.area-logo img
{
	display: block;
	width: 90%;
	margin: 0 auto;
}

@media only screen and (max-width: 1024px) {
	div.area-logo img
	{
		margin-top: 8%;
		width: 85%;
	}

	div.area-logo:nth-of-type(2) img,
	div.area-logo:nth-of-type(3) img
	{
		margin-top: 10%;
	}
}

div.text-box
{
	box-sizing: border-box;
	padding: 15px 15px 18px;
	color: #514D4A;
	line-height: 150%;
	margin-top: 23px;
}

div.text-box.vilt { background-color: #CAC4B6;}
div.text-box.mat { background-color: #F8F5EF;}
div.text-box.fest { background-color: #FCE6E1;}

@media only screen and (max-width: 1024px) {
	div.text-box
	{
		padding: 5%;
	}
}

div.contact-box
{
	background: rgba(81,77,74,0.50);
	border: 1px solid #FFFFFF;
	padding: 13px;
	box-sizing: border-box;
	margin-top: 15px;
}

div.contact-box .title
{
	text-transform: uppercase;
	letter-spacing: 2.29px;
}

div.contact-box .link-wrapper
{
	display: block;	
	width: 100%;
	text-align: center;
}

div.contact-box a
{
	display: inline-block;
	font-size: 1.125em;
	color: #ffffff;
	text-decoration: none;
}

div.contact-box a:hover
{
	text-decoration: underline;
}

div.contact-box .email
{
	margin-top: 16px;
}

div.contact-box .tel
{
	margin-top: 14px;
}

@media only screen and (min-width: 1024px) and (max-width: 1200px), screen and (max-height: 880px){	
	div.contact-box
	{
		margin-bottom: 50px;
	}

	div.contact-box a
	{
		font-size: 1em;
	}
}

@media only screen and (max-width: 1024px) {
	div.contact-box
	{
		padding: 4%;
	}
}

@media only screen and (max-width: 1024px) {
	div#main-content .col:nth-of-type(1) { order: 1; }
	div#main-content .col:nth-of-type(4) { order: 2; }
	div#main-content .col:nth-of-type(7) { order: 3; }
	
	div#main-content .col:nth-of-type(2) { order: 4; }
	div#main-content .col:nth-of-type(5) { order: 5; }
	div#main-content .col:nth-of-type(8) { order: 6; }
	
	div#main-content .col:nth-of-type(3) { order: 7; }
	div#main-content .col:nth-of-type(6) { order: 8; }
	div#main-content .col:nth-of-type(9) { order: 9; }
}




/*** Footer ***/

div#footer
{
	margin-top: 50px;
	margin-bottom: 20px;
}


div#footer .title,
div#header .title
{
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1.56px;
}

div#footer .content,
div#header .content
{
	margin-top: 12px;
}

div.content div.some-links { margin-top: 5px; }

div.some-links a
{
	color: #FFFFFF;
	margin: 0px 8px;
	text-decoration: none;
	opacity: 0.85;

	transition: opacity .25s ease-in-out;
	-moz-transition: opacity .25s ease-in-out;
	-webkit-transition: opacity .25s ease-in-out;
}

div.some-links a:hover
{
	opacity: 1;
}

a.maps,
a.maps
{
	font-size: 18px;
	line-height: 133%;
	color: #FFFFFF;
	text-decoration: none;
}

a.maps:hover
{
	text-decoration: underline;
}
/*
@media only screen and (min-width: 1024px) and (max-width: 1200px), screen and (max-height: 880px){	
	div#footer
	{
		display: none;
	}
}
*/
@media only screen and (max-width: 1024px){	
	div#footer
	{
		display: block;
	}

	div#footer .col:nth-of-type(3) { margin-top: 40px; }

}
