* {
	box-sizing: border-box;
}

body {
	margin: 0;
	padding: 0;
	background-color: #F1F1F1;
}

p, a, h1, h2, h3, h4, h5, h6, button, input, textarea, label, ul, ol, li, table, th, td {
	font-family: 'Lato', sans-serif;
}
a {
	text-decoration: none;
	color: #000000;
}
ul {
	list-style: none;
	padding-left: 0;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
th, td {
	padding: 0;
}
input {
	border: none;
}
textarea {
	vertical-align: top;
	border: none;
	resize: none;
}
input, select, option, textarea {
	border: none;
}
button:focus, input:focus, select:focus, textarea:focus {
	outline: none !important
}
button {
	padding: 15px 30px;
	display: inline-block;
	text-align: center;
	text-transform: uppercase;
	font-size: 20px;
	font-weight: 300;
	background: transparent;
	border: 1px solid #FFFFFF;
}
button:hover {
	color: #FFFFFF;
	cursor: pointer;
	box-shadow: 0 4px 12px 0 rgba(150, 150, 150, 10);
}

/*html {*/
/*overflow: -moz-scrollbars-none;*/
/*}*/
html::-webkit-scrollbar, html::-webkit-scrollbar-corner {
	width: 10px;
	/*display:none;*/
	background-color: #444444;
}
html:hover::-webkit-scrollbar {
	width: 10px;
}
html::-webkit-scrollbar-thumb {
	background-color: #00000080;
}

.table {
	display: table;
}
.tableCell {
	display: table-cell;
}

.backgroundAlternating:nth-child(even) {
	background-color: #FBFBFB;
}
.backgroundAlternating:nth-child(odd) {
	background-color: #FFFFFF;
}

.border {
	border: 1px solid;
}
.borderTop {
	border-top: 1px solid;
}
.borderBottom {
	border-bottom: 1px solid;
}
.borderLeft {
	border-left: 1px solid;
}
.borderRight {
	border-right: 1px solid;
}

.background {
	min-width: 100%;
	height: 100vh;
	padding-top: 60px;
	/*background: #666666 url('/asset/backgrounds/Cover.svg') fixed left;*/
	/*background-size:100%;*/
	background: #666666 url('/asset/backgrounds/Cover.svg') fixed center;
	background-size: cover;
}
.backgroundMobile {
	top: 0;
	right: 0;
	width: 100%;
	position: fixed;
	overflow: hidden;
}
.banner {
	/*width:100%;*/
	/*height:160px;*/
	/*background: url('/asset/backgrounds/Cover.svg') no-repeat fixed center;*/
	/*background-size:100%;*/
	/*background-position-y:calc(-100vh + 160px);*/
	width: 100%;
	height: 160px;
	background: url('/asset/backgrounds/Cover.svg') no-repeat fixed top center;
	background-size: 100vw;
	/*background-position-y: calc((9 / 16) * -75vw);*/
	background-position-y: calc((75 / 119) * -100vw + 160px);
}
.content {
	display: flex;
	flex-direction: column;
}
.body {
	width: 100vw;
	max-width: 100%;
	height: 100%;
	/*overflow:hidden;*/
}
.sidebar {
	display: none
}
.sidebarFlow {
	display: block;
	/*background-color: #FFFFFF;*/
}

.container {
	width: 100%;
	top: 0;
	left: 0;
	position: absolute;
}

.feedback {
	/*width: calc(100% - 80px);*/
	margin: 20px 40px;
	display: none;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}
.feedback .feedbackMessage {
	padding-left: 20px;
	text-align: left;
	font-weight: 300;
	color: #FFFFFF;
}
.feedback .feedbackMessage a {
	vertical-align: unset;
}
.error {
	background-color: #DE2A2A;
}
.warning {
	background-color: #D1Ad0E;
}
.success {
	background-color: #5DBF24;
}

.feedbackClose {
	min-width: 30px;
	height: 30px;
	margin: 10px;
	align-self: center;
	background-image: url('/asset/Close.png');
}
.feedbackClose:hover {
	background-image: url('/asset/CloseHover.png');
	cursor: pointer;
}

.introContainer {
	width: 100%;
	position: relative;
	display: inline-block;
	background-color: #FFFFFF;
}
.introContainer h2 {
	margin: 0;
	padding: 0;
	line-height: 120px;
	text-align: left;
	text-transform: none;
	letter-spacing: -2px;
	font-family: 'Raleway', sans-serif;
	font-weight: 900;
	font-size: 72px;
	color: #000000;
}
.introContainer button {
	/*margin-top: calc((160px - 56px) / 2);*/
	/*margin-left: 20px;*/
}
.introContainer button a {
	padding: 15px 30px;
	font-size: 20px;
}
.introContainer a:hover {
	color: #FFFFFF;
}
.introContainer div {
	/*display: inline-block;*/
}
.introHeader {
	padding: 20px 40px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}
.introHeader h2 {
	margin-right: 20px;
	flex-grow: 1;
	overflow-x: auto;
}
.introButtons {
	margin-left: -20px;
	margin-top: -20px;
}
.introButtons button {
	margin-left: 20px;
	margin-top: 20px;
}
.introBlurb {
	margin: 0 40px;
	width: calc(100% - 80px);
	clear: both;
	border-top: 1px solid #CCCCCC;
}
.introBlurb p {
	margin: 20px 0;
	text-align: left;
	font-size: 24px;
	font-weight: 300;
}
.introAlternate {
	background-color: #444444;
}
.introAlternate h2 {
	text-align: right;
	color: #FFFFFF;
}
.introAlternate p {
	color: #FFFFFF;
	text-align: right;
}
.introAlternate .introHeader {
	float: right;
}
.introAlternate button {
	margin: 20px 0 40px;
	float: right;
	color: #FFFFFF;
}
.introAlternate button:hover {
	color: #444444;
	background-color: #FFFFFF;
	box-shadow: none;
}

.contentSection {
	margin-bottom: 40px;
}
.contentHeader {
	padding-bottom: 50px;
	background-color: #444444;
}
.contentHeader h2 {
	padding: 20px 40px;
	margin: 0;
	line-height: 60px;
	text-align: center;
	font-size: 48px;
	font-weight: 900;
	font-family: 'Raleway', sans-serif;
	color: #FFFFFF;
}
.contentHeader + div {
	margin-top: -50px;
}
.contentBlock {
	max-width: 100%;
	margin: 0 40px 40px;
	position: relative;
	display: flow-root;
	background-color: #FFFFFF;
	overflow-x: auto;
}
.contentWrapper {
	margin: 0 40px 40px;
	position: relative;
	display: flow-root;
}
.contentBlock + .finalContent, .contentWrapper + .finalContent {
	margin-top: -40px;
}
.contentBlock p, .contentBlock a, .contentWrapper p, .contentWrapper a {
	margin: 0;
	font-size: 18px;
	font-weight: 300;
}
.contentBlock h3, .contentWrapper h3 {
	margin: 0;
	padding: 20px 40px;
	font-weight: 300;
	text-transform: uppercase;
	color: #FFFFFF;
}
.contentBlock h4, .contentWrapper h4 {
	margin: 0 0 10px;
	padding-left: 10px;
	font-size: 18px;
	font-weight: 300;
	border-left: 1px solid;
}
.contentBlock input {
	width: 210px;
	margin: 20px 0;
	padding: 15px 15px;
	display: block;
	font-size: 16px;
	font-weight: 300;
	border-bottom-width: 1px;
	border-bottom-style: solid;
}
.contentBlock input[type="date"], .contentBlock input[type="datetime-local"] {
	height: 50px;
}
.contentBlock button {
	/*width: 240px;*/
	margin-right: 20px;
	font-size: 18px;
}
.contentMargin {
	margin: 20px;
}
.contentPadding {
	padding: 20px;
}
.contentPaddingTop {
	padding: 20px 20px 0;
}
.contentPaddingBottom {
	padding: 0 20px 20px;
}
.contentSequence {
	margin-left: -20px;
	margin-top: -20px;
}
.contentSequence > * {
	margin-left: 20px;
	margin-top: 20px;
}
.contentList p, .contentList a {
	margin: 0;
	padding: 20px;
	display: block;
}
.contentList p:hover, .contentList a:hover {
	color: #FFFFFF;
	cursor: pointer;
	box-shadow: 0 2px 2px 0 #969696;
}
.contentList button {
	width: 100%;
	display: block;
	color: #FFFFFF;
	border: none;
}
.contentListHeader {
	margin: 0;
	color: #FFFFFF;
	border: none;
}
.contentSplitWrapper {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}
.contentSplit {
	min-width: 280px;
	width: 50%;
	display: inline-block;
	vertical-align: top;
	flex-grow: 1;
}
.contentLeft {
	margin-bottom: 20px;
	float: left;
}
.contentRight {
	float: right;
}
.contentSlim {
	margin: 0 auto 40px;
	max-width: 1000px;
}
.contentSlimSteps {
	min-width: 320px;
	margin-top: -50px;
}
@media screen and (min-width: 340px) and (max-width: 794px) {
	.contentSlimSteps {
		margin-left: calc((100vw - 320px) / 2);
		max-width: 320px;
	}
}
@media screen and (min-width: 794px) and (max-width: 1134px) {
	.contentSlimSteps {
		margin-left: calc((100vw - 660px) / 2);
		max-width: 660px;
	}
}
@media screen and (min-width: 1134px) {
	.contentSlimSteps {
		margin-left: calc((100vw - 1000px) / 2);
		max-width: 1000px;
	}
}
.contentCards {
	min-width: 320px;
	max-width: 1020px;
	margin: auto;
	padding-bottom: 30px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.finalContent {
	/*width:1020px;*/
	/*margin:0 calc((100vw - 1020px) / 2);*/
	/*display:inline-block;*/
	text-align: center;
}
.finalContent > div {
	margin: 20px auto;
	display: inline-block;
}
.finalContent a {
	margin: 0 10px 4px;
	padding-bottom: 1px;
	display: inline-block;
	color: #666666;
}
.finalContent a:hover {
	margin: 0 10px 3px;
	border-bottom: 1px solid #666666;
}

.card {
	width: 320px;
	margin: 10px;
	display: flex;
	flex-direction: column;
	vertical-align: top;
	text-align: center;
	background-color: #FFFFFF;
}
.card img {
	margin: 0;
	display: block;
}
.card h3 {
	margin: 0;
	padding: 15px 30px;
	font-weight: 300;
	text-transform: uppercase;
	color: #FFFFFF;
}
.card h4 {
	margin: 0 20px;
	padding: 10px;
	text-align: center;
	font-size: 20px;
	font-weight: 300;
	color: #000000;
	/* border-bottom:1px solid #CCCCCC; */
}
.card p {
	margin: 10px;
	font-size: 18px;
	font-weight: 300;
}
.card .cardSubtext {
	margin: 0;
	padding: 3px 10px;
	text-align: center;
	font-size: 12px;
	font-weight: 300;
	color: #333333;
	/* background-color: #f9f9f9; */
	border-top: 1px solid #F1F1F1;
	/*box-shadow: inset 0 10px 10px -10px rgba(0, 0, 0, 0.05);*/
}
.cardHover:hover {
	box-shadow: 0 4px 12px 0 rgba(0, 0, 0, 0.4);
}

.buttonWide {
	min-width: 200px;
}
.buttonCenter {
	margin: auto;
	display: block;
}
.buttonDelete {
	color: #DE2A2A;
	border-color: #DE2A2A;
}
.buttonDelete:hover {
	background-color: #DE2A2A;
}

.icon img {
	height: 1em;
	vertical-align: top;
}

.iconGray {
	filter: url(#iconGray)
}
.iconGrayHover:hover {
	filter: url(#iconGrayShaded)
}

@media (min-resolution: 192dpi) {
	p, a, li, td, th, select, option {
		font-size: 1.1em;
	}
}
@media (min-width: 320px) {
	/* smartphones, iPhone, portrait 480x320 phones */
}
@media (min-width: 480px) {
	/* portrait e-readers (Nook/Kindle), smaller tablets @ 600 or @ 640 wide. */
}
@media (min-width: 640px) {
	/* portrait tablets, portrait iPad, landscape e-readers, landscape 800x480 or 854x480 phones */
}
@media (min-width: 747px) {
	/* The boundary where the preferred positioning of the banner exceeds the height of the image, thus otherwise resulting in empty space */
	/* (75/119)*x - (75/119)*0.66x = 160 */
	.banner {
		background-position-y: calc((75 / 119) * -66vw);
	}
}
@media (min-width: 960px) {
	/* tablet, landscape iPad, lo-res laptops ands desktops */
	.content {
		flex-direction: row;
	}
	.sidebar {
		top: -101px;
		width: 300px;
		/*height: calc(100vh - 120px);*/
		/* min-height:calc(100vh - 180px); */
		max-height: calc(100vh + 120px);
		/*margin-top: 160px;*/
		/* padding-top: 20px; */
		/*padding-bottom: 40px;*/
		position: sticky;
		display: block;
		float: left;
		/*border-right: 1px solid #CCCCCC;*/
		background-color: #EAEAEA;
		overflow-x: hidden;
		overflow-y: auto;
		/*border-top: 40px solid transparent;*/
		/*border-bottom: 40px solid transparent;*/
	}
	.sidebar::after {
		/*content: "";*/
		left: 0;
		bottom: 0;
		width: 300px;
		height: calc(100vh - 160px);
		position: fixed;
		background-color: #EAEAEA;
		z-index: -1;
	}
	.sidebarHeader {
		margin: 0 40px;
		background: none;
	}
	.sidebarHeader h2 {
		margin: 0;
		padding: 20px 0;
		text-align: center;
		line-height: 120px;
		font-size: 72px;
		font-family: 'Raleway', sans-serif;
		color: #000000;
	}
	.sidebarHeader + .sidebarContent {
		border-top: 1px solid #CCCCCC;
	}
	.sidebarContent {
		margin: 0 40px;
		padding: 20px 0;
	}
	.sidebarContent .contentList {
		text-align: center;
	}
	.sidebarContent .contentList p, .sidebarContent .contentList a {
		padding: 10px;
	}
	.sidebarContent .contentListHeader > * {
		padding: 10px;
		font-size: 22px;
	}
	.sidebar::-webkit-scrollbar {
		width: 0;
	}
	.sidebar:hover::-webkit-scrollbar {
		width: 7px;
	}
	.sidebar::-webkit-scrollbar-thumb {
		background-color: #DDDDDD;
	}
}
@media (min-width: 1024px) {
	/* big landscape tablets, laptops, and desktops */
	.introBlurb p {
		width: 50%;
	}
	.introAlternate p {
		margin-left: 50%;
	}
}
@media (min-width: 1280px) {
	/* hi-res laptops and desktops */
}
@media (min-width: 1366px) {
	/* chromebooks and higher-res laptops */
}