/*
	Theme Name: Europoint Event
	Description: Theme for ProMedia Events & Conferences events.
	Version: 1.1
	Author: Steven Don
	Author URI: http://www.shdon.com/
	Tags: white, two-columns, max-width, responsive
*/

/* Basic elements */

*
{
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

:root {
	--mainmenu-bkg: #999999;
	--mainmenu-bkg-scrolled: #999999DD;
	--mainmenu-frg: #FFFFFF;
	--mainmenu-frg-hover: #FFFFFF;
	--mainmenu-marker: #FFFFFF;
	--submenu-bkg: #FFFFFF;
	--submenu-frg: #333333;
	--submenu-bkg-hover: #EEEEEE;
	--submenu-frg-hover: #111111;
	--submenu-marker: #333333;
	--background-pattern: none;
}

html, body
{
	background: #FFF;
	color: #000;
	font-family: "Roboto", Helvetica, Arial, sans-serif;
	line-height: 1.5;
	overflow-x: hidden;
}

html
{
	height: 100%;
}

body
{
	background-attachment: fixed, fixed;
	background-image: var(--background-pattern);
	background-image: var(--background-pattern), linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 60%);
	background-position: left top;
	background-repeat: no-repeat;
	min-height: 100%;
}

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

address
{
	font-style: normal;
}

b, strong
{
	font-weight: 600;
}

h1, h2, h3
{
	font-family: "Raleway", Helvetica, Arial, sans-serif;
	font-weight: 600;
}

hr
{
	border-color: #CCC;
	border-style: solid none none;
	border-width: 1px 0 0;
	display: block;
	height: 0;
	width: 100%;
}

input[type=email],
input[type=number],
input[type=text],
input[type=url]
{
	border: 1px solid #CCC;
	transition: border-color 0.25s, box-shadow 0.25s;
}

input:focus
{
	border-color: #333;
	box-shadow: 0 0 1ex rgba(0,0,0,0.25);
}

p
{
	font-weight: normal;
}

/* Utility classes */

a[href]
{
	transition: color 0.25s, background-color 0.25s;
}

a.anchor
{
	display: block;
	height: 0;
	position: relative;
	top: -6em;
}

.autoclear:after
{
	clear: both;
	content: '';
	display: table;
}

.button
{
	background: #939598;
	border: none;
	border-radius: 5px;
	color: #FFFFFF;
	display: inline-block;
	line-height: 3em;
	margin: 1ex;
	min-height: 2em;
	padding-left: 1.5em;
	padding-right: 1.5em;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 0.25s, background-color 0.25s;
}

.button:hover
{
	background: #666;
}

.button.fancy
{
	background-image: linear-gradient(to bottom, #3397E6, #0B5CD1);
	border: 5px solid #3599E7;
	border-radius: 1.5em;
	box-shadow: inset 2px 4px 6px -3px #FFF, inset -2px -4px 6px -3px #0852CC, 0.75ex 0.75ex 2.5ex -1.5ex rgba(0,0,0,0.5);
	color: #FFF;
	cursor: pointer;
	display: inline-block;
	font-size: 1rem;
	font-weight: bold;
	height: 3em;
	line-height: 38px;
	min-width: 265px;
	text-align: center;
}

.button.s
{
	font-size: 75%;
}

.button.l
{
	font-size: 125%;
}

.button.xl
{
	font-size: 150%;
}

.button.xxl
{
	font-size: 175%;
}

.highlight
{
	background: #EEE;
	border: 1px solid #EEE;
	padding: 0 1em;
}

.highlight h4
{
	margin: 1em 0;
}

i.fa
{
	text-decoration: none !important;
}

img.aligncenter
{
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
}

img.alignleft
{
	clear: left;
	float: left;
	margin: 0 1em 1em 0;
}

img.alignright
{
	clear: right;
	float: right;
	margin: 0 0 1em 1em;
}

img.imground
{
	border: 4px solid #CCC;
	border-radius: 50%;
}

img.fluid
{
	display: block;
	height: auto;
	max-width: 100%;
	width: 100%;
}

.fade
{
	opacity: 0.5;
	transition: opacity 0.5s;
}

.fade.in
{
	opacity: 1;
}

.fade.out
{
	opacity: 0;
}

/* Scaffolding */

.page-container
{
	background: #FFFFFF;
	box-shadow: 0 10px 38px 6px rgba(0,0,0,0.57);
	font-size: 0.75rem;
	margin-bottom: 5em;
	position: relative;
	z-index: 0;
}

.container
{
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}

.pillar
{
	clear: both;
	margin-left: auto;
	margin-right: auto;
	padding-left: 2rem;
	padding-right: 2rem;
	position: relative;
	width: 100%;
}

.sr-only
{
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
}

@media (min-width: 768px)
{
	.container { max-width: 750px; }
}

@media (min-width: 992px)
{
	.container { max-width: 970px; }
}

@media (min-width: 1200px)
{
	.container { max-width: 1170px; }
}

/* Bootstrap grid cherrypicking */

.visible-xs,
.visible-sm,
.visible-md,
.visible-lg
{
	display: none !important;
}


.row
{
	display: grid;
	gap: 2rem 1rem;
	grid-template-columns: repeat(12, 1fr);
	margin-inline: -1rem;
}

.col-xs-3, .col-xs-4, .col-xs-6, .col-xs-8, .col-xs-12,
.col-sm-3, .col-sm-4, .col-sm-6, .col-sm-8, .col-sm-12,
.col-md-3, .col-md-4, .col-md-6, .col-md-8, .col-md-12,
.col-lg-3, .col-lg-4, .col-lg-6, .col-lg-8, .col-lg-12
{
	grid-column-end: span 12;
	min-height: 1px;
	padding-inline: 1rem;
	position: relative;
}

.col-xs-8 { grid-column-end: span 8; }
.col-xs-6 { grid-column-end: span 6; }
.col-xs-4 { grid-column-end: span 4; }
.col-xs-3 { grid-column-end: span 3; }

@media (max-width: 767px)
{
	.visible-xs { display: block !important; }
}

@media (min-width: 768px)
{
	.col-sm-8 { grid-column-end: span 8;}
	.col-sm-6 { grid-column-end: span 6;}
	.col-sm-4 { grid-column-end: span 4;}
	.col-sm-3 { grid-column-end: span 3;}
}

@media (min-width: 768px) and (max-width: 991px)
{
	.visible-sm { display: block !important; }
}

@media (min-width: 992px)
{
	.col-md-8 { grid-column-end: span 8;}
	.col-md-6 { grid-column-end: span 6;}
	.col-md-4 { grid-column-end: span 4;}
	.col-md-3 { grid-column-end: span 3;}
}

@media (min-width: 992px) and (max-width: 1199px)
{
	.visible-md { display: block !important; }
}

@media (min-width: 1200px)
{

	.col-lg-8 { grid-column-end: span 8;}
	.col-lg-6 { grid-column-end: span 6;}
	.col-lg-4 { grid-column-end: span 4;}
	.col-lg-3 { grid-column-end: span 3;}
	.visible-lg { display: block !important; }
}

.clearfix:before,
.container:before
{
	content: '';
	display: table;
}

.clearfix:after,
.container:after
{
	clear: both;
	content: '';
	display: table;
}

/* Branding classes */

.brand-logo-container
{
	background: white;
	padding: 1em;
}

.brand-logo-container-left
{
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

.brand-logo
{
	display: block;
	float: none !important;
}

/* Social media */

#socialmedia { margin: 1em 0; }
#socialmedia .socialmedia { border-color: transparent; border-radius: 3px; border-style: solid; border-width: 1px; box-sizing: border-box; color: #FFF; display: inline-block; font-size: 1.25rem; height: 2em; line-height: 2em; margin-right: 1ex; text-align: center; width: 2em; }
#socialmedia .socialmedia-email { background-color: #FFF; border-color: #99C; color: #669; }
#socialmedia .socialmedia-facebook { background-color: #4267B2; }
#socialmedia .socialmedia-google-plus { background-color: #DB4437; }
#socialmedia .socialmedia-linkedin { background-color: #0369A0; }
#socialmedia .socialmedia-twitter { background-color: #1B95E0; }
#socialmedia .socialmedia-whatsapp { background-color: #00E676; }
@media (min-width: 641px) { #socialmedia .socialmedia-whatsapp { display: none; } }

.social-media-link
{
	background: rgba(0,0,0,0.25);
	box-shadow: 0 0 1ex rgba(0,0,0,0.25);
	border-radius: 0.2em;
	border-style: solid;
	border-width: 2px;
	display: inline-block;
	line-height: 1.28571429em;
	margin: 0.25em;
	text-align: center;
	text-decoration: none !important;
}

.social-media-link > :is(i, span)
{
	transition: transform 0.25s;
}

.social-media-link:hover > :is(i, span)
{
	transform: scale(1.2);
}

/* Header and menu */

header
{
	color: #FFF;
	display: grid;
	grid-template-columns:
		[vp-left]
		calc(50vw - 585px)
		[pillar-start gutter-left-start]
		3rem
		[gutter-left-end content-start logo-start]
		min-content
		[logo-end details-start]
		auto
		[content-mid]
		auto
		[content-end details-end gutter-right-start]
		3rem
		[gutter-right-end pillar-end]
		calc(50vw - 585px)
		[vp-right];
	grid-template-rows:
		[top-bar-start]
		auto
		[top-bar-end jumbotron-start top-row-start]
		min-content 
		[top-row-end mid-row-start]
		auto
		[mid-row-end bot-row-start]
		1fr
		[bot-row-end jumbotron-end main-menu-start]
		min-content
		[main-menu-end];
	position: relative;
	z-index: 1;
}

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

header nav
{
	font-size: 1rem;
}

#top-bar
{
	background: #111;
	display: grid;
	grid-area: top-bar-start / vp-left / top-bar-end / vp-right;
	grid-template-columns: subgrid;
}

#hamburger-container
{
	border-right: 1px solid rgba(255,255,255,0.5);
	grid-area: gutter-left;
}

#hamburger-menu
{
	background: #FFF;
	border-bottom: 1px solid #CCC;
	color: #666;
	display: none;
	font-size: 1rem;
	left: 0;
	padding: 1rem;
	position: fixed;
	right: 0;
	top: 3rem;
	z-index: 1;
}

#hamburger-button.active + #hamburger-menu
{
	box-shadow: 0 0.25ex 0.5ex rgba(0,0,0,0.1);
	display: block;
}

#hamburger-menu li
{
	display: block;
}

#hamburger-menu .menu > li
{
	border-top: 1px solid #666;
}

#hamburger-menu .menu > li:first-child
{
	border-top: none;
}

#hamburger-menu a
{
	line-height: 2;
}

#hamburger-menu .active-menu-item > a
{
	font-weight: bold;
}

#hamburger-menu .sub-menu
{
	display: none;
}

#hamburger-menu .active-menu-item .sub-menu
{
	display: block;
}

#hamburger-menu .sub-menu .sub-menu > li > a:before
{
	content: '\00A0\00A0\27E9\00A0';
}

#hamburger-menu .menu > li > .sub-menu
{
	background-color: #666;
	color: #FFF;
	max-height: 250px;
	overflow: auto;
	padding: 1ex 1em;
}

#account-container
{
	border-left: 1px solid rgba(255,255,255,0.5);
	grid-area: gutter-right;
	position: relative;
}

#jumbotron
{
	background-repeat: no-repeat;
	background-size: cover;
	grid-area: jumbotron-start / vp-left / jumbotron-end / vp-right;
	position: relative;
	z-index: -1;
}

.jumbotron-align-top { background-position: center top; }
.jumbotron-align-high { background-position: center 25%; }
.jumbotron-align-center { background-position: center center; }
.jumbotron-align-low { background-position: center 75%; }
.jumbotron-align-bottom { background-position: center bottom; }

#language-selector-container
{
	justify-content: center;
	display: flex;
	flex-direction: row;
	grid-area: top-bar-start / content-start / top-bar-end / content-end;
}

#header-social-container
{
	align-items: flex-end;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	grid-area: mid-row-start / content-end /  bot-row-end / pillar-end;
	justify-content: flex-end;
	padding: 0.5rem;
}

#header-logo-container
{
	align-items: center;
	display: flex;
	grid-area: jumbotron-start / pillar-start / bot-row-end / logo-end;
	justify-content: center;
	padding: 1rem 0.5rem;
}

.has-details > #header-logo-container
{
	grid-area: jumbotron-start / pillar-start / mid-row-end / content-end;
}

#header-logo-image
{
	display: block;
	height: auto;
	margin: auto;
	max-height: 320px;
	max-width: 320px;
	width: auto;
}

#header-details-container
{
	align-items: flex-end;
	display: flex;
	grid-area: bot-row-start / pillar-start / bot-row-end / content-end;
	padding-left: 0.5rem; 
	text-align: center;
}

.header-details
{
	font-family: "Raleway", Helvetica, Arial, sans-serif;
	flex: 1 1 auto;
	line-height: 1.1;
	text-shadow: 0 0 1ex #000, 0 0 1ex #000;
}

.header-title
{
	margin-block: 0 0.5rem;
}

.header-info
{
	font-size: 175%;
	margin-top: -0.5rem;
	padding-block: 0.5rem;
}

.header-details .line
{
	display: block;
}

#header-accountnav-container
{
	align-items: center;
	display: none;
	grid-area: mid-row-start / details-start / mid-row-end / details-end;
	justify-content: flex-end;
	padding-right: 0.5rem;
	z-index: 2;
}

#account-nav
{
	line-height: 1.5;
	position: relative;
	text-transform: uppercase;
}

#account-nav ul
{
	list-style-type: none;
}

#account-nav a
{
	display: inline-block;
	font-weight: bold;
	padding: 1.2ex;
}

#account-nav .btn-inline-toggle
{
	background: var(--submenu-bkg, #E3E3E3);
	color: var(--submenu-frg, #333333);
	display: inline-block;
}

.inline-dropdown
{
	background: var(--submenu-bkg, #E3E3E3);
	box-shadow: 2px 2px 2px rgba(0,0,0,0.5);
	color: var(--submenu-frg, #333333);
	display: none;
	min-width: 200px;
	opacity: 0;
	position: absolute;
	right: 0;
	text-align: left;
	text-transform: none;
	top: 100%;
	transition: opacity 0.25s;
	z-index 2;
}

.btn-inline-toggle.active,
.btn-inline-toggle:hover > a,
.active .inline-dropdown a:hover
{
	background: var(--submenu-bkg-hover, #EEEEEE);
	color: var(--submenu-frg-hover, #111111);
}

.inline-login
{
	line-height: 2;
	padding: 0.5rem;
}

.active + .inline-login,
.active + .inline-profile-menu
{
	display: block;
	opacity: 1;
}

.inline-profile-menu a
{
	border-left: 3px solid transparent;
	display: block !important;
	padding: 1.2ex;
}

.inline-profile-menu a:hover
{
	border-left-color: var(--submenu-marker, #333333);
}

#hamburger-button,
#account-button
{
	display: inline-block;
	line-height: 3rem;
	text-align: center;
	width: 3rem;
}

#hamburger-button:not(.active) .for-active,
#hamburger-button.active .for-inactive
{
	display: none;
}

#language-selector-wrapper
{
	align-items: center;
	display: flex;
	flex-direction: row;
}

#language-selector
{
	background: transparent;
	border: none;
	color: inherit;
	cursor: pointer;
	padding-inline: 1rem;
}

.header-social
{
	text-shadow: 0 0 1ex #000;
}

.social-media-link
{
	background: rgba(0,0,0,0.25);
	box-shadow: 0 0 1ex rgba(0,0,0,0.25);
	border-radius: 0.2em;
	border-style: solid;
	border-width: 2px;
	box-sizing: content-box;
	display: inline-block;
	height: 2em;
	line-height: 2em;
	text-align: center;
	text-decoration: none !important;
	width: 2em;
}

@media (min-width: 576px)
{
	header
	{
		grid-template-rows:
			[top-bar-start]
			auto
			[top-bar-end jumbotron-start top-row-start]
			auto
			[top-row-end mid-row-start]
			auto
			[mid-row-end bot-row-start]
			auto
			[bot-row-end jumbotron-end main-menu-start]
			min-content
			[main-menu-end];
	}
	#language-selector-container { grid-area: top-row-start / details-start / top-row-end / pillar-end; justify-content: flex-end; }
	#language-selector-wrapper
	{
		background: #FFF;
		border-bottom-left-radius: 4px;
		border-bottom-right-radius: 4px;
		box-shadow: 0.5ex 0.5ex 0.5ex rgba(0,0,0,0.25);
		color: #666;
		gap: 1rem;
		height: 2rem;
		line-height: 2rem;
		margin-right: 0.5rem;
		padding-inline: 1em;
	}
	#language-selector
	{
		background: #FFF;
		border: 1px solid #EEE;
		border-radius: 4px;
		color: #333;
	}
	#header-logo-container { grid-area: jumbotron-start / pillar-start / bot-row-end / content-mid; justify-content: flex-start; padding-right: 1rem; }
	.has-details > #header-logo-container { grid-area: jumbotron-start / pillar-start / mid-row-end / content-mid; }
	#header-details-container { grid-area: bot-row-start / pillar-start / bot-row-end / content-mid; text-align: left; }
	#account-nav .inline-login { min-width: 300px; }
}

@media (min-width: 768px)
{
	header
	{
		grid-template-columns:
			[vp-left]
			calc(50vw - 585px)
			[pillar-start content-start logo-start]
			min-content
			[logo-end details-start]
			auto
			[content-mid]
			auto
			[content-end details-end pillar-end]
			calc(50vw - 585px)
			[vp-right];
	}
	#top-bar { display: none; }
	#header-social-container { flex-direction: row; grid-area: bot-row-start / content-mid /  bot-row-end / pillar-end; }
	#header-accountnav-container { display: flex; }
}

@media (min-width: 1024px)
{
	header
	{
		grid-template-columns:
			[vp-left]
			calc(50vw - 585px)
			[pillar-start gutter-left-start]
			3rem
			[gutter-left-end content-start logo-start]
			min-content
			[logo-end details-start]
			auto
			[content-mid]
			auto
			[content-end details-end gutter-right-start]
			3rem
			[gutter-right-end pillar-end]
			calc(50vw - 585px)
			[vp-right];
		grid-template-rows:
			[top-bar-start]
			auto
			[top-bar-end jumbotron-start top-row-start]
			1fr 
			[top-row-end mid-row-start]
			auto
			[mid-row-end bot-row-start]
			1fr
			[bot-row-end jumbotron-end main-menu-start]
			min-content
			[main-menu-end];
	}

	#language-selector-container
	{
		justify-content: flex-end;
		grid-area: top-row-start / details-start / top-row-end / pillar-end;
	}

	#header-social-container
	{
		align-items: flex-end;
		grid-area: bot-row-start / content-mid /  bot-row-end / pillar-end;
		justify-content: flex-end;
	}

	#header-logo-container
	{
		align-items: center;
		grid-area: jumbotron-start / pillar-start / jumbotron-end / logo-end;
		justify-content: flex-start;
	}
	
	.has-details > #header-logo-container
	{
		grid-area: jumbotron-start / pillar-start / jumbotron-end / logo-end;
	}


	#header-details-container
	{
		grid-area: bot-row-start / details-start / bot-row-end / content-mid;
	}

	#header-accountnav-container
	{
		align-items: center;
		display: flex;
		grid-area: mid-row-start / details-start / mid-row-end / pillar-end;
		justify-content: flex-end;
	}
}

/* Menu bar */

#menu-bar
{
	color: var(--mainmenu-bkg, #FFFFFF);
	display: none;
	font-family: "Raleway", Helvetica, Arial, sans-serif;
	font-size: 1rem;
	font-weight: 500;
	grid-area: main-menu-start / vp-left / main-menu-end / vp-right;
	text-transform: uppercase;
	position: relative;
	text-align: left;
	z-index: 1;
}

#menu-bar .menu-item
{
	display: inline-block;
	list-style-type: none;
	padding: 0.5em 0.5em 1em;
}

#menu-bar .menu-item a
{
	display: inline-block;
	line-height: 2em;
	padding-bottom: 0.25em;
	position: relative;
	vertical-align: top;
}

#menu-bar .menu-item .label-home
{
	padding-left: 0.5ex;
}

#menu-bar .sub-menu .menu-item
{
	display: block;
	padding: 0.25em 1em;
	text-transform: none;
	white-space: nowrap;
}

@media (min-width: 768px)
{
	#menu-bar { display: block }
}

header .header-details time + .venue::before,
header .header-details time + .country::before,
header .header-details .venue + .country::before
{
	content: ', ';
}

header .countdown
{
	display: table;
	font-size: 300%;
	line-height: 1.25;
	margin-inline: auto;
	max-width: 400px;
	padding: 0.5rem 0.5rem 1ex;
	text-align: center;
	text-shadow: 0 0 0.5ex #000;
	width: 100%;
}

header .countdown.dark
{
	text-shadow: 0 0 0.5ex #FFF;
}

header .header-logo-wrapper.solid .countdown
{
	text-shadow: none;
}

header .countdown > span
{
	display: table-cell;
	vertical-align: middle;
}

header .countdown .sep
{
	width: 2px;
}

header .countdown > span::after
{
	display: block;
	font-size: 25%;
	line-height: 1em;
	margin-bottom: -1em;
	text-transform: uppercase;
}

header .countdown > span.days::after { content: 'days'; }
header .countdown > span.hrs::after { content: 'hours'; }
header .countdown > span.min::after { content: 'min'; }
header .countdown > span.sec::after { content: 'sec'; }
header[lang^=de] .countdown > span.days::after { content: 'Tage'; }
header[lang^=de] .countdown > span.hrs::after { content: 'Stunden'; }
header[lang^=de] .countdown > span.min::after { content: 'Minuten'; }
header[lang^=de] .countdown > span.sec::after { content: 'Sekunden'; }
header[lang^=en] .countdown > span.days::after { content: 'days'; }
header[lang^=en] .countdown > span.hrs::after { content: 'hours'; }
header[lang^=en] .countdown > span.min::after { content: 'min'; }
header[lang^=en] .countdown > span.sec::after { content: 'sec'; }
header[lang^=fr] .countdown > span.days::after { content: 'jours'; }
header[lang^=fr] .countdown > span.hrs::after { content: 'heures'; }
header[lang^=fr] .countdown > span.min::after { content: 'minutes'; }
header[lang^=fr] .countdown > span.sec::after { content: 'secondes'; }
header[lang^=nl] .countdown > span.days::after { content: 'dagen'; }
header[lang^=nl] .countdown > span.hrs::after { content: 'uren'; }
header[lang^=nl] .countdown > span.min::after { content: 'min'; }
header[lang^=nl] .countdown > span.sec::after { content: 'sec'; }

header #menu-bar nav
{
	min-height: 3em;
}

.scrolled .hide-when-scrolled
{
	display: none;
}

.scrolled #menu-bar
{
	-webkit-backdrop-filter: blur(5px);
	backdrop-filter: blur(5px); 
	background-color: var(--topnav-bkg-scrolled, #FFFFFFCC);
	background-image: linear-gradient(to right, rgba(0,0,0,0) 0%, rgba(0,0,0,0.5) 60%);
	box-shadow: 0 0.25ex 0.5ex rgba(0,0,0,0.1);
	color: #FFFFFF;
	left: 0;
	position: fixed;
	right: 0;
	top: 0;
	z-index: 1;
}

.scrolled #menu-bar::before
{
	background-attachment: fixed;
	background-image: var(--background-pattern);
	background-position: top left;
	content: '';
	filter: blur(5px);
	inset: 0;
	opacity: 0.25;
	position: absolute;
	z-idnex: 0;
}

.scrolled .admin-bar #menu-bar
{
	padding-top: 2rem;
}

.scrolled .page-container
{
	margin-top: 3rem;
}

.top-bar .current-menu-item a:before
{
	border-style: solid none none;
	border-width: 2px;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 2px;
}

.top-bar .current-menu-item a:after
{
	border-style: solid none none;
	border-width: 2px;
	bottom: 2px;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
}

/* Header: main meu */

#main-menu .menu-item-has-children
{
	position: relative;
}

#main-menu .sub-menu
{
	background: #FFF;
	background: var(--submenu-bkg, #FFF);
	box-shadow: 2px 2px 2px rgba(0,0,0,0.25);
	color: #333;
	color: var(--submenu-frg, #333);
	display: none;
	flex-direction: column;
	left: 0;
	position: absolute;
	top: 100%;
	transform: translateY(-0.5em);
	z-index: 2;
}

#main-menu .sub-menu li
{
	position: relative;
	transition: all 0.2s;
}

#main-menu .sub-menu li:hover
{
	background: #EEE;
	background: var(--submenu-bkg-hover, #EEE);
	color: #111;
	color: var(--submenu-frg-hover, #111);
}

@media (min-width: 768px)
{
	#hamburger-menu .fa-home,
	#main-menu .label-home
	{
		display: none;
	}
	#main-menu .menu-item-has-children:hover .sub-menu
	{
		display: flex;
	}
}

#main-menu > ul > .menu-item > a
{
	color: #FFF;
	color: var(--mainmenu-frg, #FFF);
}

#main-menu > ul > .menu-item > a:hover
{
	color: #FFF;
	color: var(--mainmenu-frg-hover, #FFF);
}

#main-menu > ul > .menu-item > a::after
{
	background-color: #FFF;
	background-color: var(--mainmenu-marker, #FFF);
	bottom: 0;
	content: '';
	height: 3px;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	transform: translateY(-8px);
	transition: all 0.2s;
}

#main-menu > ul > .menu-item.current-menu-item > a::after
{
	opacity: 0.75;
	transform: translateY(0);
}

#main-menu > ul > .menu-item > a:hover::after
{
	opacity: 1;
	transform: translateY(0);
}

#main-menu .sub-menu .menu-item::before
{
	background-color: #333;
	background-color: var(--submenu-marker, #333);
	bottom: 0;
	content: '';
	left: 0;
	opacity: 0.25;
	position: absolute;
	top: 0;
	transition: all 0.25s;
	width: 2px;
}

#main-menu .sub-menu .menu-item.current-menu-item::before
{
	opacity: 0.75;
	width: 4px;
}

#main-menu .sub-menu .menu-item:hover::before,
#main-menu .sub-menu .menu-item.current-menu-item:hover::before
{
	opacity: 1;
	width: 4px;
}

/* Header:  */

#account-nav .btn-inline-toggle
{
	background: var(--submenu-bkg, #E3E3E3);
	color: var(--submenu-frg, #333333);
}

#account-nav .menu-item-subscribe
{
	background: transparent;
	background-color: var(--subscribe-link);
}

#account-nav label[for]
{
	display: block;
	font-size: x-small;
}

#account-nav input[type=checkbox]
{
	vertical-align: middle;
}

#account-nav p.login-username,
#account-nav p.login-password
{
	margin-bottom: 1ex;
}

#account-nav p.login-submit
{
	margin-block: 1ex 1em;
}

#account-nav a.forgot-pw
{
	color: #00437A;
	display: block;
	font-weight: normal;
	line-height: normal;
	padding: 0;
}

#account-nav a.forgot-pw:hover
{
	text-decoration: underline;
}

/* Main content: basic elements */

.body-content
{
	color: #808285;
	padding-block: 2.5rem;
}

:is(.body-content, .section-content) > :is(h1, h2, h3)
{
	margin-bottom: 1.5em;
	margin-top: 1.5em;
}

:is(.body-content, .section-content) > :first-child
{
	margin-top: 0;
}

.body-content hr
{
	margin: 1em 0;
}

article
{
	font-size: 1rem;
	position: relative;
	z-index: 0;
}

article h1, article h2
{
	font-size: 26px;
	font-weight: 900;
}

article h1
{
	text-transform: uppercase;
}

article p
{
	margin: 1.5em 0;
}

article ul,
article ol
{
	margin: 2.5em 0;
	overflow: hidden;
	padding-left: 2.2em;
}

article a
{
	color: #379CE8;
}

article a:hover,
footer .meta a:hover
{
	color: #0F5181;
	text-decoration: underline;
}

@media (min-width: 640px)
{
	ol.two-columns,
	ul.two-columns
	{
		-webkit-column-count: 2;
		-moz-column-count: 2;
		column-count: 2;
		padding-left: 0;
	}
	ol.two-columns li,
	ul.two-columns li
	{
		margin-left: 2.2em;
	}
}


/* Main content: grid of snippets */

.snippet .snippet-thumbnail
{
	aspect-ratio: 1;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: auto;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.snippet .snippet-thumbnail:before
{
	content: '';
	display: block;
	height: 0;
	margin: 0;
	padding: 0 0 100% 0;
	width: 100%;
}

.snippet .snippet-thumbnail .snippet-title
{
	bottom: 0;
	color: #FFF;
	font-size: 150%;
	left: 0;
	line-height: 1.1;
	padding: 0 1em 1ex;
	position: absolute;
	right: 0;
	text-shadow: 0 0 1ex rgba(0,0,0,0.5);
	top: auto;
}

.snippet .snippet-content p,
.snippet .snippet-content ol,
.snippet .snippet-content ul
{
	margin-bottom: 1em;
	margin-top: 1em;
}

.snippet > .snippet-link
{
	color: inherit;
	text-decoration: none;
}

/* Main content: list of articles (loop and showcase) */

.articles:after,
.articles article:after
{
	clear: both;
	content: '';
	display: table;
}

.articles
{
	font-size: 1rem;
	margin-left: -1em;
	margin-right: -1em;
}

.articles article
{
	cursor: pointer;
	padding: 1em;
}

.articles .featured-image
{
	background-color: #CCC;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 100% auto;
	display: block;
	margin-bottom: 1ex;
	padding-bottom: 54%;
	transition: background-size 0.25s;
	width: 100%;
}

.articles article:hover .featured-image
{
	background-size: 105% auto;
}

.articles h3
{
	margin: 0;
	text-transform: uppercase;
}

.articles time
{
	display: none;
	font-size: 12px;
}

.articles .excerpt
{
	font-size: 14px;
	margin: 0;
}

.showcase article:first-child time,
.showcase article:first-child .read-more
{
	display: block;
}

.archive-content
{
	background: #333;
	color: #FFF;
	margin: 1em 0;
	padding: 1.5em 0;
}

.history
{
	border-top: 1px solid #999;
	font-size: 1rem;
	padding-top: 1ex;
}

.history .alignleft
{
	float: left;
}

.history .alignright
{
	float: right;
}

.history .alignleft .button
{
	margin-right: 1em;
}

.history .alignright .button
{
	margin-left: 1em;
}

.hdr-more-news
{
	border-top-style: dotted;
	border-top-width: 1px;
	padding-top: 1em;
}

/* Main content: flags */

.flag
{
	float: right;
	height: auto;
	margin-left: 1em;
	width: 30px;
}

/* Main content: jumbotrons */

.jumbotron
{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 150px;
	position: relative;
	margin: 2em auto;
	width: 100%;
}

.jumbotron[data-link]
{
	cursor: pointer;
}

.jumbotron:after
{
	clear: both;
	content: '';
	display: table;
}

.jumbotron-align-top { background-position: center top; }
.jumbotron-align-high { background-position: center 25%; }
.jumbotron-align-center { background-position: center; }
.jumbotron-align-low { background-position: center 75%; }
.jumbotron-align-bottom { background-position: center bottom; }
.jumbotron-tint-dark:before
{
	background: rgba(0,0,0,0.5);
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}
.jumbotron-tint-gradient:before
{
	background: linear-gradient(to top, rgba(0,0,0,0.5), rgba(0,0,0,0));
	bottom: 0;
	content: '';
	left: 0;
	position: absolute;
	right: 0;
	top: 50%;
}
.jumbotron-tint-inset { box-shadow: 0 3ex 2ex -2ex rgba(0, 0, 0, 0.25) inset, 0 -3ex 2ex -2ex rgba(0, 0, 0, 0.25) inset; }

.jumbotron-content
{
	bottom: 0;
	color: #FFF;
	left: 0;
	padding: 1em 0;
	position: absolute;
	right: 0;
	top: 0;
}

.jumbotron-tint-none .jumbotron-content
{
	text-shadow: 0 0 1ex rgba(0,0,0,0.5);
}

.jumbotron-pos-title .jumbotron-content
{
	text-shadow: 0 0 1ex rgba(0,0,0,0.5);
	top: auto;
}

.jumbotron .spacer
{
	float: left;
	margin-left: -1px;
	max-height: 450px;
	visibility: hidden;
	width: 1px;
}

.jumbotron-content .pillar
{
	min-height: 100%;
}

.jumbotron-content .bl
{
	bottom: 0;
	left: 1em;
	position: absolute;
}

.jumbotron-content .br
{
	bottom: 0;
	position: absolute;
	right: 1em;
}

.jumbotron-content .tl
{
	left: 1em;
	position: absolute;
	top: 0;
}

.jumbotron-content .tr
{
	position: absolute;
	right: 1em;
	top: 0;
}

.jumbotron-content h1,
.jumbotron-content h2
{
	font-size: 26px;
	text-transform: uppercase;
}

.jumbotron-slide
{
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	bottom: 0;
	height: 100%;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 0;
}

.body-content .jumbotron
{
	margin-inline: -2rem;
	width: auto;
}

.body-content > .jumbotron:first-child
{
	margin-top: -2.5rem;
}

/* Main content: sections and asides */

.aside
{
	font-size: 75%;
	position: absolute;
	top: 0;
	width: 150px;
}
.asides-medium .aside { width: 215px; }
.asides-wide .aside { width: 275px; }

.asides-left .aside { left: -165px; }
.asides-left.asides-medium .aside { left: -230px; }
.asides-left.asides-wide .aside { left: -290px; }
.asides-left > .pillar > .aside { left: 0; }
.asides-right .aside { right: -165px; }
.asides-right.asides-medium .aside { right: -230px; }
.asides-right.asides-wide .aside { right: -290px; }
.asides-right > .pillar > .aside { right: 0; }

.aside a img
{
	transition: all 0.25s;
}

.aside a:hover img
{
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

.aside > p:first-child
{
	margin-top: 0;
}

.aside time
{
	border-style: solid;
	border-width: 6px;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	color: #0F5181;
	display: inline-block;
	font-size: 1rem;
	font-weight: bold;
	line-height: 1.1;
	padding: 6px 3px;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	width: 4em;
}

.aside time:before, .aside time:after
{
	border-radius: 3px;
	border-style: solid;
	border-width: 3px;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	content: '';
	display: inline-block;
	height: 20px;
	position: absolute;
	top: -13px;
	width: 6px;
}

.aside time:before { left: 1ex; }
.aside time:after { right: 1ex; }
.aside time .day { font-size: 300%; }
.aside time .month .last { display: none; }
.aside time .year { display: none; }

.aside #mc_embed_signup
{
	padding: 1ex 0;
}

.aside #mc_embed_signup h2
{
	font-size: 1rem;
}

.aside #mc_embed_signup .button
{
	display: block;
	margin-top: 1ex;
	width: 100%;
}

.aside input[type=email],
.aside input[type=text]
{
	display: block;
	width: 100%;
}

.has-asides               > .pillar,
.has-asides.asides-narrow > .pillar { padding-inline: 180px; }
.has-asides.asides-medium > .pillar { padding-inline: 245px; }
.has-asides.asides-wide   > .pillar { padding-inline: 305px; }
.has-asides.asides-left   > .pillar { padding-right: 2rem; }
.has-asides.asides-right  > .pillar { padding-left: 2rem; }

.section-content
{
	position: relative;
}

/* Main content: iframes */

.pme-iframe[src*="exhibitors"][src*="hide_toolbar"][src*="layout=grid"],
.pme-iframe[src*="exhibitors"][src*="layout=carousel"],
.pme-iframe[src*="speakers"]
{
	margin-top: -45px !important;
}

.pme-iframe[src*="speakers"][src*="layout=blocks"]
{
	margin-top: 0 !important;
}

/* Main content: interstitials */

.interstitial
{
	background: #999;
	color: #FFF;
	font-size: 2rem;
	font-weight: 600;
	margin: 1em 0;
	overflow: hidden;
	padding: 1.5em 0;
	text-align: center;
}

.interstitial a
{
	color: inherit;
}

.interstitial a:hover
{
	color: inherit;
}

.interstitial p
{
	margin: 0;
}

/* Main content: YouTube embeds */

.youtube-container
{
	margin: 1.5em 0;
}

/* Main content: photo gallery */

.has-fullscreen-album > header,
.has-fullscreen-album > footer
{
	display: none;
}

.album-contained .album-buttons { filter: invert(100%) brightness(0.4); }

.album-link { background-image: none !important; }
.album-link::after { background-image: none !important; color: rgba(255,255,255,0.75); display: block; font-family: FontAwesome; font-size: 144px; height: 144px; line-height: 144px; margin-top: -72px; position: absolute; text-align: center; text-shadow: 0 0 4px rgba(0,0,0,0.9); top: 50%; width: auto; }
.album-link-next::after { content: '\f054'; left: 25%; right: 0; }
.album-link-prev::after { content: '\f053'; left: 0; right: 25%; }

@media screen and (min-width: 1025px)
{
	.album.album-contained
	{
		height: auto;
	}
	.album-contained .album-photo-viewport
	{
		bottom: auto;
		left: auto;
		margin-top: 2rem;
		position: relative;
		right: auto;
		top: auto;
	}
	.album-contained .album-photo-container
	{
		bottom: auto;
		left: auto;
		padding-bottom: 56.25%;
		position: relative;
		right: auto;
		top: auto;
		width: 100%:
	}
	.album-contained .album-thumbnails-container
	{
		height: auto;
		position: static;
	}
	.album-contained .album-thumbnails
	{
		text-align: center;
		white-space: normal;
	}
	.album-contained .album-thumbnail-scroll
	{
		display: none;
	}
	.album-contained .album-thumbnail-link
	{
		height: 128px;
		width: 128px;
	}
}

/* Main content: logo sliders */

.logo-slider
{
	-moz-box-sizing: content-box;
	box-sizing: content-box;
	font-size: 2rem;
	margin-bottom: 1.5em;
	padding-bottom: 36px;
	text-align: left;
	white-space: nowrap;
}

.logo-slider-group
{
	font-size: 24px;
	padding-top: 1.5em;
	position: relative;
}

.logo-slider.grouped .logo-slider-group.inactive
{
	margin-right: 0;
	padding-right: 0;
}

.logo-slider-group-title
{
	bottom: auto;
	font-size: 24px;
	height: auto;
	left: 0;
	opacity: 0.25;
	position: absolute;
	right: 0;
	top: 0;
	-webkit-transition: opacity 0.5s;
	transition: opacity 0.5s;
	white-space: nowrap;
}

.logo-slider-group.active .logo-slider-group-title
{
	opacity: 1;
}

.logo-slider-group-images
{
	position: relative;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	-webkit-transition-property: opacity, width;
	transition-property: opacity, width;
}

.logo-slider-image
{
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

.logo-slider.grouped .logo-slider-group
{
	display: inline-block;
	margin-right: 3em;
	opacity: 1;
	padding-right: 0;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
	-webkit-transition-property: margin-right, opacity, padding-right;
	transition-property: margin-right, opacity, padding-right;
}

.logo-slider.grouped .logo-slider-image
{
	bottom: 0;
	opacity: 1;
	position: absolute;
	right: 0;
	top: 0;
	-webkit-transition-property: opacity;
	transition-property: opacity;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.logo-slider.grouped .logo-slider-image.leaving
{
	opacity: 0;
}

.logo-slider-group.inactive .logo-slider-group-title,
.logo-slider-group.inactive .logo-slider-group-images
{
	opacity: 0;
}

.logo-slider.ungrouped .logo-slider-image
{
	display: inline-block;
	margin-left: 0;
	opacity: 1;
	-webkit-transition-property: margin-left, opacity;
	transition-property: margin-left, opacity;
	-webkit-transition-duration: 0.5s;
	transition-duration: 0.5s;
}

.logo-slider.ungrouped .logo-slider-image.leaving,
.logo-slider.grouped .logo-slider-group.incoming
{
	opacity: 0;
}

.logo-slider.ungrouped .logo-slider-group-images
{
	font-size: 0;
}

.interstitial .logo-slider
{
	margin-left: -1.5em;
	margin-right: -1.5em;
	padding-bottom: 0;
}

/* Specific Page: Video page */

.videos.thumbnails
{
	clear: both;
	margin: 20px 0 0 -20px;
}

.videos.thumbnails .thumbnail
{
	background-position: center;
	background-size: cover;
	display: block;
	float: left;
	height: 0;
	margin-left: 20px;
	margin-bottom: 20px;
	overflow: hidden;
	padding-bottom: 26.125%;
	position: relative;
	text-decoration: none;
	width: 300px;
	width: calc(50% - 20px);
}

.videos.thumbnails .caption
{
	background: silver;
	background: rgba(0,0,0,0.5);
	bottom: 0;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	color: white;
	font-weight: bold;
	left: 0;
	min-height: 46px;
	padding: 1ex 1em;
	position: absolute;
	text-shadow: 1px 1px 2px rgba(0,0,0,0.5);
	width: 100%;
	z-index: 2;
}

/* Footer */

footer
{
	background: #F3F3F3;
	color: #898989;
	font-size: 1rem;
	margin-top: 2em;
	position: relative;
}

footer .meta
{
	display: table;
	padding-left: 0;
	padding-right: 0;
	table-layout: fixed;
	width: 100%;
}

footer .meta > div
{
	display: table-cell;
	font-size: 13px;
	padding: 1em;
	vertical-align: top;
}

footer .leadout
{
	background-position: center bottom;
	background-repeat: no-repeat;
	background-size: cover;
	color: #FFFFFF;
	display: block;
	min-height: 4.5em;
	line-height: 4.5em;
	overflow: hidden;
	position: relative;
	text-align: right;
	text-shadow: 0 0 0.5ex #000;
}

footer .leadout .pillar
{
	padding-left: 1em;
	padding-right: 1em;
}

footer .leadout .social-media
{
	float: left;
	font-size: 150%;
	margin-right: 1em;
	text-shadow: none;
}

footer h2
{
	border-bottom: 2px solid #FFF;
	font-size: 1rem;
	margin-bottom: 1ex;
	padding-bottom: 1ex;
	text-align: center;
	text-transform: uppercase;
}

footer .meta address,
footer .meta p
{
	padding-left: 1ex;
	padding-right: 1ex;
}

footer .meta address p,
footer .meta p address
{
	padding-left: 0;
	padding-right: 0;
}

footer p + p
{
	margin-top: 1em;
}

@media screen and (min-width: 769px)
{
	.showcase article:first-child .featured-image-container { float: left; margin-right: 2em; width: 320px; }
	.loop article, .showcase article:nth-child(n + 2) { float: left; width: 33.33333%; }
	.loop article:nth-child(3n + 1) { clear: left; }
}

@media screen and (max-width: 768px)
{
	.pillar
	{
		padding-left: 2em;
		padding-right: 2em;
	}
	footer .meta
	{
		display: block;
	}
	
	footer .meta > div
	{
		display: block;
	}

	.aside { display: none; }
	.aside.essential { display: block; position: static; }
	.has-asides > .pillar { padding-left: 1em !important; padding-right: 1em !important; }
}

@media screen and (min-width: 540px) and (max-width: 768px)
{
	.loop article { float: left; width: 50%; }
	.loop article:nth-child(odd) { clear: left; }
}

@media screen and (max-width: 480px)
{
	.pillar
	{
		padding-left: 1em;
		padding-right: 1em;
	}
	
	header .header-logo-image
	{
		max-width: 100% !important;
	}
}

