/*
 ************************************************************
 *
 * ELEMENT
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - ANIMATIONS
 */

.animate__animated
{
	-webkit-animation-fill-mode: both;
	        animation-fill-mode: both;
	-webkit-animation-duration: 1s;
	        animation-duration: 1s;
}

@-webkit-keyframes fadeIn
{
	0%
	{
		opacity: 0.1;
	}
	to
	{
		opacity: 1;
	}
}

@keyframes fadeIn
{
	0%
	{
		opacity: 0.1;
	}
	to
	{
		opacity: 1;
	}
}

.animate__fadeIn
{
	-webkit-animation-name: fadeIn;
	        animation-name: fadeIn;
}

/*
 * - IFRAME
 */

.iframe
{
	position: relative;
	overflow: hidden;
	width: 100%;
	padding-bottom: 56.25%;
}

.iframe iframe
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/*
 * - EMBED
 */

.embed::before
{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	background-image: url(../icon/misc/play.svg);
	background-repeat: no-repeat;
	background-position: center;
}

/*
 * - SPINNER
 */

.loading-spinner
{
	width: 24px;
	height: 24px;
	margin: 0;
	border: 2px solid rgba(0, 0, 0, 0.1);
	border-top-color: var(--color-cvi-2);
	border-radius: 50%;
	animation: spin 1s linear infinite;
}

@keyframes spin
{
	from
	{
		transform: rotate(0deg);
	}
	to
	{
		transform: rotate(360deg);
	}
}

/*
 * - SCROLL-TOP
 */

#back-to-top
{
	display: none;
	justify-content: center;
	align-items: center;
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background-color: var(--color-cvi-2);
	color: var(--color-white);
}

#back-to-top:hover
{
	background-color: var(--color-cvi-2);
}

@media only screen and (max-width: 479px)
{
	.responsive #back-to-top
	{
		right: 16px;
		bottom: 16px;
	}
}

/*
 * - LOGO
 */

.logo,
.logo a
{
	position: relative;
	display: flex;
	font-weight: 700;
	font-size: 24px;
}

.logo img,
.logo svg
{
	width: auto;
	height: 100%;
}

/*
 * - ICON
 */

.icon-left::before
{
	margin-right: 0.8em;
}

.icon-right::before
{
	margin-left: 0.8em;
}

/*
 * - THUMB
 */

.thumb img
{
	width: 100%;
	height: auto;
}

/*
 * - TITLE
 */

.title,
.title a
{
	line-height: 1.2;
	font-weight: 700;
}

@media only screen and (max-width: 767px)
{
	.responsive .title,
	.responsive .title a
	{
		font-size: 18px;
	}
}

@media only screen and (min-width: 768px)
{
	.responsive .title,
	.responsive .title a
	{
		font-size: 20px;
	}
}

/*
 * - LEAD
 */

.lead p
{
	margin: 16px 0;
}

/*
 * - ENTRY
 */

.entry p
{
	margin: 24px 0;
}

/*
 * - EXCERPT
 */

.excerpt
{
	font-size: 15px;
}

/*
 * - MORE
 */

.more.fas
{
	display: flex;
	align-items: center;
}

.more.fas a
{
	white-space: nowrap;
	text-overflow: ellipsis;
	overflow: hidden;
}

/*
 * - EXPAND
 */

.expand
{
	position: relative;
}

.expand::before
{
	content: '';
	position: absolute;
	top: 0;
	left: var(--expand);
	right: var(--expand);
	bottom: 0;
	z-index: -1;
	display: block;
	background-color: var(--color-white);
}

@media only screen and (max-width: 1376px)
{
	.responsive .expand
	{
		--expand: -40px;
	}
}

@media only screen and (max-width: 767px)
{
	.responsive .expand
	{
		--expand: -32px;
	}
}

@media only screen and (min-width: 1377px)
{
	.responsive .expand
	{
		--expand: calc(-1 * (100vw - 1280px) / 2);
	}
}

/*
 * - ZOOM
 */

.zoom
{
	z-index: 1;
	position: absolute;
	top: 0;
	right: 0;
	font-size: 20px;
}

.zoom button
{
	font-size: inherit;
	padding: 0;
	cursor: pointer;
	border: none;
    background: none;
	color: inherit;
}

.zoom button:hover
{
	color: var(--color-cvi-2);
}

/*
 * - PAGINATION
 */

.pagination
{
	display: flex;
	align-items: center;
	padding: 0;
	margin: 0;
}

.pagination .pagination-meta
{
	display: none;
}

.pagination a,
.pagination span
{
	text-align: center;
	font-weight: 700;
	font-size: 15px;
	color: var(--color-cvi-2);
}

.pagination a,
.pagination span,
.pagination .current
{
	float: left;
	height: 40px;
	width: 40px;
	line-height: 40px;
	padding: 0;
	margin-right: 0;
}

.pagination a:not(:last-child),
.pagination .current:not(:last-child)
{
	margin-right: 5px;
}

.pagination a
{
	background-color: transparent;
}

.pagination a:hover,
.pagination .current
{
	background-color: var(--color-cvi-lightgray-1);
	color: var(--color-cvi-1);
}

.pagination .dots
{
	color: var(--color-cvi-1);
}

.pagination a:nth-child(1)
{
}

.pagination a:nth-child(2)
{
}

.pagination a:nth-last-child(2)
{
}

.pagination a:nth-last-child(1)
{
}

/*
 ************************************************************
 *
 * META
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - TYPO
 */

.meta span.label
{
	font-weight: bold;
}

@media only screen and (max-width: 480px)
{
	.responsive .meta
	{
		font-size: 15px;
	}
}

/*
 * ----------------------------------------------------------
 *
 * FIELD
 *
 * ----------------------------------------------------------
 *
 * - MISC
 */

.type
{
	color: var(--color-cvi-gray);
}

/*
 * - ETIS
 */

.etis
{
	position: absolute;
	right: 16px;
	bottom: 16px;
}

.etis svg
{
	width: 100%;
	height: auto;
}

.etis a
{
	display: inline-flex;
	width: 80px;
	height: 32px;
	padding: 8px 0;
	padding-right: 4px;
	border-radius: 24px;
	border: 1px solid #2443e4;
	background-color: var(--color-white);
}

/*
 * - REGISTRATION
 */

.registration
{
	display: flex;
	flex-direction: column;
	text-align: center;
	grid-gap: 8px;
}

.registration span
{
	font-size: 14px;
}

.registration a
{
	width: 100%;
}

/*
 * ----------------------------------------------------------
 *
 * EVENT
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.meta-event,
.meta-event .col,
.meta-event .fields,
.meta-event .fields > div
{
	display: flex;
	flex-direction: column;
	grid-gap: 12px;
}

/*
 * - LABEL
 */

.meta-event .label
{
	display: flex;
	flex-direction: row;
	grid-gap: 8px;
}

.meta-event .label::before
{
	content: '';
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-repeat: no-repeat;
	background-size: contain;
}

.meta-event .date .label::before
{
	background-image: url(../icon/pack/calendar.svg);
}

.meta-event .place .label::before
{
	background-image: url(../icon/pack/map.svg);
}

.meta-event .audience .label::before
{
	background-image: url(../icon/pack/users.svg);
}

.meta-event .language .label::before
{
	background-image: url(../icon/pack/language.svg);
}

/*
 * - FIELDS
 */

.home .meta-event .fields
{
	width: 100% !important;
}

@media only screen and (min-width: 990px)
{
	.responsive .meta-event .fields:first-child
	{
		width: 40%;
	}
	.responsive .meta-event .fields:last-child
	{
		width: 60%;
	}
}

@media only screen and (min-width: 1280px)
{
	.responsive .meta-event .fields > div
	{
		flex-direction: row;
	}
}

/*
 * - COLS
 */

@media only screen and (min-width: 990px)
{
	.responsive .meta-event .col-fields
	{
		flex-direction: row;
		grid-gap: 40px;
		width: 100%;
	}
	.responsive .single .meta-event .col-registration
	{
		width: 240px;
	}
	.responsive .single .meta-event .col-fields
	{
		width: calc(100% - 280px);
	}
}

/*
 * - WRAP
 */

@media only screen and (max-width: 479px)
{
	.responsive .meta-event
	{
		grid-gap: 40px;
	}
}

@media only screen and (min-width: 480px)
{
	.responsive .meta-event
	{
		flex-direction: row;
		justify-content: space-between;
	}
}

/*
 * ----------------------------------------------------------
 *
 * TAGS
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.tags,
.tags ul
{
	display: flex;
}

.tags
{
	flex-direction: column;
	grid-gap: 16px;
}

/*
 * - ELEMENT
 */

.tags .label
{
	width: 100%;
	font-weight: 700;
	font-size: 16px;
}

.tags span
{
	font-size: 14px;
	color: var(--color-cvi-1);
}

@media only screen and (min-width: 768px)
{
	.responsive .tags span
	{
		font-size: 16px;
	}
}

/*
 * - LIST
 */

.tags ul
{
	flex-wrap: wrap;
	grid-gap: 12px;
	margin: 0;
}

@media only screen and (max-width: 639px)
{
	.responsive .tags ul
	{
		display: grid;
		grid-template-columns: repeat(2,minmax(0,1fr));
		grid-gap: 8px;
	}
}

@media only screen and (max-width: 379px)
{
	.responsive .tags ul
	{
		grid-template-columns: repeat(1,minmax(0,1fr));
	}
}

.tags li
{
	display: block;
	line-height: 40px;
	padding: 0 24px;
	border-radius: 20px;
	white-space: nowrap;
	text-overflow: ellipsis;
	text-align: center;
	overflow: hidden;
	background-color: var(--color-white);
}

/*
 * ----------------------------------------------------------
 *
 * MANAGER
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.manager .meta
{
	display: flex;
	flex-direction: row;
	align-items: center;
	grid-gap: 8px;
}

.manager .meta::before
{
	content: '';
	display: block;
	width: 24px;
	height: 24px;
	background-image: url(../icon/pack/member.svg);
	background-repeat: no-repeat;
	background-size: contain;
}

/*
 ************************************************************
 *
 * COMPONENT
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * MCE-CONTENT
 *
 * ----------------------------------------------------------
 *
 * - HEADING
 */

.mce-content > h2,
.mce-content > h3,
.mce-content > h4,
.mce-content > h5,
.mce-content > h6
{
	padding-top: 16px;
}

.mce-content > h2:first-child,
.mce-content > h3:first-child,
.mce-content > h4:first-child,
.mce-content > h5:first-child,
.mce-content > h6:first-child
{
	padding-top: 0;
}

/*
 * - TYPO
 */

.mce-content .fas,
.mce-content .far
{
	font-size: 1.2em;
	margin-right: 8px;
}

.mce-content > .button + *
{
	margin-top: 32px;
}

.mce-content > p,
.mce-content > ul li,
.mce-content > ol li,
.mce-content > a:not(.button)
{
	font-size: 16px;
}

.mce-content a:not(.button)
{
	text-decoration: underline !important;
}

.mce-content li
{
	padding-top: 8px;
	padding-bottom: 8px;
}

.mce-content > table
{
	font-size: 14px;
}

/*
 * - LIST
 */

.mce-content > ol,
.mce-content > ul
{
	background-color: var(--color-cvi-lightgray-1);
}

.mce-content > ol
{
	padding: 32px 24px;
}

.mce-content > ol li::before
{
	left: 24px;
}

.mce-content > ul
{
	padding: 32px 24px 32px 48px;
	list-style: disc outside;
}

.mce-content > ul li
{
	padding-left: 8px;
}

.mce-content > ul li::marker
{
	color: var(--color-cvi-2);
}

/*
 * - META
 */

.mce-content .meta
{
	grid-gap: 8px;
}

/*
 * - TABLE
 */

.mce-content > table
{
	width: 100% !important;
	background-color: var(--color-white);
}

.mce-content > table td
{
	width: auto !important;
}

@media only screen and (max-width: 767px)
{
	.responsive .mce-content table
	{
		display: block;
		overflow-x: auto;
	}
}

/*
 * ----------------------------------------------------------
 *
 * ARTICLE
 *
 * ----------------------------------------------------------
 *
 * - WRAP
 */

@media only screen and (min-width: 768px)
{
	.responsive .article.thin
	{
		max-width: 800px;
		margin: 0 auto;
	}
}