/*
	(c)2021 - visuallizard.com

	General Layout Styles.
	Sets major blocking to elements that appear across the site in different templates.
	All can be removed and started from scratch or elements can be adjusted individually.
*/

:root {
	--black: #000000;
	--white: #ffffff;
	--ltgrey: #dddddd;
	--grey: #999999;
	--dkgrey: #333333;
	--yellow: #ffcc00;
	--green: #339900 ;
	--red: #aa0000;
	--blue: #0077cc;

	/* brand colouring - primary */
	--riverclayred: #5c0f0f;
	--deepcurrant: #380a0a;
	--wintersun: #fff5ed;
	--gatheringglow: #eb6340;
	/* brand colouring - secondary */
	--canopygreen: #82874a;
	--canopygreen-deep: #404f36;
	--canopygreen-lite: #e3e899;
	--prairieochre: #b58030;
	--prairieochre-deep: #81471e;
	--prairieochre-lite: #ffcd4d;
	--bigskyblue: #5778c4;
	--bigskyblue-deep: #1c1c54;
	--bigskyblue-lite: #d5e6ff;
	--twilightthistle: #bfadd4;
	--twilightthistle-deep: #743e68;
	--twilightthistle-lite: #e9e6ff;
}

.container {
/*
	Set site maximum width only here and use this class to centre and contain the content in browser window.
	Use "max-width" instead of "width" for auto-responsiveness.
	Keep horizontal padding to prevent content touching viewport edges. Adjust them in responsive.css for specific breakpoint if needed.

*/
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
	position: relative;
}
.main-region {
	display: block;
	position: relative;
	width: 100%;
}

aside#social-bar {
	display: block;
	position: relative;
	padding: 1rem 0;
	margin: 0;
	background-color: var(--deepcurrant);
}
aside#social-bar > .container {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0;
	margin: 0 auto;
}

.site-header {
	display: block;
	position: sticky;
	top: 0;
	z-index: 1000;
	padding: 0;
	color: var(--wintersun);
}
.site-header,
.site-header.scrolled {
	background-color: var(--riverclayred);
}
.site-header.red,
.site-header.red.scrolled {
	background-color: var(--prairieochre-deep);
	background-color: var(--gatheringglow);
}
.site-header.green,
.site-header.green.scrolled {
	background-color: var(--canopygreen);
}
.site-header.dkgreen,
.site-header.dkgreen.scrolled {
	background-color: var(--canopygreen-deep);
}
.site-header.blue,
.site-header.blue.scrolled {
	background-color: var(--bigskyblue);
}
.site-header.dkblue,
.site-header.dkblue.scrolled {
	background-color: var(--bigskyblue-deep);
}
.site-header.purple,
.site-header.purple.scrolled  {
	background-color: var(--twilightthistle-deep);
	background-color: var(--deepcurrant);
}

header > .container {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	column-gap: 2rem;
	padding-top: 1.6rem;
	padding-bottom: 1.6rem;
}

.site-title {
	display: block;
	flex: 1 0 15%;
	max-width: 18%;
	height: auto;
	margin: 0;
	background: url("../../../img/v2026/heading-theforks.svg") no-repeat bottom left;
	background-size: contain;
}
nav#main-nav .site-title { display: none; }
	.site-title > a {
		display: block;
		position: relative;
		height: auto;
		text-decoration: none;
		color: inherit;
		font-size: 4rem;
		text-indent: -999em;
		line-height: 1;
		transition: all 0.2s ease-in-out;
	}
	.site-header.scrolled .site-title > a {
		font-size: 3.2rem;
	}



/* ! NAVIGATIONS  */
	/* General for all levels and navs: */
	.nav-list {
		margin: 0;
		padding: 0;
		list-style: none;
	}
	.nav-item {
		display: inline-block;
		position: relative;
		vertical-align: top;
	}
	.nav-link {
		display: block;
		padding: 0.5rem 1.5rem 0.5rem 0.5rem;
		margin: 0;
		text-decoration: none;
		line-height: 1;
		color: inherit;
		transition: all .2s;
	}
	.nav-link:hover {
		text-decoration: none;
		color: var(--prairieochre-lite);
	}
	.nav-link:focus,
	.nav-link:active { color: inherit; }
	.nav-item[data-nav-status='has-active'] > .nav-link {
		color: var(--riverclayred);
	}
	.nav-item[data-nav-status='active'] > .nav-link {
		color: var(--riverclayred);
	}


	/* Level 1 (horizontal) */
	nav#main-nav {
		position: relative;
		bottom: -0.5rem;
	}
	nav .nav-1 {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		font-family: "the-seasons", "Times New Roman", sans-serif;
		font-size: 2rem;
		font-weight: 700;
	}
	nav .nav-1 > li {

	}
	nav .nav-1 span.submenu { display: none; }
	nav .nav-1 > li > a { text-align: center; }
	nav .nav-1 > li.active > a,
	nav .nav-1 > li.has-active > a { text-decoration: underline; }

	/* all sub-lists (drop-downs & drop-sides) */
	.sub-list {
		display: block;
		position: absolute;
		top: 0;
		left: auto;
		width: 300px;
		margin: 0;
		padding: 0;

		background-color: var(--wintersun);
		box-shadow: 0px 0px 3px var(--black);

		transition: all 0.2s ease;
		z-index: 1000;
	}
	li			  > .sub-list { visibility: hidden;  opacity: 0; }
	li:hover		> .sub-list { visibility: visible; opacity: 1; }
	li:focus-within > .sub-list { visibility: visible; opacity: 1; }

	.sub-list .sub-list { left: 100%; }

	:nth-last-child(1) > .nav-2,
	:nth-last-child(2) > .nav-2 { right: 0; left: auto; }

	:nth-last-child(1) > .nav-2 .nav-list,
	:nth-last-child(2) > .nav-2 .nav-list { right: 100%; left: auto; }

	:nth-last-child(1) > .nav-2 .has-sub > .nav-link::after,
	:nth-last-child(2) > .nav-2 .has-sub > .nav-link::after { transform: scaleX(-1); }



	/* Level 2 (the only drop-down ) */
	.nav-2 {
		top: 100%;
		font-family: "Inter Tight", Arial, sans-serif;
		font-weight: 400;
	}
	.nav-2 > li {
		display: block;
	}
	.nav-2 > li > a {
		display: block;
		padding: 1rem;
		color: var(--riverclayred);
	}
	.nav-2 > li.has-active > a,
	.nav-2 > li.active > a,
	.nav-2 > li > a:hover,
	.nav-2 > li > a:visited,
	.nav-2 > li > a:active,
	.nav-2 > li > a:focus {
		background-color: var(--gatheringglow);
		color: var(--deepcurrant);
	}

	/* Level 3, etc. */
	.nav-3 {

	}
	.nav-3 > li {
		display: block;
	}
	.nav-3 > li > a {
		display: block;
		padding: 1rem;
		color: var(--riverclayred);
	}
	.nav-3 > li.has-active > a,
	.nav-3 > li.active > a,
	.nav-3 > li > a:hover,
	.nav-3 > li > a:visited,
	.nav-3 > li > a:active,
	.nav-3 > li > a:focus {
		background-color: var(--gatheringglow);
		color: var(--deepcurrant);
	}


	/* Has-subs Chevron indicators */
	.has-sub > .nav-link {
		padding-right: 1.5em;
	}
	.has-sub > .nav-link::after {
		position: absolute;
		top: 0.8rem;
		margin: auto;
		right: 0.8rem;
		content: " ";
		background: no-repeat right center url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><path fill='%23fff5ed' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' /></svg>");
		display: block;
		width: 1.6rem;
		height: 1.6rem;
		background-size: 100%;
		transform-origin: center center;
	}
	nav .nav-2 > .has-sub > .nav-link::after {
		background: no-repeat right center url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><path fill='%235c0f0f' d='M8.59,16.58L13.17,12L8.59,7.41L10,6L16,12L10,18L8.59,16.58Z' /></svg>");
		width: 1.4rem;
		height: 1.4rem;
	}
	nav .nav-1 > .has-sub > .nav-link::after {
		transform: rotate(90deg);
	}



/* ! Announcement Ribbon */
.announcement {
	display: block;
	background: var(--dkgreen);
	padding: 1.5rem 0;
	color: var(--white);
	font-size: 1.8rem;
	text-align: center;
}
	.announcement * {
		color: inherit;
	}
	.announcement > .container div > * {
		margin-bottom: .25em;
	}
	.announcement > .container div > *:last-child {
		margin-bottom: 0;
	}
	.announcement h2 {

	}
	.announcement a {
		color: inherit;
		text-decoration: underline;
		text-decoration-thickness: 1.5px;
	}
	.announcement a:hover {
		color: var(--black);
	}



/* ! Hero Banner */
div.hero-banner {
	display: block;
	position: relative;
	width: 100%;
	max-height: 70vh;
	padding: 0;

	text-align: center;
	background-color: var(--riverclayred);
	color: var(--wintersun);
	overflow: hidden;
}
div.hero-banner-background {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
	background-image:
		linear-gradient(
			var(--riverclayred),
			transparent 75%,
			transparent
		)
	;
}
div.hero-banner > div.banner-set,
div.internal-banner > div.banner-set {
	filter: brightness(60%);
}
div.banner-set div.banner > img {
	width: 100%;
	max-width: none;
	height: auto;
	max-height: none;
}
div.hero-banner > .container,
div.internal-banner > .container {
	display: flex;
	position: absolute;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 1rem;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 2;
	width: 100vw;
	padding: 0 3rem;
}
div.hero-banner div.translation-set {
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
}
div.hero-banner h1,
div.page-banner h1 {
	display: block;
	max-width: 1000px;
	margin: 0 auto;
	font-family: "the-seasons", "Times New Roman", sans-serif;
	font-weight: 400;
	line-height: 1;
	color: var(--wintersun);
}
div.hero-banner h1 span {
	font-family: "Inter Tight", Arial, sans-serif;
	font-weight: 600;
}
div.hero-banner .container img {
	position: relative;
	width: 120px;
	margin: 3rem auto 0 auto;
}



div.internal-banner {
	display: block;
	position: relative;
	width: 100%;
	max-height: 50vh;
	padding: 0;
	box-shadow: 0px -7rem 0px 0px var(--canopygreen-deep);

	text-align: center;
	background-color: var(--canopygreen-deep);
	color: var(--wintersun);
	overflow: hidden;
}
div.internal-banner.red {
	background-color: var(--gatheringglow);
	box-shadow: 0px -7rem 0px 0px var(--gatheringglow);
}
div.internal-banner.green {
	background-color: var(--canopygreen);
	box-shadow: 0px -7rem 0px 0px var(--canopygreen);
}
div.internal-banner.dkgreen {
	background-color: var(--canopygreen-deep);
	box-shadow: 0px -7rem 0px 0px var(--canopygreen-deep);
}
div.internal-banner.blue {
	background-color: var(--bigskyblue);
	box-shadow: 0px -7rem 0px 0px var(--bigskyblue);
}
div.internal-banner.dkblue {
	background-color: var(--bigskyblue-deep);
	box-shadow: 0px -7rem 0px 0px var(--bigskyblue-deep);
}
div.internal-banner.purple {
	background-color: var(--deepcurrant);
	box-shadow: 0px -7rem 0px 0px var(--deepcurrant);
}
div.internal-banner .container {
	z-index: 2;
}
div.internal-banner h1 {
	line-height: 1.1;
}
div.internal-banner > div.img-gradient {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	z-index: 1;
}
div.internal-banner.red > div.img-gradient {
	background: linear-gradient(
		var(--gatheringglow) 0 2%,
		transparent 15% 100%
	);
}
div.internal-banner.green > div.img-gradient {
	background: linear-gradient(
		var(--canopygreen) 0 2%,
		transparent 15% 100%
	);
}
div.internal-banner.dkgreen > div.img-gradient {
	background: linear-gradient(
		var(--canopygreen-deep) 0 2%,
		transparent 15% 100%
	);
}
div.internal-banner.blue > div.img-gradient {
	background: linear-gradient(
		var(--bigskyblue) 0 2%,
		transparent 15% 100%
	);
}
div.internal-banner.dkblue > div.img-gradient {
	background: linear-gradient(
		var(--bigskyblue-deep) 0 2%,
		transparent 15% 100%
	);
}
div.internal-banner.purple > div.img-gradient {
	background: linear-gradient(
		var(--deepcurrant) 0 2%,
		transparent 15% 100%
	);
}
div.internal-banner div.banner {
	width: 100%;
	height: auto;
}
div.internal-banner img {
	display: block;
	position: relative;
	z-index: 0;
	width: 100%;
	object-fit: cover;
	object-position: center center;
	filter: opacity(0.6);
}



/* ! SECTIONS	*/
main {
	padding: 0;
}
main.internal {
	padding: 10rem 0;
}
main.internal.trailtogether {
	padding: 0;
}
	main > section {
		display: block;
		position: relative;
		width: 100%;
		padding: 5rem 0;
	}
	main#content.home > section {
		padding: 10rem 0;
	}
	main > .container > section {
		display: block;
		position: relative;
		width: 100%;
		padding: 0;
		margin: 2.5rem 0;
	}
	main > .container,
	main section > .container {
		display: flex;
		position: relative;
		justify-content: space-between;
		align-items: stretch;
		flex-wrap: wrap;
	}
	main.internal > .container,
	main.internal section > .container {
		max-width: 1000px;
	}
	main.internal.conditions > .container {

	}
	main.internal section > .container > h2:first-child,
	main.internal section > .container > div > h2:first-child,
	main.internal > .container > div > h2:first-child {
		width: 100%;
		margin-top: 0;
		text-align: center;
	}

/* ! Home sections */
	section#home-events {
		text-align: center;
	}
		section#home-events .container {
			display: block;
			margin-bottom: 5rem;
		}
		section#home-events .container > h2 {
			line-height: 1.1;
		}
		section#home-events .container >  {
			font-size: 2.5rem;
		}
		section#home-events .container > a {
			margin: 0 auto;
		}
	section#home-promotion {
		border-radius: 1.5rem;
		text-align: center;
		background-color: var(--riverclayred);
		color: var(--wintersun);
	}
		section#home-promotion .container > h2:first-of-type {
			margin: 0 auto;
		}
		section#home-promotion p {
			margin: 1.5rem auto;
			font-size: 2rem;
		}
		section#home-promotion .container > a {
			margin: 3rem auto 0 auto;
		}
	section#home-posts {
		color: var(--riverclayred);
	}
	section#home-sustainability {
		background: repeating-linear-gradient(
			290deg,
			var(--canopygreen) 0% 5%,
			var(--canopygreen-deep) 20% 28%,
			var(--canopygreen) 40% 60%
		);
		color: var(--wintersun);
	}
		section#home-sustainability h2 {
			margin-top: 0;
			margin-left: 0;
			text-align: left;
			line-height: 1;
		}
		section#home-sustainability .container {
			display: flex;
			position: relative;
			justify-content: space-between;
			align-items: center;
			flex-wrap: wrap;
		}
		section#home-sustainability .container div.eco-promo {
			display: block;
			position: relative;
			flex: 1 0 48%;
			max-width: 60%;
			padding: 0;
		}
		section#home-sustainability .container div.eco-promo:first-child {

		}
		section#home-sustainability .container div.eco-promo:last-child {
			display: flex;
			justify-content: center;
			flex-wrap: wrap;
			max-width: 36%;
			padding: 0;
		}
			section#home-sustainability .container div.eco-promo:last-child img {
				display: block;
				position: relative;
			}
	section#home-support {
		border-radius: 1.5rem;
		text-align: center;
		background-color: none;
	}
		section#home-support h2 {
			margin-top: 0;
			margin-left: 0;
			text-align: left;
			line-height: 1;
		}
		section#home-support .container {
			display: flex;
			position: relative;
			justify-content: space-between;
			align-items: center;
			flex-wrap: wrap;
		}
		section#home-support .container div.support-promo {
			display: block;
			position: relative;
			flex: 1 0 40%;
		}
		section#home-support .container div.support-promo:first-child {
			max-width: 55%;
			padding: 0 3vw 0 0;
			text-align: left;
		}
		section#home-support .container div.support-promo:last-child {
			display: block;
			position: relative;
			max-width: 43%;
			padding: 0;
			text-align: right;
		}
			section#home-support .container div.support-promo:last-child img {
				display: block;
				position: relative;
			}
			div.support-promo:last-child img.mosaic {
				position: absolute !important;
				bottom: 1rem; left: 4rem; z-index: 1;
			}
			div.support-promo:last-child img.foundation {
				width: 360px;
				margin-left: auto;
			}
			div.support-promo:last-child img.logo {
				position: absolute !important;
				bottom: 2rem; right: 2rem; z-index: 2; width: 190px;
			}
	section#home-railside {
		padding: 14rem 0;
		text-align: center;
		background-color: var(--prairieochre-deep);
		background: var(--prairieochre-deep) url("../../../img/v2026/railside-background.jpg") no-repeat center top;
		background-size: cover;
		color: var(--wintersun);
	}
		section#home-railside h2 {
			margin: 0 0 3rem 0;
			text-align: left;
			line-height: 1;
		}
		section#home-railside p {
			font-size: 2rem;
		}
		section#home-railside .container {
			display: flex;
			position: relative;
			justify-content: space-between;
			align-items: stretch;
			flex-wrap: wrap;
		}
		section#home-railside .container div.railside-promo {
			display: block;
			position: relative;
			flex: 1 0 30%;
		}
		section#home-railside .container div.railside-promo:first-child {
			max-width: 70%;
			padding: 5rem;
			border-top-left-radius: 5rem;
			text-align: left;
			background-color: var(--deepcurrant);
		}
		section#home-railside .container div.railside-promo:last-child {
			max-width: 30%;
			padding: 0;
		}
			section#home-railside .container div.railside-promo:last-child img {
				position: absolute;
				bottom: 0;
				right: 0;
			}
			div.railside-promo:last-child img.logo {
				width: 260px;
			}

/* ! Internal page sections */
main.internal section#intro {
	flex: 0 0 100%;
	max-width: 100%;
	padding: 0 20rem;
	margin: 0 0 5rem 0;
	text-align: center;
}






/* ! Banners: defaults */
.banners {
	margin-bottom: 2rem;
}
	.banner {
		position: relative;
	}
		.banner-link {
			display: block;
		}
			.banner-img {
				display: block;
				width: 100%;
				height: auto;
			}
			.banner-container {
				position: absolute;
				top: 0;
				bottom: 0;
				left: 0;
				right: 0;
				margin: 0 auto;
				padding: 1em;
				padding: 5%;

				display: flex;
				align-items: center;
				justify-content: center;
			}
			.upperleft	.banner-container { align-items: flex-start; justify-content: flex-start; }
			.uppercentre  .banner-container { align-items: flex-start; justify-content: center;	 text-align: center; }
			.upperright   .banner-container { align-items: flex-start; justify-content: flex-end;   }
			.middleleft   .banner-container { align-items: center;	 justify-content: flex-start; }
			.middlecentre .banner-container { align-items: center;	 justify-content: center;	 text-align: center; }
			.middleright  .banner-container { align-items: center;	 justify-content: flex-end;   }
			.lowerleft	.banner-container { align-items: flex-end;   justify-content: flex-start; }
			.lowercentre  .banner-container { align-items: flex-end;   justify-content: center;	 text-align: center; }
			.lowerright   .banner-container { align-items: flex-end;   justify-content: flex-end;   }

			.banner-text {
				display: block;
				width: 100%;
				margin: 0;
				max-width: 800px;
				color: var(--white);

				text-align: left;
				text-transform: none;
				transition: color .2s;
			}
			.theme-grey .banner-text {
				color: var(--dkgrey);
			}
			.theme-accent .banner-text {
				color: var(--green);
			}
			.theme-black .banner-text {
				color: var(--black);
			}
			.banner-link:hover .banner-text {
				opacity: .5;
			}
				.banner-title {
					color: inherit;
					font-size: 3rem;
					font-size: clamp(2rem, 1rem + 4vw, 5rem);
					margin-top: 0;
					margin-bottom: 0;
					text-transform: none;
				}
				.banner-subtitle {
					color: inherit;
					font-size: 2.4rem;
					font-size: clamp(1rem, 1rem + 2vw, 4rem);
					margin-top: 0;
					margin-bottom: 0;
					text-transform: none;
				}
				.banner-desc {

				}

				/* optional Animations */
				.slick-slide:not(.slick-current) .banner-text {
					opacity: 0.2;
					transform: translateY(2rem);
				}
				.slick-slide.slick-current .banner-text {
					transition: transform 1s ease-out .3s, opacity 1s ease-out .3s;
					opacity: 1;
					transform: translateY(0);
				}

	/* ! Banners: Featured - slider */
	.featured-banners {

	}
		.featured-banners .banner-img {
			object-fit: cover;
			min-height: 200px;
			max-height: 500px;
			/* this sets vertical boundaries to Featured Banners
			 and prevents them from shrinking or growing beyond set height values
			 when viewport is either too short (mobile) or unknowingly large (wide monitors) */
		}

/* ! Galleries */
.gallery-set {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	margin: 0 0;
	padding: 0;
	list-style-type: none;
	overflow: hidden;
}
.gallery-set > li {
	width: 20%;
	margin: 0;
	padding: 0;
	max-width: 480px;
}

.gallery-box {
	position: relative;
	display: block;
	margin: 0;
	height: 0;
	padding-top: 100%;
	background-size: cover;
}
.gallery-box a {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	justify-content: flex-end;
	color: #fff;

	transform: scale(1);
	cursor: pointer;
}
.gallery-box[style*="placeholder"] {
	background-size: cover;
}
.gallery-text {
	width: 100%;
	min-height: 0;
	max-height: 70%;
	margin: 0;
	padding: 1.5em 1.5em 1em;
	border: none;
	border-radius: 0;
	background-color: transparent;
	background-image: linear-gradient(to bottom, rgba(0,0,0, 0), rgba(0,0,0, .5), rgba(0,0,0, .85));
	color: var(--white);
	opacity: 1;
	transition: all .3s ease-in-out;
	overflow: hidden;
	cursor: pointer;
	position: relative;
	z-index: 1;
}
.gallery-title {
	margin-bottom: 0;
}
.gallery-box .gallery-brief {
	max-height: 0;
	opacity: 0;
	margin-top: 0;
	margin-bottom: 0;
	transition: all .3s ease-in-out;
}
.gallery-box .gallery-brief:empty {
	margin: 0;
}
.gallery-box a:hover .gallery-brief {
	max-height: 200px;
	opacity: 1;
	margin-top: 1em;
}

/* ! Documents */
.document-category {
	position: relative;
	width: 100%;
	padding: 1em 0;
	margin: 0 0 1.5em 0;
}
	.document-category > h3 {
		display: block;
		position: relative;
		flex-basis: 100%;
		max-width: 100%;
		padding: 0;
	}
	.document-cat-desc {
		display: block;
		position: relative;
		flex-basis: 100%;
		max-width: 100%;
		padding: 0;
	}
	.document-items {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		grid-gap: 2rem;
		align-items: stretch;

		padding-top: .5rem;
	}
		.document-item {
			display: flex;
			flex-direction: column;
			position: relative;
			padding: 2.5rem 2rem 1rem;
			margin: 1rem 0 0;
			border: 1px solid hsla(209, 64%, 22%, 0.2);
			border-radius: .25rem;

			text-align: center;
		}

			.document-item .document-title {
				margin-bottom: 1rem;
			}
			.document-item .document-desc {
				text-align: left;
				font-size: 80%;
			}
			.document-item .document-desc * {
				font-size: inherit;
			}
			.document-item .doc-link {
				padding: .75rem 2rem;
				margin-top: auto;
			}

			.doc-icon {
				width: 3rem;
				height: 3rem;
				display: flex;
				color: inherit;

				position: absolute;
				top: -1.5rem;
				left: 0;
				right: 0;
				margin: 0 auto;
				padding: .5rem;
				border-radius: 50%;
				border: 1px solid hsla(209, 64%, 22%, 0.2);
				background-color: var(--white);
			}
			.doc-icon .svg-label {
				margin: 0 .5rem 0 0;
				font-weight: bold;
				font-style: normal;
				font-size: 1rem;
				letter-spacing: .03em;
				text-transform: uppercase;
				color: inherit;
			}



/* ! Site Footer  */
footer {
	position: relative;
	clear: both;
	padding: 5rem 0;
	margin: 0;
	background-color: var(--riverclayred);
	color: var(--wintersun);
}

footer > .container {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	flex-wrap: wrap;
}
footer > .container:first-child {
	border-bottom: 2px solid var(--gatheringglow);
}
footer > .container section {
	display: block;
	position: relative;
	padding: 0 0 5rem 0;
}
footer > .container:first-child section:nth-child(1) {
	flex: 0 0 43%;
	max-width: 43%;
	padding-right: 3vw;
}
footer > .container:first-child section:nth-child(2) {
	flex: 0 0 25%;
	max-width: 25%;
}
	footer > .container:first-child section ul {
		padding: 0;
		margin: 0 0 2.4rem 0;
		list-style: none;
		font-size: 1.6rem;
	}
		footer > .container:first-child section ul li {
			margin: 0 0 1rem 0;
		}
footer > .container:first-child section:nth-child(3) {
	flex: 0 0 28%;
	max-width: 28%;
}
footer > .container section:nth-child(4) {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	row-gap: 1.5rem;
	flex: 0 0 100%;
	max-width: 100%;
}
	footer > .container section > h2 {
		display: none;
	}
	footer > .container section > h2:first-of-type {
		margin-top: 0;
	}
	footer > .container section > h2.heading-image {
		display: block;
	}
		footer > .container section > h2.heading-image img {
			display: block;
			width: auto;
			max-width: 100%;
			height: auto;
			max-height: 3rem;
		}
	footer > .container section.reconciliation > img {
		flex: 0 0 20%;
		max-width: 210px;
	}
	footer > .container section.reconciliation > div.treaty-notice {
		display: block;
		flex: 1 0 70%;
		max-width: 75%;
	}
	footer > .container section.reconciliation p {
		font-size: 1.4rem;
	}
	footer a {
		color: inherit;
		transition: all 0.2s ease;
	}
	footer a:hover {
		color: var(--white);
	}
	footer p {
		line-height: 1.75;
	}
	footer p > em { display: inline-block; font-size: 1.3rem; line-height: 1.25; }
	footer p.copyright {
		display: block;
		margin: 5rem 0 0 0;
	}
	footer nav.footer-legal-nav ul {
		display: flex;
		position: relative;
		justify-content: flex-end;
		align-items: center;
		flex-wrap: wrap;
		column-gap: 2.2rem;
		row-gap: 0.8rem;
		list-style: none;
		padding: 0;
		margin: 5rem 0 0 0;
	}
		footer nav.footer-legal-nav ul li a {
			display: block;
			position: relative;
			text-decoration: none;
		}

/* ! Error Pages */
.error-header {
	font-size: 5rem;
}
.error-code {
	font-size: 1.2rem;
}
