
/* ! GDPR Check styles */
aside#gdpr-check {
	display: block;
	position: fixed;
	z-index: 100;
	bottom: 0;
	left: 0;
	right: 0;
	box-shadow: 0px 0px 10px #000;
	background: #f3f4f4;
	color: #000;
}
	aside#gdpr-check div.container {
		display: flex;
		position: relative;
		justify-content: flex-start;
		align-items: center;
		column-gap: 2%;
		padding: 1rem 0;
		max-width: 1200px;
	}
		aside#gdpr-check div.container > div.compliance-statement {
			display: block;
			position: relative;
			flex-basis: 78%;
			max-width: 78%;
			text-align: center;
		}
			aside#gdpr-check div.container > div.compliance-statement h2 {
				font-size: 1.5rem;
			}
			aside#gdpr-check div.container > div.compliance-statement p {
				margin: 0;
				font-size: 0.875rem;
			}
		aside#gdpr-check div.container > form {
			display: block;
			position: relative;
			flex-basis: 20%;
			max-width: 20%;
			margin: 0;
		}
			aside#gdpr-check div.container > form ul {
				display: flex;
				position: relative;
				justify-content: flex-end;
				align-items: center;
				flex-wrap: wrap;
				column-gap: 2%;
				row-gap: 1rem;
				width: 100%;
				padding: 0;
				margin: 0;
				list-style: none;
			}
				aside#gdpr-check div.container > form ul li {
					display: block;
					position: relative;
					flex-basis: 49%;
					max-width: 49%;
				}
					aside#gdpr-check div.container > form ul li button {
						display: block;
						position: relative;
						width: 100%;
						padding: 0.5rem 1rem;
						border: 1px solid #ccc;
						font-size: 0.75rem;
						font-weight: 600;
						text-transform: uppercase;
						text-shadow: none;
						background: #fff;
						color: #000;
					}
					aside#gdpr-check div.container > form ul li button.accept {
						background: #fff;
						color: #000;
					}
					aside#gdpr-check div.container > form ul li button.reject {
						background: #e3e4e4;
						background: #fff;
						color: #000;
					}


/* !Weglot language toggle */
.wg-default,
.wg-default .country-selector {
	bottom: auto !important;
	top: 0 !important;
}


/* !Conventions styles */
h1, h2, h4, h5, h6 { color: #c01327; }
h3 { color: #586876; }

header {
	display: block;
	position: relative;
	background: #fff;
}
header .container {
	display: flex;
	position: relative;
	justify-content: flex-end;
	max-width: 1200px;
	padding: 0;
	border: none;
}
header .container ul.translate {
	position: relative;
	column-gap: 0;
	top: 0;
	margin: 0;
}
	header .container ul.translate li:before { display: none; }
	header .container ul.translate li a {
		padding: 0 0.5rem;
		background: none;
	}
	header .container ul.translate li a:hover { background: #f3f4f4; text-decoration: none; }
	header .container ul.translate.home li:first-child a { background: #586876; color: #fff; }
	header .container ul.translate.francais li:last-child a { background: #586876; color: #fff; }
div.banner-area.home {
	display: block;
	position: relative;
	width: 100%;
	padding: 0;
	margin: 0;
}
div.banner-area.home img#banner-cover {
	display: block;
	position: relative;
	z-index: 1;
	width: 100%;
	height: auto;
	padding: 0;
	margin: 0;
	opacity: 1;
	animation: coverfade 2.5s 1;
}
@keyframes coverfade {
	0% {opacity: 1;}
	80% {opacity: 1;}
	100% {opacity: 1; }
}
div.banner-area.home img.wordmark {
	display: block;
	position: absolute;
	z-index: 1;
	bottom: 2rem;
	max-width: 80%;
	margin: 0 10%;
}
div.banner-area.home img.mapleleaf {
	display: block;
	position: absolute;
	z-index: 1;
	top: 2rem;
	width: 10%;
	height: auto;
	margin: 0 0 0 10%;
}

.container div#intro {
	float: none;
	padding: 0;
	margin: 2rem 0;
	text-align: center;
}
	.container div#intro > h2 {
		padding: 15px 20%;
		font-weight: 900;
		color: #c01327;
	}
	.container div#intro p {
		padding: 0 5%;
		font-size: 1.25rem;
		line-height: 1.5;
	}

div#booth {
	padding: 2rem;
	margin: 0 0 2rem 0;
	text-align: center;
	background: #f3f4f4;
}
	div#booth h3 {
		color: #c01327;
	}

div#advantages {
	display: block;
	position: relative;
	margin: 2rem 0;
}


h2.centrestage {
	width: 80%;
	margin: 30px 10%;
}
div.writeups {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: stretch;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1.25rem;
	width: 100%;
	padding: 0;
	margin: 0 0 30px 0;
}
div.partner-writeup {
	display: block;
	position: relative;
	flex-basis: 32%;
	max-width: 32%;
	padding: 0;
	margin: 0;
	border: 1px solid #e3e4e4;
	background: #f3f4f4;
}
	div.partner-writeup img {
		display: block;
		position: relative;
		width: 100%;
		padding: 0;
		margin: 0 0 15px 0;
	}
	div.partner-writeup h2 {
		padding: 0 15px;
		font-size: 24px;
		line-height: 1;
	}
	div.partner-writeup p {
		padding: 0 15px;
		font-size: 16px;
		line-height: 1.25;
	}
		div.partner-writeup p strong { font-size: 12px; font-weight: 500; letter-spacing: -0.25px; }

div.sections-set {
	display: flex;
	position: relative;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1.25rem;
	width: 100%;
	padding: 0;
	margin: 2rem 0;
}
div.sections-set div.section-item {
	display: block;
	position: relative;
	flex: 0 0 32%;
	max-width: 32%;
	padding: 0;
}
	div.sections-set div.section-item img.section-icon {
		display: block;
		position: relative;
		width: 100%;
		height: auto;
		padding: 0;
		margin: 0 0 1rem 0;
	}
	div.sections-set div.section-item div.section-copy {
		display: block;
		position: relative;
		width: 100%;
		padding: 0;
		margin: 0;
	}
		div.sections-set div.section-item div.section-copy > h2 {
			font-size: 1.5rem;
			color: #586876;
		}
div.sections-set div.content-body {
	display: block;
	position: relative;
	width: 100%;
	margin: 0 0 15px 0;
}
/*
div.sections h2:after,
div.sections h2.section-heading:after {
	line-height: 22px;
}
*/

/* !partners set logos */
.partners-set .container {
	padding: 2rem 0;
	border-top: 1px solid #000;
}
.partners-set .container > h2 {
	text-align: center;
	color: #586876;
}
.partners-set .container > h3 {
	font-weight: 100;
	color: #586876;
}
.partners-set ul {
	display: flex;
	position: relative;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 2%;
	row-gap: 1rem;
	width: 100%;
	padding: 0;
	margin: 0;
	list-style: none;
}
.partners-set ul li {
	display: block;
	position: relative;
	flex-basis: 32%;
	max-width: 32%;
	padding: 0;
	margin: 0;
}

#welcome .container p {
	font-size: 24px;
	line-height: 1.5;
	margin: 0;
}
#welcome .container .cke .c2 { padding: 0; }
#welcome .container .cke .c2.first { padding: 0; }
	#welcome .container .cke .c2.first p { line-height: 0; }

div.video {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0 0 30px 0;
	line-height: 0;
}


/* ! video slider styles */
div#player {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0 0 30px 0;
}
	div#player iframe {
		max-height: none;
	}
div.video-list {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
}
	div.video-list button.slick-arrow {
		display: block;
		position: absolute;
		top: 50%;
		height: 70px;
		width: 40px;
		padding: 0;
		margin: -35px 0 0 0;
		border: none;
		font-size: 40px;
		line-height: 1;
		background: none;
	}
	div.video-list button.slick-prev { left: -40px; }
	div.video-list button.slick-next { right: -40px; }
	div.video-list div.video-thumb { padding: 0 10px; }
	div.video-list div.video-thumb img { max-width: 100%; }


div.staff-set {
	padding: 2rem 0;
}
div.staff-set > h2 {
	text-align: center;
	color: #586876;
}
div.staff-set div.staff-group {
	display: flex;
	position: relative;
	justify-content: space-between;
	flex-wrap: wrap;
	clear: both;
	width: 100%;
	padding: 0;
	margin: 0 0 15px 0;
}
	div.staff-set .staff-group h3 {
		display: none;
	}
	div.staff-set .staff-group div.staffer {
		display: block;
		position: relative;
		flex-grow: 1;
		flex-basis: 49%;
		max-width: 49%;
		padding: 0;
		margin: 0 0 20px 0;
		background: rgba(245,245,245,1);
	}
		div.staff-set .staff-group div.staffer img {
			float: left;
			width: 33%;
			margin: 0;
		}
		div.staff-set .staff-group div.staffer p.contact-info {
			display: block;
			float: right;
			width: 67%;
			padding: 30px 15px 0 15px;
			font-size: 20px;
			line-height: 1.25;
		}
		div.staff-set .staff-group div.staffer div.bio { display: none; }
/*
	div.staff-set .staff-group div.staffer#natalie-thiesen,
	div.staff-set .staff-group div.staffer#grace-hicks,
	div.staff-set .staff-group div.staffer#annie-henry { display: block; }
*/


/* !introduction */
div#intro {
	display: block;
	position: relative;
	clear: both;
	float: left;
	width: 100%;
	padding: 400px 0 0 0;
}
	#content div#intro .container {
		padding: 30px;
		background: #fff;
	}
	div#intro h2,
	div#intro h3 {
		font-size: 36px;
		font-weight: 100;
		color: #000;
	}
	div#intro h3 {
		margin: 0 0 30px 0;
		font-size: 30px;
	}
	div#intro p {
		font-size: 18px;
		line-height: 24px;
	}
	div#intro p.small { font-size: 12px; }



h2#page-title {
	display: block;
	position: relative;
	text-indent: -99999em;
}

div.acknowledgement {
	display: block;
	position: relative;
	padding: 2rem 0;
	text-align: center;
	background: #e3e4e4
}
	div.acknowledgement p {
		font-size: 0.875rem;
	}


/* !responsive styles */
@media only screen and (max-width: 1280px) {
	aside#gdpr-check div.container { padding: 1rem; }
}
@media only screen and (max-width: 1024px) {
	#content .container { left: 50%; }
}
@media only screen and (max-width: 768px) {
	header .container ul.translate { top: 0; right: 1rem; }
	.container,
	#content .container { left: auto; width: 100%; padding: 1rem; margin: 0; }
	div#intro { padding: 300px 0 0 0; }
	.location-set div.set-1 img { width: 100%; margin: 0 0 15px 0; }
	.location-set div.set-1 h2 { float: left; width: 100%; padding: 0; font-size: 30px; line-height: 34px; }
	.location-set div.set-1 div.content-body { float: left; width: 100%; padding: 0; }
}
@media only screen and (max-width: 670px) {
	.container,
	#content .container { left: auto; width: 100%; margin: 0; }
	div#intro { padding: 300px 0 0 0; }
	.container div#intro > h2 { padding: 1rem; }
	.container div#intro p { padding: 0; }
	.location-set div.set-1 img { width: 100%; margin: 0 0 15px 0; }
	.location-set div.set-1 h2 { float: left; width: 100%; padding: 0; font-size: 30px; line-height: 34px; }
	.location-set div.set-1 div.content-body { float: left; width: 100%; padding: 0; }
	div.partner-writeup { flex-basis: 100%; max-width: 100%; }
	h2.twotone, .partners-set .container > h2.twotone { font-size: 30px; line-height: 1; }
	#welcome .container .cke .c2 { padding: 15px 0 0 0; }
	div.sections-set div.section-item { flex: 0 0 100%; max-width: 100%; }
	div.sections-set div.section-item div.section-copy > h2 { font-size: 2rem; }
	div.sections-set div.section-item img.section-icon { flex: 0 0 100%; max-width: 100%; }
	div.staff-set .staff-group div.staffer { float: left; width: 100%; }
	div.staff-set .staff-group div.staffer p.contact-info { padding: 10px 15px; }
	.partners-set ul li { flex-basis: 49%; max-width: 49%; }
}
@media only screen and (max-width: 520px) {
	div#intro { padding: 150px 0 0 0; }
}
