@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,700,900");
@import url('https://fonts.googleapis.com/css2?family=Lato:wght@100;300;400;700;900&display=swap');
@import url('https://fonts.cdnfonts.com/css/apercu');

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
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;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;}

body {
	line-height: 1;
}


ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

	blockquote:before, blockquote:after, q:before, q:after {
		content: '';
		content: none;
	}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

body {
	-webkit-text-size-adjust: none;
}

mark {
	background-color: transparent;
	color: inherit;
}

input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input, select, textarea {
	-moz-appearance: none;
	-webkit-appearance: none;
	-ms-appearance: none;
	appearance: none;
}

::selection {
	background: #5E49F5;
	color: white;
}

/* Basic */

	@-ms-viewport {
		width: device-width;
	}

	body {
		-ms-overflow-style: scrollbar;
	}

	@media screen and (max-width: 480px) {

		html, body {
			min-width: 320px;
		}

	}

	html {
		box-sizing: border-box;
	}

	*, *:before, *:after {
		box-sizing: inherit;
	}

	body {
		background: #ffffff;
	}

		body.is-preload *, body.is-preload *:before, body.is-preload *:after {
			-moz-animation: none !important;
			-webkit-animation: none !important;
			-ms-animation: none !important;
			animation: none !important;
			-moz-transition: none !important;
			-webkit-transition: none !important;
			-ms-transition: none !important;
			transition: none !important;
		}

/* Type */

	body, input, select, textarea {
		color: #585858;
		font-family: "Lato", sans-serif;
		font-size: 32pt;
		font-weight: 300;
		line-height: 1.75;
		padding: 0 max(15px, 8%) 0;
	}

		@media screen and (max-width: 1680px) {

			body, input, select, textarea {
				font-size: 14pt;
			}

		}

		@media screen and (max-width: 1280px) {

			body, input, select, textarea {
				font-size: 12pt;
			}

		}

	.bodyalt {
		margin: auto;
		width: 75%;
	}

	a, a.alt {
		-moz-transition: border-bottom-color 0.2s ease, color 0.2s ease;
		-webkit-transition: border-bottom-color 0.2s ease, color 0.2s ease;
		-ms-transition: border-bottom-color 0.2s ease, color 0.2s ease;
		transition: border-bottom-color 0.2s ease, color 0.2s ease;
		text-decoration: none;
		color: #585858;
		border-bottom: none;
	}

		a.alt {
			padding: 8px 0;
		}

		a:hover {
			border-bottom-color: transparent;
			color: #f2849e !important;
		}

		a.alt:hover {
			border-bottom-color: transparent;
			color: #ffffff !important;
		}

	strong, b {
		font-weight: 900;
	}

	em, i {
		font-style: italic;
	}

	p {
		margin: 0 0 2.5em 0;
		font-size: 0.95em;
	}

		.pAlt {
			margin: 0 0 0.75em 0;
		}

		.pAlt2 {
			margin: 0 0 0.375em 0;
			font-size: 0.95em;
		}

	li {
		font-size: 0.95em;
	}

	h1 {
		font-size: 2.7em;
		font-weight: 300;
		line-height: 1.5;
		margin: 0em 0 2em 0;
		letter-spacing: -0.009em;
	}

		h1 a {
			color: black;
		}

		@media screen and (max-width: 736px) {

			h1 {
				font-size: 2em;
				margin: 0 0 2em 0;
			}

		}

		@media screen and (max-width: 360px) {

			h1 {
				font-size: 1.75em;
			}

		}

	h2, h4, h5, h6 {
		font-weight: 900;
		line-height: 1.5;
		margin: 0 0 1em 0;
		text-transform: uppercase;
		letter-spacing: 0.2em;
	}

		h2 a, h3 a, h4 a, h5 a, h6 a {
			color: inherit;
		}

	h2 {
		font-size: 0.95em;
		color: #5E49F5;
		padding: 4em 0 0 0;
	}

	h3 {
		font-size: 0.9em;
		font-weight: 700;
		line-height: 1.5;
		margin: 0 0 0 0;
		text-transform: uppercase;
		letter-spacing: 0.1em;
	}

	h4 {
		display: inline;
		font-size: 0.75em;
		color: #5E49F5;
		/* padding: 4em 0 0 0; */
	}

	h5 {
		font-size: 0.8em;
	}

	h6 {
		font-size: 0.8em;
	}

	@media screen and (max-width: 980px) {

		h1 br, h2 br, h3 br, h4 br, h5 br, h6 br {
			display: none;
		}

	}

	@media screen and (max-width: 736px) {

		h2 {
			font-size: 1em;
		}

		h3 {
			font-size: 0.8em;
		}

	}

	sub {
		font-size: 0.8em;
		position: relative;
		top: 0.5em;
	}

	sup {
		font-size: 0.8em;
		position: relative;
		top: -0.5em;
	}

	blockquote {
		border-left: solid 4px #c9c9c9;
		font-style: italic;
		margin: 0 0 2em 0;
		padding: 0.5em 0 0.5em 2em;
	}

	code {
		/*background: rgba(144, 144, 144, 0.075);*/
		border-radius: 6px;
		border: solid 1px #5E49F5;
		font-family: "Courier New";
		font-size: 0.9em;
		margin: 0 0.3em 0 0;
		padding: 0.15em 0.65em;
		color: #5E49F5
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.9em;
		margin: 0 0 2em 0;
	}

		pre code {
			display: block;
			line-height: 1.75;
			padding: 1em 1.5em;
			overflow-x: auto;
		}

	hr {
		border: 0;
		border-bottom: solid 1px #c9c9c9;
		margin: 2em 0;
	}

		hr.major {
			margin: 3em 0;
		}

	.align-left {
		text-align: left;
	}

	.align-center {
		text-align: center;
	}

	.align-right {
		float: right;
	}

	@media screen and (max-width: 820px) {
		.align-right {
			float: none;
			display: block;
			text-align: left;
		}
	}

/* Underline animation */
	.underline {
		display: inline-block;
	}

	.underline::after {
		content: '';
		width: 0px;
		height: 3px;
		display: block;
		background: #5E49F5;
		transition: 200ms;
	}

	.underline:hover::after {
		width: 100%;
	}

	.underlineP {
		display: inline-block;
	}

	.underlineP::after {
		content: '';
		width: 0px;
		height: 2px;
		display: block;
		background: #5E49F5;
		transition: 150ms;
	}

	.underlineP:hover::after {
		width: 100%;
	}

/* Box Shadow Animation */
	.link-shadow {
		content: '';
		display: inline-block;
		box-shadow: inset 0 -2px 0 #5E49F5;
		transition: 200ms;
	}

	.link-shadow:hover {
		box-shadow: inset 0 -40px 0 #5E49F5;
	}

/* Column */

	.column {
		float: left;
		width: 33.3%;
	}

	@media screen and (max-width: 740px) {
		.column {
			width: 100%;
		}
	}

/* Row */

	.row::after {
		content: "";
		display: table;
		clear: both;
	}
	

/* List */

	ol {
		list-style: decimal;
		margin: 0 0 2em 0;
		padding-left: 1.25em;
	}

		ol li {
			padding-left: 0.25em;
		}

	ul {
		list-style: none;
		margin: 0 0 2em 0;
		padding-left: 1em;
	}

		ul li {
			padding-left: 0.5em;
		}

		ul.alt {
			list-style: none;
			padding-left: 0;
		}

			ul.alt li {
				padding: 0 0;
			}

				ul.alt li:first-child {
					border-top: 0;
					padding-top: 0;
				}

	dl {
		margin: 0 0 2em 0;
	}

		dl dt {
			display: block;
			font-weight: 900;
			margin: 0 0 1em 0;
		}

		dl dd {
			margin-left: 2em;
		}

/* Box */

	.box {
		border-radius: 4px;
		border: solid 1px #c9c9c9;
		margin-bottom: 2em;
		padding: 1.5em;
	}

		.box > :last-child,
		.box > :last-child > :last-child,
		.box > :last-child > :last-child > :last-child {
			margin-bottom: 0;
		}

		.box.alt {
			border: 0;
			border-radius: 0;
			padding: 0;
		}

/* Image */

	.image {
		border-radius: 4px;
		border: 0;
		display: inline-block;
		position: relative;
	}

		.image img {
			border-radius: 4px;
			display: block;
		}

		.image.left, .image.right {
			max-width: 40%;
		}

			.image.left img, .image.right img {
				width: 100%;
			}

		.image.left {
			float: left;
			padding: 0 1.5em 1em 0;
			top: 0.25em;
		}

		.image.right {
			float: right;
			padding: 0 0 1em 1.5em;
			top: 0.25em;
		}

		.image.fit {
			display: block;
			margin: 0 0 2em 0;
			width: 100%;
		}

			.image.fit img {
				width: 100%;
			}

		.image.main {
			display: block;
			margin: 0 0 3em 0;
			width: 100%;
		}

			.image.main img {
				width: 100%;
			}

			@media screen and (max-width: 736px) {

				.image.main {
					margin: 0 0 2em 0;
				}

			}




/* Header */

	#header {
		padding: 8em 0 0.1em 0 ;
	}

		@media screen and (max-width: 736px) {

			#header {
				padding: 4em 0 0.1em 0 ;
			}

				#header nav {
					right: 0.5em;
					top: 0.5em;
				}

					#header nav ul li a[href="#menu"]:before, #header nav ul li a[href="#menu"]:after {
						background-size: 1.5em 1.5em;
					}

		}

/* Main */

	#main {
		padding: 0em 0 6em 0 ;
	}

		@media screen and (max-width: 736px) {

			#main {
				padding: 0em 0 4em 0 ;
			}

		}

/* Footer */

	#footer {
		padding: 0em 0 2em 0;
		display: flex;
  		justify-content: space-evenly;
  		align-items: center;
		width: 55%;
		margin: auto;
	}

		@media screen and (max-width: 1120px) {

			#footer {
				width: 75%;
			}

		}


/* Wrapper */

	#wrapper > * > .inner {
		width: 100%;
		max-width: 68em;
		margin: 0 auto;
		padding: 0 2.5em;
	}

		@media screen and (max-width: 736px) {

			#wrapper > * > .inner {
				padding: 0 1.25em;
			}

		}