/**************************************** reset ****************************************/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
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;
	vertical-align: baseline;
}
/****************************************** end reset *******************************************/
body, html {
	background: #fff;
	color: #333;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 18px;
	font-weight: 400;
	text-align: left;
	margin:0;
	padding:0;
	height: 100%; /* height and width needed for map */
	width: 100%;
	display: flex;
	flex-direction: column;
}
html{
	overflow-x:hidden;
}
h1, h2 {
	font-weight: 300;
}
h1 {
	font-size: 2.3em;
	margin: 2% 0 1% 0;
}
h2 {
	font-size: 1.7em;
	margin: 0% 0 1% 0;}
h3 {
	font-size: 1.5em;
	margin: 4% 0 3% 0;
	font-weight: normal;
}
h4 {
		font-size: 1em;
		font-weight: normal;
		margin: 4% 0 1% 3%;
}
h5 {
		font-size: 1em;
		font-weight: normal;
		margin: 1% 0 1% 6%;
}

p {
	margin: 0 0 2% 0;
	line-height: 1.3em;
}
a {
	color: #333;
	/*text-decoration: none;*/
}
.schematic {
	margin: 0 1em 1em 0;
	/*display: block;*/
	max-width:260px;
	max-height:235px;
	width: auto;
	height: auto;
	border: 1px solid #ccc;
}
ul, ol {
	list-style-position:inside;
}
ul {
	/*list-style: square inside none;*/
	padding: 0;
}
li {
	padding-bottom: 0.9em;
	list-style-type: disc;
    list-style-position: inside;
    text-indent: -1.3em;
    padding-left: 1.5em;
}
table, td {
	vertical-align: top;
	/*border-spacing: 40px 65px;*/
	border: 1px solid #ccc;
	border-collapse: collapse;
	margin-bottom: 1em;
}
/* Zebra striping */
tr:nth-of-type(odd) { 
	background: #eee; 
}
td {
	padding: 10px;
}
.bold{
	font-weight: 700;
}
.no_wrap {
	white-space: nowrap;
}
.center {
	text-align: center;}
.img_center {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 1024px;
}
.white {
	background-color: #fff;
}
.gray {
	background-color: #eee;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 3em 0 1em 0;
    padding: 0;
}
/******************************************************************wrappers**********************************************/
.header {
	background: #eee;
	border-bottom: 1px solid #ddd;
	border-top: 1px solid #ddd;
	width: 100%;
}
.header p {
	margin: 0;
	font-size: 0.9em;
}
.header a {
	color: #aaa;
	text-decoration: none;
}
.page_wrapper {
	flex: 1 0 auto; /* Sticky footer - Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
	padding: 0;
}

.flex_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 4%;
}

@media screen and (max-width: 1000px) {
    .flex_container {
		margin: 4% 2%;
	}
	.box_container {
		width: 80%;
		padding: 5% 4% 3% 4%;
	}
}

.content_wrapper {
	width: 60%;
	padding: 2% 20%;
}

@media screen and (max-width: 1100px) {
	.content_wrapper {
		width: 80%;
		padding: 3% 10% 4% 10%;
	}
}

@media screen and (max-width: 800px) {
	.content_wrapper {
		width: 90%;
		padding: 3% 5%;
	}
}
.footer {
	flex-shrink: 0; /* Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
	color: #999;
	padding: 2% 5%;
	font-size: 0.9em
}
.color_swatch_ivory {
	background-color: #fbe4af ;
}