body {
	font-family: 'Poppins', sans-serif;
	margin: 0;
	background-color: #2c2c2c;
	color: #ffffff;
}

input[type="text"],
input[type="password"],
input[type="email"] {
	line-height: 1;
	padding: 0.3em;
	width: 100%;
	box-sizing: border-box;
	border-radius: 2px;
	border: solid 2px #ababab;
	background-color: #334455;
	color: #dfdfdf;
	font-size: 1.2em;
	font-family: 'Poppins', sans-serif;
	letter-spacing: 0.05em;
	outline: none;
	transition: color 0.2s, background 0.2s;
}

input[type="text"]:hover,
input[type="text"]:focus,
input[type="password"]:hover,
input[type="password"]:focus,
input[type="email"]:hover,
input[type="email"]:focus {
	color: #efefef;
	background-color: #304050;
}

textarea {
	line-height: 1.4;
	padding: 0.3em;
	width: 100%;
	box-sizing: border-box;
	border-radius: 2px;
	border: solid 2px #ababab;
	background-color: #334455;
	color: #dfdfdf;
	font-size: 1em;
	font-family: 'Poppins', sans-serif;
	resize: none;
	outline: none;
	height: 12em;
	transition: color 0.2s, background 0.2s;
}

textarea:hover {
	color: #efefef;
	background-color: #304050;
}

input[type="submit"] {
	border: 0;
	background-color: #ba8fba;
	font-size: 1.2em;
	font-weight: 700;
	letter-spacing: 0.125em;
	color: #dfdfdf;
	border-radius: 4px;
	cursor: pointer;
	text-transform: uppercase;
	font-family: 'Poppins', sans-serif;
	padding: 0.6em;
	appearance: none;
	-webkit-appearance: none;
	transition: background 0.2s, color 0.2s, opacity 0.2s;
}

input[type="submit"]:not(:disabled):hover {
	background-color: #266650;
	color: #ffffff;
}

input[type="submit"]:disabled {
	opacity: 0.5;
	cursor: no-drop;
}

select {
	display: inline-block;
	flex: 1;
	font-size: 16px;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	color: #fff;
	line-height: 1.3;
	padding: .6em 1.4em .5em .8em;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	border: 1px solid #aaa;
	box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
	border-radius: 2px;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	background-color: #334455;
	background-image: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23AA5900%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E');
	background-repeat: no-repeat, repeat;
	background-position: right .7em top 50%, 0 0;
	background-size: .65em auto, 100%;
	cursor: pointer;
	transition: color 0.2s, background 0.2s, box-shadow 0.2s;
}

select:hover,
select:focus {
	color: #efefef;
	background-color: #304050;
	box-shadow: 0 0 1em #ababab;
}

select:disabled {
	cursor: no-drop;
	opacity: 0.5;
}

select option {
	font-weight:normal;
}

a, a:hover {
	text-decoration: none;
}

a:not([href="#"]):not(.bypass),
a[href="#"].defaultlink {
	color: #ba8fba;
	transition: color 0.2s;
}

a:not([href="#"]):not(.bypass):hover,
a[href="#"].defaultlink:hover {
	color: #ffffff;
}

label {
	display: block;
	margin-bottom: 0.5em;
}

.headshake {
	animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) both;
	transform: translate3d(0, 0, 0);
	backface-visibility: hidden;
	perspective: 1000px;
}

@keyframes shake {
	10%, 90% {
		transform: translate3d(-1px, 0, 0);
	}

	20%, 80% {
		transform: translate3d(2px, 0, 0);
	}

	30%, 50%, 70% {
		transform: translate3d(-4px, 0, 0);
	}

	40%, 60% {
		transform: translate3d(4px, 0, 0);
	}
}

.pulse {
	animation-name: pulse;
	animation-duration: 1s;
	animation-iteration-count: infinite;
}

@keyframes pulse {
	0% {
		box-shadow: 0 0 0 #ef4423;
	}
	
	50% {
		box-shadow: 0 0 0.3em #ef4423;
	}
}

.fancy-checker {
	cursor: pointer;
	position: relative;
	padding-left: 1.5em;
	user-select: none;
}

.fancy-checker input {
	display: none;
}

.fancy-checker .check {
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 1em;
	height: 1em;
	display: block;
	border: solid 1px currentColor;
	border-radius: 50%;
	box-sizing: border-box;
	transition: background-color 0.2s, box-shadow 0.2s;
}

.fancy-checker:hover input ~ .check {
	box-shadow: 0 0 4px currentColor;
}

.check::after {
	content: '';
	position: absolute;
	display: none;
}

.fancy-checker input:checked ~ .check::after {
	display: block;
}

.fancy-checker .check::after {
	position: absolute;
	border-radius: 50%;
	background-color: currentColor;
	top: 1px;
	left: 1px;
	right: 1px;
	bottom: 1px;
}

.fancy-checker.disabled {
	opacity: 0.8;
	cursor: no-drop;
}

.error {
	padding: 1em;
	background-color: #8B0002;
	margin-bottom: 1em;
	border-radius: 2px;
	display: none;
}

.success {
	padding: 1em;
	background-color: #006331;
	margin-bottom: 1em;
	border-radius: 2px;
	display: none;
}

.site-error {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 2em;
	border: solid 2em #ff0000;
	border-radius: 1em;
	background-color: #ffffff;
	z-index: 100;
	text-align: center;
	color: #000000;
}

.coming-soon {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	padding: 2em;
	border: solid 2em #878787;
	border-radius: 1em;
	background-color: #ffffff;
	z-index: 100;
	text-align: center;
	color: #000000;
}

.shade {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000000;
	opacity: 0.8;
	z-index: 999;
	display: none;
}

.loading-holder {
	position: fixed;
	background-color: #ffffff;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 999;
	opacity: 0.6;
	display: none;
}

.loading-holder .loading {
	width: 14em;
	height: 14em;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	animation: sk-chase 2.5s infinite linear both;
}

.loading-holder .loading .dot {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0; 
	animation: sk-chase-dot 2.0s infinite ease-in-out both; 
}

.loading-holder .loading .dot:before {
	content: '';
	display: block;
	width: 25%;
	height: 25%;
	background-color: #ba8fba;
	border-radius: 100%;
	animation: sk-chase-dot-before 2.0s infinite ease-in-out both; 
}

.loading-holder .loading .dot:nth-child(1) { animation-delay: -1.1s; }
.loading-holder .loading .dot:nth-child(2) { animation-delay: -1.0s; }
.loading-holder .loading .dot:nth-child(3) { animation-delay: -0.9s; }
.loading-holder .loading .dot:nth-child(4) { animation-delay: -0.8s; }
.loading-holder .loading .dot:nth-child(5) { animation-delay: -0.7s; }
.loading-holder .loading .dot:nth-child(6) { animation-delay: -0.6s; }
.loading-holder .loading .dot:nth-child(1):before { animation-delay: -1.1s; }
.loading-holder .loading .dot:nth-child(2):before { animation-delay: -1.0s; }
.loading-holder .loading .dot:nth-child(3):before { animation-delay: -0.9s; }
.loading-holder .loading .dot:nth-child(4):before { animation-delay: -0.8s; }
.loading-holder .loading .dot:nth-child(5):before { animation-delay: -0.7s; }
.loading-holder .loading .dot:nth-child(6):before { animation-delay: -0.6s; }

@keyframes sk-chase {
	100% { transform: rotate(360deg) translate(-50%, -50%); } 
}

@keyframes sk-chase-dot {
	80%, 100% { transform: rotate(360deg); } 
}

@keyframes sk-chase-dot-before {
	50% {
		transform: scale(0.4); 
	} 100%, 0% {
		transform: scale(1.0); 
	} 
}

.row {
	margin-bottom: 1.2em;
}

.bold {
	font-weight: 700;
}

.thin {
	font-weight: 300;
}

.center {
	text-align: center;
}

.relative {
	position: relative;
}

.header {
	max-width: 1400px;
	margin: 2em auto;
	display: flex;
	justify-content: left;
	align-items: center;
}

.header h1 {
	flex-basis: 10em;
	flex-grow: 0;
	flex-shrink: 0;
	height: auto;
}

.header h1 a {
	display: block;
	transition: transform 0.2s;
}

.header h1 a:hover {
	transform: scale(1.05);
}

.header h1 a img {
	width: 100%;
	height: auto;
}

.header h1 .text {
	display: none;
}

.header ul {
	display: flex;
	flex: 1;
	list-style: none;
	margin: 0;
	margin-left: 4em;
	padding: 0;
}

.header ul li {
	margin-left: 2em;
	text-transform: uppercase;
	font-weight: 300;
	letter-spacing: 0.125em;
	font-size: 1.5em;
}

.page {
	margin-bottom: 2em;
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}

.footer {
	max-width: 1400px;
	margin-left: auto;
	margin-right: auto;
}


