@charset "utf-8";

* {
	margin:0;
	padding:0;
	font-size:inherit;
	font-family:inherit;
	box-sizing:border-box;
}

@font-face {
	font-family: 'icons';
	src:
		url('fonts/icons.ttf?v2') format('truetype'),
		url('fonts/icons.woff?v2') format('woff'),
		url('fonts/icons.svg?v2#icons') format('svg');
	font-weight: normal;
	font-style: normal;
	font-display: block;
}

@font-face {
	font-family: 'Renogare';
	src: url('fonts/Renogare-Regular.eot');
	src: url('fonts/Renogare-Regular.eot?#iefix') format('embedded-opentype'),
						url('fonts/Renogare-Regular.woff2') format('woff2'),
						url('fonts/Renogare-Regular.woff') format('woff'),
						url('fonts/Renogare-Regular.ttf')  format('truetype'),
						url('fonts/Renogare-Regular.svg#Renogare') format('svg');
}

body {
 font-family:'Quattrocento Sans', sans-serif;
	line-height:1.4;
 font-size:16px;
 margin:0px;
 background-color:#fff;
 color:#000;
	scroll-behavior:smooth;
	-webkit-text-size-adjust: none;
}
html, body { height:100%; }
#container {
 min-height:100%;
 padding-bottom:335px;
}
* html #container {
 height:100%;
}

article, aside, details, figcaption, figure, footer, header, main, mark, nav, section, summary, time {
	display:block;
}

a { color:#000; text-decoration:none; }
a:hover { text-decoration:underline; }

article a { color:#EE1B2C; text-decoration:underline; }
article a:hover { filter:brightness(0.8); }

table { border-collapse:collapse; }
th { text-align:left; color:#fff; padding:1px 10px; text-transform:uppercase; }
tr:nth-child(odd) { background-color:#f1f1f1; }
tr + tr > th { border-top:10px solid #fff; }
td { padding:10px; }

img { border:none; }
ul {	padding-left:1em; }
time { font-size:12px; color:#a2afbe; text-transform:uppercase; }

* + p, * + h1, * + h2, * + h3, * + h4, * + h5, * + h6, * + table { margin-top:1em; max-height:10000em; }
hr { margin:1em 0; height:1px; border:none; overflow:hidden; background-color:#000; }

h1, h2, h3, h4, time { font-family:Renogare; font-weight:normal; }
h1 { font-size:48px; margin-top:0; }
h2 { font-size:36px; text-align:center; }
h3 { font-size:30px; }
h4 { font-size:20px; }
h5 { font-size:20px; }

h2.left { text-align:left; }
h2.left:after { margin-left:0; }

.xxxl { font-size:140px; letter-spacing:-4px; }
.xxl { font-size:80px; letter-spacing:-2px; }
.xl { font-size:50px; letter-spacing:-1px; }
.l { font-size:30px; letter-spacing:-1px; }
.ml { font-size:18px; }
.m { font-size:16px; }
.s { font-size:14px; }
.xs { font-size:12px; }

h1, h2, h3, h4, .xxxl, .xxl, .xl, .l { line-height:1; font-weight:normal; text-transform:uppercase; }

dl { position:relative; }
dt {
 font-weight:bold;
}
dd {
 margin:5px 11px 10px;
}
dt[tabindex] {
 /* padding:5px 10px; border:1px solid #ccc; border-radius:5px; */
 cursor:pointer;
 outline:none;
 padding-right:30px;
}
dd[tabindex]:before {
	content: ">";
 transform:rotate(90deg);
	margin-top: -29px;
	transition: all 0.5s;
	z-index: 0;
	position: absolute;
	right: 0px;
	width: 20px;
	height: 20px;
	line-height: 18px;
	color: #fff;
	background-color: #000;
	text-align: center;
	border-radius: 10px;
}
dd[tabindex] {
 max-height:0;
 transition:all 1s;
 overflow:hidden;
 box-sizing:border-box;
}
dt:focus { outline:none; }
dt:focus + dd, dd:focus {
 max-height:400px;
 outline:none;
}
dd:focus-within {
 max-height:400px;
 outline:none;
}
dt:focus + dd[tabindex]:before, dd[tabindex]:focus:before {
 transform:rotate(-90deg);
 background-color:#ccc;
 color:#000;
}
dd[tabindex]:focus-within:before {
 transform:rotate(-90deg);
 background-color:#ccc;
 color:#000;
}
dd + dt {
 border-top:1px solid #ccc;
 padding-top:20px;
}


.half, .third, .quarter {
	display:inline-block;
	vertical-align:top;
	margin:10px;
	padding:10px;
}
.half { width:calc(50% - 3px); margin:0; }
.third { width:calc(33.3% - 20px); }
.quarter { width:calc(25% - 20px); }

.inline { display:inline; }

.icons {
	font-family: 'icons' !important;
	speak: none;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-size:20px;
}
.icons a { text-decoration:none; }

.button, a.button, input[type=button], input[type=submit], input[type=reset] {
	padding:10px 10px 8px;
	text-decoration:none;
	text-transform:uppercase;
	cursor:pointer;
	font-weight:bold;
 border:none;
 color:#fff;
 background-color:#000;
 transition:all 0.5s;
 border-radius:5px;
}
.button:hover {
 background-color:#333;
}
input[type=button], input[type=submit], input[type=reset] { padding:2px 8px; }


.not-desktop { display:none !important; }
.mobile-only { display:none !important; }

.scale { position:relative; }
.scale > div { display:inline-block; }
.scale > iframe { position:absolute; width:100%; height:100%; top:0; left:0; }

header {
	padding:20px calc(20px + 1vw);
	text-align:right;
}

header aside {
 background-color:#000;
 color:#fff;
 padding:11px calc(20px + 1vw) 13px;
 text-align:right;
 margin:-20px calc(-20px - 1vw) 20px;
}
header aside a { color:#fff; }
header aside a:hover { color:#ccc; }
header aside div { display:inline-block; margin-left:10px; vertical-align:middle; }
header aside .icons { font-size:16px; }

header .logo { width:182px; height:56px; float:left; }

header:after {
	content:"";
	display:block;
	height:0;
	clear:both;
}

.event_page header {
 padding-top:0;
 padding-bottom:0;
}
.event_page header .logo { width:160px; height:23px; margin-top:-36px; margin-bottom:0; }
.event_page header nav { margin-top:-41px; margin-bottom:0; font-size:14px; }
.event_page nav > ul > li > a { color:#fff; }
.event_page header nav > ul > li > a:hover { color:#ccc; }
.event_page header aside { margin-top:0; margin-bottom:0; }
.event_page header aside .is-current { text-decoration:underline; }
.event_page nav li[tabindex]:before { color:#fff; }

.event_page #menu_button { top:65px; }

#event_header aside {
 float:right;
	margin: 4px 5px 0 0;
	color: #a2afbe;
	background: transparent;
	padding: 0;
}
#event_header aside > * { font-weight:bold; }
#event_header aside a:not(.button) { color:#a2afbe; }
#event_header img { height:140px; max-width:515px; object-fit:contain; margin:30px auto; display:block; }

#event_header {
 max-width:990px;
 margin:0 auto;
 position:relative;
 z-index:4;
}
#event_header nav {
 border-radius:5px;
 margin:20px 0;
}
#event_header nav > ul { display:flex; justify-content:space-evenly; }
#event_header nav > ul > li { margin:12px 5px 7px; }
#event_header nav > ul > li > a:hover { color:#000; }

#event_nav aside { display:none; }

#event_header nav.on_video { background:none !important; }
#event_header nav.on_video > ul > li > a { color:#fff; }

.lang {	font-size:14px; }
.lang .is-current { font-weight:bold; text-decoration:underline; }

nav .header_right_widget {
	text-align:center;
	margin:20px 0;
 display:none;
}
nav .lang { display:none; float:left; margin:0 10px; font-weight:normal; }

nav {
	font-size:15px;
	text-transform:uppercase;
	font-weight:bold;
 text-align:center;
 padding:0;
 margin: 28px 0 8px;
}
nav ul { margin:0; padding:0; list-style-type:none; }
nav li { margin:10px 15px 9px; display:inline-block; height:21px; overflow:hidden; vertical-align:top; }
nav a { text-decoration:none; }

nav:focus, #menu_button:focus, nav li:focus { outline:none; }

nav li ul {
 display:none;
 position:absolute;
 background-color:#fff;
 border:1px solid #ccc;
 text-align:left;
 margin-left:-10px;
 z-index:10;
}
nav li ul li {
 display:block;
 margin:0;
 padding:5px 10px;
 height:auto;
}
nav li:hover ul {
 display:block;
}
nav li[tabindex]:before {
 content:">";
 transform:rotate(90deg);
 float:right;
 padding: 0 15px 10px 0;
}

.menu_bg {
	display:none;
	position:fixed;
	z-index:10;
	left:0;	right:0; top:0; bottom:0;
	background-color:rgba(0,0,0,0.5);
}
#menu_button {
	display: none;
	padding: 10px;
	font-size: 32px;
	line-height: 32px;
	cursor: pointer;
	font-family: 'icons' !important;
	position: absolute;
 right: calc(8px + 1vw);
 top: 68px;
 z-index:3;
}
#menu_button:hover { color:#666; }
#nav_close {
	display:none;
	text-align:right;
	cursor: pointer;
	margin:0 10px 0 0;
	font-size:14px;
}
#nav_close:hover { color:#ccc; }

#sponsors {
	text-align:center;
	margin:auto;
	padding:0 20px 30px;
	padding:0px calc((100% - 980px) / 2 ) 40px;
}
#sponsors img {
	vertical-align:middle;
	margin:30px;
	display:inline-block;
	object-fit:contain;
}
#sponsors h2 { margin:30px 0 10px; }
#sponsors > h1 { font-size:45px; margin-top:50px; }
#sponsors .half { padding-left:0; padding-right:0; }
#sponsors > div { padding:10px 0; margin:10px 0; }

#page_title + #sponsors { border-top:none; }

.img_xl img { width:390px; height:195px; }
.img_l img { width:214px; height:107px; }
.img_m img { width:182px; height:91px; }
.img_s img { width:136px; height:68px; }
.img_xs img { width:120px; height:60px; }

.img_xl.half + .img_l.half h2:after { margin-bottom:64px; }
.img_m.half + .img_s.half h2:after { margin-bottom:43px; }

/*
footer {
	padding:calc(10px + 1vw) calc(20px + 2vw);
 display:flex;
 flex-wrap:wrap;
 align-items:center;
 min-height:132px;
 box-sizing:content-box;
 margin-top:calc(-132px - 2vw);
}
footer > div {
	vertical-align:middle;
	padding:10px;
}
#footer_left { float:left; }
#footer_center { text-align:center; padding:10px 0; margin:auto; overflow:hidden; }
#footer_center img { max-height:44px; max-width:116px; margin:5px; vertical-align:middle; }
#footer_right { text-align:right; float:right; order:3; }
footer .icons { display:inline-block; padding:10px 0 10px 10px; }
footer .icons a { padding:0 2px; }
*/

footer {
 min-height:335px;
 margin-top:-335px;
 background-color:#000;
 color:#fff;
 text-transform:uppercase;
 font-size:14px;
}

footer h4 { font-size:16px; margin-bottom:0.75em; }

footer p { margin-top:0.5em; }

footer a { color:#fff; text-decoration:none; }
footer a:hover { text-decoration:underline; }
footer input[type=email] { padding:1px 3px 0px; }
footer input[type=submit] { background-color:#fff; color:#000; }
footer input[type=submit]:hover { background-color:#ddd; }
footer .icons a:hover { text-decoration:none; color:#ccc; }

footer > div {
 display:inline-block;
 vertical-align:middle;
 width:25%;
 text-align:center;
 padding:60px 20px;
}

footer > div:first-child {
 display:block;
 width:100%;
 border-bottom:4px solid #fff;
 padding:20px;
}

footer .icons {
 font-size:16px;
 margin-top:1em;
}

#event_slider {
 overflow:hidden;
 width:calc(100% + 1px);
 margin-left:-1px;
 position:relative;
 white-space:nowrap;
}
#event_slider > a {
 width:calc(100% / 6);
 display:inline-block;
 vertical-align:top;
 overflow:hidden;
 transition:all 1s;
 border-left:1px solid #fff;
}
#event_slider > a#e0 {
 margin-left:calc(100% / 2 * -1);
}
#event_slider > a > div {
 white-space:normal;
 height:37vw;
 background-color:#ccc;
 background-size:cover;
 background-position:center;
 position:relative;
 transition:all 1s;
}
#event_slider > a:hover * { color:#eee; border-color:#eee; }
#event_slider > a:hover > div { transform:scale(1.05); }
#event_slider > a > div > div {
 position:absolute;
 padding:20px 10px;
 bottom:0;
 z-index:1;
 width:100%;
 text-align:center;
 color:#fff;
 text-shadow:0 0 5px rgba(0,0,0,0.5);
}
#event_slider > a > div:before {
 content:"";
 position:absolute;
 z-index:0;
 left:0; right:0; top:0; bottom:0;
 background-color:rgba(0,0,0,0.4);
}
#event_slider > a.is-current {
 width:calc(100% / 3);
}
#event_slider > a.is-current > div:before {
 background-color:rgba(0,0,0,0);
}

#event_slider > a.is-current h4 { font-size:32px; }
#event_slider > a.is-current > div > div {
 padding:40px 20px;
}
#event_slider h4 { font-size:16px; transition:all 1s; }
#event_slider h6 {
 text-transform:uppercase;
 font-size:11px;
 margin-top:4px;
 height:30px;
}
#event_prev, #event_next {
 color:#fff;
 width:24px;
 border-radius:50%;
 border:1px solid #fff;
 text-shadow:0 0 5px rgba(0,0,0,0.5);
 box-shadow:0 0 5px rgba(0,0,0,0.5);
 position:absolute;
 margin-top:-40px;
 font-size:29px;
 line-height:20px;
 text-align:center;
 z-index:2;
 left:50%;
 margin-left:calc((100vw / 6 - 20px) * -1);
 cursor:pointer;
 padding:0 1px 2px 0;
}
#event_next {
 margin-left:calc(100vw / 6 - 40px);
 padding: 0 0 2px 2px;
}
#event_prev:hover, #event_next:hover {
 color:#ccc;
 border-color:#ccc;
}

.lightwidget-widget {
 width:1920px;
 margin:20px 0;
 border:0;
 overflow:hidden;
 max-width:calc(100vw - 30px);
 margin-left: calc(50% - 50vw + 16px + (50vw - 960px));
} 

#slider {
	overflow:hidden;
	white-space:nowrap;
	height:33vw;
	text-transform:uppercase;
	font-size:18px;
}
#slider p { margin-top:2em; }
#slider > div, #slider > a > div {
	width:100%;
	height:33vw;
	background-size:cover;
	text-align:center;
	display:inline-block;
	transition:all 1s;
}
#slider > div:before, #slider > a > div:before {
	content:"";
	width:0;
	height:33vw;
	display:inline-block;
	vertical-align:middle;
}
#slider > div > div, #slider > a > div > div {
	display:inline-block;
	vertical-align:middle;
	white-space:normal;
}
#slider > a > div > div > div[class], #slider > div > div > div[class] {
	text-shadow:
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,
	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff,	 0 0 5px #fff
		;
}
.slider_circles {
	height:10px;
	line-height:12px;
	font-size:12px;
	margin-top:-40px;
	margin-bottom:28px;
	z-index:1;
	text-align:center;
}
.slider_circles div {
	display:inline-block;
	width:12px;
	height:12px;
	cursor:pointer;
 margin:0 2px;
}
.slider_circles div:before { content:"o"; }
.slider_circles div.is-current:before { content:"O"; }
.slider_arrow_left, .slider_arrow_right {
	height:50px;
	line-height:50px;
	font-size:50px;
	margin-top:calc(-14.1vw - 25px);
	margin-bottom:calc(14.1vw - 25px);
	z-index:1;
	text-align:left;
 padding:0 calc(1vw + 10px);
 cursor:pointer;
	color:#fff;
	text-shadow: 0 0 3px #000, 0 0 3px #000, 0 0 3px #000, 0 0 3px #000, 0 0 3px #000;
}
.slider_arrow_right {	text-align:right; }
.slider_arrow_left:hover, .slider_arrow_right:hover { color:#ddd; }

#banners, #double_banners {
	text-align:center;
	padding:calc(20px + 2vw);
}
article + #banners, article + #double_banners { padding-top:0; }
#banners img {
	width:920px;
	height:115px;
	display:none;
	vertical-align:top;
}
#double_banners img {
	width:920px;
	height:230px;
	display:none;
	vertical-align:top;
}
#banners img.is-current, #double_banners img.is-current {
	display:inline-block;
}
#banners .square img, #halfpages .square img, #double_banners .square img {
	width:300px;
	height:300px;
}

#cta {
 display:flex;
}
#cta > a > div {
	background-size:cover;
	vertical-align:top;
	transition:all 0.5s;
}
#cta > a > div:before {
	content:"";
	display:inline-block;
	vertical-align:middle;
 padding-top:66.66%;
	width:0;
}
#cta h2 { display:inline-block; }
#cta h2:after { transition:all 0.5s; }
#cta a {
	display:inline-block;
	vertical-align:top;
	width:50%;
 flex-grow:1;
	overflow:hidden;
	text-decoration:none;
	text-align:center;
	text-shadow:
	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,
	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,
	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,
	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,
	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff,	 0 0 2px #fff;
}
#cta a:hover div {
	transform:scale(1.05);
}

#halfpages {
 float:right;
	padding:20px;
}
#halfpages img {
	width:300px;
	height:600px;
	display:none;
	vertical-align:top;
}
#halfpages img.is-current {
	display:inline-block;
}

.schedule_wrapper {
 background-color:#000;
 color:#fff;
}
.schedule_wrapper tr:nth-child(odd) { background-color:#333; }
.schedule_wrapper tr + tr > th { border-top:10px solid #000; }

#schedule {
	padding:20px 1vw;
}
#schedule h2 { margin:20px; }
#schedule h2:after { display:none; }
#sked_box {
	width:calc(100% - 380px);
	height:540px;
	overflow:auto;
	margin:0 20px;
}
#schedule_table { width:100%; }
#halfpages + #schedule_table {
	width:calc(100% - 380px);
}
#schedule_table td:last-child { text-align:right; }
.schedule_details { font-size:14px; font-style:italic; }

#page_title {
	text-align:center;
	padding:20px 20px 0;
 margin:auto;
 max-width:990px;
}

article {
	margin:auto;
	padding:calc(20px + 2vw);
	max-width:990px;
	box-sizing:content-box;
}
article img { max-width:100%; height:auto; }

.side_img, .side_img .side_img_left > img, .side_img .side_img_right > img, .side_img > div { height:28.1vw; min-height:420px; }
.side_img > .side_img_left > img, .side_img > .side_img_right > img {
	width:100%;
	object-fit:cover;
	transition:all 1s;
}
.side_img > div:before { height:calc(25.1vw - 30px); min-height:calc(390px - 3vw); }
.side_img > .side_img_left, .side_img > .side_img_right { float:left; width:66.6%; padding:0; }
.side_img > .side_img_right { float:right; }
.side_img > div {
	overflow:hidden;
	padding:calc(15px + 1.5vw) calc(30px + 3vw);
	white-space:nowrap;
}
.side_img > div > article {
	display:inline-block;
	vertical-align:middle;
	white-space:normal;
 padding:0;
}
.side_img > div + div {
 overflow-y:auto;
}

.side_img > div + div:before {
	content:"";
	display:inline-block;
	vertical-align:middle;
	width:1px;
}
.side_img:after {
	content:"";
	display:block;
	clear:both;
	width:0;
	height:0;
}

#links {
	text-align: center;
	font-size: 15px;
	font-weight: bold;
	color: #fff;
	text-transform: uppercase;
}
#links a {
	text-decoration: none;
	margin: 8px 10px 6px;
	display: inline-block;
}

.athletes {
	margin:calc(10px + 1vw);
	position:relative;
}
.athletes > div {
	display:inline-block;
	vertical-align:top;
	margin:calc(5px + 0.5vw);
	width:calc(16.66% - 10px - 1vw);
	color:#fff;
	text-align:center;
	padding:20px;
}
.athletes > div > a > div { overflow:hidden; width:calc(100% + 40px); height:calc((100% + 40px) * 0.66); margin:-20px -20px 20px; }
.athletes > div > a > div > img {
	width:100%; height:calc(100% * 0.66);
	transition:all 0.5s;
	vertical-align:top;
	display:block;
}
.athletes > div > a:hover > div > img { transform:scale(1.05); }
.athletes a { text-decoration:none; }
.athletes a h4 { margin-top:20px; height:50px; }
.athletes a p { text-decoration:underline; margin-top:20px; }
.athletes .bio {
	display:none;
	position:absolute;
	left:0;
	width:calc(100% - 1vw - 6px);
	padding:calc(20px + 2vw);
	border-width:3px;
	border-style:solid;
	background-color:#fff;
	color:#000;
	font-size:14px;
	text-align:left;
	margin: calc(30px + 1vw) calc(5px + 0.5vw);
}
.athletes .bio > * { display:inline-block; vertical-align:middle; }
.athletes .bio > img {
 width:66.6%;
	height:33.3vw;
	object-fit:cover;
}
.athletes .bio > div {
	width:calc(33.3% - 20px - 2vw);
	margin-right:calc(20px + 2vw);
}
.athletes .is-active .bio {
	display:block;
}
.athletes .arrow {
	display:none;
	height:25px;
	background-color:#fff;
	margin:20px -20px -20px;
	text-align:center;
}
.athletes .arrow img {
	width:50px;
	height:25px;
	display:inline-block;
	vertical-align:top;
}
.athletes .is-active .arrow {
	display:block;
}
.athletes .bio > div.bio_x {
	display:block;
	text-align:right;
	cursor:pointer;
	width:fit-content;
	font-weight:bold;
	font-size:30px;
	line-height:20px;
	height:20px;
	margin:calc(-10px - 1vw) 0 calc(5px + 0.5vw) auto;
}
.bio table {	width:calc(100% + 20px); margin:0 -10px; }
.bio th { background-color:#fff;  text-transform:none; }
.bio .icons { white-space:nowrap; }

.athletes > div.is-active:before {
	content:"";
	background-color:rgba(0,0,0,0.75);
	position:fixed;
	left:0;
	top:0;
	right:0;
	bottom:0;
}

#blog { max-width:990px; margin:auto; }
#blog a { text-decoration:none; }
#blog a:hover { text-decoration:underline; }
#blog {
 text-align:center;
 padding:calc(10px + 1vw);
 font-size:14px;
}
#blog > div > div > a > div {
 margin:-10px;
 width:calc(100% + 20px);
 height:calc(50% + 10px);
 overflow:hidden;
}
#blog > div > div > a > div > img {
 width:100%;
 height:50%;
 transition:all 0.5s;
 display:block;
}
#blog > div > div > a:hover > div > img {
 transform:scale(1.1);
}
#blog h4 { margin:10px 0; }

#blog > div {
 padding:20px 0;
 border-bottom:1px solid #ccc;
}
#blog > div:first-child { padding-top:0; }
#blog > div:last-child { border:none; padding-bottom:0; }

#blog .half { vertical-align:middle; width:50%; }
#blog .half:nth-child(even) { padding: 10px 20px; }

.tag {
 margin:10px auto;
 width:fit-content;
 color:#fff;
 font-size:11px;
 text-transform:uppercase;
 padding:2px 10px 0;
 font-weight:bold;
}


@media (max-width:1920px) {
	.lightwidget-widget {
		width:1920px;
		margin:20px -5px;
		margin-left: calc(50% - 50vw + 16px);
	} 
}

@media (max-width:1080px) {
	#nav_close, #menu_button {
		display:block;
	}
	nav, .event_page header nav {
		width:300px;
		position:fixed;
  overflow:auto;
		right:0;
		top:0;
		margin-right:-300px;
  margin-top:0;
		height:100%;
		transition:all 1s;
		z-index:11;
		padding:10px 0;
		text-align:left;
  background-color:#000 !important;
  color:#fff;
	}
 nav a { color:#fff; }
 nav a:hover { color:#ccc; }

 nav li ul {
  background-color: unset;
  border: none;
  position: static;
  margin-left: 5px;
  font-size: 13px;
 }
 nav li ul { display:block; max-height:0; transition:all 1s; }
 nav li:focus ul { max-height:200px; }
 nav li:focus-within ul { max-height:200px; }

	nav:focus, .event_page header nav:focus, #event_header nav:focus, #menu_button:focus + nav, #menu_button:focus ~ #event_header > nav {
		margin-right:0;
	}
	nav:focus-within, .event_page header nav:focus-within, #event_header nav:focus-within {
		margin-right:0;
	}
	nav:focus + .menu_bg, #menu_button:focus ~ .menu_bg {
		display:block;
	}
	nav:focus-within + .menu_bg {
		display:block;
	}
	nav > ul > li, nav > div > ul > li, #event_header nav > ul > li {
		display:block;
		padding:5px 10px 4px;
		margin:5px 10px;
  height:auto;
	}
 nav li[tabindex]:before { padding:0 6px 0 0; }
 nav li[tabindex]:hover:before { color:#ccc; }
 nav > ul > li[tabindex], nav > div > ul > li[tabindex] {	cursor:pointer; }

 .event_page header > nav { display:none; }
 .event_page #event_header aside { margin-right: calc(67px + 2vw); }
 #event_header { position:inherit; }
 #event_header img { margin:30px calc(20px + 1vw); height:auto; max-height:140px; }
 #event_header > nav { margin:0 -300px 0 0; padding:0; border-radius:0; }
 #event_header > nav > ul { padding:5px 0; display:block; background-color:#000; }
 #event_header nav.on_video { background:#000 !important; }

 #event_main_nav_mobile {
  background-color:#000;
  padding:10px 0 20px;
 }

 .athletes > div { width:calc(25% - 10px - 1vw); }

	.desktop-only { display:none !important; }
	.not-desktop { display:block !important; }	
	h1 { font-size:50px; }
 .xxxl { font-size:90px; letter-spacing:-3px; }
 .xxl { font-size:60px; }
 .xl { font-size:40px; }
 .third { width:calc(50% - 20px); }

	#sponsors .half { display:block; width:auto; }
	.img_xl.half + .img_l.half h2:after, .img_m.half + .img_s.half h2:after { margin-bottom:20px; }

	#banners img, #double_banners img { max-width:100%; height:auto; }

	.side_img, .side_img > .side_img_left, .side_img > .side_img_right, .side_img > div { height:50vw; }
	.side_img > .side_img_left, .side_img > .side_img_right, .side_img > .side_img_left > img, .side_img > .side_img_right > img {	width:50vw; height:50vw;	}

 .athletes > div { width:calc(33.3% - 10px - 1vw); }
	.athletes .bio > *, .athletes .bio > div, .athletes .bio > img { display:block; width:auto;	height:auto; margin:0; max-width:100%;	}

	footer > div:not(:first-child) {	width:50%; padding:20px;	}
}

@media (max-width:780px) {
 .mobile-only { display:block !important; }
	.not-mobile {  display:none !important; }
	img { max-width:100%; }
	h1 { font-size:40px; }
	h2 { font-size:30px; }
	h3 { font-size:25px; }
	h2:after {
		width: 75px;
		margin: 7px auto 20px;
		border-bottom-width:3px;
	}
 .xxxl { font-size:60px; letter-spacing:-2px; }
 .xxl { font-size:40px; }
 .xl { font-size:25px; }
 .third, .half { display:block; width:auto; }
 .half { padding:10px 0; }
 #covid_updates { margin: -20px -15px 20px; }
 #header_right, #container > .sportnav { display:none; }
 nav .lang, nav .header_right_widget, nav > .sportnav { display:block; }
 #event_header nav > ul { display: block; }

 #event_slider > a { width:calc(100% / 4); }
 #event_slider > a.is-current { width:calc(100% / 2); }
 #event_slider > a > div { height:50vw; }
	#slider > div > div > div[class], #page_title h1 {
		text-shadow:
			0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,
			0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,
			0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,
			0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,
			0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,
			0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff,	 0 0 3px #fff
			;
	}
	.button { border-width:3px; border-radius:3px; }
	header { padding:20px 15px 10px; }
	#header_right { margin:20px 0 0; text-align:left; float:left; }
	#sponsors { padding-top:20px; }
	#sponsors h2 { margin-top:0; }
 #sponsors > h2 { font-size:35px; margin-top:30px; }
	#sponsors img { max-width:calc(100% - 20px); }
	.img_xl img { width:280px; height:140px; }
	.img_l img { width:140px; height:70px; }
	.img_m img { width:120px; height:60px; }
	.img_s img { width:100px; height:50px; }
	.img_xs img { width:90px; height:45px; }

 #page_title { padding:calc(10px + 4vw); }

 #slider { border-bottom:none; }
 #slider_circles { margin:10px; }
 #slider p { margin-top: 1em; }

	#schedule { padding:0 0 20px; }
	#schedule h2 { margin:10px; }
	#sked_box { width:auto; margin:0 10px; height:auto; overflow:visible; }
 #halfpages + #schedule_table { width:100%; }
	#halfpages {
		padding:10px;
		float:none;
		text-align:center;
	}
	.side_img, .side_img > .side_img_left, .side_img > .side_img_right, .side_img > div { height:auto; min-height:0; }
 .side_img > .side_img_left, .side_img > .side_img_right, .side_img > .side_img_left > img, .side_img > .side_img_right > img {	width:100vw; height:66.6vw;	}
 .athletes > div { width:calc(50% - 10px - 1vw); }
}

@media (max-width:639px) {
 header { padding: 20px 10px; }
 header aside {
  margin-left:-10px;
  margin-right:-10px;
  padding:11px 10px 13px;
 }
 #menu_button { right:0; }
 /*
 .event_page #event_header aside {
		position:absolute;
		top:90px;
		right:11px;
		margin-right:0;
 }
 */
 #event_header img { margin:20px auto; max-width: calc(100% - 100px); object-position:left; }
 #event_header aside { display:none; }
 .event_page #event_header #event_nav aside {
  display:block;
		float:none;
		position:static;
		text-align:center;
		margin:20px 10px 0;
 }
 .event_page #menu_button { top: 55px; }
 #page_title { padding:20px; }
 #event_slider > a { width:100%; }
 #event_slider > a.is-current { width:100%; }
 #event_slider > a > div { height:100vw; }
 #event_slider > a h4 { font-size:32px; }
 #event_slider > a > div > div { padding: 40px 20px; }
 .athletes > div { width:auto; }
	.athletes .is-active .arrow, .bio h3 { display:none; }
	.athletes .bio { position:static; margin:20px -20px -20px; width:auto; border-top:none; padding:1px 10px 10px; }
 .athletes .bio > div.bio_x { margin-top:10px; }
 .athletes > div.is-active:before { display:none; }
	footer > div:not(:first-child) {	width:100%;	}
 #cta { display:block; }
 #cta a { width:100%; }
}