/*
 ************************************************************
 *
 * MODULE
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GRID
 *
 * ----------------------------------------------------------
 *
 * - BASE
 */

#top .module-grid,
#top .module-grid .item,
#top .module-grid .head,
#top .module-grid .data,
#top .module-grid .title,
#top .module-grid .title a
{
	display: flex;
	flex-direction: column;
}

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

#top .module-grid .items
{
	display: grid;
	width: 100%;
}

#top .module-grid .head,
#top .module-grid .data,
#top .module-grid .meta
{
	grid-gap: 12px;
}

#top .module-grid .data
{
	flex-grow: 1;
}

/*
 * - COLS
 */

#top .module-grid .cols-1
{
	grid-template-columns: repeat(1, minmax(0, 1fr));
	grid-gap: 0;
}
#top .module-grid .cols-2
{
	grid-template-columns: repeat(2, minmax(0, 1fr));
	grid-gap: 40px;
}
#top .module-grid .cols-3
{
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-gap: 30px;
}
#top .module-grid .cols-4
{
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-gap: 20px;
}
#top .module-grid .cols-5
{
	grid-template-columns: repeat(5, minmax(0, 1fr));
	grid-gap: 16px;
}

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

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

/*
 * - ELEMENT
 */

#top .module-grid .title,
#top .module-grid .title a
{
	flex-grow: 1;
	justify-content: center;
}

#top .module-grid .title
{
	line-height: 1.2em;
	font-weight: 600;
	font-size: 17px;
}

#top .module-grid .title a
{
	grid-gap: 20px;
	padding: 30px 20px;
}

#top .main_color .module-grid .title a
{
	background-color: var(--color-lightgray-1);
	color: var(--color-darkgray-2);
}

#top .alternate_color .module-grid .title a
{
	background-color: var(--color-white);
	color: var(--color-darkgray-2);
}

/*
 * - ITEM
 */

#top .module-grid .item:hover .title a span:not(.excerpt)
{
	color: var(--color-cvi-1);
}

@media only screen and (max-width: 767px)
{
	.responsive #top .module-grid .item .title a
	{
		padding: 40px 20px;
	}
}

/*
 * - ITEM > SMALL
 */

#top .module-grid .item.small
{
	flex-direction: row;
	align-items: center;
}

#top .module-grid .item.small .head
{
	width: 120px;
	height: 120px;
}

#top .module-grid .item.small .data
{
	width: calc(100% - 120px);
	height: 120px;
}

#top .module-grid .item.small .title
{
	font-size: 16px;
}

#top .module-grid .item.small .title a
{
	padding: 20px;
}

/*
 * - ITEM > FIRST
 */

#top .module-grid .item.first .excerpt
{
	max-width: 600px;
	padding-left: 20px;
	line-height: 1.4;
	font-weight: 300;
	font-size: 16px;
	border-left: 1px solid var(--color-cvi-1);
	color: var(--color-darkgray-4);
}

@media only screen and (min-width: 768px)
{
	.responsive #top .module-grid .item.first
	{
		grid-column: span 2;
		grid-row: span 2;
	}

	.responsive #top .module-grid .item.first .data
	{
		justify-content: center;
	}

	.responsive #top .module-grid .item.first .title
	{
		font-size: 24px;
	}

	.responsive #top .module-grid .item.first .title a
	{
		padding: 40px;
	}
}

/*
 ************************************************************
 *
 * CAROUSEL
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * CAROUSEL-SLIDES
 *
 * ----------------------------------------------------------
 *
 * - FLEX
 */

#top .carousel-testimonials .item,
#top .carousel-testimonials .item > div
{
	display: flex;
	flex-direction: column;
}

#top .carousel-testimonials .item > div
{
	grid-gap: 8px;
}

#top .carousel-testimonials .item
{
	position: relative;
	text-align: center;
	align-items: center;
	grid-gap: 40px;
	max-width: calc(100% - 80px);
	margin-left: auto;
	margin-right: auto;
	padding: 0 30px 30px 30px;
}

#top .carousel-testimonials .item::after
{
	content: '';
	position: absolute;
	top: 60px;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
	display: block;
	background-color: var(--color-white);
}

@media only screen and (min-width: 768px)
{
	.responsive #top .carousel-testimonials .item
	{
		max-width: 80%;
	}
}

@media only screen and (min-width: 1280px)
{
	.responsive #top .carousel-testimonials .item
	{
		max-width: 60%;
		padding: 0 40px 40px 40px;
	}
}

/*
 * - COLS
 */

#top .carousel-testimonials .item .head
{
	width: 120px;
}

/*
 * - ELEMENT
 */

#top .carousel-testimonials .title,
#top .carousel-testimonials .entry
{
	color: var(--color-darkgray-4);
}

#top .carousel-testimonials .title
{
	font-weight: 600;
	font-size: 20px;
}

#top .carousel-testimonials .meta
{
	margin-top: -8px;
}

#top .carousel-testimonials .entry
{
	line-height: 1.4;
	font-size: 15px;
}