html {
    margin: 0px;
    padding: 0px;
    height: 100%;
}

body {
    background-color: #748999;
    background-image: url(gfx/background_body5.png);
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: fixed;
    margin: 0px;
    padding: 0px;
    height: 100%;
    font-family: Calibri, Tahoma, Geneva, Arial, sans-serif;
    font-size: 1em;
    line-height: 1.4em;
	overflow-y: scroll;
}

#mainContainer {
    margin: 0px auto;
    background-image: url(gfx/background_container.png);
    background-repeat: repeat-y;
    background-position: center;
    width: 980px;
    min-height: 100%;
    height: auto !important;
    height: 100%;
    overflow: hidden !important;
    position: relative;
    padding: 0px 5px;
}

#banner {
    width: 980px;
    height: 290px;
    overflow: hidden;
    background-color: black;
}
#banner img {
    position: absolute;
}
#banner div#bannerOverlay {
    width: 100%;
    height: 50px;
    position: relative;
    top: 240px;
    background-image: url(gfx/banner_overlay_bg.png);
    background-repeat: repeat;
}

#banner div#bannerOverlay span {
    padding-left: 30px;
    line-height: 50px;
    cursor: default;
    font-size: 2.25em;
}

#navi {
    width: 270px;
    float: left;
}

#navi ul {
    margin: 0px;
    padding: 15px;
    list-style: none;
    width: 240px;
}

#navi ul li a {
	position: relative;
    display: block;
    text-decoration: none;
    font-weight: normal;
    font-size: 1.25em;
    line-height: 1.5em;
    color: white;
    background-color: #323c42;
    padding-left: 15px;
    margin-bottom: 3px;
	
	transition: background-color 0.1s linear;
	-webkit-transition: background-color 0.1s linear;
}
#navi ul li a:hover, #navi ul li.selected a, #navi ul li.parent a {
    background-color: #51606b;
}
#navi ul li.selected a, #navi ul li.parent a {
    font-weight: bold;
}
#navi ul li.anyparent a::after {
	content: '\25bc'; /* BLACK DOWN-POINTING TRIANGLE */
	position: absolute;
	right: 10px;
	font-weight: normal;
	font-size: 50%;
	color: rgba(255, 255, 255, 0.5);
}

#navi ul li.nested a {
    margin-left: 20px;
    background-color: #51606b;
}
#navi ul li.nested a:hover, #navi ul li.parent a:hover {
    background-color: #788e9e;
}
#navi ul li.nested.selected a, #navi ul li.parent.selected a {
    background-color: #788e9e;
    font-weight: bold;
}


#navi div#loggedInDisplay {
    margin: 3px 15px;
    padding: 10px 5px;
    font-size: 1.1em;
    line-height: 1.4em;
    background-color: #fafafa;
    text-align: center;
}




div#content {
    margin-left: 270px;
    padding: 10px;
	overflow: auto; /* fixes clear leaking into navigation */
}

div#content div.contentHeadline {
    font-weight: bold;
    font-size: 1.5em;
    line-height: 1em;
    margin: 18px 0px;
    text-align: center;
}

div#content p.first {
    margin-top: 0px;
}


div#content .contentBox {
    background-color: #f9f9fd;
    border: 1px solid #999999;
    margin: 15px;
    box-shadow: 3px 5px 10px -7px;
    -moz-box-shadow: 3px 5px 10px -7px;
    -webkit-box-shadow: 3px 5px 10px -7px;
}

div#content .contentBox div.contentBoxContent {
    padding: 10px;
}

div#content .contentBox div.contentBoxHeadline {
    background-color: #cccccc;
    color: #424266;
    font-size: 1.3em;
    font-variant: small-caps;
    font-weight: bold;
    padding: 5px 10px;
}
div#content .contentBox div.contentBoxHeadline .datestamp {
    float: right;
	font-size: 1.2em;
	color: #777777;
	font-weight: normal;
}



.ad-tickets {
    background-position: bottom;
    background-size: cover;
    margin: 15px;
    padding: 30px 10px;
    font-size: 180%;
    text-align: center;
    
    box-shadow: 3px 5px 10px -7px;
    -moz-box-shadow: 3px 5px 10px -7px;
    -webkit-box-shadow: 3px 5px 10px -7px;
}
.ad-tickets.favola {
    background: url('gfx/favola_background.jpg');
    background-color: #6acfb7;
    color: #0f1013;
}

.ad-tickets.nox {
    background-color: #11113d;
    color: #EFF500;
    text-shadow: 4px 4px 22px rgba(229,255,0,1);
}

.ad-tickets.memoria {
    background: url('gfx/memoria_background.jpg');
    background-color: #d0427b;
}

.ad-tickets .ad-tickets-link {
    color: #EFF500;
    text-shadow: 4px 4px 22px rgba(229,255,0,1);
}

.ad-tickets-link {
    color: #EFF500;
    text-shadow: 4px 4px 22px rgba(229,255,0,1);
}

.remainTimeDisplay {
    margin: 8px 15px;
    padding: 5px;
    cursor: default;
    text-align: center;
}
.remainTimeDisplay p {
	color: #334433;
	line-height: 100%;
	margin-top: 0px;
	margin-bottom: 10px;
}
.remainTimeDisplay .timeCounter {
    color: #404259;
    font-size: 1.4em;
    font-weight: bold;
    font-family: monospace;
}


input.textfield {
    padding: 4px;
}

a:link {
    text-decoration: underline;
    color: #0a04cd;
}
a:link:hover, a:link:active, a:link:focus {
    color: #0440ad;
}
a:visited {
    text-decoration: underline;
    color: #551a8b;
}
a:visited:hover, a:visited:active, a:visited:focus {
	color: #8138cd;
}

img {
	border: none;
}

a.sortLink {
	color: #01048d;
	text-decoration: none;
}
a.sortLink:hover {
	text-decoration: underline;
}


.visTable {
    border-collapse: separate;
}
.visTable th {
	background-color: #abb4a3;
	text-align: left;
    padding: 2px 6px;
}
.visTable td {
    background-color: #ced5ce;
    padding: 2px 6px;
}

.uncollapse {
	display: block;
	width: 0px;
	height: 0px;
	overflow: hidden;
	visibility: hidden;
}

.prototype{ display: none; }

.fullwidth{ width: 100%; }
.fullheight{ height: 100%; }

.padding10{ padding: 10px !important; }
.margin10{ margin: 10px !important; }
.notopspacing{ margin-top: 0px !important; padding-top: 0px !important; }
.nobottomspacing{ margin-bottom: 0px !important; padding-bottom: 0px !important; }

.indent { margin-left: 30px; padding: 0px 5px; }

.px9{ font-size: 9px; }
.px12{ font-size: 12px; }
.px19{ font-size: 19px; }
.px21{ font-size: 21px; }
.px23{ font-size: 23px; }

.gray{ color: #777777; }
.error{ color: red; font-weight: bold; }

.normal{ font-weight: normal; font-style: normal; text-decoration: none; }
.bold{ font-weight: bold; }
.italic{ font-style: italic; }
.underline{ text-decoration: underline; }

.inline{ display: inline; }
.block{ display: block; }
.nodisplay{ display: none; }
.invisible{ visibility: hidden; }

.left{ text-align: left !important; text-align: left; }
.center{ text-align: center !important; text-align: center; }
.right{ text-align: right !important; text-align: right; }
.justify{ /*text-align: justify;*/ }
.top{ vertical-align: top !important; vertical-align: top; }
.middle{ vertical-align: middle !important; vertical-align: middle; }
.bottom{ vertical-align: bottom !important; vertical-align: bottom; }
.centerblock{ margin-left: auto !important; margin-right: auto !important; }

.floatleft{ float: left; }
.floatright{ float: right; }
.clear{ clear: both; }
.clearleft{ clear: left; }
.clearright{ clear: right; }

.floatleft.margin10{ margin-left: 0px !important; }
.floatright.margin10{ margin-right: 0px !important; }

.flexrow{ display: flex; flex-direction: row; }
.flexcol{ display: flex; flex-direction: column; }
.flexbetween{ flex-grow: 1; justify-content: space-between; }

