/* =============================================================================
  RESET
============================================================================= */
html,
body,
div,
span,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
em,
img,
small,
strong,
ol,
ul,
li,
article,
aside,
figure,
figcaption,
footer,
header,
nav,
section {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

ol,
ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* =============================================================================
  BUTTON RESETS
============================================================================= */
button {
  margin: 0;
  padding: 0;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  background: none;
  border: 0;
  border-radius: 0px;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  outline: none;
  cursor: pointer;
}

/* =============================================================================
  BOX SIZING AND CLEARFIX
============================================================================= */
*,
*::before,
*::after {
  box-sizing: border-box;
}

.clearfix::after {
  content: "";
  display: table;
  clear: both;
}

/* =============================================================================
  FONT INCLUDE

		Thin            100
		Extra Light     200
		Light           300
		Regular         400
		Medium          500
		Semi-Bold       600
		Bold            700
		Extra-Bold      800
		Black           900

============================================================================= */


/*** Poppins ***/
/**
* https://fonts.google.com/selection?query=Poppins
*/
@font-face {
    font-family: 'Poppins';
    src:url('fonts/Poppins-Thin.ttf?pop001') format('truetype');
    font-weight: 100;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-ThinItalic.ttf?pop001') format('truetype');
    font-weight: 100;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-ExtraLight.ttf?pop001') format('truetype');
    font-weight: 200;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-ExtraLightItalic.ttf?pop001') format('truetype');
    font-weight: 200;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-Light.ttf?pop001') format('truetype');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-LightItalic.ttf?pop001') format('truetype');
    font-weight: 300;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-Regular.ttf?pop001') format('truetype');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-Italic.ttf?pop001') format('truetype');
    font-weight: 400;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-Medium.ttf?pop001') format('truetype');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-MediumItalic.ttf?pop001') format('truetype');
    font-weight: 500;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-SemiBold.ttf?pop001') format('truetype');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-SemiBoldItalic.ttf?pop001') format('truetype');
    font-weight: 600;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-Bold.ttf?pop001') format('truetype');
    font-weight: 700;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-BoldItalic.ttf?pop001') format('truetype');
    font-weight: 700;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-ExtraBold.ttf?pop001') format('truetype');
    font-weight: 800;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-ExtraBoldItalic.ttf?pop001') format('truetype');
    font-weight: 800;
    font-style: italic;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-Black.ttf?pop001') format('truetype');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'Poppins';
	src:url('fonts/Poppins-BlackItalic.ttf?pop001') format('truetype');
    font-weight: 900;
    font-style: italic;
}

/*** Roboto Slab ***/
/**
* https://fonts.google.com/selection?query=Roboto+Slab
*/
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-Thin.ttf?rbs001') format('truetype');
    font-weight: 100;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-ExtraLight.ttf?rbs001') format('truetype');
    font-weight: 200;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-Light.ttf?rbs001') format('truetype');
    font-weight: 300;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-Regular.ttf?rbs001') format('truetype');
    font-weight: 400;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-Medium.ttf?rbs001') format('truetype');
    font-weight: 500;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-SemiBold.ttf?rbs001') format('truetype');
    font-weight: 600;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-Bold.ttf?rbs001') format('truetype');
    font-weight: 700;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-ExtraBold.ttf?rbs001') format('truetype');
    font-weight: 800;
    font-style: normal;
	font-display: swap;
}
@font-face {
    font-family: 'Roboto Slab';
    src:url('fonts/RobotoSlab-Black.ttf?rbs001') format('truetype');
    font-weight: 900;
    font-style: normal;
	font-display: swap;
}

/*** Roboto Mono ***/
/**
* https://fonts.google.com/selection?query=Roboto+Mono
*/
@font-face {
  font-family: 'Roboto Mono';
  src: url('fonts/RobotoMono-VariableFont_wght.ttf') format("truetype-variations");
}


/* =============================================================================
  ROOT
============================================================================= */
:root {
  --animate-duration: 440ms;
  --animate-repeat: 1;
  --animate-timing: ease-out;
  --animate-delay: 0ms;
}

/* =============================================================================
  HTML & BODY
============================================================================= */
html {
	box-sizing: border-box;
}

body, input, select, textarea {
	font-family: Poppins, 'Roboto Slab', sans-serif;
	font-size: 13px;
	font-weight: 400;
	color:	#000;
}

body {
	/* min-width: (containers) */
	max-width: 1280px;
	margin: 0px auto;
	overflow-x: hidden;
	scrollbar-gutter: stable both-edges;
	background: #fff url("pics/bg01.jpg") repeat-x left top;
}
	
form {
	background-color: #ffffff;
	border:	0px solid #aaaaaa;
	vertical-align: middle;
	color:	#aaaaaa;
}
.jsfadeout {
	opacity: 0;
	transition: none;
}
.jsfadedout {
	opacity: 0;
	display: none;
	transition: none;
}
.main-content {
	width: 100%;
	min-height: 100%;
	max-width: 720px;
	position: relative;
	margin: 0px auto 0px auto;
}
#nsoLogo {
	width: 100%;
	height: auto;
	max-width: 720px;
}
.logoSpacer,
#nsoLogo {
	display: block;
	margin-bottom: -50px;
}
#nsoLogo.toWhite {
	position: relative;
	z-index: 1;
}
#nsoLogo.toWhite:before {
	background: linear-gradient(to bottom, transparent 0%, transparent 50%, white 82.75%, white 100%);
	position: absolute;
	z-index: 10;
	bottom: 0;
	right: 0;
	left: 0;
	top: 0;
}
#nsoLogo.masked {
	mask-image: linear-gradient(to bottom, black 0%, black 50%, transparent 87.87%, transparent 100%);
	mask-size: cover;
	mask-mode: alpha;
}
.main-content section {
	display: block;
	margin: 0px;
}
.main-content section:not(:first-child) {
	margin-top: 30px;
}
.main-content section .headline {
	display: flex;
	margin: 0px 2px;
	min-height: 44px;
	color:	#454645;
	font-size: 1.343em;
	letter-spacing: 0.121em;
	align-items: center;
	justify-content: center;
	margin-bottom: 10px;
	border: 1px solid;
	border-radius: 5px;
	text-transform: uppercase;
	box-shadow: 0px 2px 2px #cacbca;
	font-family: 'Roboto Slab', sans-serif;
	font-weight: 800;
}
.main-content section.upcoming .headline {
	border-color: #ffffff #eaebea #9a9b9a #eaebea;
	background: #fff url("pics/BG_H2.gif") repeat-x left top;
}
.main-content section.current .headline {
	border-color: #ffffff #cacbca #9a9b9a #cacbca;
	background: #fff url("pics/BG_H1.gif") repeat-x left top;
}
.main-content section.error .headline {
	border-color: #eeeeee #cacbca #7a7b7a #cacbca;
	background: #fff url("pics/BG_H0.gif") repeat-x left top;
}
.main-content section.empty {
	display: none;
}
.goaTrance {
	font-size: 11pt;
	line-height: 16pt;
	color: #000;
	/* padding: 10px 0 35px 0; */
}
.error-line {
	display: block;
	padding: 3px 9px 3px ;
	font-family: 'Roboto Mono';
	font-size: 1.00em;
	font-weight: 500;
}
.party-line {
	display: flex;
	justify-content: flex-start;
}
.party-line span.err,
.party-line time {
	flex-grow: 0;
	padding: 3px 9px 3px 9px;
	font-family: 'Roboto Mono';
	font-size: 1.00em;
	font-weight: 500;
}
.party-line time {
	letter-spacing: -0.10em;
}
.party-line span.err {
	color: #dd0e0e;
}
.party-line a.party-link {
	flex-grow: 1;
	padding: 3px 9px 3px 0;
}


.goaTrance a:link {
	color: #000000;
	text-decoration: none;
}

.goaTrance a:hover {
	color: #a3cc81;
	text-decoration: none;
}

.goaTrance a:visited {
	color: #a0a0a0;
	text-decoration: none;
}

#loaderCanvas {
	transition: opacity 1000ms ease-in-out;
	flex-direction: column;
	position: absolute;
	display: flex;
	z-index: 1000;
	height: 100%;
	width: 100%;
	left: 0;
	top: 0;
}
#loaderCanvas.active {
	opacity: 1;
}
#loaderCanvas.inactive {
	opacity: 0;
}
#loaderCanvas.hidden {
	display: none;
}
#loaderCanvas .logoSpacer {
	width: 100%;
	flex-grow: 0;
	aspect-ratio: 220 / 82;
	max-width: 720px;
}
#loaderContainer {
	width: 100%;
	flex-grow: 1;
	padding-top: 10em;
	background-color: #fff;
}
#loaderCanvas .loader {
	display: block;
	margin: 0px auto;
	transform: rotateZ(45deg);
	perspective: 1000px;
	border-radius: 50%;
	width: 120px;
	height: 120px;
	color: #525252;
}
#loaderCanvas .loader:before,
#loaderCanvas .loader:after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: inherit;
	height: inherit;
	border-radius: 50%;
	transform: rotateX(70deg);
	/*animation: 1s spin linear infinite;*/
	animation: 1.5s spin-two linear infinite;
}
#loaderCanvas .loader:after {
	color: #99c773;
	transform: rotateY(70deg);
	animation-delay: .4s;
}
#loaderContainer span {
	padding-top: 30px;
	font-family: 'Roboto Mono';
	text-align: center;
	display: block;
	font-size: 1.00em;
	font-weight: 500;
	opacity: 0.50;
}
@keyframes rotate {
	0% {
		transform: translate(-50%, -50%) rotateZ(0deg);
	}
	100% {
		transform: translate(-50%, -50%) rotateZ(360deg);
	}
}
@keyframes rotateccw {
	0% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
	100% {
		transform: translate(-50%, -50%) rotate(-360deg);
	}
}
@keyframes spin {
	0%,
	100% {
		box-shadow: .2em 0px 0 0px currentcolor;
	}
	12% {
		box-shadow: .2em .2em 0 0 currentcolor;
	}
	25% {
		box-shadow: 0 .2em 0 0px currentcolor;
	}
	37% {
		box-shadow: -.2em .2em 0 0 currentcolor;
	}
	50% {
		box-shadow: -.2em 0 0 0 currentcolor;
	}
	62% {
		box-shadow: -.2em -.2em 0 0 currentcolor;
	}
	75% {
		box-shadow: 0px -.2em 0 0 currentcolor;
	}
	87% {
		box-shadow: .2em -.2em 0 0 currentcolor;
	}
}
@keyframes spin-two {
	0%,
	100% {
		box-shadow: .33em 0px 0 0px currentcolor;
	}
	12% {
		box-shadow: .33em .33em 0 0 currentcolor;
	}
	25% {
		box-shadow: 0 .33em 0 0px currentcolor;
	}
	37% {
		box-shadow: -.33em .33em 0 0 currentcolor;
	}
	50% {
		box-shadow: -.33em 0 0 0 currentcolor;
	}
	62% {
		box-shadow: -.33em -.33em 0 0 currentcolor;
	}
	75% {
		box-shadow: 0px -.33em 0 0 currentcolor;
	}
	87% {
		box-shadow: .33em -.33em 0 0 currentcolor;
	}
}
@-webkit-keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@-webkit-keyframes fadeInUpBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 2000px, 0);
		transform: translate3d(0, 2000px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
@keyframes fadeInUpBig {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 2000px, 0);
		transform: translate3d(0, 2000px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
}
.animate__fadeInUpBig,
.animate__fadeIn {
	-webkit-animation-duration: 440ms;
	animation-duration: 440ms;
	-webkit-animation-duration: var(--animate-duration);
	animation-duration: var(--animate-duration);
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-iteration-count: 1;
	animation-iteration-count: 1;
	-webkit-animation-iteration-count: var(--animate-repeat);
	animation-iteration-count: var(--animate-repeat);
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
	-webkit-animation-delay: var(--animate-delay);
	animation-delay: var(--animate-delay);
	-webkit-animation-timing-function: ease-out;
	animation-timing-function: ease-out;
	-webkit-animation-timing-function: var(--animate-timing);
	animation-timing-function: var(--animate-timing);
}
.animate__fadeInUpBig {
	-webkit-animation-name: fadeInUpBig;
	animation-name: fadeInUpBig;
}
.animate__fadeIn {
	-webkit-animation-name: fadeIn;
	animation-name: fadeIn;
}