/* Reset */
html{color:#000;background:#FFF;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}table{border-collapse:collapse;border-spacing:0;}fieldset,img{border:0;}address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}li{list-style:none;}caption,th{text-align:left;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}q:before,q:after{content:'';}abbr,acronym{border:0;font-variant:normal;}sup{vertical-align:text-top;}sub{vertical-align:text-bottom;}input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}input,textarea,select{font-size:100%;}legend{color:#000;}del,ins{text-decoration:none;}

@font-face {
	font-family:'fa-solid';
	src:url('Fonts/fa-solid-900.woff2') format('woff2');
	font-weight:normal;
	font-style:normal;
}
@font-face {
	font-family:'fa-light';
	src:url('Fonts/fa-light-300.woff2') format('woff2');
	font-weight:normal;
	font-style:normal;
}
@font-face {
	font-family:'fa-brands';
	src:url('Fonts/fa-brands-400.woff2') format('woff2');
	font-weight:normal;
	font-style:normal;
}
@font-face {
	font-family:'BlsW-Md';
	src:url('Fonts/blsw-md.woff2') format('woff2');
	font-weight:normal;
	font-style:normal;
}

/*
—————————————————
Global
—————————————————
*/
html {
	font:17px/1.5 Mulish, Verdana, sans-serif;
}
body {
	color:#222;
	text-size-adjust:none;
	min-width:320px;
	box-sizing:border-box;
}
body * {
	box-sizing:inherit;
}
.wrapper {
	max-width:1350px;
	margin:auto;
	position:relative;
}
a {
	color:inherit;
	text-decoration:none;
}
strong {
	font-weight:650;
}
em {
	font-style:italic;
}
h1, h2, h3 {
	line-height:1.1;
	position:relative;
	margin-bottom:0.9em;
	font-weight:650;
}
h1 {
	font:normal 2.7em/1 BlsW-Md;
	text-transform:uppercase;
	margin-bottom:0.7em;
}
h1.regular {
	font:500 2.5rem/1.15 Mulish;
	text-transform:none;
}
h1 small {
	font-family:Mulish;
	font-size:0.9rem;
	font-style:normal;
	color:#aaa;
}
h1 em {
	font-style:inherit;
}
h1.ghost:before {
	content:'\f6e2';
	display:block;
	font-family:fa-light;
	font-weight:normal;
	font-style:normal;
	font-size:2em;
	margin:0.4em auto;
	color:#fc0;
}
h2 {
	font-size:1.4rem;
}
h2:before {
	content:'';
	display:block;
	width:1.85em;
	height:0.1667em;
	position:absolute;
	top:-0.25em; left:0;
	background:#fc0;
}
h2 a {
	border:0 !important;
}
h3 {
	font-size:1.2em;
}
* + h2, * + h3, .albums h2 {
	margin-top:1.7em;
}
.inline-1up:first-child + h3 {
	margin-top:0;
}
h4 {
	font-weight:600;
	font-size:1.07em;
	margin-bottom:0.5em;
	padding-top:0.5em;
}
h3 + h4 {
	padding-top:0;
}
p {
	margin-bottom:1em;
}
p:last-child {
	margin-bottom:0;
}
.clearfix:after {
	content:'';
	display:table;
	clear:both;
}
::selection {
	color:#000;
	background:#fc0;
}
.back-top {
	position:absolute;
	top:-2em;
	left:calc(50% - 3.5em);
	width:7em;
	height:2em;
	color:#fc0;
	background:#000;
	cursor:pointer;
	border-radius:0.5em 0.5em 0 0;
	transition:color 150ms;
}
.back-top:hover {
	color:#ffffff;
}
.back-top:after {
	content:'\f077';
	display:block;
	font:1.25em/2rem fa-solid;
	text-align:center;
}
.standfirst {
	font-size:1.2em;
	line-height:1.4;
	margin-bottom:1.5em;
	max-width:46rem;
}
.center {
	text-align:center;
}
figure {
	width:100%;
	margin:1.5em 0;
}

/*
———————————————————————
Lists
———————————————————————
*/
ul.bullet {
	margin-bottom:1.5em;
	clear:left;
}
ul.bullet li  {
	padding-left:1em;
	margin-bottom:0.6em;
}
ul.bullet li:before  {
	content:'■';
	font-family:Arial,sans-serif;
	color:#fc0;
	display:inline-block;
	width:1rem;
	margin-left:-1rem;
	font-size:0.9em;
	vertical-align:top;
}
ul.bullet ol  {
	padding-left:18px;
	margin-bottom:1em;
}
ul.bullet ol li {
	list-style:decimal;
	background:none;
}
ul.bullet ol li:before,
ul.bullet ul li:before {
	display:none;
}
ol ul.bullet li, ul.bullet ul li {
	list-style:disc;
	padding-left:0;
}
ol {
	padding-left:1.5em;
}
ol li {
	list-style:decimal;
	padding-left:0.5em;
}

/*
—————————————————
Header
—————————————————
*/
#header {
	height:11em;
	position:relative;
	background:#222;
	z-index:2;
	border-bottom:0.7em solid #333;
}
.home #header {
	border-bottom-color:#fc0;
	border-bottom-color:#747576;
}
#logo {
	background:url(/Images/logo-stpauls-new.png) center no-repeat;
	background-size:contain;
	width:17em;
	height:5.27em;
	position:absolute;
	top:1.5em; left:calc(50% - 8.5em);
	z-index:1;
}
#logo strong {
	display:none;
}
#nav {
	position:absolute;
	bottom:0; left:0;
	width:100%;
	text-align:center;
}
#nav .wrapper {
	position:static;
}
#nav-parent-links,
#nav-community-links {
	display:none;
}
#nav li.secondary {
	display:none;
}
#nav li.top {
	display:inline-block;
	padding-bottom:0.7em;
	margin-bottom:-0.7em;
	position:relative;
	text-align:left;
	vertical-align:top;
}
#nav li.top .rollover {
	display:none;
	position:absolute;
	top:3.15em; left:-1em;
	background:#fff;
	z-index:2;
	border-radius:0.4em;
	box-shadow:0 0 1.2em rgba(0, 0, 0, 0.18);
	border-bottom:5px solid #fc0;
	padding:1.2em 0;
}
#nav ul:first-child li.top:hover a.top:before {
	content:'';
	position:absolute;
	top:calc(100% - 0.5em); left:calc(50% - 0.6em);
	width:0; height:0; 
	border-left:0.6em solid transparent;
	border-right:0.6em solid transparent;
	border-bottom:0.6em solid #333;
}
.home  #nav ul:first-child li.top:hover a.top:before {
	border-bottom-color:#747576;
}
#nav li.top .rollover h3 {
	margin-bottom:0.7em;
	padding:0 1.8rem;
	font-size:1.2em;
}
@media (hover: hover) {
	#nav li.top:hover .rollover {
		display:block;
	}
}
#nav a.top {
	display:block;
	padding:0.5rem 1rem;
	position:relative;
	z-index:3;
	font-weight:500;
	color:rgba(255,255,255,0.85);
	transition:color 150ms linear;
}
#nav a.top:hover, #nav li.active a.top {
	color:#fc0;
}
#nav li a.button-search {
	width:3em;
}
#nav a.icon {
	font-family:fa-solid;
}
#nav li.top a.button-search:after {
	display:none;
}
#nav li ul li {
	float:none;
	margin:0;
}
#nav li ul a {
	font-size:0.94em;
	line-height:1.8;
	white-space:nowrap;
	display:block;
	padding:0 1.8rem;
}
#nav li ul a:hover {
	background:#f2f2f2;
}
#nav li ul a:active {
	background:#ededed;
}
#nav .trigger {
	display:none;
}
#nav-secondary {
	position:absolute;
	top:0; left:0;
	width:100%;
	height:2.4rem;
	color:#fff;
	color:rgba(255,255,255,0.85);
	font-size:0.94em;
}
#nav-secondary-left,
#nav-secondary-right {
	float:left;
	background:#333;
	border-bottom:1px solid #555;
	border-radius:0 0 0.5em 0.5em;
}
#nav-secondary-left a {
	width:3.5rem;
	text-align:center;
}
#nav-secondary-right {
	float:right;
}
#nav-secondary-right a {
	padding:0 1.2em;
}
#nav-secondary li {
	float:left;
}
#nav-secondary strong,
#nav-secondary a {
	display:block;
	font-weight:500;
	height:2.4rem;
	line-height:2.4rem;
}
#nav-secondary strong {
	text-align:center;
}
#nav-secondary-right strong span {
	display:none;
}
#nav-secondary-right strong:after {
	content:'\f0c1';
	font-family:fa-light;
	display:block;
	width:2.5em;
}
#nav-secondary a:hover {
	color:#fc0;
}
#nav-secondary a:active,
#nav-secondary a.selected {
	background:#444;
}
#nav-secondary a.social span {
	display:none;
}
#nav-secondary a.social:before {
	font-family:fa-brands;
	font-size:1.2em;
	font-weight:normal;
}
#nav-secondary .facebook:before  { content:'\f39e' }
#nav-secondary .instagram:before { content:'\f16d' }
#nav-secondary .youtube:before   { content:'\f167' }
#nav-secondary .linkedin:before  { content:'\f0e1' }
#nav-secondary .twitter:before   { content:'\f099' }
#nav-secondary .youtube:before   { content:'\f167' }

.button-search {
	font-family:fa-solid;
}
#nav-mobile {
	display:none;
}

/* Amends */
#nav-secondary-right {
	color:#000;
	background:#fc0;
}
#nav-secondary-right a:hover {
	color:#000;
	background:rgba(255,255,255,0.2);
}
#nav-secondary-right a:active, #nav-secondary-right a.selected {
	background:rgba(255,255,255,0.2);
}



/*
———————————————————————
Links
———————————————————————
*/
#parent-links,
#community-links {
	position:absolute;
	z-index:3;
	top:2.4rem; right:13em;
	width:15em;
	padding:1.5em 0;
	background:#fff;
	box-shadow: 0 0 1.2em rgb(0 0 0 / 18%);
	border-radius:0.6em;
	display:none;
}
#community-links {
	right:7em;
}
#parent-links li,
#community-links li {
	float:none;
	padding:0;
}
#parent-links a,
#community-links a {
	display:block;
	padding:0.4em 1.5em;
	line-height:1.2;
	height:auto;
	color:#000;
}
#parent-links a:hover,
#community-links a:hover {
	color:#000;
	background:#f2f2f2;
}
#parent-links a:active,
#community-links a:active {
	background:#ededed;
}
#parent-links a:before,
#community-links a:before {
	content:'';
	position:absolute;
	top:-0.5em; right:4em;
	width:0; height:0; 
	border-left:0.6em solid transparent;
	border-right:0.6em solid transparent;
	border-bottom:0.6em solid #fff;
}

/*
———————————————————————
New Home
———————————————————————
*/
.home-hero {
	background:#111;
	height:540px;
	margin-bottom:3em;
	border-radius:0.4em;
	overflow:hidden;
}
.home-hero .media {
	float:right;
	width:960px;
	aspect-ratio:16/9;
}
.home-hero .media img {
	aspect-ratio: 16 / 9;
	display:block;
	width:100%;
}
.cf-video-wrapper {
	position:relative;
	padding-top:56.25%;
}
.cf-video-wrapper iframe {
	border:none;
	position:absolute;
	top:0; left:0;
	width:100%;
	height:100%;
}
.home-hero-text {
	float:left;
	width:calc(100% - 960px);
	height:100%;
	padding:1.5rem;
	color:#fff;
	position:relative;
}
.home-hero-text strong {
	display:block;
	font:normal 2.2em/0.96 BlsW-Md;
	text-transform:uppercase;
	margin-bottom:0.25em;
	color:#fc0;
}
.home-hero-text strong span {
	white-space:nowrap;
}
.home-hero-text span.hero-sub {
	display:block;
	font-size:1.5em;
	line-height:1.1;
}
.home-hero-text .button {
	margin-top:1em;
}
.home-hero-text .ctas {
	position:absolute;
	bottom:1em; left:1em;
	width:calc(100% - 2em);
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:1em;
}
.home-hero-text .ctas a {
	display:block;
	width:100%;
	height:5.8em;
	background:rgba(255,255,255,0.12);
	border-radius:0.3em;
	padding:0.5em;
	transition:200ms;
	opacity:0.9;
	position:relative;
	border-bottom:3px solid #fc0;
}
.home-hero-text .ctas a span {
	display:block;
	font-size:1.35em;
	font-weight:500;
	line-height:1.05;
}
.home-hero-text .ctas a:after {
	font-family:fa-solid;
	content:'\f054';
	position:absolute;
	bottom:0.4em;
	right:0.6em;
	color:#999;
}

.xhome-hero-text .ctas a:nth-child(1) { color:#fc0 }
.xhome-hero-text .ctas a:nth-child(2) { color:#afc16b }
.xhome-hero-text .ctas a:nth-child(3) { color:#95d3ff }
.xhome-hero-text .ctas a:nth-child(4) { color:#b0a2eb }

.home-hero-text .ctas a:hover {
	opacity:1;
	border-color:#fc0;
	background:rgba(255,255,255,0.17);
}
.home-hero-text em {
	font-style:inherit;
	white-space:nowrap;
}
.home-tiles {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:2.2em;
	margin-bottom:4em;
}
.home-tile:nth-child(4) {
	display:none;
}
.home-tile a {
	display:block;
}
.home-tile img,
.home-tile .cf-video-wrapper {
	display:block;
	width:100%;
	aspect-ratio:16 / 9;
	background:#e2e2e2;
	border-radius:0.4em;
	margin-bottom:0.8em;
	overflow:hidden;
}
.home-tile img {
	object-fit:cover;
}
.home-tile strong {
	font-size:1.3em;
	line-height:1.1;
	display:block;
	margin-bottom:0.4em;
	font-weight:500;
}
.home-tile strong span {
	white-space:nowrap;
}
.home-tile .teaser {
	display:block;
	font-size:0.88em;
	margin-bottom:1em;
	padding-right:1em;
}
.home-tile .button {
	font-size:0.88em;
}

/*
———————————————————
Content
———————————————————
*/
.page-header {
	background:#000;
	height:13.5rem;
	position:relative;
}
.page-header .wrapper {
	height:100%;
}
.page-header:after {
	content:'';
	position:absolute;
	bottom:0; left:0;
	width:100%;
	height:2.4rem;
	background:rgba(255,255,255,0.15);
	pointer-events:none;
}
.page-header-image {
	position:absolute;
	top:0; left:0;
	width:20.25rem;
	height:13.5rem;
	object-fit:cover;
}
.page-header .heading {
	position:absolute;
	bottom:4rem; left:23.25rem;
	padding-right:2em;
}
.page-header h1,
.page-header h3 {
	font:normal 2.7em/1 BlsW-Md;
	text-transform:uppercase;
	color:#fff;
	margin:0;
}
.page-header h3 {
	font-size:1.8em;
	color:#fc0;	
	margin-top:0.15em;
}
.breadcrumb {
	position:absolute;
	bottom:0; left:23.25rem;
	font-size:0.88em;
	color:#fff;
	line-height:2.4rem;
	z-index:1;
	color:#999;
	font-weight:500;
}
.breadcrumb a {
	transition:color 150ms;
}
.breadcrumb .separator {
	display:inline-block;
	width:2em;
	text-align:center;
	color:#999;
	font-size:0.9em;
}
.breadcrumb .separator:after {
	content:'\f105';
	font-family:fa-solid;
}
.breadcrumb a:hover {
	color:#fc0;
}
.breadcrumb a.current {
	color:#fff;
}
.shop-breadcrumb {
	position:static;
	display:inline-block;
	font-size:0.8em;
	color:#444;
	background:#f2f2f2;
	line-height:2.4em;
	border-radius:2em;
	margin-bottom:2em;
	padding:0 1em;
}
.shop-breadcrumb a {
	border:0 !important;
}
.shop-breadcrumb a:hover {
	color:inherit;
}
.edit-link {
	position:absolute;
	bottom:0.5rem; right:3rem;
	font-size:0.88em;
	color:#fff;
	line-height:1.4rem;
	z-index:1;
	color:#aaa;
	font-weight:500;
	background:#444;
	padding:0 1.5em;
	border-radius:2em;
}
.content {
	padding-bottom:5em !important;
	position:relative;
}
.full-width-content {
	padding-top:3em;
	min-height:32em;
}
.has-sidebar:before {
	content:'';
	background:#eee;
	width:20.25em;
	height:100%;
	position:absolute;
	top:0; left:0;
	z-index:-1;
}
#sidebar {
	float:left;
	width:20.25em;
	height:100%;
	position:sticky;
	top:0;
	padding:1.8rem;
	background:#eee;
}
#sidebar h3 {
	margin:0;
	padding-bottom:1em;
}
#sidebar ul {
	line-height:1.3;
	margin:0 -1.8rem 2em -1.8rem;
	font-size:0.94rem;
}
#sidebar ul ul {
	font-size:0.88rem;
}
#sidebar ul a {
	display:block;
	padding:0.35em 1.8rem;
	transition:background-color 150ms;
	position:relative;
}
#sidebar ul a:hover {
	background:rgba(255,255,255,0.6);
}
#sidebar .active a:not(.active ul a) {
	background:#fc0;
	font-weight:600;
}
#sidebar ul ul {
	margin:0.2em 0 0.2em 0;
	padding:0.4em 0;
}
#sidebar ul ul a {
	padding-left:2.8rem;
	padding-top:0.3em;
	padding-bottom:0.3em;
}
#sidebar ul ul .active a:not(ul ul ul a) {
	background:rgba(255,255,255,0.8);
}
#sidebar ul ul ul {
	margin-top:0;
}
#sidebar ul ul ul a {
	background:none;
	padding-left:4.2rem;
}
#sidebar ul ul ul a:hover {
	background:#ebebeb;
}
#sidebar ul ul ul .active a {
	color:#812349;
}
#sidebar a.parent:after,
#sidebar a.external:after {
	font-family:fa-solid;
	content:'\2b';
	display:inline-block;
	width:1.2em;
	font-size:0.8em;
	margin-left:0.4em;
	color:#fb0;
}
#sidebar a.external:after {
	content:'\f08e';
}
#sidebar .active a.parent:after {
	display:none;
}
#content {
	float:right;
	width:calc(100% - 20.25em);
	padding:3rem;
}

/*
———————————————————
Search
———————————————————
*/
#search-wrapper {
	width:100%;
	height:0;
	overflow:hidden;
	transition:height 400ms ease-in-out;
	position:relative;
}
#search-wrapper.search-active {
	height:9.1rem;
}
#search {
	color:#000;
	background:#747576;
	width:100%;
	height:9.1rem;
	padding:3rem;
	position:absolute;
	bottom:0; left:0;
}
#search-close:before {
	display:block;
	font-family:fa-solid;
	font-size:2em;
	line-height:1;
	content:'\f00d';
	padding:0.5em;
	cursor:pointer;
}
#search-close {
	position:absolute;
	top:1em; right:1em;
	display:none;
}
.search-content {
	margin:auto;
	max-width:600px;
	position:relative;
}
.search-text,
.search-button {
	float:left;
	font-size:1.1em;
	line-height:1;
	padding:1rem;
	height:3.1rem;
	border:0;
	border-radius:0.4rem 0 0 0.4rem;
	outline:none;
	width:calc(100% - 3rem);
	box-sizing:border-box;
}
.search-button {
	float:right;
	width:3rem;
	font-family:fa-solid;
	text-align:center;
	background:linear-gradient(to top, #000, #444);
	color:#fc0;
	border-radius:0 0.4rem 0.4rem 0;
	cursor:pointer;
}
.search-text::selection {
	color:#000;
	background:#fc0;
}
.search-text::ms-clear {
    display: none;
}
#suggestions {
	background:#fff;
	padding:20px;
	display:none;
	width:100%;
	max-height:500px;
	overflow-y:auto;
	box-sizing:border-box;
	box-shadow:0 0 10px rgba(0,0,0,0.1);
	position:absolute;
	z-index:1;
	margin-top:-30px;
}
#suggestions h3 {
	margin:20px 0 6px 0;
}
#suggestions h3:first-child {
	margin-top:0;
}
#suggestions a {
	display:block;
	position:relative;
	padding:8px 6px;
	line-height:16px;
	outline:none;
}
#suggestions li.selected a {
	background:#f3f4ef;
}
#suggestions strong {
	display:block;
}
#suggestions span {
	color:#999;
}
#suggestions .suggest-works a,
#suggestions .suggest-curations a,
#suggestions .suggest-people a {
	height:32px;
	padding-left:50px;
}
#suggestions img {
	width:36px;
	height:36px;
	position:absolute;
	top:6px; left:6px;
	background:#dee1dc;
}
#suggestions .suggest-people img {
	border-radius:50%;
}
#search .tags li {
	float:left;
	width:25%;
}
#search .tags li:before {
	content:'\f054';
	color:#fff;
	font-family:fa-solid;
	margin-right:0.5em;
}

/*
———————————————————
Button
———————————————————
*/
.button {
	display:inline-block;
	color:#000;
	background:#fc0;
	cursor:pointer;
	border:0;
	outline:0;
	font-weight:600;
	font-size:1rem;
	height:2.5em;
	line-height:2.5em;
	padding:0 1.25em;
	text-align:center;
	border-radius:3em;
}
.button:hover {
	background:#ffc200;
}
.button:active {
	background:#ffbb00;
}
.button-green {
	background:#c5d781;
}
.button-green:hover {
	background:#b9cb71;
}
.button-green:active {
	background:#acbf62;
}
.button-right {
	float:right;
}
.button-wrapper .button {
	margin:0.7em 0;
}

/*
———————————————————
Content
———————————————————
*/
#content h2 {
	margin-top:1.7em;
}
#content h2:first-child {
	margin-top:0;
}
#content div h2:first-child {
	margin-top:inherit;
}
#content a {
	border-bottom:2px solid #fc0;
	transition:text-decoration 200ms linear;
}
#content a:hover {
	border-color:#fc0;
}
#content .icon-button:before {
	display:inline-block;
	width:1.5em;
	font-family:fa-light;
	font-weight:normal;
	font-size:0.9em;
	text-align:left;
}
#content .icon-appointment:before {
	content:'\f133';
}
#content .icon-uniform:before {
	content:'\f553';
}
#content .icon-hours:before {
	content:'\f017';
}
#content .icon-share:before {
	content:'\f1e0';
}
#content .button + a.button {
	margin-left:0.4em;
}
#content img.inline {
	float:left;
	margin:0 14px 12px 0;
}
#content .publications {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:1em;	
}
#content .publications a {
	display:block;
	padding:0.5em;
	position:relative;
	border:0;
	border-radius:0.4em;
	background:#f2f2f2;
}
#content .publications a:hover {
	background:#ededed;
}
#content .publications a:active {
	background:#e8e8e8;
}
#content .publications img {
	float:left;
	aspect-ratio:53/75;
	width:6em;
	height:auto;
	border-radius:0.25em;
	margin-right:1em;
}
#content .publications strong {
	display:block;
	line-height:1.2;
	padding-top:1em;
	margin-bottom:0.2em;
}
#content .publications span {
	display:block;
	line-height:1.2;
	font-size:0.88em;
}
#content .albums {
	margin-top:28px;
	border-top:1px dotted #ddd;
}
#content .albums .images {
	margin-right:-12px;
}
#content .albums .images li {
	float:left;
	margin:0 12px 12px 0;
}
#content .albums .images img {
	float:left;
}
#content .albums li a:hover img {
	opacity:.93;
}
#content #videos li a {
	border-bottom-width:0;
}
.embed-responsive {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 */
    height: 0;
    overflow: hidden;
    max-width: 100%;
}
.embed-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*
——————————————————————
Staff Contact Card
——————————————————————
*/
#staff {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:1em;
	margin-top:3em;
}
#staff li {
	min-height:8.5em;
	background:#eee;
	padding:1em 1em 1em 7em;
	position:relative;
	border-radius:0.5rem;
	font-size:0.88em;
	display:flex;
	align-items:center;
}
#staff li.no-image:before {
	content:'\f2bd';
	font-family:fa-light;
	font-size:3.25em;
	position:absolute;
	top:0.75em; left:0.7em;
	line-height:1;
	color:#a8466e;
}
#staff strong {
	display:block;
	line-height:1.2;
	margin-bottom:0.2em;
}
#staff span {
	display:block;
}
#staff img {
	position:absolute;
	top:0.5em; left:0.5em;
	width:5em;
	height:7.5em;
	border-radius:0.25em;
}
#staff .bullet {
	display:inline-block;
	line-height:1;
}
#staff .bullet:after {
	content:'\2022';
	color:#e7b350;
	font-size:1.2em;
}
#staff a {
	border-bottom:1px solid #aaa !important;
	outline:0;
}

/*
———————————————————
Sports Sponsors
———————————————————
*/
#sponsors {
	float:right;
	width:12em;
	padding:1em;
	margin:0.4em 0 2em 2em;
	border-radius:0.4rem;
	background:#f2f2f2;
}
#sponsors p {
	font-size:0.88em;
	font-family:'segoe print',Mulish;
	text-align:center;
	margin-bottom:1.2em;
}
#sponsors li {
	margin-bottom:0.8em;
}
#sponsors li:last-child {
	margin:0;
}
#sponsors img {
	display:block;
	width:100%;
	border-radius:0.3rem;
	aspect-ratio:10/7;
}

/*
———————————————————
Related Sidebar
———————————————————
*/
.related-sidebar {
	float:right;
	width:12em;
	margin:0.4em 0 2em 2em;
}
a.related {
	display:block;
	background:#acbf6222;
	line-height:1.3;
	border:none !important;
	border-radius:0.4rem;
	overflow:hidden;
	position:relative;
	z-index:1;
}
a.related img {
	display:block;
	aspect-ratio:4/3;
	width:100%;
}
a.related div {
	padding:0.6em;
}
a.related .more {
	display:block;
	font-size:0.88em;
	line-height:1.8;
	margin-top:0.7em;
	color:#acbf62;
	font-weight:500;
}
a.related .more:before {
	float:left;
	content:'\f0a9';
	font: 1.8em/1 fa-solid;
	margin-right:0.2em;
}

/*
———————————————————
Inline Images
———————————————————
*/
.inline-images {
	width:103%;
	margin:2em -3% 2em 0;
	clear:both;
}
.inline-images a {
	float:left;
	margin-right:3%;
	outline:0;
	position:relative;
	border:0 !important;
}
.inline-images a:after {
	content:'\f002';
	font-family:fa-solid;
	width:2.5em;
	height:2.5em;
	position:absolute;
	top:0.8em; right:0.8em;
	color:#fff;
	background:rgba(0,0,0,0.5);
	border-radius:50%;
	font-size:1em;
	line-height:2.5em;
	text-align:center;
	opacity:0;
	transition:opacity 150ms linear;
}
.inline-images a:hover:after {
	opacity:0.9;
}
.inline-1up {
	width:auto;
	float:right;
	max-width:47%;
	margin:0 0 2em 2em;
}
.inline-1up a {
	float:none;
	display:block;
	margin:0;
}
.inline-2up a {
	width:47%;
}
.inline-3up a {
	width:30.33%;
}
.inline-4up a {
	width:22%;
}
.inline-5up a {
	width:17%;
}
.inline-images img {
	display:block;
	width:100%;
	border-radius:0.4em;
}

/*
———————————————————
News
———————————————————
*/
#news ul {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:4em 2em;
}
#news a {
	display:block;
	border:0;
}
#news a:hover .image-wrapper {
	opacity:0.9;
}
#news .image-wrapper {
	display:block;
	box-sizing:border-box;
	position:relative;
	padding:37.5% 50%;
	margin-bottom:1em;
	background-color:#eee;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	border-radius:0.4em;
}
#news strong {
	display:block;
	font-weight:500;
	line-height:1.2;
	font-size:1.3em;
	margin-bottom:0.3em;
	padding-right:1em;
}
#news .leader {
	display:block;
	font-size:0.9em;
	margin-bottom:0.5em;
}
#news .date {
	display:block;
	font-size:0.85em;
	color:#999;
	margin-bottom:0.3em;
}
#news .more {
	display:inline-block;
	color:#acbf62;
	outline:0;
	border:0 !important;
	font-size:0.9em;
	line-height:1.5;
}
#news .more:before  {
	display:inline-block;
	width:1.3em;
	content:'\f0a9';
	font-family:fa-solid;
	font-size:1.5em;
	line-height:1;
	color:#c5d781;
	vertical-align:top;
}

/*
———————————————————
Tabs
———————————————————
*/
.tabs-wrapper {
	border-top:2px solid #d7d7d7;
}
.tabs {
	height:2em;
	margin:0 auto;
	position:relative;
	max-width:1440px;
}
.tabs li {
	float:left;
	margin-left:2.85em;
}
.tabs li:first-child {
	margin-left:0;
}
.tabs a {
	display:block;
	padding:0 0.3em;
	line-height:2em;
	position:relative;
}
.tabs a:before {
	content:'';
	position:absolute;
	top:-4px; left:50%;
	width:0;
	height:6px;
	border-radius:3px;
	background:#d7d7d7;
	transition:all 150ms linear;
}
.tabs a:hover:before,
.tabs a:active:before,
.tabs a:focus:before,
.tabs li.active a:before {
	left:0;
	width:100%;
}
.tabs li.active a:before {
	background:#fc0;
}
.tabs a:focus:before,
.tabs a:active:before {
	background:#bebebe;
}

/*
—————————————————
Tags
—————————————————
*/
.tags {
	min-height:2em;
	margin:2em 0;
	font-size:0.94em;
}
.tags li {
	display:inline-block;
	margin:0 0.25em 0.6em 0;
}
.tags a  {
	display:inline-block;
	line-height:2em;
	padding:0 1em;
	box-sizing:border-box;
	transition:background-color 150ms;
	border-radius:1em;
	border:none !important;
	color:#444;
	background-color:#eee;
	font-weight:500;
	cursor:pointer;
}
.tags a:hover {
	background-color:#e9e9e9;
}
.tags a:active  {
	background-color:#e2e2e2;
}
.inverted .tags a,
.inverted .tags a:hover {
	background-color:#fff;
}
.tags li.active a,
.inverted .tags li.active a {
	color:#000;
	background-color:#fc0;
}

/*
———————————————————
Footer
———————————————————
*/
#footer {
	color:#000;
	background:#fc0;
	padding:2.5em 3em;
	text-align:center;
	line-height:1.7;
	position:relative;
}
.footer-panel {
	float:left;
	width:33.333%;
	font-size:0.875em;
}
#footer h4 {
	font-size:1.3em;
	font-weight:500;
	margin-bottom:0.5em;
	padding:0;
}
#footer .logo-panel img {
	max-width:9em;
	margin:1em;
	aspect-ratio:2/1;
	object-fit:contain;
}
#footer address a,
#footer address span,
#footer #contact span {
	display:block;
}
#footer-social {
	margin-top:1em;
}
#footer-social a {
	display:inline-block;
	font-size:0;
	border:1px solid #000;
	border-radius:50%;
	width:2.2rem;
	height:2.2rem;
	text-align:center;
	margin:0 3px;
}
#footer-social a:before {
	font-size:1rem;
	font-family:fa-brands;
	line-height:calc(2.2rem - 2px);
}
#facebook:before  { content:'\f39e' }
#instagram:before { content:'\f16d' }
#linkedin:before  { content:'\f0e1' }
#youtube:before   { content:'\f167' }

#footer a:hover {
	color:#000;
	border-color:#fff;
}
#footer #copyright {
	margin:2em 0 0 0;
}
#footer #copyright a {
	display:inline-block;
	margin-left:1em;
	border-bottom:1px solid #222;
}

/*
———————————————————
Staff
———————————————————
*/
.staff  {
	display:grid;
	grid-template-columns:repeat(5, 1fr);
	gap:3em 1em;
}
.staff li {
	padding-top:1.5em;
	position:relative;
}
.staff .dept { 
	position:absolute;
	top:0; left:0;
	font-size:0.8em;
}
.staff a {
	display:inline-block;
	color:#acbf62;
	outline:0;
	border:0 !important;
	font-size:0.9em;
	line-height:1.5;
}
.staff a:before  {
	display:inline-block;
	width:1.3em;
	content:'\f0a9';
	font-family:fa-solid;
	font-size:1.5em;
	line-height:1;
	color:#c5d781;
	vertical-align:top;
}
.staff img {
	display:block;
	width:100%;
	margin-bottom:0.5em;
	border-radius:0.4em;
	aspect-ratio:2/3;
}
.staff h3 {
	font-size:1em;
	margin:0 0 0.2em 0;
}
.staff h4 {
	font-size:0.85em;
	font-weight:500;
	line-height:1.2;
	color:#999;
	margin-bottom:0.6em;
}
.profile {
	max-width:960px;
	min-height:500px;
	padding:1.8em 1em 1.8em 300px;
	position:relative;
}
.profile img {
	position:absolute;
	top:1em; left:1em;
	aspect-ratio:2/3;
	border-radius:0.4em;
	width:240px;
}
.profile h3 {
	font-style:italic;
	font-size:1.2em;
}
.staff-profile .profile {
	width:auto;
	height:auto;
	padding:1.5em 0 0 12.5em;
	min-height:17em;
	margin-bottom:1.5em;
	border-top:1px solid #ddd;
}
.staff-profile .profile img {
	top:1em; left:0;
	width:11em;
}
#content .staff-profile .profile h2 {
	margin:0 0 0.6em 0;
	font-size:1.4em;
}
#content .staff-profile .profile h2 + h3 {
	margin-top:-0.5em;
}
#content .staff-profile .profile h2:before {
	display:none;
}

/*
————————————————————————
Promo Events
————————————————————————
*/
#promo-events {
	width:102%;
	margin:24px -2% 30px 0;
}
#promo-events li {
	float:left;
	width:48%;
	height:114px;
	margin:0 2% 2% 0;
}
#promo-events a {
	display:block;
	height:114px;
	padding:27px 12px 7px 118px;
	position:relative;
	border:0;
	background:#f2f2f2;
	border-radius:0.4em;
}
#promo-events a:hover {
	background:#ededed;
}
#promo-events a:active {
	background:#e8e8e8;
}
#promo-events strong {
	display:block;
	line-height:1.2;
}
#promo-events span.date {
	display:block;
	position:absolute;
	top:7px; left:7px;
	width:100px;
	height:100px;
	background:#fff;
	padding-top:15px;
	text-align:center;
	border-radius:0.3em;
}
#promo-events span.day {
	display:block;
	font-size:48px;
	font-weight:bold;
	line-height:1.1;
	color:#fcbd1b;
}
#promo-events span.month {
	display:block;
	font-size:14px;
	font-weight:bold;
	line-height:1;
}
#promo-event dl {
	margin-bottom:18px;
	width:100%;
}
#promo-event dt {
	float:left;
	clear:left;
	width:20%;
	max-width:70px;
	font-weight:bold;
}
#promo-event dd {
	float:left;
	width:80%;
}

/*
——————————————————————
News Story
——————————————————————
*/
.story .date {
	margin:-0.5em 0 2em 0;
	font-style:italic;
	position:relative;
}
.story .date span {
	border-bottom:3px solid #ddd;
	padding-bottom:0.3em;
}
.story-hero {
	margin-bottom:2.5em;
}
.story-hero a {
	display:block;
	outline:none;
	border:0 !important;
	position:relative;
}
.story a:after {
	content:'\f002';
	font-family:fa-solid;
	width:2.5em;
	height:2.5em;
	position:absolute;
	top:0.8em; right:0.8em;
	color:#fff;
	background:rgba(0,0,0,0.5);
	border-radius:50%;
	font-size:1em;
	line-height:2.5em;
	text-align:center;
	opacity:0;
	transition:opacity 150ms linear;
}
.story-hero a:hover:after {
	opacity:0.9;
}
.story-hero img {
	display:block;
	width:100%;
	aspect-ratio:3 / 2;
	object-fit:cover;
	object-position:center;
	border-radius:0.6em;
	margin-bottom:0.4em;
}
.story-hero .caption {
	display:block;
	font-size:0.9em;
	font-style:italic;
	color:#777;
}
.story-hero .caption:before {
	content:'\f030';
	font-family:fa-light;
	font-style:normal;
	width:1.5em;
	display:inline-block;
}
#storyHeader {
	margin-bottom:20px;
}
#storyHeader span {
	float:left;
	line-height:25px;
}
#storyHeader ul {
	float:right;
}
#storyHeader li {
	float:left;
}
.social-share {
	display:inline-block;
	margin-top:1em;
	height:32px;
	border-top:3px solid #ddd;
	padding-top:0.4em;
}
.social-share:before {
	float:left;
	content:'Share';
	line-height:32px;
	margin-right:0.3em;
	font-style:italic;
}
.social-share li {
	float:left;
	margin-left:0.5em;
}
.social-share img {
	width:32px;
	height:32px;
}
.social-share a {
	border:0 !important;
}
#sidebar #related-stories {
	margin-top:3em;
}
#sidebar #related-stories a {
	min-height:5.3em;
	padding:0.4em 1.8rem 0.4em 7.2rem;
	display:flex;
	align-items:center;
}
#sidebar #related-stories .image-wrapper {
	position:absolute;
	top:0.4em; left:1.8rem;
	width:4.5em; height:4.5em;
	background-color:#eee;
	background-size:cover;
	background-position:center;
	background-repeat:no-repeat;
	border-radius:50%;
}
#sidebar #related-stories strong {
	font-weight:normal;
	font-size:0.9em;
	transition:color 150ms linear;
}
#sidebar #related-stories a:hover strong {
	color:#f0b412;
}

/*
——————————————————————
Ticket Bookings
——————————————————————
*/
.booking-subheading {
	margin-bottom:1.2em;
}
.booking-venue {
	display:block;
	font-weight:normal;
	margin-top:0.2em;
}
#tickets li {
	padding-bottom:1.5em;
	margin-bottom:1.5em;
	border-bottom:1px solid #ddd;
}
#tickets a {
	display:block;
	position:relative;
	padding:0.5em 0 0 17.5em;
	min-height:12em;
	border:0;
}
#tickets img {
	width:16em;
	height:12em;
	position:absolute;
	top:0; left:0;
	border-radius:0.3em;
}
#tickets h3 {
	margin-bottom:0.4em;
}
#tickets span.date {
	display:inline-block;
	font-style:italic;
	border-bottom:3px solid #ddd;
	margin-bottom:0.7em;
}
#tickets span.description {
	display:block;
	margin-bottom:0.7em;
}
.event-images {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:1em;
	margin-bottom:1.5em;
}
.event-images a {
	border:0;
}
.event-images img {
	display:block;
	width:100%;
	aspect-ratio:4/3;
	object-fit:cover;
	border-radius:0.3em;
}
.form ul.seating-plan-list {
	margin-left:200px;
}
.form .seat-selector {
	margin:0 0 1.2em 200px;
	background:#e2e2e2;
	border-radius:0.4em;
	padding:0.3em 0.6em 0.6em 0.6em;
}
.form .seat-selector p {
	float:left;
	padding:0;
	margin:0 0.5em 0 0;
}
.form .seat-selector label {
	position:static;
	display:block;
	text-align:left;
	width:auto;
	padding:0.3em 0 0 0;
}
.form .seat-selector input.button {
	font-size:0.8rem;
    margin:2em 0 0 0;
}
#reservedSeatList {
	margin-bottom:2em;
}

/*
——————————————————————
Business Directory
——————————————————————
*/
#directory-header {
	border-radius:0.4em;
	margin-bottom:2em;
	overflow:hidden;
	background:#000;
}
#directory-header-heading {
	float:left;
	width:60%;
	padding:3em;
}
#directory-header-heading h1 {
	color:#fff;
	margin:0;
}
#directory-header-text {
	float:left;
	width:40%;
	background:#fc0;
	padding:3rem;
	box-sizing:border-box;
	font-size:1.2em;
}
#directory-header-text p:last-child {
	margin:0;
}
#directory-categories {
	text-align:center;
	background:#222;
	border-radius:0.4em;
	margin-bottom:3em;
}
#directory-categories li {
	color:#fff;
	display:inline-block;
	width:9.5%;
	vertical-align:top;
	cursor:pointer;
}
#directory-categories div {
	display:block;
	line-height:1.1;
	padding:1em 0.7em;
	height:6.5em;
	transition:background-color 150ms linear;
	outline:0;
}
#directory-categories div:hover {
	background:#333;
}
#directory-categories span {
	display:block;
	font-family:fa-light;
	font-size:1.75em;
	margin-bottom:0.2em;
	color:#fc0;
}
#directory-categories li.active div {
	background:#fc0;
	color:#000;
}
#directory-categories li.active span {
	color:#000;
}
#directory-categories strong {
	display:block;
	font-weight:500;
}
#directory  {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:1.5em;
}
#directory a {
	display:block;
	text-decoration:none;
	border:0;
	outline:0;
	position:relative;
	padding:7px;
	background-color:#eee;
	background:linear-gradient(to bottom, #f2f2f2, #eaeaea);
	border-radius:7px;
}
#directory a:hover {
	background:#eaeaea;
}
#directory a:active {
	background:#e5e5e5;
}
#directory h3 {
	line-height:1.1;
	margin:0 0 0.3em 0;
	font-weight:bold;
}
#directory p {
	font-size:0.88em;
	margin:0;
}
#directory img {
	float:left;
	width:12em;
	aspect-ratio:3/2;
	border-radius:0.3em;
}
#directory .business-details {
	float:left;
	padding:0.8em 1.2em 0 1.2em;
	width:calc(100% - 12em);
}
#directory .more {
	position:absolute;
	bottom:0; right:0;
	background:#fc0;
	width:4em;
	height:2em;
	line-height:2em;
	text-align:center;
	border-radius:0.4em 0 0.4em 0;
}
#directory .more:after {
	content:'\f054';
	font-family:fa-solid;
}

/*
——————————————————————
Photo Galleries
——————————————————————
*/
#albums ul {
	margin:0 -8px 0 -3px;
}
#albums li {
	float:left;
	width:216px;
	height:240px;
	margin-right:22px;
}
#albums li a {
	display:block;
	border:0 !important;
	font-size:0.93em;
}
#albums img {
	display:block;
	width:220px;
	height:172px;
	background:url(/Images/bg-album.png) no-repeat;
	padding:22px 20px;
}
#albums li a:hover img {
	opacity:.93;
}
#albums li a strong {
	display:block;
	padding:0 20px;
	text-align:center;
	line-height:1.2;
	position:relative;
	z-index:1;
}
#albums li a span {
	display:block;
	text-align:center;
}
#album #images {
	margin-right:-14px;
	padding-top:8px;
}
#album #images li {
	float:left;
	margin:0 14px 14px 0;
}
#album img {
	display:block;
	width:155px;
	height:155px;
	border:1px solid #ccc;
}
#album a:hover img {
	opacity:.93;
}
#albumHeader {
	height:30px;
	border-bottom:1px solid #ddd;
	margin-bottom:20px;
}
#albumHeader span {
	float:left;
	line-height:25px;
}
#albumHeader ul {
	float:right;
}
#albumHeader li {
	float:left;
}

/*
——————————————————————
Calendar
——————————————————————
*/
h3.weekHeading {
	margin:0;
	height:32px;
}
h3.weekHeading span {
	float:left;
	padding:4px 12px 0 12px;
	line-height:28px;
	background:#ddd;
	border-radius:7px 7px 0 0;
}
.week {
	border:4px solid #ddd;
	margin-bottom:28px;
	width:100%;
}
.week td {
	border-top:1px solid #ddd;
	padding:5px 7px;
	min-height:18px;
}
.week td.day {
	width:120px;
}
.week td.date {
	width:120px;
}
.week td.time {
	width:60px;
}
.week td.view {
	width:70px;
}
.week button {
	float:right;
	width:40px;
	height:18px;
	border:0;
	text-align:center;
}
.week tr.multiple td {
	border-color:#fff;
	border:0;
}
.week tr.weekend td {
	background:#f2f2f2;
}
.week tr.holiday td {
	background:#fff7d9;
}
.week tr.today td {
	background:#fc0;
}
.week a:hover {
	border-bottom:1px dotted #444;
}
#eventDetail {
	width:600px;
	padding:10px;
	font-size:14px;
}
#eventDetail h2 {
	font-weight:bold;
}
#eventDetail dl {
	margin-bottom:18px;
}
#eventDetail dt {
	float:left;
	width:70px;
	font-weight:bold;
}
#eventDetail dd {
	float:left;
	width:530px;
}
#eventDetail img {
	float:right;
	margin-left:20px;
}
#eventDetail ul {
	margin-top:3px;
}
#eventDetail ul a {
	border-bottom:1px dotted #444;
}

/*
——————————————————————
Publications
——————————————————————
*/
#publications ul {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:2.5em 1em;
	margin:3em 0;
}
#publications li img {
	display:block;
	width:9em;
	height:auto;
	aspect-ratio:212/300;
	margin:0 auto 0.6em auto;
	box-shadow:0 0 7px #ccc;
	border:0.3em solid #fff;
	border-radius:0.3em;
}
#publications li a:hover img {
	opacity:.93;
}
#publications li strong,
#publications li span {
	display:block;
	font-size:0.88em;
	line-height:1.1;
	text-align:center;
}
#publications li strong {
	margin-bottom:0.3em;
}

/*
———————————————————
Forms
———————————————————
*/
.form {
	position:relative;
	padding:2em 2em 2.5em 2em;
	background:#f2f2f2;
	border-radius:0.4rem;
	font-size:0.88em;
}
.form h3 {
	padding-left:200px;
	margin-top:2em;
}
.form h3:first-child {
	margin-top:0;
}
.form h3 span.subheading {
	font-size:1rem;
}
.form p,
.form .fieldWrapper,
.form .g-recaptcha {
	position:relative;
	padding-left:200px;
	min-height:2em;
	margin-bottom:0.8em;
}
.form .g-recaptcha {
	margin:2em 0;
}
.form p.fullWidth {
	padding:0;
}
.form p:last-child {
	margin-bottom:0;
}
.form label {
	position:absolute;
	top:0; left:0;
	display:block;
	width:180px;
	text-align:right;
	padding-top:6px;
}
.form label a {
	font-weight:bold;
	border-bottom:1px solid #fc0 !important;
}
.hs-form-required {
	color:#fb0;
}
.form input.text,
.form textarea,
.form select {
	display:inline-block;
	width:100%;
	padding:0.5em;
	max-width:400px;
	border:1px solid #ccc;
	border-top-color:#aaa;
	border-radius:0.3em;
}
.form input.long {
	width:500px;
}
.form input.text-left {
	margin-right:8px;
}
.form textarea {
	height:90px;
}
.form input.text:hover,
.form textarea:hover,
.form select:hover  {
	border-color:#aaa;
	border-top-color:#888;
}
.form input.text:focus,
.form textarea:focus,
.form select:focus {
	border-color:#fcbd1b;
	outline:none;
}
.form input.short {
	width:60px;
}
.form input.amount {
	width:80px;
}
.form select.auto {
	width:auto;
}
.form p.checkboxes {
	min-height:0;
}
.form p.checkboxes label {
	position:static;
	display:inline;
	padding:0;
	margin-left:0.5em;
	font-weight:normal;
	cursor:pointer;
}
.form p.checkboxes input {
	position:relative;
	top:0.1em;
}
.form p.delivery-options input[type=radio] {
	top:0.35em;
}
.form span.customInput,
.form .extraQuantities {
	display:none;
}
.form p.active span.customInput {
	display:block;
	margin-top:8px;
}
.form .recaptchatable a,
.form .recaptchatable a:hover {
	color:#000;
}

/*
————————————————————————
Validation
————————————————————————
*/
.validation-container, .alert {
	color:#d00;
	background:#dd000011;
	border-left:3px solid #d00;
	padding:1em 1em 1em 4em;
	margin-bottom:1.2em;
	min-height:3.6em;
	border-radius:0.4rem;
	position:relative;
	font-size:0.88em;
}
.validation-container:before, .alert:before {
	position:absolute;
	content:'\f06a';
	font-family:fa-solid;
	top:0.4em; left:0.5em;
	font-size:2em;
	line-height:1;
}
.alert:before {
	content:'\f058';
}
.validation-title {
	font-weight:650;
	margin-bottom:0.3em;
}
.validation-container li a,
.confirm li a {
	text-decoration:underline;
	color:inherit;
}
.validation-container .close,
.alert .close {
	position:absolute;
	top:0.5em; right:0.5em;
	width:2em;
	line-height:2em;
	text-align:center;
	cursor:pointer;
}
.validation-container .close:after,
.alert .close:after {
	content:'\f00d';
	font-family:fa-solid;
}
.confirm {
	color:#8b1;
	background:#88bb1111;
	border-color:#8b1;
}

/*
——————————————————————————
Tables
——————————————————————————
*/
.grid {
	width:100%;
	border-bottom:1px solid #ddd;
	margin:2em 0;
}
.grid tr:hover td {
	background-color:#eee;
}
.grid th {
	padding:0.3em 0.4em;
	font-weight:bold;
}
.grid th strong {
	font-size:16px;
}
.grid td {
	padding:0.3em 0.4em;
	background:#f9f9f9;
	border-top:1px solid #ddd;
	cursor:pointer;
}
.grid tr.completed td {
	background-color:#fbf5dc;
	border-color:#eedead;
}
.grid tr.completed:hover td {
	background-color:#f7eec9;
}
.grid td a {
	color:#333;
}
.grid td a:hover {
	text-decoration:none;
}

/*
——————————————————————————
Presentation Tables
——————————————————————————
*/
.presentation {
	font-size:0.88em;
	margin:2em 0;
	width:100%;
}
.presentation th {
	line-height:1.2;
}
.presentation th.label {
	background:#fed534;
	font-weight:bold;
}
.presentation th,
.presentation td {
	padding:7px 10px;
	width:145px;
	vertical-align:top;
}
.presentation th.label,
.presentation td {
	border:1px solid #fed534;
}
.presentation th.center,
.presentation td.center {
	text-align:center;
}
.presentation td.tint {
	background:#fffce2;
	font-weight:bold;
}
.presentation td.tint span {
	font-weight:normal;
}
.fees {
	width:100%;
	font-size:14px;
}

/*
——————————————————————
Figure Tables
——————————————————————
*/
figure {
	width:100%;
	margin:2em 0;
}
figure table {
	width:100%;
	margin:1.5em 0;
	font-size:0.9em;
}
figure th,
figure td {
	padding:0.4em 0.7em;
	vertical-align:top;
	border:0.05em solid #ffc627;
	width:11em;
	text-align:center;
}
figure th {
	background:#ffc627;
	font-weight:bold;
	line-height:1.3;
	padding:0.6em 0.7em;
}
figure th:nth-child(even) {
	background:#ffd86c;
}
figure th:first-child,
figure td:first-child {
	width:auto;
	text-align:left;
}
figure td {
	background:#ffc6271a;
}
figure td:first-child {
	background:none;
}

/*
—————————————————
Paging
—————————————————
*/
.pager {
	color:#777;
	margin-top:2em;
	height:4em;
}
.pager .count {
	float:left;
}
.paging {
	float:right;
}
.pager span.disabled,
.pager span.divider {
	display:none;
}
.pager span.active,
.pager a {
	display:inline-block;
	border:1px solid #fff !important;
	min-width:1.8em;
	text-align:center;
	line-height:1.8em;
	border-radius:50%;
}
.pager span.active {
	border:1px solid #fc0 !important;
	background:#fc0;
	color:#000;
	cursor:default;
}

/*
—————————————————————
Videos
—————————————————————
*/
#videos ul {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:1em;
	margin-bottom:2em;
}
#videos a {
	display:block;
	border-radius:0.4em;
	padding:0.5em;
}
#videos a:hover {
	background:#eee;
}
#videos a:active {
	background:#ddd;
}
#videos img {
	display:block;
	width:100%;
	height:auto;
	aspect-ratio:16/9;
	object-fit:cover;
	border-radius:0.3em;
}
#videos .image-wrapper {
	display:block;
	position:relative;
}
#videos .image-wrapper:after {
	content:'\f04b';
	position:absolute;
	top:calc(50% - 1em);
	left:calc(50% - 1em);
	width:2em;
	height:2em;
	font-size:1.5em;
	font-family:fa-solid;
	line-height:2;
	text-align:center;
	transition:color 200ms;
	border-radius:50%;
	color:#000;
	background:rgba(0,0,0,0.5);
	background:#ffcc00aa;
}
#videos span.title {
	display:block;
	text-align:center;
	line-height:1.2;
	font-size:0.93em;
	color:#525252;
	margin-top:6px;
}

/*
———————————————————
Contact Page
———————————————————
*/
#contact-info address {
	float:left;
	margin:0 3em 1.5em 0;
}
#contact-info address:last-child {
	margin-right:0;
}
#contact-info address strong {
	font-size:16px;
}
#contact-info address span {
	display:block;
}
#contact-info dl {
	margin-bottom:30px;
	width:100%;
	max-width:400px;
	border-bottom:1px solid #ddd;
}
#contact-info dt {
	float:left;
	clear:left;
	width:50px;
	height:3.5em;
	border-top:1px solid #ddd;
}
#contact-info dt span {
	display:none;
}
#contact-info dt.phone {
	height:5em;
}
#contact-info dt.icon:before {
	font-family:fa-brands;
	display:block;
	text-align:center;
	font-size:1.7em;
	margin-right:0.5rem;
	margin-top:0.4rem;
}

#contact-info dt.phone:before,
#contact-info dt.email:before {
	font-family:fa-light;
}

#contact-info dt.phone:before     { content:'\f095' }
#contact-info dt.email:before     { content:'\f0e0' }
#contact-info dt.facebook:before  { content:'\f39e' }
#contact-info dt.instagram:before { content:'\f16d' }
#contact-info dt.youtube:before   { content:'\f167' }
#contact-info dt.linkedin:before  { content:'\f0e1' }
#contact-info dt.twitter:before   { content:'\f099' }
#contact-info dt.youtube:before   { content:'\f167' }

#contact-info dd {
	float:left;
	border-top:1px solid #ddd;
	width:calc(100% - 50px);
	line-height:1.5em;
	padding:1em 0;
}
#contact-info dd strong.short {
	display:none;
}
#contact-info a {
	border-bottom:2px solid #fc0;
}

/*
————————————————————————
Shop
————————————————————————
*/
.shop-logo {
	width:11em;
	aspect-ratio:25 / 22;
	display:block;
	margin:-0.5em auto 0.5em auto;
}
#content .shop-buttons a.hours {
	display:none;
}
.tagline {
	text-align:center;
	font-size:0.8em;
	line-height:1.3;
	margin-bottom:2em;
}
.tagline strong {
	font-weight:800;
}
.button-cart {
	display:block;
	text-align:center;
	margin:0 auto 1.5em auto;
	font-weight:normal;
}
#content p.breadcrumb:first-child {
	margin-top:0;
}
#products {
	display:grid;
	grid-template-columns:repeat(2, 1fr);
	gap:1em;
	margin-bottom:2em;
}
#products li {
	height:114px;
}
#products a {
	display:flex;
	border-radius:0.4em;
	height:114px;
	padding:7px 12px 7px 118px;
	position:relative;
	border:0;
	background:#f2f2f2;
	align-items:center;
}
#products li.sale a {
	background:#fff;
	border:2px solid #fc0;
	padding:5px 10px 5px 116px;
}
#products a:hover {
	background:#ededed;
}
#products a:active {
	background:#e8e8e8;
}
#products img {
	position:absolute;
	top:7px; left:7px;
	width:100px;
	height:100px;
	border-radius:0.3em;
}
#products li.sale img {
	top:5px; left:5px;
}
#products strong {
	display:block;
	line-height:1.1;
}
#products .price {
	font-size:0.88em;
}
#product #images {
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:1em;
	margin-bottom:1.5em;
}
#product #images a {
	border:0;
}
#product #images img {
	aspect-ratio:1/1;
	width:100%;
	height:auto;
	border-radius:0.4em;
	border:1px solid #ccc;
}
#product img.single {
	float:right;
	width:300px;
	height:300px;
	border:1px solid #ccc;
	border-radius:0.4em;
	margin:0 0 2em 2em;
}
#product .markdown {
	max-width:500px;
}
#product-content p:first-child {
	margin-top:0 !important;
}
#product-content p.price {
	font-size:1.2em;
	font-weight:650;
	margin-top:1em;
}
#product-content p.price small {
	font-size:14px;
}
.attributes {
	display:inline-block;
	background:#eee;
	border-radius:0.4em;
	padding:1em;
	margin-bottom:1.5em;
	font-size:0.88em;
}
.attributes-no-sizes {
	padding:0;
	background:none;
}
.attributes dl {
	display:inline-block;
	margin-right:0.7em;
}
.attributes dl:last-child {
	margin-right:0;
}
.attributes dt {
	font-weight:650;
	line-height:1;
	margin-bottom:0.3em;
}
.attributes select {
	border-radius:0.3em;
	outline:0;
	padding:0.2em;
	border:1px solid #ccc;
}
.attributes input.button {
	padding:2px 10px;
	font-size:15px;
	margin:20px 0 0 5px;
	border:0;
	background:#111;
	color:#fc0;
	font-weight:bold;
	border-radius:5px;
	outline:none;
	cursor:pointer;
}
.attributes-no-sizes input.button {
	margin:0;
}
.attributes input.button:hover {
	background:#222;
}
.attributes input.button:active {
	background:#333;
}
#sizes {
	margin-top:2em;
	font-size:0.88em;
}
#sizes th {
	font-weight:bold;
	border-bottom:1px solid #ddd;
	padding:0.2em 0;
	color:#ea0;
}
#sizes td {
	padding:0.2em 0;
	border-bottom:1px solid #ddd;
}
#sizes .size {
	padding-right:2em;
}
#sizes .price {
	text-align:right;
	padding:0 0 0 2em;
}
.hide-measurements .measurement,
.hide-prices .price {
	display:none;
}

/*
————————————————————————
Cart
————————————————————————
*/
#cart table {
	width:100%;
	margin:2em 0;
	overflow:hidden;
	border-radius:0.4em;
	border-collapse:collapse;
	font-size:0.88em;
}
#cart th {
	background:#fc0;
	font-size:0.88em;
	font-weight:500;
	padding:6px 12px;
	color:#000;
}
#cart th {
	color:#1e84c1;
	background:#cae1f1;
	font-size:0.9em;
	font-weight:600;
	padding:0.4rem 0.8rem;
}
#cart td {
	border-bottom:1px solid #ddd;
	padding:0.7rem 0.8rem;
	background:#f9f9f9;
	line-height:1.3;
}
#cart tr.total td {
	border-bottom:3px solid #ddd;
}
#cart .money {
	text-align:right;
}
#cart td input.quantity {
	display:inline-block;
	padding:0.2em;
	width:2em;
	border:1px solid #ccc;
	border-top-color:#aaa;
	border-radius:4px;
	text-align:center;
	margin-right:0.5em;
}
#cart td input.quantity:hover {
	border-color:#aaa;
	border-top-color:#888;
}
#cart td input.quantity:focus {
	border-color:#fc0;
	outline:0;
}
#cart tr.total {
	font-weight:650;
	font-size:1rem;
}
#cart tr.total small {
	font-weight:normal;
}
#cart td .button {
	font-size:0.7rem;
}
#cart .remove {
	background:#ddd;
}
#cart .remove:hover {
	background:#ccc;
}
img.payment {
	float:left;
	margin-top:1em;
	max-width:10em;
}

/*
————————————————————————
Checkout
————————————————————————
*/
.delivery-options input {
	float:left;
	clear:left;
}
.delivery-options label {
	float:left;
	margin-bottom:1em;
	text-align:left;
	width:auto;
	max-width:calc(100% - 2em);
}
.delivery-options label strong,
.delivery-options label span {
	display:block;
}

/*
————————————————————————
Enrolment Form
————————————————————————
*/
#enrolment {
	padding:0;
	border-radius:0;
}
#enrolment a {
	font-weight:bold;
	border-bottom:1px solid #fc0;
}
#enrolment h2 {
	background:#222;
	color:#fc0;
	padding:8px 20px;
	margin:0 0 1em -15px;
}
#enrolment h2:before {
	display:none;
}
#enrolment h2 small {
	font-size:0.7em;
}
#enrolment .formPanel {
	margin-bottom:20px;
	padding-left:15px;
}
#enrolment .formPanel p {
	padding-right:20px;
}
#enrolment .formSection {
	margin-bottom:12px;
}
#enrolment p.intro {
	padding-right:15px;
}
#enrolment p.wide,
#enrolment h3.wide {
	padding-left:50px;
}
#enrolment .affiliations strong,
#enrolment .attachments strong,
#enrolment .income strong,
#enrolment p.checkboxes strong {
	display:block;
	margin-bottom:4px;
}
#enrolment p.input-list strong {
	display:block;
	margin:16px 0 8px 0;
}
#enrolment .affiliations strong {
	margin-top:12px;
}
#enrolment p.total span {
	display:inline-block;
	background:#ccc;
	padding:7px 7px 7px 12px;
	border-radius:5px;
}
#enrolment p.total strong {
	display:inline;
	margin-right:10px;
}
#enrolment #visaPanel,
#enrolment #accountPanel {
	display:none;
}
#enrolment input.button {
	font-size:1.8em;
	margin-top:2em;
}

/*
———————————————————————
Tiles
———————————————————————
*/
#tiles {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:1em;
	margin-top:2em;
}
.standfirst + #tiles {
	margin-top:2.5em;
}
#tiles a {
	display:block;
	border:0;
	line-height:1.15;
	height:6.5em;
	transition:background-color 150ms linear;
	background-color:#f3f3f3;
	background-size:contain;
	position:relative;
	xborder-bottom:2px solid #eb0;
	border-radius:0.4rem;
	overflow:hidden;
}
#tiles span {
	position:absolute;
	top:0; left:6.5em;
	width:calc(100% - 6.5em);
	height:100%;
	display:flex;
	align-items:center;
	padding:0 0.8em;
}
#tiles img {
	height:100%;
	position:absolute;
	top:0; left:0;
	width:6.5em;
	height:6.5em;
	transition:filter 150ms linear;
	xfilter:grayscale(0.9);
}
#tiles a:hover {
	background-color:#fc0;
}
#tiles a:hover img {
	filter:grayscale(0);
}
#tiles li.cta a {
	color:#fc0;
	background-color:#222;
}
#tiles li.cta a span {
	font-size:1.1em;
	font-family:BlsW-Md;
	text-transform:uppercase;
}
#portal-tiles {
	display:grid;
	grid-template-columns:repeat(3, 1fr);
	gap:1em;
	margin-top:3em;
}
#portal-tiles li.top {
	position:relative;
	background:#eee;
	border-radius:0.4em;
	overflow:hidden;
}
#portal-tiles li.top ul {
	font-size:0.88em;
}
#portal-tiles img {
	display:block;
	width:100%;
	height:7em;
	object-fit:contain;
	background:#000;
}
#portal-tiles h3 {
	margin-bottom:0.5em;
}
#portal-tiles div {
	padding:1em 0.9em;
}
#portal-tiles div a {
	border-color:#ccc;
}

/*
———————————————————————
Calendar
———————————————————————
*/
.calendar-tabs {
	text-align:center;
	height:2em;
	border-bottom:1px solid #ccc;
	margin-bottom:2em;
}
.calendar-tabs li {
	display:inline-block;
	margin:0 0.3em;
}
.calendar-tabs a {
	display:block;
	line-height:1.9em;
	height:2em;
	border:1px solid #ccc;
	border-radius:5px 5px 0 0;
	width:7em;
	text-align:center;
	background:#ddd;
	font-weight:500;
}
.calendar-tabs a:hover {
	background:#d4d4d4;
}
.calendar-tabs a:active {
	background:#cecece;
}
.calendar-tabs li.active a {
	border-bottom:none;
	margin-bottom:-1px;
	padding-bottom:1px;
	background:#fff;
}
#calendar-buttons {
	text-align:center;
	height:4.5em;
}
#calendar-buttons a {
	display:inline-block;
	margin:0 0.2em;
	padding:0.4em 0.7em;
	color:#fff;
	background:#333;
	border-radius:0.3em;
}
#calendar-buttons a:hover {
	background:#444;
}
#calendar-buttons a.active {
	color:#111;
	background:#fc0;
}
#calendar-header {
	text-align:center;
	user-select:none;
}
#calendar-header span {
	vertical-align:top;
	display:inline-block;
	font-size:2.5em;
	width:8em;
}
#calendar-header.daily-header span {
	width:5.5em;
}
#calendar-header.weekly-header span {
	width:4.5em;
}
#calendar-header span span {
	font-size:1em;
	width:auto;
}
#calendar-header span small {
	display:block;
	font-size:1.3rem;
	line-height:1;
}
#calendar-header a {
	display:inline-block;
	vertical-align:top;
	font-size:2.6em;
	margin:0.2em 0.7em 0 0.7em;
	width:1.1em;
	height:1.1em;
	line-height:1.1em;
	text-align:center;
	border-radius:0.55em;
	transition:200ms background-color;
}
#calendar-header a:first-child {
	margin-left:0;
}
#calendar-header a:last-child {
	margin-right:0;
}
#calendar-header a:after {
	font-family:fa-light;
	content:'\f104';
}
#calendar-header a:last-child:after {
	content:'\f105';
}
#calendar-header a:hover {
	background:#f2f2f2;
}
#calendar-header a:active {
	background:#eee;
}
#monthly-wrapper {
	overflow-x:scroll;
	max-width:100%;
}
#monthly {
	width:100%;
	border-collapse:collapse;
	font-size:0.875em;
	line-height:1.2;
}
#monthly th {
	padding:0.2em 0.7em;
	background:#777;
	color:#fff;
	border:0.05em solid #aaa;
}
#monthly td {
	width:14.286%;
	height:15em;
	border:0.05em solid #ddd;
	padding:3.5em 0.7em 0.7em 0.7em;
	vertical-align:top;
	position:relative;
	box-sizing:border-box;
}
#monthly td.today {
	border:3px solid #fc0;
	background:#ffcc0011;
}
#monthly strong {
	position:absolute;
	top:0.7rem; left:0.7rem;
	font-size:1.7em;
	line-height:1;
	color:#666;
}
#monthly tr td:nth-child(6),
#monthly tr td:nth-child(7) {
	background:#f8f8f8;
}
#monthly a {
	display:block;
	padding:0.2em 0.6em;
	margin-bottom:0.4em;
	border-radius:0.8em;
	transition:background-color 100ms;
	outline:0;
}
#monthly a:hover {
	background:rgba(0,0,0,0.06);
}
#monthly a.school-holiday {
	background:#cce8ff;
}
#monthly a.public {
	background:#fc0;
}
#monthly span.time {
	color:#1f91d6;
	background:#1f91d611;
	padding:0 0.2em;
	font-size:0.8em;
	font-weight:bold;
}
#week {
	border:0.05em solid #ddd;
	width:100%;
	max-width:45em;
	margin:2em auto 0 auto;
}
#week li {
	position:relative;
	padding:0.8em 1em 0.8em 17em;
	border-bottom:0.05em solid #ddd;
}
#week li .day {
	position:absolute;
	top:1em; left:1em;
	font-weight:bold;
}
#week li .day strong {
	width:7em;
	display:inline-block;
	font-weight:normal;
	margin-bottom:-0.2em;
}
#week li p {
	margin-bottom:0.5em;
}
#week li p:last-child {
	margin:0;
}
#week li:nth-child(6),
#week li:nth-child(7) {
	background:#f8f8f8;
}
#week li.today {
	border:3px solid #fc0;
	background:#ffcc0011;
	margin:-1px;
}
#week a {
	display:inline-block;
	padding:0.2em 0.6em;
	border-radius:0.8em;
	transition:background-color 100ms;
	outline:0;
}
#week a:hover {
	background:rgba(0,0,0,0.06);
}
#week a.school-holiday {
	background:#cce8ff;
}
#week a.public {
	background:#fc0;
}
#week span.time {
	color:#1f91d6;
	background:#1f91d611;
	padding:0 0.2em;
	font-size:0.8em;
	font-weight:bold;
}
#day {
	border:0.05em solid #ddd;
	width:100%;
	max-width:45em;
	margin:2em auto 0 auto;
}
#day li {
	position:relative;
	padding:1em 1em 1em 1em;
	border-bottom:0.05em solid #ddd;
}
#day a {
	display:inline-block;
	padding:0.2em 0.6em;
	border-radius:0.8em;
	transition:background-color 100ms;
	outline:0;
}
#day a:hover {
	background:rgba(0,0,0,0.06);
}
#day a.school-holiday {
	background:#cce8ff;
}
#day a.public {
	background:#fc0;
}
#day span.time {
	color:#1f91d6;
	background:#1f91d611;
	padding:0 0.2em;
	font-size:0.8em;
	font-weight:bold;
}
.has-attachment a,
a.has-attachment {
	padding-right:2.5em !important;
	position:relative;
}
.has-attachment a:after,
a.has-attachment:after {
	font-family:fa-solid;
	content:'\f0c6';
	position:absolute;
	top:calc(50% - 0.7em);
	right:0.8em;
}
#term-dates {
	max-width:85em;
	margin:auto;
}
.term-dates-column {
	float:left;
	width:calc(33.33% - 2em);
	border-right:1px solid #ddd;
	margin-right:2em;
}
.term-dates-column:last-child {
	border-right:0;
	margin-right:0;
}



@media only screen and (max-width: 1599px) {
	#directory-header-text {
		font-size:1.1em;
	}
}


@media only screen and (max-width: 1600px) {
	html {
		font-size:16px;
	}
}


@media only screen and (max-width: 1500px) {
	.wrapper {
		max-width:1300px;
	}
}


@media only screen and (max-width: 1400px) {
	html {
		font-size:15px;
	}
	.wrapper {
		max-width:100%;
	}
	#nav-secondary-left {
		margin-left:2em;
	}
	#nav-secondary-right {
		margin-right:2em;
	}
	.full-width-content {
	    padding:3rem;
	}
	.home-hero {
		height:450px;
	}
	.home-hero-text {
	    width:calc(100% - 800px);
	}
	.home-hero .media {
		width:800px;
	}
}

	
@media only screen and (max-width: 1250px) {
	.home-hero {
		height:auto;
	}
	.home-hero .media {
		float:none;
		display:block;
		width:100%;
		height:auto;
	}
	.home-hero-text {
	    float:none;
		width:auto;
		height:auto;
	}
	.home-hero-text .ctas {
		position:static;
		width:auto;
		margin-top:2em;
		grid-template-columns:repeat(4, 1fr);
	}
}


@media only screen and (max-width: 1100px) {
	html {
		font-size:14px;
	}
	#header {
		height:8.5em;
	}
	.standfirst {
		width:auto;
	}
	#nav, #nav-secondary {
		display:none;
	}
	#nav {
		position:absolute;
		top:8.5em; left:0;
		bottom:auto;
		width:100%;
		background:#000;
		z-index:100;
		padding:2em 4em;
	}
	#nav li.top {
		display:block;
		margin:0;
		padding:0;
		border-bottom:1px solid #333;
	}
	#nav #nav-community-links li.top:last-child {
		border:0;
	}
	#nav a.top {
		color:#fff;
		padding:0.5em 0;
		font-size:1.3em;
		margin-right:4em;
	}
	#nav ul:first-child li.top:hover a.top:before {
		display:none;
	}
	#nav .trigger {
		display:block;
		position:absolute;
		width:4em;
		height:2.2em;
		line-height:2.2em;
		text-align:center;
		transform:none;
		top:0.38em; right:0;
		padding:0;
		background:#333;
		border-radius:0.4em;
		font-size:1.1em;
		cursor:pointer;
	}
	#nav .trigger:before {
		content:'\f078';
		color:#fff;
		font-family:fa-solid;
	}
	#nav .trigger-open:before {
		content:'\f077';
	}
	#nav li.top .rollover {
		position:relative;
		top:auto; left:auto;
		width:auto;
		border-radius:0.4em;
		border-bottom:8px solid #444 !important;
		padding:1.3em 1.2em;
		background:#222;
		user-select:none;
	}
	#nav li.top .rollover-open {
		display:block;
	}

	@media (hover: hover) {
		#nav li.top:hover .rollover {
			display:none;
		}
		#nav li.top:hover .rollover-open {
			display:block;
		}
	}

	#nav li.top .rollover h3,
	#nav li.top .rollover:before {
		display:none;
	}
	#nav li.top .rollover div {
		position:absolute;
		top:1.2em; left:1.2em;
		width:28%;
	}
	#nav li.top .rollover div img {
		border-radius:0;
	}
	#nav li.top .rollover ul {
		float:none;
		margin:0;
	}
	#nav li ul a {
		font-size:1.15em;
		line-height:1.1;
		padding:0.55em 0.6em;
		color:#fff;
		border-radius:0.3em;
	}
	#nav li ul a:hover {
		background:#333;
	}
	#nav li.menu-search {
		display:none;
	}
	#nav-mobile {
		display:block;
		position:absolute;
		top:1.2rem;
		right:1.2rem;
	}
	#nav-mobile button {
		float:left;
		width:2em;
		font:1.4em/1.6 fa-light;
		text-align:center;
		margin-left:0.5em;
		color:#fff;
		background:none;
		border:none;
		cursor:pointer;
	}
	#nav-mobile .button-close {
		display:none;
	}
	#nav-parent-links,
	#nav-community-links {
		display:block;
	}
	#nav-parent-links a.top:before,
	#nav-community-links a.top:before {
		content:'\f0c1';
		font-family:fa-solid;
		color:#fc0;
		display:inline-block;
		width:1.6em;
	}

	/* Mobile menu open */

	html.menu-open {
		background:#000;
	}
	html.menu-open #nav {
		display:block;
	}
	html.menu-open #nav-mobile .button-search,
	html.menu-open #nav-mobile .button-menu,
	html.menu-open .content,
	html.menu-open #footer {
		display:none;
	}
	html.menu-open #nav-mobile .button-close {
		display:block;
	}
	html.menu-open #header,
	html.menu-open.home #header {
		border-bottom-color:#fc0;
	}
}


@media only screen and (max-width: 1279px) {
	.shop-logo {
		width:100%;
		height:auto;
		max-width:140px;
	}
	#directory  {
		grid-template-columns:repeat(1, 1fr);
	}	
}


@media only screen and (max-width: 1200px) {
	.edit-link {
		display:none;
	}
	.staff {
		grid-template-columns:repeat(4, 1fr);
	}
}


@media only screen and (max-width: 1160px) {
	#footer-logos #ibsc img {
		margin-top:0;
		margin-bottom:20px;
	}
	#footer-logos img {
		clear:right;
		max-width:120px;
		margin-left:0;
	}
	#nav li.button-search {
		display:none;
	}
	#directory-header-heading {
		width:50%;
		padding:2em;
	}
	#directory-header-text {
		width:50%;
	}
}


@media only screen and (max-width: 1023px) {
	.has-sidebar:before {
		display:none;
	}
	#content, .full-width-content {
		padding:2rem;
	}
	.page-header .heading,
	.breadcrumb {
		left:22.25rem;
	}
	#sidebar {
		display:none;
	}
	#content {
		float:none;
		width:auto;
	}
	#sidebar.shop-sidebar {
		float:none;
		display:block;
		width:auto;
		position:static;
		margin-bottom:1em;
	}
	#sidebar.shop-sidebar .tagline,
	#sidebar.shop-sidebar h3,
	#sidebar.shop-sidebar ul,
	#sidebar.shop-sidebar p {
		display:none;
	}
	.button-cart {
		max-width:15em;
		margin-bottom:0;
	}
	.staff {
		grid-template-columns:repeat(5, 1fr);
	}
	#directory-categories strong {
		font-size:0.88em;
	}
	.shop-buttons a.button {
		margin:0 0.2em;
	}
	#content .shop-buttons a.hours {
		display:inline-block;
	}
}


@media only screen and (max-width: 900px) {
	#directory-categories {
		padding:0.7em;
	}
	#directory-categories li {
		width:18%;
	}
	#directory-categories li.active div {
		color:#fc0;
	}
	#directory-categories span {
		color:#fff;
	}
	#directory-categories li.active div,
	#directory-categories li.active div span {
		color:#fc0;
		background:none;
	}
	#directory-header-heading {
		float:none;
		width:auto;
		padding:2em 3em;
	}
	#directory-header-text {
		float:none;
		width:auto;
		height:auto;
		padding:2em;		
	}
	#footer {
		padding:2em;
	}
}


@media only screen and (max-width: 767px) {
	.breadcrumb a.home,
	.breadcrumb a.home + .separator {
		display:none;
	}
	.home-tile:nth-child(4) {
		display:block;
	}
	.home-tiles,
	#news ul,
	#videos ul {
		grid-template-columns:repeat(2, 1fr);
	}
	#publications ul {
		grid-template-columns:repeat(3, 1fr);
	}
	.profile {
		padding-left:14em;
	}
	.profile img {
		width:11em;
	}
	.tabs-wrapper {
		margin-top:0 !important;
	}
	#promo-events,
	#promo-events li {
		float:none;
		width:auto;
		margin-right:0;
	}
	#calendar-header a {
		font-size:2em;
	}
	#calendar-header a:first-child {
		margin-right:0.4em;
	}
	#calendar-header a:last-child {
		margin-left:0.4em;
	}
	#calendar-header span {
		font-size:2em;
	}
	.term-dates-column {
		float:none;
		width:auto;
		border-right:0;
		margin-right:0;
		margin-bottom:2em;
		max-width:100%;
	}
}


@media only screen and (max-width: 700px) {
	.home-hero-text .ctas {
		grid-template-columns:repeat(2, 1fr);
	}
	#tiles {
		grid-template-columns:repeat(2, 1fr);
	}
	.staff {
		grid-template-columns:repeat(4, 1fr);
	}
}


@media only screen and (max-width: 650px) {
	#header {
		border-bottom:0.5em solid #fc0;
	}
	.page-header {
		height:auto;
	}
	.page-header:after {
		display:none;
	}
	.page-header-image-link {
		pointer-events:none;
	}
	.page-header-image {
		position:static;
		display:block;
		width:100%;
		height:auto;
		aspect-ratio:2/1;
	}
	.breadcrumb:not(.shop-breadcrumb) {
		position:static;
		padding:1.2em 1.6rem 0 1.6rem;
		line-height:1.3;
	}
	.page-header .heading {
		position:static;
		padding:1.2rem 1.6rem 1.4rem 1.6rem;
	}
	.page-header h1 {
		font-size:2.4em;
	}
	.page-header h3 {
		font-size:1.6em;
	}
	#content, .full-width-content, #footer {
		padding:1.6rem;
	}
	#sponsors {
		font-size:0.6em;
	}
	#content .publications, #staff {
		grid-template-columns:repeat(1, 1fr);
	}
	#product img.single {
		float:none;
		display:block;
		aspect-ratio:1/1;
		width:100%;
		height:auto;
		margin:0 auto 2em auto;
	}
	#product #images {
		grid-template-columns:repeat(2, 1fr);
	}
	#directory img {
		width:100%;
		display:block;
		float:none;
	}
	#directory .business-details {
		width:100%;
		float:none;
		padding:1em 0.8em 0.8em 0.8em;
	}
	.footer-panel {
		float:none;
		width:auto;
		margin-bottom:1em;
	}
	.footer-panel:first-child {
		display:none;
	}
	.footer-panel:last-child {
		margin-bottom:0;
	}
	#footer .logo-panel img {
		max-width:8em;
	}
}


@media only screen and (max-width: 599px) {
	.home-tiles,
	#products {
		grid-template-columns:repeat(1, 1fr);
	}
	#news ul {
		grid-template-columns:repeat(1, 1fr);
		gap:2em;
	}
	.staff {
		grid-template-columns:repeat(3, 1fr);
	}
	.profile {
		padding:0.5em 0 0 6.5em;
	}
	.profile img {
		width:5em;
		top:0; left:0;
	}
	.staff-profile .profile {
		padding-left:7.2em;
		min-height:0;
	}
	.staff-profile .profile img {
		width:6em;
	}
	#portal-tiles,
	#publications ul {
		grid-template-columns:repeat(2, 1fr);
	}
	.form label {
		position:static;
		text-align:left;
	}
	.form p, .form h3, .form .g-recaptcha  {
		padding-left:0;
	}
	.form .seat-selector,
	.form ul.seating-plan-list {
		margin-left:0;
	}
	#directory-categories li {
		width:30%;
	}
	#directory-header-heading {
		padding:1.7rem;
	}
	#directory-header-text {
		padding:1.7rem;
	}
	.shop-heading {
		text-align:center;
	}
	.shop-buttons {
		text-align:center;
	}
	.shop-buttons a.button {
		display:block !important;
		margin-bottom:0.7em;
	}
	#tickets a {
		padding:0 0 0 11.2em;
		min-height:7.5em;
	}
	#tickets img {
		width:10em;
		height:7.5em;
	}
	#week li {
		min-height:5em;
		padding-left:9em;
	}
	#week li .day strong {
		width:auto;
		display:block;
	}
	.pager {
		text-align:center;
		height:auto;
		margin-top:2em;
	}
	.pager .count,
	.paging {
		display:block;
		float:none;
	}
	.paging {
		margin-top:1.5em;
	}
}


@media only screen and (max-width: 500px) {
	#nav-mobile {
		position:static;
	}
	#nav-mobile button {
		position:absolute;
		top:1rem;
		margin:0;
	}
	#nav-mobile .button-menu,
	#nav-mobile .button-close {
		right:1rem;
	}
	#nav-mobile .button-search {
		left:1rem;
	}
	.calendar-tabs li {
		margin:0 0.1em;
	}
	.calendar-tabs a {
		width:auto;
		padding:0 1em;
	}
}


@media only screen and (max-width: 479px) {
	h1.regular {
		line-height:1.1;
		font-size:2.2em;
	}
	#header {
		height:92px;
		border-bottom-width:0.3em;
	}
	#logo {
		width:200px;
		height:62px;
		top:15px;
		left:calc(50% - 100px);
	}
	#nav {
		top:92px;
		padding:2em 3em;
	}
	#footer-wrapper {
		padding:2em 0;
	}
	#footer address, #social {
		float:none;
		width:auto;
		text-align:center;
	}
	#footer address *,
	#footer span.address {
		display:none;
	}
	#footer address #copyright {
		display:block;
		margin-top:20px;
	}
	#tiles,
	#portal-tiles,
	#videos ul {
		grid-template-columns:repeat(1, 1fr);
	}
	.staff {
		grid-template-columns:repeat(2, 1fr);
	}
	.tags {
		font-size:0.88em;
	}
	.form {
		padding:1.2em 1.2em 2em 1.2em;
	}
	#tickets a {
		padding:0;
		min-height:0;
	}
	#tickets h3 {
		margin-top:0;
	}
	#tickets img {
		position:static;
		display:block;
		aspect-ratio:4/3;
		width:100%;
		height:auto;
		border-radius:0.4em;
		margin-bottom:1.2em;
	}
	.event-images {
		grid-template-columns:repeat(2, 1fr);
	}
	.event-images li {
		display:none;
	}
	.event-images li:first-child,
	.event-images li:nth-child(2) {
		display:block;
	}
	.related-sidebar {
		width:9em;
		margin:0.4em 0 1.2em 1.2em;
	}
}


@media only screen and (max-width: 400px) {
	.calendar-tabs,
	#calendar-buttons a {
		font-size:0.9em;
	}
	.calendar-tabs a {
		padding:0 0.5em;
	}
}


@media only screen and (max-width: 360px) {
	#nav {
		padding:1.6em;
	}
}