html { margin: 0; padding: 0; height: 100%; min-height: 100%; }
body
{
	padding: 0 0 200px 0;
	margin: 0;
	min-height: 100%;
	position: relative;
	box-sizing: border-box;
	font-family: sans-serif;
	color: #3C3C3B;
	background-color: #fcfcfc;
}
html[lang=en] body { font-family: 'NimbusSansL',sans-serif; }
html[lang='zh-Hans'] body { font-family: 'Source Han Sans CN','Helvetica Neue',Helvetica,Arial,sans-serif; }
html[lang='zh-Hans'] #content[lang='en'] { font-family: 'NimbusSansL',sans-serif; }
html[lang='zh-Hans'] #content.content-en { font-family: 'NimbusSansL','Source Han Sans CN','Helvetica Neue',Helvetica,Arial,sans-serif; }
header,footer,main,nav,section,div { box-sizing: border-box; }

#skip a
{
	position:absolute;
	left:-10000px;
	top:auto;
	width:1px;
	height:1px;
	overflow:hidden;
}
 
#skip a:focus
{
	position:static;
	width:auto;
	height:auto;
}


/* == header == */

header
{
	margin: 0;
	padding: 0;
	width: 100%;
}

#header-wrapper
{
	width: 100%;
	height: 200px;
	top: 0;
	left: 0;
	position: fixed;
	background-color: #3C3C3B;
	background-image: url('../assets/backgrounds/header4a.jpg');
	background-repeat: no-repeat;
	background-position: center 40%;
	background-size: cover;
	transition: height 0.4s ease;
	margin: 0;
	z-index: 100;
}
#header-wrapper:after
{
	content: '';
	display: block;
	margin: 0;
	padding: 0;
	width: 100%;
	height: 1px;
	background-color: #009A9B;
	border-bottom: 1px #3c3c3b solid;
}
#header-wrapper:before
{
	content: '';
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 20%);
	z-index: 2;
	pointer-events: none;
}
#header-content
{
	width: 100%;
	max-width: 1376px;
	max-height: 100%;
	height: 100%;
	padding: 0;
	margin: 0 auto;
	position: relative;
	overflow: visible;
}

header a#site-logo
{
	position: absolute;
	width: 200px;
	height: 44px;
	top: 29px;
	right: 55px;
	color: #009A9B;
	transition: top 0.4s ease, color 0.4s ease;
}
header a#site-logo:active { color:  #fff; }
header a#site-logo svg { width: 200px; height: 44px; }

header label#menuButton { display: none; }
header label#menuButton svg { width: 40px; height: 40px; }

header.narrow #header-wrapper { height: 80px; }
header.narrow #header-wrapper a#site-logo { top: 14px; }

@media screen and (min-width: 1331px) {
	header label#menuButton {
		display: block;
		visibility: hidden;
		opacity: 0;
		transition: visibility 0s, opacity 0.35s ease 0.35s, color 0.4s ease;
	}
}

header label#menuButton:hover,
header label#menuButton:focus { color: #fff; }
header label#menuButton:active { color: #009A9B; }


/* == footer == */

footer
{
	width: 100%;
	height: 180px;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
	margin: 0; padding: 0;
}

footer.narrow { height: 20px; position: fixed; }

#footer-bg
{
	display: table;
	margin: 0; padding: 0;
	width: 100%;
	height: 180px;
	margin: 0 auto;
	position: relative;
}
#footer-bg-swoop
{
	display: table-cell;
	margin: 0; padding: 0;
	width: 1115px;
	max-width: 100%;
	height: 180px;
	background-image: url('../assets/backgrounds/bottom-swoop.png');
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-position: right top;
}
#footer-bg-stretch
{
	display: table-cell;
	margin: 0; padding: 0;
	max-width: 60%;
	background-image: url('../assets/backgrounds/bottom-swoop-stretch.png');
	background-repeat: repeat-x;
	background-size: 100% 100%;
	background-position: right top;
}
#footer-content-wrapper
{
	display: block;
	margin: 0;
	padding: 0;
	position: absolute;
	z-index: 2;
	top: 41px;
	left: 0;
	width: 100%;
}
#footer-content
{
	display: block;
	margin: 0 auto;
	width: 1200px;
	max-width: 100%;
	padding: 0 40px;
	font-size: 14px;
	color: #2a5858;
}
body.wide #footer-content { padding: 0 12px; }
#footer-links
{
	width: 65%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
}
#footer-links div
{
	display: inline-block;
}

#footer-links div#footerLeft { width: 24%; }
#footer-links div#footerCenter,
#footer-links div#footerRight{ width: 38%; }

#footer-content p { white-space: nowrap; }

#footer-links p { margin: 0; line-height: 25px; }
#footer-links a { color: #97d5d5; text-decoration: none; }
#footer-links a:hover, #footer-links a:focus { color: #fcfcfc; }
#footer-links a:active { color: #3c3c3b; }
#footer-content p.copyright { color: #2a5858; margin: 12px 0 0 0; line-height: 25px; }
#footer-content p.copyright a { color: #2a5858; text-decoration: none; }
#footer-content p.copyright a:hover, #footer-links a:focus { color: #fcfcfc; }
#footer-content p.copyright a:active { color: #3c3c3b; }

@media screen and (max-width: 850px) {
	#footer-links div#footerCenter { display: none; }
	#footer-links div { width: 50%; }
}



/* == main nav == */

nav#site-nav
{
	margin: 0;
	padding: 2px 0;
	position: absolute;
	top: 31px;
	left: 60px;
	transition: top 0.4s ease;
	background-color: rgba(0,0,0, 0.1);
	user-select: none;
}
body.home nav#site-nav { background-color: transparent; }
nav#site-nav #site-nav-label { display: none; }

nav#site-nav > ul
{
	margin: 0;
	padding: 0;
	display: inline-block;
	list-style: none;
}
nav#site-nav > ul > li
{
	display: inline-block;
	margin: 0 0.55em;
	white-space: nowrap;
	font-weight: bold;
	letter-spacing: 0.02em;
	text-shadow: 0 0 2px rgba(15,46,46, 0.3);
	position: relative;
	text-transform: uppercase;
	font-size: 14px;
	padding-bottom: 10px;
}

html[lang='zh-Hans'] nav#site-nav > ul > li + li { margin-left: 0.75em; }

nav#site-nav > ul > li > a
{
	text-decoration: none;
	color: #fcfcfc;
	transition: color 0.2s ease;
	padding: 0;
}
nav#site-nav > ul > li > a:active { color:  #f9b234; }

nav#site-nav > ul > li > a[aria-current=location]:after,
nav#site-nav > ul > li > a:hover:after,
nav#site-nav > ul > li > a:active:after
{
	content: '';
	display: block;
	position: absolute;
	width: 100%;
	height: 3px;
	left: 0;
	top: 24px;
	transition: opacity 0.2s ease, background-color 0.25s ease;
}
nav#site-nav > ul > li > a[aria-current=location]:after
{
	background-color: #009A9B;
}

nav#site-nav > ul > li > a.decoration-star { margin-left: 9px; position: relative; }
nav#site-nav > ul > li > a.decoration-star:before
{
	content: '';
	display: block;
	position: absolute;
	left: -14px;
	top: 4px;
	width: 12px;
	height: 12px;
	background-image: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 20 20" width="12" height="12"><path d="M10.052,0.052l2.239,6.891l7.246,-0l-5.862,4.259l2.239,6.891l-5.862,-4.259l-5.862,4.259l2.239,-6.891l-5.862,-4.259l7.246,-0l2.239,-6.891Z" stroke="none" stroke-width="0" stroke-miterlimit="1" fill="%23049A9B" /></svg>');
}

nav#site-nav > ul > li > a:hover:after
{
	background-color: #f9b234;
	opacity: 0.75;
	animation: kf_navCurrent 0.3s ease forwards;
}
nav#site-nav > ul > li > a:active:after
{
	opacity: 0.35;
}
nav#site-nav > ul > li > a[aria-current=location]:hover:after
{
	animation: none;
	opacity: 0.85;
}
nav#site-nav > ul > li > a[aria-current=location]:active:after { opacity: 0.5; }

@keyframes kf_navCurrent
{
	0% { width: 0; left: 50%; }
	100% { width: 100%; left: 0; }
}

header.narrow nav#site-nav { top: 16px; }

nav#site-nav > ul > li.hasMenu { padding-right: 3px; }

nav#site-nav > ul > li.hasMenu:after
{
	content: '';
	position: absolute;
	top: 12px;
	right: -8px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 4.5px 0 4.5px;
	border-color: rgba(255,139,76, 0.75) transparent transparent;
}

nav#site-nav > ul > li.hasMenu:hover:after
{
	border-color: #f9b234 transparent transparent;
}
nav#site-nav > ul > li.hasMenu:hover > a:after,
nav#site-nav > ul > li.hasMenu:active > a:after
{
	visibility: hidden;
}

nav#site-nav > ul > li > ul
{
	left: -9999px;
	position: absolute;
	display: none;
	visibility: hidden;
	opacity: 0;
	min-width: 150px;
	margin: 0;
	padding: 0;
	border-radius: 4px;
	overflow-x: hidden;
	background-color: rgba(80,80,79, 0.7);
	border: 2px transparent solid;
	box-shadow: 0 2px 6px rgba(18, 18, 17, 0.3);
	top: 26px;
	box-sizing: border-box;
	transform: translateZ(0);
	z-index: 11;
    transition: visibility 0s linear, opacity 0.2s ease;
}
body.home nav#site-nav > ul > li > ul
{
	background-color: rgba(60,60, 59, 0.5);
}
nav#site-nav > ul > li:hover > ul
{
    left: -1px;
	display: block;
    visibility: visible;
    opacity: 1;
}
nav#site-nav > ul > li:focus-within > ul
{
    left: -1px;
    visibility: visible;
}

nav#site-nav > ul > li:hover > ul:before
{
	content: '';
	position: absolute;
	top: -7px;
	left: 12px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 4px 5px 4px;
	border-color: transparent transparent rgba(80,80,79, 0.7) transparent;
}

body.home nav#site-nav > ul > li:hover > ul:before
{
	border-color: transparent transparent rgba(60,60,59, 0.5) transparent;
}

nav#site-nav > ul > li > ul > li
{
	width: 100%;
	margin: 0;
	padding: 0;
	display: block;
	position: relative;
	font-size: 13px;
	letter-spacing: 0.01em;
	background-color: rgba(60,60,59,0.85);
	overflow: hidden;
}
nav#site-nav > ul > li > ul > li:first-child { border-radius: 1px 1px 0 0; padding-top: 5px; }
nav#site-nav > ul > li > ul > li:last-child { border-radius: 0 0 1px 1px; padding-bottom: 5px; }

nav#site-nav > ul > li > ul > li a
{
	display: block;
	margin: 0;
	padding: 5px 24px 5px 16px;
	color: #fcfcfc;
	text-decoration: none;
}
nav#site-nav > ul > li > ul > li[aria-current='page']:before
{
	content: "\002022";
	font-weight: bold;
	position: absolute;
	display: block;
	top: 3px;
	left: 5px;
	color: #009A9B;
}
nav#site-nav > ul > li > ul > li:first-child[aria-current='page']:before { top: 8px; }
nav#site-nav > ul > li > ul#menuWinners > li a { padding: 4px 24px 5px 24px; }

nav#site-nav > ul > li > ul > li a:hover
{
	background-color: rgba(0,154,155,0.95);
}
nav#site-nav > ul > li > ul > li a:active
{
	background-color: rgba(259,178,52,0.95);
}

#menuToggle { display: none; }

@media screen and (max-width: 1330px) {
	header a#site-logo { right: 40px; }
	header label#menuButton
	{
		display: block;
		color: #fff;
		margin: 0; padding: 0;
		position: absolute;
		left: 40px;
		top: 26px;
		width: 40px;
		height: 40px;
		transition: top 0.4s ease, color 0.4s ease;
		cursor: pointer;
	}
	header.narrow label#menuButton
	{
		top: 16px;
	}
	nav#site-nav
	{
		display: block;
		position: absolute;
		top: 76px;
		left: -99999px;
		right: auto;
		background-color: rgba(80,80,79, 0.7);
		border: 2px transparent solid;
		box-shadow: 0 2px 6px rgba(18, 18, 17, 0.3);
		border-radius: 4px;
		padding: 0;
		margin: 0;
		overflow-y: auto;
		max-width: 520px;
		visibility: hidden;
		opacity: 0;
		transition: opacity 0.4s linear, visibility 0s linear 0.4s;
	}
	header.narrow nav#site-nav { top: 66px; }
	#menuToggle:checked + nav#site-nav {
		left: 12px;
		right: 12px;
		visibility: visible;
		opacity: 1;
		transition: visibility 0s linear, opacity 0.4s ease;
	}
	#menuToggle:checked + nav#site-nav:before
	{
		content: '';
		position: absolute;
		top: -7px;
		left: 42px;
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 0 4px 5px 4px;
		border-color: transparent transparent rgba(80,80,79, 0.7) transparent;
	}
	nav#site-nav > ul
	{
		background-color: #3c3c3b;
		display: block;
		border-radius: 2px;
		overflow: hidden;
	}
	nav#site-nav > ul > li
	{
		position: relative;
		display: block;
		margin: 0;
		padding: 0;
		text-shadow: none;
		font-size: 13px;
	}
	nav#site-nav > ul > li + li { border-top: 1px #434442 solid; }
	nav#site-nav > ul > li > a,
	nav#site-nav > ul > li > a.decoration-star
	{
		display: block;
		margin: 0 !important;
		padding: 6px 0 6px 28px;
		color: #fcfcfc;
		text-shadow: none;
		box-sizing: border-box;
		border-left: 4px transparent solid;
		background-color: #3c3c3b;
		transition: background-color 0.3s ease;
	}
	nav#site-nav > ul > li > a.decoration-star:before { display: none; }
	nav#site-nav > ul > li > a[aria-current=location] { border-left: 4px #009A9B solid; }
	nav#site-nav > ul > li > a:after { display: none !important; }
	nav#site-nav > ul > li > a:hover { background-color: #009A9B; }
	nav#site-nav > ul > li > a:active
	{
		background-color: #f9b234;
		color: #fff;
	}
	nav#site-nav > ul > li.hasMenu { padding-right: 0; }
	nav#site-nav > ul > li.hasMenu:after { display: none; }

	nav#site-nav > ul > li.hasMenu > a:after,
	nav#site-nav > ul > li > a[role=button]:after
	{
		content: '';
		display: inline-block !important;
		border-style: solid !important;
		border-width: 6px 0 6px 6px !important;
		border-color: transparent transparent transparent #7cc9c9;
		vertical-align: top !important;
		margin-left: 8px !important;
		margin-top: 4px !important;
		opacity: 1 !important;
		top: 0 !important;
		right: auto !important;
		position: static !important;
		position: relative !important;
		background-color: transparent !important;
		width: 0 !important;
		height: 0 !important;
		animation: none !important;
	}
	nav#site-nav > ul > li.hasMenu:hover > a:after,
	nav#site-nav > ul > li.hasMenu:active > a:after
	{
		visibility: visible !important;
	}
	nav#site-nav > ul > li > ul
	{
		display: block;
		border: none;
		padding: 0;
		margin: 0;
		border-radius: 0;
		background-color: inherit;
		visibility: visible;
		opacity: 1;
		position: relative;
		top: 0 !important;
		left: 0 !important;
		width: 100%;
		min-width: auto;
		box-shadow: none;
		background-color: #3c3c3b;
		box-sizing: border-box;
		box-shadow: none;
	}
	nav#site-nav > ul > li > ul > li:first-child { border-top: 1px #364544 solid; }
	nav#site-nav > ul > li > a + ul[aria-hidden='true'] { display: none; opacity: 0; }
	nav#site-nav > ul > li:focus-within > ul { left: 0; }
	nav#site-nav > ul > li > ul:before { display: none !important; }
	body.home  nav#site-nav > ul > li > ul:before { display: none !important; }
	nav#site-nav > ul > li > ul > li { border-radius: 0 !important; }
	nav#site-nav > ul > li > ul > li > a
	{
		padding: 6px 0 6px 44px;
		color: #fcfcfc;
		background-color: #3c3c3b;
		transition: background-color 0.3s ease;
	}
	nav#site-nav > ul > li > ul#menuWinners > li a { padding: 6px 0 6px 48px; }
	nav#site-nav > ul > li > ul > li + li { border-top: 1px #434442 solid; }
	nav#site-nav > ul > li > ul > li[aria-current='page']:before
	{
		content: '';
		position: absolute;
		/*
		left: 16px;
		top: 0px;
		height: 100%;
		width: 4px;
		background-color: #009A9B;
		*/
		left: -2px;
		top: 0px;
		height: 100%;
		width: 24px;
		background: linear-gradient(to right, transparent, #009A9B 100%);
	}
}

/* == lang nav == */

nav#lang-nav
{
	position: relative;
	display: block;
	margin: 0 auto;
	padding: 0;
	width: 1200px;
	max-width: 100%;
}
nav#lang-nav #lang-nav-label { display: none; }
nav#lang-nav > ul
{
	position: absolute;
	right: 48px;
	top: 253px;
	width: 203px;
	list-style: none;
	padding: 0;
	margin: 0;
	transition: top 0.4s ease;
	white-space: nowrap;
	z-index: 10;
}
header.narrow nav#lang-nav > ul { top: 130px; }
body.wide nav#lang-nav > ul { right: 24px; }


nav#lang-nav > ul > li
{
	display: inline-block;
	margin: 0;
	padding: 0;
}
nav#lang-nav > ul > li + li { margin-left: 12px; }
nav#lang-nav > ul > li > a
{
	display: inline-block;
	font-weight: normal;
	font-size: 17px;
	line-height: 34px;
	letter-spacing: 0.02em;
	box-sizing: border-box;
	width: 36px;
	height: 36px;
	border: 1px #009A9B solid;
	border-radius: 50%;
	text-align: center;
	vertical-align: middle;
	text-decoration: none !important;
	color: #009A9B;
	background-color: #fcfcfc;
	transition: all 0.25s ease;
}
nav#lang-nav > ul > li > a[lang='zh-Hans'] { letter-spacing: 0; font-size: 16px !important; }

nav#lang-nav > ul > li[aria-current=true] > a
{
	color: #fcfcfc !important;
	background-color: #3C3C3B !important;
	border-color: #3C3C3B !important;
	pointer-events: none;
	cursor: default;
}

nav#lang-nav > ul > li > a:hover,
nav#lang-nav > ul > li > a:focus
{
	color: #fcfcfc;
	background-color: #009A9B;
	border-color: #009A9B;
}
nav#lang-nav > ul > li > a:active
{
	color: #fcfcfc;
	background-color: #fc8b4c;
	border-color: #fc8b4c;
}

nav#lang-nav > ul > li > a#news-logout
{
	color: #D13D0C;
	background-color: #D13D0C18;
	border-color: #D13D0C;
	overflow: hidden;
}
nav#lang-nav > ul > li > a#news-logout:hover,
nav#lang-nav > ul > li > a#news-logout:focus
{
	color: #fcfcfc;
	background-color: #D13D0C;
	border-color: #D13D0C;
}
nav#lang-nav > ul > li > a#news-logout:active
{
	color: #fcfcfc;
	background-color: #fc8b4c;
	border-color: #fc8b4c;
}
nav#lang-nav > ul > li > a#news-logout svg
{
	width: 36px;
	height: 36px;
}


/* == main == */

main
{
	margin: 0 auto;
	width: 1200px;
	max-width: 100%;
	padding: 228px 40px 60px 40px;
	font-size: 16px;
	line-height: 24px;
	transition: padding-top 0.4s ease;
}
header.narrow + main { padding-top: 105px; }
body.wide main { padding-left: 12px; padding-right: 12px; }

main.blurred
{
	-webkit-filter: blur(2px);
	filter: blur(2px);
}

div#wrapper
{
	margin: 0; padding: 0;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: flex-start;
	clear: both;
}

#content
{
	display: block;
	padding: 0 40px 0 0;
	vertical-align: top;
	width: 100%;
	line-height: 23px;
	-webkit-text-rendering: optimizeLegibility;
	text-rendering: optimizeLegibility;
}

main h1
{
	font-size: 38px;
	font-weight: normal;
	line-height: 120%;
	color: #38aeae;
	margin: 0.5em 0 1.2em 0;
	padding-right: 240px;
}
main h2
{
	font-size: 22px;
	color: #009A9B;
	font-weight: normal;
	line-height: normal;
	margin: 1.1em 0 0.125em 0.125em;
	letter-spacing: 0.00825em;
}
main h2.big
{
	font-size: 28px;
	line-height: 150%;
	margin: 0.5em 0 1.2em 0;
}
main h3
{ font-weight: bold; }

main p { margin: 0.5em 0; }
main p.inset { padding-left: 2.5em; margin-bottom: 1em; }
main p.inset.extendedMargin { border-left: 5px #e2f2f5 solid; }

main sup { line-height: normal !important; }


#content a
{
	color: #0d96a9;
	text-decoration: underline;
	transition: all 0.35s ease;
}
#content a:hover,
#content a:focus { color: #009A9B; -webkit-text-decoration-color: #f9b234; text-decoration-color: #f9b234; }
#content a:active { color: #fc8b4c; }

main img { color: #b2b2b2; }

#content figure
{
	margin: 1.9em auto;
	text-align: center;
}

#content figure img
{
	display: inline-block;
	width: 100%;
	max-width: 864px;
	height: auto;
	box-sizing: border-box;
	padding: 12px;
	background-color: #fffffe;
	/*box-shadow: 0 0 2px rgba(60,60,59, 0.2);*/
}

#content figure.video
{
	margin: 2.4em auto;
}
#content figure.video iframe
{
	width: 820px;
	height: 410px;
	max-width: 100%;
	border: none;
}
@media screen and (max-width: 740px) {
	#content figure.video iframe { width: 90vw; height: 45vw; max-width: 100%; }
}

#content ul.winnersBottomNav
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	list-style: none;
	padding: 0;
	margin: 3em 0 0 0;
}
#content ul.winnersBottomNav li
{
	display: block;
	box-sizing: border-box;
	color: #b2b2b2;
	vertical-align: top;
	background-repeat: no-repeat;
	padding: 0;
	margin: 0;
	white-space: nowrap;
	width: 40%;
	max-width: 40%;
	text-overflow: ellipsis;
}
#content ul.winnersBottomNav li.previous { text-align: left; }
#content ul.winnersBottomNav li.index { text-align: center; }
#content ul.winnersBottomNav li.next { text-align: right; }


#content p.next { margin-top: 3em; }

#content ul.next
{
	list-style: none;
	padding: 0;
	margin: 0;
}
#content ul.next li
{
	display: block;
	box-sizing: border-box;
	color: #b2b2b2;
	vertical-align: top;
	background-repeat: no-repeat;
	padding: 0;
	margin: 0.75em 0 0 0.25em;
	white-space: nowrap;
	line-height: 24px;
}

#content ul.next li a
{
	text-decoration: none;
}
#content ul.next li a:hover,
#content ul.next li a:focus,
#content ul.next li a:active {
	text-decoration: underline;
	-webkit-text-decoration-color: #f9b234; 
	text-decoration-color: #f9b234;
}

#content ul.next li a:hover,
#content ul.next li a:focus { color: #009A9B; }
#content ul.next li a:active { color: #fc8b4c; }

ul.next svg
{
	display: inline-block;
	height: 20px;
	width: 24px;
	fill: #009A9B;
	vertical-align: top;
	margin: 2px 7px 0 0;
	padding: 0;
}
ul.next a:hover svg,
ul.next a:focus svg
{
	fill: #f9b234;
}
ul.next a:active svg
{
	fill: #fc8b4c;
}

ul.awards-catlist,
ul.awards-catlist ul
{
	list-style: none;
	margin: 0;
	padding: 0;
	border-radius: 4px;
}
ul.awards-catlist ul
{
	margin: 4px 0 6px 0.4em;
}
ul.awards-catlist > li
{
	margin: 3px 0 8px 0;
	padding: 0 0 0 1.825em;
	font-size: 18px;
	font-weight: normal;
	line-height: normal;
	color: #009A9B;
	letter-spacing: 0.00825em;
	border-radius: 4px;
	background: rgba(0,154,155,0);
	transition: background-color 0.4s ease;
}
ul.awards-catlist > li > span.awards-catlist-counter,
ul.awards-catlist > li > ul > li > span.awards-catlist-counter
{
	display: block;
	float: left;
	width: 1.3em;
	text-align: center;
	margin: 0 0.5em 0 -1.8em;
	opacity: 0.95;
}
ul.awards-catlist > li > span.awards-catlist-counter:after
{
	content: '.';
	display: inline;
	opacity: 0.9;
}
ul.awards-catlist > li > ul > li
{
	margin: 2px 0;
	padding: 0 0 0 1.55em;
	color: #3C3C3B;
	font-size: 15px;
	line-height: 24px;
	font-weight: normal;
	letter-spacing: unset;
}
ul.awards-catlist > li:hover
{
	background-color: rgba(0,154,155,0.0225);
	transition: background-color 0.4s ease;
}
ul.awards-catlist > li > ul > li > span.awards-catlist-counter { color: #2D4E4D; }


/* == sidebar == */

aside
{
	display: block;
	padding: 8px 0 30px 30px;
	margin: 20px 0 0 0;
	border-left: 1px #ddd dotted;
	box-sizing: border-box;
	vertical-align: top;
	width: 300px;
	white-space: nowrap;
	font-size: 12px;
	color: #777778;
}

main.no-sidebar aside { display: none; }
main.no-sidebar #content { max-width: 1000px; }

#sidebar-iaa-logo { color: #3C3C3B; margin-left: 0.1em; transition: color 0.25s ease; }
#sidebar-iaa-logo:hover,
#sidebar-iaa-logo:focus { color: #000; }
#sidebar-iaa-logo:active { color: #fc8b4c; }

aside p.follow-us  { margin: 0.75em 0 0 0; }
aside p.chat-with-us { margin: 0.85em 0 0 0; }

.social-media p
{ margin: 0.75em 0 0 0.1em; }

div.social-media-chat { margin-top: 1.5em; }

a.social-icon
{
	margin: 0;
	text-decoration: none !important;
	width: 23px;
	height: 23px;
	padding: 2px;
	border: 1px #009A9B solid;
	border-radius: 50%;
	display: inline-block;
	line-height: 16px;
	box-sizing: border-box;
	text-align: center;
	transition: all 0.25s ease;
	color: #fff;
	background-color: #009A9B;
	vertical-align: middle;
}

a.social-icon svg
{
	display: inline-block;
	width: 13px;
	height: 13px;
	vertical-align: top;
	margin-top: 2px;
}
a.social-icon:hover,
a.social-icon:focus { background-color: #f9b234; border-color: #f9b234; }
a.social-icon:active { border-color: #fc8b4c; background-color: #fc8b4c; }

a.social-icon + label
{
	display: inline-block;
	visibility: hidden;
	opacity: 0;
	margin: 0 0 0 0.45em;
	letter-spacing: 0.00825em;
	vertical-align: middle;
	white-space: nowrap;
	color: #009A9B;
	transition: visibility 0s, opacity 0.4s ease, color 0.25s ease;
}
a.social-icon:hover + label,
a.social-icon:focus + label,
a.social-icon:active + label { visibility: visible; opacity: 1; }
a.social-icon:active + label { color: #fc8b4c; }

div.social-qrtags
{
	display: block;
	margin: 12px 0 0 8px;
	padding: 0;
	width: 100px;
	min-height: 124px;
	vertical-align: top;
}
div.social-qrtag {
	display: none;
	margin: 0;
	padding: 0;
	opacity: 0;
}
div.social-qrtag.show
{
	opacity: 1;
	transition: opacity 0.2s ease;
}
div.social-qrtag.hide
{
	opacity: 0;
	transition: opacity 0.7s ease;
}
div.social-qrtag img
{
	display: block;
	width: 100px;
	height: 100px;
	margin: 0;
	padding: 0;
}
div.social-qrtag span
{
	display: block;
	margin: 0;
	padding: 0;
	text-align: center;
	color: #9c9c9b;
}

aside#sidebar.hasQRTag { position: relative; }

aside#sidebar.hasQRTag:after
{
	content: '';
	position: absolute;
	display: block;
	width: 1px;
	height: 124px;
	left: -1px;
	bottom: 0;
	background-color: #fcfcfc;
}


@media screen and (max-width: 1080px) {
	div#wrapper { display: block; }
	#content { padding: 0; }
	aside { border: none; padding: 40px 0 0 0; }
	aside #sidebar-iaa-logo { margin-left: 0.6em; }
	aside#sidebar.hasQRTag:after { display: none; }
	div.social-media
	{
		display: flex;
		width: auto;
		flex-direction: row;
		justify-content: flex-start;
		column-gap: 15px;
		align-items: flex-start;
		margin: 0.5em 0 0 0.5em;
	}
	div.social-qrtags { display: inline-block; margin: -24px 0 -100px 80px; }
	div.social-media p,
	div.social-qrtags p
	{ display: inline-block; margin: 0; }
	a.social-icon + label { display: none !important; }
	main h1 { padding-right: 0; }
	nav#lang-nav
	{
		position: fixed;
		top: 120px;
		right: 0;
		margin: 0;
		padding: 0;
		width: 185px;
		opacity: 1;
		z-index: 101;
		transition: top 0s linear, visibility 0s linear, opacity 0.2s ease 0.2s;
	}
	nav#lang-nav > ul
	{
		position: relative;
		right: auto;
		top: auto;
		width: auto;
		visibility: visible;
	}
	nav#lang-nav > ul > li > a
	{
		color: #fcfcfc;
		background-color: rgba(0,154,155,0.65);
		border-color: rgba(0,154,155, 0.5);
	}
	nav#lang-nav > ul > li[aria-current=true] > a
	{
		color: #fcfcfc !important;
		background-color: rgba(0,0,0,0.25) !important;
		border-color: #b2b2b2 !important;
		pointer-events: none;
		cursor: default;
	}
	nav#lang-nav > ul > li > a:active
	{
		color: #fcfcfc;
		background-color: #f9b234;
		border-color: #f9b234;
	}

	header.narrow nav#lang-nav
	{
		visibility: hidden;
		opacity: 0;
		transition: top 0s linear, visibility 0s linear 0.2s, opacity 0.2s ease;
	}
}

@media screen and (max-width: 339px) {
	header label#menuButton
	{
		left: 10px;
	}
	header a#site-logo
	{
		right: 10px;
	}
	#menuToggle:checked + nav#site-nav:before
	{
		left: 12px;
	}
}

/* Jury */

div.jury_table
{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 33px 0 1.2em 0.8em;
	padding: 0;
}
div.jury_table + div.jury_table { margin-top: 38px; }
div.jury_table > div > p
{
	display: inline-block;
	font-size: 13px;
	vertical-align: middle;
	margin: 0;
	padding: 0 0 28px 0;
	box-sizing: content-box;
}
p.jury_image
{
	width: 160px;
}
p.jury_data
{
	line-height: 20px;
	width: 221px;
}
span.jury_name
{
	font-size: 16px;
	font-weight: bold;
}
span.jury_president
{
	display: inline-block;
	margin: 0 0 1.25em 0;
	font-size: 16px;
	font-weight: bold;
	text-transform: uppercase;
}
p.jury_data.president { margin-bottom: 1.75em; width: auto; }

@media screen and (max-width: 480px) {
	div.jury_table > div > p.jury_data { margin: -12px 0 12px 0 !important; width: auto; min-width: 221px; }
}

/* Categories / Awards */

#content h2.categoryCaption { font-size: 16px; color: #3c3c3b; font-weight: bold; margin-bottom: 0.05em; }
#content h2.categoryCaption > span.cat { margin-right: 0.25em; }
#content p.categoryItem  { text-indent: 0; vertical-align: top; margin-bottom: 0; display: table-row}
#content p.categoryItem + p.categoryItem  { margin-top: 0; }
#content span.categoryNumber  { display: table-cell; width: 2em; text-align: right; padding-right: 1em; box-sizing: border-box; }
#content span.categoryTitle { display: table-cell; }

/* Press */

#content.press h2 { margin-top: 2em; }
#content.press h2:first-child { margin-top: 1em; }
#content.press h3 { font-size: 16px; margin: 1.5em 0 0.5em 0; font-weight: bold; color: #535352; }
#content.press table { margin: 0 0 1em 0.25em; border-collapse: collapse; }
#content.press table td { vertical-align: middle; }
#content.press table td.media-description { vertical-align: top; padding-top: 2px; }
#content.press span.file-descriptor { margin-left: 0.5em; font-size: 14px; }
#content.press .media-spacer { width: 8px; }
#content.press table.media-table { margin: 1.75em 0 1em 1em; }
#content.press table.media-table td { padding-bottom: 0.5em; }
#content.press table.media-table.logos td { padding-bottom: 2em; }
#content.press table.media-table td.media-spacer { width: 24px; }
#content.press .media-credit { font-style: italic; font-size: 14px; line-height: 26px; }
#content.press table.media-table td:first-child { text-align: center; }
#content.press table.media-table img { box-shadow: 0 0 2px rgba(60,60,59, 0.2); }
html[lang='zh-Hans'] #content.press .media-credit { font-style: normal; color: #535352; }

#content.press table.press-release { margin-bottom: 1.65em; }

/* Partners */

#content section.partners
{
	background-color: #fff;
	padding: 0;
	border-radius: 6px;
	max-width: 800px;
	margin: 0 0 2.5em 0;
	box-shadow: 0 0 3px rgba(60,60,59, 0.05);
}

#content section.partners h2
{
	color: #3c3c3b;
	font-size: 16px;
	font-style: italic;
	font-weight: normal;
	margin: 0;
	padding: 12px;
	line-height: 23px;
}
html[lang='zh-Hans'] #content section.partners h2 { font-style: normal; }

#content section.partners div
{
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	align-items: center;
	flex-wrap: wrap;
	margin: 0;
	padding: 1.5em 0;
}

#content section.partners div a,
#content section.partners div span
{
	display: inline-block;
	width: 240px;
	text-align: center;
	margin: 9px 6px;
	padding: 0;
	vertical-align: middle;
	padding: 16px 0;
	box-sizing: border-box;
}

#content section.partners div a img { max-width: 150px; height: auto; }

#content section.partners div a.partnerFestival
{
	width: auto;
	max-width: 100%;
	height: auto;
	padding-top: 0;
	margin: -1em 0 0 0;
}

#content section.partners div a.partnerFestival img
{
	width: 225px;
	max-width: 100%;
	height: auto;
}

#content div.team h2 { margin-top: 1.25em; margin-bottom: 0.5em; }

#content div.team p { margin-bottom: 1.5em; margin-left: 1.25em; }
#content div.team p.team-region { margin-bottom: 0.25em; color: #5c5c5b; }
#content div.team p.team-region + p { margin-top: 0.25em; }

#content a.link { text-decoration: none; }
#content a.link:hover,
#content a.link:focus,
#content a.link:active { text-decoration: underline; -webkit-text-decoration-color: #f9b234; text-decoration-color: #f9b234; }

#content a.link:before
{
	content: '';
	display: inline-block;
	width: 7px;
	height: 16px;
	margin: 4px 3px 0 0;
	vertical-align: top;
	background-image: url('../assets/icon-link.svg');
	background-repeat: no-repeat;
}


span.addrTag
{
	display: inline-block;
	width: 4em;
	vertical-align: top;
}

#content p.info-block { margin: 0.5em 0 1em 1.25em; }

#content ul.styled
{
	list-style: none;
	margin-left: 0;
	padding-left: 1.75em;
}
#content ul.styled li
{
	padding-left: 1.25em;
}
#content ul.styled li:before
{
	content: "\002022";
	display: inline-block;
	font-weight: 400;
	color: #009A9B;
	width: 1.25em;
	margin-left: -1.25em;
}

#content.gdpr ul
{
	list-style: none;
	margin-left: 0;
	padding-left: 0.5em;
}
#content.gdpr ul > li
{
	padding-left: 1.2em;
}
#content.gdpr ul > li:before
{
	content: "\002022";
	display: inline-block;
	font-weight: 400;
	color: #009A9B;
	width: 1.2em;
	margin-left: -1.2em;
}

#content ul.extendedLineHeight li { margin-bottom: 0.25em; }
#content p.extendedMargin { margin-bottom: 1em; margin-top: 1em; }

#content ul.extendedBottom li { margin-bottom: 0.5em;}
#content ul.extendedTop li { margin-top: 0.25em; }
#content ul.closeTop { margin-top: -0.6em; }

#content.gdpr h2 { margin: -1em 0 1em 0; }

#content.gdpr h3
{
	font-size: 20px;
	color: #009A9B;
	font-weight: normal;
	line-height: normal;
	margin: 1.1em 0 0.125em 0.125em;
	letter-spacing: 0.00825em;
}

div.trophy
{
	display: block;
	width: 100%;
	height: 360px;
	padding: 0;
	margin: 1.25em 0;
	background-color: #fcfcfc;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 8px;
}

div.trophy.gold-silver { background-image: url('../assets/imgs/trophy-gold-silver-lr.jpg'); }
div.trophy.black { background-image: url('../assets/imgs/trophy-black-lr.jpg'); }

@media 
  (-webkit-min-device-pixel-ratio: 2), 
  (min-resolution: 192dpi) {
	div.trophy.gold-silver { background-image: url('../assets/imgs/trophy-gold-silver-hr.jpg'); }
	div.trophy.black { background-image: url('../assets/imgs/trophy-black-hr.jpg'); }
}

#content p.trophy-separator
{
	clear: both;
}

/* === newsletter === */

table.newsletter-form { margin-top: 1.5em; }
table.newsletter-form td { padding-bottom: 0.5em; }
table.newsletter-form td:first-child { padding-right: 0.75em; white-space: nowrap;}
table.newsletter-form td.newsletter-submit { padding: 0.75em 0.25em 0 0; text-align: right; }
table.newsletter-form input[type=text]
{
	width: 18em;
	height: 26px;
	border: 1px #b2b2b2 solid;
	border-radius: 2px;
	padding-left: 4px;
	box-sizing: border-box;
}
table.newsletter-form input:valid {
  border-color: #009A9B !important;
}


.newsletterButton
{
	margin: 1.25em 0 1em 158px;
}

.styledButton
{
	height: 30px;
	padding: 0 16px;
	line-height: 26px;
	border-radius: 30px;
	background-color: #009A9B;
	color: #fcfcfc;
	font-size: 16px;
	letter-spacing: 0.02em;
	border: none;
}
html[lang=en] .styledButton { font-family: 'NimbusSansL',sans-serif; }
html[lang='zh-Hans'] .styledButton { font-family: 'Source Han Sans CN','Helvetica Neue',Helvetica,Arial,sans-serif; }
.styledButton:hover,
.styledButton:focus
{ background-color: #f9b234; }
.styledButton:active
{ background-color: #fc8b4c; }

.styledButton[disabled],.styledButton[disabled=disabled]
{
	background-color: #ddd !important;
}

/* cookie choices banner */
#cookie-choices
{
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	z-index: 99999;
	background-color: #3c3c3b;
	padding: 12px;
	box-sizing: border-box;
}
div.cookie-choices-content
{
	margin: 0 auto;
	width: 1200px;
	max-width: 100%;
	padding: 0 40px;
	color: #b2b2b2;
	font-size: 14px;
	line-height: 150%;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	align-items: center;
	letter-spacing: 0.01em;
}
span.cookie-choices-button { display: inline-block; padding: 0 0 0 0.5em; }
span.cookie-choices-button a
{
	display: inline-block;
	height: 25px;
	width: 50px;
	min-width: 50px;
	text-align: center;
	border: 1px #b2b2b2 solid;
	border-radius: 12px;
	line-height: 25px;
	color: #b2b2b2;
	background-color: #3e3e3d;
	letter-spacing: 0.02em;
	text-decoration: none;
	transition: all 0.3s ease;
}
span.cookie-choices-text a { color: #b2b2b2; text-decoration: underline; }
span.cookie-choices-text a:active { color: #f9b234; }
span.cookie-choices-button a:hover,
span.cookie-choices-button a:focus
{ background-color: #009A9B; color: #fcfcfc; border-color: #009A9B; }
span.cookie-choices-button a:active
{ background-color: #f9b234; color: #fcfcfc; border-color: #f9b234; }
#cookie-choices-spacer { display: block; margin: 0; padding: 0; }

@media (orientation: portrait)
{
	div.cookie-choices-content { flex-direction: column; }
	span.cookie-choices-button { padding: 0.5em 0 0 0; }
}

/* info-tip */
div.info-tip
{
	display: block;
	margin: 3em 0 1em 0;
	padding-left: 54px;
	position: relative;
	font-size: 92%;
}
div.info-tip:before
{
	content: 'i';
	display: block;
	position: absolute;
	top: 6px; left: 0;
	font-weight: bold;
	font-size: 18px;
	width: 34px;
	height: 34px;
	line-height: 32px;
	text-align: center;
	color: #009A9B;
	box-sizing: border-box;
	border: 1px #009A9B solid;
	border-radius: 50%;
}

/* entry button */

#content p.button
{
	text-indent: 0;
	padding-left: 1em;
	margin: 2.25em 0 2.5em 0;
}

#content p.button span.border
{
	display: inline-block;
	text-indent: 0;
	line-height: normal;
	margin: 0;
	padding: 2px;
	border: 1px #009A9B solid;
	border-radius: 33px;
	transition: border-color 0.3s ease;
}
#content p.button span.border:hover,
#content p.button span.border:focus
{
	border-color: #f9b234;
}
#content p.button span.border:active
{
	border-color: #fc8b4c;
}


#content p.button a
{
	display: inline-block;
	text-indent: 0;
	margin: 0;
	height: 30px;
	padding: 0 20px;
	line-height: 30px;
	min-width: 122px;
	text-align: center;
	background-color: #009A9B;
	color: #fcfcfc;
	font-weight: bold;
	font-size: 16px;
	letter-spacing: 0.02em;
	border-radius: 30px;
	text-decoration: none;
	transition: background-color 0.3s ease;
	position: relative;
}
#content p.button a.button-note:after
{
	content: attr(data-note);
	position: absolute;
	left: 0;
	bottom: -42px;
	width: 100%;
	text-align: center;
	color: #3C3C3B;
	font-weight: normal;
	font-size: 12px;
}

#content p.button a:hover,
#content p.button a:focus
{
	background-color: #f9b234;
}
#content p.button a:active
{
	background-color: #fc8b4c;
}

main section.newsletter-embedder
{
	width: 100%;
	max-width: 482px;
	height: auto;
	min-height: 200px;
	position: relative;
	vertical-align: top;
	text-align: left;
	margin: 2em 0;
	padding: 0;
	box-sizing: border-box;
}
main section.newsletter-embedder iframe
{
	border: none;
	margin: 0;
}


/* zh */


html[lang='zh-Hans'] body.home h2.big { text-align: center;  max-width: 1080px; padding-right: 240px; box-sizing: border-box; }
@media screen and (max-width: 1080px) {
	html[lang='zh-Hans'] body.home h2.big { max-width: 100%; padding-right: 0; }
}

html[lang='zh-Hans'] #content ul.styled { padding-left: 3em; }
html[lang='zh-Hans'] #content ul.styled li { padding-left: 1em; }
html[lang='zh-Hans'] #content ul.styled li:before
{
	width: 1em;
	margin-left: -1em;
}

html[lang='zh-Hans'] #content > p { line-height: 1.6em; }
html[lang='zh-Hans'] #content > p:not([class]) {
	text-indent: 2em !important;
	line-height: 1.75em;
	text-align: justify;
	margin: 0.875em 0 0 0;
}
html[lang='zh-Hans'] #content div.team { line-height: 1.75em; }
html[lang='zh-Hans'] #content.gdpr ul li
{
	line-height: 1.75em;
}


/* print */

@media print {
	body
	{
		padding: 0;
		background-color: #fff;
	}
	header,
	header.narrow,
	#header-wrapper,
	#header-content
	{
		position: relative;
		height: auto;
		display: block;
		width: auto;
		margin: 0;
		padding: 0;
		text-align: right;
		background: none;
		background-color: inherit;
		top: 0;
		left: 0;
		right: auto;
		bottom: auto;
	}
	#header-content
	{
		padding: 12px;
	}
	header label#menuButton,
	header.narrow label#menuButton,
	nav#site-nav,
	nav#lang-nav,
	#menuToggle:checked + nav#site-nav,
	#header-wrapper:before,
	#header-wrapper:after,
	#skip,
	aside,
	footer,
	#cookie-choices,
	#cookie-choices-spacer
	{
		display: none !important;
	}
	header a#site-logo
	{
		position: relative;
		top: 0;
		left: 0;
		right: auto;
		bottom: auto;
		margin: 0;
		width: 200px;
		height: 44px;
		transition: unset !important;
		color: #049A9B;
	}
	main
	{
		margin: 0;
		width: auto;
		padding: 0 40px 40px 40px;
		font-size: 16px;
		line-height: 24px;
		transition: padding-top 0.4s ease;
	}
	#logo-chevron { fill: #049A9B !important; }
	#logo-typo { fill: #3c3c3b !important; }
}
