/*
	module: hero
*/

.module-hero
{

}
	.module-hero h1
	{
		/* font-size: 5.5em; */
		line-height: 1em;
		max-width: 80%;
	}
	.module-hero p
	{
		font-size: 1.3em;
		line-height: 1.3em;
		max-width: 50%;
		margin-bottom: 0;
	}

body.page-home .module-hero .content-header
{
	display: none;
}
body.page-home .module-hero h1
{
	/* font-size: 7em; */
	line-height: 1em;
	max-width: 80%;
}
body.page-home .module-hero p
{
	font-size: 1.3em;
	line-height: 1.3em;
	max-width: 50%;
	margin-bottom: 0;
}

.single-post {
	.module-hero {
		.content {
			&:not(.content-header) {
				&> * {
					width: 1024px;
					max-width: 100%;
					margin: 0 auto var(--content-gap) auto;
					&:last-child {
						margin: 0 auto;
					}
				}
				.article-image {
					img {
						max-width: 100%;
						width: 1800px;
					}
				}
			}
		}
	}
}

/*
	module: text + image
*/

.module-text
{

}
	.module-type-text.bg-color-0 .wrapper
	{
		border: 0;
	}
	.module-type-text.bg-color-0 + section:not(.bg-color-0) .wrapper,
	.module-type-text.bg-color-0 + footer .wrapper
	{
		border-top: var(--border-weight) solid var(--border-color);
	}
	.module-text h1
	{
		/* font-size: 6em; */
		line-height: 1em;
	}
	.module-text h3
	{
		text-transform: uppercase;
		font-weight: 800;
		font-family: var(--font-family-body);
		font-size: 1em;
		line-height: 1.3em;
	}
	.module-text h2:not(:first-child),
	.module-text h3:not(:first-child)
	{
		margin-top: var(--content-gap);
	}
	.module-text .content blockquote p
	{
		font-family: var(--font-family-heading);
		font-weight: 400;
		font-size: 3em;
		line-height: 1.1em;
	}

	.module-text ol li,
	.module-text ul li
	{
		line-height: 1.4em;
		margin-bottom: var(--content-gap);
		padding-left: 10px;
	}
	.module-text ol li::marker,
	.module-text ul li::marker
	{
		font-weight: bold;
	}
	.module-text ol,
	.module-text ul
	{
		padding: 0 20px;
		list-style-position: outside;
	}
	.module-text li > ul,
	.module-text li > ol
	{
		margin-top: var(--content-gap);
	}
	.module-buttons .btn,
	.module-text .btn
	{
		margin-right: 5px;
	}
	.module-text .wrapper .content > img + p.wp-caption-text,
	.module-text .wrapper .content .wp-caption > img + p.wp-caption-text {
		margin-top: 0;
    padding: calc(var(--content-gap) / 2) 0;
    border-bottom: var(--border-weight) dotted var(--border-color-dotted);
	}

.module-text-image
{

}

.module-type-text-w-image {
	.wrapper {
		display: grid;
		grid-template-columns: 1fr;
		gap: var(--content-gap);
		container: text-w-image / inline-size;
		.content {
			display: grid;
			grid-template-columns: 1fr;
			gap: var(--content-gap);
			@container text-w-image (width >= 960px) {
				gap: calc(var(--content-gap) * 2);
			}
			/* max-width: 100%; */
			&.no-padding {
				/* :is(.text, .image-wrapper) {
					padding: var(--content-padding);
				} */
				padding: var(--content-padding);
			}
			.image-wrapper {
				img {
					max-width: 100%;
					height: auto;
				}
			}
		}
		.actions {
			padding: var(--content-padding);
		}
		&.image-size-fourth {
			.content {
				@container text-w-image (width >= 960px) {
					grid-template-columns: 3fr 1fr;
				}
			}
		}
		&.image-size-third {
			.content {
				@container text-w-image (width >= 960px) {
					grid-template-columns: 2fr 1fr;
				}
			}
		}
		&.image-size-half {
			.content {
				@container text-w-image (width >= 960px) {
					grid-template-columns: 1fr 1fr;
				}
			}
		}
		&.image-location-left {
			.content {
				grid-auto-flow: dense;
  				direction: rtl;
				.text {
					direction: ltr;
				}
			}
		}
	}
}

.youtube-embed
{
	background-color: var(--color-additional-1);
	width: 100%;
	height: 0;
	padding-top: 55.88%;
}

/*
	module: metadata
*/

.module-metadata .wrapper > .content
{
	justify-content: center;
}
.metadata
{
	display: flex;
	align-items: center;
}
	.metadata .icon
	{
		margin-right: var(--content-gap);
	}
	.metadata .icon span
	{
		font-size: 2em;
	}
	.metadata .text h4
	{
		font-family: var(--font-family-body);
		font-size: 1em;
		font-weight: 800;
		line-height: 1.4em;
		text-transform: uppercase;
		margin: 0;
	}
	.metadata .text p
	{
		margin: 0;
	}

/*
	module: buttons
*/

.module-buttons
{

}
.module-buttons .content
{
	flex-direction: row;
	flex-wrap: wrap;
	padding: calc(var(--content-padding) - (var(--content-gap) / 2)) var(--content-padding);
}
.module-buttons .content > .btn-rounded
{
	margin-top: calc(var(--content-gap) / 2);
	margin-bottom: calc(var(--content-gap) / 2);
}

/*
	module: content slider
*/

.module-slider {
	position: relative;
}
.module-slider .wrapper
{
	display: block;
}
.slider-header {
	padding: var(--content-padding);
	padding-top: 0;
}
.slider-header .wrapper
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-top: var(--content-padding);
}
.slider-header h2 {
	margin-bottom: 0;
}
.slider-header .slider-arrows {
	display: flex;
}
.module-slider .slider-arrows .arrow {
	margin-left: 15px;
}
.module-slider .slider-items {
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scroll-snap-type: x mandatory;
	list-style: none;
	display: flex;
	/*
	padding-inline-start: var(--content-padding);
	padding-inline-end: var(--content-padding);
	-webkit-scroll-padding: var(--content-padding);
	-moz-scroll-padding: var(--content-padding);
	-ms-scroll-padding: var(--content-padding);
	scroll-padding: var(--content-padding);
	*/
	flex-flow: row nowrap;
	/*
	padding-bottom: var(--content-padding);
	padding-top: var(--content-padding);
	*/
}

.module-slider .slider-items.snap-disabled {
  scroll-snap-type: none;
}
.module-slider .item {
	margin: 0;
	padding: var(--content-padding);
	border-right: var(--border-weight) dotted var(--border-color-dotted);
	/*
	margin-right: calc(var(--content-gap) * 2);
  */
	display: inline-flex;
  flex-direction: column;
  scroll-snap-align: start;
}
.module-slider .item:last-child {
	border-right: 0;
}
.module-slider .item .content
{
	width: 65vw;
	max-width: 460px;
}
.module-slider .item .content .meta
{
	display: block;
	text-transform: uppercase;
	font-weight: 800;
	font-family: var(--font-family-body);
	font-size: 1em;
	margin-bottom: var(--content-gap);
}
.module-slider .item .content h3
{
	font-size: 2em;
	line-height: 1.1em;
}
.module-slider .item .content p > span
{
	background-color: var(--color-primary-light);
}
.module-slider .item .content p:last-child
{
	margin-bottom: 0;
}

.slider-items::-webkit-scrollbar,
.slider-items::-webkit-scrollbar-button,
.slider-items::-webkit-scrollbar-corner,
.slider-items::-webkit-scrollbar-track {
	display: none;
}

/*
	module: sessions
*/

.module-sessions
{
	border: 0;
}
.module-sessions .wrapper
{
	display: block;
}
.session-header
{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: var(--content-padding);
	overflow: hidden;
	flex-wrap: wrap;
}
	.session-header__title
	{
		flex-grow: 1;
	}
	.session-header__title h2
	{
		margin: 0;
	}

.session-item
{
	display: none;
	justify-content: space-between;
	padding: var(--content-padding);
	border-top: var(--border-weight) dotted var(--border-color-dotted);
	overflow: hidden;
}
	.session-item.visible
	{
		display: flex;
	}
	.session-item__date
	{
		width: 215px;
		flex-shrink: 0;
		margin-right: var(--content-gap);
	}
	.session-item__text
	{
		margin-right: var(--content-gap);
		flex-grow: 1;
	}
	.session-item__text h4
	{
		font-family: var(--font-family-body);
		font-size: 1em;
		font-weight: 800;
		line-height: 1.4em;
	}
	.session-item__text p:last-child
	{
		margin: 0;
	}
	.session-item .info
	{
		display: inline-flex;
		align-items: center;
	}
	.session-item .info > span
	{
		margin-right: 10px;
		width: 40px;
		height: 40px;
		font-size: 1.2em;
		background-color: var(--color-black);
		color: var(--color-white);
		border-radius: 20px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

.session-actions
{
	padding: var(--content-padding);
	border-top: var(--border-weight) dotted var(--border-color-dotted);
}

.dropdown
{
	display: flex;
	align-items: center;
	margin-right: var(--content-gap);
}
	.dropdown-title
	{
		margin-right: 15px;
		font-weight: 800;
	}
	.dropdown select
	{
		font-family: var(--font-family-body);
		font-size: 1.2em;
		color: var(--color-black);
		padding: 0 50px 0 20px;
		height: 50px;
		border-radius: 25px;
		border-width: var(--border-weight);
		border-style: solid;
		border-color: var(--color-black);
		-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
		background: url('../static/expand_more.svg') 96% / 36px no-repeat;
	}
	.dropdown select:hover
	{
		border-color: var(--color-primary);
		cursor: pointer;
	}

.module-sessions .checkbox
{
	display: flex;
	align-items: center;
}
	.module-sessions .checkbox .checkbox-title
	{
		margin-right: 15px;
		font-weight: 800;
	}
	.module-sessions .checkbox input[type="checkbox"]
	{
		width: 50px;
		height: 50px;
		background-color: var(--color-white);
		color: var(--color-black);
		border-radius: 25px;
		border-width: var(--border-weight);
		border-style: solid;
		border-color: var(--color-black);
		-webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
		display: grid;
		place-content: center;
		cursor: pointer;
	}
	
	input[type="checkbox"]::before {
		content: "";
		width: 1em;
		height: 1em;
		transform: scale(0);
		transition: 120ms transform ease-in-out;
		box-shadow: inset 1em 1em var(--color-black);
		transform-origin: 50% 50%;
  	clip-path: circle(40%);
	}
	
	input[type="checkbox"]:checked::before {
		transform: scale(2);
	}

/*
	module: listing
*/

.module-listing
{

}
	.module-listing .wrapper
	{
		display: block;
	}
	.listing-header
	{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--content-padding);
		overflow: hidden;
		flex-wrap: wrap;
	}
		.listing-header__title
		{
			flex-grow: 1;
		}
		.listing-header__title h2
		{
			margin: 0;
		}

	.listing-items
	{

	}
		.listing-item
		{
			padding: var(--content-padding);
			border-top: var(--border-weight) dotted var(--border-color-dotted);
		}
			.listing-item__title h3
			{
				text-transform: uppercase;
				font-weight: 800;
				font-family: var(--font-family-body);
				font-size: 1em;
				line-height: 1.3em;
				margin-bottom: 0;
			}
			.listing-item .meta
			{
				text-transform: uppercase;
				font-weight: 800;
				font-family: var(--font-family-body);
				font-size: 1em;
				line-height: 1.3em;
				margin-bottom: var(--content-gap);
			}

	.listing-actions
	{
		padding: var(--content-padding);
		border-top: var(--border-weight) dotted var(--border-color-dotted);
	}

@media screen and (max-width: 1199.9px)	{
	.blog {
		.listing-items {
			img {
				width: 1200px;
				max-width: 100%;
				height: auto;
			}
		}
	}
}
@media screen and (min-width: 1200px) {
	.blog {
		.listing-item {
			&:has(img) {
				.listing-item__text {
					display: grid;
					grid-template-areas:
						"i h h"
						"i m m"
						"i e e";
					gap: 0 var(--content-gap);
					grid-template-columns: 1fr 1fr 1fr;
					&> .article-image {
						grid-area: i;
					}
					&> h3 {
						grid-area: h;
					}
					&> .meta {
						grid-area: m;
					}
					&> p {
						&:not(.meta, .article-image) {
							grid-area: e;
						}
					}
				}
				.listing-item__actions {
					grid-template-areas: ". a a";
					display: grid;
					gap: 0 var(--content-gap);
					grid-template-columns: 1fr 1fr 1fr;
					&> a {
						grid-area: a;
					}
				}
			}
		}
	}
}

/*
	module: events
*/

.module-events
{
	margin-bottom: var(--content-gap);
}
	body > nav + section.module-events
	{
		margin-top: var(--content-gap);
	}
	body > section.module-events + footer > .wrapper
	{
		border-top: var(--border-weight) solid var(--border-color);
	}
	.module-events .wrapper
	{
		display: block;
		border-top: var(--border-weight) solid var(--border-color);
	}
	.events-header
	{
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: var(--content-padding);
		overflow: hidden;
		flex-wrap: wrap;
	}
		.events-header__title
		{
			flex-grow: 1;
		}
		.events-header__title h2
		{
			margin: 0;
		}

	.events-items
	{

	}
		.events-item
		{
			display: flex;
			justify-content: space-between;
			border-top: var(--border-weight) solid var(--border-color);
		}
		.events-item:nth-child(even)
		{
			flex-direction: row-reverse;
		}
			.events-item__meta
			{
				display: flex;
				flex-direction: column;
				border-left: var(--border-weight) dotted var(--border-color-dotted);
				flex-shrink: 0;
			}
				.events-item:nth-child(even) .events-item__meta
				{
					border-left: 0;
					border-right: var(--border-weight) dotted var(--border-color-dotted);
				}
				.events-item__meta .meta-item
				{
					display: flex;
					align-items: center;
				}
				.events-item__meta > *
				{
					padding: var(--content-padding);
					border-bottom: var(--border-weight) dotted var(--border-color-dotted);
				}
				.events-item__meta > *:last-child
				{
					border: 0;
				}
				.events-item__meta h4
				{
					text-transform: uppercase;
					font-weight: 800;
					font-family: var(--font-family-body);
					font-size: 1em;
					margin: 0;
				}
				.events-item__meta .meta-item__icon
				{
					margin-right: 15px;
				}
					.events-item__meta .meta-item__icon span
					{
						font-size: 1.8em;
					}
				.events-item__meta .meta-item__text > *:last-child
				{
					margin-bottom: 0;
				}
			.events-item__text
			{
				padding: var(--content-padding);
			}
			.events-item__title h3
			{
				text-transform: uppercase;
				font-weight: 800;
				font-family: var(--font-family-body);
				font-size: 1em;
				line-height: 1.3em;
				margin-bottom: 0;
			}
			.events-item .meta
			{
				text-transform: uppercase;
				font-weight: 800;
				font-family: var(--font-family-body);
				font-size: 1em;
				margin-bottom: var(--content-gap);
			}

	.events-actions
	{
		padding: var(--content-padding);
		border-top: var(--border-weight) solid var(--border-color);
	}

@media only screen and (max-width: 1440px)
{
	.session-header,
	.listing-header
	{
		display: block;
	}
	.dropdown,
	.checkbox
	{
		margin: 0;
		margin-top: calc(var(--content-gap)/2);
		justify-content: space-between;
	}
}
@media only screen and (max-width: 1280px)
{
	.module-hero h1
	{
		max-width: none;
	}
	.module-hero p
	{
		max-width: 75%;
	}
}

@media only screen and (max-width: 960px)
{
	.module-hero h1,
	body.page-home .module-hero h1,
	.module-text h1
	{
		font-size: 2.8em;
		line-height: 1em;
	}
	.module-text .content blockquote p
	{
		font-size: 2em;
		line-height: 1.2em;
	}
	.module-hero p,
	body.page-home .module-hero p
	{
		max-width: none;
	}
	.session-item.visible
	{
		display: block;
	}
	.session-item__date
	{
		width: 100%;
	}
	.session-item__actions .btn
	{
		margin-top: var(--content-gap);
	}
	.module-slider .slider-arrows .arrow
	{
		margin-left: 6px;
	}
	.module-events .events-item
	{
		display: block;
	}
	.module-events .events-item__meta
	{
		border-left: 0 !important;
		border-right: 0 !important;
		border-top: var(--border-weight) dotted var(--border-color-dotted);
	}
}

/* New event badges */

.module-sessions .badge
{
	padding: calc(var(--content-gap) / 1.2);
	border-radius: var(--content-gap);
	background: #e2cdfe;
	font-weight: bold;
	line-height: 1.2em;
	max-width: 260px;
}
.module-sessions .badge:not(:only-child)
{
	margin-top: var(--content-gap);
}
.module-sessions .badge.style-1
{
	background: url('../static/badge-bg-1.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-2
{
	background: url('../static/badge-bg-2.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-3
{
	background: url('../static/badge-bg-3.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-4
{
	background: url('../static/badge-bg-4.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-5
{
	background: url('../static/badge-bg-5.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-6
{
	background: url('../static/badge-bg-6.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-7
{
	background: url('../static/badge-bg-7.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-8
{
	background: url('../static/badge-bg-8.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-9
{
	background: url('../static/badge-bg-9.jpg') no-repeat 50% 50%;
	background-size: cover;
}
.module-sessions .badge.style-10
{
	background: url('../static/badge-bg-10.jpg') no-repeat 50% 50%;
	background-size: cover;
}

/* Module Row */
.module-type-row {
	.wrapper {
		&:is(.reverse-on-mobile) {
			@media (max-width: 960px) {
				display: flex;
				flex-direction: column-reverse;
				&> .content-header {
					order: 999;
				}
			}
		}
	}
}