/**
 * =============================================================
 * @package		RAXO Prime Module Layout
 * -------------------------------------------------------------
 * @copyright	Copyright (C) 2009-2022 RAXO Group
 * @link		https://www.raxo.org
 * @license		RAXO Commercial License
 * 				This file is forbidden for redistribution
 * =============================================================
 */


/* ----- RESET & DEFAULT Styles ----- */
.jm-prime {
	box-sizing: border-box;
	min-width: 192px;
	overflow: hidden;
}
	.jm-prime *,
	.jm-prime ::before, .jm-prime ::after {
		box-sizing: inherit;
	}
.jm-prime article,
.jm-prime h3, .jm-prime h4,
.jm-prime img,
.jm-prime a {
	margin: 0;
	padding: 0;
	border: 0 none;
}
.jm-prime a {
	color: #fff !important;
	text-decoration: none;
	outline: 0;
	transition: all .2s ease-out;
}
	.jm-prime a:hover {
		opacity: .8;
		background: transparent none;
	}


/* ----- Module BLOCK ----- */
.jm-prime .raxo-block-name,
.jm-prime .raxo-block-button {
	margin: 0 0 20px; 
	padding: 10px 20px 8px;
	color: #fff;
}

.jm-prime .raxo-block-intro {
	margin-bottom: 20px; 
	padding: 0 16px 0 20px;
}

.jm-prime .raxo-block-button {
	margin: 20px auto;
	text-align: center;
}
	.jm-prime .raxo-block-button a {
		display: block;
	}

@media (min-width: 480px) {
	.jm-prime .raxo-container,
	.jm-prime .raxo-top,
	.jm-prime .raxo-normal {
		display: flex;
		flex-wrap: wrap;
	}
}
.jm-prime .raxo-top,
.jm-prime .raxo-normal,
.jm-prime article {
	flex: 1 1 190px;
	min-width: 190px;
}
	.jm-prime .raxo-top,
	.jm-prime .raxo-top article {								/* Preferred size of TOP items */
		flex-basis: 360px;
	}
	.jm-prime .raxo-normal article {							/* Preferred size of NORMAL items */
		flex-basis: 220px;
	}

.jm-prime .raxo-container {margin: -5px}						/* Default gutter 2px (1px on each side of a item) */
.jm-prime article {margin: 5px;}



/* ----- MODULE Items ----- */
.jm-prime article {
	position: relative;
	display: block;
	overflow: hidden;
	border-radius: 3px;
	box-shadow: 0 0 5px 0px RGBA(0,0,0,0.25);
	margin: 10px; 											/* 2x size of Default gutter above */
}
.jm-prime .raxo-overlay,
.jm-prime article .raxo-link {
	position: absolute;
	top: 0; bottom: 0;
	left: 0; right: 0;
	z-index: 2;
}
.jm-prime .raxo-overlay {
	display: flex;
	flex-flow: column nowrap;
	justify-content: flex-end;
	align-items: flex-start;
	padding: 20px 16px 15px 20px;
	background: rgba(0,0,0,0);
	transition: all .4s ease-out;
}
	.jm-prime article:hover .raxo-overlay {
		background: rgba(20,20,20,.25);
		transition-duration: .25s;
	}
	.jm-prime article .raxo-link {
		opacity: 0;
	}



/* ----- IMAGE Styles ----- */
.jm-prime .raxo-image,
.jm-prime .raxo-image > a,
.jm-prime .raxo-image img {
	display: block;
	width: 100%; 
	height: 100%;
}

.jm-prime .raxo-image img {
	-o-object-fit: cover;
	object-fit: cover;
	image-rendering: -webkit-optimize-contrast;
}
.jm-prime .raxo-image::after {
	content: "";
	position: absolute; z-index: 1;
	left: 0; right: 0; bottom: 0;
	height: 72%;
	background-image: linear-gradient(to bottom, transparent, rgba(20,20,20,.72));
}



/* ----- CONTENT Styles ----- */
.jm-prime .raxo-content {
	order: 3;
	flex-shrink: 0;
	width: 100%;
}

/* ----- Item TITLE ----- */
.jm-prime .raxo-title {
	margin: 10px 0 0;
	color: #fff;
	text-shadow: 0 1px rgba(51,51,51,.6);
}
	.jm-prime .raxo-top .raxo-title {}

.jm-prime .raxo-title span {
	display: inline-block;
	max-height: 60px;											/* Maximum 3 visible rows (3 × line-height) */
	overflow: hidden;
}
	.jm-prime .raxo-top .raxo-title span {
		max-height: 84px;
	}

.jm-prime .raxo-title::after {								/* Animated title underline */
	content: "";
	display: block;
	position: relative;
	bottom: 0; 
	width: 0; 
	height: 2px;
	transition: width .4s ease-out;
}
	.jm-prime .raxo-top .raxo-title::after {
		height: 3px;
	}
	.jm-prime article:hover .raxo-title::after {
		width: 56%;
	}

/* ----- Item TEXT ----- */
.jm-prime .raxo-text {
	margin-top: 8px;
	font-size: 14px;
	line-height: 20px;
	color: #e0e0e0;
}
.jm-prime .raxo-normal .raxo-text {
	margin-top: 0;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	transition: margin .1s linear .5s, opacity .5s ease-out, max-height .5s ease-out;
}
	.jm-prime .raxo-normal article:hover .raxo-text {
		margin-top: 8px;
		max-height: 100px;										/* Maximum 5 visible rows (5 × line-height) */
		opacity: 1;
		transition-delay: 0s, .1s, .1s;
	}



/* ----- META Elements ----- */
.jm-prime .raxo-meta {
	display: flex;
	flex-wrap: wrap;
	order: 2;
	margin-left: -20px; 
	padding: 2px 14px 4px 20px;
	font-size: 15px; 
	line-height: 18px;
	color: #e0e0e0;
	background: rgba(44,44,44,.64);
}
	.jm-prime .raxo-top .raxo-meta {
		font-size: 16px; 
		line-height: 20px;
	}
	.jm-prime .raxo-meta > :not(:last-child)::after {
		content: "|";
		display: inline-block;
		margin: 0 14px;
	}
.jm-prime .raxo-hits,
.jm-prime .raxo-rating,
.jm-prime .raxo-comments {
	padding-left: 28px;
	background-repeat: no-repeat;
	background-position: 0 50%;
	background-size: 20px 20px;
}
.jm-prime .raxo-hits {}
.jm-prime .raxo-rating {}
.jm-prime .raxo-comments {}



/* ----- Item CATEGORY ----- */
.jm-prime .raxo-category {
	order: 1;
	margin: 0 0 auto -20px;
	padding: 0 14px 0 20px;
	color: #fff;
}
	.jm-prime .raxo-category a {
		position: relative;
		z-index: 3
	}



/* ----- COLOR Schemes ----- */

/* --- Light Blue Color (default) --- */
.jm-prime .raxo-block-name,
.jm-prime .raxo-block-button,
.jm-prime .raxo-category {
	background-color: #f0ebe5;
	border-radius: 2px;
	box-shadow: 0 0 5px 0px RGBA(0,0,0,0.25);
}
.jm-prime .raxo-title::after {
	background-color: #f0ebe5;
}
.jm-prime .raxo-block-intro a {
	color: #f0ebe5 !important;
}



/* ----- Predefined Proportions & Columns ----- */

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

	/* Layout Proportions */
	.jm-prime[class*="prime-sm"] .raxo-top {flex: none;}

	.jm-prime.prime-sm-1-1 .raxo-top {width: 100%;}
	.jm-prime.prime-sm-1-2 .raxo-top {width: 50%;}

	.jm-prime.prime-sm-1-3 .raxo-top {width: calc(100% * 1 / 3.001);}
	.jm-prime.prime-sm-2-3 .raxo-top {width: calc(100% * 2 / 3.001);}


	/* Number of Columns */
	.jm-prime.top-sm-col1 .raxo-top article,
	.jm-prime.nor-sm-col1 .raxo-normal article {
		flex-basis: 100%;
	}
	.jm-prime.top-sm-col2 .raxo-top article,
	.jm-prime.nor-sm-col2 .raxo-normal article {
		flex-basis: calc(49.98% - 2px);
	}
	.jm-prime.top-sm-col3 .raxo-top article,
	.jm-prime.nor-sm-col3 .raxo-normal article {
		flex-basis: calc(33.32% - 2px);
	}
	.jm-prime.top-sm-col4 .raxo-top article,
	.jm-prime.nor-sm-col4 .raxo-normal article {
		flex-basis: calc(24.98% - 2px);
	}
	.jm-prime.top-sm-col5 .raxo-top article,
	.jm-prime.nor-sm-col5 .raxo-normal article {
		flex-basis: calc(19.98% - 2px);
	}
	.jm-prime.top-sm-col6 .raxo-top article,
	.jm-prime.nor-sm-col6 .raxo-normal article {
		flex-basis: calc(16.64% - 2px);
	}

}


/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {

	/* Layout Proportions */
	.jm-prime[class*="prime-md"] .raxo-top {flex: none;}

	.jm-prime.prime-md-1-1 .raxo-top {width: 100%;}
	.jm-prime.prime-md-1-2 .raxo-top {width: 50%;}

	.jm-prime.prime-md-1-3 .raxo-top {width: calc(100% * 1 / 3.001);}
	.jm-prime.prime-md-2-3 .raxo-top {width: calc(100% * 2 / 3.001);}

	.jm-prime.prime-md-1-4 .raxo-top {width: 25%;}
	.jm-prime.prime-md-3-4 .raxo-top {width: 75%;}


	/* Number of Columns */
	.jm-prime.top-md-col1 .raxo-top article,
	.jm-prime.nor-md-col1 .raxo-normal article {
		flex-basis: 100%;
	}
	.jm-prime.top-md-col2 .raxo-top article,
	.jm-prime.nor-md-col2 .raxo-normal article {
		flex-basis: calc(49.98% - 2px);
	}
	.jm-prime.top-md-col3 .raxo-top article,
	.jm-prime.nor-md-col3 .raxo-normal article {
		flex-basis: calc(33.32% - 2px);
	}
	.jm-prime.top-md-col4 .raxo-top article,
	.jm-prime.nor-md-col4 .raxo-normal article {
		flex-basis: calc(24.98% - 2px);
	}
	.jm-prime.top-md-col5 .raxo-top article,
	.jm-prime.nor-md-col5 .raxo-normal article {
		flex-basis: calc(19.98% - 2px);
	}
	.jm-prime.top-md-col6 .raxo-top article,
	.jm-prime.nor-md-col6 .raxo-normal article {
		flex-basis: calc(16.64% - 2px);
	}

}


/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {

	/* Layout Proportions */
	.jm-prime[class*="prime-lg"] .raxo-top {flex: none;}

	.jm-prime.prime-lg-1-1 .raxo-top {width: 100%;}
	.jm-prime.prime-lg-1-2 .raxo-top {width: 50%;}

	.jm-prime.prime-lg-1-3 .raxo-top {width: calc(100% * 1 / 3.001);}
	.jm-prime.prime-lg-2-3 .raxo-top {width: calc(100% * 2 / 3.001);}

	.jm-prime.prime-lg-1-4 .raxo-top {width: 25%;}
	.jm-prime.prime-lg-3-4 .raxo-top {width: 75%;}

	.jm-prime.prime-lg-1-5 .raxo-top {width: 20%;}
	.jm-prime.prime-lg-2-5 .raxo-top {width: 40%;}
	.jm-prime.prime-lg-3-5 .raxo-top {width: 60%;}
	.jm-prime.prime-lg-4-5 .raxo-top {width: 80%;}


	/* Number of Columns */
	.jm-prime.top-lg-col1 .raxo-top article,
	.jm-prime.nor-lg-col1 .raxo-normal article {
		flex-basis: 100%;
	}
	.jm-prime.top-lg-col2 .raxo-top article,
	.jm-prime.nor-lg-col2 .raxo-normal article {
		flex-basis: calc(49.98% - 2px);
	}
	.jm-prime.top-lg-col3 .raxo-top article,
	.jm-prime.nor-lg-col3 .raxo-normal article {
		flex-basis: calc(33.32% - 2px);
	}
	.jm-prime.top-lg-col4 .raxo-top article,
	.jm-prime.nor-lg-col4 .raxo-normal article {
		flex-basis: calc(24.98% - 2px);
	}
	.jm-prime.top-lg-col5 .raxo-top article,
	.jm-prime.nor-lg-col5 .raxo-normal article {
		flex-basis: calc(19.98% - 2px);
	}
	.jm-prime.top-lg-col6 .raxo-top article,
	.jm-prime.nor-lg-col6 .raxo-normal article {
		flex-basis: calc(16.64% - 2px);
	}

}


/* X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

	/* Layout Proportions */
	.jm-prime[class*="prime-xl"] .raxo-top {flex: none;}

	.jm-prime.prime-xl-1-1 .raxo-top {width: 100%;}
	.jm-prime.prime-xl-1-2 .raxo-top {width: 50%;}

	.jm-prime.prime-xl-1-3 .raxo-top {width: calc(100% * 1 / 3.001);}
	.jm-prime.prime-xl-2-3 .raxo-top {width: calc(100% * 2 / 3.001);}

	.jm-prime.prime-xl-1-4 .raxo-top {width: 25%;}
	.jm-prime.prime-xl-3-4 .raxo-top {width: 75%;}

	.jm-prime.prime-xl-1-5 .raxo-top {width: 20%;}
	.jm-prime.prime-xl-2-5 .raxo-top {width: 40%;}
	.jm-prime.prime-xl-3-5 .raxo-top {width: 60%;}
	.jm-prime.prime-xl-4-5 .raxo-top {width: 80%;}

	.jm-prime.prime-xl-1-6 .raxo-top {width: calc(100% * 1 / 6.001);}
	.jm-prime.prime-xl-5-6 .raxo-top {width: calc(100% * 5 / 6.001);}


	/* Number of Columns */
	.jm-prime.top-xl-col1 .raxo-top article,
	.jm-prime.nor-xl-col1 .raxo-normal article {
		flex-basis: 100%;
	}
	.jm-prime.top-xl-col2 .raxo-top article,
	.jm-prime.nor-xl-col2 .raxo-normal article {
		flex-basis: calc(49.98% - 2px);
	}
	.jm-prime.top-xl-col3 .raxo-top article,
	.jm-prime.nor-xl-col3 .raxo-normal article {
		flex-basis: calc(33.32% - 2px);
	}
	.jm-prime.top-xl-col4 .raxo-top article,
	.jm-prime.nor-xl-col4 .raxo-normal article {
		flex-basis: calc(24.98% - 2px);
	}
	.jm-prime.top-xl-col5 .raxo-top article,
	.jm-prime.nor-xl-col5 .raxo-normal article {
		flex-basis: calc(19.98% - 2px);
	}
	.jm-prime.top-xl-col6 .raxo-top article,
	.jm-prime.nor-xl-col6 .raxo-normal article {
		flex-basis: calc(16.64% - 2px);
	}

}


/* XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {

	/* Layout Proportions */
	.jm-prime[class*="prime-xxl"] .raxo-top {flex: none;}

	.jm-prime.prime-xxl-1-1 .raxo-top {width: 100%;}
	.jm-prime.prime-xxl-1-2 .raxo-top {width: 50%;}

	.jm-prime.prime-xxl-1-3 .raxo-top {width: calc(100% * 1 / 3.001);}
	.jm-prime.prime-xxl-2-3 .raxo-top {width: calc(100% * 2 / 3.001);}

	.jm-prime.prime-xxl-1-4 .raxo-top {width: 25%;}
	.jm-prime.prime-xxl-3-4 .raxo-top {width: 75%;}

	.jm-prime.prime-xxl-1-5 .raxo-top {width: 20%;}
	.jm-prime.prime-xxl-2-5 .raxo-top {width: 40%;}
	.jm-prime.prime-xxl-3-5 .raxo-top {width: 60%;}
	.jm-prime.prime-xxl-4-5 .raxo-top {width: 80%;}

	.jm-prime.prime-xxl-1-6 .raxo-top {width: calc(100% * 1 / 6.001);}
	.jm-prime.prime-xxl-5-6 .raxo-top {width: calc(100% * 5 / 6.001);}


	/* Number of Columns */
	.jm-prime.top-xxl-col1 .raxo-top article,
	.jm-prime.nor-xxl-col1 .raxo-normal article {
		flex-basis: 100%;
	}
	.jm-prime.top-xxl-col2 .raxo-top article,
	.jm-prime.nor-xxl-col2 .raxo-normal article {
		flex-basis: calc(49.98% - 2px);
	}
	.jm-prime.top-xxl-col3 .raxo-top article,
	.jm-prime.nor-xxl-col3 .raxo-normal article {
		flex-basis: calc(33.32% - 2px);
	}
	.jm-prime.top-xxl-col4 .raxo-top article,
	.jm-prime.nor-xxl-col4 .raxo-normal article {
		flex-basis: calc(24.98% - 2px);
	}
	.jm-prime.top-xxl-col5 .raxo-top article,
	.jm-prime.nor-xxl-col5 .raxo-normal article {
		flex-basis: calc(19.98% - 2px);
	}
	.jm-prime.top-xxl-col6 .raxo-top article,
	.jm-prime.nor-xxl-col6 .raxo-normal article {
		flex-basis: calc(16.64% - 2px);
	}

}



/* ----- Responsive breakpoints ----- */

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {

	.jm-prime .raxo-text {
		display: none;
		margin: 0;
	}
	.jm-prime .raxo-normal .raxo-meta {
		display: none;
	}

}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {

	/* place your rules here */

}

/* Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {

	/* place your rules here */

}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {

	.jm-prime .raxo-block-button {
		max-width: 360px;
	}

}

/* Large devices (desktops, 992px and up) */
@media (min-width: 992px) {

	.jm-prime .raxo-block-name,
	.jm-prime .raxo-block-intro,
	.jm-prime .raxo-top .raxo-overlay,
	.jm-prime .raxo-top .raxo-meta,
	.jm-prime .raxo-top .raxo-category {
		padding-left: 32px;
	}
	.jm-prime .raxo-top .raxo-meta,
	.jm-prime .raxo-top .raxo-category {
		margin-left: -32px;
	}
	.jm-prime .raxo-top .raxo-title {
		max-height: 96px;
		font-size: 30px;
		line-height: 32px;
	}

}

/* Extra large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {

	.jm-prime .raxo-top article {
		flex-basis: 400px;
	}
	.jm-prime .raxo-normal article {
		flex-basis: 240px;
	}

}
