/*
Theme Name: TEEvents Theme
Theme URI: n/a
Author: ...
Author URI: ...
Description: Theme for ...
Version: 1.0
License: no license, use a theme from https://wordpress.org/themes/ instead.
License URI: n/a
Tags: n/a
Text Domain: teeventstheme
*/

/* generic things */

html,body,h1,h2,h3,h4,h5,h6,p,ul,li,form{
	padding:0;
	margin:0;
}
*{
	box-sizing:border-box;
}
html {
	font-size:16px; /* for rem base */
	scroll-behavior: smooth;
	/* note: this replaces the javascript version, which is not accessible due to the 'return false' setting. */
}
.anchored{
	scroll-margin-top:11rem;
}
html,#nav{
	scrollbar-width: thin;
}
.screen-reader-text,
.skip-link,
.site-nav li.icon a span{
	position:fixed;
	top:-4000rem;
	left:-4000rem;
}
.skip-link:focus,
#toggle a:focus span.skip-link{
	top:2rem;
	left:2rem;
	background:black;
	color:white;
	padding:.5rem 1rem;
	border:2px dotted white;
	text-decoration:none;
	text-transform:uppercase;
	font-size:100%;
	z-index:10000;
}
.admin-bar .skip-link:focus,
#toggle a:focus span.skip-link{
	top:4rem;
}
iframe,
img{
	max-width:100%;
}
img.attachment-thumbnail,
img.attachment-large{
	height:auto !important;
}

/* colours */

html{
	scrollbar-color: #869497 white;
}
body{
	background:#05090F;
	color:#FFFFFF;
}
.formboxwrapper{
/*
	background:#FFFFFF;
	color:#05090F;
	padding:1rem;
*/
}
#masthead,
#nav{
	background:#05090F;
	color:#FFFFFF;
}
#searchpanel{
	background:#869497;
}
input,textarea{
	border-color:#05090F;
}
.search-form input[type="submit"]{
	background:#05090F;
	color:#FFFFFF;
}
#banner.mastheadbanner,
#banner.mastheadbanner-video{
	max-width:1200px;
	margin:0 auto;
}
#banner,
#banner.mastheadbanner-video .videowrapper,
#banner.mastheadbannerwide-video .videowrapper{
	background-position:center;
	background-size:cover;
	position:relative;
}
/* only where the title goes over the banner */
#banner.hastitleoverlay:after{
	content:"";
	display:block;
	width:100%;
	height:11vw;
	background:linear-gradient(rgba(5,9,15,0) 0%,rgba(5,9,15,.7) 30%,rgba(5,9,15,1) 100%);
	position:absolute;
	bottom:0;
	left:0;
}
@media(max-width:1440px){
	#banner.mastheadbannerwide{
		background-size:auto 100%;
		padding-top:660px !important;
	}
}
@media(max-width:1300px){
	#banner.mastheadbannerwide{
		padding-top:50.5% !important;
	}
}
/* alternative banner option with linked blocks/images */
/* only on What we do */

.mastheadlinkblockswrapper{
	border-color:#869497;
}
.mastheadlinkblockswrapper:before,
.mastheadlinkblockswrapper:after{
	background:#05090F;
}

.breadcrumb #crumbs,
#primary h2,
p.byline{
	color:#869497;
}
#primary h2.page-title{
	color:#FFFFFF;
}

#primary div.prevoverlay{
	color:#FFFFFF;
	background:linear-gradient(to top,rgba(0,0,0,.7) 0%, rgba(0,0,0,.5) 60%, rgba(0,0,0,0) 100%);
	padding-top:2em;
}

}
.blog #primary a.previmg{
	background:#FFFFFF;
}
#primary a.previmg.witharrow:after{
	content:"";
	display:block;
	width:.6em;
	height:1.2em;
	position:absolute;
	right:1em;
	bottom:1em;
	background:url(img/arrow-right.svg) transparent no-repeat right center / contain;
}
.block div.prevposttitle{
	background:#FFFFFF;
	color:#869497;
}
#primary .block .prevposttitle h3{
	color:#05090F;
}
.site-nav ul li,
.site-nav ul ul{
	border-color:#869497;
}
.sidebarnav ul,
.sidebarnav li{
	border-color:#869497;
}
.ocbheading{
	padding-right:2em; /* to make room for the +/- icon */
	position:relative;
}
.ocbheading span{
	position:absolute;
	right:0;
	bottom:.3em;
	display:inline-block;
	width:min(1em, 1.6875rem);
	height:min(1em, 2.5rem);
	background:url(img/minus.svg) transparent no-repeat right center / contain;
}
.boxclosed .ocbheading span{
	background-image:url(img/plus.svg);
}

#colophon{
	background:#FFFFFF;
	color:#05090F;
}

/* links */

a{
	color:inherit;
	text-decoration:none;
}
a:focus,
a:hover,
a:active{
	color:#869497;
}
.ocbintro a,
.textcontent a{
	text-decoration:underline;
	text-underline-offset:.2em;
}
#masthead a{
	display:inline-block;
}
#masthead ul.nav-menu > li.current_page_item > a,
#masthead ul.nav-menu > li.current_page_parent > a,
#masthead ul.nav-menu > li.current_page_ancestor > a,
.post-type-archive-te_venue #masthead li#menu-item-23 > a,
.tax-te_eventtype #masthead li#menu-item-23 > a,
.single-te_venue #masthead li#menu-item-23 > a{
	color:#869497;
}
.post-type-archive-te_venue #masthead ul.nav-menu > li#menu-item-26 > a,
.tax-te_eventtype #masthead ul.nav-menu > li#menu-item-26 > a,
.single-te_venue #masthead ul.nav-menu > li#menu-item-26 > a{
	color:inherit;
}
.post-type-archive-te_venue #masthead ul.nav-menu > li#menu-item-26 > a:focus,
.tax-te_eventtype #masthead ul.nav-menu > li#menu-item-26 > a:focus,
.single-te_venue #masthead ul.nav-menu > li#menu-item-26 > a:focus,
.post-type-archive-te_venue #masthead ul.nav-menu > li#menu-item-26 > a:hover,
.tax-te_eventtype #masthead ul.nav-menu > li#menu-item-26 > a:hover,
.single-te_venue #masthead ul.nav-menu > li#menu-item-26 > a:hover,
.post-type-archive-te_venue #masthead ul.nav-menu > li#menu-item-26 > a:active,
.tax-te_eventtype #masthead ul.nav-menu > li#menu-item-26 > a:active,
.single-te_venue #masthead ul.nav-menu > li#menu-item-26 > a:active{
	color:#869497;
}

#social-navigation ul li a span{
	display:inline-block;
	width:1rem;
	height:1rem;
	overflow:hidden;
	text-indent:1rem;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}
#social-navigation ul li.instagram a span{
	background-image:url(img/icon-instagram.svg);
}
#social-navigation ul li.facebook a span{
	background-image:url(img/icon-facebook.svg);
}
#social-navigation ul li.twitter a span{
	background-image:url(img/icon-x-twitter.svg);
}
#social-navigation ul li.linkedin a span{
	background-image:url(img/icon-linkedin.svg);
}
#social-navigation ul li.search a span{
	background-image:url(img/icon-search.svg);
}
.breadcrumb #crumbs a{
	color:#869497;
}
.sidebarnav ul li a{
}
.sidebarnav ul li.current_page_item > a,
.sidebarnav ul li a:focus,
.sidebarnav ul li a:hover,
.sidebarnav ul li a:active{
	background:#869497;
	color:#FFFFFF;
}
.buttons a,
.filters ul li a{
	color:#869497;
	border-color:#869497;
	background:transparent;
	transition:background .5s ease-in-out 0s;
}
.buttons a.style-email_address:before{
	content:"";
	display:inline-block;
	width:2em;
	height:1.25rem;
	vertical-align:middle;
	background:url(img/icon-mail.svg) transparent no-repeat left center / contain;
}
.buttons a:focus,
.buttons a:hover,
.buttons a:active,
.filters ul li a:focus,
.filters ul li a:hover,
.filters ul li a:active{
	background:#FFFFFF;
}
.filters ul li.current-cat a{
	background:#FFFFFF;
	color:#05090F;
}


.item.block a:hover img,
ul.gallery li a:hover img{
	opacity:.7;
}
#colophon .contact p a{
	color:#869497;
}
#colophon .contact p a:before{
	content:"";
	display:inline-block;
	width:2em;
	height:1.25rem;
	vertical-align:middle;
	background:url(img/icon-mail.svg) transparent no-repeat left center / contain;
}


/* fonts */


body,
form,input,textarea{
	font-family:'Montserrat',Arial,sans-serif;
	font-size:100%;
	letter-spacing:.05em;
	line-height:1;
}
form,input,textarea{
	font-size:1rem;
	line-height:1.25;
}
.search-form input[type="submit"]{
	font-weight:700;
	text-transform:uppercase;
}
#primary h1,
#primary h2,
ul.mastheadlinkblocks,
p.quote{
	font-family:"Libre Bodoni",serif;
	font-optical-sizing:auto;
	font-weight:400;
	font-style:normal;
}
h1.site-title,
p.site-title{
	font-size:2rem !important;
	line-height:1 !important;
	margin-bottom:0 !important;
}
.site-title a,
.site-title img{
	display:block;
	width:100%;
}
#primary h1,
#primary h2.page-title{
	font-size:5.2rem;
	font-size:clamp(1.75rem,4.8vw,5.2rem);
	text-transform:uppercase;
	line-height:1.2;
	margin-bottom:0;
}
.page-template-default #primary h1,
.page-template-default #primary h2.page-title,
.page-template-default .titleinfront #primary .layout-left h1,
.page-template-default .titleinfront #primary .layout-left h2.page-title{
	text-align:center;
}
.page-template-default #primary .layout-left h1,
.page-template-default #primary .layout-left h2.page-title{
	text-align:left;
}
#primary h2{
	font-size:2.5rem;
	font-size:clamp(1.5rem,4vw,2.5rem);
	font-weight:400;
	text-transform:uppercase;
	line-height:1.3;
	margin-bottom:.2em;
}
#primary h2 span.searchterm{
	text-transform:none;
}
#primary h3{
	font-size:1.125rem;
	font-size:clamp(1rem,3.5vw,1.125rem);
	text-transform:uppercase;
	line-height:1.5;
}
#primary .ocb h2{
	text-transform:none;
}
#primary .person h2{
	font-size:1.875rem;
	font-size:clamp(1.5rem,4vw,1.875rem);
}
#primary .block h3{
	font-size:1em; /* based on font-size of .previmg */
	font-weight:700;
	line-height:1.2;
	margin-bottom:0;
}
#primary .person h3{
	font-size:1.125rem;
	font-size:clamp(1rem,3.5vw,1.125rem);
	text-transform:uppercase;
	line-height:1.5;
}
.buttons{
	font-size:1.25rem;
	font-size:clamp(1rem,4vw,1.25rem);
	font-weight:700;
	text-transform:uppercase;
	margin-left:-.5em; /* offset margins on the buttons */
	margin-bottom:1.5em;
}
p,ul,ol{
	font-size:1.125rem;
	font-size:clamp(1rem,3.5vw,1.125rem);
	line-height:1.5;
	margin-bottom:1.5em;
}
p.strapline{
	font-size:1.9rem;
	font-size:clamp(1rem,1.9vw,1.9rem);
	text-transform:uppercase;
	text-align:center;
}
.intro p,
.intro ul,
.intro ol{
	font-size:1.5rem;
	font-size:clamp(1rem,4.5vw,1.5rem);
	line-height:1.5;
	margin-bottom:.75em;
}
p.caption{
	font-size:.875rem;
	padding-top:.5em;
}
p.venuelocation,
p.date,
span.date{
	font-size:.75rem;
	font-weight:700;
	text-transform:uppercase;
	margin-bottom:0;
}
p.quote{
	font-size:clamp(1.25rem,3vw,1.5rem);
	line-height:1.3;
}
p.byline{
	font-size:1rem;
}
ul{
	list-style:none;
}
.site-nav ul{
	font-size:.9375rem;
	font-weight:700;
	text-transform:uppercase;
	margin-bottom:0;
}
ul.mastheadlinkblocks{
	font-size:1.75rem;
	font-size:clamp(.7rem,1.6vw,1.75rem);
	text-transform:uppercase;
	line-height:1.2;
}
@media(max-width:700px){
	ul.mastheadlinkblocks{
		font-size:clamp(1rem,2vw,1.75rem);
	}
}
ul.mastheadlinkblocks.count6{
	font-size:clamp(.6rem,1.4vw,1.6rem);	
}
@media(max-width:900px){
	ul.mastheadlinkblocks.count6{
		font-size:clamp(1rem,2vw,1.75rem);
	}
}
.breadcrumb #crumbs{
	font-size:.675rem;
	font-weight:800;
	text-transform:uppercase;
}
.sidebarnav ul{
	font-size:.875rem;
	font-weight:700;
	text-transform:uppercase;
	margin-bottom:0;
}
.previmg{
	font-size:1.25rem; /* this is the basis for both the h3 and the position and size of the arrow next to it */
	font-size:clamp(.925rem,2vw,1.25rem);
}
.page-content ul li{
	padding-left:1em;
	position:relative;
}
.page-content ul li:before{
	content:"\2022 ";
	display:inline-block;
	position:absolute;
	left:0;
	top:0;
	font-weight:700;	
}
.page-content ul.quoteslider li{
	padding-left:0;
}
.page-content ul.quoteslider li:before{
	display:none;
}
.page-content #sitemap h2,
.page-content #sitemap ul{
	text-align:left;
}
.page-content #sitemap ul li ul{
	margin-bottom:0;
}
.page-content .filters ul li,
.page-content ul.eventslist li,
.page-content ul.gallery li{
	padding-left:revert;
}
.page-content .filters ul li:before,
.page-content ul.eventslist li:before,
.page-content ul.gallery li:before{
	display:none;
}
ul.eventslist li span.eventname{
	font-weight:700;
	text-transform:uppercase;
}
#colophon ul{
	font-size:.9rem;
	line-height:2rem;
	margin-bottom:0;
}
#colophon .contact p{
	font-size:1.25rem;
	font-weight:700;
	text-transform:uppercase;
	white-space:nowrap;
	line-height:2rem;
	margin-bottom:0;
}


/* layout */

#nav,
.outer{
	padding-left:clamp(1rem,7vw,3rem);
	padding-right:clamp(1rem,7vw,3rem);
}
.inner{
	max-width:75rem;
	margin:0 auto;
}

#page{
	padding-top:12.25rem; /* same as #masthead height */
	transition:padding .5s ease-in-out 0s;
}
#nav{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	min-height:12.25rem; /* enough height for logo + nav menus */
	transition:height .5s ease-in-out 0s;
	padding-top:1.75rem;
	z-index:9999;
	transition:all .5s ease-in-out 0s;
}
.admin-bar #nav{
	top:32px;
}
@media(max-width:782px){
	.admin-bar #nav{
		top:46px;
	}
}
#searchpanel{
	top:calc(12.25rem);
}
.scrolled #searchpanel{
	top:calc(6.25rem);
}
.admin-bar #searchpanel{
	top:calc(12.25rem + 32px);
}
.admin-bar.scrolled #searchpanel{
	top:calc(6.25rem + 32px);
}
#nav .inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-end;
}
.site-branding{
	width:16rem;
	order:0;
	transition:width .5s ease-in-out 0s;
}
.site-nav ul.nav-menu > li{
	padding-bottom:1.25rem; /* with alignment adjustment */
	margin-bottom:-.25rem;
}
@media(max-width:1190px){
	#page{
		padding-top:9rem;
	}
	#nav{
		min-height:9rem;
	}
	#searchpanel{
		top:calc(9rem);
	}
	.admin-bar #searchpanel{
		top:calc(9rem + 32px);
	}
	.site-branding{
		width:10rem;
	}
	.site-nav ul.nav-menu > li{
		padding-bottom:0.8rem;
	}
}
@media(max-width:1080px){
	#page{
		padding-top:6.25rem;
	}
	#nav{
		min-height:6.25rem;
		padding-top:1.2rem;
	}
	#searchpanel{
		top:calc(6.25rem);
	}
	.admin-bar #searchpanel{
		top:calc(6.25rem + 32px);
	}
	.site-branding{
		width:7rem;
	}
	.site-nav ul.nav-menu > li{
		padding-bottom:2rem;
	}
}
@media(max-width:782px){
	.admin-bar #searchpanel{
		top:calc(6.25rem + 46px);
	}
}
.scrolled #nav{
	min-height:6.25rem;
	padding-top:1.2rem;
}
.scrolled #page{
	padding-top:6.25rem;
}
.scrolled .site-branding{
	width:7rem;
}
.scrolled .site-nav ul.nav-menu > li{
	padding-bottom:2rem;
}

#toggle{
	display:none;
	order:1;
}
.search-toggle{
	display:none;	
	order:2;
}
#navcontent{
	order:3;
}
.site-nav{
	display:flex;
	justify-content:flex-end;
}
.site-nav .main-navigation{
	text-align:center;
}
.site-nav .navi{
	display:inline-block;
}
.site-nav ul li{
	display:inline-block;
	margin-left:1.25em;
}
#social-navigation ul li{
	margin-left:1em;
}
#nav .inner{
	position:relative;
}
.site-nav ul.nav-menu > li > ul{
	position:absolute;
	left:0;
	top:100%;
	width:100%;
	background:rgba(0,0,0,.9);
	flex-wrap:wrap;
	align-items:flex-start;
	text-align:left;
	padding:1.5rem;
	display:none;
}
.site-nav ul.nav-menu > li:hover > ul{
	display:flex;
}
.site-nav ul.nav-menu > li > ul > li ul{
	display:none;
}
.site-nav ul.nav-menu > li > ul > li{
	width:calc(33% - 1.5rem);
	border-bottom:1px solid #869497;
	margin:0 .75rem;
}
.site-nav ul.nav-menu > li > ul > li ul li{
	width:100%;
	margin:0;
}
.site-nav ul.nav-menu > li > ul a{
	display:block;
	width:100%;
	padding:.75em .5em;
}
.site-nav ul.nav-menu > li > ul a:focus,
.site-nav ul.nav-menu > li > ul a:hover,
.site-nav ul.nav-menu > li > ul a:active{
	background-color:#869497;
	color:#FFFFFF;
}
.site-nav ul.nav-menu li ul.sub-menu{
	font-size:.875rem;
}
ul.sub-menu li.menu-item-has-children > a{
	position:relative;
	padding-right:2rem;

}
ul.sub-menu li.menu-item-has-children > a > span.opensubnav{
	content:" ";
	display:block;
	position:absolute;
	right:.5em;
	top:0;
	height:100%;
	width:1.5rem;
	background:url(img/arrow-nav.svg) transparent no-repeat right center;
	transition:all .5s ease-in-out 0s;
}
.site-nav ul.nav-menu li.menu-item-has-children.openthis > a > span.opensubnav{
	transform:rotate(180deg);
}
.site-nav li:hover ul,
.site-nav ul.nav-menu li.openthis > ul.sub-menu{
	display:block;
}
#searchpanel{
	display:none;
	position: fixed;
	max-width:calc(100% - clamp(2rem,14vw,6rem)); /* double the padding on .outer */
	right:clamp(1rem,7vw,3rem); /* same as padding on .outer */
	transition: all .5s ease-in-out 0s;
	padding:1rem 1rem .5rem 1rem; /* bottom padding minus margin on inputs */
}
.search-toggled-on #searchpanel{
	display:block;
}
#searchpanel form label{
	display:inline-block;
	width:calc(100% - 6.2rem);
	max-width:100%;
}
@media(max-width:340px){
	#searchpanel form label{
		width:100%;
	}
}
#searchpanel form input{
	max-width:100%;
	margin-bottom:.5rem;
}

.mastheadlinkblockswrapper{
	position:relative;
	width:calc(100vw - clamp(2rem,14vw,6rem));
	max-width:100rem;
	border-width:.4375rem;
	border-style:solid;
	margin:0 auto;
}
.mastheadlinkblockswrapper:before,
.mastheadlinkblockswrapper:after{
	content:"";
	display:block;
	position:absolute;
	left:5%;
	width:90%;
	height:.4375rem;
}
.mastheadlinkblockswrapper:before{
	top:-.4375rem;
}
.mastheadlinkblockswrapper:after{
	bottom:-.4375rem;
}
.mastheadlinkblocks{
	display:flex;
	padding:1.25em;
	margin-bottom:0;
}
.mastheadlinkblocks li{
	width:20%;
	position:relative;
}
.mastheadlinkblocks.count4 li{
	width:25%;
}
.mastheadlinkblocks.count6 li{
	width:16.67%;
}
.mastheadlinkblocks li a{
	display:block;
	height:100%;
	background:pink;
}
.mastheadlinkblocks li a img{
	display:block;
}
.mastheadlinkblocks li a span{
	position:absolute;
	bottom:0;
	left:0;
	width:100%;
	padding:1.125em .875em;
}
@media(max-width:900px){
	ul.mastheadlinkblocks.count6 li a span{
		transform:rotate(-90deg);
		transform-origin:bottom left;
		left:100%;
	}
}
@media(max-width:700px){
	ul.mastheadlinkblocks li a span{
		transform:rotate(-90deg);
		transform-origin:bottom left;
		left:100%;
	}
}

.layout-left{
	text-align:left;
}
.layout-center{
	text-align:center;
}
.page-header{
	margin-bottom:2rem;
}
.titleinfront .page-header{
	margin-top:calc(-7vw - 2rem);
}
.home .titleinfront .page-header,
.titleinfront .page-header.withstrapline{
	margin-top:calc(-9vw - 2rem);
}
.hasmasthead .page-header.screen-reader-text{
	margin-top:0;
	margin-bottom:0;
}
.site-content{
	min-height:calc(100vh - 20.2rem);
	padding-top:2rem;
	padding-bottom:4rem;
	position:relative; /* to go in front of positioned transparent layer on masthead banner */
	
}
.breadcrumb #crumbs{
	margin-bottom:2em;
}
.columns{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.col1,
.col2{
	width:46%;
}
@media(max-width:767px){
	.col1,
	.col2{
		width:100% !important;
	}
}
.hassidebar{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.hassidebarspace .page-content{
	/* limited space, but not holding space for non-existent sidebar */
	width:47rem;
	max-width:100%;
}
.hassidebar .page-content{
	width:60%;
	max-width:38.5rem;
	/* the above was based on homepage layout */
	width:calc(100% - 21rem);
	max-width:47rem;
}
.hassidebar .page-side{
	width:32.5%;
	max-width:24.375rem;
	/* the above was based on homepage layout */
	width:18rem;
}
.sidebarnav{
	margin-bottom:2rem;
}
.sidebarnav ul ul{
	border-width:1px 0 1px 0;
	border-style:solid;
}
.sidebarnav ul.children{
	display:none;
}
.sidebarnav ul li.page_item_has_children > a{
	position:relative;
	padding-right:2rem;
}
.sidebarnav ul li.page_item_has_children > a > span.opensubnav{
	content:" ";
	display:block;
	position:absolute;
	right:.5em;
	top:0;
	height:100%;
	width:1.5rem;
	background:url(img/arrow-nav.svg) transparent no-repeat right center;
	transition:all .5s ease-in-out 0s;
}
.sidebarnav ul li.page_item_has_children.openthis > a > span.opensubnav,
.sidebarnav ul li.page_item_has_children.current_page_item > a > span.opensubnav,
.sidebarnav ul li.page_item_has_children.current_page_ancestor > a > span.opensubnav{
	transform:rotate(180deg);
}

.sidebarnav li.openthis > ul.children,
.sidebarnav ul li.current_page_item > ul,
.sidebarnav ul li.current_page_ancestor > ul{
	display:block;
}
.sidebarnav a{
	display:block;
	padding:.5em .75em;
}
.layout-center .textcontent{
	max-width:90%;
	margin:0 auto;
}
.layout-center .ocb .textcontent{
	max-width:100%;
	margin-left:0;
}
.testimonials{
	margin-bottom:3rem;
}
.quoteslider{
	display:flex;
	align-items:center;
}
.quoteslider li div.quotebox{
	padding:0 1rem;
}
.quotebox{
	margin-bottom:1.5rem;
}
.quotebox p{
	display:inline;
}
.quotebox p.byline{
	padding-left:1rem;
}

.items{
	display:flex;
	flex-wrap:wrap;
	margin-left:-.5625rem;
	margin-right:-.5625rem;
}
.items.logos{
	align-items:center;
	margin-left:-1rem;
	margin-right:-1rem;
}
.items .item{
	width:33.33%;
	padding:.5625rem;
}
.layout-left .items .item,
.hassidebar .items .item{
	width:50%;
}
.items.logos .item{
	width:25%;
	padding:1rem;
}
.layout-center .items.logos .item{
	width:20%;
}
@media(max-width:900px){
	.layout-center .items.logos .item{
		width:25%;
	}
}
.items.logos .item .logo{
	width:100%;
	height:0;
	padding-top:100%;
	position:relative;
}
.items.logos .item .logo a,
.items.logos .item .logo span{
	display:flex;
	justify-content:center;
	align-items:center;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.items.logos .item .logo img{
	max-height:100%;
	max-width:100%;
}
@media(max-width:1030px){
	/* same max-width as when sidebar and main content go wide */
	.layout-left .items .item,
	.hassidebar .items .item{
		width:33.33%;
	}
}
@media(max-width:900px){
	.items .item{
		width:50%;
	}
	.layout-left .items .item,
	.hassidebar .items .item{
		width:50%;
	}
	.previmg{
		font-size:clamp(.925rem,3vw,1.25rem); /* this is the basis for both the h3 and the position and size of the arrow next to it */
	}	
}
@media(max-width:700px){
	.items.logos .item,
	.layout-center .items.logos .item{
		width:33.33%;
	}
}
@media(max-width:520px){
	.items.logos .item,
	.layout-center .items.logos .item{
		width:50%;
	}
}
@media(max-width:450px){
	.items .item,
	.layout-left .items .item,
	.hassidebar .items .item{
		width:100%;
	}
	.previmg{
		font-size:clamp(.925rem,6vw,1.25rem); /* this is the basis for both the h3 and the position and size of the arrow next to it */
	}	
}
.previmg{
	display:block;
	max-width:fit-content;
	position:relative;
	height:100%; /* height of the flex .item element */
}
.previmg img{
	display:block;
}
.previmg .prevoverlay{
	position:absolute;
	left:0;
	bottom:0;
	width:100%;
	padding:1em 2em;
	text-align:center;
	min-height:5.5rem;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:.5em 2em;
}
.previmg .prevposttitle{
	min-height:5.5rem;
	display:flex;
	flex-direction:column;
	justify-content:center;
	padding:.5em 2em;
}
.previmg .mouseovertext{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	overflow:auto;
	padding:1em;
	background:rgba(0,0,0,.8);
	color:white;
	display:none;
}
.previmg:hover .mouseovertext{
	display:block !important;
}
.filters,
.filters ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	align-items:baseline;
}
.filters p{
	margin-bottom:.25em;
}
.buttons a,
.filters ul li a{
	display:inline-block;
	padding:.5em;
	border-width:1px;
	border-style:solid;
	margin:.5em .5em;
}
.mhimagewrapper,
.quoteslider,
.mhsliderwrapper{
	margin-bottom:2rem;
}
.logoswrapper,
.peoplewrapper,
.videowrapper,
.googlemapwrapper,
.embed360wrapper,
.gallerywrapper,
.eventslistwrapper,
.eventtypeswrapper,
.venueswrapper{
	width:100%;
	margin-bottom:4rem;
	overflow:hidden;
}
.googlemapbox{
	width:100%;
	height:0;
	padding-top:max(30%,20rem);
	position:relative;
}
.embed360box,
.videobox{
	width:100%;
	height:0;
	padding-top:56.25%;
	position:relative;
}
.googlemapbox iframe,
.embed360box iframe,
.videobox iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	border-width:0;
}
ul.gallery{
	display:flex;
	flex-wrap:wrap;
	margin-left:-.5rem;
	margin-right:-.5rem;
}
.layout-center ul.gallery{
	justify-content:center;
}
ul.gallery li{
	width:33%;
	max-width:15.2rem;
	padding:.5rem !important;
}
ul.gallery li a,
ul.gallery li a img{
	display:block;
	width:100%;
}

.capacityinfo{
	display:table;
	margin-bottom:1.7rem;
}
.roomcaps{
	display:table-row;
}
.roomcaps h3,
.roomcaps p{
	display:table-cell;
	padding-bottom:1em;
}
.roomcaps h3{
	padding-right:3em;
}

.boxclosed .ocbcontent{
	display:none;
}
.ocb{
	text-align:left;
	padding:1rem 0 0 0;
	border-width:1px 0 1px 0;
	border-style:solid;
	margin-top:4rem;
	margin-bottom:4rem;
}
.ocb.nobordertop{
	border-top-width:0;
	margin-top:-4rem;
}
.layout-center.limited .ocb{
	max-width:50rem;
	margin-left:auto;
	margin-right:auto;
}

.person{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	margin-bottom:1.5rem;
}
.person .portrait{
	width:11.5rem;
	width:clamp(5rem,30%,11.5rem);
}
.person .details{
	width:calc(100% - clamp(8rem,33%,12.75rem));
}
@media(max-width:520px){
	.person{
		display:block;
	}
	.person .portrait{
		float:left;
		margin-right:1rem;
		margin-bottom:.5rem;
	}
	.person .details{
		width:auto;
	}
}



ul.eventslist li{	
	display:flex;
	flex-wrap:wrap;
	width:100%;
	justify-content:space-between;
	padding:.5em 0;
	border-width:0 0 1px 0;
	border-style:solid;
}
ul.eventslist li span.eventname{
	max-width:calc(100% - 20em);
	text-align:left;
	flex-grow:2;
}
ul.eventslist li span.eventdate{
	width:max(11em, 25%);
	text-align:left;
}
ul.eventslist li span.eventlink{
	width:max(8em, 15%);
	text-align:right;
}
@media(max-width:720px){
	ul.eventslist li span.eventname{
		width:100%;
		max-width:100%;
	}
	ul.eventslist li span.eventdate,
	ul.eventslist li span.eventlink{
		width:auto;
	}
}

.twocols{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.twocols .col{
	width:47.5%;
}

.searchresult{
	margin-bottom:2rem;
}

/* pagination */
/* kriesi */

.pagination{
	text-align:center;
	padding:3rem 0;
}
.pagepn{
	text-indent:-250rem;
	background-repeat:no-repeat;
	background-position:center;
	background-size:auto 1rem;
}

.pagination a,
.pagination span{
	display:inline-block;
	width:1.75rem;
	height:1.75rem;
	font-size:.875rem;
	font-weight:700;
	line-height:1.75rem;
	border-radius:1.75rem;
	box-sizing:border-box;
	padding-top:.1rem;
}
.pagination a.inactive{
	opacity:0.5;
	cursor:default;
}
.page-numbers{
	color:inherit;
	margin:0 .5rem;
}
.page-numbers.current{
	background:#869497;
	color:#fff;
}
.page-prev{
	margin-left:-.5rem;
	margin-right:.5rem;
}
.page-next{
	margin-right:-.5rem;
	margin-left:.5rem;
}

/* News prev/next links */

.nav-links{
	padding-top:1em;
	border-top:1px solid #fff;
	margin-top:3em;
}
.nav-links .nav-previous{
	float:left;
}
.nav-links .nav-next{
	float:right;
}
.nav-links .nav-previous a:before{
	content:"< ";
}
.nav-links .nav-next a:after{
	content:" >"
}

#colophon .inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	padding:2rem 0 2rem 0;
}
#colophon ul li{
	display:inline-block;
}
#colophon ul li:after{
	content:" | ";
	padding:0 .5em;
	display:inline-block;
}
#colophon ul li:last-child:after{
	display:none;
}

/* forms */

input,textarea{
	border-width:1px;
	border-style:solid;
	padding:.2em .5em;
}
input[type=submit]{
	cursor:pointer;
}

/* webkit things */

input[type=text],
input[type=search],
input[type=button],
input[type=email],
input[type=submit],
textarea{
	-webkit-appearance:none;
	-webkit-border-radius:0;
}
*{
	-webkit-text-size-adjust:100%;
}

/* Where placeholder needs to obey the styles */

/* fix the stupid placeholder colour */
/* separate rules, because: "a group of selectors containing an invalid selector is invalid". */
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
	opacity:1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
	opacity:1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
}
::-ms-input-placeholder { /* Microsoft Edge */
	font-family:"Montserrat",Arial,sans-serif;
	font-size:.875rem;
	color:#fff;
}


@media (max-width:1030px){

	/* since we now put the whole menu with sub navs inside the burger, the sidebar menu can disappear */
	.hassidebar .page-content,
	.hassidebar .page-side{
		width:100%;
		max-width:100%;
	}

	/* but if there is other content in the sidebar, we need a separator */
	.page-side .sidebarcontent{
		border-top:1px solid #869497;
		padding:1.5rem 0;
	}
	.page-side .sidebarnav{
		display:none;
	}
	.site-branding{
		position:fixed;
		top:1.2rem;
	}
	#toggle,
	.search-toggle{
		position:fixed;
		top:2.125rem;
	}
	.admin-bar .site-branding{
		top:calc(1.2rem + 32px);
	}
	.admin-bar #toggle,
	.admin-bar .search-toggle{
		top:calc(2.125rem + 32px);
	}
	@media(max-width:782px){
		.admin-bar .site-branding{
			top:calc(1.2rem + 46px);
		}
		.admin-bar #toggle,
		.admin-bar .search-toggle{
			top:calc(2.125rem + 46px);
		}
	}
	.site-branding{
		left:clamp(1rem,7vw,3rem); /* same as padding on .outer */
	}
	#toggle{
		right:calc(3rem + clamp(1rem,7vw,3rem)); /* same as padding on .outer */
	}
	.search-toggle{
		right:clamp(1rem,7vw,3rem); /* same as padding on .outer */
	}
	#nav{
		transition:height .5s ease-in-out 0s;
		overflow:hidden;
		background:#05090F;
	}
	#nav .inner{
		align-items:flex-start;
	}
	#toggle,
	.search-toggle{
		display:block;
		width:1.75rem;
		height:1.75rem;
		order:1;
	}
	#toggle a{
		display:block;
		width:100%;
		height:100%;
	}
	#toggle a span.burger{
		display:block;
		width:100%;
		height:100%;
		background:url(img/menu.svg) transparent no-repeat right center / contain;
	}
	#toggle a.navisopen span.burger{
		background:url(img/close.svg) transparent no-repeat right center / contain;
	}
	#navcontent{
		display:none;
	}
	body.toggled-on{
		overflow:hidden;
	}
	.toggled-on #nav,
	#nav:target{
		height:100%;
		overflow:auto;
	}
	.toggled-on #navcontent,
	#nav:target #navcontent{
		display:block;
		width:100%;
		padding-top:6.25rem;
		padding-bottom:5rem;
		/* to make sure that even with the admin bar, there will be */
		/* a scrollbar for the last items in the list */
	}
	.site-nav .navi{
		width:100%;
		margin-top:0;
		margin-left:auto;
	}
	ul.nav-menu{
		width:100%;
		font-size:1.25rem;
		text-align:left;
		margin-bottom:1rem;
	}
	.site-nav ul.nav-menu > li > ul{
		background:transparent;
	}
	.site-nav ul.nav-menu > li{
		display:block;
		float:none;
		width:100%;
		border-width:0 0 1px 0;
		border-style:solid;
		padding:0;
		margin:0 auto;
	}
	.site-nav ul.nav-menu li a{
		display:block !important;
		padding:.75em 0;
	}
	.site-nav ul.nav-menu > li > ul a{
		padding:.375em .5em;
	}
	.site-nav ul.nav-menu li > ul.sub-menu,
	.site-nav ul.nav-menu li:hover > ul.sub-menu{
		position:static;
		font-size:1.25rem;
		padding:.25em 0;
		border-width:1px 0 0 0;
		border-style:solid;
		display:none;
	}
	.site-nav ul.nav-menu li.openthis > ul.sub-menu{
		display:block;
		border-width:1px 0 1px 0;
		border-style:solid;
	}
	.site-nav ul.nav-menu > li > ul.sub-menu > li{
		width:100%;
		border-bottom-width:0;
		margin:0;
	}
	.site-nav ul.nav-menu > li > ul.sub-menu li{
		padding-left:1em;
	}
/*
	ul.sub-menu li.menu-item-has-children > a:after{
		display:none;
	}
*/
	.site-nav ul.nav-menu li.menu-item-has-children > a{
		position:relative;
		padding-right:2rem;
	}
	.site-nav ul.nav-menu li.menu-item-has-children > a > span.opensubnav{
		content:"";
		display:block;
		position:absolute;
		right:0;
		top:0;
		width:1.75rem;
		height:100%;
		background:url(img/plus.svg) transparent no-repeat center / contain;
	}
	.site-nav ul.nav-menu li.menu-item-has-children.openthis > a > span.opensubnav{
		background-image:url(img/minus.svg);
	}
	#social-navigation ul{
		text-align:center;
	}
	#social-navigation ul li{
		float:none;
		display:inline-block;
		padding:0 .3rem;
	}
	#nav .navisopen,
	#nav:target .navisclosed,
	.toggled-on #nav .navisclosed{
		display:none;
	}
	#nav .navisclosed,
	#nav:target .navisopen,
	.toggled-on #nav .navisopen{
		display:block;
	}

	
}