@import url(fontawesome-all.min.css);
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,300i,400i&display=swap");

/*
	Ethereal 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;
}

/* Page */

	html {
		width: 100%;
		height: 100%;
		background-color: #f0ede8;
	}

	html {
		box-sizing: border-box;
	}

/* Nav */

	#main-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		display: flex;
		justify-content: center;
		gap: 2rem;
		padding: 1rem 2rem;
		background: rgba(27, 67, 50, 0.95);
		backdrop-filter: blur(10px);
		-webkit-backdrop-filter: blur(10px);
		z-index: 10200;
	}

		#main-nav a {
			color: rgba(255, 255, 255, 0.85);
			text-decoration: none;
			font-size: 0.85rem;
			font-weight: 400;
			letter-spacing: 0.15em;
			text-transform: uppercase;
			padding: 0.25rem 0;
			border-bottom: 2px solid transparent;
			transition: color 0.2s ease, border-color 0.2s ease;
		}

		#main-nav a:hover {
			color: #ffffff;
			border-bottom-color: #1B4332;
		}

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

		#main-nav {
			gap: 0;
			justify-content: space-evenly;
		}

		#main-nav a {
			text-align: center;
			font-size: 0.65rem;
			padding: 0.25rem 0.5rem;
		}

	}

/* Values Column */

	.values-column {
		display: flex;
		gap: 5rem;
		height: auto;
		padding: 2rem 8rem 0.5rem;
		justify-content: space-evenly;
	}

		.values-item {
			padding: 1rem 0;
			width: 25%;
		}

		.values-item h3 {
			margin-bottom: 0.3rem;
		}

		.values-item p {
			padding-left: 0.5rem;
		}

		.panel > .values-green {
			background-color: #1B4332 !important;
			background-image: none !important;
			color: rgba(255, 255, 255, 0.85);
		}

		.panel > .values-green h3 {
			color: #ffffff;
			position: relative;
			margin-bottom: 1.25rem;
		}

		.panel > .values-green h3:after {
			content: '';
			position: absolute;
			left: 0;
			bottom: -0.5rem;
			width: 3rem;
			height: 3px;
			background-color: #ffffff;
		}

		.panel > .values-green p {
			color: rgba(255, 255, 255, 0.75);
		}

	@media screen and (max-width: 736px) {
		.values-column {
			flex-direction: column;
			gap: 1rem;
			padding: 2rem;
		}

		.values-item {
			width: 100%;
		}
	}

/* Process section */

	#process {
		-moz-flex-direction: row;
		-webkit-flex-direction: row;
		-ms-flex-direction: row;
		flex-direction: row;
		overflow: hidden;
	}

	#process .process-content {
		flex: 1;
		display: flex;
		flex-direction: column;
		padding: 4rem 0;
	}

	#process .process-content .intro {
		padding: 0.5rem 3.5rem;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}

	#process .process-image {
		flex: 2;
		position: relative;
		overflow: hidden;
		align-self: stretch;
	}

	#process .process-image img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

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

		#process {
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
		}

		#process .process-image {
			min-height: 15rem;
		}

	}

	#services > .intro {
		padding-bottom: 0;
	}

	#services > .inner {
		padding-top: 1rem;
	}

	@media screen and (max-width: 1024px) and (orientation: portrait), screen and (max-width: 736px), screen and (max-height: 480px) {

		#services > .inner,
		#contact > .inner {
			border-top: 0;
		}

	}

/* Services Grid */

	.services-grid {
		display: flex;
		gap: 1.5rem;
		padding: 0 2rem;
		flex-wrap: wrap;
	}

		.services-cell {
			flex: 1;
			background: #f5f2ed;
			border: 3px solid #1B4332;
			padding: 1.75rem 2rem;
			transition: box-shadow 0.2s ease;
			min-width: 320px;
			border-radius: 4px;
		}

		.services-cell:hover {
			box-shadow: 0 0.25rem 1rem rgba(58, 58, 58, 0.1);
		}

		.services-grid h3 {
			margin-bottom: 0.5rem;
			color: #1B4332;
		}

		.services-grid p {
			font-size: 0.85rem;
			margin-bottom: 0.5rem;
		}

		.services-grid ul {
			list-style: disc;
			padding-left: 1.25rem;
			font-size: 0.8rem;
			color: #1B4332;
		}

		.services-grid ul li {
			padding: 0.15rem 0;
			color: rgba(58, 58, 58, 0.9);
		}

		.services-grid ul li::marker {
			color: #1B4332;
		}

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

		.services-grid {
			flex-direction: column;
			padding: 0;
			gap: 1rem;
		}

	}

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

	body {
		-ms-overflow-style: scrollbar;
		width: 100%;
		overflow-x: hidden;
		background-color: #f0ede8;
	}

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

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

	}

/* Typography */

	html {
		font-size: 18pt;
		font-size: 1vmax;
	}

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

			html {
				font-size: 12pt;
				font-size: 1.1vmax;
			}

		}

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

			html {
				font-size: 11pt;
				font-size: 1.5vmax;
			}

		}

	body, input, select, textarea {
		color: #000000;
		font-family: "Source Sans Pro", Helvetica, sans-serif;
		font-size: 1rem;
		font-weight: 300;
		line-height: 1.65;
	}

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

		a:hover {
			border-bottom-color: transparent;
			color: #2D6A4F;
		}

	strong, b {
		color: rgba(58, 58, 58, 0.95);
		font-weight: 400;
	}

	em, i {
		font-style: italic;
	}

	p, li {
		font-weight: 400;
	}

	p {
		margin: 0 0 1.5rem 0;
	}

	h1, h2, h3, h4, h5, h6 {
		color: rgba(58, 58, 58, 0.95);
		font-family: Arial, Helvetica, sans-serif;
		font-weight: 700;
		line-height: 1.3;
		margin: 0 0 0.75rem 0;
		letter-spacing: -0.05em;
	}

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

	h1.major, h2.major, h3.major {
		position: relative;
	}

		h1.major:after, h2.major:after, h3.major:after {
			content: '';
			position: absolute;
			left: 0;
			width: 4rem;
			height: 3px;
			background-color: #1B4332;
		}

	h1 {
		font-size: 3rem;
		line-height: 1.2;
	}

		h1.major {
			margin: 0 0 2.625rem 0;
		}

			h1.major:after {
				bottom: -1.325rem;
			}

	h2 {
		font-size: 1.75rem;
		line-height: 1.2;
	}

		h2.major {
			margin: 0 0 1.9875rem 0;
		}

			h2.major:after {
				bottom: -1.2rem;
			}

	h3 {
		font-size: 1.325rem;
	}

		h3.major {
			margin: 0 0 1.875rem 0;
		}

			h3.major:after {
				bottom: -0.75rem;
			}

	h4 {
		font-size: 1rem;
	}

	h5 {
		font-size: 0.9rem;
	}

	h6 {
		font-size: 0.7rem;
	}

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

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

	blockquote {
		border-left: solid 0.25rem rgba(58, 58, 58, 0.15);
		font-style: italic;
		margin: 0 0 1.5rem 0;
		padding: 0.375rem 0 0.375rem 1.5rem;
	}

	code {
		background: rgba(255, 255, 255, 0.075);
		border-radius: 0.25rem;
		font-family: "Courier New", monospace;
		font-size: 0.8rem;
		margin: 0 0.25rem;
		padding: 0.25rem 0.65rem;
	}

	pre {
		-webkit-overflow-scrolling: touch;
		font-family: "Courier New", monospace;
		font-size: 0.8rem;
		margin: 0 0 1.5rem 0;
		white-space: pre-wrap;
	}

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

	hr {
		border: 0;
		border-bottom: solid 2px rgba(58, 58, 58, 0.15);
		margin: 1.875rem 0;
	}

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

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

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

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

		html {
			font-size: 12pt;
		}

		h1 {
			font-size: 2.25rem;
			line-height: 1.2;
		}

			h1.major {
				margin: 0 0 2.625rem 0;
			}

				h1.major:after {
					bottom: -1.325rem;
				}

		h2 {
			font-size: 1.5rem;
			line-height: 1.2;
		}

			h2.major {
				margin: 0 0 1.9875rem 0;
			}

				h2.major:after {
					bottom: -1.2rem;
				}

		h3 {
			font-size: 1rem;
		}

			h3.major {
				margin: 0 0 1.875rem 0;
			}

				h3.major:after {
					bottom: -0.75rem;
				}

		h4 {
			font-size: 1rem;
		}

		h5 {
			font-size: 0.9rem;
		}

		h6 {
			font-size: 0.7rem;
		}

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

	}

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

		html {
			font-size: 11pt;
		}

	}

/* Icon */

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

		.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 {
		display: inline-block;
		position: relative;
		border: 0;
	}

		.image.filtered:after {
			background-image: linear-gradient(45deg, rgba(27, 67, 50, 0.15), rgba(58, 58, 58, 0.05));
			background-size: auto;
			pointer-events: none;
			content: '';
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: 1;
			z-index: 1;
		}

		.image.filtered.tinted:after {
			background-image: linear-gradient(45deg, rgba(27, 67, 50, 0.15), rgba(58, 58, 58, 0.05)), linear-gradient(0deg, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1));
			background-size: auto, auto;
		}

		.image[data-position] img {
			-moz-object-fit: cover;
			-webkit-object-fit: cover;
			-ms-object-fit: cover;
			object-fit: cover;
			display: block;
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
		}

		.image[data-position="top left"] img {
			-moz-object-position: top left;
			-webkit-object-position: top left;
			-ms-object-position: top left;
			object-position: top left;
		}

		.image[data-position="top"] img {
			-moz-object-position: top;
			-webkit-object-position: top;
			-ms-object-position: top;
			object-position: top;
		}

		.image[data-position="top right"] img {
			-moz-object-position: top right;
			-webkit-object-position: top right;
			-ms-object-position: top right;
			object-position: top right;
		}

		.image[data-position="right"] img {
			-moz-object-position: right;
			-webkit-object-position: right;
			-ms-object-position: right;
			object-position: right;
		}

		.image[data-position="bottom right"] img {
			-moz-object-position: bottom right;
			-webkit-object-position: bottom right;
			-ms-object-position: bottom right;
			object-position: bottom right;
		}

		.image[data-position="bottom"] img {
			-moz-object-position: bottom;
			-webkit-object-position: bottom;
			-ms-object-position: bottom;
			object-position: bottom;
		}

		.image[data-position="bottom left"] img {
			-moz-object-position: bottom left;
			-webkit-object-position: bottom left;
			-ms-object-position: bottom left;
			object-position: bottom left;
		}

		.image[data-position="left"] img {
			-moz-object-position: left;
			-webkit-object-position: left;
			-ms-object-position: left;
			object-position: left;
		}

		.image[data-position="center"] img {
			-moz-object-position: center;
			-webkit-object-position: center;
			-ms-object-position: center;
			object-position: center;
		}

		.image[data-position="25% 25%"] img {
			-moz-object-position: 25% 25%;
			-webkit-object-position: 25% 25%;
			-ms-object-position: 25% 25%;
			object-position: 25% 25%;
		}

		.image[data-position="75% 25%"] img {
			-moz-object-position: 75% 25%;
			-webkit-object-position: 75% 25%;
			-ms-object-position: 75% 25%;
			object-position: 75% 25%;
		}

		.image[data-position="75% 75%"] img {
			-moz-object-position: 75% 75%;
			-webkit-object-position: 75% 75%;
			-ms-object-position: 75% 75%;
			object-position: 75% 75%;
		}

		.image[data-position="25% 75%"] img {
			-moz-object-position: 25% 75%;
			-webkit-object-position: 25% 75%;
			-ms-object-position: 25% 75%;
			object-position: 25% 75%;
		}

		.image img {
			display: block;
		}

/* Contact Icons */

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

		ul.contact-icons > li {
			margin: 1.25rem 0 0 0;
			padding-left: 0;
		}

			ul.contact-icons > li:before {
				display: inline-block;
				width: 2.25rem;
				height: 2.25rem;
				line-height: 2.25rem;
				border-radius: 2.25rem;
				background-color: #1B4332;
				color: #ffffff;
				cursor: default;
				font-size: 1.125rem;
				margin-right: 1rem;
				text-align: center;
				vertical-align: middle;
			}

			ul.contact-icons > li a {
				border-bottom: 0;
			}

		ul.contact-icons.color7 > li:before {
			color: #ffffff;
		}

/* Panel */

	.panel {
		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-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;
		-moz-justify-content: center;
		-webkit-justify-content: center;
		-ms-justify-content: center;
		justify-content: center;
		-moz-align-items: -moz-stretch;
		-webkit-align-items: -webkit-stretch;
		-ms-align-items: -ms-stretch;
		align-items: stretch;
		height: auto;
		width: 100%;
		overflow-x: hidden;
		overflow-y: auto;
	}

		.panel > * {
			position: relative;
			min-width: 10rem;
			isolation: isolate;
		}

			.panel > *.color0 {
				background: linear-gradient(135deg, #f5f2ed, #ebe7e1);
			}

			.panel > *.color1 {
				background-color: #e1ddd6;
				background-image: none;
			}

			.panel > *.color2 {
				background-color: #ddd8d0;
				background-image: none;
			}

			.panel > *.color6 {
				background-color: #e6e2dc;
				background-image: none;
			}

			.panel > *.color7 {
				background-color: #d8d3cb;
				background-image: none;
			}

		.panel > .intro {
			padding: 3.5rem 3.5rem 2rem 3.5rem ;
			display: -moz-flex;
			display: -webkit-flex;
			display: -ms-flex;
			display: flex;
			-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;
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			-moz-align-items: -moz-flex-start;
			-webkit-align-items: -webkit-flex-start;
			-ms-align-items: -ms-flex-start;
			align-items: flex-start;
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			width: 100%;
		}

		.panel > .inner {
			padding: 3.5rem 3.5rem 2rem 3.5rem ;
			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;
			-moz-justify-content: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			-moz-align-items: -moz-flex-start;
			-webkit-align-items: -webkit-flex-start;
			-ms-align-items: -ms-flex-start;
			align-items: flex-start;
			-moz-flex-direction: column;
			-webkit-flex-direction: column;
			-ms-flex-direction: column;
			flex-direction: column;
			position: relative;
			width: 100%;
		}

			.panel > .inner.columns {
				display: -moz-flex;
				display: -webkit-flex;
				display: -ms-flex;
				display: flex;
				-moz-justify-content: center;
				-webkit-justify-content: center;
				-ms-justify-content: center;
				justify-content: center;
				-moz-align-items: center;
				-webkit-align-items: center;
				-ms-align-items: center;
				align-items: center;
				-moz-flex-direction: row;
				-webkit-flex-direction: row;
				-ms-flex-direction: row;
				flex-direction: row;
				-moz-flex-wrap: wrap;
				-webkit-flex-wrap: wrap;
				-ms-flex-wrap: wrap;
				flex-wrap: wrap;
			}

				.panel > .inner.columns > * {
					-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-left: 3.5rem;
				}

				.panel > .inner.columns > :first-child {
					margin-left: 0;
				}

				.panel > .inner.columns.divided > * {
					margin-left: 7rem;
				}

					.panel > .inner.columns.divided > *:before {
						content: '';
						position: absolute;
						top: 3.5rem;
						width: 2px;
						height: calc(100% - 7rem);
						margin-left: -3.5rem;
						background-color: rgba(27, 67, 50, 0.5);
					}

				.panel > .inner.columns.divided > :first-child {
					margin-left: 0;
				}

					.panel > .inner.columns.divided > :first-child:before {
						display: none;
					}

				.panel > .inner.columns.aligned {
					-moz-align-items: -moz-flex-start;
					-webkit-align-items: -webkit-flex-start;
					-ms-align-items: -ms-flex-start;
					align-items: flex-start;
				}

		.panel.color0 {
			background: linear-gradient(135deg, #f5f2ed, #ebe7e1);
			background-size: 128px 128px, auto;
		}

		.panel.color1 {
			background-image: none;
			background-color: #e1ddd6;
		}

		.panel.color2 {
			background-image: none;
			background-color: #ddd8d0;
		}

		.panel.color6 {
			background-image: none;
			background-color: #e6e2dc;
		}

		.panel.color7 {
			background-image: none;
			background-color: #d8d3cb;
		}

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

			.panel > *.color1 {
				background-image: none;
				background-color: #e1ddd6;
			}

			.panel > *.color2 {
				background-image: none;
				background-color: #ddd8d0;
			}

			.panel > *.color6 {
				background-image: none;
				background-color: #e6e2dc;
			}

			.panel > *.color7 {
				background-image: none;
				background-color: #d8d3cb;
			}

			.panel > .intro {
				padding: 2.8875rem 1.75rem 1.3875rem 1.75rem ;
			}

			.panel > .inner {
				padding: 2.8875rem 1.75rem 1.3875rem 1.75rem ;
			}

				.panel > .inner.columns {
					-moz-flex-direction: column;
					-webkit-flex-direction: column;
					-ms-flex-direction: column;
					flex-direction: column;
				}

					.panel > .inner.columns > * {
						margin-left: 0;
						margin-top: 0;
					}

					.panel > .inner.columns > :first-child {
						margin-top: 0;
					}

					.panel > .inner.columns.divided > * {
						margin-left: 0;
						margin-top: 3.5rem;
					}

						.panel > .inner.columns.divided > *:before {
							content: '';
							position: absolute;
							top: auto;
							left: 1.75rem;
							width: calc(100% - 3.5rem);
							height: 2px;
							margin-left: 0;
							margin-top: -1.75rem;
						}

					.panel > .inner.columns.divided > :first-child {
						margin-top: 0;
					}

			.panel.color1 {
				background-image: none;
				background-color: #e1ddd6;
			}

			.panel.color2 {
				background-image: none;
				background-color: #ddd8d0;
			}

			.panel.color6 {
				background-image: none;
				background-color: #e6e2dc;
			}

			.panel.color7 {
				background-image: none;
				background-color: #d8d3cb;
			}

	}

/* Contact Section Flex Proportions */

	#contact {
		background-color: #f5f2ed;
	}

	#contact .inner.columns > :nth-child(1) img {
		max-height: 50dvh;
	}

	#contact .inner.columns > :nth-child(1) {
		flex: 2;
	}

	#contact .inner.columns > :nth-child(2) {
		flex: 1;
	}

/* Panel (Banner) */

	.panel.banner {
		-moz-align-items: -moz-stretch;
		-webkit-align-items: -webkit-stretch;
		-ms-align-items: -ms-stretch;
		align-items: stretch;
	}

		.panel.banner .content {
			padding: 3.5rem 3.5rem 2rem 3.5rem ;
			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: center;
			-webkit-justify-content: center;
			-ms-justify-content: center;
			justify-content: center;
			-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;
		}

			.panel.banner .content > .actions:last-child {
				margin-bottom: 0;
			}

		.panel.banner .image {
			-moz-flex-grow: 0;
			-webkit-flex-grow: 0;
			-ms-flex-grow: 0;
			flex-grow: 0;
			position: relative;
			width: 100%;
			height: clamp(15rem, 40vh, 25rem);
		}

			.panel.banner .image img {
				-moz-object-fit: cover;
				-webkit-object-fit: cover;
				-ms-object-fit: cover;
				object-fit: cover;
				display: block;
				position: absolute;
				top: 0;
				left: 0;
				width: 100%;
				height: 100%;
			}

/* Semantic Landmarks */

	main {
		-moz-flex-grow: 1;
		-webkit-flex-grow: 1;
		-ms-flex-grow: 1;
		flex-grow: 1;
		display: -moz-flex;
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		-moz-align-items: -moz-stretch;
		-webkit-align-items: -webkit-stretch;
		-ms-align-items: -ms-stretch;
		align-items: stretch;
		min-width: 0;
	}

	header {
		display: contents;
	}

	footer {
		background: rgba(27, 67, 50, 0.95);
		padding: 0.5rem 2rem;
	}

/* Skip Link */

	.skip-link {
		position: absolute;
		left: -9999px;
		top: auto;
		width: 1px;
		height: 1px;
		overflow: hidden;
		z-index: 99999;
	}

		.skip-link:focus {
			position: fixed;
			top: 1rem;
			left: 1rem;
			width: auto;
			height: auto;
			padding: 0.75rem 1.5rem;
			background: #2e2b37;
			color: #ffffff;
			font-size: 0.9rem;
			text-decoration: none;
			border-radius: 4px;
		}

/* Focus Visible */

	a:focus-visible,
	button:focus-visible,
	input:focus-visible,
	select:focus-visible,
	textarea:focus-visible {
		outline: 2px solid #2e2b37;
		outline-offset: 2px;
	}

/* Page Wrapper */

	#page-wrapper {
		padding-top: 3.5rem;
	}

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

		#page-wrapper {
			padding-top: 2.5rem;
		}

	}

/* Wrapper */

	#wrapper {
		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;
		position: relative;
		width: 100%;
	}

		.copyright {
			position: relative;
			left: 0;
			width: 100%;
			text-align: center;
			font-size: 0.8rem;
			color: #ffffff;
			font-weight: 500;
			margin-bottom: 0;
			z-index: 10100;
		}

			.copyright a:hover {
				color: inherit;
			}

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

		.copyright {
			padding: 0.75rem 0;
		}

	}
