/*
 ************************************************************
 *
 * MODULE
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.module,
.module .items,
.module .item,
.module .head,
.module .data
{
	display: flex;
	flex-direction: column;
}

.module .item
{
	grid-gap: 32px;
}

.module .head,
.module .data
{
	position: relative;
}

.module .goto.fas::after,
.module .title.fas::after
{
	margin-left: 8px;
	font-size: 16px;
	content: "\f08e";
}

.module .label > h2
{
	border-bottom: 1px dotted var(--color-cvi-1);
	padding-bottom: 24px;
	font-size: 27px;
}

/*
 * - COLS
 */

.module .cols-1
{
	grid-template-columns: repeat(1, minmax(0, 1fr));
	grid-gap: 0;
}
.module .cols-2
{
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-gap: 40px;
}
.module .cols-3
{
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-gap: 32px;
}
.module .cols-4
{
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-gap: 24px;
}

@media only screen and (max-width: 989px)
{
	.responsive .module .cols-3,
	.responsive .module .cols-4
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media only screen and (max-width: 767px)
{
	.responsive .module .cols-2,
	.responsive .module .cols-3,
	.responsive .module .cols-4
	{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/*
 * - SCROLL-TO
 */

.module .scroll-to
{
	z-index: 9;
	position: sticky;
	top: 0;
	background-color: var(--color-white);
}

.module .scroll-to > div
{
	width: 100%;
}

.module .scroll-to select
{
	height: 60px;
	border-bottom: 4px solid var(--color-cvi-2);
}

@media only screen and (min-width: 768px)
{
	.responsive .module .scroll-to,
	.responsive .module .scroll-to ul
	{
		display: flex;
		flex-direction: row;
	}
	.responsive .module .scroll-to
	{
		height: 60px;
		grid-gap: 16px;
		align-items: center;
		justify-content: space-between;
	}
}

.module .scroll-to ul
{
	grid-gap: 24px;
}

.module .scroll-to ul a
{
	display: block;
	height: 60px;
	line-height: 60px;
	border-bottom: 4px solid var(--color-white);
	text-decoration: none !important;
	font-weight: 700;
	font-size: 16px;
	color: var(--color-cvi-2);
}

.module .scroll-to ul a:hover,
.module .scroll-to ul .active
{
	border-color: var(--color-cvi-1);
	color: var(--color-cvi-1);
}

@media only screen and (max-width: 989px)
{
	.responsive .module .scroll-to ul a
	{
		font-size: 12px;
	}
}

/*
 ************************************************************
 *
 * MODULE: LIST
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - BASE
 */

.list,
.list .items
{
	grid-gap: 16px;
}

.list .item
{
	position: relative;
	background-color: var(--color-cvi-lightgray-1);
}

.list .data
{
	grid-gap: 24px;
}

/*
 * ----------------------------------------------------------
 *
 * MEDIA
 *
 * ----------------------------------------------------------
 *
 * - ITEM
 */

body:not(.search) .list .item-post
{
	padding: 0;
}

body:not(.search) .list .item-post
{
	grid-gap: 24px;
}

/*
 * ----------------------------------------------------------
 *
 * EVENTS
 *
 * ----------------------------------------------------------
 *
 * - LIST
 */

.list-events
{
	grid-gap: 32px;
}

body:not(.search):not(.home) .list-events .items
{
	grid-gap: 40px;
}

/*
 * - ITEM
 */

.list-events .item,
.list-events .item .data
{
	grid-gap: 24px;
}

body:not(.search) .list-events .item .head
{
	grid-gap: 16px;
}

body:not(.search) .list-events .item
{
	background-color: transparent;
}

/*
 ************************************************************
 *
 * MODULE: GRID
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - BASE
 */

.grid
{
	grid-gap: 40px;
}

.grid .items
{
	display: grid;
	
}

@media only screen and (max-width: 479px)
{
	.responsive .grid .items
	{
		width: 100%;
	}
}

/*
 * - META
 */

.grid .meta a
{
	text-decoration: underline !important;
}

/*
 * - DATA
 */

.grid .data,
.grid .data .meta
{
	flex-grow: 1;
}

.grid .data
{
	grid-gap: 24px;
}

/*
 * ----------------------------------------------------------
 *
 * MEDIA
 *
 * ----------------------------------------------------------
 *
 * - ITEM
 */

.grid .item-post
{
	grid-gap: 16px;
}

.grid .item-post > div
{
	grid-gap: 4px;
}

/*
 * - DATE
 */

.grid .item-post .date
{
	color: var(--color-cvi-gray);
}

/*
 * - CATS
 */

.grid .item-post .cats
{
	position: absolute;
	right: 0;
	top: -56px;
}

.grid .item-post .cats ul
{
	display: flex;
	flex-direction: row;
	background-color: var(--color-cvi-1);
}

.grid .item-post .cats ul li
{
	line-height: 16px;
	text-align: center;
}

.grid .item-post .cats ul li
{
	padding: 12px;
	color: var(--color-white);
}

/*
 * ----------------------------------------------------------
 *
 * EVENTS
 *
 * ----------------------------------------------------------
 *
 * - ELEMENT
 */

.grid .item-event .meta
{
	grid-gap: 8px;
}

.grid .item-event .title
{
	flex-grow: 1;
}

.grid .item-event .title a
{
	font-size: 21px;
}

/*
 * ----------------------------------------------------------
 *
 * MEMBERS
 *
 * ----------------------------------------------------------
 *
 * - ITEM
 */

.grid .item-member
{
	grid-gap: 16px;
}

.grid .item-member .data
{
	grid-gap: 4px;
}

.grid .item-member.label:nth-child(2),
.grid .item-member.label:nth-child(2) + .item
{
	grid-column: 1 / 2;
}

/*
 * - THUMB
 */

.grid .item-member .thumb
{
	position: relative;
}

/*
 * - META
 */

@media only screen and (min-width: 768px) and (max-width: 1279px)
{
	.responsive .grid .item-member .meta
	{
		font-size: 13px;
	}
}

/*
 * - ENTRY
 */

.grid .item-member .entry
{
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px dotted var(--color-cvi-1);
}

/*
 ************************************************************
 *
 * MODULE: ACCORDION
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - BASE
 */

.accordion
{
	grid-gap: 40px;
}

.accordion .items
{
	grid-gap: 4px;
}

.accordion .item
{
	grid-gap: 0;
	width: 100%;
}

.accordion .article > *:nth-last-child(2)
{
	margin-bottom: 0;
}

/*
 * - HEAD
 */

.accordion .head
{
	z-index: 1;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
	margin-right: 0;
	padding: 12px 24px;
	cursor: pointer;
	border-radius: 0 4px 4px 0;
	border-left: 4px solid var(--color-cvi-2);
	background-color: var(--color-white);
	box-shadow: 0px 1px 4px 0px #0000001A;
}

.accordion .head::before
{
	content: none;
}

.accordion .head::after
{
	content: "\f078";
	font-size: 16px;
	color: var(--color-cvi-1);
}

.accordion .active .head::after
{
	content: "\f077";
}

/*
 * - DATA
 */

.accordion .item > .data
{
	display: none;
	background-color: var(--color-cvi-lightgray-1);
	box-shadow: 0px 1px 4px 0px #0000001A;
}

/*
 * - THUMB
 */

.accordion .thumb
{
	position: relative;
}

/*
 * - TITLE
 */

.accordion .title
{
	padding: 8px 0;
	padding-right: 16px;
	line-height: 1.4;
	font-weight: 600 !important;
	font-size: 16px;
}

.accordion .title span
{
	color: var(--color-cvi-1);
}

.accordion .head:hover .title span,
.accordion .item.active .title span
{
	color: var(--color-cvi-2);
}

/*
 * - ENTRY
 */

.accordion .mce-content > ol,
.accordion .mce-content > ul
{
	background-color: var(--color-white);
}

.accordion .mce-content .alignleft,
.accordion .mce-content .alignright
{
	max-width: 240px;
}

.accordion .goto
{
	margin-top: 32px;
}

.accordion .goto .more
{
	font-weight: 600;
}

/*
 ************************************************************
 *
 * MODULE: CAROUSEL
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - DOTS
 */

#top .carousel-partners .owl-dots
{
	display: none;
}

#top .carousel-about .owl-dots
{
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	height: 24px;
	margin-top: 24px;
}

/*
 * ----------------------------------------------------------
 *
 * PARTNERS
 *
 * ----------------------------------------------------------
 *
 * - ITEM
 */

#top .carousel-partners .item
{
	align-items: center;
	justify-content: center;
	height: 160px;
	padding: 20px;
}

#top .carousel-partners .thumb img
{
	max-height: 60px;
}

/*
 * ----------------------------------------------------------
 *
 * HERO
 *
 * ----------------------------------------------------------
 *
 * - ITEM
 */

#top .carousel-hero,
#top .carousel-hero .item
{
	height: 480px;
}

#top .carousel-hero .item
{
	justify-content: center;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

#top .carousel-hero .item::before
{
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	mix-blend-mode: multiply;
	background-image: linear-gradient(to right, rgba(52, 43, 96, 0.9) 30%, rgba(0, 0, 0, 0));
}

@media only screen and (max-width: 767px)
{
	.responsive #top .carousel-hero .item
	{	
		justify-content: flex-end;
		padding: 32px 32px 80px 32px;
	}
}

@media only screen and (max-width: 1359px)
{
	.responsive #top .carousel-hero .item
	{
		padding: 40px 40px 80px 40px;
	}
}

@media only screen and (min-width: 1360px)
{
	.responsive #top .carousel-hero .item
	{
		padding: 40px 0 80px 0;
	}
}

/*
 * - TITLE
 */

#top .carousel-hero .title span
{
	font-weight: 800;
	font-size: 60px;
	color: var(--color-white);
}

@media only screen and (max-width: 767px)
{
	.responsive #top .carousel-hero .title span
	{
		font-size: 36px;
	}
}

@media only screen and (min-width: 768px)
{
	.responsive #top .carousel-hero .title
	{
		width: 70%;
	}
}

/*
 * - DOTS
 */

#top .carousel-hero .owl-dots
{
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	height: 80px;
	margin: -80px auto 0 auto;
	z-index: 1;
}

@media only screen and (max-width: 767px)
{
	.responsive #top .carousel-hero .owl-dots
	{
		padding: 0 32px;
	}
}

@media only screen and (max-width: 1359px)
{
	.responsive #top .carousel-hero .owl-dots
	{
		padding: 0 40px;
	}
}

@media only screen and (min-width: 1360px)
{
	.responsive #top .carousel-hero .owl-dots
	{
		max-width: 1280px;
	}
}

#top .carousel-hero .owl-dots .owl-dot span
{
	background-color: var(--color-white);
}

#top .carousel-hero .owl-dots .owl-dot:hover span,
#top .carousel-hero .owl-dots .owl-dot.active span
{
	background-color: var(--color-cvi-2);
}

/*
 ************************************************************
 *
 * MODULE: ARCHIVE
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.archive,
.archive > .items
{
	grid-gap: 32px;
}

/*
 * - CATEGORY LOGO
 */

.archive .category-logo
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 32px;
	border: 1px solid var(--color-cvi-lightgray-2);
}

.archive .category-logo img
{
	margin: 0 auto;
}

@media only screen and (min-width: 990px)
{
	.responsive .archive .category-logo img
	{
		width: auto;
		height: auto;
		max-width: 200px;
		max-height: 60px;
	}
}

/*
 * - TOPBAR
 */

.archive .topbar
{
	display: grid;
	grid-gap: 32px;
}

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

@media only screen and (min-width: 990px)
{
	.responsive .archive .topbar
	{
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
	.responsive .archive .topbar > div:last-child
	{
		grid-column: span 3;
	}
}

/*
 ************************************************************
 *
 * MODULE: FILTER
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * SEARCH
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.filter-search ul
{
	display: flex;
	flex-direction: row;
	grid-gap: 16px;
}

/*
 * - TYPO
 */

.filter-search a
{
	font-weight: 700;
	font-size: 16px;
}

.filter-search a + span
{
	color: var(--color-cvi-gray);
}