/* Resets */
body{
	padding: 0; margin: 0;
}
html{
	background: #2f1b0d;
	height: 100%;
}
/*** Fonts  ***/
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 400;
	src:
		local('Raleway Medium'),
		local('Raleway-Medium'),
		url('/fonts/raleway_400.ttf') format('truetype');
}
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 500;
	src:
		local('Raleway SemiBold'),
		local('Raleway-SemiBold'),
		url('/fonts/raleway_500.ttf') format('truetype');
}
@font-face {
	font-family: 'Raleway';
	font-style: normal;
	font-weight: 600;
	src:
		local('Raleway'),
		url('/fonts/raleway_600.ttf') format('truetype');
}
h1,h2,h3,h4,h5,h6{ font-weight: 500;}

body{
	font-family: "raleway",sans;
	color: #faedc0;
	letter-spacing: 0.03em;
	word-spacing: 0.05em;
	font-weight: 500;
	text-rendering: optimizeLegibility;
}

/*** Menu ***/
#menu{
	position: fixed;
	left:3em; right:3em; height: 4em; bottom: 0;
	padding: 1em;
	left:3em; right:3em; height: 3em; bottom: 0;
	padding: 0.5em;
	overflow:auto;

	background: #2f1b0d;
	background: linear-gradient( to bottom, #2f1b0d ,#23140a);
	border-top: 0.2em solid #23140a;
	box-shadow: 0 -0.4em 0.4em -0.4em #23140a;

	z-index: 9999;
}
#menu > a{
	display: inline-block;
	vertical-align: middle;
	height: 1em;
	margin: 0;
	padding:0 0;
	padding-top: 0.25em;
	list-style: none;
	font-size: 1.5em;

	text-decoration: none;
	letter-spacing: 0.1em;
}
#menu .contact{
	vertical-align: bottom;
	width: 80%;
	display: inline-block;
	font-size: 0.95em;
	padding: 0 0 0 1em;
	color: white;
	color: rgba(255,255,255,0.9);
}

/*** Background and trims ***/
#trimtop, #trimright, #trimleft{
	position: fixed;
	background: #2f1b0d;
	z-index: -1;
}
#trimtop{
	top: 0; left: 0; right: 0; height: 3em;
	z-index: 9999;
}
#trimleft, #trimright{
	width: 3em; top: 0; bottom: 0;
	background: linear-gradient( to top, #23140a, #2f1b0d 4em); /*Matches Menu*/
}
#trimleft{ left:0;}
#trimright{ right: 0;}

#background{
	position: fixed;
	left:0; right:0; top:0; bottom 0;
	height: 100%;
border: 3em solid #2f1b0d;
	z-index: -100;

	background: black;
	background-image: url("/img/background.jpg");
	background-position: 100% 30%;
	background-attachment: fixed;
	background-size: 125%;
	box-shadow: inset 0 0 0.5em rgba(0,0,0,0.8);
}

/*** Content boxes ***/
.content{
	padding: 4em;
	padding-bottom: 5em; /* Extra space for menu*/
	text-align: center;
	word-spacing: -0.3em;
}
.content :not(div){
	text-align: left;
	word-spacing: 0.05em;
}
.content div{
	margin: 0;
	padding:0;
}
.content div div.scroller{
	height: 100%;
	width: 100%;
	overflow: auto;
}
.content div.group,
.content div.tiny,
.content div.small,
.content div.avg_half,
.content div.avg_banner,
.content div.avg,
.content div.page{
	vertical-align: top;
	display: inline-block;
	max-width: 100%;
	overflow: auto;
}
.content div.tiny,
.content div.small,
.content div.avg_half,
.content div.avg_banner,
.content div.avg,
.content div.page{
	padding: 1.5em;
	margin: 1em;
	background: black;
	background: rgba(0,0,0,0.5);
	background: linear-gradient( to bottom, rgba(0,0,0,.45), rgba(0,0,0.55) );
	box-shadow:
		0 0 0 1px rgba(255,255,255,0.1),
		0 0 0.5em 1px rgba(255,255,255,0.05);
}
.content div.tiny         { height:  3.75em; width:  3.75em; }
.content div.small        { height: 12.50em; width: 12.50em; }
.content div.avg_half     { height: 12.50em; width: 30.00em; }
.content div.avg_banner   { height:  3.75em; width: 30.00em; }
.content div.avg          { height: 30.00em; width: 30.00em; }
.content div.page         { width:  65.00em; height: auto;   }
@media only screen and (max-width: 50em) { body{ font-family: sans; 	} }
@media only screen and (max-width: 30em) { #menu{ font-family: serif; } }

@media only screen and (max-width: 120em) { body { font-size: 1.100em; } } /*1920*/
@media only screen and (max-width: 115em) { body { font-size: 1.050em; } }
@media only screen and (max-width: 110em) { body { font-size: 1.000em; } }
@media only screen and (max-width: 105em) { body { font-size: 0.950em; } }
@media only screen and (max-width: 100em) { body { font-size: 0.900em; } } /*1600*/
@media only screen and (max-width:  95em) { body { font-size: 0.850em; } }
@media only screen and (max-width:  90em) { body { font-size: 0.800em; } }
@media only screen and (max-width:  86em) { body { font-size: 0.750em; } } /*1366*/
@media only screen and (max-width:  64em) { body { font-size: 0.750em; } } /*1024*/
@media only screen and (max-width:  60em) { body { font-size: 0.650em; } }
@media only screen and (max-width:  55em) { body { font-size: 0.600em; } }
@media only screen and (max-width:  50em) { body { font-size: 0.550em; } } /*800*/

/*Narrow view*/
@media only screen and (max-width:  46em) { body { font-size: 0.8em; } }
@media only screen and (max-width:  35em) { body { font-size: 0.7em; } }
@media only screen and (max-width:  30em) { body { font-size: 0.6em; } }
@media only screen and (max-width:  25em) { body { font-size: 0.5em; } }
@media only screen and (max-width:  20em) { body { font-size: 0.4em; } }

@media only screen and (max-width: 46em) {
	.content div.page         { width:  30.00em; height: auto;  }
}
@media only screen and (max-width: 40em) {
	#trimleft,#trimright { width: 0;}
	#background{ border: none;}
	.content{ padding-left: 0.25em; padding-right: 0.25em;}
	#menu{left:0;right:0;}
}

.columns{
	column-width: 22em;
	-moz-column-width: 22em;
	-webkit-column-width: 22em;

	column-gap: 3em;
	-moz-column-gap: 3em;
	-webkit-column-gap: 3em;

	/*faedc0*/
	column-rule: dotted 1px rgba(250,237,192,0.25);
	-moz-column-rule: dotted 1px rgba(250,237,192,0.25);
	-webkit-column-rule: dotted 1px rgba(250,237,192,0.25);
}

/*** Pruduct scroller ***/
.content #product_scroller{
	overflow: hidden;
}

#product_scroller div{ /*Provides the 1em borders*/
	width: 100%; height: 100%;
	overflow: hidden;
}
#product_scroller div div{ /* Slides around*/
	height: 100%;
}
#product_scroller img{ height: 100%; width: auto;}

/*** Normal markup ***/
.content div p:first-child,
.content div h1:first-child,
.content div h2:first-child,
.content div h3:first-child,
.content div h4:first-child {
	padding-top: 0;
	margin-top:0;
}
.content div p:last-child,
.content div h1:last-child,
.content div h2:last-child,
.content div h3:last-child,
.content div h4:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
}
.content div{
	font-size: 1.0em;
	text-shadow:
		0 0 2px black,
		0 0 2px black;
}
a      { color: #6c9fd2; text-decoration: underline;}
a:hover{ color: #caddef;}

.center        {text-align: center !important;}
.center_child *{text-align: center !important;}

img{
	box-shadow:
		0 0 0 2px rgba(0,0,0,1),
		0 0 0 3px rgba(255,255,255,0.2);
	border-radius: 0.1em;
}
img.float_left, img.float_right{
	margin: 1em;
	padding: 4px;
	box-shadow:
		0 0 1px black,
		inset 0 0 1px 1px black,
		inset 0 0 1px 3px rgba(255,255,255,0.25);
	border-radius: 0.5em;
}
img.float_left { float: left; margin-left: 0;}
img.float_right{ float: right; margin-right: 0;}

img.content{ max-width: 100%; max-height: auto;}
img.tiny   {width:  5em   !important; height: auto !important;}
img.small  {width:  7.5em !important; height: auto !important;}
img.avg    {width: 10em   !important; height: auto !important;}
img.large  {width: 15em   !important; height: auto !important;}
img.stretch{width: 100%   !important; height: auto !important;}

span.code{ font-family: monospace; font-size: 1.2em; color:#6c9fd2;}

em{ font-style: normal; font-weight: 600;}
small,
span.small{
	font-weight: 400; font-size: 0.8em !important;
}
small em,
span.small em{
	font-weight: 500;
}

/*** Special CSS for logo ***/
.content #logo_top,
.content #logo_bottom{
	display: block;
	position: relative;
	height: 0;
	width: 100%;
	font-family: "Quintessential",serif;
	text-align: center;
	letter-spacing: 0.1em;
	text-shadow:
		0 0 1px black,
		0 0 4px black,
		0 0 4px black,
		0 0 8px black;
}
.content #logo_top{
	font-size: 3.25em;
	
}
.content #logo_bottom{
	bottom: 1.75em;
	font-size: 3.25em;
}
img#logo{
	box-shadow: none;
	border-radius: 0;
	opacity: 0.9;
}

/*** Cycler ***/
.cycle-slideshow img{
	width: 12.5em;
	height: 12.5em;
}

/*** Image Grid ***/
div.content div.image_grid p{
	text-align: center;
}
.content div.image_grid img {
	margin: 0.5em;
	width:10.5em;
}

/*** Left | Center | Right ***/
.ar{ text-align: right !important;}
.ac{ text-align: left !important;}
.al{ text-align: left !important;}

.content p.columns_3{
	text-align: center;
}
.content p.columns_3 span{
	display: inline-block;
	width: 32%;
}
.content p.columns_3 span.left  { text-align: left  ;}
.content p.columns_3 span.center{ text-align: center;}
.content p.columns_3 span.right { text-align: right ;}
