/*
 ************************************************************
 *
 * 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 .data a:not(.button)
{
	text-decoration: underline !important;
}

.module .data .title a,
.module .data a:not(.button):hover
{
	text-decoration: none !important;
}

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

/*
 * ----------------------------------------------------------
 *
 * PROJECTS & PUBLICATIONS
 *
 * ----------------------------------------------------------
 *
 * - WRAP
 */

.list-projects,
.list-publications
{
	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;
}

/*
 * ----------------------------------------------------------
 *
 * COURSES
 *
 * ----------------------------------------------------------
 *
 * - LIST
 */

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

/*
 * - ITEM
 */

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

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

/*
 * ----------------------------------------------------------
 *
 * MEMBERS
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

#top .team-champions .items,
#top .team-champions .item
{
	grid-gap: 40px;
}

#top .team-champions .item
{
	flex-direction: column;
	background-color: transparent;
}

@media only screen and (min-width: 990px)
{
	.responsive #top .team-champions .item
	{
		flex-direction: row;
		align-items: center;
	}

	.responsive #top .team-champions .item:nth-child(even)
	{
		flex-direction: row-reverse;
	}

	.responsive #top .team-champions .head
	{
		width: 400px;
	}

	.responsive #top .team-champions .data
	{
		width: calc(100% - 440px)
	}
}

/*
 * - META
 */

.team-champions .head .meta
{
	padding: 16px;
	background-color: var(--color-cvi-lightgray-1);
}

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

.grid
{
	grid-gap: 16px;
}

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

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

/*
 * - GRID
 */

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

/*
 * - COLS
 */

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

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

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

/*
 * ----------------------------------------------------------
 *
 * 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 .data
{
	flex-grow: 0;
}

.grid .item-event .meta
{
	grid-gap: 8px;
}
.grid .item-event .head,
.grid .item-event .title
{
	flex-grow: 1;
}

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

/*
 * ----------------------------------------------------------
 *
 * COMPETENCES
 *
 * ----------------------------------------------------------
 *
 * - FLIPBOX
 */

.grid .item-competence.flipbox
{
	position: relative;
	align-items: center;
	text-align: center;
	grid-gap: 16px;
}

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

/*
 * - ELEMENT
 */

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

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

/*
 * ----------------------------------------------------------
 *
 * PAGES
 *
 * ----------------------------------------------------------
 *
 * - FLIPBOX
 */

.grid .item-page.flipbox
{
	position: relative;
	align-items: center;
	text-align: center;
	grid-gap: 16px;
}

.grid .item-page.flipbox .inner > div
{
	background-color: var(--color-cvi-lightgray-1);
}

/*
 * ----------------------------------------------------------
 *
 * COLLABORATIONS
 *
 * ----------------------------------------------------------
 *
 * - GRID
 */

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

/*
 * ----------------------------------------------------------
 *
 * MEMBERS
 *
 * ----------------------------------------------------------
 *
 * - GRID
 */

.grid-team
{
	grid-gap: 16px;
}

/*
 * - ITEM
 */

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

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

/*
 * - TITLE
 */

.grid .item-member .title
{
	display: flex;
	flex-direction: row;
	align-items: center;
	grid-gap: 8px;
}

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

/*
 * - THUMB
 */

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

/*
 * - META
 */
.grid .item-member .meta
{
	font-size: 15px;
}

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

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

.accordion
{
	grid-gap: 40px;
}

.accordion-researches
{
	margin-top: 24px;
}

.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;
	margin-right: 0;
	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;
}

/*
 * - DATA
 */

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

.accordion .item > .data .mce-content blockquote,
.accordion .item:not(.item-publication):not(.item-project) > .data .mce-content ul
{
	background-color: var(--color-white);
}

/*
 * - BUTTON
 */

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

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

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

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

/*
 * ----------------------------------------------------------
 *
 * PARTNERS
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.accordion .partners,
.accordion .partners ul
{
	display: flex;
	align-items: center;
}

.accordion .partners
{
	grid-gap: 16px;
}

/*
 * - ELEMENT
 */

.accordion .partners .label
{
	font-weight: 700;
	font-size: 16px;
}

.accordion .partners span
{
	font-size: 14px;
}

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

/*
 * - LIST
 */

.accordion .partners ul
{
	grid-gap: 12px;
	margin: 0;
	background-color: transparent;
}

.accordion .partners li
{
	display: block;
	line-height: 40px;
	padding: 0;
}

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

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

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

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

/*
 * ----------------------------------------------------------
 *
 * COLLABORATIONS
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

.archive-collaborations,
.archive-collaborations .items
{
	grid-gap: 40px;
}



@media only screen and (min-width: 990px)
{
	.responsive .archive-collaborations .data
	{
		flex-direction: row;
	}
}

/*
 * - ITEM
 */

.archive-collaborations .item h2
{
	border-bottom: 1px dotted var(--color-cvi-1);
	padding-bottom: 24px;
	font-size: 27px;
}

/*
 * - COLS
 */

@media only screen and (max-width: 989px)
{
	.responsive .archive-collaborations .thumb
	{
		order: 0;
	}
	.responsive .archive-collaborations .article
	{
		order: 1;
	}
}

@media only screen and (min-width: 990px)
{
	.responsive .archive-collaborations .thumb
	{
		order: 1;
	}
	.responsive .archive-collaborations .article
	{
		order: 0;
	}
}

/*
 * - THUMB
 */

.archive-collaborations .thumb img
{
	width: 100%;
}

@media only screen and (min-width: 480px) and (max-width: 989px) 
{
	.responsive .archive-collaborations .thumb img
	{
		width: 160px;
	}
}

@media only screen and (min-width: 990px)
{
	.responsive .archive-collaborations .thumb
	{
		min-width: 320px;
	}
}

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

.map .partners .item .title a.fas::after
{
	margin-left: 8px;
	font-size: 15px;
	content: "\f08e";
}

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