@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Merriweather:300,700,300italic,700italic|Source+Sans+Pro:900");
@import url('https://googleapis.com');


/*
	Massively by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/

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;
}

/* 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-color: #1e252d;
	}

		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 */

	html {
		font-size: 16pt;
	}

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

			html {
				font-size: 12pt;
			}

		}

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

			html {
				font-size: 11pt;
			}

		}

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

			html {
				font-size: 10pt;
			}

		}

	body {
		color: #212931;
	}

	body, input, select, textarea {
		font-family: "Merriweather", Georgia, serif;
		font-weight: 300;
		font-size: 1rem;
		line-height: 2.375;
	}

	a {
		-moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		border-bottom: dotted 1px;
		text-decoration: none;
	}

		a:hover {
			border-bottom-color: transparent;
		}

	strong, b {
		font-weight: 600;
	}

	em, i {
		font-style: italic;
	}

	p {
		text-align: justify;
		margin: 0 0 2rem 0;
	}

	h1, h2, h3, h4, h5, h6 {
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-weight: 900;
		line-height: 1.5;
		letter-spacing: 0.075em;
		text-transform: uppercase;
		margin: 0 0 1rem 0;
	}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
			border-bottom: 0;
			color: inherit;
			text-decoration: none;
		}

	h1 {
		font-size: 4rem;
		line-height: 1.1;
		margin: 0 0 2rem 0;
	}

	h2 {
		font-size: 1.75rem;
		line-height: 1.3;
		margin: 0 0 1.5rem 0;
	}

	h3 {
		font-size: 1.25rem;
		margin: 0 0 1.5rem 0;
	}

	h4 {
		font-size: 1rem;
	}

	h5 {
		font-size: 0.9rem;
	}

	h6 {
		font-size: 0.8rem;
	}

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

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

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

	code {
		border: solid 2px;
		font-family: "Courier New", monospace;
		font-size: 0.9rem;
		margin: 0 0.25rem;
		padding: 0.25rem 0.65rem;
	}

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

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

	hr {
		border: 0;
		border-bottom: solid 2px;
		margin: 3rem 0;
	}

		hr.major {
			margin: 5rem 0;
		}

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

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

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

	input, select, textarea {
		color: #212931;
	}

	a {
		color: #212931;
		border-bottom-color: rgba(33, 41, 49, 0.5);
	}

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

	strong, b {
		color: #212931;
	}

	h1, h2, h3, h4, h5, h6 {
		color: #212931;
	}

	blockquote {
		border-left-color: #eeeeee;
	}

	code {
		background: rgba(220, 220, 220, 0.25);
		border-color: #eeeeee;
	}

	hr {
		border-bottom-color: #eeeeee;
	}

/* Row */

	.row {
		display: flex;
		flex-wrap: wrap;
		box-sizing: border-box;
		align-items: stretch;
	}

		.row > * {
			box-sizing: border-box;
		}

		.row.gtr-uniform > * > :last-child {
			margin-bottom: 0;
		}

		.row.aln-left {
			justify-content: flex-start;
		}

		.row.aln-center {
			justify-content: center;
		}

		.row.aln-right {
			justify-content: flex-end;
		}

		.row.aln-top {
			align-items: flex-start;
		}

		.row.aln-middle {
			align-items: center;
		}

		.row.aln-bottom {
			align-items: flex-end;
		}

		.row > .imp {
			order: -1;
		}

		.row > .col-1 {
			width: 8.33333%;
		}

		.row > .off-1 {
			margin-left: 8.33333%;
		}

		.row > .col-2 {
			width: 16.66667%;
		}

		.row > .off-2 {
			margin-left: 16.66667%;
		}

		.row > .col-3 {
			width: 25%;
		}

		.row > .off-3 {
			margin-left: 25%;
		}

		.row > .col-4 {
			width: 33.33333%;
		}

		.row > .off-4 {
			margin-left: 33.33333%;
		}

		.row > .col-5 {
			width: 41.66667%;
		}

		.row > .off-5 {
			margin-left: 41.66667%;
		}

		.row > .col-6 {
			width: 50%;
		}

		.row > .off-6 {
			margin-left: 50%;
		}

		.row > .col-7 {
			width: 58.33333%;
		}

		.row > .off-7 {
			margin-left: 58.33333%;
		}

		.row > .col-8 {
			width: 66.66667%;
		}

		.row > .off-8 {
			margin-left: 66.66667%;
		}

		.row > .col-9 {
			width: 75%;
		}

		.row > .off-9 {
			margin-left: 75%;
		}

		.row > .col-10 {
			width: 83.33333%;
		}

		.row > .off-10 {
			margin-left: 83.33333%;
		}

		.row > .col-11 {
			width: 91.66667%;
		}

		.row > .off-11 {
			margin-left: 91.66667%;
		}

		.row > .col-12 {
			width: 100%;
		}

		.row > .off-12 {
			margin-left: 100%;
		}

		.row.gtr-0 {
			margin-top: 0;
			margin-left: 0rem;
		}

			.row.gtr-0 > * {
				padding: 0 0 0 0rem;
			}

			.row.gtr-0.gtr-uniform {
				margin-top: 0rem;
			}

				.row.gtr-0.gtr-uniform > * {
					padding-top: 0rem;
				}

		.row.gtr-25 {
			margin-top: 0;
			margin-left: -0.375rem;
		}

			.row.gtr-25 > * {
				padding: 0 0 0 0.375rem;
			}

			.row.gtr-25.gtr-uniform {
				margin-top: -0.375rem;
			}

				.row.gtr-25.gtr-uniform > * {
					padding-top: 0.375rem;
				}

		.row.gtr-50 {
			margin-top: 0;
			margin-left: -0.75rem;
		}

			.row.gtr-50 > * {
				padding: 0 0 0 0.75rem;
			}

			.row.gtr-50.gtr-uniform {
				margin-top: -0.75rem;
			}

				.row.gtr-50.gtr-uniform > * {
					padding-top: 0.75rem;
				}

		.row {
			margin-top: 0;
			margin-left: -1.5rem;
		}

			.row > * {
				padding: 0 0 0 1.5rem;
			}

			.row.gtr-uniform {
				margin-top: -1.5rem;
			}

				.row.gtr-uniform > * {
					padding-top: 1.5rem;
				}

		.row.gtr-150 {
			margin-top: 0;
			margin-left: -2.25rem;
		}

			.row.gtr-150 > * {
				padding: 0 0 0 2.25rem;
			}

			.row.gtr-150.gtr-uniform {
				margin-top: -2.25rem;
			}

				.row.gtr-150.gtr-uniform > * {
					padding-top: 2.25rem;
				}

		.row.gtr-200 {
			margin-top: 0;
			margin-left: -3rem;
		}

			.row.gtr-200 > * {
				padding: 0 0 0 3rem;
			}

			.row.gtr-200.gtr-uniform {
				margin-top: -3rem;
			}

				.row.gtr-200.gtr-uniform > * {
					padding-top: 3rem;
				}

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

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xlarge {
					order: -1;
				}

				.row > .col-1-xlarge {
					width: 8.33333%;
				}

				.row > .off-1-xlarge {
					margin-left: 8.33333%;
				}

				.row > .col-2-xlarge {
					width: 16.66667%;
				}

				.row > .off-2-xlarge {
					margin-left: 16.66667%;
				}

				.row > .col-3-xlarge {
					width: 25%;
				}

				.row > .off-3-xlarge {
					margin-left: 25%;
				}

				.row > .col-4-xlarge {
					width: 33.33333%;
				}

				.row > .off-4-xlarge {
					margin-left: 33.33333%;
				}

				.row > .col-5-xlarge {
					width: 41.66667%;
				}

				.row > .off-5-xlarge {
					margin-left: 41.66667%;
				}

				.row > .col-6-xlarge {
					width: 50%;
				}

				.row > .off-6-xlarge {
					margin-left: 50%;
				}

				.row > .col-7-xlarge {
					width: 58.33333%;
				}

				.row > .off-7-xlarge {
					margin-left: 58.33333%;
				}

				.row > .col-8-xlarge {
					width: 66.66667%;
				}

				.row > .off-8-xlarge {
					margin-left: 66.66667%;
				}

				.row > .col-9-xlarge {
					width: 75%;
				}

				.row > .off-9-xlarge {
					margin-left: 75%;
				}

				.row > .col-10-xlarge {
					width: 83.33333%;
				}

				.row > .off-10-xlarge {
					margin-left: 83.33333%;
				}

				.row > .col-11-xlarge {
					width: 91.66667%;
				}

				.row > .off-11-xlarge {
					margin-left: 91.66667%;
				}

				.row > .col-12-xlarge {
					width: 100%;
				}

				.row > .off-12-xlarge {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

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

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-large {
					order: -1;
				}

				.row > .col-1-large {
					width: 8.33333%;
				}

				.row > .off-1-large {
					margin-left: 8.33333%;
				}

				.row > .col-2-large {
					width: 16.66667%;
				}

				.row > .off-2-large {
					margin-left: 16.66667%;
				}

				.row > .col-3-large {
					width: 25%;
				}

				.row > .off-3-large {
					margin-left: 25%;
				}

				.row > .col-4-large {
					width: 33.33333%;
				}

				.row > .off-4-large {
					margin-left: 33.33333%;
				}

				.row > .col-5-large {
					width: 41.66667%;
				}

				.row > .off-5-large {
					margin-left: 41.66667%;
				}

				.row > .col-6-large {
					width: 50%;
				}

				.row > .off-6-large {
					margin-left: 50%;
				}

				.row > .col-7-large {
					width: 58.33333%;
				}

				.row > .off-7-large {
					margin-left: 58.33333%;
				}

				.row > .col-8-large {
					width: 66.66667%;
				}

				.row > .off-8-large {
					margin-left: 66.66667%;
				}

				.row > .col-9-large {
					width: 75%;
				}

				.row > .off-9-large {
					margin-left: 75%;
				}

				.row > .col-10-large {
					width: 83.33333%;
				}

				.row > .off-10-large {
					margin-left: 83.33333%;
				}

				.row > .col-11-large {
					width: 91.66667%;
				}

				.row > .off-11-large {
					margin-left: 91.66667%;
				}

				.row > .col-12-large {
					width: 100%;
				}

				.row > .off-12-large {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

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

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-medium {
					order: -1;
				}

				.row > .col-1-medium {
					width: 8.33333%;
				}

				.row > .off-1-medium {
					margin-left: 8.33333%;
				}

				.row > .col-2-medium {
					width: 16.66667%;
				}

				.row > .off-2-medium {
					margin-left: 16.66667%;
				}

				.row > .col-3-medium {
					width: 25%;
				}

				.row > .off-3-medium {
					margin-left: 25%;
				}

				.row > .col-4-medium {
					width: 33.33333%;
				}

				.row > .off-4-medium {
					margin-left: 33.33333%;
				}

				.row > .col-5-medium {
					width: 41.66667%;
				}

				.row > .off-5-medium {
					margin-left: 41.66667%;
				}

				.row > .col-6-medium {
					width: 50%;
				}

				.row > .off-6-medium {
					margin-left: 50%;
				}

				.row > .col-7-medium {
					width: 58.33333%;
				}

				.row > .off-7-medium {
					margin-left: 58.33333%;
				}

				.row > .col-8-medium {
					width: 66.66667%;
				}

				.row > .off-8-medium {
					margin-left: 66.66667%;
				}

				.row > .col-9-medium {
					width: 75%;
				}

				.row > .off-9-medium {
					margin-left: 75%;
				}

				.row > .col-10-medium {
					width: 83.33333%;
				}

				.row > .off-10-medium {
					margin-left: 83.33333%;
				}

				.row > .col-11-medium {
					width: 91.66667%;
				}

				.row > .off-11-medium {
					margin-left: 91.66667%;
				}

				.row > .col-12-medium {
					width: 100%;
				}

				.row > .off-12-medium {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

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

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-small {
					order: -1;
				}

				.row > .col-1-small {
					width: 8.33333%;
				}

				.row > .off-1-small {
					margin-left: 8.33333%;
				}

				.row > .col-2-small {
					width: 16.66667%;
				}

				.row > .off-2-small {
					margin-left: 16.66667%;
				}

				.row > .col-3-small {
					width: 25%;
				}

				.row > .off-3-small {
					margin-left: 25%;
				}

				.row > .col-4-small {
					width: 33.33333%;
				}

				.row > .off-4-small {
					margin-left: 33.33333%;
				}

				.row > .col-5-small {
					width: 41.66667%;
				}

				.row > .off-5-small {
					margin-left: 41.66667%;
				}

				.row > .col-6-small {
					width: 50%;
				}

				.row > .off-6-small {
					margin-left: 50%;
				}

				.row > .col-7-small {
					width: 58.33333%;
				}

				.row > .off-7-small {
					margin-left: 58.33333%;
				}

				.row > .col-8-small {
					width: 66.66667%;
				}

				.row > .off-8-small {
					margin-left: 66.66667%;
				}

				.row > .col-9-small {
					width: 75%;
				}

				.row > .off-9-small {
					margin-left: 75%;
				}

				.row > .col-10-small {
					width: 83.33333%;
				}

				.row > .off-10-small {
					margin-left: 83.33333%;
				}

				.row > .col-11-small {
					width: 91.66667%;
				}

				.row > .off-11-small {
					margin-left: 91.66667%;
				}

				.row > .col-12-small {
					width: 100%;
				}

				.row > .off-12-small {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

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

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xsmall {
					order: -1;
				}

				.row > .col-1-xsmall {
					width: 8.33333%;
				}

				.row > .off-1-xsmall {
					margin-left: 8.33333%;
				}

				.row > .col-2-xsmall {
					width: 16.66667%;
				}

				.row > .off-2-xsmall {
					margin-left: 16.66667%;
				}

				.row > .col-3-xsmall {
					width: 25%;
				}

				.row > .off-3-xsmall {
					margin-left: 25%;
				}

				.row > .col-4-xsmall {
					width: 33.33333%;
				}

				.row > .off-4-xsmall {
					margin-left: 33.33333%;
				}

				.row > .col-5-xsmall {
					width: 41.66667%;
				}

				.row > .off-5-xsmall {
					margin-left: 41.66667%;
				}

				.row > .col-6-xsmall {
					width: 50%;
				}

				.row > .off-6-xsmall {
					margin-left: 50%;
				}

				.row > .col-7-xsmall {
					width: 58.33333%;
				}

				.row > .off-7-xsmall {
					margin-left: 58.33333%;
				}

				.row > .col-8-xsmall {
					width: 66.66667%;
				}

				.row > .off-8-xsmall {
					margin-left: 66.66667%;
				}

				.row > .col-9-xsmall {
					width: 75%;
				}

				.row > .off-9-xsmall {
					margin-left: 75%;
				}

				.row > .col-10-xsmall {
					width: 83.33333%;
				}

				.row > .off-10-xsmall {
					margin-left: 83.33333%;
				}

				.row > .col-11-xsmall {
					width: 91.66667%;
				}

				.row > .off-11-xsmall {
					margin-left: 91.66667%;
				}

				.row > .col-12-xsmall {
					width: 100%;
				}

				.row > .off-12-xsmall {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

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

			.row {
				display: flex;
				flex-wrap: wrap;
				box-sizing: border-box;
				align-items: stretch;
			}

				.row > * {
					box-sizing: border-box;
				}

				.row.gtr-uniform > * > :last-child {
					margin-bottom: 0;
				}

				.row.aln-left {
					justify-content: flex-start;
				}

				.row.aln-center {
					justify-content: center;
				}

				.row.aln-right {
					justify-content: flex-end;
				}

				.row.aln-top {
					align-items: flex-start;
				}

				.row.aln-middle {
					align-items: center;
				}

				.row.aln-bottom {
					align-items: flex-end;
				}

				.row > .imp-xxsmall {
					order: -1;
				}

				.row > .col-1-xxsmall {
					width: 8.33333%;
				}

				.row > .off-1-xxsmall {
					margin-left: 8.33333%;
				}

				.row > .col-2-xxsmall {
					width: 16.66667%;
				}

				.row > .off-2-xxsmall {
					margin-left: 16.66667%;
				}

				.row > .col-3-xxsmall {
					width: 25%;
				}

				.row > .off-3-xxsmall {
					margin-left: 25%;
				}

				.row > .col-4-xxsmall {
					width: 33.33333%;
				}

				.row > .off-4-xxsmall {
					margin-left: 33.33333%;
				}

				.row > .col-5-xxsmall {
					width: 41.66667%;
				}

				.row > .off-5-xxsmall {
					margin-left: 41.66667%;
				}

				.row > .col-6-xxsmall {
					width: 50%;
				}

				.row > .off-6-xxsmall {
					margin-left: 50%;
				}

				.row > .col-7-xxsmall {
					width: 58.33333%;
				}

				.row > .off-7-xxsmall {
					margin-left: 58.33333%;
				}

				.row > .col-8-xxsmall {
					width: 66.66667%;
				}

				.row > .off-8-xxsmall {
					margin-left: 66.66667%;
				}

				.row > .col-9-xxsmall {
					width: 75%;
				}

				.row > .off-9-xxsmall {
					margin-left: 75%;
				}

				.row > .col-10-xxsmall {
					width: 83.33333%;
				}

				.row > .off-10-xxsmall {
					margin-left: 83.33333%;
				}

				.row > .col-11-xxsmall {
					width: 91.66667%;
				}

				.row > .off-11-xxsmall {
					margin-left: 91.66667%;
				}

				.row > .col-12-xxsmall {
					width: 100%;
				}

				.row > .off-12-xxsmall {
					margin-left: 100%;
				}

				.row.gtr-0 {
					margin-top: 0;
					margin-left: 0rem;
				}

					.row.gtr-0 > * {
						padding: 0 0 0 0rem;
					}

					.row.gtr-0.gtr-uniform {
						margin-top: 0rem;
					}

						.row.gtr-0.gtr-uniform > * {
							padding-top: 0rem;
						}

				.row.gtr-25 {
					margin-top: 0;
					margin-left: -0.375rem;
				}

					.row.gtr-25 > * {
						padding: 0 0 0 0.375rem;
					}

					.row.gtr-25.gtr-uniform {
						margin-top: -0.375rem;
					}

						.row.gtr-25.gtr-uniform > * {
							padding-top: 0.375rem;
						}

				.row.gtr-50 {
					margin-top: 0;
					margin-left: -0.75rem;
				}

					.row.gtr-50 > * {
						padding: 0 0 0 0.75rem;
					}

					.row.gtr-50.gtr-uniform {
						margin-top: -0.75rem;
					}

						.row.gtr-50.gtr-uniform > * {
							padding-top: 0.75rem;
						}

				.row {
					margin-top: 0;
					margin-left: -1.5rem;
				}

					.row > * {
						padding: 0 0 0 1.5rem;
					}

					.row.gtr-uniform {
						margin-top: -1.5rem;
					}

						.row.gtr-uniform > * {
							padding-top: 1.5rem;
						}

				.row.gtr-150 {
					margin-top: 0;
					margin-left: -2.25rem;
				}

					.row.gtr-150 > * {
						padding: 0 0 0 2.25rem;
					}

					.row.gtr-150.gtr-uniform {
						margin-top: -2.25rem;
					}

						.row.gtr-150.gtr-uniform > * {
							padding-top: 2.25rem;
						}

				.row.gtr-200 {
					margin-top: 0;
					margin-left: -3rem;
				}

					.row.gtr-200 > * {
						padding: 0 0 0 3rem;
					}

					.row.gtr-200.gtr-uniform {
						margin-top: -3rem;
					}

						.row.gtr-200.gtr-uniform > * {
							padding-top: 3rem;
						}

		}

/* Box */

	.box {
		border: solid 2px;
		margin-bottom: 2rem;
		padding: 1.5rem;
	}

		.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;
		}

	.box {
		border-color: #eeeeee;
	}

/* Button */

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		-moz-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		-webkit-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		-ms-transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
		border: 0;
		border-radius: 0;
		cursor: pointer;
		display: inline-block;
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 0.8rem;
		font-weight: 900;
		letter-spacing: 0.075em;
		height: 3rem;
		line-height: 3rem;
		padding: 0 2rem;
		text-align: center;
		text-decoration: none;
		text-transform: uppercase;
		white-space: nowrap;
	}

		input[type="submit"].icon:before,
		input[type="reset"].icon:before,
		input[type="button"].icon:before,
		button.icon:before,
		.button.icon:before {
			margin-right: 0.5rem;
		}

		input[type="submit"].icon.solo,
		input[type="reset"].icon.solo,
		input[type="button"].icon.solo,
		button.icon.solo,
		.button.icon.solo {
			position: relative;
			width: 4rem;
			height: 4rem;
			line-height: 4rem;
			border-radius: 4rem;
			text-indent: 4rem;
			overflow: hidden;
			padding: 0;
			white-space: nowrap;
		}

			input[type="submit"].icon.solo:before,
			input[type="reset"].icon.solo:before,
			input[type="button"].icon.solo:before,
			button.icon.solo:before,
			.button.icon.solo:before {
				position: absolute;
				display: block;
				top: 0;
				left: 0;
				width: inherit;
				height: inherit;
				line-height: inherit;
				font-size: 1.25rem;
				margin-right: 0;
				text-align: center;
				text-indent: 0;
			}

		input[type="submit"].fit,
		input[type="reset"].fit,
		input[type="button"].fit,
		button.fit,
		.button.fit {
			width: 100%;
		}

		input[type="submit"].small,
		input[type="reset"].small,
		input[type="button"].small,
		button.small,
		.button.small {
			font-size: 0.7rem;
			height: 2.5rem;
			line-height: 2.5rem;
			padding: 0 1.5rem;
		}

		input[type="submit"].large,
		input[type="reset"].large,
		input[type="button"].large,
		button.large,
		.button.large {
			font-size: 0.9rem;
			height: 3.5rem;
			line-height: 3.5rem;
			padding: 0 2.75rem;
		}

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

			input[type="submit"],
			input[type="reset"],
			input[type="button"],
			button,
			.button {
				font-size: 0.9rem;
				height: 3.25rem;
				line-height: 3.25rem;
			}

				input[type="submit"].large,
				input[type="reset"].large,
				input[type="button"].large,
				button.large,
				.button.large {
					font-size: 1rem;
					height: 3.75rem;
					line-height: 3.75rem;
				}

		}

		input[type="submit"].disabled, input[type="submit"]:disabled,
		input[type="reset"].disabled,
		input[type="reset"]:disabled,
		input[type="button"].disabled,
		input[type="button"]:disabled,
		button.disabled,
		button:disabled,
		.button.disabled,
		.button:disabled {
			pointer-events: none;
			opacity: 0.25;
		}

	input[type="submit"],
	input[type="reset"],
	input[type="button"],
	button,
	.button {
		background-color: transparent;
		box-shadow: inset 0 0 0 2px #212931;
		color: #212931 !important;
	}

		input[type="submit"]:hover,
		input[type="reset"]:hover,
		input[type="button"]:hover,
		button:hover,
		.button:hover {
			box-shadow: inset 0 0 0 2px #8e9ecb;
			color: #8e9ecb !important;
		}

		input[type="submit"].primary,
		input[type="reset"].primary,
		input[type="button"].primary,
		button.primary,
		.button.primary {
			background-color: #212931;
			box-shadow: none;
			color: #ffffff !important;
		}

			input[type="submit"].primary:hover,
			input[type="reset"].primary:hover,
			input[type="button"].primary:hover,
			button.primary:hover,
			.button.primary:hover {
				background-color: #8e9ecb;
			}

/* Form */

	form {
		margin: 0 0 2rem 0;
	}

		form > :last-child {
			margin-bottom: 0;
		}

		form > .fields {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			width: calc(100% + 3rem);
			margin: -1.5rem 0 2rem -1.5rem;
		}

			form > .fields > .field {
				-moz-flex-grow: 0;
				-webkit-flex-grow: 0;
				-ms-flex-grow: 0;
				flex-grow: 0;
				-moz-flex-shrink: 0;
				-webkit-flex-shrink: 0;
				-ms-flex-shrink: 0;
				flex-shrink: 0;
				padding: 1.5rem 0 0 1.5rem;
				width: calc(100% - 1.5rem);
			}

				form > .fields > .field.half {
					width: calc(50% - 0.75rem);
				}

				form > .fields > .field.third {
					width: calc(100%/3 - 0.5rem);
				}

				form > .fields > .field.quarter {
					width: calc(25% - 0.375rem);
				}

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

			form > .fields {
				width: calc(100% + 3rem);
				margin: -1.5rem 0 2rem -1.5rem;
			}

				form > .fields > .field {
					padding: 1.5rem 0 0 1.5rem;
					width: calc(100% - 1.5rem);
				}

					form > .fields > .field.half {
						width: calc(100% - 1.5rem);
					}

					form > .fields > .field.third {
						width: calc(100% - 1.5rem);
					}

					form > .fields > .field.quarter {
						width: calc(100% - 1.5rem);
					}

		}

	label {
		display: block;
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-weight: 900;
		line-height: 1.5;
		letter-spacing: 0.075em;
		font-size: 0.8rem;
		text-transform: uppercase;
		margin: 0 0 0.75rem 0;
	}

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

			label {
				font-size: 0.9rem;
			}

		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		background: transparent;
		border-radius: 0;
		border: solid 2px;
		color: inherit;
		display: block;
		outline: 0;
		padding: 0 1rem;
		text-decoration: none;
		width: 100%;
	}

		input[type="text"]:invalid,
		input[type="password"]:invalid,
		input[type="email"]:invalid,
		select:invalid,
		textarea:invalid {
			box-shadow: none;
		}

	select {
		background-size: 1.25rem;
		background-repeat: no-repeat;
		background-position: calc(100% - 1rem) center;
		height: 3rem;
		padding-right: 3rem;
		text-overflow: ellipsis;
	}

		select:focus::-ms-value {
			background-color: transparent;
		}

		select::-ms-expand {
			display: none;
		}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select {
		height: 3rem;
	}

	textarea {
		padding: 0.75rem 1rem;
	}

	input[type="checkbox"],
	input[type="radio"] {
		-moz-appearance: none;
		-webkit-appearance: none;
		-ms-appearance: none;
		appearance: none;
		display: block;
		float: left;
		margin-right: -2rem;
		opacity: 0;
		width: 1rem;
		z-index: -1;
	}

		input[type="checkbox"] + label,
		input[type="radio"] + label {
			text-decoration: none;
			cursor: pointer;
			display: inline-block;
			font-size: 1rem;
			letter-spacing: 0;
			font-family: "Merriweather", Georgia, serif;
			text-transform: none;
			font-weight: 300;
			padding-left: 2.8rem;
			padding-right: 1rem;
			position: relative;
		}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
			}

			input[type="checkbox"] + label:before,
			input[type="radio"] + label:before {
				border-radius: 0;
				border: solid 2px;
				content: '';
				display: inline-block;
				font-size: 0.8rem;
				height: 1.8rem;
				left: 0;
				line-height: 1.65rem;
				position: absolute;
				text-align: center;
				top: -0.125rem;
				width: 1.8rem;
			}

		input[type="checkbox"]:checked + label:before,
		input[type="radio"]:checked + label:before {
			content: '\f00c';
		}

	input[type="checkbox"] + label:before {
		border-radius: 0;
	}

	input[type="radio"] + label:before {
		border-radius: 100%;
	}

	::-webkit-input-placeholder {
		opacity: 1.0;
	}

	:-moz-placeholder {
		opacity: 1.0;
	}

	::-moz-placeholder {
		opacity: 1.0;
	}

	:-ms-input-placeholder {
		opacity: 1.0;
	}

	label {
		color: #212931;
	}

	input[type="text"],
	input[type="password"],
	input[type="email"],
	select,
	textarea {
		border-color: #eeeeee;
	}

		input[type="text"]:focus,
		input[type="password"]:focus,
		input[type="email"]:focus,
		select:focus,
		textarea:focus {
			border-color: #8e9ecb;
		}

	select {
		background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%23eeeeee' /%3E%3C/svg%3E");
	}

		select option {
			background-color: #ffffff;
			color: #212931;
		}

	.select-wrapper:before {
		color: #eeeeee;
	}

	input[type="checkbox"] + label,
	input[type="radio"] + label {
		color: #212931;
	}

		input[type="checkbox"] + label:before,
		input[type="radio"] + label:before {
			border-color: #eeeeee;
		}

	input[type="checkbox"]:checked + label:before,
	input[type="radio"]:checked + label:before {
		background-color: #212931;
		border-color: #212931;
		color: #ffffff;
	}

	input[type="checkbox"]:focus + label:before,
	input[type="radio"]:focus + label:before {
		border-color: #8e9ecb;
	}

	::-webkit-input-placeholder {
		color: #909498 !important;
	}

	:-moz-placeholder {
		color: #909498 !important;
	}

	::-moz-placeholder {
		color: #909498 !important;
	}

	:-ms-input-placeholder {
		color: #909498 !important;
	}

	.formerize-placeholder {
		color: #909498 !important;
	}

/* Icon */

	.icon {
		text-decoration: none;
		border-bottom: none;
		position: relative;
	}

		.icon:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 400;
		}

		.icon > .label {
			display: none;
		}

		.icon:before {
			line-height: inherit;
		}

		.icon.solid:before {
			font-weight: 900;
		}

		.icon.brands:before {
			font-family: 'Font Awesome 5 Brands';
		}

/* Image */

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

		.image img {
			display: block;
		}

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

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

		.image.left {
			float: left;
			margin: 0 2rem 2rem 0;
			top: 0.75rem;
		}

		.image.right {
			float: right;
			margin: 0 0 2rem 2rem;
			top: 0.75rem;
		}

		.image.fit {
			display: block;
			margin: 2.5rem 0;
			width: 100%;
		}

			.image.fit:first-child {
				margin-top: 0;
			}

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

		.image.main {
			display: block;
			margin: 4rem 0;
			width: 100%;
		}

			.image.main:first-child {
				margin-top: 0;
			}

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

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

			.image.fit {
				margin: 2rem 0;
			}

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

		}

	a.image {
		overflow: hidden;
	}

		a.image img {
			-moz-transition: -moz-transform 0.2s ease-out;
			-webkit-transition: -webkit-transform 0.2s ease-out;
			-ms-transition: -ms-transform 0.2s ease-out;
			transition: transform 0.2s ease-out;
		}

		a.image:hover img {
			-moz-transform: scale(1.05);
			-webkit-transform: scale(1.05);
			-ms-transform: scale(1.05);
			transform: scale(1.05);
		}

/* Actions */

	ul.actions {
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		cursor: default;
		list-style: none;
		margin-left: -1rem;
		padding-left: 0;
	}

		ul.actions li {
			padding: 0 0 0 1rem;
			vertical-align: middle;
		}

		ul.actions.special {
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			width: 100%;
			margin-left: 0;
		}

			ul.actions.special li:first-child {
				padding-left: 0;
			}

		ul.actions.stacked {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			margin-left: 0;
		}

			ul.actions.stacked li {
				padding: 1.3rem 0 0 0;
			}

				ul.actions.stacked li:first-child {
					padding-top: 0;
				}

		ul.actions.fit {
			width: calc(100% + 1rem);
		}

			ul.actions.fit li {
				-moz-flex-grow: 1;
				-webkit-flex-grow: 1;
				-ms-flex-grow: 1;
				flex-grow: 1;
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 1;
				flex-shrink: 1;
				width: 100%;
			}

				ul.actions.fit li > * {
					width: 100%;
				}

			ul.actions.fit.stacked {
				width: 100%;
			}

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

			ul.actions:not(.fixed) {
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				margin-left: 0;
				width: 100% !important;
			}

				ul.actions:not(.fixed) li {
					-moz-flex-grow: 1;
					-webkit-flex-grow: 1;
					-ms-flex-grow: 1;
					flex-grow: 1;
					-moz-flex-shrink: 1;
					-webkit-flex-shrink: 1;
					-ms-flex-shrink: 1;
					flex-shrink: 1;
					padding: 1rem 0 0 0;
					text-align: center;
					width: 100%;
				}

					ul.actions:not(.fixed) li > * {
						width: 100%;
					}

					ul.actions:not(.fixed) li:first-child {
						padding-top: 0;
					}

					ul.actions:not(.fixed) li input[type="submit"],
					ul.actions:not(.fixed) li input[type="reset"],
					ul.actions:not(.fixed) li input[type="button"],
					ul.actions:not(.fixed) li button,
					ul.actions:not(.fixed) li .button {
						width: 100%;
					}

						ul.actions:not(.fixed) li input[type="submit"].icon:before,
						ul.actions:not(.fixed) li input[type="reset"].icon:before,
						ul.actions:not(.fixed) li input[type="button"].icon:before,
						ul.actions:not(.fixed) li button.icon:before,
						ul.actions:not(.fixed) li .button.icon:before {
							margin-left: -0.5rem;
						}

		}

/* Icons */

	ul.icons {
		cursor: default;
		list-style: none;
		padding-left: 0;
	}

		ul.icons li {
			display: inline-block;
			padding: 0 0.5rem 0 0;
			vertical-align: middle;
		}

			ul.icons li:last-child {
				padding-right: 0;
			}

			ul.icons li .icon:before {
				width: 2.25rem;
				height: 2.25rem;
				line-height: 2.25rem;
				display: inline-block;
				text-align: center;
				border-radius: 100%;
				font-size: 1.25rem;
			}

		ul.icons.alt li .icon:before {
			-moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
			-webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
			-ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
			transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
			font-size: 1rem;
		}

/* List */

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

		ol li {
			padding-left: 0.25rem;
		}

	ul {
		list-style: disc;
		margin: 0 0 2rem 0;
		padding-left: 1rem;
	}

		ul li {
			padding-left: 0.5rem;
		}

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

			ul.divided li {
				border-top: solid 1px;
				padding: 0.5rem 0;
			}

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

	dl {
		margin: 0 0 2rem 0;
	}

		dl dt {
			display: block;
			font-weight: 600;
			margin: 0 0 1rem 0;
		}

		dl dd {
			margin-left: 2rem;
		}

	ul.divided li {
		border-top-color: #eeeeee;
	}

	ul.icons li a.icon:hover:before {
		color: #8e9ecb;
	}

	ul.icons.alt li .icon:before {
		box-shadow: inset 0 0 0 2px #eeeeee;
	}

	ul.icons.alt li a.icon:hover:before {
		box-shadow: inset 0 0 0 2px #8e9ecb;
	}

/* Section/Article */

	section.special, article.special {
		text-align: center;
	}

	header {
		cursor: default;
	}

		header > .date {
			display: block;
			font-size: 0.8rem;
			height: 1;
			margin: 0 0 1rem 0;
			position: relative;
		}

		header > p {
			font-style: italic;
		}

		header > h1 + p {
			font-size: 1.1rem;
			margin-top: -0.5rem;
			line-height: 2;
		}

		header > h2 + p {
			font-size: 1rem;
			margin-top: -0.75rem;
		}

		header > h3 + p {
			font-size: 0.9rem;
			margin-top: -0.75rem;
		}

		header > h4 + p {
			font-size: 0.8rem;
			margin-top: -0.75rem;
		}

		header.major {
			margin: 0 0 4rem 0;
			text-align: center;
		}

			header.major > :last-child {
				margin-bottom: 0;
			}

			header.major > p {
				margin-top: 0;
				text-align: center;
			}

			header.major > .date {
				font-size: 1rem;
				margin: 0 0 4rem 0;
			}

				header.major > .date:before, header.major > .date:after {
					content: '';
					display: block;
					position: absolute;
					top: 50%;
					width: calc(50% - 6rem);
					border-top: solid 2px;
				}

				header.major > .date:before {
					left: 0;
				}

				header.major > .date:after {
					right: 0;
				}

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

			header br {
				display: none;
			}

		}

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

			header.major {
				margin: 0 0 2rem 0;
			}

		}

	header.major .date:before, header.major .date:after {
		border-top-color: #eeeeee;
	}

/* Table */

	.table-wrapper {
		-webkit-overflow-scrolling: touch;
		overflow-x: auto;
	}

	table {
		margin: 0 0 2rem 0;
		width: 100%;
	}

		table tbody tr {
			border: solid 1px;
			border-left: 0;
			border-right: 0;
		}

		table td {
			padding: 0.75rem 0.75rem;
		}

		table th {
			font-family: "Source Sans Pro", Helvetica, sans-serif;
			font-size: 0.8rem;
			font-weight: 900;
			letter-spacing: 0.075em;
			line-height: 1.5;
			padding: 0 0.75rem 0.75rem 0.75rem;
			text-align: left;
			text-transform: uppercase;
		}

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

				table th {
					font-size: 0.9rem;
				}

			}

		table thead {
			border-bottom: solid 2px;
		}

		table tfoot {
			border-top: solid 2px;
		}

		table.alt {
			border-collapse: separate;
		}

			table.alt tbody tr td {
				border: solid 1px;
				border-left-width: 0;
				border-top-width: 0;
			}

				table.alt tbody tr td:first-child {
					border-left-width: 1px;
				}

			table.alt tbody tr:first-child td {
				border-top-width: 1px;
			}

			table.alt thead {
				border-bottom: 0;
			}

			table.alt tfoot {
				border-top: 0;
			}

	table tbody tr {
		border-color: #eeeeee;
	}

		table tbody tr:nth-child(2n + 1) {
			background-color: rgba(220, 220, 220, 0.25);
		}

	table th {
		color: #212931;
	}

	table thead {
		border-bottom-color: #eeeeee;
	}

	table tfoot {
		border-top-color: #eeeeee;
	}

	table.alt tbody tr td {
		border-color: #eeeeee;
	}

/* Pagination */

	.pagination {
		display: -moz-inline-flex;
		display: -webkit-inline-flex;
		display: -ms-inline-flex;
		display: inline-flex;
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
		cursor: default;
		list-style: none;
		margin: 0 0 2rem 2px;
		padding: 0;
	}

		.pagination a, .pagination span {
			-moz-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
			-webkit-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
			-ms-transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
			transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
			border: solid 2px;
			display: inline-block;
			font-family: "Source Sans Pro", Helvetica, sans-serif;
			font-size: 0.8rem;
			font-weight: 900;
			height: 3rem;
			letter-spacing: 0.075em;
			line-height: calc(3rem - 4px);
			margin-left: -2px;
			min-width: 3rem;
			position: relative;
			text-align: center;
			text-decoration: none;
			text-transform: uppercase;
		}

		.pagination .next, .pagination .previous {
			text-decoration: none;
			padding: 0 1.75rem;
		}

			.pagination .next:before, .pagination .previous:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
			}

			.pagination .next:before, .pagination .previous:before {
				display: inline-block;
				color: inherit !important;
				line-height: inherit;
			}

		.pagination .previous:before {
			content: '\f104';
			margin-right: 0.9375em;
		}

		.pagination .next:before {
			content: '\f105';
			float: right;
			margin-left: 0.9375em;
		}

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

			.pagination a, .pagination span {
				font-size: 0.9rem;
			}

		}

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

			.pagination .page, .pagination .extra {
				display: none;
			}

		}

	.pagination a, .pagination span {
		border-color: #eeeeee;
	}

	.pagination a {
		color: #212931 !important;
	}

		.pagination a:hover {
			color: #8e9ecb !important;
			border-color: #8e9ecb;
			z-index: 1;
		}

			.pagination a:hover + a,
			.pagination a:hover + span {
				border-left-color: #8e9ecb;
			}

		.pagination a.active {
			background-color: #eeeeee;
		}

	.pagination span {
		color: #eeeeee;
	}

/* Wrapper */

	#wrapper {
		-moz-transition: opacity 0.5s ease;
		-webkit-transition: opacity 0.5s ease;
		-ms-transition: opacity 0.5s ease;
		transition: opacity 0.5s ease;
		position: relative;
		z-index: 1;
		overflow: hidden;
	}

		#wrapper > .bg {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			background-color: #212931;
			background-image: url("../../images/overlay.png"), linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1)), url("../../images/bg.jpg");
			background-size: auto,								auto,														100% auto;
			background-position: center,								center,														top center;
			background-repeat: repeat,								no-repeat,													no-repeat;
			background-attachment: scroll,								scroll,														scroll;
			z-index: -1;
		}

			#wrapper > .bg.fixed {
				position: fixed;
				width: 100vw;
				height: 100vh;
			}

		#wrapper.fade-in:before {
			pointer-events: none;
			-moz-transition: opacity 1s ease-in-out;
			-webkit-transition: opacity 1s ease-in-out;
			-ms-transition: opacity 1s ease-in-out;
			transition: opacity 1s ease-in-out;
			-moz-transition-delay: 0.75s;
			-webkit-transition-delay: 0.75s;
			-ms-transition-delay: 0.75s;
			transition-delay: 0.75s;
			background: #1e252d;
			content: '';
			display: block;
			height: 100%;
			left: 0;
			opacity: 0;
			position: fixed;
			top: 0;
			width: 100%;
		}

		body.is-preload #wrapper.fade-in:before {
			opacity: 1;
		}

		@media screen and (orientation: portrait) {

			#wrapper > .bg {
				background-size: auto,								auto,														auto 175%;
			}

		}

/* Intro */

	#intro {
		color: #ffffff;
		padding: 8rem 4rem 6rem 4rem ;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-moz-justify-content: -moz-flex-end;
		-webkit-justify-content: -webkit-flex-end;
		-ms-justify-content: -ms-flex-end;
		justify-content: flex-end;
		-moz-transition: opacity 1s ease, -moz-transform 1s ease;
		-webkit-transition: opacity 1s ease, -webkit-transform 1s ease;
		-ms-transition: opacity 1s ease, -ms-transform 1s ease;
		transition: opacity 1s ease, transform 1s ease;
		position: relative;
		cursor: default;
		text-align: center;
		z-index: 1;
		min-height: 100vh;
	}

		#intro input, #intro select, #intro textarea {
			color: #ffffff;
		}

		#intro a {
			color: #ffffff;
			border-bottom-color: rgba(255, 255, 255, 0.5);
		}

			#intro a:hover {
				border-bottom-color: transparent;
				color: #8e9ecb !important;
			}

		#intro strong, #intro b {
			color: #ffffff;
		}

		#intro h1, #intro h2, #intro h3, #intro h4, #intro h5, #intro h6 {
			color: #ffffff;
		}

		#intro blockquote {
			border-left-color: #ffffff;
		}

		#intro code {
			background: rgba(255, 255, 255, 0.075);
			border-color: #ffffff;
		}

		#intro hr {
			border-bottom-color: #ffffff;
		}

		#intro input[type="submit"],
		#intro input[type="reset"],
		#intro input[type="button"],
		#intro button,
		#intro .button {
			background-color: transparent;
			box-shadow: inset 0 0 0 2px #ffffff;
			color: #ffffff !important;
		}

			#intro input[type="submit"]:hover,
			#intro input[type="reset"]:hover,
			#intro input[type="button"]:hover,
			#intro button:hover,
			#intro .button:hover {
				box-shadow: inset 0 0 0 2px #18bfef;
				color: #8e9ecb !important;
			}

			#intro input[type="submit"].primary,
			#intro input[type="reset"].primary,
			#intro input[type="button"].primary,
			#intro button.primary,
			#intro .button.primary {
				background-color: #ffffff;
				box-shadow: none;
				color: #1e252d !important;
			}

				#intro input[type="submit"].primary:hover,
				#intro input[type="reset"].primary:hover,
				#intro input[type="button"].primary:hover,
				#intro button.primary:hover,
				#intro .button.primary:hover {
					background-color: #8e9ecb;
				}

		#intro h1 {
			font-size: 5rem;
			line-height: 1;
		}

		#intro p {
			font-size: 1.25rem;
			font-style: italic;
			margin-top: -0.25rem;
			text-align: center;
		}

		#intro + #header {
			margin-top: -20rem;
		}

			#intro + #header .logo {
				-moz-transform: translateY(2rem);
				-webkit-transform: translateY(2rem);
				-ms-transform: translateY(2rem);
				transform: translateY(2rem);
				opacity: 0;
				visibility: hidden;
			}

		#intro.hidden {
			pointer-events: none;
			-moz-transform: translateY(2rem);
			-webkit-transform: translateY(2rem);
			-ms-transform: translateY(2rem);
			transform: translateY(2rem);
			-moz-transition: opacity 0.5s ease, -moz-transform 0.5s ease, visibility 0.5s;
			-webkit-transition: opacity 0.5s ease, -webkit-transform 0.5s ease, visibility 0.5s;
			-ms-transition: opacity 0.5s ease, -ms-transform 0.5s ease, visibility 0.5s;
			transition: opacity 0.5s ease, transform 0.5s ease, visibility 0.5s;
			opacity: 0;
			visibility: hidden;
		}

			#intro.hidden + #header .logo {
				-moz-transform: translateY(0);
				-webkit-transform: translateY(0);
				-ms-transform: translateY(0);
				transform: translateY(0);
				opacity: 1;
				visibility: visible;
			}

		body.is-preload #intro {
			-moz-transform: translateY(2rem);
			-webkit-transform: translateY(2rem);
			-ms-transform: translateY(2rem);
			transform: translateY(2rem);
			opacity: 0;
		}

			body.is-preload #intro:not(.hidden) + #header + #nav {
				-moz-transform: translateY(4rem);
				-webkit-transform: translateY(4rem);
				-ms-transform: translateY(4rem);
				transform: translateY(4rem);
				opacity: 0;
			}

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

			#intro {
				padding: 4rem 4rem 2rem 4rem ;
				min-height: 90vh;
			}

				#intro p br {
					display: none;
				}

				#intro + #header {
					margin-top: -14rem;
				}

		}

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

			#intro {
				padding: 3rem 2rem 1rem 2rem ;
				min-height: 80vh;
			}

				#intro h1 {
					font-size: 3.25rem;
					line-height: 1.1;
					margin-bottom: 1rem;
				}

				#intro p {
					font-size: 1rem;
					margin-top: 0rem;
				}

				#intro .actions {
					display: none;
				}

		}

/* Header */

	#header {
		color: #ffffff;
		-moz-align-items: center;
		-webkit-align-items: center;
		-ms-align-items: center;
		align-items: center;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-flex-direction: column;
		-webkit-flex-direction: column;
		-ms-flex-direction: column;
		flex-direction: column;
		-moz-justify-content: -moz-flex-end;
		-webkit-justify-content: -webkit-flex-end;
		-ms-justify-content: -ms-flex-end;
		justify-content: flex-end;
		pointer-events: none;
		-moz-user-select: none;
		-webkit-user-select: none;
		-ms-user-select: none;
		user-select: none;
		height: 20rem;
		padding-bottom: 8rem;
		position: relative;
		text-align: center;
		z-index: 2;
	}

		#header input, #header select, #header textarea {
			color: #ffffff;
		}

		#header a {
			color: #ffffff;
			border-bottom-color: rgba(255, 255, 255, 0.5);
		}

			#header a:hover {
				border-bottom-color: transparent;
				color: #18bfef !important;
			}

		#header strong, #header b {
			color: #ffffff;
		}

		#header h1, #header h2, #header h3, #header h4, #header h5, #header h6 {
			color: #ffffff;
		}

		#header blockquote {
			border-left-color: #ffffff;
		}

		#header code {
			background: rgba(255, 255, 255, 0.075);
			border-color: #ffffff;
		}

		#header hr {
			border-bottom-color: #ffffff;
		}

		#header .logo {
			-moz-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, opacity 0.5s ease, -moz-transform 0.5s ease, visibility 0.5s;
			-webkit-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, opacity 0.5s ease, -webkit-transform 0.5s ease, visibility 0.5s;
			-ms-transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, opacity 0.5s ease, -ms-transform 0.5s ease, visibility 0.5s;
			transition: border-color 0.2s ease-in-out, color 0.2s ease-in-out, opacity 0.5s ease, transform 0.5s ease, visibility 0.5s;
			pointer-events: auto;
			border-style: solid;
			border-color: #ffffff;
			border-width: 5px !important;
			font-family: "Source Sans Pro", Helvetica, sans-serif;
			font-size: 2.25rem;
			font-weight: 900;
			letter-spacing: 0.075em;
			line-height: 1;
			padding: 1rem 1.75rem;
			text-transform: uppercase;
			visibility: visible;
		}

			#header .logo:hover {
				border-color: #8e9ecb !important;
				color: #8e9ecb !important;
			}

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

			#header {
				height: 14rem;
				padding-bottom: 4rem;
			}

		}

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

			#header {
				padding-bottom: 3rem;
			}

				#header .logo {
					font-size: 1.75rem;
					border-width: 3px !important;
				}

		}

/* Nav */

	#nav {
		color: #ffffff;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-transition: -moz-transform 1s ease, opacity 1s ease;
		-webkit-transition: -webkit-transform 1s ease, opacity 1s ease;
		-ms-transition: -ms-transform 1s ease, opacity 1s ease;
		transition: transform 1s ease, opacity 1s ease;
		background: rgba(255, 255, 255, 0.175);
		height: 4rem;
		line-height: 4rem;
		margin: -4rem auto 0 auto;
		overflow: hidden;
		padding: 0 2rem 0 0;
		position: relative;
		width: calc(100% - 4rem);
		max-width: 72rem;
		z-index: 2;
	}

		#nav ul.divided li {
			border-top-color: #ffffff;
		}

		#nav ul.icons li a.icon:hover:before {
			color: #8e9ecb;
		}

		#nav ul.icons.alt li .icon:before {
			box-shadow: inset 0 0 0 2px #ffffff;
		}

		#nav ul.icons.alt li a.icon:hover:before {
			box-shadow: inset 0 0 0 2px #8e9ecb;
		}

		#nav input, #nav select, #nav textarea {
			color: #ffffff;
		}

		#nav a {
			color: #ffffff;
			border-bottom-color: rgba(255, 255, 255, 0.5);
		}

			#nav a:hover {
				border-bottom-color: transparent;
				color: #8e9ecb !important;
			}

		#nav strong, #nav b {
			color: #ffffff;
		}

		#nav h1, #nav h2, #nav h3, #nav h4, #nav h5, #nav h6 {
			color: #ffffff;
		}

		#nav blockquote {
			border-left-color: #ffffff;
		}

		#nav code {
			background: rgba(255, 255, 255, 0.075);
			border-color: #ffffff;
		}

		#nav hr {
			border-bottom-color: #ffffff;
		}

		#nav ul.links {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
			-moz-flex-shrink: 1;
			-webkit-flex-shrink: 1;
			-ms-flex-shrink: 1;
			flex-shrink: 1;
			font-family: "Source Sans Pro", Helvetica, sans-serif;
			font-weight: 900;
			letter-spacing: 0.075em;
			list-style: none;
			margin-bottom: 0;
			padding-left: 0;
			text-transform: uppercase;
		}

			#nav ul.links li {
				display: block;
				padding-left: 0;
			}

				#nav ul.links li a {
					-moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					-webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					-ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
					display: block;
					font-size: 0.8rem;
					outline: none;
					padding: 0 2rem;
				}

					#nav ul.links li a:hover {
						color: inherit !important;
						background-color: rgba(255, 255, 255, 0.1);
					}

				#nav ul.links li.active {
					background-color: #ffffff;
				}

					#nav ul.links li.active a {
						color: #1e252d;
					}

						#nav ul.links li.active a:hover {
							color: #8e9ecb !important;
						}

		#nav ul.icons {
			-moz-flex-grow: 0;
			-webkit-flex-grow: 0;
			-ms-flex-grow: 0;
			flex-grow: 0;
			-moz-flex-shrink: 0;
			-webkit-flex-shrink: 0;
			-ms-flex-shrink: 0;
			flex-shrink: 0;
			margin-bottom: 0;
		}

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

			#nav {
				display: none;
			}

		}

/* Main */

	#main {
		background-color: #ffffff;
		position: relative;
		margin: 0 auto;
		width: calc(100% - 4rem);
		max-width: 72rem;
		z-index: 2;
	}

		#main > * {
			padding: 4rem 4rem 2rem 4rem ;
			border-top: solid 2px #eeeeee;
			margin: 0;
		}

			#main > *:first-child {
				border-top: 0;
			}

		#main > footer {
			text-align: center;
		}

		#main > .post {
			padding: 8rem 8rem 6rem 8rem ;
		}

			#main > .post header.major > .date {
				margin-top: -2rem;
			}

			#main > .post header.major > h1, #main > .post header.major h2 {
				font-size: 4rem;
				line-height: 1.1;
				margin: 0 0 2rem 0;
			}

			#main > .post.featured {
				text-align: center;
			}

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

				#main > .post {
					padding: 6rem 4rem 4rem 4rem ;
				}

			}

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

				#main > .post {
					padding: 4rem 2rem 2rem 2rem ;
				}

					#main > .post header.major > .date {
						margin-top: -1rem;
						margin-bottom: 2rem;
					}

					#main > .post header.major > h1, #main > .post header.major h2 {
						font-size: 2.5rem;
						line-height: 1.2;
						margin: 0 0 1.5rem 0;
					}

			}

		#main > .posts {
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-moz-flex-wrap: wrap;
			-webkit-flex-wrap: wrap;
			-ms-flex-wrap: wrap;
			flex-wrap: wrap;
			-moz-align-items: -moz-stretch;
			-webkit-align-items: -webkit-stretch;
			-ms-align-items: -ms-stretch;
			align-items: stretch;
			text-align: center;
			width: 100%;
			padding: 0;
		}

			#main > .posts > * {
				-moz-flex-shrink: 1;
				-webkit-flex-shrink: 1;
				-ms-flex-shrink: 1;
				flex-shrink: 1;
				-moz-flex-grow: 0;
				-webkit-flex-grow: 0;
				-ms-flex-grow: 0;
				flex-grow: 0;
			}

			#main > .posts > * {
				width: 50%;
			}

			#main > .posts > * {
				padding: 4rem;
				width: 50%;
			}

			#main > .posts > article {
				border-color: #eeeeee;
				border-left-width: 2px;
				border-style: solid;
				border-top-width: 2px;
				text-align: center;
			}

				#main > .posts > article > :last-child {
					margin-bottom: 0;
				}

				#main > .posts > article:nth-child(2n - 1) {
					border-left-width: 0;
				}

				#main > .posts > article:nth-child(-n + 2) {
					border-top-width: 0;
				}

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

				#main > .posts > * {
					width: 50%;
				}

				#main > .posts > * {
					padding: 2.5rem;
					width: 50%;
				}

			}

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

				#main > .posts > * {
					width: 100%;
				}

				#main > .posts > * {
					padding: 2rem;
					width: 100%;
				}

				#main > .posts > article:nth-child(2n - 1) {
					border-left-width: 2px;
				}

				#main > .posts > article:nth-child(-n + 2) {
					border-top-width: 2px;
				}

				#main > .posts > article:nth-child(n) {
					border-left-width: 0;
				}

				#main > .posts > article:nth-child(-n + 1) {
					border-top-width: 0;
				}

				#main > .posts > article .image {
					max-width: 25rem;
					margin-left: auto;
					margin-right: auto;
				}

			}

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

			#main > * {
				padding: 2rem 2rem 0.1rem 2rem ;
			}

		}

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

			#main {
				width: 100%;
			}

		}

/* Footer */

	#footer {
		color: #717981;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		background-color: #f5f5f5;
		color: #909498;
		cursor: default;
		position: relative;
		margin: 0 auto;
		width: calc(100% - 4rem);
		max-width: 72rem;
		z-index: 2;
	}

		#footer input, #footer select, #footer textarea {
			color: #717981;
		}

		#footer a {
			color: #717981;
			border-bottom-color: rgba(113, 121, 129, 0.5);
		}

			#footer a:hover {
				border-bottom-color: transparent;
				color: #8e9ecb !important;
			}

		#footer strong, #footer b {
			color: #717981;
		}

		#footer h1, #footer h2, #footer h3, #footer h4, #footer h5, #footer h6 {
			color: #717981;
		}

		#footer blockquote {
			border-left-color: #e2e2e2;
		}

		#footer code {
			background: rgba(220, 220, 220, 0.5);
			border-color: #e2e2e2;
		}

		#footer hr {
			border-bottom-color: #e2e2e2;
		}

		#footer .box {
			border-color: #e2e2e2;
		}

		#footer input[type="submit"],
		#footer input[type="reset"],
		#footer input[type="button"],
		#footer button,
		#footer .button {
			background-color: transparent;
			box-shadow: inset 0 0 0 2px #717981;
			color: #717981 !important;
		}

			#footer input[type="submit"]:hover,
			#footer input[type="reset"]:hover,
			#footer input[type="button"]:hover,
			#footer button:hover,
			#footer .button:hover {
				box-shadow: inset 0 0 0 2px #8e9ecb;
				color: #8e9ecb !important;
			}

			#footer input[type="submit"].primary,
			#footer input[type="reset"].primary,
			#footer input[type="button"].primary,
			#footer button.primary,
			#footer .button.primary {
				background-color: #717981;
				box-shadow: none;
				color: #f5f5f5 !important;
			}

				#footer input[type="submit"].primary:hover,
				#footer input[type="reset"].primary:hover,
				#footer input[type="button"].primary:hover,
				#footer button.primary:hover,
				#footer .button.primary:hover {
					background-color: #8e9ecb;
				}

		#footer label {
			color: #717981;
		}

		#footer input[type="text"],
		#footer input[type="password"],
		#footer input[type="email"],
		#footer select,
		#footer textarea {
			border-color: #e2e2e2;
		}

			#footer input[type="text"]:focus,
			#footer input[type="password"]:focus,
			#footer input[type="email"]:focus,
			#footer select:focus,
			#footer textarea:focus {
				border-color: #8e9ecb;
			}

		#footer select {
			background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%23e2e2e2' /%3E%3C/svg%3E");
		}

			#footer select option {
				background-color: #f5f5f5;
				color: #717981;
			}

		#footer .select-wrapper:before {
			color: #e2e2e2;
		}

		#footer input[type="checkbox"] + label,
		#footer input[type="radio"] + label {
			color: #717981;
		}

			#footer input[type="checkbox"] + label:before,
			#footer input[type="radio"] + label:before {
				border-color: #e2e2e2;
			}

		#footer input[type="checkbox"]:checked + label:before,
		#footer input[type="radio"]:checked + label:before {
			background-color: #717981;
			border-color: #717981;
			color: #f5f5f5;
		}

		#footer input[type="checkbox"]:focus + label:before,
		#footer input[type="radio"]:focus + label:before {
			border-color: #8e9ecb;
		}

		#footer ::-webkit-input-placeholder {
			color: #b3b7bb !important;
		}

		#footer :-moz-placeholder {
			color: #b3b7bb !important;
		}

		#footer ::-moz-placeholder {
			color: #b3b7bb !important;
		}

		#footer :-ms-input-placeholder {
			color: #b3b7bb !important;
		}

		#footer .formerize-placeholder {
			color: #b3b7bb !important;
		}

		#footer ul.divided li {
			border-top-color: #e2e2e2;
		}

		#footer ul.icons li a.icon:hover:before {
			color: #8e9ecb;
		}

		#footer ul.icons.alt li .icon:before {
			box-shadow: inset 0 0 0 2px #e2e2e2;
		}

		#footer ul.icons.alt li a.icon:hover:before {
			box-shadow: inset 0 0 0 2px #8e9ecb;
		}

		#footer header.major .date:before, #footer header.major .date:after {
			border-top-color: #e2e2e2;
		}

		#footer table tbody tr {
			border-color: #e2e2e2;
		}

			#footer table tbody tr:nth-child(2n + 1) {
				background-color: rgba(220, 220, 220, 0.5);
			}

		#footer table th {
			color: #717981;
		}

		#footer table thead {
			border-bottom-color: #e2e2e2;
		}

		#footer table tfoot {
			border-top-color: #e2e2e2;
		}

		#footer table.alt tbody tr td {
			border-color: #e2e2e2;
		}

		#footer .pagination a, #footer .pagination span {
			border-color: #e2e2e2;
		}

		#footer .pagination a {
			color: #717981 !important;
		}

			#footer .pagination a:hover {
				color: #8e9ecb !important;
				border-color: #8e9ecb;
				z-index: 1;
			}

				#footer .pagination a:hover + a,
				#footer .pagination a:hover + span {
					border-left-color: #8e9ecb;
				}

			#footer .pagination a.active {
				background-color: #e2e2e2;
			}

		#footer .pagination span {
			color: #e2e2e2;
		}

		#footer > section {
			-moz-flex-basis: 50%;
			-webkit-flex-basis: 50%;
			-ms-flex-basis: 50%;
			flex-basis: 50%;
			-moz-flex-grow: 1;
			-webkit-flex-grow: 1;
			-ms-flex-grow: 1;
			flex-grow: 1;
			-moz-flex-shrink: 1;
			-webkit-flex-shrink: 1;
			-ms-flex-shrink: 1;
			flex-shrink: 1;
			padding: 4rem 4rem 2rem 4rem ;
			border-left: solid 2px #e2e2e2;
		}

			#footer > section:first-child {
				border-left: 0;
			}

			#footer > section.split {
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-flex-direction: column;
				-webkit-flex-direction: column;
				-ms-flex-direction: column;
				flex-direction: column;
				padding: 0;
			}

				#footer > section.split > section {
					padding: 3rem 4rem 1rem 4rem ;
					border-top: solid 2px #e2e2e2;
				}

					#footer > section.split > section:first-child {
						padding: 5rem 4rem 1rem 4rem ;
						border-top: 0;
					}

					#footer > section.split > section:last-child {
						padding: 3rem 4rem 3rem 4rem ;
					}

				#footer > section.split.contact > section {
					display: -moz-flex;
					display: -webkit-flex;
					display: -ms-flex;
					display: flex;
					-moz-align-items: center;
					-webkit-align-items: center;
					-ms-align-items: center;
					align-items: center;
					padding: 3.15rem 4rem;
				}

					#footer > section.split.contact > section > * {
						margin-bottom: 0;
					}

					#footer > section.split.contact > section > :first-child {
						-moz-flex-shrink: 0;
						-webkit-flex-shrink: 0;
						-ms-flex-shrink: 0;
						flex-shrink: 0;
						-moz-flex-grow: 0;
						-webkit-flex-grow: 0;
						-ms-flex-grow: 0;
						flex-grow: 0;
						width: 6rem;
					}

					#footer > section.split.contact > section > :last-child {
						-moz-flex-shrink: 1;
						-webkit-flex-shrink: 1;
						-ms-flex-shrink: 1;
						flex-shrink: 1;
						-moz-flex-grow: 1;
						-webkit-flex-grow: 1;
						-ms-flex-grow: 1;
						flex-grow: 1;
					}

					#footer > section.split.contact > section:first-child {
						padding: 4rem 4rem 3rem 4rem;
					}

					#footer > section.split.contact > section:last-child {
						padding: 3rem 4rem 4rem 4rem;
					}

					#footer > section.split.contact > section.alt {
						-moz-align-items: -moz-flex-start;
						-webkit-align-items: -webkit-flex-start;
						-ms-align-items: -ms-flex-start;
						align-items: flex-start;
					}

						#footer > section.split.contact > section.alt > :last-child {
							margin-top: -0.325rem;
						}

		#footer form label,
		#footer h3,
		#footer p {
			font-size: 0.8rem;
		}

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

			#footer {
				display: block;
			}

				#footer > section {
					border-top: solid 2px #e2e2e2;
				}

					#footer > section:first-child {
						border-top: 0;
					}

					#footer > section.split > section {
						padding: 4rem 4rem 2rem 4rem ;
					}

						#footer > section.split > section:first-child {
							padding: 4rem 4rem 2rem 4rem ;
						}

						#footer > section.split > section:last-child {
							padding: 4rem 4rem 2rem 4rem ;
						}

					#footer > section.split.contact > section {
						padding: 4rem;
					}

						#footer > section.split.contact > section:first-child {
							padding: 4rem;
						}

						#footer > section.split.contact > section:last-child {
							padding: 4rem;
						}

				#footer form label,
				#footer h3,
				#footer p {
					font-size: 0.9rem;
				}

		}

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

			#footer > section {
				padding: 2rem 2rem 0.1rem 2rem ;
			}

				#footer > section.split > section {
					padding: 2rem 2rem 0.1rem 2rem ;
				}

					#footer > section.split > section:first-child {
						padding: 2rem 2rem 0.1rem 2rem ;
					}

					#footer > section.split > section:last-child {
						padding: 2rem 2rem 0.1rem 2rem ;
					}

				#footer > section.split.contact > section {
					padding: 2rem;
				}

					#footer > section.split.contact > section:first-child {
						padding: 2rem;
					}

					#footer > section.split.contact > section:last-child {
						padding: 2rem;
					}

		}

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

			#footer {
				width: 100%;
			}

		}

	#copyright {
		color: #ffffff;
		position: relative;
		color: rgba(255, 255, 255, 0.25);
		cursor: default;
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 0.8rem;
		font-weight: 900;
		letter-spacing: 0.075em;
		line-height: 1.5;
		text-align: center;
		text-transform: uppercase;
		margin: 4rem auto 8rem auto;
		width: calc(100% - 4rem);
		max-width: 72rem;
		z-index: 2;
	}

		#copyright input, #copyright select, #copyright textarea {
			color: #ffffff;
		}

		#copyright a {
			color: #ffffff;
			border-bottom-color: rgba(255, 255, 255, 0.5);
		}

			#copyright a:hover {
				border-bottom-color: transparent;
				color: #8e9ecb !important;
			}

		#copyright strong, #copyright b {
			color: #ffffff;
		}

		#copyright h1, #copyright h2, #copyright h3, #copyright h4, #copyright h5, #copyright h6 {
			color: #ffffff;
		}

		#copyright blockquote {
			border-left-color: #ffffff;
		}

		#copyright code {
			background: rgba(255, 255, 255, 0.075);
			border-color: #ffffff;
		}

		#copyright hr {
			border-bottom-color: #ffffff;
		}

		#copyright a {
			color: inherit;
			border-bottom-color: inherit;
		}

		#copyright ul {
			list-style: none;
			margin: 0;
			padding-left: 0;
		}

			#copyright ul li {
				border-left: solid 2px;
				display: inline-block;
				line-height: 1;
				margin-left: 1rem;
				padding-left: 1rem;
			}

				#copyright ul li:first-child {
					border-left: 0;
					margin-left: 0;
					padding-left: 0;
				}

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

			#copyright {
				margin: 4rem auto;
			}

		}

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

			#copyright ul li {
				border-left: 0;
				margin: 1rem 0 0 0;
				padding-left: 0;
				display: block;
			}

				#copyright ul li:first-child {
					margin-top: 0;
				}

		}

/* Nav Panel */

	#navPanelToggle {
		text-decoration: none;
		-moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		-ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
		display: none;
		position: fixed;
		top: 0.75rem;
		right: 0.75rem;
		border: 0;
		color: #ffffff;
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 0.9rem;
		font-weight: 900;
		letter-spacing: 0.075em;
		padding: 0.375rem 1.25rem;
		text-transform: uppercase;
		z-index: 10001;
	}

		#navPanelToggle:before {
			-moz-osx-font-smoothing: grayscale;
			-webkit-font-smoothing: antialiased;
			display: inline-block;
			font-style: normal;
			font-variant: normal;
			text-rendering: auto;
			line-height: 1;
			text-transform: none !important;
			font-family: 'Font Awesome 5 Free';
			font-weight: 900;
		}

		#navPanelToggle:before {
			content: '\f0c9';
			margin-right: 0.5rem;
		}

		#navPanelToggle.alt {
			background-color: rgba(255, 255, 255, 0.875);
			box-shadow: 0 0.125rem 0.75rem 0 rgba(30, 37, 45, 0.25);
			color: #212931;
		}

			#navPanelToggle.alt:hover {
				background-color: #ffffff;
			}

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

			#navPanelToggle {
				display: block;
			}

		}

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

			#navPanelToggle {
				font-size: 0.8rem;
				padding: 0.25rem 1rem;
			}

		}

	#navPanel {
		-moz-transform: translateX(20rem);
		-webkit-transform: translateX(20rem);
		-ms-transform: translateX(20rem);
		transform: translateX(20rem);
		-moz-transition: -moz-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
		-webkit-transition: -webkit-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
		-ms-transition: -ms-transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
		transition: transform 0.5s ease, box-shadow 0.5s ease, visibility 0.5s;
		display: none;
		-webkit-overflow-scrolling: touch;
		background: #ffffff;
		box-shadow: none;
		color: #212931;
		height: 100%;
		max-width: 80%;
		overflow-y: auto;
		padding: 3rem 2rem;
		position: fixed;
		right: 0;
		top: 0;
		visibility: hidden;
		width: 20rem;
		z-index: 10002;
	}

		#navPanel .links {
			list-style: none;
			padding-left: 0;
		}

			#navPanel .links li {
				border-top: solid 2px #eeeeee;
			}

				#navPanel .links li a {
					border-bottom: 0;
					display: block;
					font-family: "Source Sans Pro", Helvetica, sans-serif;
					font-size: 0.9rem;
					font-size: 0.9rem;
					font-weight: 900;
					letter-spacing: 0.075em;
					padding: 0.75rem 0;
					text-transform: uppercase;
				}

				#navPanel .links li:first-child {
					border-top: 0;
				}

		#navPanel .close {
			text-decoration: none;
			-moz-transition: color 0.2s ease-in-out;
			-webkit-transition: color 0.2s ease-in-out;
			-ms-transition: color 0.2s ease-in-out;
			transition: color 0.2s ease-in-out;
			-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
			border: 0;
			color: #909498;
			cursor: pointer;
			display: block;
			height: 3.25rem;
			line-height: 3.25rem;
			padding-right: 1.25rem;
			position: absolute;
			right: 0;
			text-align: right;
			top: 0;
			vertical-align: middle;
			width: 7rem;
		}

			#navPanel .close:before {
				-moz-osx-font-smoothing: grayscale;
				-webkit-font-smoothing: antialiased;
				display: inline-block;
				font-style: normal;
				font-variant: normal;
				text-rendering: auto;
				line-height: 1;
				text-transform: none !important;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
			}

			#navPanel .close:before {
				content: '\f00d';
				font-size: 1.25rem;
			}

			#navPanel .close:hover {
				color: #212931;
			}

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

				#navPanel .close {
					height: 4rem;
					line-height: 4rem;
				}

			}

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

			#navPanel {
				display: block;
			}

		}

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

			#navPanel {
				padding: 2.5rem 1.75rem;
			}

		}

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

		body.is-navPanel-visible #wrapper {
			opacity: 0.5;
		}

		body.is-navPanel-visible #navPanel {
			-moz-transform: translateX(0);
			-webkit-transform: translateX(0);
			-ms-transform: translateX(0);
			transform: translateX(0);
			box-shadow: 0 0 1.5rem 0 rgba(0, 0, 0, 0.2);
			visibility: visible;
		}

	}

/* --- Custom Side-by-Side Articles Layout --- */
.article-row {
    display: flex !important;
    gap: 20px;
    width: 100%;
}

.card {
    flex: 1;
    background-color: #ffffff;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
}	

/* --- Side-by-Side Photo and Text Layout (LARGE PHOTO OPTIMIZATION) --- */
.media-box {
    display: flex !important;          /* Aligns image and text side-by-side */
    flex-direction: row !important;
    align-items: flex-start !important; /* Aligns text top with the photo top */
    gap: 40px !important;              /* Generous breathing space between photo and text */
    background-color: #fff;            
    padding: 40px !important;          /* Increases container cushion padding */
    border-radius: 8px;     
    width: 100% !important;            /* Forces box to expand to the edges of the column */
    max-width: 100% !important;       
    box-sizing: border-box !important;
}

.media-img {
    width: 280px !important;           /* Restores a prominent, large image footprint */
    height: 340px !important;          /* Gives a professional tall portrait crop shape */
    flex-shrink: 0 !important;         /* CRITICAL: Protects photo from being crushed by text */
    object-fit: cover !important;      /* Auto-crops photo cleanly without distortion */
    border-radius: 6px !important;     
}

/* Forces the text area to expand across all remaining page space */
.media-box .media-text {
    flex-grow: 1 !important;           /* Stretches text box fully to the right edge */
    text-align: left !important;       
}

.media-text h2, .media-text h3 {
    margin: 0 0 15px 0 !important;     /* Clean gap below your "About me" title */
}

.media-text p {
    margin: 0 0 1.25rem 0 !important;  /* Restores perfect paragraph spacing split */
    font-size: 1rem !important;        
    line-height: 1.6 !important;       /* Comfortable reading space between lines */
}

/* --- MOBILE RESPONSIVE SWITCH --- */
@media screen and (max-width: 768px) {
    .media-box {
        flex-direction: column !important; /* Stacks image on top of text on phone screens */
        align-items: center !important;    
        padding: 25px !important;
        gap: 25px !important;
    }
    .media-img {
        width: 100% !important;            
        max-width: 220px !important;       /* Keeps mobile photo neat and balanced */
        height: auto !important;           /* Reverts to natural aspect ratio on mobile screens */
    }
}


/* Custom styles to force Ramia's button to stack elements vertically */
.text-and-arrow {
    display: inline-flex !important;
    flex-direction: column;   /* Stacks the text and icon vertically */
    align-items: center;      /* Centers both horizontally */
    justify-content: center;
    padding: 20px 40px !important; /* Expands the button area height and width */
    height: auto !important;  /* Overrides template height restrictions */
    line-height: 1.5 !important;
}

.custom-arrow {
    display: block !important;
    margin-top: 10px !important; /* Creates vertical separation space */
    margin-left: 0 !important;   /* Removes any template horizontal spacing */
}
/* Custom resizing for Ramia's specific collection article image */
.small-media {
    max-width: 100px !important; /* Sets the maximum width of the photo frame */
    margin-left: auto !important; /* Centers the smaller image container horizontally */
    margin-right: auto !important;
}

.small-media img {
    width: 100% !important;     /* Ensures the image fits perfectly inside the 200px frame */
    height: auto !important;    /* Keeps the picture proportions completely natural */
}

/* Custom resizing for Ramia's specific collection article image */
.medium-media {
    max-width: 110px !important; /* Sets the maximum width of the photo frame */
    margin-left: auto !important; /* Centers the smaller image container horizontally */
    margin-right: auto !important;
}

.medium-media img {
    width: 100% !important;     /* Ensures the image fits perfectly inside the 200px frame */
    height: auto !important;    /* Keeps the picture proportions completely natural */
}
/* ==========================================================================
   RAMIA'S PORTFOLIO: ALL LIGHT DESIGN (NO NAVY)
   ========================================================================== */

/* 1. The main backdrop wrapper (The space outside the article boxes) */
html, body, #wrapper, #wrapper.is-playing, body.is-preload #wrapper {
    background-color: #eef2f3 !important; /* Elegant light backdrop canvas */
    background-image: none !important;    /* Strips default dark gradient images */
}

/* 2. The Introduction Section background (Now a crisp light color!) */
#intro {
    background-color: #f8fafc !important; /* Clean modern off-white background */
    background-image: none !important;
}

/* Specific text alignment rules for just the Intro area */
#intro h1, #intro h1 span, #intro h1 strong, #intro h1 br + font {
    color: #1e252d !important;            /* Crisp dark charcoal for your name */
    -webkit-text-fill-color: #1e252d !important;
}

#intro p {
    color: #475569 !important;            /* Clean dark slate text for your data description */
    -webkit-text-fill-color: #475569 !important;
}

/* 3. THE ARTICLE MAIN AREA PAGES (Fixes light-text-on-light-background bug) */
#main, .main, #main .inner, #main > .inner, section, article {
    background-color: #ffffff !important; /* Pure white background for your content boxes */
    background-image: none !important;
}

/* Target elements inside the main content wrapper safely without touching #intro */
#main h1, #main h2, #main h3, #main h4, .posts h2, .posts h3 {
    color: #1e252d !important;            /* Dark headline fonts inside article bodies */
    -webkit-text-fill-color: #1e252d !important;
}

#main p, #main li, .posts p, article p, .main p {
    color: #475569 !important;            /* Dark reading font for all article body paragraphs */
    -webkit-text-fill-color: #475569 !important;
}

/* 4. KEEP TEMPLATE UTILITY LINK BUTTONS FUNCTIONAL */
#main a.button, #intro a.button, .btn, button {
    color: inherit;
    -webkit-text-fill-color: initial !important; /* Allows buttons to use their styled colors */
}

/* --- Fix Light Text Inside the Fade-In Wrapper --- */
#wrapper.fade-in, 
#wrapper.fade-in *, 
#wrapper.fade-in p, 
#wrapper.fade-in h1, 
#wrapper.fade-in h2 {
    color: #1e252d !important; /* Forces all elements inside the animated wrapper to use dark charcoal */
    -webkit-text-fill-color: #1e252d !important; /* Breaks through template text gradient overlays */
}

/* Keeps paragraph descriptions slightly softer for comfortable reading */
#wrapper.fade-in p, 
#wrapper.fade-in article p {
    color: #475569 !important; 
    -webkit-text-fill-color: #475569 !important;
}
/* ==========================================================================
   RAMIA'S PORTFOLIO: LOCK LIGHT BACKGROUND ON SCROLL 
   ========================================================================== */

/* 1. Prevents the background wrapper from turning dark when scrolling */
#wrapper, #wrapper.is-playing, #wrapper > .bg {
    background-color: #eef2f3 !important;
    background-image: none !important;
}

/* 2. Forces the main article section to STAY clean white on scroll */
#main, 
.posts, 
section.posts,
#main:after,
#main:before {
    background-color: #ffffff !important;
    background-image: none !important;
    opacity: 1 !important; /* Prevents the template from fading it to dark gray */
}

/* 3. Locks text contrast for scrolling elements */
#main *, .posts * {
    color: #1e252d !important; /* Keeps article text crisp charcoal during scroll events */
}

#main p, .posts p, article p {
    color: #475569 !important; /* Keeps descriptions soft dark slate */
}
/* ==========================================================================
   RAMIA'S PORTFOLIO: ELIMINATE DARK FLASH ON PAGE TRANSITIONS (FIXED)
   ========================================================================== */

/* 1. Changes the background color during the instant the page is loading */
body.is-preload, 
body.is-preload #wrapper, 
body.is-preload #main,
body.is-preload #main .inner {
    background-color: #eef2f3 !important; 
    background-image: none !important;
}

/* 2. Forces text colors to stay dark and visible without hiding them via opacity */
body.is-preload h1, 
body.is-preload h2, 
body.is-preload p,
body.is-preload #main * {
    color: #1e252d !important;
    -webkit-text-fill-color: #1e252d !important;
    opacity: 1 !important; /* Fixed from 0 to 1 so text never turns invisible */
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: MASTER GENERIC & UTILITY FIXED RE-OVERRIDE
   ========================================================================== */

/* Overwrites the native theme canvas directly at the root level */
:root {
    background-color: #eef2f3 !important;
}

/* Erases dark color memory profiles from the template's loading animation blocks */
.is-preload :after, 
.is-preload :before,
#wrapper:after,
#wrapper:before {
    background-color: #eef2f3 !important;
    background-image: none !important;
}

/* Absolute fallback: Forces every single element inside generic main sections to go dark */
#main.alt, 
#main.alt *, 
body.is-article #main,
body.is-article #main * {
    color: #1e252d !important;
    -webkit-text-fill-color: #1e252d !important;
    opacity: 1 !important;
}

/* Keeps secondary paragraphs easy to read on generic pages */
#main.alt p, 
body.is-article p {
    color: #475569 !important;
    -webkit-text-fill-color: #475569 !important;
}
/* ==========================================================================
   RAMIA'S PORTFOLIO: FIXED TOP NAV BAR & HEADER SOCIAL ICONS
   ========================================================================== */

/* 1. Sets the nav bar background block to white and text to dark charcoal */
#nav, 
#nav ul, 
#nav li, 
#nav a {
    background-color: #ffffff !important; /* Clean white navigation bar background */
    color: #1e252d !important;             /* Sharp dark text for page links */
    -webkit-text-fill-color: #1e252d !important;
}

/* 2. Forces the social icons inside the nav bar to turn dark slate */
#nav ul.icons a, 
#nav .icons a, 
#nav .icons a:before,
#nav .icon {
    color: #475569 !important;             /* Professional dark slate color for social icons */
    -webkit-text-fill-color: #475569 !important;
    border-bottom: 0 !important;           /* Removes any default template underline styling */
}

/* 3. Changes text and social icons to dark blue when you hover over them */
#nav a:hover, 
#nav ul.icons a:hover, 
#nav .icons a:hover:before {
    color: #1e3c72 !important;             /* Modern dark blue accent on hover */
    -webkit-text-fill-color: #1e3c72 !important;
    background-color: #eef2f3 !important; /* Soft gray background highlight on hover */
}

/* 4. Ensures the active tab link remains perfectly visible and highlighted */
#nav ul li.active a {
    background-color: #eef2f3 !important;
    color: #1e3c72 !important;
    -webkit-text-fill-color: #1e3c72 !important;
    font-weight: bold !important;
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: LIGHT BUTTON-STYLE BORDER FOR LOGO TEXT
   ========================================================================== */

/* Targets the header logo border frame on generic pages */
#header .logo,
a.logo {
    color: #1e252d !important;             /* Keeps your logo text dark charcoal */
    -webkit-text-fill-color: #1e252d !important;
    border: 2px solid #cbd5e1 !important;  /* Soft, light slate gray border to match standard buttons */
    border-radius: 4px !important;         /* Matches your template's button corner curves */
    padding: 10px 20px !important;         /* Ensures button padding is uniform */
    display: inline-block !important;
}

/* Enhances the border color when a user hovers over the logo button */
#header .logo:hover,
a.logo:hover {
    color: #1e3c72 !important;             /* Changes text to dark blue on hover */
    -webkit-text-fill-color: #1e3c72 !important;
    border-color: #1e3c72 !important;      /* Changes border frame to dark blue on hover */
    background-color: #eef2f3 !important; /* Optional: adds a subtle soft background light-up */
}
/* ==========================================================================
   RAMIA'S PORTFOLIO: MATCHING LIGHT BORDER FOR GET IN TOUCH BUTTON (NO SHADOW)
   ========================================================================== */

/* Overrides the main Intro action button layout to match your clean logo button */
#intro a.button.text-and-arrow,
.text-and-arrow {
    color: #1e252d !important;             /* Keeps the text crisp dark charcoal */
    -webkit-text-fill-color: #1e252d !important;
    border: 2px solid #cbd5e1 !important;  /* The exact same light border frame used on the logo */
    border-radius: 4px !important;         /* Smooth, matching button corner curvature */
    background-color: transparent !important; /* Clean transparent canvas fill */
    box-shadow: none !important;           /* REMOVES the native template blue box shadow */
    transition: all 0.3s ease !important;  /* Smooth color fade when cursor moves over it */
}

/* Coordinates the hover response animation */
#intro a.button.text-and-arrow:hover,
.text-and-arrow:hover {
    color: #1e3c72 !important;             /* Turns text dark blue on hover */
    -webkit-text-fill-color: #1e3c72 !important;
    border-color: #1e3c72 !important;      /* Elegant dark blue highlight border frame on hover */
    background-color: #eef2f3 !important; /* Soft gray light-up background accent */
    box-shadow: none !important;           /* REMOVES the blue shadow glow during hover actions */
}



/* ==========================================================================
   RAMIA'S PORTFOLIO: TYPOGRAPHY LETTER-CASE STYLING
   ========================================================================== */

/* 1. MAIN TITLE (h1): Force ALL UPPERCASE Letters */
h1 {
    text-transform: uppercase !important;   /* RAMIA ISMAIL / DATA ANALYST */
    letter-spacing: 2px !important;         /* Spreads letters out for a premium title look */
}

/* 2. SUBTITLES & CARDS (h2): Only Capitalize the First Letter of Each Word */
h2 {
    text-transform: capitalize !important;  /* "Collect", "About Me", "My Services" */
    letter-spacing: 0.5px !important;
}

/* 3. SMALLER SECTIONS (h3): Normal text case (Standard typing structure) */
h3 {
    text-transform: none !important;        /* Keeps text looking exactly how you typed it in HTML */
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: PORTFOLIO SECTION HEADER CENTERING
   ========================================================================== */

/* Centers the major portfolio text header and descriptions on the screen */
header.major, 
.main > header.major,
#main > header.major {
    text-align: center !important;  /* Centers all text elements horizontally */
    margin-left: auto !important;   /* Aligns the container box itself */
    margin-right: auto !important;  /* Centers layout elements within the grid */
    width: 100% !important;         /* Spans full content box track width */
}

/* Removes any default left alignment margins on header titles */
header.major h1, 
header.major h2,
header.major h3, 
header.major p {
    text-align: center !important;  /* Hardlocks alignment parameters */
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: ARTICLE HEADING ALIGNMENT HELPERS (h3)
   ========================================================================== */

/* Apply this class to the article tag or h3 tag to CENTER the heading */
.header-center h3,
h3.header-center {
    text-align: center !important;
    width: 100% !important;
    display: block !important;
}

/* Apply this class to the article tag or h3 tag to LEFT-align the heading */
.header-left h3,
h3.header-left {
    text-align: left !important;
    width: auto !important;
    display: block !important;
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: INTERACTIVE REVEAL PHANTOM CARDS
   ========================================================================== */

/* 1. Base container card layout */
.phantom-card {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 6px !important;
    margin-bottom: 20px !important;
    padding: 20px !important;
    width: 100%;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

/* Adds a subtle lift and highlight color when hovering over the card */
.phantom-card:hover {
    border-color: #1e3c72 !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}

/* 2. Style the clickable heading header */
.phantom-card summary {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    cursor: pointer;
    font-weight: bold;
    color: #1e252d !important;
    outline: none;
    list-style: none; /* Removes the browser's default ugly small triangle arrow */
}

/* Removes standard summary arrow marker in Safari browsers */
.phantom-card summary::-webkit-details-marker {
    display: none;
}

.summary-title {
    font-size: 1.2rem;
    color: #1e252d !important;
}

.arrow-toggle {
    color: #475569 !important;
    transition: transform 0.3s ease; /* Enables smooth arrow spinning action */
}

/* 3. ARROW ROTATION EFFECT WHEN CLICKED AND OPENED */
.phantom-card[open] .arrow-toggle {
    transform: rotate(180deg); /* Flips the arrow upside down when text is revealed */
    color: #1e3c72 !important;
}

/* 4. Revealed content interior padding box tracking */
.phantom-content {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e2e8f0;
    animation: fadeInReveal 0.4s ease-out; /* Smoothly fades the text into view */
}

/* Smooth fade-in animation rule */
@keyframes fadeInReveal {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: 3D CARD FLIP ON HOVER ENGINES
   ========================================================================== */

/* 1. Sets the boundaries and activates 3D structural perspective depth */
.flip-card-container {
    background-color: transparent;
    width: 100%;
    height: 350px;             /* Explicit height framework for your card layout */
    perspective: 1000px;       /* Crucial: Lower numbers create intense 3D warping effects */
    margin-bottom: 20px;
}

/* 2. The inner box track that physically rotates 180 degrees */
.flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1); /* Ultra-smooth physics transition curve */
    transform-style: preserve-3d; /* Tells child blocks to maintain their distinct Z-depth layers */
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
    border-radius: 8px;
}

/* TRIGGER THE SPIN: Rotates the interior block 180 degrees horizontally upon mouse hover */
.flip-card-container:hover .flip-card-inner {
    transform: rotateY(180deg);
}

/* 3. Global shared setup parameters for BOTH front and back card templates */
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Hides the reverse side elements during rotation cycles */
    backface-visibility: hidden;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    overflow: hidden;
}

/* 4. THE FRONT FACE (Holds your full structural image layer) */
.flip-card-front {
    background-color: #ffffff;
}

.flip-card-front img {
    width: 100%;
    height: 100%;
    object-fit: cover;         /* Clean frame cropping wrapper */
    display: block;
}

/* 5. THE BACK FACE (Pre-mirrored 180 degrees so it faces forward after the flip) */
.flip-card-back {
    background-color: #ffffff !important; /* Clean white canvas background for the revealed profile text */
    padding: 30px 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;   /* Center all vertical texts perfectly */
    align-items: center;
    transform: rotateY(180deg); /* Crucial: Pre-rotates back text so it isn't backward when revealed */
}

/* Style adjustments for text inside the flipped card */
.flip-card-back h3 {
    color: #1e3c72 !important;
    margin: 0 0 10px 0 !important;
    font-size: 1.4rem !important;
}

.flip-card-back p {
    color: #475569 !important;
    font-size: 0.95rem !important;
    line-height: 1.5 !important;
    margin-bottom: 20px !important;
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: SIDE-BY-SIDE FADE CARDS ON HOVER
   ========================================================================== */

/* ==========================================================================
   RAMIA'S PORTFOLIO: FULLY CLICKABLE ROW FADE CARDS (NO BUTTONS)
   ========================================================================== */

/* 1. Forces exactly 3 equal-width columns in one single horizontal track */
.fade-grid-layout {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* Locks into 3 cards per line */
    gap: 20px !important;            /* Clean spatial gaps between cards */
    width: 100% !important;
    max-width: 1200px !important;
    margin: 30px auto !important;    /* Centers the entire layout on screen */
    box-sizing: border-box;
}

/* 2. New Link Wrapper: Prevents the template from adding default text decoration underlines */
.fade-card-link {
    text-decoration: none !important;
    border-bottom: none !important;  /* Removes HTML5 UP standard link underlines */
    display: block !important;
    width: 100% !important;
}

/* 3. Individual card container */
.fade-card {
    position: relative !important;   /* Anchors the text overlay block inside it */
    height: 340px !important;        /* Balanced medium height for 3-column data look */
    border-radius: 8px !important;
    overflow: hidden !important;     /* Clips anything that pushes past the corners */
    border: 1px solid #cbd5e1 !important;
    background-color: #1e252d !important;
}

/* 4. The Project Photo */
.fade-card-img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;    /* Keeps image layout natural without squishing */
    transition: opacity 0.5s ease, transform 0.5s ease !important; /* Smooth animation triggers */
    opacity: 1;
}

/* 5. The Hidden Text Overlay Layer */
.fade-card-overlay {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background-color: rgba(255, 255, 255, 0.95) !important; /* Clean white canvas background layer */
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    opacity: 0 !important;           /* Hides text text box layout completely by default */
    transition: opacity 0.5s ease !important; /* Enables smooth fade-in action */
    padding: 20px !important;
    box-sizing: border-box;
}

/* 6. HOVER TRIGGERS (What happens when your mouse enters the card link) */
.fade-card-link:hover .fade-card-img {
    opacity: 0.1 !important;         /* Fades the photo down */
    transform: scale(1.03) !important; /* Subtle photo zoom */
}

.fade-card-link:hover .fade-card-overlay {
    opacity: 1 !important;           /* Smoothly fades your text descriptions fully into view */
}

/* 7. Typography adjustments for the text appearing */
.fade-card-text {
    text-align: center !important;
    width: 100%;
}

.fade-card-text h3 {
    color: #1e3c72 !important;       /* Modern dark blue title font */
    margin: 0 0 10px 0 !important;
    font-size: 1.3rem !important;
}

.fade-card-text p {
    color: #475569 !important;       /* Clean dark slate font for descriptions */
    font-size: 0.9rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;            /* Removes empty space since button is gone */
}

/* --- MOBILE RESPONSIVE SAFETY CHECK --- */
@media screen and (max-width: 768px) {
    .fade-grid-layout {
        grid-template-columns: 1fr !important; /* Stacks to 1 column on phone viewports */
    }
    .fade-card {
        height: 360px !important;
    }
}



/* ==========================================================================
   RAMIA'S PORTFOLIO: HEADLINE TEXT RESIZING & TIGHTENING
   ========================================================================== */

/* Overrides the massive 4rem template title into a sleek desktop layout */
h1 {
    font-size: 2.2rem !important;    /* Shrinks the letter scale down cleanly */
    line-height: 1.2 !important;     /* Adds a tiny bit of breathing room between your name lines */
    margin: 0 0 1rem 0 !important;   /* Cuts the massive bottom margin gap in half so your text sits closer */
    font-weight: 800 !important;     /* Keeps your name crisp, dark, and beautifully bold */
    text-transform: uppercase !important;
}


/* ==========================================================================
Change the font 
==========================================================================*/

/* 1. Paste this download link at the VERY TOP of your main.css file */
@import url('https://googleapis.com');

/* 2. Paste this rule at the VERY BOTTOM of your main.css file */
h1, h2, h3, h4, h5, h6, h1 *, h2 *, h3 *, .logo {
    font-family: 'Inter', Tahoma, sans-serif !important; /* Inter is first! */
    font-weight: 700 !important;
    letter-spacing: 0.5px !important;
}


/* ==========================================================================
   RAMIA'S PORTFOLIO: HORIZONTAL FILTER MENU BAR FOR SUB-PAGES
   ========================================================================== */

/* 1. Outermost container box to handle global alignment */
.portfolio-menu-wrapper {
    width: 100% !important;
    max-width: 1000px !important;
    margin: 0 auto 50px auto !important; /* Generates a clean 50px gap below the menu */
    padding: 0 20px;
    box-sizing: border-box;
}

/* 2. Horizontal list layout engine */
.portfolio-filter-menu {
    list-style-type: none !important; /* Completely strips template bullet points */
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;          /* Lines the 5 items up side-by-side */
    flex-wrap: wrap !important;        /* Allows soft wrapping on smaller tablets */
    justify-content: center !important;/* Centers the entire line layout block on screen */
    gap: 12px !important;              /* Tight, uniform spacing between buttons */
}

/* 3. Individual filter navigation menu button styling */
.portfolio-filter-menu li {
    padding: 0 !important;
    margin: 0 !important;
}

.portfolio-menu-btn {
    display: inline-block !important;
    color: #1e252d !important;             /* Sharp dark charcoal text color */
    -webkit-text-fill-color: #1e252d !important;
    border: 2px solid #cbd5e1 !important;  /* Matches your light homepage button frames exactly */
    border-radius: 4px !important;         /* Smooth button corner curves */
    padding: 10px 20px !important;         /* Balanced horizontal sizing */
    font-size: 0.9rem !important;
    font-weight: bold !important;
    text-transform: capitalize !important; /* Clean word-level capitalization formatting */
    text-decoration: none !important;
    box-shadow: none !important;           /* Blocks default template blue shadow glows */
    transition: all 0.3s ease !important;  /* Smooth fade-in hover timings */
}

/* 4. Active cursor hover response matching your theme */
.portfolio-menu-btn:hover {
    color: #1e3c72 !important;             /* Text lights up corporate dark blue */
    -webkit-text-fill-color: #1e3c72 !important;
    border-color: #1e3c72 !important;      /* Border highlights dark blue */
    background-color: #eef2f3 !important; /* Soft gray light-up canvas fill */
    box-shadow: none !important;
}

/* --- MOBILE SAFETY VIEWPORT COMPRESSOR --- */
@media screen and (max-width: 600px) {
    .portfolio-filter-menu {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important; /* Folds into a neat 2-column grid row layout on phones */
        gap: 8px !important;
    }
    .portfolio-menu-btn {
        text-align: center !important;
        width: 100% !important;
        padding: 12px 10px !important;     /* Compact padding tracking matrix on narrow touch viewports */
    }
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: PERFECTLY CENTERED ACTIVE FILTER BUTTONS
   ========================================================================== */

/* 1. Sets up the main button container layout and alignment parameters */
.portfolio-filter-menu li button,
.portfolio-menu-btn {
    display: inline-flex !important;
    align-items: center !important;        /* Perfect vertical centering */
    justify-content: center !important;     /* Perfect horizontal centering */
    text-align: center !important;
    height: 44px !important;                /* Strict uniform height for all buttons */
    line-height: normal !important;         /* Removes hidden template line-height offsets */
    color: #1e252d !important;              /* Default dark charcoal text color */
    -webkit-text-fill-color: #1e252d !important;
    border: 2px solid #cbd5e1 !important;
    background-color: transparent !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

/* 2. Locks the HIGHLIGHTED / CLICKED active state to crisp white text on a dark blue background */
.portfolio-menu-btn.active-filter,
.portfolio-menu-btn.active-filter:focus,
.portfolio-menu-btn.active-filter:active {
    background-color: #eaedf1 !important;   /* Premium corporate dark blue background */
    border-color: #ffffff !important;
    color: #ffffff !important;               /* FORCES text to stay bright white after clicking */
    -webkit-text-fill-color: #ffffff !important;
    box-shadow: none !important;
    outline: none !important;
}

/* 3. Smooth hover response track before clicking */
.portfolio-menu-btn:hover {
    color: #1e3c72 !important;
    -webkit-text-fill-color: #1e3c72 !important;
    border-color: #1e3c72 !important;
    background-color: #eef2f3 !important;   /* Soft gray light-up canvas fill */
}

/* ==========================================================================
   RAMIA'S PORTFOLIO: COLLAPSIBLE 2-COLUMN LAYOUT WITHOUT EMPTY FILTER GAPS
   ========================================================================== */

/* 1. Sets up a flexible row system that collapses empty white spaces instantly */
.sub-projects-grid {
    display: flex !important;
    flex-wrap: wrap !important;      /* Allows cards to wrap down to the next row */
    gap: 30px !important;            /* Adds uniform space between columns and rows */
    width: 100% !important;
    max-width: 1100px !important;    /* Keeps layout crisp and elegant on wide screens */
    margin: 40px auto !important;    /* Centers the entire block on your screen */
    box-sizing: border-box;
    height: auto !important;         /* Collapses empty container space dynamically */
}

/* 2. Forces visible cards to lock side-by-side into exactly TWO clean columns */
.sub-projects-grid .sub-project-card {
    background-color: #ffffff !important;
    border: 1px solid #cbd5e1 !important;
    border-radius: 8px !important;
    padding: 25px !important;
    box-sizing: border-box;
    display: flex !important;
    flex-direction: column !important; /* Stacks layout elements vertically in a line */
    width: calc(50% - 15px) !important; /* Keeps your perfect 2 cards per line design */
    height: auto !important;           /* Allows cards to grow naturally based on text size */
}

/* 3. Header styling at the very top */
.sub-project-header {
    margin-bottom: 15px !important;   /* Spacing between the title and the photo */
    width: 100% !important;
}

.sub-project-header h3, 
.sub-project-header h3 a {
    color: #1e3c72 !important;       /* Crisp corporate dark blue heading */
    font-size: 1.25rem !important;
    font-weight: 700 !important;
    margin: 0 !important;
    text-align: center !important;   /* Centers the title perfectly over your photo */
}

/* 4. Photo styling in the middle */
.sub-project-image {
    width: 100% !important;
    height: 200px !important;        /* Uniform medium height for your data graphics */
    overflow: hidden !important;
    border-radius: 6px !important;   /* Softens image corners slightly */
    margin-bottom: 20px !important;  /* Spacing between the photo and the description text */
}

.sub-project-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;    /* Auto-crops your photo frames cleanly without squishing */
}

/* 5. Body text container under the photo and button alignment engine */
.sub-project-body {
    display: flex !important;
    flex-direction: column !important;
    flex-grow: 1 !important;         /* Stretches container to match your card heights */
}

.sub-project-body p {
    color: #475569 !important;       /* Balanced dark slate color for readable text */
    font-size: 0.95rem !important;
    line-height: 1.6 !important;
    margin-bottom: 20px !important;
    flex-grow: 1 !important;         /* Absorbs empty height space so buttons align straight */
    text-align: left !important;     /* Leaves reading paragraph clean and left-aligned */
}

/* ==========================================================================
   THE GAP KILLER: REMOVES PHYSICAL FOOTPRINT OF HIDDEN PIECES
   ========================================================================== */
.sub-projects-grid .sub-project-card.hidden,
.sub-projects-grid .sub-project-card[hidden] {
    display: none !important;        /* Completely erases the card layout boundary */
    visibility: hidden !important;
    position: absolute !important;   /* Pulls card entirely out of row calculations */
    width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
}

/* Fallback: Automatically stacks cards into one single column on mobile phone screens */
@media screen and (max-width: 768px) {
    .sub-projects-grid .sub-project-card {
        width: 100% !important;      
    }
}


/* --- BUTTONS BASELINE ALIGNMENT --- */
/* Snaps your Full Story buttons into a matching horizontal line across both cards */
.sub-project-body .actions {
    margin-top: auto !important;     /* Hardlocks buttons to the bottom row baseline */
    display: flex !important;
    justify-content: center !important; /* Centers the button under your text description */
}

/* --- MOBILE RESPONSIVE SAFETY CHECK (UPDATED TO FLEXBOX) --- */
@media screen and (max-width: 768px) {
    /* 1. Tell the container to stay fluid on mobile devices */
    .sub-projects-grid {
        display: flex !important;
        flex-direction: column !important; /* Stacks the cards single-file */
        gap: 20px !important;
    }
    
    /* 2. Forces each card to occupy the full width of the mobile screen */
    .sub-projects-grid .sub-project-card {
        width: 100% !important;
    }
}




/* ==========================================================================
   ENGINE 1: RAMIA'S ORIGINAL FAST 5-CARD GRID 
   ========================================================================== */

/* Target Name: .cards-grid-fast */
.cards-grid-fast {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
    gap: 25px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 30px auto !important;
    box-sizing: border-box;
}

.cards-grid-fast .flip-card-container {
    height: 380px !important;
    perspective: 1000px;
}

/* Fast 0.6s rotation speed tracking */
.cards-grid-fast .flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1) !important; /* FAST SPIN */
    transform-style: preserve-3d;
    box-shadow: 0 4px 8px rgba(0,0,0,0.05);
    border-radius: 8px;
}

.cards-grid-fast .flip-card-container:hover .flip-card-inner {
    transform: rotateY(180deg);
}

/* Fast Card Front Image Cropping (Cover) */
.cards-grid-fast .flip-card-front img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important; /* Auto-crops to fill the space completely */
    display: block;
}


/* ==========================================================================
   ENGINE 2: RAMIA'S NEW SLOW 6-CARD GRID (3 PER ROW / REPORT STYLE)
   ========================================================================== */

/* Target Name: .cards-grid-report */
.cards-grid-report {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important; /* Strictly locks 3 per row */
    gap: 30px !important;
    width: 100% !important;
    max-width: 1200px !important;
    margin: 40px auto !important;
    box-sizing: border-box;
}

.cards-grid-report .flip-card-container {
    height: 400px !important; /* Taller framework for report aspect ratios */
    perspective: 1000px;
}

/* Cinema-style slower 1.2s rotation speed tracking */
.cards-grid-report .flip-card-inner {
    position: relative;
    width: 100%;
    height: 100%;
    text-align: center;
    transition: transform 1.2s cubic-bezier(0.4, 0, 0.2, 1) !important; /* SLOW CINEMATIC SPIN */
    transform-style: preserve-3d;
    box-shadow: 0 4px 12px rgba(0,0,0,0.06);
    border-radius: 8px;
}

.cards-grid-report .flip-card-container:hover .flip-card-inner {
    transform: rotateY(180deg);
}

/* Slow Card Front Image Containment (Fits entire report sheet) */
.cards-grid-report .flip-card-front {
    background-color: #f8fafc;
    padding: 10px;
    box-sizing: border-box;
}

.cards-grid-report .flip-card-front img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important; /* Fits full report cover page without cropping */
    display: block;
}


/* ==========================================================================
   SHARED MECHANICAL UTILITIES FOR BOTH 3D ENGINES
   ========================================================================== */
.flip-card-front, .flip-card-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: 8px;
    border: 1px solid #cbd5e1;
    overflow: hidden;
}

.flip-card-back {
    background-color: #ffffff !important;
    padding: 30px 20px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transform: rotateY(180deg);
}

.flip-card-back h3 { color: #1e3c72 !important; margin: 0 0 12px 0 !important; font-size: 1.3rem !important; font-weight: 700 !important; }
.flip-card-back p { color: #475569 !important; font-size: 0.95rem !important; line-height: 1.6 !important; margin-bottom: 25px !important; }

@media screen and (max-width: 768px) {
    .cards-grid-fast, .cards-grid-report { grid-template-columns: 1fr !important; gap: 20px !important; }
}

/* ==========================================================================
   adding small Text size for Paragraphs
   ========================================================================== */

/* CSS */
.small-text {
  font-size: 12px; /* Fixed size approach */
}


/* ========================================================================== 
--- MASSIVELY COMPATIBLE CAROUSEL OVERRIDES --- 
==========================================================================*/
.massively-carousel-fix {
  margin: 2rem 0 !important;
  width: 100% !important;
  clear: both;
}

.carousel-wrapper {
  max-width: 100% !important;
  margin: 0 auto;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 4px;
  background-color: #1e252f; /* Matches template contrast */
}

.carousel-container {
  display: flex !important;
  position: relative !important;
  width: 100% !important;
  height: 450px !important; /* Forces the box container shape */
}

.slide-card {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  opacity: 0 !important;
  transition: opacity 0.8s ease-in-out !important;
  z-index: 1 !important;
}

.slide-card.active {
  opacity: 1 !important;
  z-index: 2 !important;
}

/* Overriding Massively's global image rendering */
.slide-card img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important; 
  display: block !important;
  margin: 0 !important;
}

/* Caption box alignment overlay */
.slide-text {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  width: 100% !important;
  background: rgba(234, 229, 229, 0.858) !important;
  color: #ffffff !important;
  padding: 25px !important;
  box-sizing: border-box !important;
  z-index: 3 !important;
}

.slide-text h3 {
  color: #ffffff !important;
  margin: 0 0 5px 0 !important;
  font-family: inherit;
}

.meta-data {
  margin: 0 !important;
  font-size: 0.85rem !important;
  color: #b5b5b5 !important;
}

/* Prevents Massively's general button hover scaling styles from glitching arrows */
button.carousel-arrow {
  position: absolute !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  background: rgba(239, 235, 235, 0.6) !important;
  color: #ffffff !important;
  border: none !important;
  box-shadow: none !important;
  height: auto !important;
  line-height: 1 !important;
  padding: 15px 20px !important;
  font-size: 1.25rem !important;
  cursor: pointer !important;
  z-index: 10 !important; 
  border-radius: 4px !important;
  transition: background 0.2s !important;
}

button.carousel-arrow:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
}

.prev-btn { left: 15px !important; }
.next-btn { right: 15px !important; }




/* --- TARGETING THE MEDIA BOX COMPONENT --- */
.media-box.light-purple {
    background-color: #e6effa !important; /* Elegant blue */
    padding: 2.5rem !important;           /* Generous spacing around text and image */
    border-radius: 6px !important;        /* Clean, rounded card design */
    margin-bottom: 2rem !important;       /* Space before the button appears */
}

/* Forces readability for all text elements inside the purple box */
.media-box.light-purple h2 a,
.media-box.light-purple p,
.media-box.light-purple strong {
    color: #1e252f !important;            /* Dark slate text color for reading comfort */
}

/* Hover effect for the heading link */
.media-box.light-purple h2 a:hover {
    color: #306285 !important;            /* Rich deep purple on hover */
    border-bottom-color: #306285 !important;
}




/* --- CUSTOM LIGHT Gray SECTION STYLE --- */
section.gray-section {
    background-color: #f0f4f5 !important; /* Elegant Lavender Purple */
    padding: 3rem 2rem !important;        /* Adds space inside the box so text looks clean */
    border-radius: 4px !important;        /* Matches the template's soft corners */
    margin-bottom: 2rem !important;       /* Adds breathing room below the section */
}

/* Fixes text color contrast inside the gray box if needed */
section.gray-section h2 a,
section.gray-section p,
section.gray-section strong {
    color: #1e252f !important;            /* Dark slate gray text for excellent readability */
}

/* Keeps the link heading looking like a clickable title */
section.gray-section h2 a:hover {
    color: #f0f4f5 !important;            /* Changes to a deeper purple when hovered */
    border-bottom-color: #f0f4f5 !important;
}

/* --- CUSTOM BUTTON BORDERS AND EDGES --- */
input[type="submit"],
input[type="reset"],
input[type="button"],
.button {
    /* 1. Size & Color: Set thickness (2px), style (solid), and color */
    border: 1px solid #8e9ecb !important; 
    
    /* 2. Edges: Higher numbers make it more rounded (0 = square, 30px = pill) */
    border-radius: 8px !important; 
    
    /* 3. Background Fix: Ensures the background fits perfectly inside the new borders */
    background-color: transparent !important;
    box-shadow: none !important;
}

/* Optional: Button Hover State Style */
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:hover {
    background-color: #eff0f4 !important; /* Fills button with color on hover */
    color: #ffffff !important;             /* Changes text to white on hover */
    border-color: #8e9ecb !important;
}

/* ==========================================================================
   HTML5 UP MASSIVELY - CUSTOM SWIPE CAROUSEL FOR PORTFOLIO
   ========================================================================== */

/* 1. Fix Desktop Overrides (Keeps your 5 items sitting side-by-side cleanly) */
#main .article-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  gap: 25px !important;
  margin: 0 0 2rem 0 !important;
}

#main .article-row article {
  flex: 1 1 0% !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important; /* Clears Massively's automatic grid margins */
  padding: 1.5rem !important;
  border-left: none !important;
}

/* 2. Mobile Responsive Carousel Engine */
@media screen and (max-width: 768px) {
  #main .article-row {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    overflow-x: auto !important;    /* Enables horizontal finger swipe */
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    -webkit-overflow-scrolling: touch !important; /* Smooth swiping on iOS */
    padding-bottom: 25px !important; /* Space so scrollbar doesn't clip text */
    margin-bottom: 1rem !important;
  }

  #main .article-row article {
    flex: 0 0 82% !important;       /* Shows 82% of card, 18% reveals next card hint */
    width: 82% !important;
    max-width: 82% !important;
    scroll-snap-align: start !important; /* Snaps card perfectly to screen edge */
    display: block !important;
    padding: 1rem !important;
  }

  /* Force description text inside cards to wrap downwards instead of breaking */
  #main .article-row article p.small-text {
    white-space: normal !important;
    word-wrap: break-word !important;
  }

  /* TARGETS ONLY IMAGES INSIDE THE PORTFOLIO CAROUSEL CONTAINER */
  #main .article-row article .image.small-media img,
  #main .article-row article .image.medium-media img {
    width: 100% !important;
    height: auto !important;        /* Keeps the picture proportions natural */
    object-fit: contain !important; /* Ensures no cropping happens */
  }

  /* Adjusts frame sizes slightly for mobile screens so they fit beautifully */
  #main .article-row article .small-media {
    max-width: 120px !important;    
  }
  #main .article-row article .medium-media {
    max-width: 130px !important;
  }
}

/* ==========================================================================
   HTML5 UP MASSIVELY - CUSTOM STACK FOR 2-ITEM SERVICES ROW
   ========================================================================== */

/* 1. Desktop Layout Support */
#main .services-row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important; /* Centers the two desktop cards nicely */
  gap: 30px !important;
}

#main .services-row article {
  flex: 1 !important;
  max-width: 45% !important; /* Keeps the two items perfectly proportioned on desktop */
}

/* 2. Mobile Layout Support (Forces a clean vertical stack instead of a swipe) */
@media screen and (max-width: 768px) {
  #main .services-row {
    display: flex !important;
    flex-direction: column !important; /* Stacks the 2 items vertically on phones */
    overflow-x: hidden !important;     /* Disables horizontal swipe for this section */
    scroll-snap-type: none !important;
    gap: 25px !important;
  }

  #main .services-row article {
    flex: 0 0 100% !important;
    width: 100% !important;
    max-width: 100% !important; /* Uses the full clean width of the mobile view */
    padding: 1.5rem !important;
    text-align: center !important;
  }

  /* Keeps your custom small-media image frames perfectly safe */
  #main .services-row article .image.small-media img {
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }
}

/* ==========================================================================
   MASSIVELY IMAGE REPAIR - PREVENT CENTER MOBILE CROPPING
   ========================================================================== */

/* Safely targets both the Portfolio and Services rows on mobile */
@media screen and (max-width: 768px) {
  
  #main .article-row article .image.fit,
  #main .services-row article .image.fit {
    display: block !important;     /* Disables Massively's default flex/grid image alignment */
    width: 100% !important;        /* Restricts the frame to the card layout width */
    height: auto !important;       /* Lets the frame size adapt natively */
    overflow: visible !important;  /* Ensures no edges get sliced away */
  }

  #main .article-row article .image.fit img,
  #main .services-row article .image.fit img {
    position: static !important;   /* Disables absolute center-cropping layout rules */
    width: 100% !important;        /* Makes the graphic scale smoothly to match the container */
    height: auto !important;       /* Forces the proportions to look completely natural */
    object-fit: contain !important;/* Safeguards the layout against cropping anomalies */
    transform: none !important;    /* Clears any center-zoom offsets */
  }
}


#typing-container b::after {
    content: '|';
    animation: blink 0.7s infinite;
}

@keyframes blink {
    0%, 100% { opacity: 1; }
    50% { opacity: 0; }
}
