/*
Theme Name: FIPP Congress
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: fippcongress
*/

/**
 * @license
 * MyFonts Webfont Build ID 3867246, 2020-12-16T11:57:38-0500
 * 
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are 
 * explicitly restricted from using the Licensed Webfonts(s).
 * 
 * You may obtain a valid license at the URLs below.
 * 
 * Webfont: Campton SemiBold by René Bieder
 * URL: https://www.myfonts.com/collections/rene-bieder-foundry

 * Webfont: Campton Light by René Bieder
 * URL: https://www.myfonts.com/collections/rene-bieder-foundry

 * Webfont: Campton Book by René Bieder
 * URL: https://www.myfonts.com/collections/rene-bieder-foundry

 * Webfont: Campton Medium by René Bieder
 * URL: https://www.myfonts.com/collections/rene-bieder-foundry
 
 * © 2025 MyFonts Inc. */
  
@font-face {
  font-family:"CamptonBook";
  src: url('fonts/CamptonBook/font.woff2') format('woff2'), url('fonts/CamptonBook/font.woff') format('woff');
}
@font-face {
  font-family:"CamptonLight";
  src: url('fonts/CamptonLight/font.woff2') format('woff2'), url('fonts/CamptonLight/font.woff') format('woff');
}
@font-face {
  font-family:"CamptonMedium";
  src: url('fonts/CamptonMedium/font.woff2') format('woff2'), url('fonts/CamptonMedium/font.woff') format('woff');
}
@font-face {
  font-family:"CamptonSemiBold";
  src: url('fonts/CamptonSemiBold/font.woff2') format('woff2'), url('fonts/CamptonSemiBold/font.woff') format('woff');
}



/* 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. */
}
#speakers,
#sponsors,
#register{
	scroll-margin-top:3rem;
}
html,#nav,#navcontent{
	scrollbar-width:thin;
}
.numbers{
	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,#nav,.numbers{
	scrollbar-color: #21003D #FF4739;
}
body{
	background:#FFFEF0;
}
body.speakerbio{
	background:#21003D;
	color:#FFFFFF;
}
body.speakerbio h1{
	color:#FCEE21;
}
body.partnerbio{
	background:#FFFEF0;
	color:#000000;
}
body.partnerbio h1{
	color:#FF4739;
}
#nav{
	background:#FCEE21;
	color:#21003C;
}
.site-title a{
	padding-left:2em;
	background:url(img/home.svg) transparent no-repeat left center / 1.25em auto;
}
.site-nav li.register a{
	background-color:#FF4739;
}
#masthead{
	background:url(img/fipp-masthead-child.jpg) black no-repeat center / cover;
	padding-top:27.1%;
}
.page-template-page-home #masthead{
	background:url(img/fipp-masthead.png) black no-repeat center / cover;
	padding-top:33.33%;
}
@media(max-width:600px){
	#masthead{
		background-image:url(img/fipp-masthead-860-child.jpg);
		padding-top:74.4%;
	}
	.page-template-page-home #masthead{
		background-image:url(img/fipp-masthead-860.png);
		padding-top:150%;
	}
}
.numbers{
	background:#FFFEF0;
	color:#FF4739;
}
ul.thenumbers,
ul.thenumbers li{
	border-color:#FF4739;
}
.button a{
	background:#FF4739;
	color:#FFFFFF;
}
.button a:focus,
.button a:hover,
.button a:active{
	background:#21003D;
	color:#FFFFFF;
}
hr.div1{
	height:1px;
	border-width:1px 0 0 0;
	border-style:solid;
	border-color:#FF4739;
}
.page-template-page-home .page-content{
	background:url(img/madrid.jpg) transparent no-repeat center top / cover;
}
.blocktype1{
	background-repeat:no-repeat;
	background-position:center top;
	background-size:cover;
}
.page-template-page-home .page-content .textpanel,
.textpanel.panelcolour0,
.mediasection,
.blocktype2{
	background:#21003D;
	color:#FFFFFF;
}
.textpanel div.standout{
	background:#FFFFFF;
	color:#21003D;
	padding:1rem;
}
.textpanel div.important{
	background:#FF4739;
	color:#21003C;
	padding-top:1rem;
	padding-bottom:1rem;
}


.blocktype2.withblob{
	background-image:url(img/blockblob.png);
	background-repeat:no-repeat;
	background-position:center;
	background-size:cover;
}
.blocktype3.purplewide{
	background:#21003D;
	color:#FFFFFF;
}
.blocktype3.greenwide{
	background:#06EAC8;
	color:#000000;
}
.textpanel.panelcolour1{
	background:#06EAC8;
	color:#21003D;
}

.blocktype2 .textside{
	background:#FCEE21;
	color:#21003D;
}
.textpanel.panelcolour0 h2{
	color:#FCEE21;
}
.home .textpanel.panelcolour0 h2,
.mediasection h2{
	color:#06EAC8;
}
.textside h3,
.textpanel h3{
	padding-top:.6em;
}
.textside hr,
.textpanel hr{
	height:1px;
	border-width:1px 0 0 0;
	border-style:solid;
}
.textpanel.panelcolour0 hr{
	border-color:white;
}
.textside hr,
.textpanel.panelcolour1 hr{
	border-color:#21003D;
}
.blocktype2 .button a{
	color:#21003D;
	background:#FF4739;
}
.textpanel.panelcolour0 .button a,
.blocktype3.purplewide .button a{
	color:#21003D;
	background:#06EAC8;
}
.textpanel.panelcolour1 .button a,
.blocktype3.greenwide .button a{
	background:#21003D;
	color:#FFFFFF;
}
.textpanel .button a:focus,
.textpanel .button a:hover,
.textpanel .button a:active,
.blocktype2 .button a:focus,
.blocktype2 .button a:hover,
.blocktype2 .button a:active,
.blocktype3.greenwide .button a:focus,
.blocktype3.greenwide .button a:hover,
.blocktype3.greenwide .button a:active,
.blocktype3.purplewide .button a:focus,
.blocktype3.purplewide .button a:hover,
.blocktype3.purplewide .button a:active,
.registration .button a:focus,
.registration .button a:hover,
.registration .button a:active{
	color:#21003D !important;
	background:#FFFFFF !important;
}


.ocb{
	background:#FFFFFF;
	color:#21003D;
	border-color:#BEBEBE;
	position:relative;
}
.ocb.styleCD{
	padding-left:5.25rem;
	padding-left:min(5.25rem,8vw);
	position:relative;
}
.ocb.styleCD .ocbcontent{
	position:relative;
}
.ocb.styleCD:before,
.ocb.styleCD .ocbheading:before,
.ocb.styleCD .ocbcontent:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	height:100%;
	width:min(5.25rem,8vw);
}
.ocb.styleCD1S1:before,
.ocb.styleCD2S1:before{
	background-color:#FF4739;
}
.ocb.styleCD1S2:before,
.ocb.styleCD2S2:before{
	background-color:#FCEE21;
}
.ocb.styleCD1S3:before,
.ocb.styleCD2S3:before{
	background-color:#06EAC8;
}
.ocb.styleCD .ocbheading:before,
.ocb.styleCD .ocbcontent:before{
	background-position:center top;
	background-repeat:no-repeat;
	left:-5.25rem;
	left:max(-5.25rem,-8vw);
	top:0rem;
}
.ocb.styleCD .ocbheading:before{
	background-position:center calc(1rem + .5vw);
	background-size:min(2.375rem,5vw) auto;
}
.ocb.styleCD1S1 .ocbheading:before,
.ocb.styleCD2S1 .ocbheading:before{
	background-image:url(img/blob_1.svg);
}
.ocb.styleCD1S2 .ocbheading:before,
.ocb.styleCD2S2 .ocbheading:before{
	background-image:url(img/blob_2.svg);
}
.ocb.styleCD1S3 .ocbheading:before,
.ocb.styleCD2S3 .ocbheading:before{
	background-image:url(img/blob_3.svg);
}
.ocb.styleCD1S1 .ocbcontent:before{
	background-image:url(img/wednesday_main_stage.svg);
}
.ocb.styleCD1S2 .ocbcontent:before{
	background-image:url(img/wednesday_innovation_stage.svg);
}
.ocb.styleCD1S3 .ocbcontent:before{
	background-image:url(img/wednesday_workshops.svg);
}
.ocb.styleCD2S1 .ocbcontent:before{
	background-image:url(img/thursday_main_stage.svg);
}
.ocb.styleCD2S2 .ocbcontent:before{
	background-image:url(img/thursday_innovation_stage.svg);
}
.ocb.styleCD2S3 .ocbcontent:before{
	background-image:url(img/thursday_workshops.svg);
}
.ocb .session{
	border-color:#21003D;
}
.ocb .sessionheading h3.titlecolour1{
	color:#FF4739;
}
.ocb .sessionheading h3.titlecolour2{
	color:#5B2A84;
}

.speakers{
	background:#FFFEF0;
	color:#21003D;
}
.speakers .inner{
	padding-top:clamp(1.5rem,5vw,2.2rem);
	padding-bottom:clamp(3.25rem,10vw,12rem);
	position:relative;
}
.registration{
	background:url(img/registration-bg.jpg) #21003D no-repeat center / cover;
}
.registration .inner{
	padding-top:clamp(1.5rem,5vw,2.2rem);
	padding-bottom:clamp(3.25rem,10vw,6.25rem)
}	
.registration h2{
	color:#FFFFFF;
}
.regblock .inside{
	background:#FCEE21;
	color:#000000;
}
.regblock .inside hr{
	height:1px;
	border-width:1px 0 0 0;
	border-style:solid;
	border-color:black;
}
.registration .button a{
	background:#FF4739;
	color:#FFFFFF;
}
.registration .button a:focus,
.registration .button a:hover,
.registration .button a:active{
	background:#21003D;
}
.formwrapper{
	background:white;
}
.partnerspaceswrapper{
	background:url(img/spaces_bg.jpg) #21003D no-repeat center / cover;
	color:white;
}
.partnerspaces.items .partnerspace .inside{
	background:white;
	color:black;
}
.walllogos.items .walllogo{
	background:transparent;
}
.thelogos{
	background:#FFFEF0;
	color:#000000;
}
.thelogos .inner{
	padding-top:clamp(2.5rem,9vw,5rem);
	padding-bottom:clamp(3.25rem,10vw,6.25rem)
}
.logogroup{
	border-color:#BEBEBE;
}

#colophon{
	background:#21003D;
	color:#FFFFFF;
}
#colophon .inner{
	padding-top:clamp(1.5rem,5vw,2.2rem);
	padding-bottom:clamp(3.25rem,10vw,6.25rem)
}
#menu-social-nav li a{
	display:block;
	width:2.875rem;
	height:2.875rem;
	background-color:transparent;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	text-indent:3rem;
	overflow:hidden;
}
#menu-social-nav li.instagram a{
	background-image:url(img/icon-ig.svg);
}
#menu-social-nav li.linkedin a{
	background-image:url(img/icon-li.svg);
}
#menu-social-nav li.email a{
	background-image:url(img/icon-email.svg);
}

/* links */

a{
	color:inherit;
	text-decoration:none;
}

/* fonts */

/* font weights */

body,
input,textarea,select,option,
ul.thenumbers .text,
.textside h4,
.textpanel h4{
	font-family:"CamptonLight";
	font-weight:300;
}
h1,
h2,
.bio h1,
.bio h2,
.timeslot,
h3,
h4,h5,h6,
.sessionheading p{
	font-family:"CamptonBook";
	font-weight:400;
}
h1.site-title,
p.site-title,
#nav ul,
ul.thenumbers .num,
.pagination a,
.pagination span,
#colophon p,
#colophon ul,
#colophon ol,
.button,
.ocb h2,
.ocb p.teaser,
.sessionheading h3,
.speaker h3,
.logogroup h4,
.textside h5,
.textpanel h5,
strong,
b{
	font-family:"CamptonMedium";
	font-weight:500;
}

/* font sizes */

body,
input,textarea,select,option{
	font-size:100%;
}
h1.site-title,
p.site-title,
#nav ul{
	font-size:clamp(.875rem,2.5vw,1.125rem);
	line-height:3.75rem;
	margin-bottom:0;
}
h1.site-title,
p.site-title,
.site-nav li.register a{
	text-transform:uppercase;
}
.bio h2.role{
	font-size:clamp(1.125rem,2.75vw,1.625rem);
	line-height:1.3;
	margin-bottom:.85em;
}
h1,
h2,
.bio h1{
	font-size:clamp(1.75rem,6.2vw,3.375rem);
	line-height:1.3;
	margin-bottom:.2em;
}
h1.page-title,
.bio h1{
	line-height:1;
	margin-bottom:.5em;
}
h2.blockheading{
	line-height:1;
	margin-bottom:.5em;
}
.speakers h2,
.registration h2{
	margin-bottom:.6em;
}
.ocb h2{
	font-size:2.125rem;
	font-size:clamp(1.25rem,3vw,2.125rem);
}
#colophon h2{
	margin-bottom:0;
}
h3{
	font-size:clamp(1.5rem,5.3vw,2.125rem);
	line-height:1.2;
	margin-bottom:.4em;
}
.speaker h3,
.speaker p.role{
	font-size:clamp(1rem,2.7vw,1.125rem);
	line-height:1.5;
	margin-bottom:0;
}
.regblock h3{
	font-size:1.5rem;
	text-align:center;
	padding-top:.3em;
	margin-bottom:1em;
}
.logogroup h4{
	font-size:1.125rem;
	line-height:1.5;
	text-align:center;
	margin-bottom:1.5em;
}
p,ul,ol{
	font-size:1.125rem;
	line-height:1.5;
	margin-bottom:1.5em;
}
div.important p,
div.important ul,
div.important ol,
div.standout p,
div.standout ul,
div.standout ol{
	font-size:clamp(1.25rem,2.5vw,1.5rem);
}
div.important > *:last-child,
div.standout > *:last-child{
	margin-bottom:0;	
}
.ocb p.teaser,
.bio p,
.bio ul,
.bio ol{
	font-size:clamp(1rem,2.5vw,1.5rem);
}
.ocb p.teaser{
	margin-bottom:0;
}
.timeslot,
.sessionheading h3{
	font-size:1.125rem;
	margin-bottom:0;
}
.sessionheading p{
	font-size:1rem;
}
.sessioninfo p,
.sessioninfo ul,
.sessioninfo ol{
	font-size:1rem;
}
h4,h5,h6,
.intro p,
.intro ul,
.intro ol{
	font-size:clamp(1.125rem,3.5vw,1.375rem);
	line-height:1.5;
	margin-bottom:.75em;
}
.textside h4,
.textpanel h4{
	text-transform:uppercase;
	margin-bottom:0;
}
.textside h5,
.textpanel h5{
	margin-bottom:0;
}
.partnerspaces.items .partnerspace p{
	font-size:clamp(.875rem,2vw,1rem);
}

.smalltext p,
.smalltext ul,
.smalltext ol{
	font-size:1rem;
}
#colophon p,
#colophon ul,
#colophon ol{
	font-size:clamp(.875rem,3vw,1.125rem);
}
ul.thenumbers{
	font-size:clamp(1rem,1.8vw,2.125rem);
	line-height:1.15;
}
.regblock p{
	font-size:1rem;
	margin-bottom:0;
}
.regblock .smalltext p{
	font-size:.75rem;
}
.quotebox p.quote{
	font-size:1.5rem;
	line-height:1.5;
	margin-bottom:0;
}
.quotebox p.byline{
	padding-top:.5em;
	margin-bottom;
}
.quotebox{
	padding:1.5rem 0;
}
.button{
	font-size:clamp(1rem,3.5vw,1.25rem);
	line-height:1.5;
	text-align:center;
	margin-bottom:1.5em;
}
.button.agenda-register-button a{
	text-transform:uppercase;
}
.registration .button a{
	font-size:clamp(1.125rem,3.5vw,1.25rem);
	width:100%;
	text-transform:uppercase;
}
p.caption{
	padding-top:.5em;
}
ul{
	list-style:none;
}
.page-content ul li,
.concertina ul li{
	padding-left:1em;
	position:relative;
}
.page-content ul li:before,
.concertina ul li:before{
	content:"\2022 ";
	display:inline-block;
	position:absolute;
	left:0;
	top:0;
}
.page-content ul.logoscroller li{
	/* for padding see .logoscroller styles */
}
.page-content ul.logoscroller li:before{
	display:none;
}




/* layout */

#nav,
.outer,
.textpanel div.important,
.widebox p.caption{
	/*
	padding-left:clamp(1rem,7vw,3rem);
	padding-right:clamp(1rem,7vw,3rem);
	*/
	padding-left:7.29%;
	padding-right:7.29%;
}
.inner{
	margin:0 auto;
}
.page-content .inner{
	padding:1px 0; /* to keep colours and margins inside */
}
.page-content.padded .inner{
	padding-bottom:3rem; /* for pages like the 404 page */
}
.page-content.leftside .inner,
.inner > .textside{
	margin-left:0;
	max-width:53rem;
}
.page-content.leftside .wide .inner{
	max-width:100%;
	margin:0 auto;
}
.bio .inner{
	overflow:hidden;
	padding:4rem 0;
}
.bio .inner .portrait{
	float:left;
	width:18.75rem;
	max-width:30%;
	border-radius:50%;
	overflow:hidden;
	margin:4% 6% 1rem 0;
}
.bio .inner .partnerlogo{
	float:left;
	width:fit-content;
	max-width:30%;
	margin:4.5rem 3.125rem 1rem 0;
}
.bio .inner .portrait img,
.bio .inner .partnerlogo img{
	display:block;
}
.speakerbio .inner .biocontent{
	margin-left:min(36%, calc(18.75rem + 6%));
}
.partnerbio .inner .biocontent{
	display:table-cell; /* works in Firefox to keep clear of floated logo */
}
@media(max-width:500px){
	.bio .inner .portrait,
	.bio .inner .partnerlogo{
		float:none;
		width:fit-content;
		max-width:100%;
		margin:0 auto 1rem auto;
		
	}
	.bio .inner .biocontent{
		display:block !important;
		margin-left:0 !important;
	}
}
#page{
	padding-top:3.75rem; /* same as #nav height */
}
#nav{
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:0;
	min-height:3.75rem; /* enough height for logo + nav menus */
	transition:height .5s ease-in-out 0s;
	z-index:10000;
}
.admin-bar #nav{
	top:32px;
}
@media(max-width:782px){
	.admin-bar #nav{
		top:46px;
	}
}
#nav .inner{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}
.site-branding{
	order:0;
}
#toggle{
	display:none;
	order:1;
}
#navcontent{
	order:2;
}
.site-nav{
	display:flex;
	justify-content:flex-end;
}
.site-nav .main-navigation{
	text-align:center;
}
.site-nav li{
	display:inline-block;
	margin-left:clamp(.5em,1vw,1em);
}
.site-nav li a{
	padding:0 clamp(.5em,.9vw,.89em);
}
.site-nav li.register a{
	display:inline-block;
}

.numbers{
	overflow:auto;
}
ul.thenumbers{
	display:flex;
	min-width:41.25rem;
	padding:clamp(1rem,2.5vw,3rem) 0;
	margin-bottom:0;
}
ul.thenumbers li{
	width:calc(100% / 6);
	padding:.4em;
	border-width:0 1px 0 0;
	border-style:solid;
}
ul.thenumbers li:first-child{
	border-width:0 1px 0 1px;
}
ul.thenumbers li span{
	display:block;
	text-align:center;
}
#primary {
	padding-top:clamp(1.5rem,5vw,2.125rem);
}
.page-template-page-home #primary{
	padding-top:0;
}
.page-template-page-home .page-content .inner,
.outer.blocktype0 .inner,
.outer.blocktype1 .inner,
.outer.blocktype2 .inner,
.outer.blocktype3 .inner{
	padding:clamp(2.5rem,3vw,3rem) 0;
}
.textpanel{
	width:58%;
	margin-right:0;
	margin-left:auto;
}
.textpanel.panelsideleft{
	margin-left:0;
	margin-right:auto;
}
.blocktype2 .textside{
	padding:2rem;
	border-radius:.75rem;
	margin-bottom:1rem;
}
@media(max-width:850px){
	.textpanel{
		width:auto;
		margin-right:auto;
		margin-left:auto;
	}
}
@media(max-width:600px){
	.page-template-page-home .page-content{
		padding:0 0 68vw 0; 
		/* for the background image */
		background-position:center bottom;
		background-size:100% auto;
	}
	.page-template-page-home .page-content > .inner{
		padding:0;
	}
}
.button a{
	display:block;
	width:fit-content;
	max-width:100%;
	padding:.75em 2em;
	border-radius:.75rem;
	margin-top:1.5em;
}
.button.agenda-register-button a{
	width:100%;
	max-width:100%;
}
.registration .button a{
	margin-top:1em;
}
.speaker{
	text-align:center;
}
.speakersliderwrapper .speaker{
	width:clamp(16.375rem,53vw,21.25rem);
	/* the above width is ignored when slick-slider is active */
	padding:0 clamp(1rem,5.9%,1.25rem);
}
.speaker .portrait{
	width:fit-content;
	border-radius:50%;
	overflow:hidden;
	margin:0 auto .6rem auto;
}
.speaker .portrait img{
	display:block;
	transition:opacity .5s ease-in-out 0s;
}
.speaker a .portrait{
	background:#21003D;
}
.speaker a:focus .portrait img,
.speaker a:hover .portrait img,
.speaker a:active .portrait img{
	opacity:.7;
}
@media(max-width:620px){
	/* same breakpoint as variable width on slick settings */
	.speakersliderwrapper .speakers{
		padding-right:0;
	}
	.speakersliderwrapper .speaker .portrait img{
		width:14.375rem;
	}
}
.registration .items{
	display:flex;
	flex-wrap:wrap;
	margin-left:-.5rem;
	margin-right:-.5rem;
}
.registration .items .regblock{
	width:25%;
	padding:0 .5rem;
	margin-bottom:1rem;
}
@media(max-width:1150px){
	.registration .items .regblock{
		width:50%;
	}
}
@media(max-width:580px){
	.registration .items .regblock{
		width:100%;
	}
}
.regblock .inside{
	height:100%;
	padding:1.5rem 1.5rem 9rem 1.5rem;
	border-radius:.75rem;
	position:relative;
}
.regblock .inside > p:last-child{
	padding-top:1rem;
}
.regblock .inside:after{
	content:"";
	display:block;
	position:absolute;
	bottom:2rem;
	left:0;
	width:100%;
	height:1.5rem;
	background:url(img/down.svg) transparent no-repeat center / contain;
}
.speakerslistwrapper{
}
.speakerslist.items{
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-start;
	margin-left:-1rem;
	margin-right:-1rem;
}
.speakerslist.items .speaker{
	width:20%; /* overrides slider sizes */
	padding:0 1rem;
	margin-bottom:2rem;
}
.speakerslist4.items .speaker{
	width:25%;
}
.speakerslist3.items .speaker{
	width:33.33%;
}
@media(max-width:1540px){
	.speakerslist.items .speaker{
		width:25%;
	}
}
@media(max-width:1140px){
	.speakerslist.items .speaker{
		width:33.33%;
	}
}
@media(max-width:760px){
	.speakerslist.items .speaker{
		width:50%;
	}
}
.partnerspaces.items{
	display:flex;
	flex-wrap:wrap;
	margin-top:2.5rem;
	margin-left:-.625rem;
	margin-right:-.625rem;
}
.partnerspaces.items .partnerspace{
	width:min(20%,20.75rem);
	padding:.625rem;
}
@media(max-width:1540px){
	.partnerspaces.items .partnerspace{
		width:25%;
	}
}
@media(max-width:1150px){
	.partnerspaces.items .partnerspace{
		width:33.33%;
	}
}
@media(max-width:760px){
	.partnerspaces.items .partnerspace{
		width:50%;
	}
}
.partnerspaces.items .partnerspace .inside{
	height:100%;
	padding:1.5rem;
	border-radius:.75rem;
}
.partnerspaces.items .partnerspace .imgwrap{
	height:5rem;
	align-content:center;
	text-align:center;
	margin-bottom:2rem;
}
.walllogos.items{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-start;
	gap:clamp(.5rem,1vw,1rem);
}
.walllogos.items .walllogo{
	padding:clamp(.5rem,1vw,1rem);
	border-radius:.75rem;
}
.walllogos.items .walllogo img{
	display:block; /* otherwise some (but not all) logos are not top aligned properly */
}


.formwrapper{
	border-radius:.75rem;
	padding:1rem;
	margin-top:3rem;
	margin-bottom:3rem;
}
.logogroup{
	overflow:hidden;
	border-width:1px 0 0 0;
	border-style:solid;
	padding-top:1.5rem;
}
.logogroup:first-child{
	border-width:0;
	padding-top:0;
}
.logogroup ul{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	text-align:center;
}
.logogroup2 ul li,
.logogroup3 ul li,
.logogroup4 ul li{
	display:block;
}
.logogroup1 ul{
	margin-left:-3rem;
	margin-right:-3rem;
}
.logogroup1 ul li{
	padding:0 3rem;
}
.logogroup2 ul li{
	width:50%;
	padding:2% 4%;
}
.logogroup3 ul{
	align-items:stretch;
	margin-left:-4%;
	margin-right:-4%;
}
.logogroup3 ul li{
	align-content:center;
	width:16.875rem;
	padding:2% 4%;
}
@media(max-width:900px){
	.logogroup2 ul{
		margin-left:-4%;
		margin-right:-4%;
	}
	.logogroup3 ul{
		align-items:stretch;
		margin-left:-4%;
		margin-right:-4%;
	}
	.logogroup3 ul li{
		width:33.33%;
		padding:2% 4%;
	}
}
.logogroup ul li a,
.logogroup ul li span,
.logogroup ul li img{
	display:block;
	margin:0 auto;
}

#colophon .site-info{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:center;
}
.site-info .fcol1{
	align-self:flex-start;
	width:max(8.5rem,35%);
}
.site-info .fcol2{
	width:60%;
}
.site-info .fcol3,
.site-info .fcol4{
	flex-grow:2;
	margin-top:min(2rem,10vw);
}
.site-info .fcol2,
.site-info .fcol4{
	text-align:right;
}
.site-info .fcol3 ul,
.site-info .fcol4 p{
	margin-bottom:0;
}
.site-info ul{
	display:flex;
	flex-wrap:wrap;
	gap:.5em 1.5em;
}
.site-info #menu-social-nav{
	gap:.75rem;
}
.site-info .fcol2 ul{
	justify-content:flex-end;
}
.site-info ul li{
	display:inline-block;
}
.site-info p.hdk a,
.site-info p.hdk img{
	display:inline-block;
	width:2.5rem;
}
@media(max-width:500px){
	.site-info{
		display:block;
	}
	.site-info ul{
		justify-content:flex-start !important;
	}
	.site-info .fcol1{
		margin-bottom:1.5rem;
	}
	.site-info .fcol2,
	.site-info .fcol3,
	.site-info .fcol4{
		width:100% !important;
		text-align:left !important;
	}
}



.columns{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.blocktype3 .columns{
	align-items:center;
}
.col.textside{
	width:51.7%;
}
.col.imageside{
	width:41.1%;
}
.col1.imagesright{
	order:2;
}
@media(max-width:767px){
	.col1,
	.col2{
		width:100% !important;
	}
	.col.imageside img.singleleft{
		margin-bottom:1rem;
	}
	.col.imageside img.singleright{
		margin-left:0;
		margin-right:auto;
		margin-top:1rem;
	}
}
.small2col{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.smallcol{
	width:47%;
}
@media(max-width:1050px){
	.textpanel .smallcol,
	.col.textside .smallcol,
	.col.textside .smallcol{
		width:100%;
	}
}
@media(max-width:850px){
	/* textpanel itself goes wider again */
	.textpanel .smallcol{
		width:47%;
	}
}
@media(max-width:630px){
	.textpanel .smallcol,
	.textside .smallcol{
		width:100% !important;
	}
}
.imggrid{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;	
}
.imggrid img{
	width:calc(50% - .5rem);
	border-radius:.75rem;
	margin-bottom:1rem;
}
.imggrid img.singlewide{
	width:100%;
}
.imggrid img.singleleft{
	width:auto;
	margin-left:0;
	margin-right:auto;
}
.imggrid img.singleright{
	width:auto;
	margin-right:0;
	margin-left:auto;
}


.widesplit{
	display:flex;
	flex-wrap:wrap;
}
.widesplit .imageside{
	width:50%;
	background-position:center;
	background-repeat:no-repeat;
	background-size:cover;
}
.widesplit.imgright .imageside{
	order:2;
}
.widesplit .textside{
	width:50%;
}
.widesplit.imgleft .textside{
	padding-right:clamp(1rem,7vw,3rem);
}
.widesplit.imgright .textside{
	padding-left:clamp(1rem,7vw,3rem);
}
.widesplit .textside .inside{
	display:flex;
	flex-direction:column;
	justify-content:center;
	/* min-height is set in HTML, from image dimensions in the imageside */
	padding-top:max(2rem,6%);
	padding-bottom:max(2rem,6%);
	max-width:40.625rem;
}
.widesplit.imgleft .textside .inside{
	padding-left:clamp(2rem,5.7vw,4.8rem); /* 5.7vw (80/1400), otherwise narrow width gives more space for the text than wide width */
	margin-left:0;
	margin-right:auto;
}
.widesplit.imgright .textside .inside{
	padding-right:clamp(2rem,5.7vw,4.8rem); /* 4.8rem instead of 5rem of design, to fit a specific long title on one line */
	margin-right:0;
	margin-left:auto;
}
.widesplit .imageside .mobileplaceholder{
	display:none;
}
@media(max-width:767px){
	.widesplit .imageside{
		width:100%;
		/* height:56.25vw; */
	}
	.widesplit .imageside .mobileplaceholder{
		display:block;
		/* this one has the image dimensions as style */
	}
	.widesplit.imgright .imageside{
		order:0;
	}
	.widesplit .textside{
		width:100%;
	}
	.widesplit .textside{
		padding-left:0 !important;
		padding-right:0 !important;
	}
	.widesplit.imgleft .textside .inside,
	.widesplit.imgright .textside .inside{
		max-width:100%;
		padding-right:clamp(1rem,7vw,3rem);
		padding-left:clamp(1rem,7vw,3rem);
	}
	.colourdivider.narrowonly{
		display:block;
	}

}



/* pagination */
/* kriesi */

.pagination{
	text-align:center;
	padding:3rem 0;
}
.pagination a,
.pagination span{
	display:inline-block;
	width:1.75rem;
	height:1.75rem;
	font-size:.875rem;
	line-height:1.75rem;
	border-radius:1.75rem;
	box-sizing:border-box;
}
.pagination a.inactive{
	opacity:0.5;
	cursor:default;
}
.page-numbers{
	color:inherit;
	margin:0 .5rem;
}
.page-numbers.current{
	background:#FF4739;
	color:#000;
}
.page-first,
.page-last,
.page-prev,
.page-next{
	font-size:125% !important;
}
.page-prev{
	margin-left:-.5rem;
	margin-right:.5rem;
}
.page-next{
	margin-right:-.5rem;
	margin-left:.5rem;
}


/* 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%;
}

@media (min-width:1351px){
	#nav ul li.homelink{
		display:none;
	}
}
@media (max-width:1350px){
	#nav{
		padding:0;
	}
	.site-branding .site-title,
	.site-nav li a{
		padding:0 .625rem;
	}
	.site-branding{
		max-width:calc(100% - 5rem);
	}
	h1.site-title,
	p.site-title{
		line-height:1.4; /* to be able to wrap within the height */
	}

	#toggle{
		display:block;
		width:3.25rem;
		height:3.75rem;
	}
	#toggle a{
		display:block;
		width:100%;
		height:100%;
		padding:0 .625rem;
		background:#21003D;
	}
	#toggle a .burger{
		display:block;
		width:100%;
		height:100%;
	}
	a.navisclosed .burger{
		background:url(img/menu.svg) transparent no-repeat center / auto 1.125rem;
	}
	a.navisopen .burger{
		background:url(img/close.svg) transparent no-repeat center / auto 1.125rem;
	}
	#toggle a.navisclosed,
	#nav:target #toggle a.navisopen,
	.toggled-on #nav #toggle a.navisopen{
		display:block;
	}
	#toggle a.navisopen,
	#nav:target #toggle a.navisclosed,
	.toggled-on #nav #toggle a.navisclosed{
		display:none;
	}
	.site-nav .main-navigation{
		width:100%;
	}
	body.toggled-on{
		overflow:hidden;
	}
	#nav{
		overflow:hidden;
	}
	#nav:target,
	.toggled-on #nav{
		height:100%;
	}
	.admin-bar #nav:target,
	.admin-bar.toggled-on #nav{
		height:calc(100% - 46px);
	}
	#nav .inner{
		height:100%;
	}
	#navcontent{
		width:100%;
		background:#21003D;
		color:#FCEE21;
		height:100%;
	}
	#nav:target #navcontent,
	.toggled-on #nav #navcontent{
		display:block;
		height:calc(100% - 3.75rem);
		overflow-y:auto;
		padding-bottom:2rem;
	}
	#navcontent ul{
		font-size:1.125rem;
		width:100%;
	}
	#navcontent ul li{
		display:block;
		width:100%;
		text-align:center;
		margin-left:0;
	}
	#navcontent ul li a{
		display:block;
	}
	#navcontent ul li.register a{
		display:inline-block;
		color:white;
		line-height:1;
		padding:1em 3em;
		border-radius:.5em;
	}
}






@media (max-width:380px){
/*
	.site-branding,
	#navcontent,
	.site-nav .main-navigation,
	.site-nav ul,
	.site-nav li,
	.site-nav li a{
		width:100%;
		text-align:center;
	}
	#page{
		padding-top:7.5rem;
	}
*/
}
@media (max-width:280px){
	.site-branding .site-title{
	/*	font-size:4.5vw; /* so it doesn't break and wrap and extend the top space */
	}
}


/* slick slider styles */

button.slick-arrow.slick-next,
button.slick-arrow.slick-prev{
	cursor:pointer;
	position:absolute;
	/*
	top:clamp(-3.64rem,-12.896vw,-7.02rem);
	*/
	top:calc(100% + 1rem);
	right:0;
	border-width:0;
	background:transparent;
	background-repeat:no-repeat;
	background-position:center;
	background-size:contain;
	text-indent:2rem;
	overflow:hidden;
	/*
	width:clamp(.375rem,1.25vw,0.6875rem);
	height:clamp(0.625rem,2vw,1.1875rem);
	*/
	width:.6875rem;
	height:1.1875rem;
}
button.slick-arrow.slick-prev{
	/* right:2.25rem; */
	right:1.5rem;
	background-image:url(img/prev.svg);
}
button.slick-arrow.slick-next{
	background-image:url(img/next.svg);
}
@media(max-width:620px){
	.speakers button.slick-arrow.slick-prev{
		right:calc(7% + 2.25rem);
		right:calc(7% + 1.5rem);
	}
	.speakers button.slick-arrow.slick-next{
		right:7%;
	}	
}

.mediasection.outer{
	overflow:hidden;
	padding-top:clamp(1.5rem,5vw,2.125rem);
}
.fippsliderwrapper{
	width:100%;
	padding-top:1rem;
	padding-bottom:3.5rem;
}

.variable .slick-prev, 
.variable .slick-next{
}
.variable button.slick-arrow.slick-prev{
	background-image:url(img/prev-white.svg);
}
.variable button.slick-arrow.slick-next{
	background-image:url(img/next-white.svg);
}
.variable .slick-slide{
	margin:0 1.5rem;
}
.variable .slick-slide img{
	/* width: 100%;*/
	/* Safari does not do well with img at 100% width */
	height:11.875rem;
	border-radius:1.25rem;
	/* removing all image rounded corners: */
	border-radius:0;
}
.variable .slider{
	max-width:102.5rem;
	margin:0 auto;
}
.variable .slick-slide .imgcapwrap{
	display:table;
}
.variable .slick-slide p.caption{
	display:table-caption;
	caption-side:bottom;
	text-align:center;
	margin-bottom:0;
}
.variable .slick-slide .videobox{
	position:relative;
	width:21.109rem;
	height:0;
	padding-top:11.875rem;
}
.variable .slick-slide .videobox iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.variable .slick-slide .videobox iframe{
	border-radius:1.25rem;
	/* removing all image rounded corners: */
	border-radius:0;
}
.variable .slick-list{
	overflow:visible !important;
	z-index:1;
}
/* different sizes / spacings */
.variable .slick-slide{
	margin:0 clamp(.5rem,3vw,1.5rem);
	margin:0; /* no space between slides */
}
.variable .slick-slide img{
	height:clamp(12.5rem,32.6vw,11.875rem);
}
.variable .slick-slide .videobox{
	width:clamp(22.22rem,57.95vw,21.11rem);
	padding-top:clamp(12.5rem,32.6vw,11.875rem);
}

@media(max-width:480px){
	.variable .slick-slide img{
		height:clamp(6.25rem,42vw,11.875rem);
	}
	.variable .slick-slide .videobox{
		width:clamp(11.11rem,74.6vw,21.11rem);
		padding-top:clamp(6.25rem,42vw,11.875rem);
	}
}

.concertina{
	margin-top:6rem;
	margin-bottom:6rem;
}
.ocb{
	border-width:1px;
	border-style:solid;
	padding-bottom:1rem;
	margin-bottom:2rem;
}
.ocbheading{
	cursor:pointer;
}
.ocbheading,
.ocbcontent{
	padding:1rem;
	position:relative;
}
.ocbheading h2{
	padding-right:2em;
}
.ocbheading h2 span{
	position:absolute;
	right:1rem;
	top:calc(1rem + .3em);
	display:inline-block;
	width:1em;
	height:.75em;
	background:url(img/curved_arrow_up.svg) transparent no-repeat right center / contain;
	transform:scaleY(-1);
	transition:transform .5s ease-in-out 0s;
}
.boxclosed .ocbheading span{
	transform:scaleY(1);
}
.ocbheading .teaser a,
.ocbcontent a{
	text-decoration:underline;
	text-underline-offset:.2em;
}
.boxclosed .ocbcontent{
	display:none;
}
.ocbcontent .infoimages{
	display:flex;
	flex-wrap:wrap;
	gap:min(1.5rem,2vw);
}
.ocbcontent .infoimages img{
	max-height:clamp(100px,20vw,200px);
}

.ocbcontent .session{
	border-width:1px 0 0 0;
	border-style:solid;
	padding:1.5rem .75rem;
	display:flex;
	flex-wrap:wrap;
	gap:1rem;
}
div.timeslot{
	width:14rem;
}
div.sessionheading{
	width:16.25rem;
}
div.sessioninfo{
	width:calc(100% - 33rem);
}
.concertina .downloadbutton{
	margin-top:3rem;
}
ul.logoscroller{
	margin-bottom:0;
}
.logoscroller li{
	padding:2.5rem !important;
	height:10rem; /* max logo height is 80px */
	align-content:center;
}
.logoscroller.logosize1 li{
	height:15rem; /* max logo height is 120px */
}
@media(max-width:1200px){
	.ocbcontent .session{
		padding:1.5rem 0;
	}
	div.timeslot{
		width:min(14rem,30%);
	}
	div.sessionheading{
		width:calc(70% - 1rem);
		min-width:calc(100% - 15rem);
	}
	div.sessioninfo{
		width:calc(70% - 1rem);
		min-width:calc(100% - 15rem);
		margin-left:min(15rem,calc(30% + 1rem));
	}
}
@media(max-width:700px){
	div.timeslot,
	div.sessionheading,
	div.sessioninfo{
		width:100%;
		margin-left:0;
	}
}




