/* BODY */
/* ---------------------------------------------------- */
html, body {
	height: 100%;
}

body {
	font-family: 'Open Sans', sans-serif;
	color: #555;
	background-color: #fff;
}

/* TYPOGRAPHY */
/* ---------------------------------------------------- */
a:link,
a:visited,
a:hover,
a:active {
	color: #0266c2;
	text-decoration: underline;
}

a:hover,
a:active,
a:focus {
	color: #0092ff;
	text-decoration: underline;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Amplitude', Arial, sans-serif;
	line-height: 140%;
	font-weight: bold;
	color: #555;
}

h1 {
	font-size: 180%;
	margin: 0 0 1em 0;
}

h2 {
	font-size: 145%;
	margin: 0 0 0.6em 0;
}

h3 {
	font-size: 120%;
	margin: 0 0 0.6em 0;
}

h4 {
	font-size: 100%;
	margin: 0 0 0.5em 0;
}

p {
	font-size: 100%;
	line-height: 140%;
}

.container p {
	margin: 0 0 7px 0;
}

ul {
	list-style-position: inside;
}

ul li {
	line-height: 160%;
}


/* STRUCTURAL ELEMENTS */
/* -------------------------------------------------------------- */
.container {
	width: 92%;
	min-height: 60%;
	margin: 0 auto 0 auto;
}

.narrow-container {
	width: 92%;
	min-height: 60%;
	margin: 50px auto 0 auto;
}

/* Container media queries */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 960px) {
	.container {
		width: 800px;
	}
}

@media only screen and (min-width: 700px) {
	.container {
		width: 800px;
	}
	.narrow-container {
		width: 500px;
	}
}

hr {
	display: block;
	margin: 20px 0;
	border: 0;
	height: 0;
	border-top: 1px solid #dadada;
}

.notifications {
	display: none;
	list-style-type: none;
	padding: 0;
	margin: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 30px;
	margin: 0 0 30px 0;
	color: #555;
	font-size: 110%;
	font-weight: normal;
	line-height: 140%;
	background-color: #ffecb3;
}

.notification-error {
	display: block;
    color: #c62828;
    background-color: #ffe6e9;
}

.notification-success {
	display: block;
	color: #33691e;
    background-color: #e7f3d9;
}

.notification-warning {
	display: block;
    color: #555;
    background-color: #ffecb3;
}

/* HEADER */
/* -------------------------------------------------------------- */
header {
	box-sizing: border-box;
	width: 100%;
}

/* HEADER MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 960px) {

}

/* HAMBURGER MENU */
/* -------------------------------------------------------------- */
.hamburger-menu-button {
	display: block;
	float: right;
	width: auto;
	padding: 0 15px;
	cursor: pointer;
}

.hamburger-menu-button:hover,
.hamburger-menu-button:active,
.hamburger-menu-button:focus {
	background-color: #333;
}

.hamburger-menu-button:after {
	content: " ";
	display: table;
	clear: both;
}

.hamburger-menu-caption {
	display: block;
	float: left;
	padding: 0 7px 0 0;
	color: #fff;
	font-size: 90%;
	font-weight: bold;
	line-height: 35px;
	text-transform: uppercase;
}

.hamburger-icon {
    float: right;
	padding: 3px 0 0 0;
    cursor: pointer;
}

.hamburger-top-bar, .hamburger-middle-bar, .hamburger-bottom-bar {
	position: relative;
    width: 24px;
    height: 3px;
    background-color: #fff;
    margin: 5px 0;
    transition: 0.4s;
}

.close-hamburger-menu .hamburger-top-bar {
	transform-origin: center;
    transform: translate(0, 8px) rotate(-45deg);
}

.close-hamburger-menu .hamburger-middle-bar { opacity: 0; }

.close-hamburger-menu .hamburger-bottom-bar {
	transform-origin: center;
    transform: translate(0, -8px) rotate(45deg);
}


ul.hamburger-menu {
	display: none;
	position: absolute;
	width: 280px;
	top: 35px;
	right: 0;
	background-color: #444;
}

ul.show-hamburger-menu {
	display: block;
	list-style-type: none;
}

ul.hamburger-menu li {
	display: block;
	margin: 0;
}

ul.hamburger-menu li a:link,
ul.hamburger-menu li a:visited,
ul.hamburger-menu li a:hover,
ul.hamburger-menu li a:active,
ul.hamburger-menu li a:hover,
ul.hamburger-menu li a:active {
	display: block;
	padding: 0 2em;
	margin: 0;
	line-height: 45px;
	color: #fff;
	border: 1px solid #555;
	font-size: 100%;
	font-weight: normal;
	text-transform: none;
	text-decoration: none;
}

ul.hamburger-menu li a:hover,
ul.hamburger-menu li a:active,
ul.hamburger-menu li a:focus {
	background-color: #555;
}


/* FOOTER */
/* -------------------------------------------------------------- */
footer {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	margin: 60px 0 0 0;
	padding: 20px 0 30px 0;
	border-top: 1px solid #ccc;
	text-align: center;
}

footer nav ul {
	list-style-type: none;
	margin: 0;
}

footer nav ul li {
	display: block;
	padding: 0 0 1em 0;
	margin: 0;
	border: 0;
	font-size: 85%;
	line-height: 140%;
}

/* FORMS AND BUTTONS */
/* -------------------------------------------------------------- */
input[type=text],
input[type=password],
input[type=number],
input[type=date],
input[type=email],
input[type=tel],
input[type=quantity],
textarea,
select {
	display: block;
	box-sizing: border-box;
	width: 100%;
	font-family: inherit;
	font-size: inherit;
	font-size: 90%;
	color: #555;
	background-color: #fff;
	border: 1px solid #ccc;
}

input[type=text],
input[type=password],
input[type=number],
input[type=date],
input[type=email],
input[type=tel],
input[type=quantity] {
	height: 40px; /* Standard control height */
	padding: 0 10px;
}

textarea {
	height: 150px;
	padding: 10px;
	resize: none;
}

select {
	height: 40px; /* Standard control height */
	padding: 0 10px;
}

.standard-button,
a.standard-button:link,
a.standard-button:visited,
a.standard-button:hover,
a.standard-button:active,
button, 
input[type=button],
input[type=submit],
input[type=reset] {
	display: inline-block;
	width: auto;
	padding: 0 20px;
	height: 40px; /* Standard control height */
	line-height: 40px; /* Standard control height */
	color: #fff;
	font-size: 90%;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	background-color: #0092ff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
}

.standard-button:hover,
a.standard-button:hover,
a.standard-button:active,
button:hover,
button:active,
input[type=button]:hover,
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:active,
input[type=submit]:active,
input[type=reset]:active {
	color: #fff;
	background-color: #0266c2;
}

fieldset input[type=text],
fieldset input[type=password],
fieldset input[type=number],
fieldset textarea,
fieldset select {
	margin: 0;
}

label {
	display: block;
	font-size: 100%;
	font-weight: bold;
	margin: 0 0 8px 0;
	padding: 0;
}

input[type=checkbox] + label,
input[type=radio] + label {
    display: inline;
	font-weight: normal;
}

.form-row {
	margin: 0 0 25px 0;
}

.field-error {
	box-sizing: border-box;
	padding: 7px 15px;
	color: #C62828;
	font-size: 85%;
	line-height: 150%;
	background-color: #ffe6e9;
	border-bottom: 1px solid #ccc;
	background-repeat: no-repeat;
	background-image:url("../images/field-error-arrow.png");
}

.field-help {
	margin: 0 0 10px 0;
	color: #777;
	font-size: 90%;
	line-height: 140%;
}

.button-bar {
	text-align: right;
}

.button-bar *,
.button-bar .standard-button,
.button-bar a.standard-button,
.button-bar button,
.button-bar input[type=button],
.button-bar input[type=submit] {
	display: block;
	width: 100%;
	margin: 0 0 10px 0;
}

@media only screen and (min-width: 450px) {
	.button-bar .standard-button,
	.button-bar a.standard-button,
	.button-bar button,
	.button-bar input[type=button],
	.button-bar input[type=submit] {
		display: inline-block;
		width: auto;
		margin: 0;
	}
}


/* TABLES */
/* -------------------------------------------------------------- */
.interactive-row:hover {
	background-color: #f1f1f1;
	cursor: pointer;
}

.interactive-rows tr:hover td {
	background-color: #f1f1f1;
	cursor: pointer;
}

table {
    border-collapse: collapse;
    width: 100%;
	border: 0;
}

td {
    padding: 20px 10px;
	border: 0;
    border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
    text-align: left;
}

th {
	padding: 10px 10px;
	color: #999;
	font-size: 80%;
	font-weight: normal;
	text-align: left;
	border: 0;
	border-bottom: 2px solid #ddd;
}


/* GENERAL MEDIA QUERIES */
/* -------------------------------------------------------------- */
@media only screen and (min-width: 960px) {
	footer nav ul li {
		display: inline-block;
		padding: 0 1em 0 .7em;
	}
	
	footer nav ul li:not(:first-child):not(:last-child) {
		border-right: 1px solid #ccc;
	}
}