/**************************************** 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: #eee;
	color: #555;
	font-family: Montserrat, Arial, Sans Serif;
	font-size: 18px;
	font-weight: normal;
	text-align: left;
	line-height: 1.4em;
	margin:0;
	padding:0;
	height: 100%; /* height and width needed for google map */
	width: 100%;
	display: flex;
	flex-direction: column;
}
html{
	overflow-x:hidden;
}

h1, h2, h3, h4 {
	color: #333333;
	font-weight: normal;
	margin: 4% 0 1% 0;}
	
h2 {
	font-size: 1.5em;
	}
		
h3 {
	font-size: 1.2em;
}
		
p {
	margin: 2% 2% 0 0;
	}
        
a {
	color: #000;
	font-weight: bold;}
    
ul, ol {
	list-style-position:inside;
	margin: 0;
	}
    
ul {
	list-style: square inside none;
	padding: 0 0 20px 20px;
	}
		
li {
	margin: 0;
	}
	
.center {
	text-align: center;}
	
.img_center {
	display: block;
	margin: 2% auto;
}

img {
	border: 1px solid #999;
	margin: 3% auto 0 auto;
	display: block;
	max-height: 100%;
    max-width: 100%;
	width: auto;
	height: auto;
}

.right {
	text-align:right;
}
.uppercase {
	text-transform: uppercase;
}
.caption {
	max-width: 320px;
	margin: 0 auto;
}
.caption p {
	font-size: 0.8em;
	margin: 1% 0 0 0;
	line-height: 1.2em;
}
table, th, td {
	border: 1px solid #ccc;
	border-collapse: collapse;
	margin-top: 2%;
}
th, td {
	padding: 0 10px 0 5px;
}
th {
	border-bottom: 1px solid #bbb;
	text-align: center;
}

.bold {
	font-weight: bold;
}
.total {
	border-top: 1px solid #bbb;
}

.index {
	margin: 2% 0 1% 4%;
}

.reduced_top_margin {
	margin-top: 0.6em;
}

form {
	border: 1px solid #aaa;
	background: #ddd;
	padding: 2%;
	margin-top: 2%;
}

button {
	margin-top: 2%;
	padding: 10px;
	border-radius: 12px;
}
input {
		margin-right: 5px;
}

/******************************************************************wrappers**********************************************/
.wrapper_page {
	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: 2%;
}

.wrapper_content, .wrapper_content_2_column {
	margin: 1% auto;
	max-width: 1200px;
}

.wrapper_content_2_column {
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
}

@media screen and (max-width: 1000px) {
	.wrapper_content_2_column {
		flex-wrap: wrap;
	}
}

.column_left {
}

.column_right {
	min-width: 320px;
}

.footer {
	flex-shrink: 0; /* Prevent Chrome, Opera, and Safari from letting these items shrink to smaller than their content's default minimum size. */
	color: #ccc;
	background-color: #2f3847;
	padding: 2% 5%;
	font-size: 0.9em
}

/***********************************************************************************************************************/
