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

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

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

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

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

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

/*
 * - COLS
 */

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

@media (max-width: 990px)
{
	.module-grid .cols-3,
	.module-grid .cols-4,
	.module-grid .cols-5
	{
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 544px)
{
	.module-grid .items
	{
		grid-template-columns: repeat(1, minmax(0, 1fr));
	}
}

/*
 * - THUMB
 */

.module-grid .thumb img
{
	width: 100%;
	height: auto;
}

/*
 * - TITLE
 */

.module-grid .title,
.module-grid .title a
{
	flex-grow: 1;
}

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

.module-grid .title a
{
	justify-content: center;
	grid-gap: 20px;
	padding: 30px 20px;
	background-color: rgba(255, 255, 255, 0.5);
	color: var(--ast-global-color-1);
}

@media (min-width: 545px) and (max-width: 990px)
{
	.module-grid .item:not(.small) .title,
	.module-grid .item:not(.small) .title a
	{
		justify-content: flex-start;
	}
}

/*
 * - ITEM
 */

.module-grid .item:hover .title a
{
	background-color: var(--ast-global-color-5);
}

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

@media (max-width: 544px)
{
	.module-grid .item .title a
	{
		padding: 40px 20px;
	}
}

/*
 * - ITEM > SMALL
 */

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

@media (min-width: 545px) and (max-width: 990px)
{
	.module-grid .item.small
	{
		grid-column: span 2;
	}
}

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

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

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

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

.module-grid .item-small .title span
{
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
}

/*
 * - ITEM > FIRST
 */

.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(--ast-global-color-2);
	color: var(--ast-global-color-2);
}

@media (min-width: 545px)
{
	.module-grid .item.first
	{
		grid-column: span 2;
		grid-row: span 2;
	}

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

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

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

/*
 ************************************************************
 *
 * CAROUSEL
 *
 ************************************************************
 * ----------------------------------------------------------
 *
 * GLOBAL
 *
 * ----------------------------------------------------------
 *
 * - DOTS
 */

.carousel-latest .owl-dots
{
	text-align: left;
}

/*
 * ----------------------------------------------------------
 *
 * TITLE
 *
 * ----------------------------------------------------------
 *
 * - FAS
 */

.carousel-latest .title .fas
{
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: 20px;
	font-size: 20px;
	color: var(--ast-global-color-3);
}

@media (min-width: 990px)
{
	.carousel-latest .title .fas
	{
		right: 40px;
		font-size: 24px;
	}
}

/*
 * - META
 */

.carousel-latest .title-meta
{
	color: var(--ast-global-color-3);
}

/*
 * - TEXT
 */

.carousel-latest .title-text
{
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 18px;
	color: var(--ast-global-color-5);
}

@media (min-width: 768px)
{
	.carousel-latest .title-text
	{
		font-size: 24px;
	}
}

/*
 * ----------------------------------------------------------
 *
 * COLUMNS
 *
 * ----------------------------------------------------------
 *
 * - THUMB
 */

.carousel-latest .thumb
{
	width: 100px;
}

/*
 * - TITLE
 */

.carousel-latest .title
{
	position: relative;
	flex-direction: column;
	justify-content: center;
	width: calc(100% - 100px);
	padding: 30px;
	padding-right: 70px;
	grid-gap: .2em;
}

@media (min-width: 545px)
{
	.carousel-latest .thumb
	{
		width: 160px;
	}

	.carousel-latest .title
	{
		width: calc(100% - 160px);
	}
}

@media (min-width: 990px)
{
	.carousel-latest .title
	{
		padding: 40px;
		padding-right: 110px;
	}
}

/*
 * - FLEX
 */

.carousel-latest .item,
.carousel-latest .item > div
{
	display: flex;
}

.carousel-latest .item .title
{
	background-color: rgba(138, 120, 143, .3);
}

.carousel-latest .item:hover .title
{
	background-color: rgba(138, 120, 143, .5);
}

.carousel-latest .item:hover .title .fas
{
	color: var(--ast-global-color-5);
}

@media (max-width: 544px)
{
	.carousel-latest .item
	{
		flex-direction: column;
	}
	.carousel-latest .item > div
	{
		width: auto;
	}
}