@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "whitneylight";
	src: url(/gui/fonts/whitney-light-adv-webfont.eot);
	src: url(/gui/fonts/whitney-light-adv-webfont.eot?#iefix) format("embedded-opentype"), url(/gui/fonts/whitney-light-adv-webfont.woff) format("woff"), url(/gui/fonts/whitney-light-adv-webfont.ttf) format("truetype"), url(/gui/fonts/whitney-light-adv-webfont.svg#whitneylight) format("svg");
}

@font-face {
	font-weight: normal;
	font-style: normal;
	font-family: "whitneybook";
	src: url(/gui/fonts/whitney-book-adv-webfont.eot);
	src: url(/gui/fonts/whitney-book-adv-webfont.eot?#iefix) format("embedded-opentype"), url(/gui/fonts/whitney-book-adv-webfont.woff) format("woff"), url(/gui/fonts/whitney-book-adv-webfont.ttf) format("truetype"), url(/gui/fonts/whitney-book-adv-webfont.svg#whitneybook) format("svg");
}

/* Reset and basic typography/colors
================================================================================ */
html {
	font: 16px/25px Avenir Next,sans-serif;
}

@media screen and (max-width:719px) {
	html {
		font-size: 14px;
		line-height: 20px;
	}
}

blockquote,
body,
caption,
div,
dl,
dt,
dd,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
li,
ol,
p,
pre,
table,
td,
textarea,
th,
ul {
	margin: 0;
	padding: 0;
}

address,
dl,
fieldset,
ol,
p,
pre,
table,
ul {
	margin: 0 0 24px;
}

dd {
	margin-left: 40px;
}

ol ol,
ol ul,
ul ol,
ul ul {
	margin-bottom: 0;
}

blockquote {
	position: relative;
	margin: 1em 45px;
	font-style: italic;
	font-size: 18px;
	line-height: 26px;
}

	blockquote::before {
		display: inline-block;
		position: absolute;
		top: 45px;
		left: -50px;
		font-size: 100px;
		line-height: 0;
		content: "”";
	}

@media screen and (max-width:719px) {
	blockquote {
		font-size: 18px;
		line-height: 22px;
	}
}

dt {
	font-weight: bold;
}

table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
}

td {
	border: 1px solid #fff;
}

td,
th {
	padding: 23px;
	vertical-align: top;
}

caption,
th {
	color: #43606f;
	font-weight: normal;
	font-family: Avenir Next,sans-serif;
	text-align: left;
}

thead th {
	padding: 6px 23px;
	background: #eee;
	font-weight: normal;
	-moz-osx-font-smoothing: auto;
	-webkit-font-smoothing: subpixel-antialiased;
}

td {
	background-color: #efefef;
}

img {
	max-width: 100%;
	border: none;
}

body,
html {
	background: #fff;
	color: #43606f;
}
/* Avoid line-height issues caused by default rendering of sub and sup elements */
sub,
sup {
	position: relative;
	height: 0;
	line-height: 1;
	vertical-align: baseline;
}

sup {
	bottom: 1ex;
}

sub {
	top: 0.5ex;
}

code,
kbd,
pre {
	font-family: Monaco, Courier, "Courier New", Tahoma;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: #000;
	font-weight: normal;
	font-family: Avenir Next,sans-serif;
}

h2,
h3,
h5,
h6 {
	margin-bottom: 10px;
}

h1 {
	margin-bottom: 10px;
	font-size: 40px;
	line-height: 50px;
}

h2 {
	margin-bottom: 10px;
	font-size: 25px;
	line-height: 32px;
}

h3 {
	font-size: 20px;
	line-height: 25px;
}

h4 {
	font-size: 1em;
	line-height: 24px;
}

h5,
h6 {
	font-size: 1em;
	line-height: 24px;
}

@media screen and (max-width:719px) {
	h1 {
		font-size: 30px;
		line-height: 40px;
	}
}

legend {
	display: table; /* Enable line-wrapping in IE8+ */
	color: #333;
	white-space: normal; /* Enable line-wrapping in other browsers */
}

label {
	display: block;
	padding: 10px 0 0;
	font-family: Avenir Next,sans-serif;
}

a {
	color: #000;
	text-decoration: underline;
}

	a:hover {
		text-decoration: none;
	}

	a:visited {
		color: #000;
	}

	a:hover,
	a:focus,
	a:active {
		color: #000;
	}

b,
strong {
	font-weight: bold;
}

i,
em {
	font-style: italic;
}

hr {
	height: 1px;
	border: 0;
	border-top: 1px solid #efefef;
}

button,
input,
select,
textarea {
	box-sizing: border-box;
	font: inherit;
	padding: 7px 20px;
	border: 1px solid #d9d9d9;
	border-radius: 4px;
	box-shadow: 0 0 3px rgba(0, 0, 0, 0.12);
	font-size: 14px;
}

	input[type="text"],
	input[type="number"],
	input[type="email"],
	input[type="tel"],
	input[type="password"],
	input[type="date"] {
		width: 100%;
		height: 40px;
		font-family: Avenir Next,sans-serif;
		line-height: 25px;
	}

	input[type="number"] {
		padding-top: 0;
		padding-bottom: 0;
	}

	input[type="button"],
	input[type="reset"],
	input[type="submit"] {
		box-sizing: border-box;
		width: auto;
		overflow: visible;
		padding: 7.5px 15px;
		background-color: #e6450a;
		background-image: -o-linear-gradient(top, #d21e1e, #e6450a);
		color: #fff;
		font-size: 18px;
		font-family: Avenir Next,sans-serif;
		cursor: pointer;
		-webkit-appearance: none;
	}
/* Global classes
================================================================================ */

/* Easy clearing of floats.
 * See http://www.css-101.org/articles/clearfix/latest-new-clearfix-so-far.php
------------------------------------- */
.cf::after {
	display: table;
	clear: both;
	content: "";
}

/* Structural elements.
 * Not visible when CSS is enabled but visible for screen readers.
 *
 * data-nojs.
 * Not visible when javascript is enabled.
------------------------------------- */
.structural,
.js [data-nojs],
.ui-helper-hidden-accessible {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	padding: 0;
	border: 0;
}

@media screen and (max-width:719px) {
	[data-hide-on-mobile] {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		padding: 0;
		border: 0;
	}
}

/* Bullet list
---------------------------------------- */
ul {
	margin-left: 16px;
	list-style: none;
}

	ul li {
		position: relative;
		margin-top: 10px;
		padding-left: 24px;
	}

/* Numbered list
---------------------------------------- */
ol > li {
	margin-left: 2.5em;
}

	/* A bit more indentation if list has ten or more items */
	ol > li:first-child:nth-last-child(n+10),
	ol > li:first-child:nth-last-child(n+10) ~ li {
		margin-left: 3em;
	}

.system-message {
	margin: 24px 0;
	padding: 10px 15px 15px;
	background-color: #eef2f4;
	border-radius: 6px;
}

	.system-message ul {
		margin-left: 0;
	}

	.system-message li {
		padding-left: 0;
	}

.error-message {
	background-color: #d32f00;
	color: #fff;
}

	.error-message,
	.error-message h2,
	.error-message h3,
	.error-message h4 {
		color: #fff;
	}

.confirmation-message {
	background-color: #e5f7e5;
}

	.confirmation-message,
	.confirmation-message h2,
	.confirmation-message h3,
	.confirmation-message h4 {
		color: #008c00;
	}

.box {
	max-width: 30em;
	margin: 20px auto;
	border: 1px solid #ccc;
	padding: 40px;
}

.login-form__submit-area {
	margin: 10px 0 0;
	text-align: right;
}

.login__wrapper-center {
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	padding: 20px;
}

.login__card {
	display: flex;
	flex-direction: column;
	min-width: 400px;
	overflow: hidden;
	padding: 20px;
	border-top: 10px solid #d32f00;
	border-radius: 6px;
	box-shadow: 0 3px 10px rgba(0, 0, 0, 0.08);
	background-color: #fff;
}

	.login__card img {
		height: auto;
	}

@media (max-width: 400px) {
	.login__card {
		min-width: 300px;
	}

	.login__wrapper-center {
		align-items: initial;
		min-height: auto;
	}
}

.login__form a {
	color: #000;
}

.login__form label {
	display: block;
	margin-bottom: 4px;
	color: #000;
	font-size: 0.8rem;
	opacity: 0.6;
}

.login__form input[type="text"],
.login__form input[type="password"] {
	width: 100%;
	padding: 4px 8px;
	border: 1px solid #d4d3cd;
	border-radius: 6px;
}

.login__form input[type="submit"] {
	align-self: flex-end;
	padding: 12px 18px;
	border-radius: 20px;
	font-size: 1rem;
	height: 40px;
	line-height: 1rem;
	background: #000;
}

	.login__form input[type="submit"]:hover {
		text-decoration: underline;
	}


.form-item {
	display: flex;
	flex-direction: column;
	width: 100%;
	margin-bottom: 20px;
}

.form__checkbox-item {
	display: flex;
	align-items: center;
	width: 100%;
	margin-bottom: 20px;
}

	.form__checkbox-item label {
		margin: 0;
	}

	.form__checkbox-item input[type="checkbox"] {
		margin: 0;
		margin-right: 6px;
	}
