/*
Theme Name: Puhujatori.fi
Theme URI: https://oskarioksanen.fi/
Author: Oskari Oksanen
Author URI: https://oskarioksanen.fi
Description: Clean base template built on Underscores (https://underscores.me/) and Foundation 6 (https://foundation.zurb.com/)
Version: 1.2
Text Domain: puhujatori
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Elements
# Accessibility
# Header
# Footer
# Images
# Typography
	## Lists
# Forms
	## Newsletter forms
# Navigation
	## Links
		### Button links
	## Menus
		### Main menu
		### Footer menu
		### Social
# Content
	## Posts and pages
		### Common
		### Speakers page
		### Single speaker
		### Blog page
		### Single blog post
		### Jobs page
		### Single job post
	## Content blocks
		### Common
		### Basic content (1/2/3 col)
		### Personnel list
		### Latest Posts
		### Single image
		### Image slider
		### Speakers slider
		### Partners
		### Icon list
# Media
	## Captions
# Helpers
--------------------------------------------------------------*/


/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
body, html {
    height: auto;
}
html {
    position: relative;
    min-height: 100%;
}
body {
    margin: 0;
}


/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #fff;
	border-radius: 3px;
	box-shadow: 2px 2px 5px 0px rgba(0, 0, 0, 0.2);
	clip: auto !important;
	color: #404040;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
	outline: 0;
}


/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/

#masthead {
	background-color: #fff;
	width: 100%;
	z-index: 9999;
}
#nav-container {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	margin: 0 auto;
	max-width: 100%;
	padding-left: .9375rem;
	padding-right: .9375rem;
	justify-content: space-between;
}
#header-logo {
	border-bottom: 0;
	float: left;
	max-width: 42px;
	padding: 0.5625rem 0;
}
.menu-divider-item img {
	height: auto;
	width: 3rem;
}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/

footer#colophon {
	background-color: #29235c;
	color: #fff;
    padding: 3rem 0 1rem;
    width: 100%;
}
footer#colophon .logo {
	margin-top: -1rem;
	width: 14rem;
}
footer#colophon > .row {
	width: 90%;
}
footer#colophon .columns {
	margin-bottom: 2rem;
}
footer#colophon .row .row .columns {
	margin-bottom: 0;
}
footer .footer-contact {
	margin-top: 2rem;
}
footer .footer-contact p {
	font-size: 0.875rem;
}
footer .row.copyright {
	margin-top: 1rem;
}
footer .copyright {
	color: #5e5ea5;
	font-size: 0.875rem;
}
footer p.copyright span {
	display: inline-block;
	padding: 0 1rem;
}
footer h6 {
	margin-top: 0.5rem;
}

@media screen, print and ( min-width: 40em ){
	footer#colophon > .row {
		width: 100%;
	}
}


/*--------------------------------------------------------------
# Images
--------------------------------------------------------------*/
img[data-lazyloaded]{
	opacity: 0;
}

img.loaded{
	-webkit-transition: opacity .35s ease-in-out 0.2s;
	-moz-transition: opacity .35s ease-in-out 0.2s;
	transition: opacity .35s ease-in-out 0.2s;
	opacity: 1;
}


/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
body,
button,
input,
select,
textarea {
	color: #29235c;
	font-family: 'Roboto', sans-serif;
	font-size: 20px;
	font-size: 1.25rem;
	font-weight: 300;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
}

h1 {
	font-size: 2.5rem;
}

h2 {
	font-size: 2rem;
}

h3 {
	font-size: 1.75rem;
}

h4 {
	font-size: 1.25rem;
}

h5 {
	font-size: 1.0625rem;
}

h6 {
	font-size: 1rem;
}

@media print, screen and (min-width: 40em) {
	h1 {
		font-size: 3rem;
	}

	h2 {
		font-size: 2.5rem;
	}

	h3 {
		font-size: 1.9375rem;
	}

	h4 {
		font-size: 1.5625rem;
	}

	h5 {
		font-size: 1.25rem;
	}

	h6 {
		font-size: 1rem;
	}
}

h1.entry-title {
	margin-bottom: 2rem;
}

p {
	font-size: 1.25rem;
	line-height: 1.5;
	margin-bottom: 1.25em;
}

strong,
b {
	font-weight: 500;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", Courier, monospace;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
	font-size: 15px;
	font-size: 0.9375rem;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

::-moz-selection {
	background-color: #e5007e;
	color: #fff;
}
::selection {
	background-color: #e5007e;
	color: #fff;
}

@media screen, print and ( min-width: 40em ){
	.block.image h1.page-title {
		font-size: 3rem;
	}
}

@media screen, print and ( min-width: 64em ){
}

@media
only screen and (-webkit-min-device-pixel-ratio: 2)      and (min-width: 320px),
only screen and (   min--moz-device-pixel-ratio: 2)      and (min-width: 320px),
only screen and (     -o-min-device-pixel-ratio: 2/1)    and (min-width: 320px),
only screen and (        min-device-pixel-ratio: 2)      and (min-width: 320px),
only screen and (                min-resolution: 192dpi) and (min-width: 320px),
only screen and (                min-resolution: 2dppx)  and (min-width: 320px) {
	.block.image h1.page-title {
		font-size: 1.875rem;
		margin-bottom: 1.15rem;
	}
}

/*--------------------------------------------------------------
## Lists
--------------------------------------------------------------*/

dl, ol, ul {
	list-style-position: outside;
	line-height: 1.5;
}




/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/


/* Default buttons */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
    background-color: #29235c;
    border: 0;
    border-radius: 8px;
    color: #fff;
	font-family: sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.05rem;
    padding: 1em 3em;
	transition: all 0.3s ease-in-out;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
    background-color: #1e1b4c;
    color: #fff;
}

button:focus,
input[type="button"]:focus,
input[type="reset"]:focus,
input[type="submit"]:focus,
button:active,
input[type="button"]:active,
input[type="reset"]:active,
input[type="submit"]:active {
    background-color: #1e1b4c;
    color: #fff;
}

/* Solid pink buttons */
button.pink,
input[type="button"].pink,
input[type="reset"].pink,
input[type="submit"].pink {
    background-color: #e5007e;
}

button.pink:hover,
input[type="button"].pink:hover,
input[type="reset"].pink:hover,
input[type="submit"].pink:hover {
    background-color: #c90078;
}

button.pink:focus,
input[type="button"].pink:focus,
input[type="reset"].pink:focus,
input[type="submit"].pink:focus,
button.pink:active,
input[type="button"].pink:active,
input[type="reset"].pink:active,
input[type="submit"].pink:active {
    background-color: #c90078;
}

/* Pink ghost buttons (speakers) */
button.ghost.pink,
input[type="button"].ghost.pink,
input[type="reset"].ghost.pink,
input[type="submit"].ghost.pink {
    background-color: transparent;
    border: 2px solid #e5007e;
    border-radius: 3px;
    color: #fff;
	font-size: 0.875rem;
	font-weight: 600;
	letter-spacing: 0.05rem;
    padding: 0.625em 2.375em;
}

button.ghost.pink:hover,
input[type="button"].ghost.pink:hover,
input[type="reset"].ghost.pink:hover,
input[type="submit"].ghost.pink:hover {
    background-color: #c90078;
    border: 2px solid #c90078;
    color: #fff;
}

button.ghost.pink:focus,
input[type="button"].ghost.pink:focus,
input[type="reset"].ghost.pink:focus,
input[type="submit"].ghost.pink:focus,
button.ghost.pink:active,
input[type="button"].ghost.pink:active,
input[type="reset"].ghost.pink:active,
input[type="submit"].ghost.pink:active {
    background-color: #c90078;
    border: 2px solid #c90078;
    color: #fff;
}

button.small,
input[type="button"].small,
input[type="reset"].small,
input[type="submit"].small,
a.button.small,
a.button.small:visited {
	font-size: 0.75rem;
	letter-spacing: 0.025rem;
    padding: 0.375em 1.125em;
    text-transform: uppercase;
}

button.fancybox-close-small:hover {
	background-color: transparent;
}

label {
	display: block;
	margin: 0;
	font-size: .875rem;
	font-weight: 500;
	line-height: 1.8;
	color: #444;
	float: left;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	box-shadow: 0 0 4px rgba(0, 0, 0, 0);
	color: #444;
	border: 1px solid #ddd;
	border-radius: 8px;
	font-size: 1.25rem;
	font-weight: 300;
	padding: 0.625rem 1rem;
}

select {
	background-position: right 0 center;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0);
	border: 1px solid #ddd;
	border-radius: 8px;
	color: #444;
	font-size: 1.25rem;
	font-weight: 300;
	height: auto;
	padding: 0.625rem 1rem;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus,
select:focus {
	border: 1px solid #bbb;
	box-shadow: 0 0 4px rgba(0, 0, 0, 0.12);
	color: #333;
}

textarea {
	width: 100%;
}

footer .mc4wp-form .mc4wp-form-fields {
	position: relative;
}
footer .mc4wp-form input[type="text"],
footer .mc4wp-form input[type="email"] {
	font-size: 1rem;
	padding: 0.325rem 0.6rem;
}
footer .mc4wp-form input[type="submit"] {
	background-color: transparent;
	bottom: 0;
	color: #29235c;
	font-size: 2rem;
	line-height: 1;
	padding: 0.25rem 1rem;
	position: absolute;
	right: 0;
	z-index: 999;
}
.post-password-form input[type="submit"] {
	float: left;
	clear: both;
}


/*--------------------------------------------------------------
## Newsletter forms
--------------------------------------------------------------*/

.newsletter-form.low {
	text-align: center;
}
.newsletter-form.low input[type="text"],
.newsletter-form.low input[type="email"] {
	display: inline;
	width: auto;
}
.newsletter-form.low input[type="submit"] {
	display: block;
	margin: 0 auto;
}
.mc4wp-response {
	margin-top: 1rem;
	text-align: center;
}
footer .mc4wp-response {
	text-align: left;
}
footer .mc4wp-response p {
	font-size: 0.875rem;
}


/*--------------------------------------------------------------
## Gravity Forms
--------------------------------------------------------------*/

.gform_body ul,
.gform_body li {
	list-style-type: none;
	margin: 0;
}
ul.gform_fields > li.gfield {
	/*border-bottom: 1px solid #eee;*/
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
}
label.gfield_label {
	width: 100%;
}
.gfield_radio label {
	float: none;
}
.gfield_description {
	font-size: .875rem;
}
span.gfield_required {
	color: #e5007e;
	margin-left: 0.5rem;
}
.gform_validation_container {
	display: none;
}



/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/
a {
	border-bottom: 1px solid transparent;
	color: #e5007e;
	transition: all 0.3s ease-in-out;
}

a:visited {
	color: #e5007e;
}

a:hover,
a:focus,
a:active {
	border-bottom: 1px solid #29235c;
	color: #29235c;
}

a.no-border {
	border-bottom: 0 !important;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

.post-list .blog-item a {
	color: #fff;
	display: block;
}
.post-list .blog-item a:hover,
.post-list .blog-item a:focus,
.post-list .blog-item a:active {
	color: #e5007e;
}

.block-bg a:hover,
.purple a:hover,
.block-bg a:focus,
.purple a:focus,
.block-bg a:active,
.purple a:active {
	border-bottom: 1px solid #e5007e;
	color: #e5007e;
}

header#masthead a:hover {
	border-bottom: 0;
}

footer .copyright a {
	color: #5e5ea5;
}
footer .copyright a:hover,
footer .copyright a:focus,
footer .copyright a:active {
	color: #fff;
}
footer .footer-contact a {
	border-bottom: 0;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 300;
	padding: 0;
}
footer .footer-contact a:hover,
footer .footer-contact a:active,
footer .footer-contact a:focus {
	border-bottom: 0;
	color: #e5007e;
	text-decoration: none;
}

/*--------------------------------------------------------------
### Button links
--------------------------------------------------------------*/

/* Default purple buttons */
a.button,
a.button:visited {
    background-color: #29235c;
    border: 2px solid #29235c;
    border-radius: 8px;
    color: #fff;
    display: inline-block;
	font-family: sans-serif;
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: 0.05rem;
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
    padding: 1em 3em;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
}
a.button:hover,
a.button:focus,
a.button:active {
    background-color: #1e1b4c;
    border: 2px solid #1e1b4c;
    color: #fff;
}

/* Solid pink buttons */
a.button.pink,
a.button.pink:visited {
    background-color: #e5007e;
    border: 2px solid #e5007e;
}
a.button.pink:hover,
a.button.pink:focus,
a.button.pink:active {
    background-color: #c90078;
    border: 2px solid #c90078;
}

/* Pink ghost buttons (speakers) */
a.button.ghost.pink,
a.button.ghost.pink:visited {
    background-color: transparent;
    border: 2px solid #e5007e;
    font-size: 1rem;
    padding: 0.875em 2.375em;
    margin-right: 1rem;
}
a.button.ghost.pink:last-child {
    margin-right: 0;
}
a.button.pink.ghost:hover,
a.button.pink.ghost:focus,
a.button.pink.ghost:active {
    background-color: #c90078;
    border: 2px solid #c90078;
    color: #fff;
}


/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/

/*--------------------------------------------------------------
### Main menu
--------------------------------------------------------------*/

#site-navigation {
	background: rgba(255, 255, 255, 0.95);
	color: #e5dcd3;
	height: auto;
	left: 0;
	opacity: 0;
	padding: 1rem;
	position: absolute;
	top: 60px;
	transition: opacity 0.5s, visibility 0s 0.5s;
	visibility: hidden;
	width: 100%;
	z-index: 990;
}

#site-navigation.open {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.5s;
}

ul#primary-menu {
	margin: 0;
}
ul#primary-menu > li {
	display: inline-block;
	margin: 0;
	position: relative;
	text-align: center;
	width: 100%;
}
ul#primary-menu > li a {
	border-bottom: 0;
	color: #29235c;
	display: block;
	font-size: 1.125rem;
	font-weight: 500;
	margin: 0 1rem;
	padding: 0.5rem 0.25rem;
	position: relative;
}
ul#primary-menu > li:not(.menu-divider-item):not(.cart-link) a::before {
	content: '#';
	display: inline;
}

/* Small menu. */
span.menu-toggle {
	background: transparent url(img/icon-menu_v-1.svg) center no-repeat;
	display: block;
	height: 3rem;
	margin: 0.35rem 0;
	width: 3rem;
}
span.menu-toggle.open {
	background: transparent url(img/icon-menu-close.svg) center no-repeat;
}


/*--------------------------------------------------------------
### Footer menu
--------------------------------------------------------------*/

ul.footer-menu {
	margin: 0;
}
ul.footer-menu li {
	clear: both;
	display: inline-block;
	float: left;
	margin: 0;
	text-align: left;
}
ul.footer-menu li a {
	border-bottom: 0;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 300;
	padding: 0;
}
ul.footer-menu li a:hover,
ul.footer-menu li a:active,
ul.footer-menu li a:focus {
	border-bottom: 0;
	color: #e5007e;
	text-decoration: none;
}
ul.footer-menu > li:not(.menu-divider-item) a::before {
	content: '#';
	display: inline;
}
ul.footer-menu > li.cart-link {
	display: none;
}


/*--------------------------------------------------------------
### Social
--------------------------------------------------------------*/

ul.social-navigation {
	display: inline-block;
	margin: 0;
}
ul.social-navigation.social-links-shortcode {
	display: block;
	margin-bottom: 2rem;
	text-align: center;
}
ul.social-navigation li {
	display: inline-block;
}
ul.social-navigation.social-links-shortcode li {
	display: inline;
}
ul.social-navigation.social-links-shortcode li img {
	width: 3rem;
}
ul.social-navigation li a {
	border-bottom: 0;
	display: inline-block;
	padding: 0.15rem;
}
ul.social-navigation li a:hover {
	border-bottom: 0;
}
ul#header-social-navigation {
	display: none;
	float: right;
	padding: 0.575rem 0.15rem;
}
ul#header-social-navigation img {
	max-width: 32px;
}
ul#mobile-menu-social-navigation {
	display: block;
	margin: 1rem 0;
	text-align: center;
	width: 100%;
}

/* Breakpoint for full menu */
@media screen and (min-width: 62.5em) {
	span.menu-toggle {
		display: none;
	}
	#site-navigation {
		display: block;
		height: auto;
		left: unset;
		opacity: 1;
		padding: 0;
		position: relative;
		top: 0;
		transition: unset;
		visibility: visible;
		width: auto;
	}
	ul#primary-menu > li {
		width: auto;
	}
	ul#primary-menu > li::before {
		background-color: #29235c;
		content: "";
		display: inline-block;
		height: 0;
		left: 12.5%;
		opacity: 0;
		position: absolute;
		top: 0;
		transition: all 0.2s ease-in-out;
		width: 75%;
	}
	ul#primary-menu:hover > li.current-menu-item::before {
		height: 0;
		opacity: 0;
	}
	ul#primary-menu > li.current-menu-item::before,
	ul#primary-menu:hover > li.current-menu-item:hover::before,
	ul#primary-menu > li:hover::before {
		height: 5px;
		opacity: 1;
	}
	ul#primary-menu > li a {
		font-size: 1rem;
		margin: 0 0.75rem;
		padding: 1rem 0;
	}
	ul#header-social-navigation {
		display: block;
	}
	ul#mobile-menu-social-navigation {
		display: none;
	}
	ul.social-navigation {
		text-align: left;
		width: auto;
	}
	ul.footer-menu li {
		margin: 0 1rem;
	}
}

@media screen and (min-width: 64em) {
	
}

@media screen and (min-width: 70em) {
	ul#primary-menu > li a {
		margin: 0 1.25rem;
	}
	
}



/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/
/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/

/*--------------------------------------------------------------
### Common
--------------------------------------------------------------*/

#content {
	min-height: calc( 100vh - 385px );
}

.block.image .featured-image {
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
}
.block.image .featured-image .row {
	height: 275px;
}

.featured-image .content {
	color: #fff;
}

#content img {
	-webkit-border-radius: 12px;
	-moz-border-radius: 12px;
	border-radius: 12px;
}
#content img.no-rounding {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}

@media screen and (min-width: 40em) {
	.block.image .featured-image .row {
		height: 360px;
	}
}
@media screen and (min-width: 64em) {
	.block.image .featured-image .row {
		height: 460px;
	}
	.block.image .featured-image h1.page-title {
		line-height: 1.2;
		margin-bottom: 4rem;
	}
}

/*--------------------------------------------------------------
### Speakers page
--------------------------------------------------------------*/

.row.speakers-filter {
	margin-bottom: 2rem;
	margin-top: 2rem;
	position: relative;
}
.row.speakers {
	margin-bottom: 6rem;
	margin-top: 2rem;
	position: relative;
}

.speaker {
	margin-bottom: 0.9375rem;
	margin-top: 0.9375rem;
	width: 100%;
}
.speakers .speaker a {
	border-bottom: 0;
	display: block;
}
.responsible-speaker-badge {
	position: absolute;
	right: 0.5rem;
	top: -1rem;
	background-color: #fff;
	height: 5.5rem;
	width: 5.5rem;
	z-index: 999;
	border-radius: 50%;
	border: 2px solid #e5007e;
	background-size: 85%;
	background-position: center;
	background-repeat: no-repeat;
}
.speakers .speaker .featured-image {
	align-items: flex-end;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	color: #fff;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	height: 300px;
	justify-content: center;
	overflow: hidden;
	position: relative;
	width: 100%;
	min-width: 100%;
}

.speakers .speaker .featured-image::after {
	background: -moz-linear-gradient(10deg, rgba(31,29,73,1) 0%, rgba(31,29,73,0.65) 30%, rgba(31,29,73,0) 62%, rgba(31,29,73,0) 100%);
	background: -webkit-linear-gradient(10deg, rgba(31,29,73,1) 0%,rgba(31,29,73,0.65) 30%,rgba(31,29,73,0) 62%,rgba(31,29,73,0) 100%);
	background: linear-gradient(10deg, rgba(31,29,73,1) 0%,rgba(31,29,73,0.65) 30%,rgba(31,29,73,0) 62%,rgba(31,29,73,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc1f1d49', endColorstr='#001f1d49',GradientType=1 );
	content: "";
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}
.speakers .speaker .speaker-info {
	padding: 2rem;
	position: relative;
	text-align: center;
	z-index: 100;
}
.speaker-info .speaker-short-description {
	display: block;
	font-size: 0.875rem;
	height: 0;
	line-height: 1.3;
	width: 100%;
	overflow: hidden;
	transition: 0.3s all ease-in-out;
}
.speaker-info h3.speaker-name {
	font-size: 1.125rem;
	line-height: 1.1;
}
@media screen, print and (min-width: 40em) {
	.speakers .speaker {
		min-width: 33.33333%;
	}
	.speakers .speaker .featured-image {
		height: 340px;
	}
	.speaker:hover .speaker-info .speaker-short-description {
		height: 3.2rem;
	}
}
@media screen, print and (min-width: 64em) {
	.speakers .speaker {
		min-width: 25%;
	}
	.responsible-speaker-badge {
		right: 0rem;
	}
	.speakers .speaker .featured-image {
		height: 380px;
	}
	.speaker-info h3.speaker-name {
		font-size: 1.875rem;
	}
}


/*--------------------------------------------------------------
### Single speaker
--------------------------------------------------------------*/

.single-speaker.speaker {
	margin-bottom: 6rem;
	margin-top: 4rem;
}
.single-speaker.speaker .featured-image {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	color: #fff;
	float: left;
	height: 0;
	margin-top: 0.6rem;
	overflow: hidden;
	padding-bottom: 70%;
	position: relative;
	width: auto;
}
.single-speaker.speaker .featured-image img {
	margin-top: -10%;
}
h1.speaker-title {
	margin-top: 0;
}
.single-speaker .speaker-description {
	transition: all .75s ease-in-out;
	position: relative;
	max-height: 100%;
}
.single-speaker .speaker-description.collapsed {
	max-height: 1320px;
	overflow: hidden;
	transition: all .75s ease-in-out;
}
.single-speaker .speaker-description.collapsed::after {
	content: "";
	display: block;
	width: 100%;
	background: -moz-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 90%);
	background: -webkit-linear-gradient(top,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 90%);
	background: linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,1) 90%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff',endColorstr='#ffffff',GradientType=0);
	position: absolute;
	bottom: 0;
	left: 0;
	height: 12rem;
}
.single-speaker .short-description {
	color: #817d9f;
	display: block;
	font-size: 1.25rem;
	font-weight: 500;
	margin-bottom: 1.5rem;
}
.single-speaker.speaker h2 {
	font-size: 1.875rem;
}
.single-speaker .speaker-info {
	margin-top: 3rem;
	float: left;
	width: 100%;
}
.single-speaker.speaker .speaker-info h6 {
	font-size: 0.875rem;
	font-weight: 400;
	text-transform: uppercase;
}
ul.speaker-links {
	margin: 0;
}
ul.speaker-links li {
	display: block;
}
.speaker-info.social img {
	width: 2.375rem;
}
.speaker-info.charity img.charity-logo {
	margin: 2rem 0;
	width: 240px;
}


/*--------------------------------------------------------------
### Blog page
--------------------------------------------------------------*/

.blog .blog-item {
	margin-bottom: 3rem;
}
.blog .blog-item a {
	border-bottom: 0;
	color: #29235c;
	display: block;
}
.blog .blog-item a .post-date {
	border-bottom: 0;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	margin-top: 0.75rem;
}
.blog .blog-item a:hover .post-date {
	border-bottom: 0;
}
.blog .blog-item a .read-more {
	/*border-bottom: 1px solid rgba(229, 0, 126, 0);*/
	border-bottom: 1px solid transparent;
	color: #e5007e;
	font-size: 1.125rem;
	transition: all 0.3s ease-in-out;
}
.blog .blog-item a:hover .read-more {
	/*border-bottom: 1px solid rgba(41, 35, 92, 1);*/
	border-bottom: 1px solid transparent;
	color: #29235c;
}
.blog .blog-item a .featured-image {
	background-image: url('img/blog-image-generic.jpg');
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	height: 0;
	margin-top: 0.6rem;
	overflow: hidden;
	padding-bottom: 70%;
	position: relative;
	width: auto;
}


@media print, screen and (min-width: 40em) {
	.blog-item h2 {
		font-size: 1.5rem;
	}
	.blog-item.first h2 {
		font-size: 2.75rem;
	}
}



/*--------------------------------------------------------------
### Single blog post
--------------------------------------------------------------*/

.single-post .post {
	margin-top: 2rem;
}
.single-post .post .featured-image {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	height: 0;
	margin-bottom: 2rem;
	margin-top: 2rem;
	overflow: hidden;
	padding-bottom: 52.5%;
	position: relative;
	width: auto;
}
.single-post .post-date {
	border-bottom: 0;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
}
.single-post .author-info {
	margin: 2rem 0 3rem;
}
.single-post .share-links {
	margin: 2rem 0 4rem;
}
.single-post .author-info,
.single-post .author-info p {
	font-size: 0.875rem;
}
.single-post .author-info h5 {
	margin-bottom: 0;
}
.single-post .author-title {
	display: inline-block;
	margin-bottom: 1rem;
}
.single-post .share-links a img {
}
.single-post .share-links a,
.single-post .share-links a:hover {
	border: 0;
}


/*--------------------------------------------------------------
### Jobs page
--------------------------------------------------------------*/

.jobs .job {
	margin-bottom: 3rem;
}
.jobs .job a {
	border-bottom: 0;
	color: #29235c;
	display: block;
}
.jobs .job a .post-date {
	border-bottom: 0;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	margin-top: 0.75rem;
}
.jobs .job a:hover .post-date {
	border-bottom: 0;
}
.jobs .job a .read-more {
	/*border-bottom: 1px solid rgba(229, 0, 126, 0);*/
	border-bottom: 1px solid transparent;
	color: #e5007e;
	font-size: 1.125rem;
	transition: all 0.3s ease-in-out;
}
.jobs .job a:hover .read-more {
	/*border-bottom: 1px solid rgba(41, 35, 92, 1);*/
	border-bottom: 1px solid transparent;
	color: #29235c;
}



/*--------------------------------------------------------------
### Single job post
--------------------------------------------------------------*/

.single-job .job {
	margin-top: 2rem;
}
.single-job .job .featured-image {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	height: 0;
	margin-bottom: 2rem;
	margin-top: 2rem;
	overflow: hidden;
	padding-bottom: 42.5%;
	position: relative;
	width: auto;
}
.single-job .post-date {
	border-bottom: 0;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
}
.single-job .share-links {
	margin: 2rem 0 4rem;
}
.single-job .share-links a img {
}
.single-job .share-links a,
.single-job .share-links a:hover {
	border: 0;
}




/*--------------------------------------------------------------
## Content blocks
--------------------------------------------------------------*/

/*--------------------------------------------------------------
### Common
--------------------------------------------------------------*/

.block {
	padding-bottom: 2rem;
	padding-top: 3rem;
}
.block.block-bg {
	background-size: cover;
	color: #fff;
}
.block.beige {
	background-color: #f7eeee;
}
.block.purple {
	background-color: #29235c;
	color: #fff;
}
.block.top-padding {
	padding-bottom: 0;
}
.block.bottom-padding {
	padding-top: 0;
}
#content .block .content img {
	border-radius: 0;
}
@media screen and (min-width: 40em) {
	.block {
		padding-bottom: 3rem;
		padding-top: 4rem;
	}
}
@media screen and (min-width: 64em) {
	.block {
		padding-bottom: 4rem;
		padding-top: 5rem;
	}
}


/*--------------------------------------------------------------
### Basic content (1/2/3 col)
--------------------------------------------------------------*/

.basic-2-col > .row > .columns {
	margin-bottom: 3rem;
}
@media screen and (min-width: 40em) {
}
@media screen and (min-width: 64em) {
	.row.cols-50-50 .large-6 {
		-ms-flex: 0 0 48%;
		flex: 0 0 48%;
		max-width: 48%;
	}
	.basic-2-col > .row > .columns {
		margin-bottom: 0;
	}
}


/*--------------------------------------------------------------
### Personnel list
--------------------------------------------------------------*/

.block.personnel-list .content-before {
	margin-bottom: 2rem;
}
.block.personnel-list .person {
	margin-bottom: 2rem;
}
.block.personnel-list .person .photo {
	align-items: flex-end;
	background-image: url('img/person-placeholder.png');
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	color: #fff;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	height: 300px;
	justify-content: center;
	overflow: hidden;
	position: relative;
}
.block.personnel-list .person .photo::after {
	background: -moz-linear-gradient(10deg, rgba(31,29,73,1) 0%, rgba(31,29,73,0.65) 30%, rgba(31,29,73,0) 62%, rgba(31,29,73,0) 100%);
	background: -webkit-linear-gradient(10deg, rgba(31,29,73,1) 0%,rgba(31,29,73,0.65) 30%,rgba(31,29,73,0) 62%,rgba(31,29,73,0) 100%);
	background: linear-gradient(10deg, rgba(31,29,73,1) 0%,rgba(31,29,73,0.65) 30%,rgba(31,29,73,0) 62%,rgba(31,29,73,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc1f1d49', endColorstr='#001f1d49',GradientType=1 );
	content: "";
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}
.block.personnel-list .person .person-info {
	padding: 2rem;
	position: relative;
	text-align: center;
	z-index: 100;
}
.block.personnel-list .person h3.person-name {
	font-size: 1.5rem;
	line-height: 1;
}
.block.personnel-list .person .person-title {
	display: block;
	font-size: 0.875rem;
	line-height: 1.3;
	width: 100%;
}
.block.personnel-list .person .person-contacts {
	display: block;
	font-size: 0.875rem;
	line-height: 1.3;
	width: 100%;
}
.block.personnel-list .person .person-contacts a {
	color: #fff;
	display: inline-block;
	margin-top: 0.5rem;
}
.block.personnel-list .person .person-contacts a:hover,
.block.personnel-list .person .person-contacts a:active,
.block.personnel-list .person .person-contacts a:focus {
	border-bottom-color: #e5007e;
	color: #e5007e;
}
.block.personnel-list .person .person-contacts a.linkedin {
	margin-top: 1rem;
}

@media screen, print and (min-width: 40em) {
	.block.personnel-list .person .photo {
		height: 340px;
	}
}
@media screen, print and (min-width: 64em) {
	.block.personnel-list .person .photo {
		height: 380px;
	}
}



/*--------------------------------------------------------------
### Latest Posts
--------------------------------------------------------------*/

.block.post-list {
	background-color: #29235c;
	color: #fff;
}
.block.post-list .blog-item {
	margin-bottom: 2rem;
}
.block.post-list .blog-item .featured-image {
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	color: #fff;
	height: 0;
	margin-bottom: 1rem;
	overflow: hidden;
	padding-bottom: 70%;
	position: relative;
}
.block.post-list .post-list-title {
	margin-bottom: 2rem;
}
.block.post-list .blog-item h3 {
	font-size: 1.5rem;
}
.block.post-list .blog-item span.read-more {
	color: #c7c7c7;
	font-size: 1.125rem;
	transition: color 0.3s ease-in-out;
}
.block.post-list .blog-item a:hover span.read-more {
	/*color: #fff;*/
}
@media screen and (min-width: 40em) {
	.block.post-list {
		padding-bottom: 3rem;
		padding-top: 3rem;
	}
}
@media screen and (min-width: 64em) {
	.block.post-list {
	}
	.block.post-list .blog-item {
		margin-bottom: 0;
	}
}


/*--------------------------------------------------------------
### Single image
--------------------------------------------------------------*/
.block.image {
	padding-bottom: 0;
	padding-top: 0;
	position: relative;
	width: 100%;
}
.block.image .single-image {
	background-position: 50%;
	background-repeat: no-repeat;
	background-size: cover;
	height: auto;
	min-height: 300px;
}
.block.image .row {
	height: 100%;
	min-height: 100%;
}

.single-image .content {
	color: #fff;
	padding-bottom: 2rem;
	padding-top: 3rem;
}

@media screen and (min-width: 40em) {
	.block.image .single-image {
		min-height: 400px;
	}
}
@media screen and (min-width: 64em) {
	.block.image .single-image {
		min-height: 520px;
	}
}


/*--------------------------------------------------------------
### Image slider
--------------------------------------------------------------*/

.block.image-slider {
	margin-bottom: 0;
	padding-bottom: 0;
	padding-top: 0;
	position: relative;
}
.block.image-slider .slide {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: auto;
	min-height: 300px;
	padding-bottom: 2rem;
	padding-top: 3rem;
}
.slide .row {
	height: 100%;
	min-height: 100%;
}
.block.image-slider .slide .content {
	color: #fff;
}

@media screen and (min-width: 40em) {
	.block.image-slider .slide {
		min-height: 400px;
	}
}
@media screen and (min-width: 64em) {
	.block.image-slider .slide {
		min-height: 520px;
	}
}


/*--------------------------------------------------------------
### Speakers slider
--------------------------------------------------------------*/

.block.speakers-slider {
	padding-bottom: 2rem;
	padding-top: 3rem;
	position: relative;
}
.block.speakers-slider .speaker .featured-image {
	align-items: flex-end;
	background-position: top center;
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 8px;
	color: #fff;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: row wrap;
	flex-flow: row wrap;
	height: 300px;
	justify-content: center;
	overflow: hidden;
	position: relative;
}
.block.speakers-slider .speaker .featured-image::after {
	background: -moz-linear-gradient(10deg, rgba(31,29,73,1) 0%, rgba(31,29,73,0.65) 30%, rgba(31,29,73,0) 62%, rgba(31,29,73,0) 100%);
	background: -webkit-linear-gradient(10deg, rgba(31,29,73,1) 0%,rgba(31,29,73,0.65) 30%,rgba(31,29,73,0) 62%,rgba(31,29,73,0) 100%);
	background: linear-gradient(10deg, rgba(31,29,73,1) 0%,rgba(31,29,73,0.65) 30%,rgba(31,29,73,0) 62%,rgba(31,29,73,0) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cc1f1d49', endColorstr='#001f1d49',GradientType=1 );
	content: "";
	position: absolute;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}
.block.speakers-slider .speaker .speaker-info {
	padding: 2rem;
	position: relative;
	text-align: center;
	z-index: 100;
}
.block.speakers-slider .speaker-terms {
	display: inline-block;
	display: -webkit-box;
	-webkit-line-clamp: 6;
	-webkit-box-orient: vertical;
	font-size: .875rem;
	font-weight: 500;
	margin-top: .5rem;
	overflow: hidden;
	position: relative;
}
@media screen, print and (min-width: 40em) {
	.block.speakers-slider .speaker .featured-image {
		height: 340px;
	}
}
@media screen, print and (min-width: 64em) {
	.block.speakers-slider .speaker .featured-image {
		height: 380px;
	}
}


/*--------------------------------------------------------------
### Image slider
--------------------------------------------------------------*/

.partner .slider-container {
	position: relative;
}
.partner .image-slider {
	margin-bottom: 0;
	padding-bottom: 0;
	padding-top: 0;
	position: relative;
}
.partner .image-slider .slide {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	height: auto;
	min-height: 300px;
	padding-bottom: 2rem;
	padding-top: 3rem;
}
.partner .slick-arrow img {
	max-width: 24px;
}
@media screen and (min-width: 40em) {
	.partner .image-slider .slide {
		min-height: 340px;
	}
}
@media screen and (min-width: 64em) {
	.partner .image-slider .slide {
		min-height: 380px;
	}
}


/*--------------------------------------------------------------
### Icon list
--------------------------------------------------------------*/

.icons {
	background-size: cover;
	background-repeat: no-repeat;
}
.icons .content-before {
	margin-bottom: 2rem;
}
.icons .icon {
	text-align: center;
	margin: .5rem auto 1.5rem;
}
.icons .icon img {
	margin-bottom: 1.5rem;
	max-height: 7rem;
}
.icons .icon h4 {
	display: inline-block;
	font-size: 1.875rem;
	line-height: 1.2;
	margin-bottom: 1.5rem;
	width: 100%;
}
@media screen and (min-width: 40em) {
	.icons .icon {
		margin: 1.25rem auto 2rem;
	}
	.icons .icon img {
		margin-bottom: 1rem;
		max-height: 10rem;
	}
	.icons .icon h4 {
		height: 2.7rem;
		margin-bottom: 3rem;
	}
}
@media screen and (min-width: 64em) {
	.icons .icon {
		margin: 2rem auto 3rem;
	}
	.icons .icon img {
		margin-bottom: 2rem;
	}
}


/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}
.embed-container {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	max-width: 100%;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	color: #aaa;
	font-size: 0.875rem;
	margin: 0.35rem 0.9375rem 0.8075em;
}

.wp-caption-text {
	text-align: center;
}



/*--------------------------------------------------------------
# Helpers
--------------------------------------------------------------*/