
main h2{
	word-break: break-word;
}
main h3{
	margin: 15px 0;
	font-size: 30px;
	font-size: clamp(25px, 3vw, 30px);
}
main .flex-container{
	margin: 0 -10px 0 -10px;
}
main .flex-container .item,
main .flex-container .flex{
	flex: auto;
	width: 250px;
	margin: 0 10px 10px 10px;
}
main .flex-container .flex:empty{
	margin: 0;
	padding: 0;
	border: 0;
	height: 0;
	background-color: transparent;
}
main .flex-container .item.sidebar{
	width: 300px;
	flex-grow: initial;
}
.page-home .banner-tabs-container{
	margin-bottom: -87px;
	z-index: 5;
	position: relative;
}
.tabs.reverse.small{
	background-color: rgba(0,0,0,0.8);
}
.tabs.reverse a:hover{
	border-radius: 999px;
	background-color: #2d6fe7;
}
.tabs,
.tabs.reverse,
.tabs.small.reverse{
	background-color: hsl(218deg 74% 14% / 50%);
	box-shadow: none;
}
.tabs.reverse a:not(.active):hover{
	background-color: #43587e;
}
section .container.border{
	border-bottom: 1px solid #D9DDE0;
}
.home-featured hr{
	margin-bottom: 0;
}
hr.popular{
	margin-top: 0;
}

@media screen and (max-width: 900px){
	main .flex-container .item.sidebar{
		display: none;
	}
}

/* ===================== article ========================================== */

main .flex-container .featured-item{
	width: 600px;
}
main .flex-container .featured-item article .media {
	height: 340px;
}
.home-featured article.inside .media{
	max-height: 250px;
	overflow: hidden;
}
article h3 a:hover{
	text-decoration: none;
	color: #063a9e;
}
.featured-item article .category-media{
	height: 400px;
}

/* ------------- mod: inside -------------------------- */

article.inside.has-image{
	position: relative;
}
article.inside.has-image::after{
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(transparent, black);
	pointer-events: none;
	opacity: 0.4;
}
article.inside .meta,
article.inside .category{
	display: none;
}
article.inside.has-image .text{
	display: none;
}
article.inside.has-image .media{
	display: flex;
	margin-bottom: 0;
}
article.inside.has-image .media img{
	object-fit: cover;
	max-width: none;
	width: 100% !important;
	height: auto !important;
	min-height: 200px;
}
article.inside.has-image h3{
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 3px;
	z-index: 1;
	font-size: 20px;
	max-height: 135px;
	overflow: hidden;
}
article.inside.has-image h3 a{
	color: #FFFFFF;
}

/* ------------- mod: inside-medium -------------------------- */

.flex-container article.inside-medium{
	width: 350px;
}
article.inside-medium.has-image{
	position: relative;
	margin-bottom: 30px;
	padding-bottom: 30px;
}
article.inside-medium.has-image::after{
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	right: 0;
	bottom: 30px;
	background: linear-gradient(transparent, black);
	pointer-events: none;
	opacity: 0.4;
}
article.inside-medium .category{
	display: none;
}
article.inside-medium.has-image .text{
	display: none;
}
article.inside-medium.has-image .media{
	display: flex;
	margin-bottom: 0;
}
article.inside-medium.has-image .media img{
	object-fit: cover;
	max-width: none;
	width: 100% !important;
	height: auto !important;
	min-height: 200px;
}
article.inside-medium.has-image h3{
	position: absolute;
	left: 20px;
	right: 20px;
	bottom: 30px;
	z-index: 1;
}
article.inside-medium.has-image h3 a{
	color: #FFFFFF;
}
article.inside-medium.has-image .meta{
	position: absolute;
}

/* ------------- mod: inside-small -------------------------- */

.flex-container article.inside-small {
	margin-bottom: 30px;
}
article.inside-small.has-image .meta,
article.inside-small.has-image .category{
	display: none;
}
article.inside-small.has-image .media{
	position: relative;
	display: flex;
}
article.inside-small.has-image .media::after{
	position: absolute;
	content: '';
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(transparent, black);
	pointer-events: none;
	opacity: 0.4;
}
article.inside-small.has-image .media img{
	object-fit: cover;
	max-width: none;
	width: 100% !important;
	height: auto !important;
	min-height: 200px;
}
article.inside-small h3{
	font-size: 20px;
}
article.inside-small.has-image h3{
	margin: -65px 20px 15px 20px;
	z-index: 1;
	position: relative;
	height: 55px;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}
article.inside-small.has-image h3 a{
	color: #FFFFFF;
}
article.inside-small.has-image .meta{
	position: relative;
	margin: 0 20px 35px 20px;
	z-index: 1;
	color: #FFFFFF;
}
article.inside-small.has-image .date{
	filter: brightness(0) grayscale(1) invert(1);
}

/* ------------- mod: tiny -------------------------- */

.flex-container article.tiny {
	width: 310px;
	margin: 15px 10px;
}
article.tiny .category,
article.tiny.has-image .text,
article.tiny .more,
article.tiny .views,
article.tiny .comments{
	display: none;
}
article.tiny.has-image.show-text .text{
	display: block;
}
article.tiny h3{
	margin: 0 0 5px 0;
	clear: none;
	font-size: 17px;
}
article.tiny .media{
	display: flex;
	float: left;
	margin: 0 15px 0 0;
	max-height: 72px;
	width: auto;
}
article.tiny .media img{
	max-width: 140px;
	object-fit: cover;
	border: 1px solid #D9DDE0;
}
.sidebar article.tiny .media img{
	max-width: 100px;
}
article.tiny .category-media{
	float: left;
	margin: 0 15px 0 0;
	width: 100px;
	height: 66px;
}
article.tiny .category-media img{
	height: 50px;
}
article.tiny article .meta{
	margin-top: 5px;
}
.sidebar article.tiny .meta{
	margin: 5px 0;
	font-size: 14px;
}

/* ------------- mod: medium -------------------------- */

.flex-container article.medium {
	width: 400px;
	margin-bottom: 40px;
}

/* ------------- mod: video -------------------------- */

.flex-container article.video{
	width: 350px;
}
.flex-container article.video h3{
	font-size: 20px;
}

/* ===================== home-gray ========================================== */

.home-gray{}

/* =================== social ================================================ */

.social-links{
	font-size: 16px;
}
.social-links .item{
	margin: 0 0 15px 0;
	padding: 17px 10px;
	width: auto;
	background-color: #F5F8FD;
}
.social-links .icon{
	display: inline-block;
	width: 60px;
	height: 58px;
	margin: -17px 10px -24px -8px;
	border-width: 11px;
	border-style: solid;
}
.social-links .number{
	font-weight: bold;
}

/* ===================== home-latest ========================================== */

.home-latest{
	background-color: #F5F8FD;
}
.home-latest .flex-container > .item{
	width: 300px;
}
.home-latest h3{
	margin: 15px 0;
	font-size: 30px;
	font-size: clamp(25px, 3vw, 30px);
	word-break: break-word;
}
.home-latest .flex-container article{
	width: 100%;
	margin: 0 0 20px 0;
	padding: 15px 20px 20px 20px;
	background-color: white;
	box-shadow: 0 3px 10px 0px hsl(218deg 92% 58% / 22%);
}

/* ===================== most_viewed ========================================== */

.most_viewed.flex-container article {
	margin: 8px 10px;
}
.most_viewed time{
	display: none;
}
/* ===================== mobile ========================================== */

@media screen and (max-width: 500px) {
	article .text.excerpt{
		font-size: 16px;
	}
	.home-latest h3{
		margin: 10px 0;
	}
	article .category{
		margin: 5px 0;
		font-size: 16px;
	}
	article .meta{
		margin-top: 5px;
		font-size: 15px;
	}
	time:before{
		background-size: auto 1.1em;
	}
}

/* ====================== banner-sh-general ====================== */

.section-home-banners {
	position: relative;
}
.section-home-banners .switcher {
	position: absolute;
	bottom: 20px;
	text-align: center;
	z-index: 1;
	display: inline-block;
	left: 50%;
	transform: translate(-50%);
	border-radius: 5px;
	padding: 5px 10px;
	line-height: 0;
}
.section-home-banners .switcher a{
	position: relative;
	display: inline-block;
	width: 30px;
	height: 12px;
	margin: 0 2px;
	padding: 0;
	border-radius: 6px;
	vertical-align: middle;
	border: 1px solid #ccc;
	background-color: #F5F9FD;
}
.section-home-banners .switcher a.active {
	background-color: #b6b6b9;
	border-color: #888;
	width: 12px;
}
.section-home-banners .switcher-button{
	position: absolute;
	bottom: 20px;
	right: 50px;
	border: none;
	background: none;
	width: 20px;
	height: 16px;
	padding: 0;
	z-index: 1;
}
.section-home-banners .switcher-button.stop:before{
	position:absolute;
	content: '';
	background-color: #777;
	top: 0;
	bottom: 0;
	left: 3px;
	width: 4px;
}
.section-home-banners .switcher-button.stop:after{
	position:absolute;
	content: '';
	background-color: #777;
	top: 0;
	bottom: 0;
	left: 12px;
	width: 4px;
}
.section-home-banners .switcher-button.play:after{
	position: absolute;
	content: '\25ba';
	left: 0;
	top: 0;
	right: 0;
	bottom: 0;
	line-height: 1;
	color: #777;
}
.section-home-banners .navigators{
	position: absolute;
	top: 50%;
	width: 100%;
	height: 90px;
	transform: translateY(-50%);
	z-index: 5;
	pointer-events: none;
}
.section-home-banners .navigators .container{
	position: relative;
	max-width: 1350px;
}
.section-home-banners .navigate{
	position: absolute;
	width: 50px;
	height: 50px;
	padding: 0;
	border: solid #555;
	border-width: 0 2px 2px 0;
	background-color: transparent;
	outline: none;
	pointer-events: all;
	cursor: pointer;
	/* left */
	left: 30px;
	transform: rotate(135deg);
}
.section-home-banners .navigate:before{
	position: absolute;
	content: '';
	width: 52px;
	height: 52px;
	border: solid white;
	border-width: 0 1px 1px 0;
	margin: -24px 0 0 -24px;
}
.section-home-banners .navigate.foward{
	right: 30px;
	left: auto;
	transform: rotate(-45deg);
}
.section-home-banners .container{
	padding-top: 20px;
	padding-bottom: 60px;
}
.section-home-banners .home-banner{
	min-height: 700px;
}
@media screen and (max-width: 1330px) {
	.section-home-banners .navigators{
		display: none;
	}
	body .section-home-banners .buttons .button{
		font-size: 20px;
	}
}
@media screen and (max-width: 1230px) {
	.section-home-banners .certifications,
	.section-home-banners .features,
	.section-home-banners .video .video-title:before{
		display: none;
	}
	.section-home-banners .home-banner{
		min-height: 730px;
	}
	.section-home-banners .video{
		background: none !important;
		padding-top: 0 !important;
	}
}
@media screen and (max-width: 910px) {
	.section-home-banners .home-banner{
		min-height: 650px;
	}
	.section-home-banners .text{
		max-width: none;
	}
	.section-home-banners .background,
	.section-home-banners .video:after{
		display: none;
	}
	.section-home-banners .video{
		background: none;
		padding-top: 0;
	}
}
@media screen and (max-width: 850px) {
	.section-home-banners .home-banner{
		min-height: 620px;
	}
	.section-home-banners .home-banner {
		align-items: center;
		display: flex;
	}
	.section-home-banners .home-banner h2{
		margin: 10px 0px;
		font-size: 28px;
	}
	.section-home-banners .home-banner h3{
		font-size: 32px;
	}
	.section-home-banners .home-banner p.big {
		font-size: 20px;
	}
}
