/*
 ************************************************************
 *
 * 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";
}

/*
 * - 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: 32px;
}
.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);
	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
 *
 * ----------------------------------------------------------
 *
 * - META
 */

.list .item-post .meta
{
	color: var(--color-cvi-gray);
}

/*
 * - ITEM
 */

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

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

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

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

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

/*
 * - ITEM
 */

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

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

body:not(.search) .list .item-event
{
	padding: 32px 0 0 0;
	border-top: 1px solid var(--color-cvi-lightgray-2);
	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 .entry
{
	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;
	}
}


/*
 ************************************************************
 *
 * MODULE: FLIPBOX
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - BASE
 */

.flipbox .items
{
	display: grid;
	
}

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

.flipbox .item
{
	position: relative;
	text-align: center;
	align-items: center;
	grid-gap: 16px;
	height: 220px;
	perspective: 1000px;
}

.flipbox .item,
.flipbox .inner > div
{
	background-color: var(--color-cvi-2-light);
}

/*
 * - INNER
 */

.flipbox .inner
{
	position: relative;
	width: 100%;
	height: 100%;
	text-align: center;
	transition: transform 1s;
	transform-style: preserve-3d;
}

.flipbox .item:hover .inner
{
	transform: rotateY(180deg);
	
}

.flipbox .inner > div
{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
    width: 100%;
	height: 100%;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	overflow: hidden;
}

.flipbox .inner > div:first-child
{
	grid-gap: 16px;
}

.flipbox .inner > div:last-child
{
	justify-content: center;
	transform: rotateY(180deg);
}

.flipbox .inner > div:last-child .entry
{
	flex-grow: 0;
}

/*
 * - ELEMENT
 */

.flipbox p
{
	line-height: 1.5;
	font-size: 14px;
}

.flipbox .title,
.flipbox .entry
{
	color: var(--color-cvi-1);
}

.flipbox .item .title
{
	font-size: 20px;
}

.flipbox .item .thumb,
.flipbox .item .thumb svg,
.flipbox .item .thumb img
{
	width: auto;
	height: 48px;
}

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

.accordion
{
	grid-gap: 40px;
}

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

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

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

.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;
	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
{
	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
{
	color: var(--color-cvi-1);
}

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

/*
 * - ENTRY
 */

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

/*
 * - BUTTON
 */

.accordion-publications .data .fas::after,
.accordion-projects .data .fas::after
{
	margin-left: 8px;
	font-size: 16px;
	content: "\f08e";
}

.accordion-publications a.button,
.accordion-projects a.button
{
	width: auto;
	padding: 0;
	border: none;
	text-align: left;
	border-radius: 0;
}

.accordion-publications a.button,
.accordion-publications a.button:focus,
.accordion-projects a.button,
.accordion-projects a.button:focus
{
	background-color: transparent;
	color: var(--color-cvi-1);
}

.accordion-publications a.button:hover,
.accordion-projects a.button:hover
{
	background-color: transparent;
	color: var(--color-cvi-2);
}

/*
 * - MORE
 */

.accordion-collaborations .more .button
{
	min-width: 220px;
}

@media only screen and (max-width: 640px)
{
	.responsive .accordion-collaborations .more .button:not(:first-child)
	{
		margin-top: 16px;
	}
}

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

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

/*
 ************************************************************
 *
 * MODULE: MAP
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * WRAPPER
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.map,
.map .partners
{
	display: flex;
}

.map
{
	flex-direction: row;
	grid-gap: 40px;
}

.map .partners
{
	flex-direction: column;
	grid-gap: 32px;
	width: 30%;
}

.map .svgimage
{
	width: calc(70% - 16px);
}

@media only screen and (max-width: 989px)
{
	.responsive .map
	{
		flex-direction: column;
	}
	.responsive .map .partners,
	.responsive .map .svgimage
	{
		width: 100%;
	}
	.responsive .map .partners
	{
		order: 1;
	}
	.responsive .map .svgimage
	{
		order: 0;
	}
}

/*
 * - SVG
 */

.map .svgimage
{
	position: relative;
	overflow: hidden;
}

.map .svgimage svg
{
	transition: transform 0.3s ease;
	transform-origin: center;
	touch-action: none;
}

.map .svgimage path
{
	pointer-events: none;
	cursor: pointer;
	fill: var(--color-cvi-2);
	stroke: var(--color-white);
	stroke-width: 0.4;
	opacity: 0.4;
}

.map .svgimage path.has-posts
{
	pointer-events: auto;
	opacity: 0.7;
}

.map .svgimage path.active,
.map .svgimage path:hover
{
	opacity: 1;
}

/*
 * ----------------------------------------------------------
 *
 * ITEMS
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.map .partners .item,
.map .partners .items
{
	display: flex;
	flex-direction: column;
}

/*
 * - SCROLLBAR
 */

.map .partners .items::-webkit-scrollbar
{
	width: 8px;
}

.map .partners .items::-webkit-scrollbar-thumb
{
	background-color: var(--color-cvi-2);
	border-radius: 8px;
}

.map .partners .items::-webkit-scrollbar-track
{
	background-color: var(--color-cvi-lightgray-2);
}

body.firefox .map .partners .items
{
	scrollbar-width: thin;
	scrollbar-color: var(--color-cvi-2)  var(--color-cvi-lightgray-2);
}

/*
 * - LIST
 */

.map .partners .items
{
	grid-gap: 24px;
	max-height: 440px;
	overflow-y: auto;
}

/*
 * - ITEM
 */

.map .partners .item
{
	grid-gap: 8px;
	padding-right: 16px;
}

.map .partners .item .title,
.map .partners .item .article p
{
	text-align: left;
	font-size: 14px;
}

.map .partners .item .title
{
	font-size: 16px;
}

/*
 ************************************************************
 *
 * 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);
}