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

#top .module,
#top .module__price,
#top .module__items,
#top .module__content,
#top .module__actions
{
	display: flex;
	flex-direction: column;
	grid-gap: 50px;
}

#top .module__item,
#top .module__item h3,
#top .module__item li,
#top .module__item span,
#top .module__button,
#top .module__button span
{
	transition-property: opacity, color, border-color;
	transition-duration: .3s;
	transition-timing-function: ease;
}

/* MISC */

#top .module__notfound
{
	text-align: center;
}

#top .module__label
{
	text-transform: uppercase;
	font-size: 24px;
}

/* LOADMORE */

#top .module__loadmore
{
	text-align: center;
}

#top .module__loadmore button
{
	cursor: pointer;
}

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

/* PICTURE */

#top .module__picture
{
	position: relative;
}

#top .module__picture img
{
	width: 100%;
}

/* CONTENT */

#top .module__content
{
	grid-gap: 16px;
	padding: 24px;
}

/* TITLE */

#top .module__title h3
{
	margin-bottom: 0;
	font-size: 18px;
}

#top .module__title .title h3
{
	text-transform: uppercase;
}

#top .module__title .title span
{
	font-size: 16px;
}

/* PRICE */

#top .module__price
{
	grid-gap: 0;
}

/* BUTTON */

#top .module__button
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	background-color: rgba(255, 255, 255, 0.97);
}

#top .module__button span
{
	display: block;
	width: 100%;
	max-width: 240px;
	min-width: 240px;
	margin: 0 32px;
	padding: 12px 32px;
	line-height: 24px;
	border-radius: 24px;
	border-width: 1px;
	border-style: solid;
	border-color: var(--color-lightgray-2);
	color: var(--color-cvi-1);
	text-transform: uppercase;
	text-align: center;
	font-size: 16px;
}

#top .module__button span:hover
{
	border-color: var(--color-cvi-2);
	color: var(--color-cvi-2);
}

/* ITEM */

@keyframes module-item-fade-in
{
	from
	{
		opacity: 0;
		transform: translateY(20px);
	}

	to
	{
		opacity: 1;
		transform: translateY(0);
	}
}

#top .module__item,
#top .module__item > a
{
	position: relative;
	display: flex;
	flex-grow: 1;
	flex-direction: column;
}

#top .module__item.is-loaded
{
	animation: module-item-fade-in 0.4s ease both;
}

#top .module__item > a
{
	border-width: 1px;
	border-style: solid;
	border-color: var(--color-lightgray-2);
	font-size: 20px;
}

#top .main_color .module__item > a
{
	border-color: var(--color-lightgray-2);
}

#top .main_color .module__item > a:hover,
#top .main_color .module__item > a:hover .module__button
{
	border-color: var(--color-cvi-2);
}

#top .main_color .module__item > a:hover .module__button
{
	opacity: 1;
}

/*
 * ----------------------------------------------------------
 * ACTIONS
 * ----------------------------------------------------------
 */

/* WRAP */

#top .module__actions
{
	flex-direction: row;
	justify-content: space-between;
}

/* VIEW */

#top .module__action--view ul,
#top .module__action--view ul li,
#top .module__action--view .view
{
	margin: 0;
	padding: 0;
	list-style: none;
	background: none;
	border: none;
}

#top .module__action--view ul
{
	display: flex;
	flex-direction: row;
	grid-gap: 8px;
}

#top .module__action--view .view
{
	width: 40px;
	height: 40px;
	font-size: 20px;
	cursor: pointer;
	border: 1px solid var(--color-lightgray-2);
	color: var(--color-gray-2);
}

#top .module__action--view .view:hover,
#top .module__action--view .view.is-active
{
	border-color: var(--color-cvi-2);
	color: var(--color-cvi-2);
}

#top .module__action--view .view span
{
	display: none;
}

/* SORT */

#top .module__action--sort
{
	position: relative;
	display: inline-block;
}

#top .module__action--sort select
{
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	width: 160px;
	height: 40px;
	padding: 0 28px 0 0;
	border: none;
	border-bottom: 1px solid;
	border-color: var(--color-lightgray-2);
	color: var(--color-cvi-2);
	font: inherit;
	cursor: pointer;
}

#top .module__action--sort::after
{
	content: '';
	position: absolute;
	top: 50%;
	right: 4px;
	width: 8px;
	height: 8px;
	border-right: 1px solid;
	border-bottom: 1px solid;
	border-color: var(--color-gray-2);
	transform: translateY(-70%) rotate(45deg);
	pointer-events: none;
}

#top .module__action--sort:hover::after,
#top .module__action--sort:hover select
{
	border-color: var(--color-cvi-2);
	color: var(--color-cvi-2);
}

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

#top .module--list .module__button,
#top .module--list .module__picture
{
	display: none;
}

#top .module--list .module__loadmore
{
	text-align: left;
}

#top .module--list .module__content
{
	padding: 0;
}

#top .module--list .module__title h3
{
	font-size: 21px;
}

#top .module--list .module__items
{
	grid-gap: 8px;
	padding-top: 50px;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: var(--color-lightgray-2);
}

#top .module--list .module__item > a
{
	border: none;
}

#top .module--list .module__item > a:hover h3
{
	color: var(--color-cvi-2);
}

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

/* COLS */

#top .module--grid .module__items--cols-1
{
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

#top .module--grid .module__items--cols-2
{
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

#top .module--grid .module__items--cols-3
{
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

#top .module--grid .module__items--cols-4
{
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

#top .module--grid .module__items--cols-5
{
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

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

/* ITEMS */

#top .module--grid .module__items
{
	display: grid;
	grid-gap: 16px;
	grid-auto-rows: minmax(240px, auto);
	width: 100%;
}

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

/*
 * ----------------------------------------------------------
 * SEARCH
 * ----------------------------------------------------------
 */

#top .module--search .module__content
{
	justify-content: space-between;
	flex-grow: 1;
	width: 100%;
}

#top .module--search .module__label
{
	font-size: 16px;
	color: var(--color-cvi-2);
}

/*
 * ----------------------------------------------------------
 * CAROUSEL
 * ----------------------------------------------------------
 */

/* GRID */

#top .module--carousel
{
	grid-gap: 50px;
}

#top .module--carousel .module__items
{
	grid-gap: 24px;
}

/* THUMB */

#top .module--carousel .module__thumb
{
	justify-content: center;
}

#top .module--carousel .module__thumb img
{
	width: 100%;
	max-width: 100%;
}

/* ITEM */

#top .module--carousel .module__item
{
	margin-left: 1px;
}

#top .module--carousel .owl-item
{
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

#top .module--carousel .owl-item a
{
	flex-grow: 1;
}

/*
 ************************************************************
 * MODULE--ARTISTS
 ************************************************************
 * ----------------------------------------------------------
 * BASE
 * ----------------------------------------------------------
 */

#top .module--grid .module__item--artist .module__content,
#top .module--carousel .module__item--artist .module__content
{
	text-align: center;
}

/*
 ************************************************************
 * MODULE--PRODUCTS
 ************************************************************
 * ----------------------------------------------------------
 * BASE
 * ----------------------------------------------------------
 */

#top .module__item--product .module__content
{
	text-align: center;
}

/*
 ************************************************************
 * MODULE--CONVERSATIONS
 ************************************************************
 * ----------------------------------------------------------
 * BASE
 * ----------------------------------------------------------
 */

#top .module__item--conversation .module__title h3
{
	font-size: 21px;
}

/*
 ************************************************************
 * MODULE--SERVICES
 ************************************************************
 * ----------------------------------------------------------
 * BASE
 * ----------------------------------------------------------
 */

/* GRID */

#top .module--services.module--grid .module__title h2
{
	font-size: 27px;
}

#top .module--services.module--grid .module__thumb
{
	border: 1px solid var(--color-lightgray-2);
}

#top .module--services.module--grid .module__button
{
	position: relative;
	opacity: 1;
}

#top .module--services.module--grid .module__button span
{
	margin: 0;
}

@media only screen and (min-width: 640px)
{
	.responsive #top .module--services.module--grid .module__button
	{
		display: block;
	}
}

#top .module--services.module--grid .module__content
{
	padding: 0;
}

@media only screen and (max-width: 639px)
{
	.responsive #top .module--services.module--grid .module__content
	{
		text-align: center;
	}
}

#top .module--services.module--grid .module__items,
#top .module--services.module--grid .module__item
{
	grid-gap: 50px;
}

@media only screen and (max-width: 989px)
{
	.responsive #top .module--services.module--grid .module__item
	{
		flex-direction: column;
	}
}

@media only screen and (min-width: 990px)
{
	.responsive #top .module--services.module--grid .module__picture
	{
		width: 400px;
	}
	.responsive #top .module--services.module--grid .module__content
	{
		width: calc(100% - 425px);
	}
	.responsive #top .module--services.module--grid .module__item
	{
		flex-direction: row;
		align-items: center;
	}
	.responsive #top .module--services.module--grid .module__item:nth-child(even)
	{
		flex-direction: row-reverse;
	}
}

/* CAROUSEL */

#top .module--services.module--carousel .module__content
{
	text-align: center;
}

/*
 ************************************************************
 * MODULE--EXHIBITIONS
 ************************************************************
 * ----------------------------------------------------------
 * BASE
 * ----------------------------------------------------------
 */

/* GRID */

@media only screen and (max-width: 1079px)
{
	.responsive #top .module--exhibitions .module__items
	{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/* ITEM */

#top .module--exhibitions .module__item > a
{
	border: none;
}

#top .module--exhibitions .thumbnail .title h3
{
	text-transform: uppercase;
}

/* THUMBNAIL */

@media only screen and (min-width: 768px)
{
	.responsive #top .module--exhibitions .thumbnail
	{
		min-height: 200px;
		padding: 24px;
	}
	.responsive #top .module--exhibitions.module--carousel .thumbnail
	{
		min-height: 320px;
		padding: 32px;
	}
	.responsive #top .module--exhibitions .thumbnail::before
	{
		background-size: auto 160px;
	}
	.responsive #top .module--exhibitions .thumbnail .title h3
	{
		font-size: 24px;
	}
	.responsive #top .module--exhibitions .thumbnail .meta-related
	{
		font-size: 20px;
	}
	.responsive #top .module--exhibitions .thumbnail .meta-category
	{
		font-size: 16px;
	}
	.responsive #top .module--exhibitions .thumbnail .meta-duration
	{
		font-size: 18px;
	}
}

/*
 * ----------------------------------------------------------
 * COMING
 * ----------------------------------------------------------
 */

/* ITEM */

#top .module--coming .module__item--exhibition > a
{
	pointer-events: none;
}

#top .module--coming .module__item--exhibition
{
	opacity: 0.3;
}

#top .module--coming .module__item--exhibition:hover
{
	opacity: 1;
}

/*
 * ----------------------------------------------------------
 * CURRENT
 * ----------------------------------------------------------
 */

/* ITEM */

#top .module--current .module__item--exhibition > a
{
	opacity: 1;
	border: none;
}

#top .module--current .module__item--exhibition > a:hover
{
	opacity: 0.8;
}

/* ITEM > FIRST */

#top .module--current .module__item--exhibition.module__item--first
{
	grid-row: span 2;
}

@media only screen and (min-width: 768px)
{
	.responsive #top .module--current .module__item--exhibition.module__item--first .thumbnail
	{
		min-height: 320px;
		padding: 32px;
	}
	.responsive #top .module--current .module__item--exhibition.module__item--first .thumbnail::before
	{
		background-size: auto 240px;
	}
	.responsive #top .module--current .module__item--exhibition.module__item--first .thumbnail .title h3
	{
		font-size: 32px;
	}
	.responsive #top .module--current .module__item--exhibition.module__item--first .thumbnail .meta-related
	{
		font-size: 24px;
	}
	.responsive #top .module--current .module__item--exhibition.module__item--first .thumbnail .meta-category
	{
		font-size: 20px;
	}
	.responsive #top .module--current .module__item--exhibition.module__item--first .thumbnail .meta-duration
	{
		font-size: 18px;
	}
}

/*
 * ----------------------------------------------------------
 * NOT: CURRENT
 * ----------------------------------------------------------
 */

/* BACKGROUND-IMAGE */

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail
{
	background-color: transparent;
	border: 1px solid var(--color-lightgray-2);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-seif::before,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-vault::before
{
	background-image: url('../../assets/img/imago/imago-cvi-2.svg');
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-aknad::before,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-windows::before
{
	background-image: url('../../assets/img/imago/imago-cvi-1.svg');
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-saal::before,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-hall::before
{
	background-image: url('../../assets/img/imago/imago-cvi-3.svg');
}

/* COLORS */

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail h3,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail li,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail span
{
	color: var(--color-black);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-seif .cat span,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-vault .cat span
{
	color: var(--color-cvi-2);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-aknad .cat span,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-windows .cat span
{
	color: var(--color-gray-1);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-saal .cat span,
#top .module--exhibitions:not(.module--current) .module__item--exhibition .thumbnail-a-hall .cat span
{
	color: var(--color-cvi-3);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail::before
{
	background-image: url('../../assets/img/imago/imago-white.svg');
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail-a-seif,
#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail-a-vault
{
	background-color: var(--color-cvi-2);
	border-color: var(--color-cvi-2);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail-a-aknad,
#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail-a-windows
{
	background-color: var(--color-gray-2);
	border-color: var(--color-gray-2);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail-a-saal,
#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail-a-hall
{
	background-color: var(--color-cvi-3);
	border-color: var(--color-cvi-3);
}

#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail h3,
#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail li,
#top .module--exhibitions:not(.module--current) .module__item--exhibition > a:hover .thumbnail span
{
	color: var(--color-white);
}