@import url('310k-fonts.css');

:root {

	--page-bg:white;
	--black:#181715;
	--grey:#949391;
	--header-height:80px;
	--grid-title:#FDF9FA;
	--grid-overlay:rgba(20,37,49,.7);

}
/* 
black: 504E4E
grey: 444440	
 */

html
{
	width:100%;
	height:100%;
	overflow-y: scroll;
}
/* 
html:not(.page)
{
	overflow:hidden;
}
 */
body
{
	margin:0;
	margin-bottom:35px;
	padding:0;
	background-color:var(--page-bg);
	
	font-family:kobernregular,sans-serif;
	font-size:100%;
	line-height:1.1;
	color:var(--black);
	
	text-rendering: optimizeLegibility;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
body *
{
	box-sizing: border-box;
    -moz-box-sizing: border-box;
}
.clear:after
{
	content:'';
	display:table;
	clear:both;
}
body a
{
	text-decoration:none;
}


/*	layout
*/

#page-centered
{
	position:relative;
	width:1290px;
	max-width:100%;
	padding:0 30px;
	margin:auto;
	
	/* background-color:rgba(250,0,0,.1); */
}
#page-centered.fade
{
	opacity:0;
	transition:opacity .15s ease 0s;
	-webkit-transition:opacity .15s ease 0s;
}
#page-header
{
	position:fixed;
	position:sticky;
	top:0;
	
	width:100%;
	height:var(--header-height);
	
	background-color:var(--page-bg);
	z-index:1000;
}
#header
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:1;
	background-color:var(--page-bg);
}
#color-picker
{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:30px;
}
#colors
{
	display:flex;
	width:100%;
	height:24px;
	transform:translateY(-21px);
	transition:transform .1s ease 0s;
	pointer-events:none;
}
.color
{
	width:3px;
	transition:width .1s ease 0s;
}
.black
{
	background-color:black;
}
.white
{
	background-color:white;
}
#gradient
{
	width:calc(100% - 6px);
	transition:width .1s ease 0s;
}
/* #color-picker:hover #colors */
#color-picker.active #colors
{
	transform:none;
}
/* #color-picker:hover .color */
#color-picker.active .color
{
	width:24px;
}
/* #color-picker:hover #gradient */
#color-picker.active #gradient
{
	width:calc(100% - 48px);
}

.picker
{
	display:none;
	position:absolute;
	width:12px;
	height:12px;
	border:3px solid var(--page-bg);
	border-radius:50%;
}
#color-picker:hover .picker
{
	display:block;
}

#page-body
{
	position:relative;
}
#logo,
#back
{
	display:block;
	position:absolute;
	left:0;
	top:30px;
	height:24px;
	background:transparent none no-repeat 0 0;
}
#logo
{
	width:90px;
	background-image:url(../media/III.svg);
}
#page-header.expanded #logo
{
	/* width:90px; */
	background-image:url(../media/IIIXK.svg);
}
#brand
{
	position:absolute;
	right:0;
	top:30px;
	width:33px;
	height:18px;
	background:transparent url(../media/toggle.svg) no-repeat 0 0;
}
#brand.on
{
	background-image:url(../media/toggle-on.svg);
}
#back
{
	width:24px;
	background-image:url(../media/X.svg);
}
#menu
{	
	position:absolute;
	left:0;
	top:100%;
	margin:-3px 0 0 0;
	padding:0;
	padding-bottom:26px;
	
	width:100%;
	background-color:var(--page-bg);
	font-family:kobernregular;
	font-size:15px;
	
	color:var(--grey);
	list-style:none;
	
	z-index:-1;
	transition:transform .1s ease 0s;
	transform:translateY(-100%);
}
#page-header.expanded #menu
{
	transform:none;
}
#menu li
{
	line-height:20px;
}
#menu a
{
	display:block;
	max-width:150px;
	cursor:pointer;
	color:var(--black);
}
#menu a.selected
{
	color:#1D61F8;
}
#menu a:hover
{
	color:var(--grey);
}
#reset
{
	position:fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
}
#reset:not(.active)
{
	pointer-events:none;
}


/*	grid items
*/

#grid 
{
	/* padding-top:var(--header-height); */
	width:100%;
	padding-bottom:30px;
}
#grid .item
{
	position:relative;
	border-radius:8px;
	padding-bottom:calc(9 / 16 * 100%);
	/* height:100px; */

	background:transparent none no-repeat 50% 50%;
	background-size:cover;
	
	transition:opacity .2s ease 0s;
	-webkit-transition:opacity .2s ease 0s;
	
	overflow:hidden;
}
#grid .item img
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	object-fit: cover;
}

#grid .item .overlay
{
	display:none;
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	padding:10px 14px;
	background-color:var(--grid-overlay);
}
#grid .item .overlay h1
{
	margin:0;
	font-family:kobernblack;
	font-size:38px;
	line-height:38px;
	color:var(--grid-title);
}
#grid .item .overlay .tags
{
	position:absolute;
	right:11px;
	bottom:11px;
	font-family:helvetica,arial,sans-serif;
	font-size:10px;
	font-weight:600;
	color:var(--grid-title);
}

#grid:not(.brand) .item:hover .overlay
{
	display:block;
}


#grid .item .brand
{
	display:none;
	width:100%;
	height:100%;
	background:white none no-repeat 50% 50%;
	background-size:cover;
}
#grid.brand .item
{
	background-color:transparent !important;
	border:1px solid #D8D8D8;
}
#grid.brand .item .brand
{
	display:block;
}



/*	page
*/

#title
{
	margin-top:40px;
	width:100%;
	padding:0 20%;
	
	font-family:kobernblack;
	font-size:2.8125em;
	line-height:1;
	color:#504E4E;
	text-align:center;
}
#title-caption,
#end
{	
	margin:20px 0 30px 0;

	font-family:kobernlight;
	font-size:1.25em;
	color:#444440;
	text-align:center;
}
#page-body
{
	
}
#body
{
	font-size:1.1em;
	line-height:1.25;
}
#body p,
#body .address,
#body table
{
	width:845px;
	max-width:calc(100% - 30px);
	margin-left:auto;
	margin-right:auto;
}
#body a
{
	color:#008996;
}
#body img.centered
{
	margin:auto;
	display:block;
	max-width:100%;
}
#body .address > div
{
	float:left;
	width:33.33%;
	margin-bottom:20px;
}
#body .address:after
{
	content:'';
	display:table;
	clear:both;
}

#body iframe
{
	display:block;
	width:100% !important;
}
.cms-inline-media,
div[data-oembed-url^="http"]
{
	margin:80px 0;
}
.cms-inline-media + div[data-oembed-url^="http"],
div[data-oembed-url^="http"] + .cms-inline-media,
div[data-oembed-url^="http"] + div[data-oembed-url^="http"]
{
	margin-top:-80px;
}
.cms-inline-media:last-child,
div[data-oembed-url^="http"]:last-child
{
	margin-bottom:1em;
}
div[data-oembed-url] > *
{
	max-width:100% !important;
}

.cms-inline-media-thumb
{
	display:none;
}
.cms-inline-media img,
#header-image
{
	width:100%;
	display:block;
}
.caption
{
	margin:-40px 0 0 30px;
	padding-bottom:20px;
	line-height:20px;
	font-size:.9em;
}
.caption.hidden
{
	display:none;
}
.caption.white
{
	color:white;
	text-shadow:1px 1px 1px rgba(0,0,0,.65);
}
#page-footer
{
	text-align:center;
	padding:80px 0px 40px 0px;
}
#end
{
	position:relative;
}
#end:before
{
	content:url(../media/III.svg);
	position:absolute;
	left:50%;
	top:-40px;
	margin-left:-10px;
}

table
{
	border-collapse: collapse;
	border:1px solid var(--grey);
	font-size:.7em;
}
table td
{
	border:1px solid var(--grey);
}


/*	responsive views
*/


@media (min-width:1003px)
{
	/* 3 cols */
	
	#header
	{
		width:
	}
	
	#grid
	{
		display:grid;
		grid-template-columns:repeat(3,calc((100% - 60px) / 3));

		column-gap: 30px;
		row-gap: 30px;

	}
	

}
@media (min-width:1003px) and (max-width:1290px)
{
	#grid .item .overlay h1
	{
		font-size:calc((38 / 1290) * 100vw);
		line-height:calc((38 / 1290) * 100vw);
	}

}





@media (max-width:1003px)
{

	/*	single column */

	#page-centered
	{
		width:410px;
		padding:0 10px;
	}
	#grid
	{
		display:flex;
		flex-wrap: wrap;
	}
	#grid .item
	{
		width:100%;
		margin-bottom:26px;
	}
/* 
	#color-picker
	{
		height:54px;
		height:30px;
		z-index:1;
	}
 */
	#color-picker.active
	{
		height:54px;
		z-index:1;
	}
	#colors
	{
		height:54px;
		transform:translateY(-48px);
	}
	.color
	{
		width:6px;
	}
	#gradient
	{
		width:calc(100% - 12px);
	}
	#color-picker.active .color
	{
		width:19px;
	}
	#color-picker.active #gradient
	{
		width:calc(100% - 38px);
	}
	#color-picker.active #colors
	{
		pointer-events:all;
	}
	.picker.last
	{
		display:none !important;
	}

	#menu li
	{
		font-size:22px;
		line-height:26px;
	}
}

@media (max-width:410px)
{
	#grid .item .overlay h1
	{
		font-size:calc((38 / 410) * 100vw);
		line-height:calc((38 / 410) * 100vw);
	}
}


