/*
Theme Name: Movement Research
Theme URI: n/a
Author: Raffaele Malanga
Author URI: https://farstudios.com/
Description: Theme for MovementResearch.org
Version: 1.0.1
License: no license, use a theme from https://wordpress.org/themes/ instead.
License URI: n/a
Tags: n/a
Text Domain: movementresearch
*/

/* generic things */

html,body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,dl,dt,dd,form,figure,figcaption{
	padding:0;
	margin:0;
}
*{
	box-sizing:border-box;
}
html {
	font-size:16px; /* for rem base */
	scroll-behavior: smooth;
	scroll-padding-top:6rem;
	/* note: this replaces the javascript version, which is not accessible due to the 'return false' setting. */
	/* note also: this is only the right amount when we do not have the admin-bar */
}
html,
body {
	/* width: 100vw; */ /* 100vw includes the 19px scrollbar, causing space problems when using 100% widths inside various elements */
	width:100%;
}
html{
	overflow-x: hidden; /* someone set this on body as well as html, but if we do that, the position:sticky for the inpagenav does not work */
}
.screen-reader-text,
.skip-link,
.iconlinks li a span{
	position:fixed;
	top:-4000rem;
	left:-4000rem;
}
.skip-link:focus,
#toggle a:focus span.skip-link{
	top:2rem;
	left:2rem;
	background:black;
	color:#fff;
	padding:.5rem 1rem;
	border:2px dotted white;
	text-decoration:none;
	text-transform:uppercase;
	font-size:100%;
	z-index:100000;
}
.admin-bar .skip-link:focus,
#toggle a:focus span.skip-link{
	top:4rem;
}
iframe,
img{
	max-width:100%;
	display:block;
}

/* colours that should *not* be changed on the other versions */

#topbar{
	background:#ffffff;
	color:#1a1a1a;
	border-color:#E3E3E0;
}
#topbar .tbblock.tbb2{
	border-color:#E3E3E0;
}
#topbar .tbblock button,
#topbar .tbblock a{
	background:#ffffff;
	border-color:white;
}
#topbar .tbblock button.wp_user_stylesheet_switcher_active_option,
#topbar .tbblock button:focus,
#topbar .tbblock button:hover,
#topbar .tbblock button:active,
#topbar .tbblock a:focus,
#topbar .tbblock a:hover,
#topbar .tbblock a:active{
	border-color:#ff0000;
}
#topbar #fontsizes a#up{
	background-image:url(../img/larger.svg);
}
#topbar #fontsizes a#down{
	background-image:url(../img/smaller.svg);
}
#topbar #fontsizes a#reset{
	background-image:url(../img/fs-reset.svg);
}
.pubtransport span.transportnumber{
	color:white;
}
/* other colours are in separate stylesheets */


/* fonts */

body{
	font-family:'Inter',sans-serif;
	font-weight:500;
}
form,input,textarea,select,option,button,label{
	font-family:'Inter',sans-serif;
	font-weight:500;
}
/* separate rules, because: "a group of selectors containing an invalid selector is invalid". */
::-webkit-input-placeholder { /* WebKit, Blink, Edge */
	font-family:'Inter',Arial,sans-serif;
	font-size:.9375rem;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
	font-family:'Inter',Arial,sans-serif;
	font-size:.9375rem;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
	font-family:'Inter',Arial,sans-serif;
	font-size:.9375rem;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
	font-family:'Inter',Arial,sans-serif;
	font-size:.9375rem;
}
::-ms-input-placeholder { /* Microsoft Edge */
	font-family:'Inter',Arial,sans-serif;
	font-size:.9375rem;
}

b,strong{
	font-weight:600;
}
p,ul,ol,dl,table,th,td{
	font-size:1rem;
	font-weight:500;
	line-height:1.5;
	margin-bottom:1.5em;
}
dt{
	font-size:1.375rem;
	font-weight:600;
	margin-bottom:.5em;
}
dd{
	font-size:1rem;
	margin-bottom:1.7em;
}
th{
	font-weight:600;
}
th,td{
	text-align:left;
	padding-left:0;
	padding-right:2em;
}
.pullquote p,
.pullquote ul{
	font-size:1.375rem;
	margin-bottom:1.5em;
}
.pullquote p:last-child,
.pullquote ul:last-child{
	margin-bottom:0;
}
.pullquote p.byline{
	font-size:1rem;
	text-transform:uppercase;
	margin-top:-1.5em;
}
ul.biolinks{
	font-size:1.125rem;
}
figure button.imageid{
	font-size:1rem;
	font-weight:500;
	line-height:1.5;
}
.backbutton{
	font-size:1.125rem;
	font-weight:600;
	line-height:1.5;
}

#topbar h3,
#topbar p,
#topbar ul,
#topbar a,
#topbar span,
#topbar button{
	font-size:.875rem;
	/* text-transform:none; */
	line-height:1.875rem;
	vertical-align:middle;
	margin-bottom:0;
}
#nav ul,
#bc,
#bc ul,
#bc p{
	font-size:.9375rem;
	margin-bottom:0;
}
#bc,
#bc ul,
#bc p{
	line-height:1.6;
}
ul#mainnav,
ul#mainnav ul,
ul.jumplinks,
ul.contentindex,
ul.honoreeslist,
ul.archivelist{
	font-size:1.125rem;
}
ul.honoreeslist .year,
ul.archivelist .eventdate,
ul.archivelist .eventtimes{
	font-weight:500;
}

ul.honoreeslist .names,
ul.archivelist .eventtitle{
	font-weight:600;
}
ul.jumplinks{
	margin-bottom:0;
}
ul#mainnav ul li.menu-item-91,
ul#mainnav ul li.menu-item-92{
	font-style:italic;
}
.intro p{
	font-size:1.125rem; /* where is this used??? */
}
.page-content .intro p,
.page-header .intro p{
	font-size:1.25rem;
}
.page-header .intro p small{
	font-size:1rem;
}
.home .intro p{
	font-size:1.25rem;
}
h1,h2,h3,h4,h5,h6{
	font-weight:600;
}
h1{
	font-size:1.75rem;
	line-height:1.5;
	margin-bottom:.875em; /* taken from critical correspondence posts */
}
h1.site-title,
p.site-title{
	font-size:2.2rem;
	text-transform:lowercase;
	line-height:1;
	margin-bottom:0;
}
h1.page-title img{
	margin-bottom:.2rem;
}
h2{
	font-size:1.375rem;
	line-height:1.5;
	margin-bottom:.5em;
}
.boxdiv h2,
.sbbox h2,
.sb-subnav h2{
	font-size:1.25rem;
	margin-bottom:0;
}
.peoplesection h2{
	margin-bottom:2em;
}
.homeupcoming h2,
.homefeatured h2,
.featured h2,
h2.page-title,
h2.sectionheading{
	font-size:1.75rem;
	margin-bottom:1.6em;
}
.boc h2{
	margin-bottom:0;
}
.pubsubpage h2{
	margin-bottom:1.5rem;
}
.otherarticles h2{
	font-size:1.75rem;
	margin-bottom:2.2em;
}
.contactinfo h2{
	margin-bottom:1.6em;
	/* this balances the Contact us link with the last link of the social links on the right */
}
h3{
	font-size:1.125rem;
	line-height:1.5;
	margin-bottom:.7em;
	margin-bottom:0;
}
.bocin h3{ /* this should become regular text h3 style */
}

.footnotes h3,
.subscribeform h3{
	font-size:1rem;
	text-transform:uppercase;
	line-height:1.5;
	margin-bottom:.7em;
}
.filterswrap h3{
	line-height:1.5;
}
.subsectionlinks h3{
	font-size:1.5rem;
	/* text-transform:none; */
	line-height:1.5;
	margin-bottom:.7em;
}
.boxdiv p,
.boxdiv ul,
.sbbox ul{
	margin-bottom:1em;
}
.boxdiv ul,
.sbbox ul{
	margin-left:1rem;
}
.boxdiv ul li,
.sbbox ul li{
	/* margin-bottom:.5em; */
	/* if this spacing is needed, then it looks weird with an h3 directly above it */
}
.locationaddress a{
	font-weight:600;	
}
.previews.pjregular .item h4{
	font-size:.9375rem;
	font-weight:500;
}
.ctabox h3{
	font-size:1.75rem;
	/* text-transform:none; */
	line-height:1.5;
	margin-bottom:.7em;
}
.ctabox p{
	font-size:1.125rem;
}
.post-top .category,
.page-top .category{
	font-size:.75rem;
	text-transform:uppercase;
	margin-bottom:1.8rem;
}
.post-top .author,
.post-top .teacher,
.post-top .season{
	font-size:1.125rem;
	margin-bottom:2.5em;
}
.post-top .season{
	margin-top:-.5em;
	margin-bottom:0;
}
.post-top .secondary h3,
.post-top .secondary p,
.post-top .secondary ul{
	font-size:.9375rem;
	/* text-transform:none; */
	line-height:1.5;
	margin-bottom:1em;
}
.post-top .secondary p.postdate{
	font-size:1.125rem;
	margin-bottom:2.5em;
}
.post-top ul.tags-links{
	margin-bottom:2rem;
}

.post-top ul.cwe_details li{
	padding-left:3.375rem;
	background-repeat:no-repeat;
	background-position:left top;
	padding-bottom:1.5em; /* instead of padding ot keep the icons visible */
}


.readmorelinenolink,
.readmoreline,
.related,
.reports .item a span{
	font-size:.875rem;
	text-transform:uppercase;
}
.galabar .readmorelinenolink,
.galabar .readmoreline{
	font-size:1.125rem;
	font-weight:600;
	text-transform:none;
	margin-bottom:0;
}
.page-top .buttons a{
	font-size:1.125rem;
	font-weight:600;
	line-height:1.2;
	text-align:center;
}
label{
	font-size:.9375rem;
	text-transform:none;
}
select,option,input{
	font-size:.9375rem;
	text-transform:none;
	margin-bottom:1em;
}
.search-form input{
	margin-bottom:0;
}
.filterswrap h3,
.filterswrap ul.filters,
.filterswrap ul.chooseorder,
.filterswrap ul.chooseorder li ul,
.filterswrap select,
.filterswrap option,
.filterswrap input{
	font-size:.9375rem;
	text-transform:none;
	/* line-height? */
	margin-bottom:1em;
}

.caption p,
figcaption p,
figcaption ul{
	font-size:.875rem;
	padding-top:.5em;
}
figcaption p:last-child,
figcaption ul:last-child{
	margin-bottom:0;
	/* because we need overflow hidden on figure */
}
.cwepastdates .category{
	font-size:.75rem;
	text-transform:uppercase;
}
.previews .category{
	font-size:.75rem;
	text-transform:uppercase;
	padding-top:1rem;
	margin-bottom:.8rem;
}
.previews .season{
	font-size:.75rem;
	text-transform:uppercase;
	padding-top:1.2rem;
	margin-bottom:.8rem;
}
.previews h3{
	font-size:1.125rem;
	line-height:1.5;
	/* text-transform:none; */
	margin-bottom:1.6em;
}
.previews.pjregular h3{
	margin-bottom:.4em;
}
.previews.people h3,
.previews.reports h3{
	padding-top:.7em;
	margin-bottom:.2em;
}
.previews.people .nophoto h3{
	padding-top:0;
}
.previews p{
	font-size:1.125rem;
}
.previews p.role{
	font-size:.75rem;
	text-transform:uppercase;
	margin-bottom:.4em;
}
.previews p.prevtext{
	padding-top:.5em;
	font-size:.875rem;
}
.previewmix .itemlarge .category{
	margin-bottom:2.5rem;
}
.previewmix .itemsmall .category{
	padding-top:0;
	margin-bottom:1.5rem;
}
.previewmix .itemlarge h3{
	font-size:1.375rem;
	margin-bottom:1em;
}
.previewmix .itemsmall h3{
	margin-bottom:.5em;
}
.previewmix .itemsmall p{
	font-size:1rem;
}

.pubtransport span.transportnumber{
	font-size:1.1rem;
	font-weight:bold;
	line-height:1.4em;
	text-align:center;
}
.pubtransport span.stopname{
	font-size:.875rem;
	padding-left:1rem;
}

.backbutton{
	text-align:center;
	padding-top:2rem;
}
.backbutton a{
	display:inline-block;
	padding:1em 2em;
}

#sitemap-nav ul.nav-menu > li > a{
	font-weight:600;
	text-transform:uppercase;
}
.site-info p{
	font-size:.875rem;
}




/* layout */

.outer{
	padding:0 4.5vw;
}
.inner{
	width:84%; /* translates to 1100px on a 1440px wide screen */
	/* need to see what's what here, to get it correctly sized on both screensizes */
	width:86%; /* translates to 1480px on 1920px wide screen */
	max-width:92.5rem; /* 1480px */
	margin:0 auto;
}
.innerwide{
	max-width:109.26rem; /* 1480px */
	margin:0 auto;
}
#topbar{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	max-width:100vw;
	border-width:0 0 1px 0;
	border-style:solid;
	z-index:100000;
}
.admin-bar #topbar{
	top:32px;
}
@media(max-width:782px){
	.admin-bar #topbar{
		top:46px;
	}
}
#topbar .accessibility{
	display:flex;
	justify-content:flex-end;
}
#topbar .tbblock{
	display:flex;
	padding:.3625rem 0;
}
#topbar .tbblock.tbb2{
	padding-left:1.5rem;
	margin-left:1.5rem;
	border-width:0 0 0 1px;
	border-style:solid;
}
#topbar button{
	border-width:0;
	padding:0;
}
#topbar button img{
	display:block;
	width:1.875rem;
	height:1.875rem;
}
#topbar h3,
#topbar p,
#topbar ul,
#topbar a,
#topbar span{
	display:inline-block;
}
#topbar #fontsizes a#up,
#topbar #fontsizes a#down{
	display:inline-block;
	width:1.875rem;
	height:1.875rem;
	background-size:contain;
	text-indent:-3rem;
	overflow:hidden;
}
#topbar button,
#topbar li{
	margin-left:.4375rem;
	border-width:.1875rem;
	border-style:solid;
}
ul#fontsizes,
span.wp_user_stylesheet_switcher{
	margin-left:1.3125rem;
}

ul#fontsizes li{
	display:inline-block;
}


#page{
	/* padding-top:6.125rem; */
	/* moved to #nav, to avoid scrolling to #nav on clicking the burger */
}

#masthead{
/*	position:relative;
	z-index:1;
*/
}

#nav{
	padding-top:6.125rem;
	padding-bottom:2.6rem;
}
#nav .innerwide{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}
.site-branding{
	width:22.125rem;
	order:0;
}
#toggle{
	display:none;
}
.site-nav{
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
.site-nav .navi{
	display:inline-block;
}
.site-nav li{
	display:inline-block;
}
#topnav.nav-menu li.hideonwide{
	display:none !important;
}
.nav-menu li.externallink a{
	padding-left:1.2rem;
	background-repeat:no-repeat;
	background-position:left center;
}
.nav-menu li.calendarlink a{
	padding-left:2rem;
	background-repeat:no-repeat;
	background-position:left center;
}
#topnav li{
	padding:0 .92em;
}
#topnav li.supportus a{
	padding:.5em 1.1em;
	border-width:1px;
	border-style:solid;
}
.iconlinks li{
	margin-left:1.3rem;
}
.iconlinks li.iconlink-account{
	margin-left:1.1rem;
}
.iconlinks li a{
	display:inline-block;
	height:1.5rem;
	width:1.486875rem;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
}
.iconlinks li.iconlink-account a{
	width:1.07125rem;
}
.iconlinks li.iconlink-basket a{
	width:1.724375rem;
}
#bc{
	border-style:solid;
	border-width:1px 0;
}
#bc .inner{
	padding-top:1.6rem;
	padding-bottom:1.6rem;
}
#nav2 .inner{
	padding-top:1.8rem;
	padding-bottom:1.8rem;
}
.bcsep{
	padding:0 .25em;
}
#mainnav{
	list-style:none;
	max-width:61.625rem;
	display:flex;
	justify-content:center;
	margin:0 auto;
}
#mainnav li ul,
#mainnav li ul li{
	border-width:1px 0 0 0;
	border-style:solid;
}
#mainnav li ul li:first-child{
	border-width:0 0 0 0;
}
#mainnav > li{
	position:relative;
	padding:0em 2em;
}
#mainnav li a{
	display:block;
	padding-top:1em;
	padding-bottom:1em;
}
#mainnav > li > a{
	padding-right:1em;
	background-repeat:no-repeat;
	background-position:right center;
}
#mainnav li ul{
	list-style:none;
	position:absolute;
	width:100%;
	min-width:16rem;
	left:0;
	padding:0 1.11em;
	z-index:1;
	display:none;
}
#mainnav li:target ul,
#mainnav li.opensubmenu ul,
#mainnav li:focus ul,
#mainnav li:hover ul,
#mainnav li:active ul{
	display:block;
}

.homebanner{
	padding-bottom:1px; /* to keep the colour inside despite margins */
}

.inpagenav{
	position:sticky;
	z-index:1; /* may need to be updated if we get youtube videos in the content perhaps */
	top:3.125rem;
	border-width:0 0 1px 0;
	border-style:solid;
}
.admin-bar .inpagenav{
	top:calc(3.125rem + 32px);
}
.jumplinks{
	list-style:none;
	overflow:hidden;
}
.jumplinks li{
	float:left;
	margin-right:2em;
}
.jumplinks li.jumpbutton{
	float:right;
	margin-right:0;
}
.jumplinks li a{
	display:block;
	padding:.5em 0 .22em 0;
	border-bottom-style:solid;
	border-bottom-width:.28em;
}
.jumplinks li.jumpbutton a{
	padding-left:1em;
	padding-right:1em;
}

.galabar .inner{
	padding:1.6rem 0;
}

.primseccols{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	gap:10%;
}
.primary{
	width:calc(90% - 21.625rem);
	max-width:61rem;
}
.nosidebar .primary{
	width:100%;
}
.primary.fullwidth{
	max-width:100%;
	/* this is different from .nosidebar, as we do not want to limit line-length here */
}
.secondary{
	width:21.625rem;
}
/* only the two main publications pages have an adbutton */
.page-top .haspagetopbutton .primary{
	width:calc(90% - 15rem); /* to acccomodate 'check the calendar' button text */
}
.page-top .haspagetopbutton .secondary{
	width:auto;
	max-width:15rem;
}
.widesidebar .primary,
.imagesidebar .primary{
	width:58%;
	max-width:53.125rem;
}
.widesidebar .secondary,
.imagesidebar .secondary{
	width:32%;
	max-width:29.5rem;
}
/* page headers without 50% image, still limited intro text */
.largeheader .page-header{
	max-width:68.75rem;
}

/* page headers with 50% image */
.halfsidebar .page-header,
.halfsidebar .topimage{
	width:45%;
}

.locationinfo{
	display:flex;
	justify-content:space-between;
}
.locationdetails{
	width:21.625rem;
	/* this is where .locationdetails is in the content part of the page, next to a map */
}
.page-header .locationdetails{
	width:auto;
	/* this is where .locationdetails is part of the header, on single location pages */
}
.locationmap{
	width:calc(100% - 23.625rem);
	height:33.375rem;
}
.single-mr_location .locationmap{
	width:100%;
	height:38.75rem;
	max-height:42vw;
}
.locationdetails .pubtransport{
	padding:1rem 0 2rem 0;
}
.pubtransport li{
	list-style:none;
	margin-bottom:.8em;
}
.pubtransport span.transportnumber{
	display:inline-block;
	width:1.4em;
	height:1.4em;
	border-radius:50%;
}
.pubtransport span.transportnumber.express{
	clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);
	padding-top:.2em;
	width:1.8em;
	height:1.8em;
}
.pubtransport span.stopname{
	padding-left:1rem;
}
.locationmap .themap{
	border-width:1px;
	border-style:solid;
}
.locationmap .themap,
.locationmap iframe{
	width:100%;
	height:100%;
}
.locationmap iframe{
	width:calc(100% - 2px); /* so the border doesn't get cut on the right side... */
}


dl.team{
	column-count:2;
	column-gap:2rem;
}

.home .page-header{
	max-width:61rem;
}

/* vertical spacings */

/*

We have pages with big headers that sometimes have a primary and secondary part. 
They have their own 3rem top and bottom space.

We have default pages, they have "combi" as a class, to eliminate too much space
between heading and page content. They have only 1rem between page-top and page-content.

We have CC posts, they use "post-top" and "post-content" 

*/
.page-top .inner,
.page-content .inner,
.page-section .inner,
.post-top .inner,
.post-content .inner{
	padding-top:3rem;
	padding-bottom:3rem;
}
.page-top.combi .inner{
	padding-bottom:1rem;
}
.page-content.combi .inner{
	padding-top:0;
}

.inner_section{
	width:100%;
	padding-top:1rem;
	padding-bottom:3rem;
}
/*
.home .page-content .inner{
	padding-top:0;
}
.maininfo .inner{
	padding-bottom:3.25rem;
}
*/

.page-top .primseccols{
	align-items:center;
}
.page-top .primseccols.halfsidebar{
	align-items:flex-start;
}
#subnav li a,
.related li a{
	position:relative;
	display:block;
	padding-right:2rem;
}
.reports .item a span,
.readmoreline a{
	position:relative;
	display:inline-block;
	padding-right:2rem;
}
#subnav li a:after,
.related li a:after,
.readmoreline a:after,
.reports .item a span:after{
	content:" ";
	display:inline-block;
	height:.625rem;
	padding-right:2rem;
	background-repeat:no-repeat;
	background-position:right center;
	transition:all .2s ease-in-out 0s;
	transform-origin:0 0;
	position:absolute;
	bottom:.3em;
}
#subnav li a:after{
	bottom:.8em; /* + .5em for paddingon a element */
}
#subnav li a:focus:after,
#subnav li a:hover:after,
#subnav li a:active:after,
.related li a:focus:after,
.related li a:hover:after,
.related li a:active:after,
.readmoreline a:focus:after,
.readmoreline a:hover:after,
.readmoreline a:active:after,
.reports .item a:focus span:after,
.reports .item a:hover span:after,
.reports .item a:active span:after{
	padding-right:2.3rem;
	transform:translate(.3rem, 0);
}
.homeupcoming .readmoreline,
.othercwe .readmoreline,
.galabar .readmorelinenolink,
.galabar .readmoreline,
.readmoreline.calendarlink{
	min-height:1.5rem; /* to fit the calendar icon */
	padding-left:2.5rem;
	background-repeat:no-repeat;
	background-position:left center;
	margin-top:1.1rem;
}
.galabar .readmorelinenolink,
.galabar .readmoreline{
	margin-top:0;
}
h1.page-title.mrpf,
h2.page-title.mrpf{
	max-width:30rem; /* to break the title over 2 lines */
	padding-left:6.25rem;
	background-position:left center;
	background-repeat:no-repeat;
	background-size:auto 4.375rem;
}
.pubsubpage{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
	padding-bottom:1.7rem;
	border-width:0 0 1px 0;
	border-style:solid;
	margin-bottom:3rem;
}
.pubsubpage h2{
	width:26rem;
}
.pubsubpage .pubintro{
	width:calc(100% - 32rem);
	max-width:53.125rem;
}
.pubsubpage .readmoreline{
	width:100%;
}
.post-top ul{
	list-style:none;
}
ul.tags-links li{
	display:inline-block;
	margin:0 1rem 1rem 0;
}
.filterswrap ul.filters{
	margin-right:-1em;
	/* so that when wrapping starts, we don't have too much space on the right */
}
ul.tags-links li a,
ul.chooseorder li a{
	display:block;
	border-width:1px;
	border-style:solid;
	padding:.4em 1em;
}
ul.chooseorder li ul li a{
	border-top-width:0;
}
ul.postfiles li{
	margin-bottom:1em;
}
ul.postfiles li a{
	display:table;
	height:3rem;
}
ul.postfiles li a span{
	display:table-cell;
	vertical-align:middle;
}
ul.postfiles li a .text{
	padding:0 1em;
}
ul.postfiles li a .icon,
.audiobox a .icon{
	width:3rem;
	text-align:center;
}
.audiobox a{
	display:block;
}
.audiobox a .icon{
	display:table-cell;
	height:2.5rem;
	vertical-align:middle;
}
ul.postfiles li a .icon img,
.audiobox a .icon img{
	display:inline-block;
}
.buttons a{
	display:inline-block;
	padding:1.3em 1.7em;
	border-width:1px;
	border-style:solid;
}
.buttons button{
	display:inline-block;
	padding:1.3em 1.7em;
	border-width:1px;
	border-style:solid;
	cursor:pointer;
}
.buttonsbox a{
	margin-right:1rem;
	margin-bottom:1rem;
}
.buttonsbox a:last-child{
	margin-right:0;
}

.regtext ul li{
	margin-left:1em;
}
.regtext ol li{
	margin-left:2em;
}
hr{
	height:1px;
	border-width:1px 0 0 0;
	border-style:solid;
	margin-bottom:2rem;
	margin-top:2rem;
}
figure{
	position:relative;
	margin:3rem auto 2rem auto;
	overflow:hidden;
}
.topimage figure{
	margin-top:0;
}
figure.bioimg{
	margin:unset;
	margin-bottom:2rem;
}
.post-top figure{
	margin-bottom:0;
}
figure button.imageid{
	text-align:left;
	border-width:0;
	border-style:solid;
}
figure .imageid{
	position:absolute;
	top:0;
	left:calc(100% - 4rem);
	width:calc(100% + 1rem);
	padding:.5rem .5rem 3rem 4rem;
	transition:all .5s ease-in-out 0s;
}
figure .imageid:before{
	content:"i";
	display:block;
	position:absolute;
	left:1.75rem;
	top:1rem;
	width:1.5rem;
	height:1.5rem;
	border-radius:1.5rem;
	text-align:center;
	line-height:1.5rem;
	margin-right:.5rem;
}
figure .imageid.nojs:focus,
figure .imageid.nojs:hover,
figure .imageid.nojs:active,
figure .imageid.showthis{
	left:-1rem;
	border-width:0;
}
figure .imageid span{
	display:block;
	padding:1rem;
}
.videowrapper{
	margin:3rem auto 2rem auto;
}
.audiowrapper{
	max-width:30rem;
	margin:3rem auto 2rem 0;
}
.videobox{
	position:relative;
	height:0;
	padding-top:56.25%;
}
.videobox iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.audiobox{
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.audiobox .wp-audio-shortcode{
	max-width:calc(100% - 4rem);
}
.audiobox .transcript{
	width:3rem;
}
.pullquote{
	border-width:0 0 0 .375rem;
	border-style:solid;
	padding:.5rem 0 .8rem 1rem;
	margin-top:2.5rem;
	margin-bottom:1.8rem;
}
.boc{
	border-bottom-width:3px;
	border-bottom-style:solid;
	padding-top:1.5rem;
	padding-bottom:1.5rem;
}
.boclimited{
	margin-bottom:2rem; /* this is used inside blocks.php, so needs spacing */
}
.boc:first-child{
	border-top-width:3px;
	border-top-style:solid;
}
.boc h2:after{
	content:" ";
	display:inline-block;
	height:1em;
	width:1em;
	background-repeat:no-repeat;
	background-position:center;
	background-size:1em auto;
	margin-left:1em;
	vertical-align:middle;
}
.bocin{
	padding-top:1rem;
	height:auto;
}
.boc.closed .bocin{
	height:0;
	padding-top:0;
	overflow:hidden;
}

.authorpreview{
	border-width:1px 0 0 0;
	border-style:solid;
}
.authorpreview .primary,
#faculty .primary,
#artists .primary{
	display:flex;
}
.authorfaculty{
	margin-bottom:2rem;	
}
.authorfaculty:last-child{
	margin-bottom:0;
}
.authorpreview .primary{
}
.authorimg{
	width:30%;
	max-width:13.75rem;
	flex-shrink:0;
}
.authorinfo{
	padding-left:2rem;
}

.filterswrap .inner{
	padding-top:3rem;
	padding-bottom:3rem;
	margin-bottom:-.5rem;
}
.filterswrap h3,
.filterswrap ul,
.filterswrap div.formbox,
.filterswrap div.searchbox,
.filterswrap form{
	display:inline-block;
}
.filterswrap h3{
	min-width:4.5rem;
}
ul#sortorder{
	list-style:none;
	margin-bottom:0;
}
ul#sortorder a{
	text-decoration:none;
	min-width:11rem;
}
ul#sortorder > li > a{
	padding-right:1em;
	background-repeat:no-repeat;
	background-position:9.5rem center;
}
ul#sortorder li ul li a{
	display:block;
}
ul#sortorder > li{
	position:relative;
}
ul#sortorder li ul{
	list-style:none;
	position:absolute;
	left:0;
	width:100%;
	z-index:1;
	display:none;
}
ul#sortorder li:focus ul,
ul#sortorder li:hover ul,
ul#sortorder li:active ul,
ul#sortorder:target li ul{
	display:block;
}
ul#sortorder > li a.closethis,
ul#sortorder:target > li a.openthis{
	display:none;
}
ul#sortorder:target > li a.closethis,
ul#sortorder > li a.openthis{
	display:block;
}
ul#sortorder li.current{
	display:none;
}
ul#sortorder li.notcurrent{
	display:block;
}

.formbox,
.searchbox{
	padding:.5em 0;
}
.formbox{
	padding-right:1rem;
	border-width:0 1px 0 0;
	border-style:solid;
	margin-right:1rem;
}
.formbox form,
.searchbox form{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	border-width:1px;
	border-style:solid;
}
.filterswrap select,
.filterswrap option,
.filterswrap input{
	border-width:0;/* the border is on the form */
	padding:.4em 1em;
	margin-bottom:0;
}
.filterswrap select{
	background-repeat:no-repeat;
	background-position:96% center;
	padding-right:2em;
}
fieldset{
	border-width:0;
	padding:0;
	display:contents; /* review in different browsers! */
}
fieldset select{
	max-width:100%;
}
.searchbox{
	display:inline-block;
}
.searchbox input{
	border-width:0;
}
input.search-submit{
	width:2rem;
	text-indent:-200px;
	background-repeat:no-repeat;
	background-position:center;
	background-size:1.125rem auto;
}


.featured .inner{
	padding:2.7rem 0 4rem 0;
}
.homeupcoming{
	padding-bottom:17.3rem;
}
.homeupcoming .inner{
	padding-bottom:1.7rem;
	border-width:0 0 1px 0;
	border-style:solid;
}
.peoplesection{
	padding-top:1.5rem;
}
.peoplesection:first-child{
	padding-top:0;
}

.homefeatured{
	margin-top:-15rem;
}
.previewgrid{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	margin-left:-1rem;
	margin-right:-1rem;
}
.previewgrid.cweitems,
.previewgrid.people,
.previewgrid.reports{
	justify-content:flex-start;
}
.peopleupcomingclasses .previewgrid.cweitems{
	justify-content:flex-start;
}
.previewmix{
	display:flex;
	flex-wrap:wrap;
}
.previewgrid .item{
	width:33.33%;
	padding:0 1rem;
	margin-bottom:2rem;
}
.previewgrid .monthheading {
    flex-basis: 100%;
    font-size: 1.5rem;
    padding: 0 1rem;
    margin-top: 2rem;
}
ul.dates {
    list-style: none;
}
ul.dates_list.flex{
	display:flex;
	list-style: none;
	gap:1rem;
	flex-wrap: wrap;
}
.fc-custom_grid-view h2 {
    flex-basis: 100%;
    padding-left: 1rem;
}

.previewgrid.pjregular .item{
	width:16.66%;
	min-width:12.0625rem;
	max-width:15.75rem;
}
.previewgrid.people .item,
.previewgrid.reports .item{
	width:25%;
	max-width:15.75rem;
}
.previewgrid .item .itemimg{
	padding-top:67.7966%;
	position:relative;
	overflow: hidden;
}
.previewgrid.pjregular .item .itemimg{
	padding-top:144%; /* slightly less high than needed, so we don't see a thicker line at the bottom */
}
.previewgrid.people .item .itemimg{
	padding-top:100%; /* square images! */
}
.previewgrid.people.variableheight .item .itemimg{
	padding-top:0;
	height:auto;
}
.previewgrid.reports .item .itemimg{
	padding-top:139%; 
}
.previewgrid.pjregular .item .itemimg img,
.previewgrid.people .item .itemimg img{
	border-width:1px;
	border-style:solid;
}
.previews.cweitems .item a{
	overflow:hidden;
}
.previews.cweitems .item a .itemimg img{
	transform-origin:bottom center;
	transition:transform .5s ease-in-out 0s;
}
.previews.cweitems .item a:focus .itemimg img,
.previews.cweitems .item a:hover .itemimg img,
.previews.cweitems .item a:active .itemimg img{
	transform:scale(1.05);
}
.previewgrid .item .itemimg img{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.previewgrid.variableheight .item .itemimg img{
	position:static;
}
.previewgrid .item h3 a{
	display:block;
}
.previewmix .itemlarge .inside,
.featured .previewgrid .item .inside,
.previews.cweitems .item .inside{
	height:100%;
}
.previews.cweitems .item .inside a{
	display:block;
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
}
.previewmix .itemlarge .iteminfo{
	padding:2rem 2rem;
}
.featured .previewgrid .item .iteminfo,
.previews.cweitems .item .iteminfo{
	padding:1rem 2rem;
}
.previewmix .itemlarge{
	width:49%;
	max-width:43.25rem;
}
.previewmix .smallitems{
	width:51%;
	min-width:calc(100% - 43.25rem);
	padding:2rem 2rem 2rem 4rem;
}
.previewmix .itemsmall{
	margin-bottom:3rem;
}
.previewmix .itemsmall:last-child{
	margin-bottom:0;
}
.previewmix .itemsmall .inside{
	display:flex;
	flex-wrap:wrap;
}
.previewmix .itemsmall .category{
	width:100%;
}
.previewmix .itemsmall .itemimg{
	width:32%;
}
.previewmix .itemsmall .iteminfo{
	width:68%;
	padding:0 2rem;
}

.issuepreview{
	display:flex;
	flex-wrap:wrap;
}
.issuepreview .issueimg{
	width:21.625rem;
	max-width:24%;
	margin-right:2rem;
}
.issueimg img{
	border-width:1px;
	border-style:solid;
}
.secondary .issueimg{
	margin-bottom:2rem;
}
.issuepreview .issueinfo{
	width:45.25rem;
	max-width:calc(76% - 12.375rem);
}
.issuepreview .buttons{
	width:calc(100% - 70.875rem);
	min-width:8.375rem;
	text-align:right; /* to put the button to the far right */
	margin-left:2rem;
}
ul.cwepastdates{
	max-width:61rem;
}
ul.contentindex,
ul.cwepastdates,
ul.honoreeslist,
ul.archivelist{
	display:table;
	width:100%;
}
ul.contentindex li,
ul.cwepastdates li,
ul.honoreeslist li,
ul.archivelist li{
	display:table-row;
}
ul.contentindex li span{
	display:table-cell;
	vertical-align:top;
	padding:.6em 2.66em .6em 0;
	border-width:0 0 1px 0;
	border-style:solid;
}
ul.cwepastdates li span{
	display:table-cell;
	vertical-align:baseline;
	padding:.6em 2.66em .6em 0;
	border-width:0 0 1px 0;
	border-style:solid;
}
ul.honoreeslist li span{
	display:table-cell;
	vertical-align:baseline;
	padding:.6em 2.66em .6em 0;
	border-width:0 0 1px 0;
	border-style:solid;
}
ul.archivelist li span{
	display:table-cell;
	vertical-align:baseline;
	padding:.6em 2.66em .6em 0;
	border-width:0 0 1px 0;
	border-style:solid;
}
ul.contentindex li span span,
ul.cwepastdates li span span{
	display:inline-block;
	width:50%;
	border-width:0;
	padding:0;
}
ul.contentindex li span.indexauthor,
ul.cwepastdates li span.category{
	padding-left:1.2em;
}
ul.contentindex li span.indexpage,
ul.cwepastdates li span.date,
ul.archivelist li span.eventdate,
ul.archivelist li span.eventtimes{
	white-space:nowrap;
}
ul.contentindex li span.indexdownload,
ul.cwepastdates li span.category,
ul.honoreeslist li span.names,
ul.archivelist li span.eventtimes{
	padding-right:0;
}
ul.archivelist li span.eventtitle a{
	display:block;
}
ul.contentindex li span.indexdownload a{
	display:inline-block;
	padding-left:2.75rem;
	background-repeat:no-repeat;
	background-position:left center;
	background-image:url(img/download.svg);
}
ul.cwepastdates li span.category{
	width:1%; /* will expand as needed */
}
.boxdiv{
	padding:1.7rem 2rem;
	border-width:0 1px 1px 1px;
	border-style:solid;
}
.boxdiv:first-child{
	border-top-width:1px;
}
.biolinks,
.related{
	list-style:none;
}
.related{
	margin-top:4rem;
}
.related li{
	padding:.5em 0;
}
ul.subsectionlinks{
	list-style:none;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	text-align:center;
	align-items:stretch;
	margin-left:-1rem;
	margin-right:-1rem;
}
ul.subsectionlinks li{
	width:25%;
	padding:1rem;
	margin-bottom:2rem;
}
ul.subsectionlinks li .inside{
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	height:100%;
	padding:2rem 1rem;
	border-width:1px;
	border-style:solid;
}

.sb-subnav,
.sbbox{
	width:100%; /* to avoid lesser widths when .secondary goes flex */
	border-width:1px;
	border-style:solid;
	margin-bottom:2rem;
}
.sb-subnav:last-child,
.sbbox:last-child{
	margin-bottom:0;
}
.sb-subnav h2{
	padding:1.2em 2rem; /* vertical space font-size dependent */
	border-width:0 0 1px 0;
	border-style:solid;
	margin-bottom:0;
}
.sbbox h2{
	padding:1.2em 2rem; /* vertical space font-size dependent */
	margin-bottom:0;
}
.sbbox .sbbin{
	padding:1rem 2rem;
	border-width:1px 0 0 0;
	border-style:solid;
}
.sbbox .sbbin:first-child{
	border-top-width:0;
}
.sb-subnav ul{
	list-style:none;
	padding:1rem 2rem;
	margin-bottom:0;
}
.sb-subnav ul li a{
	display:block;
	padding:.5em 0;
	border-width:0 0 1px 0;
	border-style:solid;
}
.sb-subnav ul li:last-child a{
	border-bottom-width:0;
}
.donations{
	background-repeat:no-repeat;
	background-position:center top;
	background-size:contain;
	padding-top:calc(35.4% - 6.125rem);
}
.donationwrap{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.donationwrap .donation{
	width:calc(50% - 1rem);
	padding:2.5rem 3rem 1.5rem 3rem;
}


.ctaboxwrap .inner{
	padding-top:3rem;
	padding-bottom:3rem;
}
.ctaboxes{
	display:flex;
	flex-wrap:wrap;
	margin-left:-1rem;
	margin-right:-1rem;
}
.ctabox{
	width:50%;
	padding:0 1rem;
}
.ctabox a{
	display:block;
	height:100%;
	padding:2.5rem calc(11% + 6rem) 1.5rem 3rem;
	border-width:1px;
	border-style:solid;
	position:relative;
}
.ctabox a span.ctarm{
	display:block;
	width:4rem;
	height:4rem;
	text-indent:-100px;
	overflow:hidden;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	border-radius:4rem;
	position:absolute;
	right:11%;
	top:50%;
	margin-top:-2rem;
}
.footerpart{
	border-style:solid;
	border-width:1px 0 0 0;
}
.footerpart.footer1{
	border-top-width:0;
}
.footerpart .inner{
	padding:2em 0;
}
.footerpart.footer1 .inner{
	padding-top:4em;
}
.footer1 .inner,
.footer4 .inner{
	display:flex;
	justify-content:space-between;
}
.footer1 .contactinfo{
	padding-right:3rem;
}
.footer1 .contactinfo span{
	white-space:nowrap;
}
.footer1 .sociallinks{
	list-style:none;
}
.footer1 .sociallinks li{
	margin-bottom:1em;
}
.footer3 #sitemap-nav ul.nav-menu{
	display:flex;
	flex-wrap:wrap;
}
#social-navigation{
	width:calc((100% + 2.25rem) / 5);
	padding:0 1.125rem;
	min-width:8rem;
	margin-right:-1.125rem;
}
#sitemap-nav ul.nav-menu{
	list-style:none;
	margin-left:-1.125rem;
	margin-right:-1.125rem;
}
#sitemap-nav ul.nav-menu > li{
	width:20%;
	padding:0 1.125rem;
	min-width:8rem;
}
#sitemap-nav ul.nav-menu > li ul{
	list-style:none;
	padding-top:.9em;
	border-width:3px 0 0 0;
	border-style:solid;
}
#sitemap-nav ul.nav-menu > li > a{
	min-height:4em;
	display:flex;
	align-items:flex-end;
	padding-bottom:.7em;
}
#sitemap-nav ul.nav-menu > li ul li a{
	display:block; /* so that when it wraps, the space between the lines is clickable too */
}




/* 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.875rem;
	height:1.875rem;
	font-size:.9375rem;
	font-weight:600;
	line-height:1.875rem;
}
.pagination a.inactive{
	opacity:0.5;
	cursor:default;
}
.page-numbers{
	margin:0 .2rem;
}
.page-prev,
.page-next,
.page-numbers.prev,
.page-numbers.next{
	text-indent:-40000px;
	background-position:center;
	background-repeat:no-repeat;
	background-size:contain;
}
.page-prev,
.page-numbers.prev{
	margin-right:.9rem;
}
.page-next,
.page-numbers.next{
	margin-left:.9rem;
}



select,option,input,textarea,select{
	border-width:1px;
	border-style:solid;
}
select,option,input{
	height:2.25rem;
}

/* webkit things */

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

@media(max-width:1500px){
	.previewgrid.people .item,
	.previewgrid.reports .item{
		width:33.3%;
	}
	.previewgrid.pjregular .item{
		width:20%;
	}
}
@media(max-width:1450px){
	#sitemap-nav ul.nav-menu > li{
		width:33.3%;
	}
}


@media(max-width:1430px){ /* should be 1440, but then Raffaele can't see the styles for wider screens */
	.inner{
		width:100%;
		max-width:68.75rem;
	}
	.site-branding{
		width:18rem;
	}
	#topnav li{
		padding:0 .7em;
	}
	.previewmix .itemlarge{
		width:49%;
	}
	.previewmix .smallitems{
		width:51%;
		padding:2rem 2.8%;
	}
	.previewmix .itemlarge .iteminfo{
		padding:1.125rem;
	}
	.previewmix .itemlarge .iteminfo .category{
		margin-bottom:1.6rem;
	}
	.previewmix .smallitems .item{
		margin-bottom:1.5rem;
	}
	.previewmix .itemsmall .category{
		margin-bottom:1.3rem;
	}
	.previewmix .itemsmall .itemimg{
		width:32%;
	}
	.previewmix .itemsmall .iteminfo{
		width:68%;
		padding:0 0 0 2rem;
	}
	.donations{
		padding-top:28.5%;
	}
	.ctabox a{
		padding:2.5rem 7.6rem 1.5rem 1.8rem;
	}
	.ctabox a span.ctarm{
		right:1.8rem;
	}
	
}
@media(max-width:1350px){
	#topnav li{
		padding:0 .6em;
	}
	.iconlinks li{
		margin-left:.7rem;
	}
}
@media(max-width:1150px){
	ul.subsectionlinks li{
		width:33.33%;
	}
}
@media(max-width:1050px){

	.previewgrid .item{
		width:50%;
	}
	.previewgrid.pjregular .item{
		width:25%;
	}
	.previewgrid.people .item,
	.previewgrid.reports .item{
		width:25%;
	}

	/* temporarily remove 3rd on featured grid and on upcoming grid */
	/* commented out, because it also removes the 7th location on narrow width!
	if any row of 3 needs to not show the last item in a 2-column setting, 
	a new class will need to be added for those
	*/
	/*
	.previews.cweitems .item:last-child,
	.featured .previewgrid .item:last-child{
		display:none;
	}
	*/
	
	.previewmix{
		display:block;
	}
	.previewmix .itemlarge,
	.previewmix .smallitems{
		width:100%;
		max-width:100%;
	}
	.previewmix .itemlarge .inside,
	.previewmix .smallitems{
		display:flex;
	}
	.previewmix .itemlarge .itemimg{
		width:49%;
		max-width:43.25rem;
		display:flex;
		flex-direction:column;
		justify-content:center;
	}
	.previewmix .itemlarge .iteminfo{
		width:51%;
	}
	.previewmix .smallitems{
		padding:1rem .5rem;
	}
	.previewmix .itemsmall{
		width:33.3%;
		padding:0 .5em;
	}
	.previewmix .itemsmall .itemimg{
		order:-1;
		margin-bottom:1em;
	}
	.previewmix .itemsmall .itemimg,
	.previewmix .itemsmall .iteminfo{
		width:100%;
		padding:0;
	}

/* START only for page tops, where the split between main and side is different than in page content */
	.page-top .regsidebar .primary,
	.page-top .regsidebar .secondary{
		width:100%;
		max-width:100%;
	}
	.page-top .regsidebar .secondary{
		padding-top:2rem;
	}
/* END only for page tops, where the split between main and side is different than in page content */


	.regsidebar .primary{
		width:53%;
	}
	.regsidebar .secondary{
		width:37%;
	}



	.widesidebar .primary,
	.widesidebar .secondary{
		width:100%;
		max-width:100%;
	}
	.widesidebar .secondary{
		padding-top:2rem;
	}
	.post-top .secondary{
		padding-top:0;
	}
	.post-top .primary figure{
		margin-bottom:2rem;
	}
	.post-top .inner{
		padding-bottom:3rem;
	}
	.post-top ul.postfiles li{
		display:inline-block;
		margin-right:1rem;
	}
	.widesidebar .secondary{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	.widesidebar .secondary .issueimg,
	.widesidebar .secondary #buythisissue{
		width:calc(50% - 1rem);
		margin-bottom:0;
	}
	.widesidebar .secondary .boxdivs{
		display:flex;
		flex-wrap:wrap;
	}
	.widesidebar .secondary .boxdivs .boxdiv{
		width:50%;
	}
	.widesidebar .secondary .boxdivs .boxdiv:nth-child(odd){
		border-left-width:0;
		/* note: this is only because this only happens
		where the first one is going full width */
		/* if other situations arise, we need a different solution */
	}
	.widesidebar .secondary .boxdivs .boxdiv:first-child{
		width:100%;
		border-left-width:1px !important;
	}
	
	
	.page-content .narrowsidebar .secondary{
		padding-top:2rem;
	}
	.ctabox a{
		padding:2rem 6.6rem 1rem 1.8rem;
	}
	.ctabox a span.ctarm{
		width:3rem;
	}
}
@media(max-width:960px){
	
	#mainnav > li{
		padding:0 1em;
	}
	#mainnav > li:last-child ul{
		left:auto;
		right:-2rem;
	}
	#mainnav > li:last-child ul ul{
		right:0;
	}
	ul.contentindex li span span{
		display:block;
		width:auto;
	}
	ul.contentindex li span.indexauthor{
		font-size:1rem;
		padding-left:0;
	}
	ul.subsectionlinks li{
		width:50%;
	}
}
@media(max-width:940px){
	.pubsubpage .pubintro{
		width:100%;
	}
}
@media(max-width:900px){
	.page-top .haspagetopbutton .primary,
	.page-top .haspagetopbutton .secondary{
		width:100%;
		max-width:100%;
	}
	.page-top .secondary .pagetopbutton{
		margin-top:1rem;
	}
}
@media(max-width:890px){
	.donationwrap .donation{
		width:100%;
	}
	.halfsidebar .page-header,
	.halfsidebar .topimage{
		width:100%;
	}
	.halfsidebar .topimage{
		padding-top:2rem;
	}
	.ctabox{
		width:100%;
	}
	.ctabox:first-child{
		margin-bottom:2rem;
	}
}
@media(max-width:880px){
	#sitemap-nav ul.nav-menu > li{
		width:50%;
	}
	.previewgrid.pjregular .item{
		width:33.33%;
	}
}
@media(max-width:810px){
	.previewgrid.people .item,
	.previewgrid.reports .item{
		width:33.3%;
	}
}
@media(max-width:767px){

/* START moved here from @media-max-width 1050 */
	.regsidebar .primary,
	.regsidebar .secondary{
		width:100%;
		max-width:100%;
	}
	.regsidebar .secondary{
		padding-top:2rem;
	}
	.regsidebar .secondary #subnav{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
	}
	.regsidebar .secondary #subnav li{
		width:calc(50% - 1rem);
	}
/* END moved here from @media-max-width 1050 */

	.locationinfo{
		display:block;
	}		
	.locationdetails{
		width:auto;
	}
	.locationmap{
		margin-top:2rem;
		width:auto;
	}
	.issuepreview .issueimg{
		width:10rem;
		max-width:10rem;
	}
	.issuepreview .issueinfo{
		max-width:calc(100% - 12rem);
	}
	.issuepreview .buttons{
		text-align:left;
		margin-left:12rem;
	}
	
	ul.cwepastdates li{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		gap:0 1rem;
		padding:1em 0;
		border-width:0 0 1px 0;
		border-style:solid;
	}
	ul.cwepastdates li span{
		display:block;
		padding:0;
		border-width:0;
	}
	ul.cwepastdates li span.date{
		white-space:normal;
		padding-right:0;
	}
	ul.cwepastdates li span.category{
		width:auto;
		padding-top:.4em;
		padding-left:0;
	}
	ul.cwepastdates li span.title{
		order:2;
		width:100%;
		padding-bottom:0;
	}
	@media(max-width:400px){
		ul.cwepastdates li span.category{
			order:-2;
			padding-top:0;
			width:100%;
		}
	}	
	
}
@media(max-width:740px){

	#topnav.nav-menu li.hideonwide{
		display:block !important;
	}
	#mainnav{
		display:none;
		/* instead of #nav2, as we need the spacing from #nav2 between masthead image and branding/burger */
	}
	a.skip-link.hideon740{
		display:none !important;
	}
	/*
	#mainnav{
		display:block;
	}
	#mainnav > li{
		border-bottom-width:1px;
	}
	#mainnav > li:last-child ul{
		right:auto;
		left:0;
	}
	#mainnav li ul{
		z-index:2;
	}
	*/
}
@media(max-width:720px){
	.widesidebar .secondary .boxdivs .boxdiv{
		width:100%;
	}
	.widesidebar .secondary .boxdivs .boxdiv:last-child{
		border-left-width:1px;
	}
	.widesidebar .secondary .issueimg{
		width:calc(100% - 20.75rem);
	}
	.widesidebar .secondary #buythisissue{
		width:18.75rem;
	}
}
@media(max-width:710px){
}
@media(max-width:640px){
	.inner{
		max-width:29.5rem;
	}
	.issuepreview{
		display:block;
	}
	.issuepreview .issueimg{
		float:left;
		margin:0 2rem .5rem 0;
	}
	.issuepreview .issueinfo{
		width:auto;
		max-width:100%;
	}
	.issuepreview .buttons{
		margin-left:0;
	}
	.previewgrid .item{
		width:100%;
	}
	.previewgrid.pjregular .item,
	.previewgrid.people .item,
	.previewgrid.reports .item{
		width:50%;
	}

	/* bring back the 3rd block */
	/* commented out, as the removal of the block is also commented out */
	/* see styles under max-width:1050px */
	/* if any block needs to be removed, a new class needs to be set for that */
	/* 
	.previews.cweitems .item:last-child,
	.featured .previewgrid .item:last-child{
		display:block;
	}
	*/

	.previewmix .itemlarge .inside,
	.previewmix .smallitems{
		display:block;
	}
	.previewmix .itemlarge .itemimg,
	.previewmix .itemlarge .iteminfo,
	.previewmix .itemsmall{
		width:100%;
		max-width:100%;
	}
	.post-content .imagesidebar .primary,
	.post-content .imagesidebar .secondary,
	.page-content .imagesidebar .primary,
	.page-content .imagesidebar .secondary{
		width:100%;
		max-width:100%;
	}
	.post-content .imagesidebar .secondary,
	.page-content .imagesidebar .secondary{
		padding-top:2rem;
	}
	.post-content .secondary .issueimg,
	.post-content .secondary #buythisissue{
		width:100%;
	}


	ul.contentindex,
	ul.archivelist{
		display:block;
	}
	ul.contentindex li,
	ul.archivelist li{
		display:flex;
		flex-wrap:wrap;
		border-width:0 0 1px 0;
		border-style:solid;
	}
	ul.contentindex li span,
	ul.archivelist li span{
		display:block;
		padding:.6em 2.66em .6em 0;
		border-width:0 0 0 0;
		border-style:solid;
	}
	ul.contentindex li span.indexpage{
		width:6rem;
	}
	ul.contentindex li span.indextitleauthor{
		width:calc(100% - 6rem);
		padding-right:0;
	}
	ul.contentindex li span.indexdownload{
		padding-left:6rem;
		padding-right:0;
	}
	ul.archivelist span.eventtitle{
		width:100%;
		padding-right:0;
	}
	dl.team{
		column-count:1;
		column-gap:0;
	}
	.regsidebar .secondary #subnav{
		display:block;
	}
	.regsidebar .secondary #subnav li{
		width:100%;
	}


}
@media(max-width:600px){
	ul#fontsizes,
	span.wp_user_stylesheet_switcher{
		margin-left:0;
	}
	#topbar .tbblock.tbb2{
		padding-left:.5rem;
		margin-left:.5rem;
	}
}
@media(max-width:520px){
	.outer{
		padding-left:1rem;
		padding-right:1rem;
	}
	#social-navigation{
		margin-right:0;
		padding-right:0;
	}
	#sitemap-nav ul.nav-menu{
		margin-left:0;
		margin-right:0;
	}
	#sitemap-nav ul.nav-menu > li{
		width:100%;
		padding:0;
	}
	ul.subsectionlinks li{
		width:100%; /* also needs to work for the Podcasts place, not just the Classes & Events page */
	}
}
@media(max-width:479px){
	#topbar h3{
		display:none;
	}
	#topbar .tbblock.tbb2{
		margin-left:1.1rem;
	}
	.site-branding{
		max-width:calc(100% - 4rem);
	}
}
@media(max-width:420px){
	.authorpreview .primary{
		flex-wrap:wrap;
	}
	.authorimg,
	.authorinfo{
		width:100%;
		padding-left:0;
	}
	.authorimg{
		margin-bottom:1.5rem;
	}
}


/*********************/
/* font-size changes */
/*********************/

@media(max-width:1660px){
	ul.jumplinks{
		font-size:1rem;
	}
}
@media(max-width:1460px){
	ul.jumplinks{
		font-size:.9375rem;
	}
}
@media(max-width:1430px){ /* should be 1440, but then Raffaele can't see the styles for wider screens */

	.previews h3{
		font-size:1rem;
	}
	.previews p{
		font-size:1rem;
	}
	.previewmix .itemlarge h3{
		font-size:1.125rem;
	}
	.previewmix .itemsmall p{
		font-size:.9375rem;
	}
	.ctabox h3,
	.subsectionlinks h3{
		font-size:1.3125rem;
	}
}
@media(max-width:960px){
	ul#mainnav,
	ul#mainnav ul{
		font-size:1rem;
	}
	.ctabox h3,
	.subsectionlinks h3{
		font-size:1.125rem;
	}
	.ctabox p{
		font-size:1rem;
	}
}
@media(max-width:520px){
	#topbar h3,
	#topbar p,
	#topbar ul,
	#topbar a,
	#topbar span,
	#topbar button{
		font-size:.75rem;
		line-height:1.75rem;
	}
	
	h1.page-title,
	h2.page-title{
		font-size:1.5rem;
	}
	h1.page-title.mrpf,
	h2.page-title.mrpf{
		padding-left:5.36rem;
		background-size:auto 3.75rem;
	}
	h1.page-title img,
	h2.page-title img{
		width:12rem;
	}
}
@media(max-width:420px){
	h1.page-title,
	h2.page-title{
		font-size:1.25rem;
	}
	h1.page-title.mrpf,
	h2.page-title.mrpf{
		padding-left:4.46rem;
		background-size:auto 3.125rem;
	}
	h1.page-title img,
	h2.page-title img{
		width:10rem;
	}
}
@media(max-width:360px){
	#topbar h3,
	#topbar p,
	#topbar ul,
	#topbar a,
	#topbar span,
	#topbar button{
		font-size:.75rem;
		line-height:1.75rem;
	}
	#topbar button{
		margin-left:.25rem;
	}
	#topbar button img{
		width:1.75rem;
		height:1.75rem;
	}
}
@media(max-width:340px){
/*
	#topbar h3,
	#topbar p,
	#topbar ul,
	#topbar a,
*/
	#topbar span,
	#topbar button{
		line-height:1.5rem;
	}
	#topbar button{
		margin-left:.2rem;
	}
	#topbar button img{
		width:1.5rem;
		height:1.5rem;
	}
}














/* hamburger menu! */

@media (max-width:1270px){
	#nav{
		padding-top:4.125rem
	}
	#toggle{
		display:block;
		order:2;
		width:2.298375rem;
		height:1.875rem;
	}
	#toggle a,
	#toggle a span.burger{
		display:block;
		width:100%;
		height:100%;
	}
	#toggle span.burger{
		background-repeat:no-repeat;
		background-position:center;
		background-size:contain;
	}
	#toggle a.navisopen{
		display:none;
	}
	#nav:target #toggle a.navisopen{
		display:block;
	}	
	#nav:target #toggle a.navisclosed{
		display:none;
	}
	#site-navigation,
	#openmenu,
	#topnav,
	#topnav li{
		display:block;
		width:100%;
		max-width:100vw;
		text-align:center;
	}
	#topnav li a{
		display:inline-block;
		padding:.5rem 0;
	}
	#topnav li.externallink a{
		padding-left:1.5rem;
		padding-right:1.5rem; /* to center the words, not the icon */
	}
	#topnav li.supportus{
		padding-top:1rem;
		margin-bottom:1rem;
	}
	#shop-navigation{
		display:block;
		text-align:center;
		max-width: 100vw;
	}
	#shop-navigation ul li{
		padding:1rem;
		margin:0;
	}
	#navcontent{
		/* display:none; */
		position:fixed;
		display:block;
		order:3;
		top:7.125rem;
		left:0;
		width:100% !important;
		height:0;
		overflow:hidden;
		z-index:9999; /* under the topbar, under the burger, in front of the page */
		transition:all .5s ease-in-out 0s;
	}
	#nav:target{
		/* option to test:
			make it scroll off page, but come back? 
		The problem is that you can see the page scroll above the burger menu after clicking the burger.
		It would be better if the burger stayed, but then it needs a bit of overhaul, and permission from Raf to not scroll it off the page
		
		Could also just set body to overflow:hidden; but that can't be done without javascript, and might also have unintended side effects.
		
		*/
	}
	#nav:target #navcontent{
		height:calc(100% - 7.125rem);
		max-height:calc(100vh - 7.125rem);
	}
	.admin-bar #navcontent{
		top:10rem;
	}
	.admin-bar #nav:target #navcontent{
		height:calc(100% - 10rem);
		max-height:calc(100vh - 10rem);
	}
	#site-navigation{
		height:calc(100% - 7rem); /* 7 rem for shop nav */
		max-height:calc(100vh - 7rem);
	}
	#openmenu,
	#topnav{
		height:100%;
		max-height:100vh;
	}
	#topnav{
		display:flex;
		flex-direction:column;
		justify-content:space-around;
	}
	@media(max-height:650px){
		#nav:target #navcontent{
			height:100%;
			overflow:auto;
		}
		#site-navigation,
		#openmenu,
		#topnav{
			height:auto;
			display:block;
		}
	}
}

/* location Booking */

#open_booking {
    padding: 1rem 1rem 1rem 3rem;
    position: relative;
	cursor:pointer;
	transition: background-color 400ms ease;
}

#open_booking::after {
    background-image: url(./img/calendar-white.svg);
    content: '';
    position: absolute;
    left: .5rem;
    top: .5rem;
    width: 2rem;
    height: 2rem;
	background-size: cover;
}

#open_booking:hover{
	background-color:#C43626;
}

.wpcf7 input, .wpcf7 textarea {
	width:100%;
    max-width:380px;
}

.small{
	font-size:0.8rem;
}

/* Single Class/Workshop/Event header spacing */
.single-mr_class .page-header,
.single-mr_event .page-header,
.single-mr_workshop .page-header {
  gap: 0 !important;        /* if header uses flex/grid gap */
  row-gap: 0 !important;
}

/* Reset any generic stack spacing like > * + * */
.single-mr_class .page-header > * + *,
.single-mr_event .page-header > * + *,
.single-mr_workshop .page-header > * + * {
  margin-top: 0 !important;
}

/* Tighten title → subtitle */
.single-mr_class .page-header h1.page-title,
.single-mr_event .page-header h1.page-title,
.single-mr_workshop .page-header h1.page-title {
  margin-bottom: 0 !important;
}

.single-mr_class .page-header .subtitle,
.single-mr_event .page-header .subtitle,
.single-mr_workshop .page-header .subtitle {
  margin: 0 !important;
  line-height: 1.3;
}

/* Add space above faculty line */
.single-mr_class .page-header .teacher,
.single-mr_event .page-header .teacher,
.single-mr_workshop .page-header .teacher {
  margin-top: 0.9rem !important;
}

.post-password-form {
  max-width: 400px;
  margin: 100px auto;
  text-align: center;
}
