/*
Theme Name: Main
Author: Joseph Rioux
Description: Wordpress Theme for the Main Website
Version: 1.0.26
*/

@charset "utf-8";

html
{
	--edge:2.25rem;
	--gutter:3rem;
	--space:1.25rem;
	--space-small:0.75rem;
	--space-medium:1.75rem;
	--space-large:2.25rem;
	--font-a:"Sentinel SSm A","Sentinel SSm B",Georgia,serif;
	--font-b:"Gotham A","Gotham B",Helvetica,Arial,sans-serif;
	--font-c:"Hoefler Text A","Hoefler Text B",Georgia,sans-serif;
	--red:#b30838;
	--red-dark:#61051e;
	--gold:#d2ab67;
	display:flex;
	flex-direction:column;
	min-height:100%;
	text-rendering:optimizelegibility;
	font-family:"Sentinel SSm A","Sentinel SSm B",Georgia,serif;
	color:#101010;
	background-color:#ffffff;
	font-size:100%;
	line-height:1.75;
	font-weight:400;
}
@media(min-width:1601px)
{
	html
	{
		font-size:clamp(100%, 1vw, 125%);
		font-size:100%;
	}
}
@media(max-width:1080px)
{
	html
	{
		--edge:1.5rem;
		--gutter:2.25rem;
	}
}
@media(max-width:800px)
{
	html
	{
		--edge:1rem;
		--gutter:1.5rem;
		--space-medium:1.5rem;
		--space-large:2rem;
	}
}

body
{
	display:flex;
	flex-direction:column;
	flex-grow:1;
	position:relative;
	margin:0;
	padding:0;
	overflow-x:hidden;
	-webkit-text-size-adjust:none;
}

.site-container
{
	display:grid;
	grid-template-rows:auto 1fr auto;
	grid-template-columns:100%;
	flex-grow:1;
	position:relative;
	min-height:100%;
	overflow-x:hidden;
}

body:not(.nojs) .noscript
{
	display:none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ol,
ul,
li,
table,
th,
td,
img,
hr,
a,
figure,
figcaption,
blockquote,
cite,
details,
summary
{
	margin:0;
}

@keyframes spin
{
	0% {transform:rotate(0deg);}
	100% {transform:rotate(360deg);}
}

/* FONT STYLES */

table, th, td, td p {font-size:0.875rem;}

h1,h2,h3,h4,h5,h6
{
	font-family:var(--font-b);
	font-weight:500;
	line-height:1.5;
	clear:both;
}

.text-4xs {font-size:0.625rem;}
.text-3xs {font-size:0.75rem;}
.text-2xs {font-size:0.875rem;}
.text-xs {font-size:1rem;}
p, li, .text-p {font-size:1.125rem;}
h6, .text-h6 {font-size:1rem;}
h5, .text-h5 {font-size:1.125rem;}
h4, .text-h4 {font-size:1.25rem;line-height:1.5;}
h3, .text-h3 {font-size:1.5rem;line-height:1.5;}
h2, .text-h2 {font-size:1.75rem;line-height:1.5;}
h1, .text-h1 {font-size:2.25rem;line-height:1.5;}
.text-xl {font-size:2.5rem;line-height:1.5;}
.text-2xl {font-size:2.75rem;line-height:1.5;}
.text-3xl {font-size:3rem;line-height:1.5;}
.text-4xl {font-size:4rem;line-height:1.5;}
.text-5xl {font-size:5rem;line-height:1.5;}
.text-6xl {font-size:6rem;line-height:1.5;}
.text-7xl {font-size:7rem;line-height:1.5;}
.text-8xl {font-size:8rem;line-height:1.5;}

@media(max-width:800px)
{
	.text-4xs {font-size:0.625rem;}
	.text-3xs {font-size:0.75rem;}
	.text-2xs {font-size:0.875rem;}
	.text-xs {font-size:1rem;}
	p, li, .text-p {font-size:1rem;}
	h6, .text-h6 {font-size:1rem;}
	h5, .text-h5 {font-size:1.0625rem;}
	h4, .text-h4 {font-size:1.125rem;}
	h3, .text-h3 {font-size:1.25rem;}
	h2, .text-h2 {font-size:1.375rem;}
	h1, .text-h1 {font-size:1.625rem;}
	.text-xl {font-size:1.75rem;}
	.text-2xl {font-size:1.75rem;}
	.text-3xl {font-size:1.75rem;}
	.text-4xl {font-size:1.75rem;}
	.text-5xl {font-size:1.75rem;}
	.text-6xl {font-size:1.75rem;}
	.text-7xl {font-size:1.75rem;}
	.text-8xl {font-size:1.75rem;}
	
	.mobile-text-4xs {font-size:0.625rem;}
	.mobile-text-3xs {font-size:0.75rem;}
	.mobile-text-2xs {font-size:0.875rem;}
	.mobile-text-xs {font-size:1rem;}
	.mobile-text-p {font-size:1.125rem;}
	.mobile-text-h6 {font-size:1rem;}
	.mobile-text-h5 {font-size:1.125rem;}
	.mobile-text-h4 {font-size:1.25rem;}
	.mobile-text-h3 {font-size:1.5rem;}
	.mobile-text-h2 {font-size:1.75rem;}
	.mobile-text-h1 {font-size:2.25rem;}
	.mobile-text-xl {font-size:2.5rem;}
	.mobile-text-2xl {font-size:2.75rem;}
	.mobile-text-3xl {font-size:3rem;}
	.mobile-text-4xl {font-size:4rem;}
	.mobile-text-5xl {font-size:5rem;}
	.mobile-text-6xl {font-size:6rem;}
	.mobile-text-7xl {font-size:7rem;}
	.mobile-text-8xl {font-size:8rem;}
}

/* LINKS AND BUTTONS */

button, input[type=submit]
{
	cursor:pointer;
	background:none;
	border:none;
	color:inherit;
	font:inherit;
	line-height:normal;
	overflow:visible;
	padding:0;
	-webkit-appearance:button;
	-webkit-appearance:none;
	-webkit-user-select:none;
	   -moz-user-select:none;
		-ms-user-select:none;
	-webkit-box-sizing:content-box;
	   -moz-box-sizing:content-box;
			box-sizing:content-box;
	transition:color 0.25s, background-color 0.25s;
}

a
{
	text-decoration:none;
	color:#b30838;
	transition:color 0.25s, background-color 0.25s, border-bottom-color 0.25s;
}
body:not(.touch) a:hover {color:#707070;}

a.underline
{
	border-bottom:1px solid #b30838;
}
body:not(.touch) a.underline:hover {border-bottom-color:#707070;}

a.white
{
	color:#ffffff;
	border-bottom:1px solid #ffffff;
}
body:not(.touch) a.white:hover {color:#909090;border-bottom-color:#909090;}

a.thick
{
	border-bottom-width:2px;
}

.link
{
	display:block;
	position:relative;
	text-decoration:none;
	border:none;
	color:inherit;
}
body:not(.touch) .link:hover {color:inherit;}

.buttons
{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-start;
	gap:1.25rem;
}
.buttons._left {justify-content:flex-start;}
.buttons._right {justify-content:flex-end;}
.buttons._center {justify-content:center;}

.buttons._grid
{
	display:grid;
	align-items:stretch;
}
.buttons._grid._2 {grid-template-columns:1fr 1fr;}
.buttons._grid._3 {grid-template-columns:1fr 1fr 1fr;}
.buttons._grid._4 {grid-template-columns:1fr 1fr 1fr 1fr;}

.buttons > *
{
	margin:0;
	flex:0 0 auto;
	max-width:100%;
}

.buttons._grid > *
{
	display:flex;
}

.buttons._full > *
{
	flex:1 0 100%;
}

.buttons a
{
	display:block;
	position:relative;
	box-sizing:border-box;
	text-decoration:none;
	border:none;
	font-family:var(--font-b);
	text-transform:uppercase;
	text-align:center;
	font-weight:500;
	letter-spacing:0.0625em;
	padding:0.5rem 1rem;
	font-size:1rem;
	line-height:1.5rem;
	color:#ffffff;
	background-color:#101010;
	box-sizing:border-box;
}
body:not(.touch) .buttons a:hover {color:#ffffff;background-color:#707070;}

.buttons._reverse a
{
	color:#101010;
	background-color:#ffffff;
}
body:not(.touch) .buttons._reverse a:hover {color:#101010;background-color:#707070;}

.buttons._red a
{
	background-color:#b30838;
}
body:not(.touch) .buttons._red a:hover {background-color:#707070;}

.buttons._lite a
{
	color:#101010;
	border:2px solid #101010;
	background-color:transparent;
	transition:color 0.25s, border-color 0.25s;
}
body:not(.touch) .buttons._lite a:hover {color:#707070;background-color:transparent;border-color:#707070;}

.buttons._reverse._lite a
{
	color:#ffffff;
	border-color:#ffffff;
}

.buttons._red._lite a
{
	color:#b30838;
	border-color:#b30838;
}

.buttons._small a
{
	padding:0.375rem 0.75rem;
	font-size:0.875rem;
	line-height:1.25rem;
}

.buttons._large a
{
	padding:1.25rem 1.875rem;
	font-size:1.125rem;
}

.buttons._grid a
{
	display:flex;
	flex:1 0 100%;
	align-items:center;
	justify-content:center;
}

.buttons a + a
{
	margin-top:0;
}

@media(max-width:1080px)
{
	.buttons._grid._4
	{
		grid-template-columns:1fr 1fr;
	}
}

@media(max-width:960px)
{
	.buttons._grid._3
	{
		grid-template-columns:1fr;
	}
}

@media(max-width:640px)
{
	.buttons._grid {grid-template-columns:1fr !important;}
}

.btn
{
	display:flex;
	align-items:center;
	position:relative;
	padding:0.5rem 1rem;
	font-size:1rem;
	line-height:1.5rem;
	border:none;
	font-family:var(--font-b);
	font-weight:500;
	text-transform:uppercase;
	letter-spacing:0.03125rem;
	white-space:nowrap;
	color:#ffffff;
	background-color:#101010;
	list-style:none;
	cursor:pointer;
	box-sizing:border-box;
	transition:color 0.25s, background-color 0.25s;
}

.btn:active,
.btn:visited
{
	color:#ffffff;
}

body:not(.touch) .btn:hover
{
	color:#ffffff;
	background-color:#707070;
}

.btn._small
{
	padding:0.375rem 0.75rem;
	font-size:0.875rem;
	line-height:1.25rem;
}

.btn._large
{
	padding:1.25rem 1.875rem;
	font-size:1.125rem;
}

.btn.selected
{
	background-color:#404040;
}

body:not(.touch) .btn.selected:hover
{
	background-color:#707070;
}

.btn._no-bg,
body:not(.touch) .btn._no-bg:hover
{
	background-color:transparent;
}

.btn._no-bg {color:#101010;}
.btn._white {color:#ffffff;}
.btn._red {color:#b30838;}
.btn._gray {color:#707070;}
body:not(.touch) .btn._no-bg:hover {color:#707070;}
body:not(.touch) .btn._white:hover {color:#707070;}
body:not(.touch) .btn._red:hover {color:#707070;}
body:not(.touch) .btn._gray:hover {color:#101010;}

.btn._no-p {padding:0;}
.btn._no-px {padding-left:0;padding-right:0;}
.btn._no-py {padding-top:0;padding-bottom:0;}

.btn._full
{
	width:100%;
}

.btn *
{
	max-width:none;
}

.btn .icon
{
	display:flex;
	justify-content:center;
	align-items:center;
}

.btn .icon._w-4 {flex:0 0 0.25rem;}
.btn .icon._w-6 {flex:0 0 0.375rem;}
.btn .icon._w-8 {flex:0 0 0.5rem;}
.btn .icon._w-12 {flex:0 0 0.75rem;}
.btn .icon._w-16 {flex:0 0 1rem;}
.btn .icon._w-20 {flex:0 0 1.25rem;}
.btn .icon._w-32 {flex:0 0 2rem;}

.btn .icon svg
{
	fill:#ffffff;
	transition:fill 0.25s;
}

.btn .icon svg,
.btn .icon img
{
	width:auto;
	height:0.5rem;
}

.btn .icon._h-4 svg, .btn .icon._h-4 img {height:0.25rem;}
.btn .icon._h-6 svg, .btn .icon._h-6 img {height:0.375rem;}
.btn .icon._h-8 svg, .btn .icon._h-8 img {height:0.5rem;}
.btn .icon._h-12 svg, .btn .icon._h-12 img {height:0.75rem;}
.btn .icon._h-16 svg, .btn .icon._h-16 img {height:1rem;}
.btn .icon._h-20 svg, .btn .icon._h-20 img {height:1.25rem;}
.btn .icon._h-32 svg, .btn .icon._h-32 img {height:2rem;}

.btn .icon._w-4 svg, .btn .icon._w-4 img {width:0.25rem;height:auto;}
.btn .icon._w-6 svg, .btn .icon._w-6 img {width:0.375rem;height:auto;}
.btn .icon._w-8 svg, .btn .icon._w-8 img {width:0.5rem;height:auto;}
.btn .icon._w-12 svg, .btn .icon._w-12 img {width:0.75rem;height:auto;}
.btn .icon._w-16 svg, .btn .icon._w-16 img {width:1rem;height:auto;}
.btn .icon._w-20 svg, .btn .icon._w-20 img {width:1.25rem;height:auto;}
.btn .icon._w-32 svg, .btn .icon._w-32 img {width:2rem;height:auto;}

.btn._no-bg .icon svg {fill:#101010;}
.btn._white .icon svg {fill:#ffffff;}
.btn._red .icon svg {fill:#b30838;}
.btn._gray .icon svg {fill:#707070;}
body:not(.touch) .btn._no-bg:hover .icon svg {fill:#707070;}
body:not(.touch) .btn._white:hover .icon svg {fill:#707070;}
body:not(.touch) .btn._red:hover .icon svg {fill:#707070;}
body:not(.touch) .btn._gray:hover .icon svg {fill:#101010;}

*:focus
{
	outline:none !important;
}

.keyboard-navigation-engaged *:focus
{
	outline:0.25rem solid #2070ff !important;
}

.focus-only
{
	display:block;
    height:0;
	background-color:#101010;
	color:#ffffff;
	font-size:1rem;
	line-height:1.5;
	font-family:var(--font-b);
	text-align:center;
	text-decoration:underline;
	overflow:hidden;
	box-sizing:border-box;
}
.focus-only:focus
{
	height:auto;
	padding:0.5rem;
}

#hs-banner-parent a
{
	text-decoration:underline;
}

/*
GENERAL STYLES
*/

img,
svg
{
	display:block;
	border:none;
	max-width:100%;
	height:auto;
}

details summary
{
	list-style-type:none;
	cursor:pointer;
}

details summary::marker,
details summary::-webkit-details-marker
{
	display:none;
}

details summary .open
{
	display:none;
}

details[open] summary .closed
{
	display:none;
}

details[open] summary .open
{
	display:inline;
}

hr
{
	height:0.125rem;
	background-color:#c0c0c0;
	border:none;
}

iframe
{
	border:none;
}

/*
BASIC CONTENT
*/

.basic p a,
.basic li a,
.basic td a,
.basic h2 a,
.basic h3 a,
.basic h4 a,
.basic h5 a,
.basic h6 a
{
	border-bottom:1px solid #b30838;
}

.basic .buttons a,
.basic a.btn
{
	border-bottom:none;
}

body:not(.touch) .basic p a:hover,
body:not(.touch) .basic li a:hover,
body:not(.touch) .basic td a:hover,
body:not(.touch) .basic h2 a:hover,
body:not(.touch) .basic h3 a:hover,
body:not(.touch) .basic h4 a:hover,
body:not(.touch) .basic h5 a:hover,
body:not(.touch) .basic h6 a:hover
{
	border-bottom-color:#707070;
}

.basic .text-white a
{
	color:#ffffff;
	border-bottom-color:#ffffff;
}
body:not(.touch) .basic .text-white a:hover {color:#909090;border-bottom-color:#909090;}

.basic > h2
{
	font-weight:700;
}

.basic ul.links li a,
.basic ol.links li a
{
	border-bottom:none;
}

.basic img.round
{
	border-radius:50%;
}

.basic img.aligncenter
{
	display:block;
	margin:0 auto;
}

.basic img.alignleft
{
	float:left;
	margin-right:1.25rem;
	margin-bottom:1.25rem;
}

.basic img.alignright
{
	float:right;
	margin-left:1.25rem;
	margin-bottom:1.25rem;
}

.basic figcaption
{
	color:#707070;
	font-size:0.875rem;
	line-height:1.25rem;
	margin-top:0.5rem;
	padding:0 0.5rem 0.25rem 0.5rem;
	border:1px solid #c0c0c0;
	border-top:none;
}

.basic figure.aligncenter img
{
	display:block;
	margin:0 auto;
}

.basic figure.alignleft
{
	float:left;
	margin-right:var(--space);
	margin-bottom:var(--space);
}

.basic figure.alignright
{
	float:right;
	margin-left:var(--space);
	margin-bottom:var(--space);
}

.basic ul,
.basic ol
{
	padding:0 0 0 1.25rem;
}
	
.basic ul ul,
.basic ul ol,
.basic ol ul,
.basic ol ol
{
	position:relative;
	margin-top:1.25rem;
}

.basic ul ul:before,
.basic ul ol:before,
.basic ol ul:before,
.basic ol ol:before
{
	content:"";
	display:block;
	position:absolute;
	left:-1.0625rem;
	top:-0.75rem;
	width:0.0625rem;
	height:100%;
	padding-bottom:0.75rem;
	background-color:#f0f0f0;
}

.basic ol ul:before,
.basic ol ol:before
{
	left:-1.75rem;
}

.basic li
{
	position:relative;
	padding:0 0 0 0.666666em;
}

.basic li + li
{
	margin-top:0.666666em;
}

.basic ul li
{
	list-style-type:none;
}

.basic ul > li:before
{
	content:"";
	display:block;
	position:absolute;
	box-sizing:border-box;
	top:0.63194em;
	right:100%;
	width:0.5em;
	height:0.5em;
	background-color:#b30838;
}
.basic ul ul > li:before {background-color:#707070;}
.basic ul ul ul > li:before {background-color:#c0c0c0;}

.basic ol > li::marker
{
	font-weight:700;
}

.basic ul.compact > li + li,
.basic ol.compact > li + li
{
	margin-top:0.25rem;
}

.basic ul.lined > li + li,
.basic ol.lined > li + li
{
	margin-top:2em;
}

.basic ul.lined > li + li:after,
.basic ol.lined > li + li:after
{
	content:"";
	display:block;
	position:absolute;
	left:-1.25rem;
	top:-1em;
	width:calc(100% + 1.25rem);
	height:0.0625rem;
	background-color:#e0e0e0;
}

.basic ul.links,
.basic ol.links
{
	display:grid;
	grid-template-columns:1fr 1fr;
	column-gap:var(--space);
	padding:0;
}

.basic * + ul.links,
.basic * + ol.links
{
	margin-top:0.5rem;
}

.basic ul.links._border-top,
.basic ol.links._border-top
{
	padding-top:0.5rem;
	border-top:0.0625rem solid #e0e0e0;
}

.basic ul.links._border-bottom,
.basic ol.links._border-bottom
{
	padding-bottom:0.5rem;
	border-bottom:0.0625rem solid #e0e0e0;
}

.basic ul.links li,
.basic ol.links li
{
	display:block;
}

.basic ul.links li:before,
.basic ol.links li:before
{
	display:none !important;
}

.basic ul.links li + li,
.basic ol.links li + li
{
	margin-top:0;
}

.basic ul.links li a,
.basic ol.links li a
{
	display:block;
	position:relative;
	padding:1rem 0.75rem 1rem 1.25rem;
	line-height:1.5rem;
	font-family:var(--font-b);
	font-weight:500;
	transition:background-color 0.25s;
}

body:not(.touch) .basic ul.links li a:hover,
body:not(.touch) .basic ol.links li a:hover
{
	background-color:#f0f0f0;
}

.basic ul.links li a:before,
.basic ol.links li a:before
{
	content:"";
	display:block;
	position:absolute;
	box-sizing:border-box;
	top:1.5625rem;
	left:0;
	width:0.375rem;
	height:0.375rem;
	background-color:#b30838;
	transition:background-color 0.25s;
}

body:not(.touch) .basic ul.links li a:hover:before,
body:not(.touch) .basic ol.links li a:hover:before
{
	background-color:#707070;
}

.basic ul.links li + li + li a,
.basic ol.links li + li + li a
{
	border-top:0.0625rem solid #e0e0e0;
}

@media(max-width:640px)
{
	.basic img.alignleft,
	.basic img.alignright,
	.basic figure.alignleft,
	.basic figure.alignright
	{
		float:none;
		margin-left:0;
		margin-right:0;
		margin-bottom:0;
	}
	
	.basic ul.links,
	.basic ol.links
	{
		grid-template-columns:1fr;
	}
	
	.basic ul.links li + li a,
	.basic ol.links li + li a
	{
		border-top:0.0625rem solid #e0e0e0;
	}
}

.basic .scroll-table,
.basic .wp-block-table
{
	overflow-x:auto;
}

.basic table
{
	min-width:40rem;
	max-width:100%;
	background-color:#f8f8f8;
	border-collapse:collapse;
}

.basic table tr,
.basic table td,
.basic table th
{
	margin:0;
}

.basic thead td,
.basic tfoot td,
.basic thead th,
.basic th
{
	background-color:#e0e0e0;
}

.basic td,
.basic th
{
	padding:0.5rem 0.75rem;
	border:1px solid #c0c0c0;
	vertical-align:top;
	text-align:left;
}

.basic hr
{
	height:0.0625rem;
	background-color:#e0e0e0;
	border:none;
}

.basic details > summary
{
	position:relative;
	padding-right:1.25rem;
	padding-bottom:0.5rem;
	border-bottom:0.125rem solid #e0e0e0;
	transition:border-bottom-color 0.25s;
}

body:not(.touch) .basic details > summary:hover
{
	border-bottom-color:#b30838;
}

.basic details > summary:before
{
	content:"";
	position:absolute;
	width:1.25rem;
	height:1.25rem;
	right:0;
	top:0;
	bottom:0;
	margin:auto 0;
	background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="%23101010"><polygon points="0 5 5 5 5 0 7 0 7 5 12 5 12 7 7 7 7 12 5 12 5 7 0 7"/></svg>');
	background-position:center;
	background-size:1.25rem;
	background-repeat:no-repeat;
	transition:transform 0.25s;
}

.basic details[open] > summary:before
{
	transform:rotate(45deg);
}

.basic details > summary:after
{
	content:"OPEN";
	position:absolute;
	height:1.25rem;
	right:1.75rem;
	top:0;
	bottom:0;
	margin:auto 0;
	font-size:0.875rem;
	line-height:1.25rem;
	font-family:var(--font-b);
	color:#b30838;
	opacity:0;
	transition:opacity 0.25s;
}

.basic details[open] > summary:after
{
	content:"CLOSE";
}

body:not(.touch) .basic details > summary:hover:after
{
	opacity:1;
}

.basic details > summary > *
{
	font-size:1.125rem;
	line-height:1.5;
	font-family:var(--font-b);
	font-weight:500;
}

.basic details > summary + div
{
	padding:1.25rem 0 1.25rem 1.25rem;
	border-left:0.125rem solid #e0e0e0;
	border-bottom:0.125rem solid #e0e0e0;
	transition:border-color 0.25s;
}

body:not(.touch) .basic details > summary:hover + div
{
	border-color:#b30838;
}

.basic blockquote
{
	padding-left:var(--space-large);
	background-size:var(--space-medium) auto;
	background-position:left top;
	background-image:url("images/quote.svg");
	background-repeat:no-repeat;
}

.basic blockquote cite
{
	display:block;
	margin-top:var(--space-small);
	font-family:var(--font-b);
	font-style:normal;
	text-transform:uppercase;
	font-weight:500;
	color:#707070;
	text-align:right;
}

.basic blockquote cite:before
{
	content:"- ";
}

.basic .boxed
{
	padding:1rem;
	background-color:#f8f8f8;
	border-radius:0.1875rem;
	border:1px solid #e0e0e0;
	clear:both;
}

/*
ROOT-LEVEL LAYOUT
*/

.container
{
	max-width:75rem;
	margin-left:auto;
	margin-right:auto;
	padding-left:var(--edge);
	padding-right:var(--edge);
}

.layout
{
	display:grid;
	grid-auto-rows:auto;
}

.layout > *
{
	min-width:0;
}

.layout._2-column {grid-template-columns:1fr 1fr;}
.layout._3-column {grid-template-columns:1fr 1fr 1fr;}
.layout._4-column {grid-template-columns:1fr 1fr 1fr 1fr;}

@media(max-width:1080px)
{
	.layout._4-column
	{
		grid-template-columns:1fr 1fr;
		max-width:50rem;
	}
}

@media(max-width:960px)
{
	.layout._3-column
	{
		grid-template-columns:1fr;
		max-width:30rem;
	}
}

@media(max-width:640px)
{
	.container._3-column {max-width:20rem;}
	.container._4-column {max-width:20rem;}
	.layout {grid-template-columns:1fr !important;}
}

.layout-flex-left,
.layout-flex-right
{
	display:flex;
	flex-wrap:wrap;
}

.layout-flex-left > *:first-child,
.layout-flex-right > *:last-child
{
	flex:100000 1 0%;
	min-width:30rem;
}

.layout-flex-left > *:last-child,
.layout-flex-right > *:first-child
{
	flex-grow:1;
}

@media(max-width:560px)
{
	.layout-flex-left > *:first-child,
	.layout-flex-right > *:last-child
	{
		min-width:100%;
	}
}

/*
FRAME
*/

.frame
{
	position:relative;
	overflow:hidden;
	background-color:#c0c0c0;
}
.frame._no-bg {background-color:transparent;}
.frame._overflow {overflow:auto;}

.frame > .box
{
	position:relative;
	padding-bottom:50%;
}
.frame._1x1 > .box {padding-bottom:100%;}
.frame._3x2 > .box {padding-bottom:66.666666%;}
.frame._2x1 > .box {padding-bottom:50%;}
.frame._4x1 > .box {padding-bottom:25%;}
.frame._10x3 > .box {padding-bottom:30%;}
.frame._8x3 > .box {padding-bottom:37.5%;}
.frame._5x2 > .box {padding-bottom:40%;}
.frame._2x3 > .box {padding-bottom:150%;}
.frame._video > .box {padding-bottom:56.25%;}
.frame._gallery > .box {padding-bottom:56.25%;}
.frame._sidebar-ad > .box {padding-bottom:175%;}

@media(max-width:640px)
{
	.frame._sidebar-ad > .box {padding-bottom:50%;}
}

.frame img,
.frame iframe
{
	display:block;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.frame._zoom img,
.frame._zoom iframe
{
	transform:scale(1, 1);
	transition:transform 0.5s;
}

body:not(.touch) .link:hover .frame._zoom img,
body:not(.touch) .link:hover .frame._zoom iframe
{
	transform:scale(1.03125, 1.03125);
}

.frame._ease-in img,
.frame._ease-in iframe
{
	transform:scale(1, 1);
	transition:transform 10s;
	transition-timing-function:ease-in-out;
}

.frame._ease-in._final img,
.frame._ease-in._final iframe
{
	transform:scale(1.125, 1.125);
}

.frame img
{
	object-fit:cover;
}
.frame._contain img {object-fit:contain;}

.frame iframe
{
	background-color:#000000;
}

/*
COVER
*/

.cover
{
	display:flex;
	align-items:end;
	justify-content:start;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background-color:rgba(0,0,0,0.25);
	box-sizing:border-box;
	transition:background-color 0.25s;
}

.cover._reverse {background-color:rgba(0,0,0,0.0);}

.cover._registration
{
	display:none;
}

.unregistered .cover._registration
{
	display:flex;
	background-color:rgba(0,0,0,0.75);
}

.cover._icon:after
{
	content:"";
	display:block;
	position:absolute;
	left:0.5rem;
	bottom:0.5rem;
	width:2.5rem;
	height:2.5rem;
	border-radius:1.25rem;
	background-color:rgba(0,0,0,0.5);
	background-size:1.25rem auto;
	background-position:center;
	background-repeat:no-repeat;
	transition:background-color 0.25s;
}
.cover._icon._icon-right:after {left:auto;right:0.5rem;}

.cover._icon._video:after {background-image:url("images/video.svg");}
.cover._icon._audio:after {background-image:url("images/audio.svg");}
.cover._icon._lock:after
{
	left:0;
	right:0;
	top:0;
	bottom:0;
	margin:auto;
	width:2.5rem;
	height:2.5rem;
	border-radius:0;
	background-color:transparent;
	background-size:auto 2.5rem;
	background-image:url("images/lock.svg");
}

body:not(.touch) .link:hover .cover {background-color:rgba(0,0,0,0.5);}
body:not(.touch) .link:hover .cover._reverse {background-color:rgba(0,0,0,0.25);}
body:not(.touch) .link:hover .cover._registration {background-color:rgba(0,0,0,0.75);}

body:not(.touch) .link:hover .cover._icon:after {background-color:rgba(0,0,0,0.75);}
body:not(.touch) .link:hover .cover._icon._lock:after {background-color:transparent;}

/*
WRAPPER
*/

.wrapper
{
	position:relative;
}

.wrapper > .back
{
	display:flex;
	align-items:center;
	justify-content:center;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	opacity:0.0;
	transition:opacity 0.25s;
}

.wrapper > .back:after
{
	content:"";
	display:block;
	position:absolute;
	border-radius:50%;
	border:0.5rem solid transparent;
	border-top:0.5rem solid #e0e0e0;
	border-bottom:0.5rem solid #e0e0e0;
	width:5rem;
	height:5rem;
	animation:spin 1s linear infinite;
	transition:opacity 0.25s;
}

.wrapper._spin > .back
{
	opacity:1.0;
}

.wrapper > .content
{
	display:grid;
	grid-template-columns:100%;
	position:relative;
	opacity:1.0;
	transition:opacity 0.25s;
}

.wrapper._spin > .content
{
	opacity:0.0;
}

.wrapper._hide > .content
{
	visibility:hidden;
}

.wrapper > .content > *
{
	grid-column:1;
	grid-row:1;
}

/*
DROPPER
*/

.dropper
{
	position:relative;
}

.dropper .content
{
	position:absolute;
	top:100%;
	left:0;
	margin:0;
	padding:0;
	background-color:#101010;
	z-index:3;
}

.dropper._alt .content
{
	margin:0.75rem 0 0 0;
	padding:0.75rem;
	background-color:#ffffff;
	box-shadow:0 0 0.5rem rgba(0,0,0,0.5);
	border-radius:0.25rem;
}

.dropper._right .content
{
	left:auto;
	right:0;
}

.dropper .content ul
{
	margin:0;
	padding:0;
}

.dropper .content li
{
	display:block;
	list-style-type:none;
	margin:0;
}

.dropper._alt .content li + li
{
	margin-top:0.5rem;
}

/*
DATES
*/

.dates, .dates > *
{
	display:flex;
}

.dates *
{
	text-align:center;
	font-family:var(--font-b);
	letter-spacing:0.03125rem;
	text-transform:uppercase;
	color:#ffffff;
}

.dates .to
{
	position:relative;
	align-self:center;
	font-size:0.5rem;
	line-height:0.5rem;
	padding:0.25rem;
}

.dates .to:before,
.dates .to:after
{
	content:"";
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	width:1px;
	height:0.25rem;
	background-color:#ffffff;
}
.dates .to:before {top:100%;}
.dates .to:after {bottom:100%;}

.date * + *
{
	margin-top:0.125rem;
}

.date .month
{
	font-size:0.625rem;
	line-height:0.625rem;
}

.date .day
{
	font-size:1.25rem;
	line-height:1.25rem;
	font-weight:500;
}

.date .year
{
	font-size:0.625rem;
	line-height:0.625rem;
}

/*
TEMPLATE ELEMENTS
*/

.site-header
{
	position:relative;
	z-index:3;
}

.site-header .upper
{
	background-color:#f4f4f4;
	padding:0.375rem 0;
	box-shadow:inset 0 0.125rem 0.125rem -0.125rem rgba(0,0,0,0.125),inset 0 -0.125rem 0.125rem -0.125rem rgba(0,0,0,0.25);
}

.site-header .upper > .container
{
	display:flex;
	justify-content:space-between;
}

.site-header .upper ul
{
	display:flex;
	column-gap:1.5rem;
	padding:0;
}

.site-header .upper li
{
	display:block;
}

.site-header .upper a
{
	display:block;
	font-size:0.75rem;
	line-height:1.25rem;
	font-family:var(--font-b);
	font-weight:500;
	text-transform:uppercase;
}

.site-header .upper .give a
{
	display:flex;
	align-items:center;
	gap:0.25rem;
}

.site-header .upper .give a svg
{
	display:block;
	fill:#b30838;
	width:0.875rem;
	height:0.75rem;
	transition:fill 0.25s;
}

body:not(.touch) .site-header .upper .give a:hover svg
{
	fill:#707070;
}

.site-header .lower
{
	padding-top:0.75rem;
	padding-bottom:1.25rem;
}

.site-header._minimal .lower
{
	padding-bottom:0.75rem;
}

.site-header .lower > .container
{
	display:grid;
	grid-template-columns:auto 1fr;
	align-items:center;
	column-gap:2rem;
}

.site-header .logo
{
	display:flex;
	align-items:center;
}

.site-header .logo a
{
	display:block;
	text-decoration:none;
}

.site-header .logo img
{
	width:16rem;
}

.site-header._minimal .logo img
{
	width:14rem;
}

.site-header .name
{
	font-family:var(--font-c);
	font-size:0.75rem;
	line-height:1.25rem;
	letter-spacing:0.03125rem;
	text-transform:uppercase;
	font-weight:700;
}

@media(max-width:920px)
{
	.site-header .upper .links > ul > li
	{
		display:none;
	}
	
	.site-header .upper .links > ul > li.resources,
	.site-header .upper .links > ul > li.give
	{
		display:block;
	}
}

@media(max-width:560px)
{
	.site-header > .container
	{
		column-gap:0;
	}
	
	.site-header .upper .name span
	{
		display:none;
	}
	
	.site-header .logo img,
	.site-header._minimal .logo img
	{
		width:auto;
		height:2.5rem;
	}
}

@media(max-width:360px)
{
	.site-header .upper .links > ul > li.resources
	{
		display:none;
	}
}

.site-resources
{
	position:relative;
	z-index:4;
	transition:z-index 0s ease 0.5s;
}

.nav-open .site-resources,
.search-open .site-resources,
.nojs .site-header:has(.menu-close:target) .site-resources
{
	z-index:0;
	transition:none;
}

.site-resources summary
{
	display:block;
	position:relative;
	padding-left:0.875rem;
	font-size:0.75rem;
	line-height:1.25rem;
	font-family:var(--font-b);
	font-weight:500;
	text-transform:uppercase;
	color:#b30838;
	transition:color 0.25s;
	z-index:4;
}

body:not(.touch) .site-resources summary:hover
{
	color:#707070;
}

.site-resources[open] summary
{
	color:#ffffff;
}

.site-resources summary svg
{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
	width:0.5rem;
	fill:#c0c0c0;
	transition:fill 0.25s;
}

body:not(.touch) .site-resources summary:hover svg
{
	fill:#707070;
}

.site-resources[open] summary svg
{
	fill:#ffffff;
}

.site-resources .content
{
	padding:2rem 0.75rem 0.75rem 0.75rem;
	top:-0.375rem;
	left:auto;
	right:-0.75rem;
	box-sizing:border-box;
}

.site-resources .content ul
{
	display:block;
	padding-top:0.375rem;
	border-top:0.0625rem solid #404040;
}

.site-resources .content ul li + li
{
	margin-top:0.25rem;
}

.site-resources .content a
{
	white-space:nowrap;
	color:#ffffff;
}

body:not(.touch) .site-resources .content a:hover
{
	color:#707070;
}

.site-resources .content li.more
{
	display:flex;
	margin-top:0.5rem;
}

.site-resources .content li.more a
{
	position:relative;
	padding:0.25rem 0.5rem;
	background-color:#b30838;
}

body:not(.touch) .site-resources .content li.more a:hover
{
	color:#ffffff;
	background-color:#707070;
}

.site-bar
{
	display:flex;
	justify-content:right;
	gap:1.25rem;
}

.site-bar a:after
{
	content:"";
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:0.125rem;
	background-color:transparent;
	transition:background-color 0.25s;
}

body:not(.touch) .site-bar a:hover:after
{
	background-color:#707070;
}

.site-nav .menu-toggle svg,
.site-nav .menu-close svg,
.site-search .menu-toggle svg,
.site-search .menu-close svg
{
	display:block;
	width:1.5rem;
	height:1.5rem;
	transition:fill 0.25s;
}

.site-nav
{
	display:flex;
	padding:0;
	margin:0;
	justify-content:right;
	column-gap:2.25rem;
}

.site-nav > ul
{
	display:flex;
	padding:0;
	margin:0;
	justify-content:right;
	column-gap:2rem;
}

.site-nav > ul li
{
	display:block;
	list-style-type:none;
}

.site-nav > ul a
{
	display:block;
	position:relative;
	padding:0.25rem 0;
	font-family:var(--font-b);
	font-size:1rem;
	line-height:1.5rem;
	letter-spacing:0.03125rem;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:500;
	color:#101010;
	transition:color 0.25s;
}

body:not(.touch) .site-nav > ul a:hover
{
	color:#707070;
}

.site-nav .menu-toggle,
.site-nav .menu-close
{
	display:none;
}

.site-nav .menu-toggle
{
	display:block;
	position:relative;
	padding:0.25rem 0.75rem 0.25rem 2.25rem;
	box-sizing:border-box;
	font-family:var(--font-b);
	font-size:1rem;
	line-height:1.5rem;
	letter-spacing:0.03125rem;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:500;
	color:#ffffff;
	background-color:#101010;
	z-index:3;
	top:0;
	left:0;
	transition:top 0.25s, left 0.25s, opacity 0.25s, background-color 0.25s;
}

.site-nav .menu-toggle:after
{
	display:none;
}

body:not(.touch) .site-nav .menu-toggle:hover
{
	color:#ffffff;
	background-color:#707070;
}

.site-nav .menu-toggle svg
{
	position:absolute;
	left:0.5rem;
	top:0;
	bottom:0;
	margin:auto 0;
	width:1.25rem;
	fill:#ffffff;
}

body:not(.touch) .site-nav .menu-toggle:hover svg
{
	fill:#ffffff;
}

.nav-open .site-nav .menu-toggle
{
	top:-2rem;
	left:3.75rem;
}

.search-open .site-nav .menu-toggle
{
	opacity:0;
	z-index:1;
}

.site-nav .menu-toggle svg g *
{
	transform-origin:center;
	transform-box:fill-box;
	transition:opacity 0.25s, transform 0.25s;
}
.nav-open .site-nav .menu-toggle svg .closed * {opacity:0;transform:scaleX(0);}
.nav-open .site-nav .menu-toggle svg .open * {transform:rotate(45deg);}
.nav-open .site-nav .menu-toggle svg .open * + * {transform:rotate(-45deg);}

.site-nav .menu
{
	display:block;
	position:absolute;
	top:0;
	right:-100%;
	width:100%;
	box-sizing:border-box;
	transition:right 0.5s;
	z-index:2;
}

.site-nav .menu a,
.site-nav .menu summary
{
	display:block;
	font-family:var(--font-b);
	letter-spacing:0.03125rem;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:500;
	color:#ffffff;
	transition:color 0.25s;
}

body:not(.touch) .site-nav .menu a:hover,
body:not(.touch) .site-nav .menu summary:hover
{
	color:#707070;
}

.site-nav .menu a:after
{
	display:none;
}

.nav-open .site-nav .menu 
{
	right:0;
}

.site-nav .menu .back
{
	position:fixed;
	top:0;
	right:-100%;
	width:100%;
	height:100%;
	transition:right 0.5s;
}

.nav-open .site-nav .menu .back
{
	right:0;
}

.site-nav .menu .back:before
{
	content:"";
	position:absolute;
	top:0;
	right:-200%;
	width:200%;
	height:100%;
	background-image:linear-gradient(to left, rgba(0,0,0,0.6) 0, rgba(0,0,0,0.6) 50%, rgba(0,0,0,0.0) 100%);
	transition:right 0.5s;
}

.nav-open .site-nav .menu .back:before
{
	right:0;
}

.site-nav .menu .back .container
{
	position:absolute;
	left:0;
	right:0;
	height:100%;
}

.site-nav .menu .back .container div
{
	position:relative;
	width:100%;
	max-width:20rem;
	height:100%;
}

.site-nav .menu .back .container div:after
{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100vw;
	height:100%;
	background-color:#101010;
}

.site-nav .menu .container
{
	display:flex;
	justify-content:right;
}

.site-nav .menu .inner
{
	position:relative;
	width:100%;
	max-width:20rem;
	padding:1.25rem 0 1.25rem 1.25rem;
	box-sizing:border-box;
	background-color:#101010;
}

.site-nav .menu .inner .home
{
	display:block;
	position:relative;
	margin-bottom:0.5rem;
	padding:0.5rem 0 0.5rem 3rem;
	font-size:1.25rem;
	line-height:1.5rem;
}

.site-nav .menu .inner .home img
{
	position:absolute;
	top:0;
	bottom:0;
	left:0.8125rem;
	width:1.375rem;
	margin:auto 0;
}

.site-nav .menu * + details
{
	border-top:0.0625rem solid #404040;
}

.site-nav .menu details summary
{
	position:relative;
	padding-left:3rem;
	padding:0.75rem 0 0.75rem 3rem;
	font-size:1.25rem;
	line-height:1.5rem;
}

.site-nav .menu details summary div
{
	display:flex;
	justify-content:center;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	width:3rem;
	height:100%;
	margin:auto 0;
}

.site-nav .menu details summary svg
{
	width:0.875rem;
	fill:#ffffff;
	transition:fill 0.25s, transform 0.25s;
}

.site-nav .menu details[open] summary svg
{
	transform:rotate(90deg);
}

body:not(.touch) .site-nav .menu details summary:hover svg
{
	fill:#707070;
}

.site-nav .menu details > ul
{
	margin-top:0.5rem;
	margin-bottom:var(--space-medium);
	padding:0 0 0 var(--space-small);
}

.site-nav .menu details > ul li
{
	display:block;
	list-style-type:none;
}

.site-nav .menu details > ul a
{
	padding:0.4375rem 0;
	font-size:0.875rem;
	line-height:1.125rem;
	text-transform:none;
}

.site-nav .menu .top-links
{
	display:flex;
	justify-content:space-between;
	gap:0.5rem;
	padding:1rem 0.75rem;
	border-top:0.0625rem solid #404040;
}

.site-nav .menu .top-links a
{
	font-size:0.75rem;
	line-height:1rem;
}

.site-nav .separator
{
	display:none;
}

._minimal .site-nav
{
	gap:0;
}

._minimal .site-nav > ul
{
	display:none;
}

._minimal .site-nav .menu-toggle
{
	padding:0.25rem 0.5rem;
	background-color:transparent;
}

._minimal.nav-open .site-nav .menu-toggle
{
	top:0.25rem;
}

body:not(.touch) ._minimal .site-nav .menu-toggle:hover
{
	background-color:transparent;
}

._minimal .site-nav .menu-toggle:after
{
	display:block;
}

._minimal .site-nav .menu-toggle svg
{
	position:static;
	width:1.5rem;
	height:1.5rem;
	fill:#101010;
}

body:not(.touch) ._minimal .site-nav .menu-toggle:hover svg {fill:#707070;}
._minimal.nav-open .site-nav .menu-toggle svg {fill:#ffffff;}
body:not(.touch) ._minimal.nav-open .site-nav .menu-toggle:hover svg {fill:#707070;}

._minimal .site-nav .menu-toggle span
{
	display:none;
}

._minimal .site-nav .separator
{
	display:block;
	position:relative;
}

._minimal .site-nav .separator:after
{
	content:"";
	position:absolute;
	right:-0.6875rem;
	bottom:0;
	width:0.0625rem;
	height:2rem;
	background-color:#c0c0c0;
}

._minimal.nav-open .site-nav .separator,
._minimal.search-open .site-nav .separator
{
	opacity:0;
}

.nojs .site-nav .menu-toggle
{
	z-index:1;
}

.nojs .site-nav .menu-close:target
{
	display:block;
	position:absolute;
	top:0;
	padding:0.25rem 0.5rem;
	box-sizing:border-box;
	z-index:3;
}

.nojs .site-nav .menu-close:target svg
{
	fill:#ffffff;
}

@media(max-width:1120px)
{
	.site-nav
	{
		gap:0;
	}
	
	.site-nav > ul
	{
		display:none;
	}
	
	.site-nav .menu-toggle
	{
		padding:0.25rem 0.5rem;
		background-color:transparent;
	}
	
	body:not(.touch) .site-nav .menu-toggle:hover
	{
		background-color:transparent;
	}
	
	.site-nav .menu-toggle:after
	{
		display:block;
	}
	
	.site-nav .menu-toggle svg
	{
		position:static;
		width:1.5rem;
		height:1.5rem;
		fill:#101010;
	}
	
	body:not(.touch) .site-nav .menu-toggle:hover svg {fill:#707070;}
	.nav-open .site-nav .menu-toggle svg {fill:#ffffff;}
	body:not(.touch) .nav-open .site-nav .menu-toggle:hover svg {fill:#707070;}
	
	.site-nav .menu-toggle span
	{
		display:none;
	}
	
	.site-nav .separator
	{
		display:block;
		position:relative;
	}

	.site-nav .separator:after
	{
		content:"";
		position:absolute;
		right:-0.6875rem;
		bottom:0;
		width:0.0625rem;
		height:2rem;
		background-color:#c0c0c0;
	}

	.nav-open .site-nav .separator,
	.search-open .site-nav .separator
	{
		opacity:0;
	}
}

@media(max-width:560px)
{
	.nav-open .site-nav .menu-toggle
	{
		top:-1.5rem;
	}
	
	.site-nav .menu,
	.site-nav .menu .back,
	.site-nav .menu .back:before
	{
		transition:right 0.25s;
	}
}

body:not(.touch).nojs .site-nav .menu-close:target:hover svg
{
	fill:#707070;
}

.nojs .site-nav .menu-close:target svg *
{
	transform-origin:center;
	transform-box:fill-box;
	transform:rotate(45deg);
}
.nojs .site-nav .menu-close:target svg * + * {transform:rotate(-45deg);}

.nojs .site-nav .menu 
{
	display:none;
}

.nojs .site-nav .menu-close:target + .menu 
{
	display:block;
	right:0;
}

.nojs .site-nav .menu-close:target + .menu .back,
.nojs .site-nav .menu-close:target + .menu .back:before
{
	right:0;
}

.site-search .menu-toggle,
.site-search .menu-close
{
	display:block;
	position:relative;
	padding:0.25rem 0.5rem;
	box-sizing:border-box;
	z-index:3;
	top:0;
	transition:opacity 0.25s;
}

.nav-open .site-search .menu-toggle
{
	opacity:0;
	z-index:1;
}

.site-search .menu-toggle svg {fill:#101010;}
body:not(.touch) .site-search .menu-toggle:hover svg {fill:#707070;}
.search-open .site-search .menu-toggle svg {fill:#ffffff;}
body:not(.touch) .search-open .site-search .menu-toggle:hover svg {fill:#707070;}

.site-search .menu-toggle svg .closed *
{
	transition:opacity 0.25s;
}

.site-search .menu-toggle svg .open *
{
	opacity:0;
	transform-origin:center;
	transform-box:fill-box;
	transition:opacity 0.25s, transform 0.25s;
}

.search-open .site-search .menu-toggle svg .closed * {opacity:0;}
.search-open .site-search .menu-toggle svg .open * {opacity:1 !important;transform:rotate(45deg);}
.search-open .site-search .menu-toggle svg .open * + * {transform:rotate(-45deg);}

.site-search .menu-close
{
	display:none;
}

.site-search .search 
{
	display:block;
	align-items:center;
	position:absolute;
	top:-110%;
	left:0;
	width:100%;
	height:100%;
	overflow:hidden;
	box-sizing:border-box;
	background-color:#101010;
	padding:3rem 0 1.5rem 0;
	box-shadow:0 0 0.5rem rgba(0,0,0,0.25);
	transition:top 0.25s;
	z-index:1;
}

._minimal .site-search .search 
{
	padding-top:0.75rem;
	padding-bottom:1.25rem;
}

.search-open .site-search .search
{
	top:0;
}

.site-search .search .inner
{
	padding-right:3.75rem;
}

.site-search form
{
	display:block;
	position:relative;
	margin:0;
	padding:0;
}

.site-search input[type="text"]
{
	display:block;
	width:100%;
	padding:0.625rem 0.625rem 0.5rem 2.5rem;
	margin:0;
	font-family:var(--font-a);
	font-size:1rem;
	line-height:1.25rem;
	color:#ffffff;
	background-color:transparent;
	border:none;
	border-bottom:0.125rem solid #ffffff;
	border-radius:0;
	box-sizing:border-box;
	cursor:pointer;
	-webkit-appearance:none;
}

.site-search input[type="text"]::placeholder
{
	color:#707070;
}

.site-search input[type="submit"]
{
	display:inline-block;
	position:absolute;
	right:0;
	bottom:0.375rem;
	padding:0.375rem 0.5rem;
	font-size:0.625rem;
	line-height:1rem;
	font-family:var(--font-b);
	letter-spacing:0.03125rem;
	text-transform:uppercase;
	color:#ffffff;
	background-color:transparent;
	border-radius:0;
	transition:background-color 0.25s;
}

body:not(.touch) .site-search input[type="submit"]:hover
{
	background-color:#404040;
}

.site-search form svg
{
	display:block;
	position:absolute;
	left:0.5rem;
	top:0.5rem;
	width:1.5rem;
	height:1.5rem;
	fill:#ffffff;
}

.nojs .site-search .menu-toggle
{
	z-index:1;
}

.nojs .site-search .menu-close:target
{
	display:block;
	position:absolute;
	top:0;
	padding:0.25rem 0.5rem;
	box-sizing:border-box;
	z-index:3;
}

.nojs .site-search .menu-close:target svg
{
	fill:#ffffff;
}

body:not(.touch).nojs .site-search .menu-close:target:hover svg
{
	fill:#707070;
}

.nojs .site-search .menu-close:target svg *
{
	transform-origin:center;
	transform-box:fill-box;
	transform:rotate(45deg);
}
.nojs .site-search .menu-close:target svg * + * {transform:rotate(-45deg);}

.nojs .site-search .search 
{
	display:none;
}

.nojs .site-search .menu-close:target + .search 
{
	display:block;
	top:0;
}

@media(max-width:560px)
{
	.site-search .search 
	{
		padding:2.75rem 0 1.25rem 0;
	}
}

.site-side-nav
{
	padding:0 1.25rem 1.25rem 1.25rem;
}

.site-side-nav .menu
{
	padding:0;
}

.site-side-nav .current-menu-parent > ul,
.site-side-nav .current_page_parent > ul
{
	padding:1.25rem 0 1.25rem 0.75rem;
	border-top:0.125rem solid #c0c0c0;
}

.site-side-nav .sub-menu ul
{
	padding:1.25rem 0 0.75rem 0.75rem;
}

.site-side-nav li
{
	display:block;
	position:relative;
	list-style-type:none;
}

.site-side-nav li + li
{
	margin-top:0.5rem;
}

.site-side-nav .sub-menu ul li + li
{
	margin-top:1rem;
}

.site-side-nav a
{
	display:block;
	position:relative;
	color:#101010;
	font-size:1rem;
	line-height:1.5rem;
	font-family:var(--font-b);
	font-weight:500;
}

body:not(.touch) .site-side-nav a:hover
{
	color:#b30838;
}

.site-side-nav .sub-menu ul a
{
	font-size:0.875rem;
	line-height:1.25rem;
}

.site-side-nav .current-menu-parent > a,
.site-side-nav .current_page_parent > a
{
	position:absolute;
	bottom:100%;
	padding:0.5rem 0 1.25rem 1.25rem;
	background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="%23101010"><polygon points="0 6 6 0 6 4 12 4 12 8 6 8 6 12 0 6"/></svg>');
	background-position:left 0.875rem;
	background-size:0.75rem;
	background-repeat:no-repeat;
}

.site-side-nav .current-menu-parent > ul > li > a:before,
.site-side-nav .current_page_parent > ul > li > a:before
{
	content:"";
	position:absolute;
	top:0.625rem;
	left:-0.75rem;
	width:0.25rem;
	height:0.25rem;
	background-color:#c0c0c0;
}

.site-side-nav .current-menu-parent > ul > .current-menu-item > a:before
{
	top:0.5rem;
	left:-0.8125rem;
	width:0;
	height:0;
	border-left:0.375rem solid #b30838;
	border-top:0.25rem solid transparent;
	border-bottom:0.25rem solid transparent;
	background-color:transparent;
}

@media(max-width:960px)
{
	.site-side-nav
	{
		padding:0.75rem 0 0 0;
	}
	
	.site-side-nav .current-menu-parent > ul,
	.site-side-nav .current_page_parent > ul
	{
		display:none;
	}
	
	body:not(.touch) .site-side-nav a:hover
	{
		color:#707070;
	}
	
	.site-side-nav .current-menu-parent > a,
	.site-side-nav .current_page_parent > a
	{
		position:static;
		padding-bottom:0;
		padding-left:1rem;
		font-size:0.875rem;
		background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="%23c0c0c0"><polygon points="0 6 6 0 6 4 12 4 12 8 6 8 6 12 0 6"/></svg>');
		background-position:left 0.9375rem;
		background-size:0.625rem;
		color:#c0c0c0;
	}
	
	.page._landing-navigation .site-side-nav .current-menu-parent > a,
	.page._landing-navigation .site-side-nav .current_page_parent > a
	{
		background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 12 12" fill="%23101010"><polygon points="0 6 6 0 6 4 12 4 12 8 6 8 6 12 0 6"/></svg>');
		color:#101010;
	}
}

.site-bulletin
{
	padding:var(--space) var(--space-large);
	background-color:#101010;
}

.site-bulletin > div
{
	max-width:75rem;
}

.site-bulletin > div *
{
	color:#ffffff;
	text-align:center;
	font-family:var(--font-b);
	line-height:1.5;
}

.site-bulletin a
{
	color:#ffffff;
	font-weight:500;
	text-decoration:underline;
	text-decoration-thickness:0.125rem;
}
body:not(.touch) .site-bulletin a:hover {color:#707070;}

.site-footer .subscribe
{
	background-color:#b30838;
	padding:var(--space-large) 0;
}

.site-footer .subscribe h2
{
	font-size:2.25rem;
	line-height:3rem;
	color:#ffffff;
}

.site-footer .subscribe form
{
	display:flex;
	flex-wrap:wrap;
	gap:1.25rem;
}

.site-footer .subscribe form .field
{
	flex:25rem 1 1;
}

.site-footer .subscribe form .submit
{
	display:flex;
	gap:1.25rem;
}

.site-footer .subscribe input[type="email"]
{
	display:block;
	width:100%;
	position:relative;
	margin:0;
	padding:0.5rem 1.5rem;
	font-family:var(--font-b);
	font-size:1.25rem;
	line-height:2.5rem;
	color:#101010;
	background-color:#ffffff;
	border:none;
	border-left:0 solid #61051e;
	border-radius:0.5rem;
	box-sizing:border-box;
	-webkit-appearance:none;
	z-index:1;
	transition:border-left-width 0.25s;
}

.site-footer .subscribe input[type="email"]:focus
{
	border-left-width:0.75rem;
}

.site-footer .subscribe input[type="email"]::placeholder
{
	color:#101010;
	transition:color 0.25s;
}

.site-footer .subscribe input[type="email"]:focus::placeholder
{
	color:#c0c0c0;
}

.site-footer .subscribe input[type="submit"]
{
	flex:auto 0 0;
	display:block;
	margin:0;
	padding:0.75rem 1.25rem;
	font-size:1.25rem;
	line-height:1.5rem;
	font-family:var(--font-b);
	text-transform:uppercase;
	letter-spacing:0.03125rem;
	font-weight:500;
	color:#ffffff;
	background-color:transparent;
	border-radius:0;
	border-top:0.25rem solid transparent;
	border-bottom:0.25rem solid #ffffff;
	transition:background-color 0.25s;
}

body:not(.touch) .site-footer .subscribe input[type="submit"]:hover
{
	background-color:#61051e;
}

.site-footer .lower
{
	background-color:#61051e;
	padding:var(--space-large) 0 5rem 0;
}

.site-footer .lower > .container
{
	display:grid;
	grid-template-columns:auto 1fr auto;
	grid-template-rows:auto auto;
	gap:var(--space) var(--gutter);
	grid-template-areas:"contact links about"
						"bottom bottom bottom";
}

.site-footer .contact
{
	grid-area:contact;
}

.site-footer .contact > div
{
	display:grid;
	grid-template-columns:auto;
	grid-template-rows:auto auto auto;
	grid-template-areas:"address"
						"actions"
						"social";
	gap:var(--space-small) var(--space);
}

.site-footer .contact .address {grid-area:address;}
.site-footer .contact .actions {grid-area:actions;}
.site-footer .contact .social {grid-area:social;padding-top:0.5rem;}

.site-footer .contact .logo
{
	margin-bottom:0.5rem;
}

.site-footer .contact .logo img
{
	width:100%;
	max-width:15rem;
}

.site-footer .contact address
{
	color:#ffffff;
	font-family:var(--font-b);
	font-size:0.9375rem;
	line-height:1.25rem;
	font-style:normal;
	font-weight:500;
}

.site-footer .contact .buttons + .buttons
{
	margin-top:var(--space-small);
}

.site-footer .contact ul
{
	display:flex;
	gap:var(--space);
	padding:0;
	margin:0;
}

.site-footer .contact li
{
	display:block;
	list-style-type:none;
}

.site-footer .contact li a
{
	transition:opacity 0.25s;
}

body:not(.touch) .site-footer .contact li a:hover
{
	opacity:0.6;
}

.site-footer .contact li img
{
	height:1.5rem;
	width:auto;
}

.site-footer .links
{
	grid-area:links;
}

.site-footer .links > div
{
	display:grid;
	grid-template-columns:1fr auto 1fr auto 1fr;
	grid-template-rows:auto auto auto;
	grid-template-areas:"x a y c z"
						"x a y d z"
						"x b y d z";
}

.site-footer .links ul
{
	padding:0;
	margin:0;
}

.site-footer .links ul:nth-child(1) {grid-area:a;}
.site-footer .links ul:nth-child(2) {grid-area:b;}
.site-footer .links ul:nth-child(3) {grid-area:c;}
.site-footer .links ul:nth-child(4) {grid-area:d;}

.site-footer .links li
{
	display:block;
	list-style-type:none;
}

.site-footer .links a
{
	display:block;
	padding:0.5rem 0;
	color:#ffffff;
	font-family:var(--font-b);
	font-size:0.875rem;
	line-height:1.25rem;
	text-transform:uppercase;
}

body:not(.touch) .site-footer .links a:hover
{
	color:#707070;
}

.site-footer .about
{
	grid-area:about;
	display:flex;
	flex-direction:column;
	align-items:center;
	gap:var(--space-medium);
}

.site-footer .about .link
{
	position:relative;
}

.site-footer .about .link:before
{
	content:"";
	position:absolute;
	left:-0.5rem;
	top:-0.5rem;
	width:100%;
	height:100%;
	padding:0.5rem;
	transition:background-color 0.25s;
}

body:not(.touch) .site-footer .about .link:hover:before
{
	background-color:rgba(0,0,0,0.25);
}

.site-footer .about .link img
{
	position:relative;
	z-index:1;
}

.site-footer .badges
{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:var(--space-medium);
}

.site-footer .bottom
{
	display:flex;
	flex-wrap:wrap;
	gap:var(--space) var(--space-large);
	justify-content:space-between;
	grid-area:bottom;
	padding-top:var(--space);
	border-top:1px solid #ffffff;
}

.site-footer .bottom *
{
	color:#ffffff;
	font-size:0.875rem;
	line-height:1.25rem;
}

.site-footer .bottom ul
{
	display:flex;
	flex-wrap:wrap;
	gap:var(--space-small) var(--space) ;
	padding:0;
	margin:0;
}

.site-footer .bottom li
{
	display:block;
	list-style-type:none;
}

.site-footer .bottom a
{
	font-family:var(--font-b);
	font-size:0.75rem;
	line-height:1rem;
	text-transform:uppercase;
	padding:0.125rem 0;
	border-bottom:0.0625rem solid #ffffff;
	transition:color 0.25s, border-bottom-color 0.25s;
}

body:not(.touch) .site-footer .bottom a:hover
{
	border-bottom-color:#707070;
}

@media(max-width:1080px)
{
	.site-footer .about .link img
	{
		width:15rem;
	}
}

@media(max-width:960px)
{
	.site-footer .lower > .container
	{
		grid-template-columns:auto 1fr;
		grid-template-rows:auto auto auto;
		grid-template-areas:"contact links"
							"about about"
							"bottom bottom";
	}
	
	.site-footer .about
	{
		flex-direction:row;
	}
}

@media(max-width:720px)
{
	.site-footer .subscribe h2
	{
		font-size:1.5rem;
		line-height:2.25rem;
	}
	
	.site-footer .subscribe form
	{
		gap:0.75rem;
	}
	
	.site-footer .subscribe input[type="email"]
	{
		padding:0.5rem 1rem;
		font-size:1rem;
		line-height:1.75rem;
		border-radius:0.375rem;
	}
	
	.site-footer .subscribe input[type="submit"]
	{
		padding:0.5rem 1rem;
		font-size:1rem;
		line-height:1.25rem;
	}
	
	.site-footer .lower > .container
	{
		grid-template-columns:1fr;
		grid-template-rows:auto auto auto auto;
		grid-template-areas:"contact"
							"links"
							"about"
							"bottom";
	}
	
	.site-footer .contact > div
	{
		display:grid;
		grid-template-columns:auto 1fr;
		grid-template-rows:auto auto;
		grid-template-areas:"address actions"
							"social social";
		gap:var(--space-small) var(--space);
	}
	
	.site-footer .links
	{
	    padding:var(--space-small) 0;
    	border-top:1px solid rgba(0,0,0,0.125);
    	border-bottom:1px solid rgba(0,0,0,0.125);
	}
	
	.site-footer .links > div
	{
		grid-template-columns:auto auto auto 1fr;
		grid-template-rows:auto auto;
		grid-template-areas:"a b d x"
							"a c d x";
		gap:0 var(--space-large);
	}
	
	.site-footer .bottom
	{
		border-top:1px solid rgba(0,0,0,0.125);
	}
}

@media(max-width:600px)
{
	.site-footer .subscribe input[type="submit"]
	{
		padding:0.375rem 0.5rem;
		font-size:0.875rem;
	}
	
	.site-footer .links > div
	{
		grid-template-columns:auto auto 1fr;
		grid-template-rows:auto auto auto;
		grid-template-areas:"a c x"
							"a d x"
							"b d x";
	}
	
	.site-footer .about
	{
		max-width:20rem;
		flex-direction:column;
		align-items:start;
	}
	
	.site-footer .about .link img
	{
		width:20rem;
	}
}

@media(max-width:440px)
{
	.site-footer .contact > div
	{
		grid-template-columns:auto;
		grid-template-rows:auto auto auto;
		grid-template-areas:"address"
							"actions"
							"social";
	}
	
	.site-footer .contact .actions .buttons
	{
		justify-content:start;
	}
}

@media(max-width:400px)
{
	.site-footer .links > div
	{
		grid-template-columns:1fr;
		grid-template-rows:auto auto auto auto;
		grid-template-areas:"a"
							"b"
							"c"
							"d";
	}
	
	.site-footer .links a
	{
		position:relative;
		padding-left:0.75rem;
	}
	
	.site-footer .links a:before
	{
		content:"";
		position:absolute;
		left:0;
		top:1rem;
		width:0.25rem;
		height:0.25rem;
		background-color:#ffffff;
	}
}

/*
POST META
*/

.post-meta
{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:flex-start;
	gap:0.5rem;
}
.post-meta._stretched {justify-content:space-between;}
.post-meta._border-top {padding-top:1.5rem;border-top:0.125rem solid #c0c0c0;}
.post-meta._border-bottom {padding-bottom:1.5rem;border-bottom:0.125rem solid #c0c0c0;}

.post-meta .separated
{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	gap:0.5rem 1rem;
}

.post-meta .separated > *
{
	position:relative;
}

.post-meta .separated > *:after
{
	content:"|";
	display:block;
	position:absolute;
	left:100%;
	top:0;
	bottom:0;
	margin:auto 0;
	width:1rem;
	text-align:center;
	font-size:0.875rem;
	line-height:1rem;
	height:1rem;
	color:#101010;
}
.post-meta .separated > *:last-child:after {display:none;}

@media(max-width:480px)
{
	.post-meta
	{
		flex-direction:column;
		align-items:flex-start;
	}
	
	.post-meta .separated
	{
		flex-direction:column;
		align-items:flex-start;
	}
	
	.post-meta .separated > *:after
	{
		display:none;
	}
	
	.post-meta .dropper._right .content
	{
		left:0;
		right:auto;
	}
}

/*
ENTRY
*/

.entry .meta
{
	font-size:0.875rem;
	line-height:1.25rem;
	text-transform:uppercase;
	font-family:var(--font-b);
}

.entry._item-basic
{
	height:100%;
}

.entry._item-basic .link
{
	display:grid;
	grid-template-rows:auto 1fr;
	height:100%;
}

.entry._item-basic .body
{
	position:relative;
	margin-top:0.5rem;
	margin-bottom:0.75rem;
	padding:0 0.5rem 1.25rem 0.5rem;
	border:0.125rem solid #c0c0c0;
	border-top:none;
	transition:border-color 0.25s;
}

body:not(.touch) .entry._item-basic .link:hover .body
{
	border-color:#707070;
}

.entry._item-basic .inner
{
	width:100%;
	padding:0.5rem;
	background-image:linear-gradient(to top, rgba(0,0,0,1.0) 0, rgba(0,0,0,0.0) 100%);
}

.entry._item-basic .inner *
{
	color:#ffffff;
	text-shadow:0 0 0.25rem rgba(0,0,0,0.25);
}

.entry._item-basic .excerpt
{
	margin-top:0.75rem;
}

.entry._item-basic .more
{
	display:flex;
	justify-content:center;
	position:absolute;
	bottom:-0.8125rem;
	left:0;
	width:100%;
	text-align:center;
}

.entry._item-basic .more div
{
	padding:0.25rem 0.75rem;
	font-family:var(--font-b);
	text-transform:uppercase;
	font-size:0.875rem;
	line-height:1rem;
	color:#000000;
	background-color:#c0c0c0;
	border-left:0.5rem solid #ffffff;
	border-right:0.5rem solid #ffffff;
	transition:background-color 0.25s;
}

body:not(.touch) .entry._item-basic .link:hover .more div
{
	background-color:#707070;
}

.entry._item-basic-event .body
{
	padding-bottom:0.5rem;
}

.entry._item-basic-event .inner
{
	padding:0;
	background-image:none;
}

.entry._item-basic-event._past .inner:after
{
	content:"Past Event";
	position:absolute;
	right:0;
	bottom:0;
	padding:0.25rem 0.5rem;
	background-color:#101010;
	color:#ffffff;
	font-size:0.875rem;
	line-height:1rem;
	font-family:var(--font-b);
}
	
.entry._item-basic-event .inner .dates *
{
	text-shadow:none;
}

.entry._item-basic-event .inner .dates > *
{
	padding:0.5rem;
	background-color:#b30838;
}

.entry._item-basic-event._past .inner .dates > *
{
	background-color:#101010;
}

.entry._item-basic-event._past .frame img
{
	filter:sepia(1);
}

.entry._item-pod .inner
{
	width:100%;
	padding:var(--space-small);
	padding-top:var(--space-large);
	box-sizing:border-box;
	background-image:linear-gradient(to top, rgba(0,0,0,1.0) 0, rgba(0,0,0,0.0) 100%);
}

.entry._item-pod .inner *
{
	max-width:30rem;
	color:#ffffff;
	text-shadow:0 0 0.25rem rgba(0,0,0,0.25);
}

.entry._item-pod .inner * + *
{
	margin-top:0.5rem;
}

.entry._banner
{
	padding:var(--space-large) 0;
	background-image:linear-gradient(to right, #b30838 0, #61051e 100%);
}

.entry._banner .layout > :first-child
{
	box-shadow:0 0.25rem 0.75rem rgba(0,0,0,0.5);
}

.entry._banner .inner
{
	max-width:30rem;
	box-sizing:border-box;
}

.entry._item-block .link
{
	border-top:0.375rem solid #61051e;
}

.entry._item-block .cover
{
	align-items:stretch;
}

.entry._item-block .inner
{
	display:flex;
	flex-direction:column;
    justify-content:space-between;
    align-items:start;
	position:relative;
}

.entry._item-block .pretitle
{
	position:absolute;
	left:1.25rem;
	top:-1.125rem;
	background-color:#b30838;
	padding:0.25rem 0.75rem;
	color:#ffffff;
	font-family:var(--font-b);
	font-weight:500;
	z-index:1;
}

.entry._item-block .title
{
	min-width:12rem;
	padding:1.25rem 1.25rem 0.5rem 1.25rem;
	background-color:#61051e;
	color:#ffffff;
	font-family:var(--font-b);
	font-weight:500;
	box-sizing:border-box;
}

.entry._item-block .excerpt
{
	padding:0.75rem 1.25rem;
	background-color:rgba(0,0,0,0.5);
	color:#ffffff;
	box-sizing:border-box;
}

.entry._graphic
{
	width:100%;
	max-width:20rem;
	margin:0 auto;
}

.entry._graphic .frame
{
	max-width:15rem;
	margin:0 auto;
	background-color:transparent;
}

.entry._graphic .frame .box
{
	padding-bottom:60%;
}

.entry._graphic .frame img
{
	object-fit:contain;
}

.entry._graphic .title
{
	text-align:center;
	font-family:var(--font-b);
	font-weight:800;
	font-size:0.875rem;
	line-height:1.25rem;
	padding-bottom:0.5rem;
	border-bottom:0.0625rem solid #e0e0e0;
	margin-bottom:var(--space);
	transition:color 0.25s, border-bottom-color 0.25s;
}

.entry._graphic .excerpt
{
	max-width:15rem;
	text-align:center;
	font-family:var(--font-b);
	font-weight:500;
	font-size:1rem;
	line-height:1.5rem;
	color:#707070;
	margin:var(--space) auto 0 auto;
	transition:color 0.25s;
}
body:not(.touch) .entry._graphic .link:hover .title {color:#b30838;border-bottom-color:#b30838;}
body:not(.touch) .entry._graphic .link:hover .excerpt {color:#b30838;}

.entry._calendar-event .link
{
	display:flex;
	align-items:start;
	position:relative;
	padding:0.375rem;
	background-color:#f0f0f0;
	gap:var(--space-small);
}

.entry._calendar-event .link:after
{
	content:"";
	position:absolute;
	right:0;
	top:0;
	width:0;
	height:100%;
	background-color:#707070;
	transition:width 0.25s;
}

body:not(.touch) .entry._calendar-event .link:hover:after
{
	width:0.5rem;
}

.entry._calendar-event .dates > *
{
	padding:0.5rem;
	background-color:#101010;
}

.entry._calendar-event .body
{
	padding-right:0.5rem;
	align-self:center;
	width:100%;
	box-sizing:border-box;
}

.entry._calendar-event .title
{
	font-size:1.125rem;
}

.entry._calendar-event .post-meta
{
	margin-top:0.25rem;
}

.entry._calendar-event .post-meta > *
{
	padding:0.25rem 0.5rem;
	border:1px solid #c0c0c0;
	color:#707070;
	font-size:0.75rem;
	line-height:0.875rem;
	font-family:var(--font-b);
	text-transform:uppercase;
}

.entry._calendar-event .excerpt
{
	margin-top:0.25rem;
	font-size:1rem;
}

@media(max-width:400px)
{
	.entry._calendar-event .link
	{
		flex-direction:column;
	}
}

/*
HEADING
*/

.heading > *
{
	text-transform:uppercase;
}

.heading._underline > *
{
	padding-bottom:0.5rem;
	border-bottom:0.125rem solid #c0c0c0;
}

.heading._grand > *
{
	font-weight:600;
	color:#101010;
}

a.heading
{
	display:block;
}

a.heading > *
{
	color:#101010;
	transition:color 0.25s;
}
body:not(.touch) a.heading:hover > * {color:#b30838;}

a.heading._underline > *
{
	transition:color 0.25s, border-color 0.25s;
}
body:not(.touch) a.heading._underline:hover > * {border-color:#b30838;}

/*
LINES
*/

.lines
{
	display:flex;
	justify-content:center;
	overflow:hidden;
	padding-left:var(--space);
	padding-right:var(--space);
}
.lines._left {padding-left:0;justify-content:left;}
.lines._right {padding-right:0;justify-content:right;}

.lines > *
{
	position:relative;
	padding-left:var(--space);
	padding-right:var(--space);
	box-sizing:border-box;
}
.lines._left > * {padding-left:0;}
.lines._right > * {padding-right:0;}

.lines > *:before,
.lines > *:after
{
	content:"";
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
	width:100vw;
	height:0.125rem;
	background-color:#b30838;
}

.lines > *:before {right:100%;}
.lines > *:after {left:100%;}

.lines._white > *:before,
.lines._white > *:after
{
	background-color:#ffffff;
}

.lines._black > *:before,
.lines._black > *:after
{
	background-color:#101010;
}

.lines._gray > *:before,
.lines._gray > *:after
{
	background-color:#c0c0c0;
}

a.lines > *
{
	padding-top:0.375rem;
	padding-bottom:0.375rem;
	background-color:#b30838;
	color:#ffffff;
	transition:background-color 0.25s;
}

a.lines:hover > *
{
	background-color:#707070;
}

a.lines > *:before,
a.lines > *:after
{
	height:0.5rem;
	transition:background-color 0.25s;
}

body:not(.touch) a.lines:hover > *:before,
body:not(.touch) a.lines:hover > *:after
{
	background-color:#707070;
}

/*
PAGE HEADER
*/

.page-header
{
	position:relative;
}

.page-header._basic
{
	padding:var(--space-large) 0;
	background-image:linear-gradient(to right, #b30838 0, #61051e 100%);
}

.page-header._basic .image
{
	display:none;
}

.page-header._basic header
{
	max-width:50rem;
}

.page-header._basic .title
{
	color:#ffffff;
}

@media(max-width:960px)
{
	.page-header._basic
	{
		padding:var(--space) 0;
	}
	
	.page-header._basic .image
	{
		display:block;
		width:12rem;
		padding:0.25rem;
		margin-bottom:var(--space-small);
		background-color:#ffffff;
	}
}

@media(max-width:640px)
{
	.page-header._basic .image
	{
		width:8rem;
	}
}

.page-header._section
{
	background-color:#b30838;
	overflow:hidden;
}

.page-header._section .container
{
	display:grid;
	grid-template-columns:32rem 1fr;
	grid-template-areas:"a b";
	position:relative;
	column-gap:var(--space-medium);
}

.page-header._section .image
{
	grid-area:a;
}

.page-header._section .image .frame
{
	box-shadow:0 0 0.375rem rgba(0,0,0,0.5);
}

.page-header._section header
{
	grid-area:b;
	align-self:end;
}

.page-header._section header > *
{
	padding:var(--space-medium) 0;
	color:#ffffff;
}

@media(max-width:960px)
{
	.page-header._section .container
	{
		grid-template-columns:24rem 1fr;
	}
}

@media(max-width:800px)
{
	.page-header._section .container
	{
		display:block;
		padding:0;
	}
	
	.page-header._section header
	{
		padding-left:var(--edge);
		padding-right:var(--edge);
	}
}

.page-header._landing
{
	margin-bottom:0.75rem;
}

.page-header._landing._image
{
	margin-bottom:0;
}

.page-header._landing .image
{
	position:relative;
	background-color:#000000;
	overflow:hidden;
}

.page-header._landing .image .container
{
	max-width:100rem;
	padding:0;
}

.page-header._landing .frame > .box
{
	padding-bottom:37.5%;
}

.page-header._landing header
{
	position:relative;
	z-index:1;
	background-color:#61051e;
}

.page-header._landing header .container
{
	display:flex;
}

.page-header._landing header .inner
{
	display:flex;
	align-items:center;
	position:relative;
	margin-top:-3rem;
	margin-bottom:-0.75rem;
	padding:var(--space-small) var(--space-medium);
	background-color:#b30838;
	box-sizing:border-box;
	min-height:5rem;
	z-index:1;
}

.page-header._landing._image header .inner
{
	width:100%;
	margin-bottom:0;
	padding-bottom:0;
	background-color:#ffffff;
}

.page-header._landing header .title
{
	width:100%;
	text-align:center;
	font-size:3rem;
	font-weight:bold;
	color:#ffffff;
	font-size:clamp(1.75rem, 4.3vw, 3rem);
	line-height:1.25;
}
.page-header._landing header .title._small {font-size:clamp(1.75rem, 3vw, 2.5rem);}
.page-header._landing header .title._medium {font-size:clamp(1.75rem, 5.3vw, 4rem);}
.page-header._landing header .title._large {font-size:clamp(1.75rem, 7vw, 5rem);}

.page-header._landing header .title._1 {font-size:clamp(1.75rem, 6vw, 4.5rem);}
.page-header._landing header .title._2 {font-size:clamp(1.75rem, 5.5vw, 4.125rem);}
.page-header._landing header .title._3 {font-size:clamp(1.75rem, 5vw, 3.75rem);}
.page-header._landing header .title._4 {font-size:clamp(1.75rem, 4.5vw, 3.375rem);}
.page-header._landing header .title._5 {font-size:clamp(1.75rem, 4vw, 3rem);}

@media(max-width:1080px)
{
	.page-header._landing .frame > .box
	{
		padding-bottom:50%;
	}
}

@media(max-width:640px)
{
	.page-header._landing header .title {font-size:1.75rem;}
}

/*
PAGE
*/

.page._basic > .layout
{
	grid-template-columns:16rem 1fr;
	grid-template-rows:auto auto;
	grid-template-areas:"side title"
						"nav body";
	column-gap:var(--gutter);
}

.page._basic > .layout > .header-back
{
	grid-area:side / side / title / title;
	position:relative;
}

.page._basic > .layout > .header-back div
{
	position:absolute;
	left:50%;
	top:0;
	width:50%;
	height:100%;
}

.page._basic > .layout > .header-back div:after
{
	content:"";
	position:absolute;
	left:-50vw;
	top:0;
	width:100vw;
	height:100%;
	background-color:#b30838;
}

.page._basic > .layout > header
{
	grid-area:title;
	position:relative;
}

.page._basic > .layout > header .title
{
	position:relative;
	padding:var(--space) 0;
	color:#ffffff;
}

.page._basic > .layout > .sidebar-back
{
	grid-area:side / side / nav / nav;
	position:relative;
	background-color:#e0e0e0;
	z-index:1;
}

.page._basic > .layout > .sidebar
{
	grid-area:nav;
	position:relative;
	z-index:1;
}

.page._basic > .layout > .body
{
	grid-area:body;
	padding-top:var(--space-large);
}

@media(max-width:960px)
{
	.page._basic > .layout
	{
		grid-template-columns:1fr;
		grid-template-rows:auto auto auto;
		grid-template-areas:"nav"
							"title"
							"body";
	}
	
	.page._basic > .layout > .sidebar-back
	{
		display:none;
	}
	
	.page._basic > .layout > .header-back
	{
		grid-area:nav / nav / title / title;
	}
	
	.page._basic > .layout > header .title
	{
		padding-top:0;
		padding-bottom:var(--space);
	}
}

.page._section > .layout
{
	grid-template-columns:16rem 1fr;
	grid-template-rows:auto auto auto;
	grid-template-areas:"title title"
						"image image"
						"side body";
	column-gap:var(--gutter);
}

.page._section > .layout > .header-back
{
	grid-area:title;
	position:relative;
}

.page._section > .layout > header
{
	grid-area:title;
	position:relative;
	align-self:end;
}

.page._section > .layout > header .title
{
	position:relative;
	padding:var(--space-medium) 0;
	color:#ffffff;
}

.page._section > .layout > .image
{
	grid-area:image;
	position:relative;
}

.page._section > .layout > .header-back *,
.page._section > .layout > .image .back *
{
	position:absolute;
	left:50%;
	top:0;
	width:50%;
	height:100%;
}

.page._section > .layout > .header-back *:after,
.page._section > .layout > .image .back *:after
{
	content:"";
	position:absolute;
	left:-50vw;
	top:0;
	width:100vw;
	height:100%;
}

.page._section > .layout > .header-back *:after {background-color:#b30838;}
.page._section > .layout > .image .back *:after {background-color:#61051e;}

.page._section > .layout > .sidebar-back
{
	grid-area:side;
	position:relative;
	background-color:#e0e0e0;
	z-index:1;
}

.page._section > .layout > .sidebar
{
	grid-area:side;
	position:relative;
	z-index:1;
	margin-top:7rem;
}

.page._section > .layout > .body
{
	grid-area:body;
	padding-top:var(--space-large);
}

@media(max-width:960px)
{
	.page._section > .layout
	{
		grid-template-columns:1fr;
		grid-template-rows:auto auto auto auto;
		grid-template-areas:"side"
							"title"
							"image"
							"body";
	}
	
	.page._section > .layout > .header-back
	{
		grid-area:side / side / title / title;
	}
	
	.page._section > .layout > header .title
	{
		padding-top:0;
		padding-bottom:var(--space);
	}
	
	.page._section > .layout > .sidebar-back
	{
		display:none;
	}
	
	.page._section > .layout > .sidebar
	{
		margin-top:0;
	}
}

.page._landing-navigation > .layout
{
	grid-template-columns:16rem 1fr;
	grid-template-rows:auto auto;
	grid-template-areas:"nav body";
	column-gap:var(--gutter);
}

.page._landing-navigation > .layout > .sidebar
{
	grid-area:nav;
	position:relative;
	padding-top:7rem;
	background-color:#e0e0e0;
	z-index:1;
}

.page._landing-navigation > .layout > .body
{
	grid-area:body;
	padding-top:var(--space-large);
}

@media(max-width:960px)
{
	.page._landing-navigation > .layout
	{
		grid-template-columns:1fr;
		grid-template-rows:auto auto;
		grid-template-areas:"nav"
							"body";
	}
	
	.page._landing-navigation > .layout > .sidebar
	{
		padding-top:0;
		background-color:transparent;
	}
}

.page-header._section
{
	background-color:#b30838;
	overflow:hidden;
}

.page-header._section .container
{
	display:grid;
	grid-template-columns:32rem 1fr;
	grid-template-areas:"a b";
	position:relative;
	column-gap:var(--space-medium);
}

.page-header._section .image
{
	grid-area:a;
}

.page-header._section .image .frame
{
	box-shadow:0 0 0.375rem rgba(0,0,0,0.5);
}

.page-header._section header
{
	grid-area:b;
	align-self:end;
}

.page-header._section header > *
{
	padding:var(--space-medium) 0;
	color:#ffffff;
}

@media(max-width:960px)
{
	.page-header._section .container
	{
		grid-template-columns:24rem 1fr;
	}
}

@media(max-width:800px)
{
	.page-header._section .container
	{
		display:block;
		padding:0;
	}
	
	.page-header._section header
	{
		padding-left:var(--edge);
		padding-right:var(--edge);
	}
}

/*
BLOCK PODS
*/

.block-pods > .container
{
	display:grid;
	max-width:90rem;
	padding:0;
}

.block-pods._2-pods > .container
{
	grid-template-columns:repeat(2, 1fr);
	grid-template-areas:"header-1 header-2"
						"body-1 body-2"
						"links-1 links-2";
}

.block-pods._3-pods > .container
{
	grid-template-columns:repeat(3, 1fr);
	grid-template-rows:repeat(3, auto);
	grid-template-areas:"header-1 header-2 header-3"
						"body-1 body-2 body-3"
						"links-1 links-2 links-3";
}

.block-pods .pod-1.header {grid-area:header-1;}
.block-pods .pod-2.header {grid-area:header-2;}
.block-pods .pod-3.header {grid-area:header-3;}
.block-pods .pod-1.image {grid-area:body-1;}
.block-pods .pod-2.image {grid-area:body-2;}
.block-pods .pod-3.image {grid-area:body-3;}
.block-pods .pod-1.links {grid-area:links-1;}
.block-pods .pod-2.links {grid-area:links-2;}
.block-pods .pod-3.links {grid-area:links-3;}

.block-pods .header
{
	display:flex;
	justify-self:center;
	padding:0 var(--space);
}

.block-pods .title
{
	position:relative;
	color:#ffffff;
	text-align:center;
	background-color:#b30838;
	padding:0.25rem 0.75rem;
	margin-bottom:-1.125rem;
	z-index:1;
}

.block-pods .image
{
	position:relative;
	border-top:0.375rem solid #61051e;
	border-bottom:0.375rem solid #101010;
}

.block-pods .image .cover
{
	background-color:transparent;
	align-items:start;
}

.block-pods .image .inner
{
	padding:1.25rem 1.25rem 0.5rem 1.25rem;
	box-sizing:border-box;
	background-color:#101010;
	color:#ffffff;
	font-family:var(--font-b);
	font-weight:500;
}

.block-pods .links
{
	position:relative;
	align-self:start;
	padding:0 var(--space-small) var(--space) var(--space-small);
	border-left:0.0625rem solid rgba(0,0,0,0.125);
	border-right:0.0625rem solid rgba(0,0,0,0.125);
	z-index:1;
}

.block-pods .back
{
	grid-column:1 / 4;
	grid-row:3 / 4;
	background-color:#b30838;
}

@media(max-width:960px)
{
	.block-pods > .container
	{
		grid-template-columns:1fr;
		max-width:30rem;
	}
	
	.block-pods._2-pods > .container
	{
		grid-template-rows:repeat(6, auto);
		grid-template-columns:1fr;
		grid-template-areas:"header-1"
							"body-1"
							"links-1"
							"header-2"
							"body-2"
							"links-2";
	}
	
	.block-pods._3-pods > .container
	{
		grid-template-rows:repeat(9, auto);
		grid-template-columns:1fr;
		grid-template-areas:"header-1"
							"body-1"
							"links-1"
							"header-2"
							"body-2"
							"links-2"
							"header-3"
							"body-3"
							"links-3";
	}
	
	.block-pods .header
	{
		margin-top:var(--space);
	}
	
	.block-pods .links
	{
		background-color:#b30838;
		border:none;
	}
}

/*
LINE HEADING
*/

.line-feature
{
	position:relative;
}

.line-feature:before,
.line-feature:after
{
	content:"";
	display:none;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto var(--space-small);
	width:100vw;
	height:0.5rem;
	background-color:#b30838;
}

.line-feature._left:before
{
	display:block;
	right:100%;
}

.line-feature._right:after
{
	display:block;
	left:100%;
}

/*
CAROUSEL
*/

.carousel .carousel-outer
{
	position:relative;
	min-height:5rem;
	padding-left:2.5rem;
	padding-right:2.5rem;
}
.carousel._arrow-margin-4 .carousel-outer {padding-left:2.25rem;padding-right:2.25rem;}
.carousel._arrow-margin-8 .carousel-outer {padding-left:2.5rem;padding-right:2.5rem;}
.carousel._arrow-margin-12 .carousel-outer {padding-left:2.75rem;padding-right:2.75rem;}
.carousel._arrow-margin-16 .carousel-outer {padding-left:3rem;padding-right:3rem;}
.carousel._arrow-margin-20 .carousel-outer {padding-left:3.25rem;padding-right:3.25rem;}

.carousel .carousel-outer > .inner
{
	overflow:hidden;
}

.carousel .carousel-outer > .inner > div
{
	margin:0;
}
.carousel._gutter-4 .carousel-outer > .inner > div {margin:0 -0.125rem;}
.carousel._gutter-6 .carousel-outer > .inner > div {margin:0 -0.1875rem;}
.carousel._gutter-8 .carousel-outer > .inner > div {margin:0 -0.25rem;}
.carousel._gutter-12 .carousel-outer > .inner > div {margin:0 -0.375rem;}
.carousel._gutter-16 .carousel-outer > .inner > div {margin:0 -0.5rem;}
.carousel._gutter-20 .carousel-outer > .inner > div {margin:0 -0.625rem;}

.carousel .view
{
	display:grid;
	grid-template-columns:100%;
}
.carousel[data-slides="2"] .view {width:50%;}
.carousel[data-slides="3"] .view {width:33.333333%;}
.carousel[data-slides="4"] .view {width:25%;}
.carousel[data-slides="5"] .view {width:20%;}
.carousel[data-slides="6"] .view {width:16.666666%;}

.carousel .item
{
	visibility:hidden;
	position:relative;
	grid-column:1;
	grid-row:1;
	box-sizing:border-box;
}

.carousel._ready .item {transition:left 0.75s;}
.carousel._ready[data-slides="2"] .item {transition:left 0.625s;}
.carousel._ready[data-slides="3"] .item {transition:left 0.5s;}
.carousel._ready[data-slides="4"] .item {transition:left 0.5s;}
.carousel._ready[data-slides="5"] .item {transition:left 0.5s;}
.carousel._ready[data-slides="6"] .item {transition:left 0.5s;}

.carousel._gutter-4 .item {padding:0 0.125rem;}
.carousel._gutter-6 .item {padding:0 0.1875rem;}
.carousel._gutter-8 .item {padding:0 0.25rem;}
.carousel._gutter-12 .item {padding:0 0.375rem;}
.carousel._gutter-16 .item {padding:0 0.5rem;}
.carousel._gutter-20 .item {padding:0 0.625rem;}

.carousel .item.displayed--1 {visibility:inherit;left:-100%;}
.carousel .item.displayed-0 {visibility:inherit;left:0;}
.carousel .item.displayed-1 {visibility:inherit;left:100%;}
.carousel .item.displayed-2 {visibility:inherit;left:200%;}
.carousel .item.displayed-3 {visibility:inherit;left:300%;}
.carousel .item.displayed-4 {visibility:inherit;left:400%;}
.carousel .item.displayed-5 {visibility:inherit;left:500%;}
.carousel .item.displayed-6 {visibility:inherit;left:600%;}

.carousel .arrow
{
	position:absolute;
	width:2rem;
	height:100%;
	left:0;
	top:0;
}

.carousel._controls-top .arrow
{
	max-height:8rem;
}

.carousel .arrow._next
{
	left:auto;
	right:0;
}

.carousel._finite[data-index="0"] .arrow._prev,
.carousel._finite[data-slides="1"][data-after="0"] .arrow._next,
.carousel._finite[data-slides="2"][data-after="0"] .arrow._next,
.carousel._finite[data-slides="2"][data-after="1"] .arrow._next,
.carousel._finite[data-slides="3"][data-after="0"] .arrow._next,
.carousel._finite[data-slides="3"][data-after="1"] .arrow._next,
.carousel._finite[data-slides="3"][data-after="2"] .arrow._next,
.carousel._finite[data-slides="4"][data-after="0"] .arrow._next,
.carousel._finite[data-slides="4"][data-after="1"] .arrow._next,
.carousel._finite[data-slides="4"][data-after="2"] .arrow._next,
.carousel._finite[data-slides="4"][data-after="3"] .arrow._next,
.carousel._finite[data-slides="5"][data-after="0"] .arrow._next,
.carousel._finite[data-slides="5"][data-after="1"] .arrow._next,
.carousel._finite[data-slides="5"][data-after="2"] .arrow._next,
.carousel._finite[data-slides="5"][data-after="3"] .arrow._next,
.carousel._finite[data-slides="5"][data-after="4"] .arrow._next,
.carousel._finite[data-slides="6"][data-after="0"] .arrow._next,
.carousel._finite[data-slides="6"][data-after="1"] .arrow._next,
.carousel._finite[data-slides="6"][data-after="2"] .arrow._next,
.carousel._finite[data-slides="6"][data-after="3"] .arrow._next,
.carousel._finite[data-slides="6"][data-after="4"] .arrow._next,
.carousel._finite[data-slides="6"][data-after="5"] .arrow._next
{
	display:none;
}

.carousel .arrow:before
{
	content:"";
	position:absolute;
	right:0;
	top:0;
	bottom:0;
	width:0.375rem;
	height:4.75rem;
	margin:auto 0;
	background-color:#101010;
	border-radius:0.375rem 0 0 0.375rem;
	transition:background-color 0.25s;
}

.carousel._controls-top .arrow:before
{
	height:100%;
}

.carousel._lite-arrows .arrow:before
{
	display:none;
}

.carousel._controls-top .arrow
{
	max-height:8rem;
}

.carousel .arrow._next:before
{
	right:auto;
	left:0;
	border-radius:0 0.375rem 0.375rem 0;
}

body:not(.touch) .carousel .arrow:hover:before
{
	background-color:#707070;
}

.carousel .arrow div
{
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	width:100%;
	height:4rem;
	margin:auto 0;
	box-sizing:border-box;
	background-color:#101010;
	border-radius:0.375rem 0 0 0.375rem;
	transition:background-color 0.25s;
}

.carousel .arrow._next div
{
	border-radius:0 0.375rem 0.375rem 0;
}

.carousel._lite-arrows .arrow div
{
	height:6rem;
	background-color:transparent;
}

body:not(.touch) .carousel .arrow:hover div {background-color:#707070;}
body:not(.touch) .carousel._lite-arrows .arrow:hover div {background-color:transparent;}

.carousel .arrow svg
{
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	height:2rem;
	width:auto;
	margin:auto;
	fill:#ffffff;
}

.carousel._lite-arrows .arrow svg
{
	fill:#101010;
	height:3rem;
	transition:fill 0.25s;
}
body:not(.touch) .carousel._lite-arrows .arrow:hover svg {fill:#707070;}

@media(max-width:1200px)
{
	.carousel[data-slides="6"] .view
	{
		width:20%;
	}
	
	.carousel._finite[data-slides="6"][data-after="5"] .arrow._next
	{
		display:block;
	}
}

@media(max-width:1050px)
{
	.carousel[data-slides="5"] .view,
	.carousel[data-slides="6"] .view
	{
		width:25%;
	}
	
	.carousel._finite[data-slides="5"][data-after="4"] .arrow._next,
	.carousel._finite[data-slides="6"][data-after="4"] .arrow._next
	{
		display:block;
	}
}

@media(max-width:900px)
{
	.carousel[data-slides="4"] .view,
	.carousel[data-slides="5"] .view,
	.carousel[data-slides="6"] .view
	{
		width:33.333333%;
	}
	
	.carousel._finite[data-slides="4"][data-after="3"] .arrow._next,
	.carousel._finite[data-slides="5"][data-after="3"] .arrow._next,
	.carousel._finite[data-slides="6"][data-after="3"] .arrow._next
	{
		display:block;
	}
}

@media(max-width:750px)
{
	.carousel[data-slides="3"] .view,
	.carousel[data-slides="4"] .view,
	.carousel[data-slides="5"] .view,
	.carousel[data-slides="6"] .view
	{
		width:50%;
	}
	
	.carousel._finite[data-slides="3"][data-after="2"] .arrow._next,
	.carousel._finite[data-slides="4"][data-after="2"] .arrow._next,
	.carousel._finite[data-slides="5"][data-after="2"] .arrow._next,
	.carousel._finite[data-slides="6"][data-after="2"] .arrow._next
	{
		display:block;
	}
}

@media(max-width:600px)
{
	.carousel[data-slides="2"] .view,
	.carousel[data-slides="3"] .view,
	.carousel[data-slides="4"] .view,
	.carousel[data-slides="5"] .view,
	.carousel[data-slides="6"] .view
	{
		width:100%;
	}
	
	.carousel._finite[data-slides="2"][data-after="1"] .arrow._next,
	.carousel._finite[data-slides="3"][data-after="1"] .arrow._next,
	.carousel._finite[data-slides="4"][data-after="1"] .arrow._next,
	.carousel._finite[data-slides="5"][data-after="1"] .arrow._next,
	.carousel._finite[data-slides="6"][data-after="1"] .arrow._next
	{
		display:block;
	}
}

/*
MODAL
*/

.modal .front
{
	display:none;
	align-items:center;
	justify-content:center;
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:10;
	overflow-y:auto;
}

.modal.open .front
{
	display:flex;
}

.modal > .back
{
	position:fixed;
	left:0;
	top:-100%;
	width:100%;
	height:100%;
	z-index:9;
	background-color:rgba(0,0,0,0.0);
	transition:background-color 0.25s;
}

.modal.open > .back
{
	top:0;
	background-color:rgba(0,0,0,0.75);
}

.modal .front > .outside
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.modal .front > .content
{
	position:relative;
	width:100%;
	max-width:60rem;
	max-height:100%;
	padding:1.25rem;
	box-sizing:border-box;
}

.modal .front > .content > .box
{
	position:relative;
	padding:1.25rem;
	background-color:#ffffff;
}

.modal .front > .content > .box > header > *
{
	color:#ffffff;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	text-transform:uppercase;
	padding-right:2rem;
}

.modal .front > .content > .box > .close
{
	position:absolute;
	right:-1rem;
	top:-1rem;
	width:0.875rem;
	height:0.875rem;
	padding:0.4375rem;
	border:0.25rem solid #ffffff;
	border-radius:1.125rem;
	background-color:#000000;
	z-index:1;
}

.modal .front > .content > .box > .close svg
{
	width:0.875rem;
	height:0.875rem;
	fill:#ffffff;
}

.modal .bottom
{
	display:block;
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	height:0;
	overflow:hidden;
	box-sizing:border-box;
	background-color:#707070;
	color:#ffffff;
	text-align:center;
}

.modal .bottom:focus
{
	height:auto;
	padding:0.5rem;
}

.modal._full .front > .content
{
	position:absolute;
	left:0;
	width:100%;
	max-width:none;
	height:100%;
	padding:0;
}

.modal._full .front > .content > .box
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	padding:0;
}

.modal._full .front > .content > .box > .close
{
	right:0.75rem;
	top:0.75rem;
}

.modal._full .front > .content > .box > div
{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.nojs .modal {display:none;}

@media (max-width:600px)
{
	.modal .front > .content
	{
		padding:1.25rem 0;
	}

	.modal .front > .content > .box
	{
		padding:0.75rem;
	}
	
	.modal .front > .content > .box > .close
	{
		top:-1.75rem;
		right:0.5rem;
	}
}

/* SPACING */

.spacer {height:var(--space);margin-top:0 !important;}
.spacer-small {height:var(--space-small);margin-top:0 !important;}
.spacer-medium {height:var(--space-medium);margin-top:0 !important;}
.spacer-large {height:var(--space-large);margin-top:0 !important;}

.flow > * + * {margin-top:var(--space)}
.flow-small > * + * {margin-top:var(--space-small)}
.flow-medium > * + * {margin-top:var(--space-medium)}
.flow-large > * + * {margin-top:var(--space-large)}
.no-flow > * + * {margin-top:0}

.gap-x {column-gap:var(--space);}
.gap-x-small {column-gap:var(--space-small);}
.gap-x-medium {column-gap:var(--space-medium);}
.gap-x-large {column-gap:var(--space-large);}
.gap-x-gutter {column-gap:var(--gutter);}
.gap-y {row-gap:var(--space);}
.gap-y-small {row-gap:var(--space-small);}
.gap-y-medium {row-gap:var(--space-medium);}
.gap-y-large {row-gap:var(--space-large);}
.gap-y-gutter {row-gap:var(--gutter);}
.gap {gap:var(--space);}
.gap-small {gap:var(--space-small);}
.gap-medium {gap:var(--space-medium);}
.gap-large {gap:var(--space-large);}
.gap-gutter {gap:var(--gutter);}
.gap-1 {gap:0.0625rem;}
.gap-3 {gap:0.1875rem;}
.gap-4 {gap:0.25rem;}
.gap-6 {gap:0.375rem;}
.gap-8 {gap:0.5rem;}
.gap-x-1 {column-gap:0.0625rem;}
.gap-x-3 {column-gap:0.1875rem;}
.gap-x-4 {column-gap:0.25rem;}
.gap-x-6 {column-gap:0.375rem;}
.gap-x-8 {column-gap:0.5rem;}
.gap-y-1 {row-gap:0.0625rem;}
.gap-y-3 {row-gap:0.1875rem;}
.gap-y-4 {row-gap:0.25rem;}
.gap-y-6 {row-gap:0.375rem;}
.gap-y-8 {row-gap:0.5rem;}

.mar-t {margin-top:var(--space);}
.mar-t-small {margin-top:var(--space);}
.mar-t-medium {margin-top:var(--medium);}
.mar-t-large {margin-top:var(--large);}

.pad-x {padding-left:var(--space);padding-right:var(--space);}
.pad-x-small {padding-left:var(--space-small);padding-right:var(--space-small);}
.pad-x-medium {padding-left:var(--space-medium);padding-right:var(--space-medium);}
.pad-x-large {padding-left:var(--space-large);padding-right:var(--space-large);}
.pad-y {padding-top:var(--space);padding-bottom:var(--space);}
.pad-y-small {padding-top:var(--space-small);padding-bottom:var(--space-small);}
.pad-y-medium {padding-top:var(--space-medium);padding-bottom:var(--space-medium);}
.pad-y-large {padding-top:var(--space-large);padding-bottom:var(--space-large);}
.pad {padding:var(--space);}
.pad-small {padding:var(--space-small);}
.pad-medium {padding:var(--space-medium);}
.pad-large {padding:var(--space-large);}

.flow.basic > * + *
{
	margin-top:var(--space)
}

.flow.basic > * + h1,
.flow.basic > * + h2,
.flow.basic > * + h3,
.flow.basic > * + h4,
.flow.basic > * + h5,
.flow.basic > * + h6
{
	margin-top:var(--space-large);
}

/*
UTILITIES
*/

.block {display:block;}
.inline-block {display:inline-block;}
.visibility-hidden {visibility:hidden;}
.hidden {display:none;}
@media(max-width:720px){.hidden-720 {display:none;}}

.invisible
{
	border:0;
	clip:rect(0 0 0 0);
	height:1px;
	margin:-1px;
	overflow:hidden;
	padding:0;
	position:absolute;
	width:1px;
}

.grid
{
	display:grid;
}
.grid-fill-240 {grid-template-columns:repeat(auto-fill, minmax(15rem, 1fr));}
.grid-fill-320 {grid-template-columns:repeat(auto-fill, minmax(20rem, 1fr));}

.relative {position:relative;}
.absolute {position:absolute;}
.absolute-top {position:absolute;left:0;top:0;width:100%;box-sizing:border-box;}
.absolute-right {position:absolute;right:0;top:0;height:100%;box-sizing:border-box;}
.absolute-bottom {position:absolute;left:0;bottom:0;width:100%;box-sizing:border-box;}
.absolute-left {position:absolute;left:0;top:0;height:100%;box-sizing:border-box;}
.absolute-cover {position:absolute;left:0;top:0;width:100%;height:100%;box-sizing:border-box;}

.w-full {width:100%;}
.max-w-1600 {max-width:100rem}
.max-w-1440 {max-width:90rem}
.max-w-1280 {max-width:80rem}
.max-w-1200 {max-width:75rem}
.max-w-1080 {max-width:67.5rem}
.max-w-960 {max-width:60rem}
.max-w-800 {max-width:50rem}
.max-w-720 {max-width:45rem}
.max-w-640 {max-width:40rem}
.max-w-560 {max-width:35rem}
.max-w-480 {max-width:30rem}
.max-w-400 {max-width:25rem}
.max-w-360 {max-width:22.5rem}
.max-w-320 {max-width:20rem}
.max-w-280 {max-width:17.5rem}
.max-w-240 {max-width:15rem}
.max-w-200 {max-width:12.5rem}
.max-w-160 {max-width:10rem}
.max-w-120 {max-width:7.5rem}

@media(max-width:1200px)
{
	.m1200\:max-w-1080 {max-width:67.5rem}
	.m1200\:max-w-960 {max-width:60rem}
	.m1200\:max-w-800 {max-width:50rem}
	.m1200\:max-w-400 {max-width:25rem}
}

@media(max-width:1080px)
{
	.m1080\:max-w-960 {max-width:60rem}
	.m1080\:max-w-800 {max-width:50rem}
	.m1080\:max-w-640 {max-width:40rem}
	.m1080\:max-w-400 {max-width:25rem}
}

@media(max-width:960px)
{
	.m960\:max-w-800 {max-width:50rem}
	.m960\:max-w-480 {max-width:30rem}
	.m960\:max-w-400 {max-width:25rem}
}

@media(max-width:800px)
{
	.m800\:max-w-800 {max-width:50rem}
	.m800\:max-w-640 {max-width:40rem}
	.m800\:max-w-560 {max-width:35rem}
	.m800\:max-w-480 {max-width:30rem}
	.m800\:max-w-400 {max-width:25rem}
	.m800\:max-w-320 {max-width:20rem}
	.m800\:max-w-240 {max-width:15rem}
	.m800\:max-w-160 {max-width:10rem}
	.m800\:max-w-128 {max-width:8rem}
}

@media(max-width:640px)
{
	.m640\:max-w-400 {max-width:25rem}
}

.mx-auto {margin-left:auto;margin-right:auto;}

.bg-none {background-color:transparent;}
.bg-white {background-color:#ffffff;}
.bg-white-01 {background-color:rgba(255,255,255,0.1);}
.bg-white-02 {background-color:rgba(255,255,255,0.2);}
.bg-white-025 {background-color:rgba(255,255,255,0.25);}
.bg-white-03 {background-color:rgba(255,255,255,0.3);}
.bg-white-04 {background-color:rgba(255,255,255,0.4);}
.bg-white-05 {background-color:rgba(255,255,255,0.5);}
.bg-white-06 {background-color:rgba(255,255,255,0.6);}
.bg-white-07 {background-color:rgba(255,255,255,0.7);}
.bg-white-075 {background-color:rgba(255,255,255,0.75);}
.bg-white-08 {background-color:rgba(255,255,255,0.8);}
.bg-white-09 {background-color:rgba(255,255,255,0.9);}
.bg-black {background-color:#000000;}
.bg-black-01 {background-color:rgba(0,0,0,0.1);}
.bg-black-02 {background-color:rgba(0,0,0,0.2);}
.bg-black-025 {background-color:rgba(0,0,0,0.25);}
.bg-black-03 {background-color:rgba(0,0,0,0.3);}
.bg-black-04 {background-color:rgba(0,0,0,0.4);}
.bg-black-05 {background-color:rgba(0,0,0,0.5);}
.bg-black-06 {background-color:rgba(0,0,0,0.6);}
.bg-black-07 {background-color:rgba(0,0,0,0.7);}
.bg-black-075 {background-color:rgba(0,0,0,0.75);}
.bg-black-08 {background-color:rgba(0,0,0,0.8);}
.bg-black-09 {background-color:rgba(0,0,0,0.9);}
.bg-gray-1 {background-color:#101010;}
.bg-gray-2 {background-color:#202020;}
.bg-gray-3 {background-color:#303030;}
.bg-gray-4 {background-color:#404040;}
.bg-gray-5 {background-color:#505050;}
.bg-gray-6 {background-color:#606060;}
.bg-gray-7 {background-color:#707070;}
.bg-gray-8 {background-color:#808080;}
.bg-gray-9 {background-color:#909090;}
.bg-gray-a {background-color:#a0a0a0;}
.bg-gray-b {background-color:#b0b0b0;}
.bg-gray-c {background-color:#c0c0c0;}
.bg-gray-d {background-color:#d0d0d0;}
.bg-gray-e {background-color:#e0e0e0;}
.bg-gray-f {background-color:#f0f0f0;}
.bg-red {background-color:#b30838;}
.bg-red-dark {background-color:#61051e;}
.bg-red-gradient {background-image:linear-gradient(to right, #b30838 0, #61051e 100%);}
.bg-gold {background-color:#d2ab67;}

.text-font-a {font-family:var(--font-a);}
.text-font-b {font-family:var(--font-b);}
.text-font-c {font-family:var(--font-c);}

.text-black {color:#101010;}
.text-white {color:#ffffff;}
.text-gray {color:#707070;}
.text-red {color:#b30838;}
.text-red-dark {color:#61051e;}
.text-gold {color:#d2ab67;}

.text-left, .text-left > * {text-align:left;}
.text-right, .text-right > * {text-align:right;}
.text-center, .text-center > * {text-align:center;}
.text-uppercase, .text-uppercase > * {text-transform:uppercase;}
.text-heavy, .text-heavy > * {font-weight:800;}
.text-bold, .text-bold > * {font-weight:700;}
.text-medium, .text-medium > * {font-weight:500;}
.text-light, .text-light > * {font-weight:400;}

.text-ellipsis
{
	overflow:hidden;
	white-space:nowrap;
	text-overflow:ellipsis;
}

.text-hanging
{
	padding-left:2.5em;
	text-indent:-2.5em;
}

.round,
.round > *
{
	border-radius:50%;
}
.rounded-6 {border-radius:0.375rem;}
.rounded-8 {border-radius:0.5rem;}
.rounded-12 {border-radius:0.75rem;}
.rounded-16 {border-radius:1rem;}
.rounded-20 {border-radius:1.25rem;}

.shadow {box-shadow:0 0 0.25rem rgba(0,0,0,0.125);}
.shadow-inset {box-shadow:inset 0 0 0.5rem 0 rgba(0,0,0,0.25);}
.shadow-inset-t {box-shadow:inset 0 0.5rem 0.5rem -0.5rem rgba(0,0,0,0.25);}
.shadow-inset-r {box-shadow:inset -0.5rem 0 0.5rem -0.5rem rgba(0,0,0,0.25);}
.shadow-inset-b {box-shadow:inset 0 -0.5rem 0.5rem -0.5rem rgba(0,0,0,0.25);}
.shadow-inset-l {box-shadow:inset 0.5rem 0 0.5rem -0.5rem rgba(0,0,0,0.25);}
.shadow-inset-y {box-shadow:inset 0 0.5rem 0.5rem -0.5rem rgba(0,0,0,0.25),inset 0 -0.5rem 0.5rem -0.5rem rgba(0,0,0,0.25);}
.shadow-inset-x {box-shadow:inset 0.5rem 0 0.5rem -0.5rem rgba(0,0,0,0.25),inset -0.5rem 0 0.5rem -0.5rem rgba(0,0,0,0.25);}
.shadow-inset-small {box-shadow:inset 0 0 0.125rem 0 rgba(0,0,0,0.25);}
.shadow-inset-small-t {box-shadow:inset 0 0.125rem 0.125rem -0.125rem rgba(0,0,0,0.25);}
.shadow-inset-small-r {box-shadow:inset -0.125rem 0 0.125rem -0.125rem rgba(0,0,0,0.25);}
.shadow-inset-small-b {box-shadow:inset 0 -0.125rem 0.125rem -0.125rem rgba(0,0,0,0.25);}
.shadow-inset-small-l {box-shadow:inset 0.125rem 0 0.125rem -0.125rem rgba(0,0,0,0.25);}
.shadow-inset-small-y {box-shadow:inset 0 0.125rem 0.125rem -0.125rem rgba(0,0,0,0.25),inset 0 -0.125rem 0.125rem -0.125rem rgba(0,0,0,0.25);}
.shadow-inset-small-x {box-shadow:inset 0.125rem 0 0.125rem -0.125rem rgba(0,0,0,0.25),inset -0.125rem 0 0.125rem -0.125rem rgba(0,0,0,0.25);}

.shadow-over-l:before,
.shadow-over-r:after,
.shadow-over-t:before,
.shadow-over-b:after,
.shadow-over-y:before,
.shadow-over-y:after,
.shadow-over-x:before,
.shadow-over-x:after
{
	content:"";
	position:absolute;
	z-index:1;
}
.shadow-over-l:before,
.shadow-over-r:after,
.shadow-over-x:before,
.shadow-over-x:after
{
	top:0;
	width:0.75rem;
	height:100%;
}
.shadow-over-t:before,
.shadow-over-b:after,
.shadow-over-y:before,
.shadow-over-y:after
{
	left:0;
	width:100%;
	height:0.75rem;
}
.shadow-over-l:before,
.shadow-over-x:before
{
	left:0;
	box-shadow:inset 0.5rem 0 0.5rem -0.5rem rgba(0,0,0,0.25);
}
.shadow-over-r:after,
.shadow-over-x:after
{
	right:0;
	box-shadow:inset -0.5rem 0 0.5rem -0.5rem rgba(0,0,0,0.25);
}
.shadow-over-t:before,
.shadow-over-y:before
{
	top:0;
	box-shadow:inset 0 0.5rem 0.5rem -0.5rem rgba(0,0,0,0.25);
}
.shadow-over-b:after,
.shadow-over-y:after
{
	bottom:0;
	box-shadow:inset 0 -0.5rem 0.5rem -0.5rem rgba(0,0,0,0.25);
}

.flex
{
	display:flex;
	flex-wrap:wrap;
	align-content:center;
	align-items:center;
	justify-content:center;
	justify-items:center;
}
.flex-left {justify-content:left;}
.flex-right {justify-content:right;}
.flex-center {justify-content:center;}
.flex-align-top {align-items:start;}
.flex-align-bottom {align-items:end;}
.flex-align-center {align-items:center;}

.flex-full > *
{
	flex-grow:1;
}

.line-limit-2
{
	display:-webkit-box;
	-webkit-line-clamp:2;
	-webkit-box-orient:vertical;  
	overflow:hidden;
}

.line-limit-3
{
	display:-webkit-box;
	-webkit-line-clamp:3;
	-webkit-box-orient:vertical;  
	overflow:hidden;
}

/*
LEGACY STYLES
*/

.legacy-pods
{
	display:grid;
	grid-template-columns:repeat(6, 1fr);
	gap:var(--space);
}

.legacy-pod._w-4 {grid-column:auto / span 2;}
.legacy-pod._w-6 {grid-column:auto / span 3;}
.legacy-pod._w-8 {grid-column:auto / span 4;}

.legacy-pod .frame
{
	height:100%;
	background-color:#101010;
}

.legacy-pod._w-4 .frame > .box {padding-bottom:100%;}
.legacy-pod._w-6 .frame > .box {padding-bottom:66.666666%;}
.legacy-pod._w-8 .frame > .box {padding-bottom:50%;}

.legacy-pod header
{
	position:absolute;
	left:0;
	bottom:0;
	box-sizing:border-box;
	padding:var(--space-small) var(--space);
	background-color:#000000;
}

.legacy-pod .title
{
	color:#ffffff;
	font-family:var(--font-b);
	font-size:1.125rem;
	line-height:1.5rem;
	font-weight:500;
}

@media(max-width:720px)
{
	.legacy-pod
	{
		grid-column-start:1 !important;
		grid-column-end:-1 !important;
		display:grid !important;
		grid-template-columns:8rem 1fr;
		gap:0.25rem;
	}
	
	.legacy-pod .frame > .box
	{
		padding-bottom:100% !important;
	}
	
	.legacy-pod header
	{
		position:static;
		background-color:#101010;
		padding:var(--space);
		border:none;
		max-width:100%;
	}
}

@media(max-width:480px)
{
	.legacy-pod
	{
		grid-template-columns:5rem 1fr;
	}
	
	.legacy-pod .title
	{
		font-size:0.875rem;
		line-height:1.25rem;
	}
}

/*
WORDPRESS
*/

.has-text-align-left {text-align:left;}
.has-text-align-center {text-align:center;}
.has-text-align-right {text-align:right;}

/*
ADDITIONAL STYLES
*/

.pods
{
	display:grid;
	grid-template-columns:1fr;
	gap:var(--space-medium) var(--space);
}
.pods._2 {grid-template-columns:1fr 1fr;}
.pods._3 {grid-template-columns:1fr 1fr 1fr;}

* + .pods
{
	margin-top:var(--space-medium);
}

.pods a
{
	background-color:#b30838;
	transition:background-color 0.25s;
}
body:not(.touch) .pods a:hover {background-color:#707070;}

.pods .frame
{
	align-self:start;
	background-color:#000000;
}

.pods .frame > .box {padding-bottom:66.666666%;}

.pods .body
{
	padding:0.25rem 1rem 1rem 1rem;
}

.pods .title
{
	padding:0.5rem 0;
	color:#ffffff;
	font-family:var(--font-b);
	font-size:1.25rem;
	line-height:1.5;
	font-weight:500;
	border-bottom:1px solid rgba(0,0,0,0.125);
}

.pods .excerpt
{
	padding:0.5rem 0 0 0;
	color:#ffffff;
	font-size:0.875rem;
	line-height:1.75;
}

@media(max-width:1080px)
{
	.pods .title
	{
		font-size:1rem;
	}
	
	.pods .excerpt
	{
		font-size:0.75rem;
	}
}

@media(max-width:820px)
{
	.pods
	{
		max-width:40rem;
	}
	
	.pods._2,
	.pods._3
	{
		grid-template-columns:1fr;
	}
	
	.pods a
	{
		display:grid;
		grid-template-columns:10rem 1fr;
	}
	
	.pods .title
	{
		font-size:1.25rem;
	}
	
	.pods .excerpt
	{
		font-size:0.875rem;
	}
}

@media(max-width:480px)
{
	.pods a
	{
		grid-template-columns:9rem 1fr;
	}
	
	.pods .title
	{
		font-size:1rem;
	}
	
	.pods .excerpt
	{
		font-size:0.75rem;
	}
}

@media(max-width:400px)
{
	.pods
	{
		max-width:17.5rem;
	}
	
	.pods a
	{
		display:block;
	}
}

.person + .person
{
	margin-top:var(--space-large);
}

.person header
{
	padding:0.375rem 0;
	border-top:0.0625rem solid #e0e0e0;
	border-bottom:0.0625rem solid #e0e0e0;
}

.person header a
{
	border-bottom:none;
}

.schedule
{
	display:grid;
	grid-template-columns:12rem 1fr;
	background-color:#f8f8f8;
}
.schedule > *
{
	padding:1rem 1.25rem;
	border-top:0.1875rem solid #e0e0e0;
}
.schedule > *:nth-child(odd) {padding-right:0.625rem;}
.schedule > *:nth-child(even) {padding-left:0.625rem;}
.schedule p, .schedule li
{
	font-size:1rem;
	line-height:1.5rem;
}
.schedule > * * + *,
.schedule > * p + p,
.schedule > * li + li
{
	margin-top:0.5rem;
}
.schedule > *:nth-child(odd)
{
	font-family:var(--font-b);
	font-weight:500;
	font-size:1rem;
	color:#b30838;
}
.schedule > *:nth-child(odd) > p
{
	font-size:1rem;
}
.schedule > *:nth-child(even) > p:first-child
{
	font-weight:700;
}
@media(max-width:640px)
{
	.schedule
	{
		grid-template-columns:1fr;
	}
	.schedule > *:nth-child(odd)
	{
		padding-right:1.25rem;
		padding-bottom:0;
	}
	.schedule > *:nth-child(even)
	{
		padding-left:1.25rem;
		padding-top:0;
		border-top:none;
	}
}

.cta-banner
{
	position:relative;
	margin:0.375rem auto 0.375rem auto;
	max-width:90rem;
}

.cta-banner .frame > .box
{
	padding-bottom:40%;
}

.cta-banner .cta
{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
}

.cta-banner .buttons a
{
	padding:var(--space) var(--space-large);
	background-color:rgba(0,0,0,0.6);
	font-size:2rem;
	line-height:1.5;
	border:0.125rem solid #ffffff;
	text-shadow:0 0 0.75rem rgba(0,0,0,1.0);
	box-shadow:0 0 0.125rem rgba(0,0,0,0.125);
}

body:not(.touch) .cta-banner .buttons a:hover
{
	background-color:rgba(0,0,0,0.8);
}

@media (max-width:640px)
{
	.cta-banner .buttons a
	{
		padding:var(--space-small) var(--space);
		font-size:1.25rem;
	}
}

@media print
{
	.site-header .upper,
	.site-header .site-bar,
	.site-footer .subscribe,
	.site-footer .links,
	.site-footer .about,
	.site-footer .bottom,
	.be-ix-link-block
	{
		display:none;
	}
}