/* === NEWS === */

div.news-featured-stories
{
	margin: 40px 0 0 0;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
	column-gap: 10px;
	row-gap: 12px;
}
@media screen and (max-width: 774px) {
	div.news-featured-stories { justify-content: space-around; }
}

div.news-feature-story
{
	display: block;
	padding: 0;
	margin: 0;
	width: 353px;
}
div.news-feature-story-card,
a.news-feature-story-card
{
	display: block;
	padding: 0;
	margin: 0;
	width: 353px;
	height: 210px;
	box-sizing: border-box;
	border-radius: 8px;
	overflow: hidden;
	border: 1px #d4d4d4 solid;
	cursor: pointer;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
a.news-feature-story-card.img-fit { background-size: contain; }
div.news-feature-story-text
{
	display: block;
	margin: 12px 8px;
}
#content div.news-feature-story-text a.title
{
	display: block;
	color: #3c3c3b;
	font-weight: bold;
	font-size: 20px;
	line-height: 26px;
	text-decoration: none !important;
	margin: 0 0 6px 0;
	height: 54px;
	max-height: 54px;
	overflow: hidden;
	position: relative;
}
#content div.news-feature-story-text a.title:hover,
#content div.news-feature-story-text a.title:focus
{ color: #0d96a9; }
#content div.news-feature-story-text a.title:active { color: #fc8b4c; }
#content div.news-feature-story-text a.title.overflow:after
{
	content: '…';
	display: block;
	background: linear-gradient(to right, rgba(252,252,252,0.5) 0%, rgba(252,252,252,1) 15%);
	color: #7c7c7b;
	position: absolute;
	padding: 0 1px;
	right: 0;
	bottom: 3px;
}
#content div.news-feature-story-text a.title.overflow:hover:after,
#content div.news-feature-story-text a.title.overflow:focus:after
{ color: #0d96a9b0; }
#content div.news-feature-story-text a.title.overflow:active:after { color: #fc8b4cb0; }
#content div.news-feature-story-text .news-list-details
{
	display: block;
	margin: 0;
}
#content div.news-feature-story-text .news-list-details .private
{
	display: inline-block;
	font-size: 14px;
	color: #C03B0F;
	margin: 0 0 0 12px;
}

h2.all-news
{
	margin: 3em 0 0 0.2em;
}
div.news-list
{
	display: block;
	margin: 20px 0 4em 0;
	max-width: 960px;
}

div.news-list article
{
	display: block;
	padding: 0 0 0 286px;
	min-height: 156px;
	margin: 0 0 10px 0;
	position: relative;
}
div.news-list article:after
{
	content: '';
	display: block;
	height: 1px;
	background-color: #f2f2f1;
	margin-top: 10px;
}

div.news-list article a.news-preview-image
{
	display: inline-block;
	width: 240px;
	height: 156px;
	box-sizing: border-box;
	border-radius: 5px;
	overflow: hidden;
	border: 1px #d4d4d4 solid;
	margin: 0 30px -156px -286px;
	padding: 0;
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	vertical-align: top;
	opacity: 0.92;
	transition: border-color 0.3s ease, opacity 04s ease;;
}
div.news-list article a.news-preview-image.img-fit { background-size: contain; }
div.news-list a.news-preview-image:hover { border-color: #009A9B; }
div.news-list a.news-preview-image:active { border-color: #fc8b4c; transition: border-color 0.2s ease; }
div.news-list article:hover a.news-preview-image { opacity: 1.0; }
div.news-list article div {
	display: inline-block;
	min-height: 156px;
	width: 100%;
	padding: 20px 0 0 0;
	vertical-align: top;
	box-sizing: border-box;
}
#content div.news-list article a.title
{
	display: block;
	color: #3c3c3b;
	font-weight: normal;
	font-size: 20px;
	line-height: 28px;
	text-decoration: none !important;
	margin: 0 0 12px 0;
}
#content div.news-list article a.title:hover,
#content div.news-list article a.title:focus
{ color: #0d96a9; }
#content div.news-list article a.title:active { color: #fc8b4c; }

div.news-list article .news-list-details
{
	white-space: nowrap;
	overflow: hidden;
}

div.news-list article .news-list-details:after
{
	content: '';
	display: block;
	position: relative;
	margin: 20px 0 0 1px;
	padding: 0;
	width: 40px;
	height: 4px;
	background-color: #0d96a9d0;
}

#content div.news-list article .news-list-details *,
#content p.article-details *,
#content div.news-feature-story .news-featured-stories-details *
{
	display: inline-block;
	color: #7c7c7b;
	font-size: 14px;
	font-weight: normal;
	font-style: normal;
	margin: 0;
}
#content div.news-list article time,
#content p.article-details time,
#content div.news-feature-story time
{
	margin-right: 2px;
}
#content div.news-list article .byline,
#content p.article-details .byline,
#content div.news-feature-story .byline
{
	color: #7c7c7b;
	margin-left: 2px;
}
#content div.news-list article .byline:after,
#content p.article-details .byline:after,
#content div.news-feature-story .byline:after
{
	content: '\0000B7';
	display: inline;
	margin: 0 6px 0 8px;
}

#content div.news-list article .promoted,
#content p.article-details .promoted,
#content div.news-feature-story .promoted
{
	margin-right: 4px;
}

#content div.news-list article .private,
#content p.article-details .private
{
	color: #C03B0F;
	margin: 0 0 0 12px;
}
#content div.news-feature-story .private
{
	display: inline-block;
	color: #fff;
	width: 13px;
	height: 13px;
	background-color: #C03B0F;
	border-radius: 7px;
	margin: 0 0 0 12px;
	vertical-align: -1px;
}
#content div.news-feature-story .byline:after { margin: 0 4px 0 6px; }
#content p.article-details { margin: -2em 0 4em 0; text-indent: 0 !important; }


#content div.news-list #newsListMoreButton
{
	display: block;
	appearance: none;
	width: 200px;
	height: 40px;
	margin: 32px auto 0 auto;
	padding: 0;
	border: 2px #009A9B solid;
	color: #009A9B;
	text-align: center;
	border-radius: 15px;
	box-sizing: border-box;
	background-color: rgba(0,154,155,0.05);
	font-size: 15px;
	font-weight: 400;
	transition: all 0.15s ease;
}
#content div.news-list #newsListMoreButton:hover
{
	color: #009A9B;
	background-color: rgba(0,154,155,0.15);
}
#content div.news-list #newsListMoreButton:active
{
	color: #fcfcfc;
	background-color: #009A9B;
}
#content div.news-list #newsListMoreButton:disabled,
#content div.news-list #newsListMoreButton[disabled=disabled]
{
	color: rgba(1,1,0, 0.25);
	border-color: rgba(1,1,0, 0.15);
	background-color: #fcfcfc;
}
html[lang=en] #content div.news-list #newsListMoreButton { font-family: 'NimbusSansL',sans-serif; }
html[lang='zh-Hans'] #content div.news-list #newsListMoreButton { font-family: 'Source Han Sans CN','Helvetica Neue',Helvetica,Arial,sans-serif; }

html[lang=en] #content.article p.initial,
#content.article p:not(.article-details):nth-child(2),
#content.article.indent p:not(.article-details) { text-indent: 1.25em; }
#content.article p:not(.article-details) { line-height: 1.55em; }
#content.article figure.img img { max-width: 680px; height: auto; box-shadow: 0 1px 3px rgba(1,1,0, 0.1); }
#content.article figure figcaption { color: #7c7c7b; font-size: 92%; margin: 0.55em 0 0.25em 0; text-align: center; }
#content p.articleBackLink { margin: 2em 0 0 0; }
#content p.articleBackLink:before
{
	content: '';
	display: block;
	margin: 3em auto 2em auto;
	width: 50%;
	height: 1px;
	background-color: #f2f2f1;
}
#content p.articleBackLink a { text-decoration: none; }
#content p.articleBackLink a:hover,
#content p.articleBackLink a:focus,
#content p.articleBackLink a:active {
	text-decoration: underline;
	-webkit-text-decoration-color: #f9b234; 
	text-decoration-color: #f9b234;
}
#content p.articleBackLink a svg
{
	display: inline-block;
	height: 17px;
	width: 22px;
	fill: #009A9B;
	vertical-align: top;
	margin: 4px 4px 0 0;
	padding: 0;
}
#content p.articleBackLink a:hover svg { fill: #f9b234; }
#content p.articleBackLink a:active svg { fill: #fc8b4c; }

html[lang=en] #content.article > p:not([class]),
html[lang=en] #content.article > p.initial
{ text-align: justify; }


@media screen and (max-width: 650px) {
	div.news-list { margin-top: 32px; }
	div.news-list article { padding: 0; margin-bottom: 0; }
	div.news-list article a.news-preview-image { display: block; margin: 0 0 6px 6px; }
	div.news-list article div { display: block; min-height: unset; }
	div.news-list article:after { margin: 32px; background-color: #e9e9e8; }
}

@media screen and (max-width: 480px) {
	div.news-list article a.news-preview-image { margin: 0 auto; }
}

/* carousel */

#newsCarousel
{
	display: block;
	width: 100%;
	max-width: 1080px;
	aspect-ratio: 5/1;
	margin: 36px auto 32px auto;
	padding: 0;
	overflow: hidden;
	border-radius: 5px;
	position: relative;
}

#newsCarousel > div.carouselSlide {
	position: absolute;
	top: 0;
	left: 0;
	display: none;
	width: auto;
	height: 100%;
	max-width: 100%;
	aspect-ratio: 5/1;
	object-fit: cover;
	object-position: center center;
	animation-delay: 0s;
	overflow: hidden;
}
#newsCarousel > div.carouselCurrent { left: 0; display: block; }

#newsCarousel > div.carouselSlideIn
{
	display: block;
	top: 100%;
	animation: slidein_bottom 1.4s ease forwards;
}
#newsCarousel > div.carouselSlideOut
{
	display: block;
	animation: slideout_top 1.4s ease forwards;
}

@keyframes slidein_bottom
{
	from { top: 100%; }
	to   { top: 0; }
}
@keyframes slideout_top
{
	from { top: 0; }
	to   { top: -100%; }
}

@keyframes slidein_right
{
	from { left: 100%; }
	to   { left: 0; }
}
@keyframes slideout_left
{
	from { left: 0; }
	to   { left: -100%; }
}

#newsCarousel > div.carouselSlide video
{
	width: auto;
	height: 100%;
	aspect-ratio: 16/9;
	margin: 0;
	padding: 0;
}
#newsCarousel > div.carouselSlide video img { display: block; width: 100%; height: auto; }

ul#carouselControls
{
	display: block;
	white-space: nowrap;
	margin: -24px 16px 16px 0;
	padding: 0;
	height: 8px;
	text-align: right;
}
ul#carouselControls li
{
	display: inline-block;
	width: 20px;
	height: 8px;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	border: 1px rgba(0,0,0,0.35) solid;
	border-radius: 4px;
	background-color: rgba(1,1,0,0.1);
	transition: all 0.4s ease;
	cursor: pointer;
}
ul#carouselControls li + li { margin-left: 15px; }
ul#carouselControls li:hover { background-color: #38aeaecc; border-color: #008A8B; }
ul#carouselControls li[aria-current=true] { background-color: rgba(1,1,0,0.7); border-color: rgba(0,0,0,0.35); cursor: default; }
ul#carouselControls.animating li { cursor: default; }
ul#carouselControls.animating li:hover { background-color: rgba(1,1,0,0.1); border-color: rgba(0,0,0,0.35); }
ul#carouselControls.animating li[aria-current=true]:hover { background-color: rgba(1,1,0,0.8); border-color: rgba(0,0,0,0.35); }

@media screen and (max-width: 650px) {
	#newsCarousel { aspect-ratio: 6/5; width: 450px; max-width: 100%; }
	#newsCarousel > div.carouselSlide { aspect-ratio: 6/5; }
	#newsCarousel > div.carouselSlide > div {
		object-fit: cover;
		object-position: center center;
	}
	#newsCarousel > div.carouselSlideIn
	{
		left: 100%;
		top: 0;
		animation: slidein_right 2s ease forwards;
	}
	#newsCarousel > div.carouselSlideOut
	{
		left: 0;
		top: 0;
		animation: slideout_left 2s ease forwards;
	}
}