body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,p,blockquote,th,td { margin: 0; padding: 0; }
table { border-collapse:collapse; border-spacing:0; }
fieldset, img { border:0; }
address,caption,cite,code,dfn,th,var { font-style:normal; font-weight:normal; }
ol,ul { list-style:none; }
caption,th { text-align:left; }
h1,h2,h3,h4,h5,h6 { font-size:100%; }
q:before,q:after { content:''; }

html, body { /*background: #fff; => parallax -xxx z-index won't work... */ height: 100%; }
body, input, table, td, textarea { font-size: 15px; font-family: Montserrat, Sans; color: #404040; line-height: 2em; }

@media screen and (max-width: 1050px) {
	body, input, table, td, textarea { font-size: 13px; }
}

.hidden { display: none; }

header#top { background: #4a5258; border-bottom: 5px solid #ffc800; height: 63px; overflow: hidden; }

header#top span { display: block; float: left; color: #fff; margin: 13px 50px; padding-left: 35px; }
header#top span:first-of-type { margin-left: 15%; }
header#top span.repetitionTimes { background: transparent url('/images/layout/repetitiontimes.png') no-repeat left center; }
header#top span.nextEvent { background: transparent url('/images/layout/nextevent.png') no-repeat left center; }
header#top span a { color: #fff; text-decoration: none; }

nav.socials { float: right; margin-right: 15%; }
nav.socials ul { overflow: hidden; }
nav.socials ul li { float: left; width: 25px; margin-left: 10px; }
nav.socials ul li a { display: block; padding: 12px; text-indent: -9000px; }
nav.socials ul li a.facebook { background: transparent url('/images/layout/facebook-white.png') no-repeat center center; background-size: 25px; }
nav.socials ul li a.instagram { background: transparent url('/images/layout/instagram-white.png') no-repeat center center; background-size: 25px; }

@media screen and (max-width: 1400px) {
	header#top span:first-of-type { margin-left: 8%; }
	nav.socials { float: right; margin-right: 8%; }
}
@media screen and (max-width: 1100px) {
	header#top span:first-of-type { margin-left: 3%; }
	nav.socials { float: right; margin-right: 3%; }
}
@media screen and (max-width: 1050px) {
	header#top span {margin-top: 17px; margin-right: 35px; }
}
@media screen and (max-width: 825px) {
	header#top span.nextEvent { display: none; }
}

header#stroobanders { background: #262d33; border-bottom: 5px solid #ffc800; height: 215px; }

a#logo { display: block; margin-left: 15%; padding: 50px 0; }
a#logo img { display: block; }

@media screen and (max-width: 1400px) {
	a#logo { margin-left: 8%; }
}
@media screen and (max-width: 1100px) {
	a#logo { margin-left: 3%; }
}
@media screen and (max-width: 625px) {
	a#logo img { width: 95%; }
}

nav#navigation { padding-left: 15%; height: 49px; background: #820000; position: relative; }
nav#navigation a.btnNavigation { display: none; float: right; width: 130px; padding: 7px 0; height: 33px; background: transparent url("/images/sprite.png") no-repeat 62px -64px; text-indent: 9000px; outline: none; overflow: hidden; }
nav#navigation a.btnNavigation:hover { background-position: 62px -64px; }
nav#navigation ol { }
nav#navigation li { float: left; margin-right: 15px; padding: 9px 12px; position: relative; }
nav#navigation li a { display: inline-block; text-decoration: none; color: #fff; letter-spacing: 1px; }
nav#navigation li a.active, nav#navigation li a:hover { color: #ffc800; }
nav#navigation li a.showSub { display: none; color: #ffc800; font-weight: 500; padding: 0 8px;}
nav#navigation > ol > li:last-of-type { margin-left: 35px; }
nav#navigation > ol > li:last-of-type a { background: transparent url('/images/layout/nextevent.png') no-repeat left center; padding-left: 35px; }

nav#navigation ol li ol { background: #820000; position: absolute; top: 49px; left: 0; visibility: hidden; border-radius: 10px; }
nav#navigation ol li:hover ol { visibility: visible; min-width: 250px; }
nav#navigation ol li ol li { float: none; border-top: 1px dotted #fff; margin-right: 0; }

@media screen and (max-width: 1400px) {
	nav#navigation { padding-left: 8%; }
}
@media screen and (max-width: 1100px) {
	nav#navigation { padding-left: 3%; }
}
@media screen and (max-width: 960px) {
	nav#navigation a.btnNavigation { display: block; }
	nav#navigation > ol { display: none; position: absolute; top: 49px; right: 15px; width: 285px; padding: 0 25px 25px 15px; border-bottom: 4px solid #fff; background: rgba(130, 0, 0, 0.85); float: none; z-index: 2; border-radius: 10px; }
	nav#navigation li { float: none; text-align: right; }
	nav#navigation li a { padding-bottom: 1px; color: #fff !important; }
	nav#navigation li a.active, nav#navigation li a:hover { padding-bottom: 0; border-bottom: 1px solid #fff !important; }
	nav#navigation ol li ol { z-index: 3; }
	nav#navigation ol li:hover ol { width: 200px; min-width: 200px; }
	nav#navigation li a.showSub { display: inline-block; float: left; }
}
@media screen and (max-width: 550px) {
	nav#navigation { right: 0px; }
}

/* flashMessage */
div#flashMessage { display: none; position: absolute; top: 25px; left: 50%; margin-left: -450px; width: 900px; box-sizing: border-box; z-index: 10; }
div#flashMessage span { display: block; margin: 10px 16px 10px 35px; }
div#flashMessage:hover { opacity: 1.0 !important; }

div.flashConfirmation { border: 1px solid #abdba0; background: #effdec url("/images/sprite.png") no-repeat -190px 15px; }
div.flashWarning { border: 1px solid #baba45; background: #fbfba9 url("/images/sprite.png") no-repeat -190px -85px; }
div.flashError { border: 1px solid #ba4545; background: #fba9a9 url("/images/sprite.png") no-repeat -190px -85px; }

@media screen and (max-width: 1000px) {
	div#flashMessage { left: 10%; width: 80%; margin-left: 0; }
}

/* content */
section, main { overflow: hidden; clear: both; }
main > * { padding: 30px 15%; overflow: hidden; clear: both; box-sizing: border-box; }

@media screen and (max-width: 1400px) {
	main > * { padding: 30px 8%; }
}
@media screen and (max-width: 1100px) {
	main > * { padding: 30px 3%; }
}

/* from mysite! */
main h1 { font-size: 2em; font-weight: 500; margin: 20px 0; letter-spacing: 1px; }
main h2 { font-size: 1.5em; font-weight: 500; margin: 10px 0; }
main h3 { font-size: 1.2em; font-weight: normal; margin: 5px 0; }
main h4 { font-size: 1em; font-weight: bold; margin: 3px 0; }
main address { display: block; font-style: italic; margin: 0 0 12px 30px; }
main p { display: block; margin-bottom: 12px; }
main strong { font-weight: bold; }
main em { font-style: italic; }
main strike { text-decoration: line-through; }
main u { text-decoration: underline; }
main a[href] { text-decoration: underline; color: #820000; }
main ul { list-style-image: url("/images/userstyles/li.gif"); list-style-position: outside; margin-bottom: 12px; }
main ul li { margin-left: 40px; }
main ol { list-style-type: decimal; list-style-position: outside; margin-bottom: 12px; }
main ol li { margin-left: 40px; }
main blockquote { padding: 5px 40px; margin-bottom: 12px; background: transparent url("/images/userstyles/blockquote.png") no-repeat left top; box-sizing: border-box; }
main table { margin: 25px 0; }
main th { font-weight: bold; }
main tr > * { padding: 5px 10px; }
main table caption { font-style: italic; }
main hr { margin: 25px 0; }

main a.button { text-decoration: none; color: #fff; background: #820000; display: inline-block; padding: 5px 20px; }

main img.fullwidth { width: 112% !important; height: auto !important; margin: -75px -6%; }
main img.halfwidthleft { width: 56% !important; height: auto !important; margin: -75px 0 -75px -6%; }
main img.halfwidthright { width: 56% !important; height: auto !important; margin: -75px -6% -75px 0; }

@media screen and (max-width: 750px) {
	main img.halfwidthleft { width: 100% !important; height: auto !important; margin: 0; }
	main img.halfwidthright { width: 100% !important; height: auto !important; margin: 0; }

	main p img { width: 100% !important; margin-left: 0; margin-right: 0; }
}

/* dark zones */
section.darkBG { color: #fff; }
section.darkBG a { color: #ddd; }
section.darkBG blockquote { background-image: url("/images/userstyles/blockquote-invert.png"); }
section.darkBG a.arrow { background: transparent url("/images/userstyles/arrow-white.png") no-repeat right; }

/* special styles */
div.column20, div.column30, div.column33, div.column40, div.column50, div.column60, div.column70, div.column80 { float: left; margin: 0 2% 0 0; padding: 1%; box-sizing: border-box; }
div.column20 { width: 18%; }
div.column30 { width: 28%; }
div.column33 { width: 31%; }
div.column40 { width: 38%; }
div.column50 { width: 48%; }
div.column60 { width: 58%; }
div.column70 { width: 68%; }
div.column80 { width: 78%; }

@media screen and (max-width: 750px) {
	div.column20, div.column30, div.column33, div.column40, div.column50, div.column60, div.column70, div.column80 { width: 100%; float: none; margin: 0; }
}

.clear { clear: both; }

ol.constructors { list-style: none; overflow: hidden; }
ol.constructors li { float: left; width: 16.2%; height: 14.5vw; margin: 0.2%; overflow: hidden; }
ol.constructors li a { display: block; width: 100%; height: 100%; }
ol.constructors li img { display: block; height: auto !important; width: 80% !important; margin: auto; }
ol.constructors li.red { background: #c00000; }
ol.constructors li span.textBehind { display: none; }

@media screen and (max-width: 800px) {
	ol.constructors li { width: 24.6%; height: 22.1vw; }
}
@media screen and (max-width: 625px) {
	ol.constructors li { width: 32.6%; height: 29.6vw; }
}
@media screen and (max-width: 480px) {
	ol.constructors li { width: 49.6%; height: 44.6vw; }
}

/* Form klasse */
form.niceform { margin: 0; }
form.niceform div.nicehide { display: none; }
form.niceform div.niceentry { margin: 15px 0; overflow: hidden; }
form.niceform div.niceentry label { display: block; font-weight: normal; }
form.niceform div.niceentry input { display: block; background: #f8f8f8; border: 1px solid #e8e8e8; padding: 3px 8px; width: 95%; }
form.niceform div.niceentry textarea { display: block; background: #f8f8f8; border: 1px solid #e8e8e8; padding: 3px 8px; width: 95%; }
form.niceform div.niceentry select { display: block; background: #f8f8f8; border: 1px solid #e8e8e8; padding: 3px 8px; width: 95%; }
form.niceform div.niceentry span.pseudolabel { display: block; width: 95%; float: left; font-weight: bold; }
form.niceform div.niceentry span.niceinfo { display: block; float: left; width: 95%; padding-bottom: 5px; font-style: italic; color: #9c9ce7; clear: both; }
form.niceform div.niceentry img { float: right; display: none; clear: right; }
form.niceform div.checkbox { overflow: hidden; }
form.niceform div.checkbox input { width: auto; clear: left; float: left; margin-bottom: 3px;}
form.niceform div.checkbox label { float: left; margin: 0 0 3px 5px; font-weight: normal; }
form.niceform div.nicebutton { margin: 10px 0; }
form.niceform div.nicebutton button { background: #f8f8f8; border: 1px solid #e8e8e8; padding: 10px 16px; }
form.niceform div.nicebutton button:hover { background: #e8e8e8; }
form.niceform div.niceerror label { color: #820000; }
form.niceform div.niceerror input { color: #820000; }
form.niceform div.niceerror select { color: #820000; }
form.niceform div.niceerror span.niceerrormessage { display: block; clear: both; color: #820000; padding-left: 21px; background: transparent url("/images/sprite.png") no-repeat -200px -93px; min-height: 16px; }
form.niceform div.niceerror span.niceinfo { color: #820000; }
@media screen and (max-width: 450px) {
	form.niceform div.niceentry input { width: 90%; }
	form.niceform div.niceentry textarea { width: 90%; }
	form.niceform div.niceentry select { width: 90%; }
}

/* contact */
main.contact { overflow: hidden; }

section#contactform { float: left; width: 48%; clear: none; padding-right: 0; }
@media screen and (max-width: 960px) {
	section#contactform { float: none; width: auto; }
}
@media screen and (max-width: 450px) {
	section#contactform { margin-left: 0; margin-right: 0; }
}

section#contactdata { float: left; width: 48%; margin-left: 3%; clear: none; padding-left: 0; }
section#contactdata address { font-style: normal; margin-left: 0; }
section#contactdata a { display: block; }

section#contactdata div.sociallinks { margin: 20px 0 35px 0; overflow: hidden; clear: both; }
section#contactdata div.sociallinks a { display: block; float: left; margin: 5px 10px; }
section#contactdata div.sociallinks a:first-of-type { margin-left: 0; }
@media screen and (max-width: 960px) {
	section#contactdata { float: none; width: auto; margin-left: 0; padding: 30px 3%; }
}

p#confirmbot { color: #800; border: 1px solid #800; padding: 5px 5px 5px 40px; background: url("/images/sprite.png") no-repeat -190px -85px; width: 80%; font-style: italic; margin-bottom: 30px; }

div.aurealisgooglemapsviewer { display: block; height: 400px; }

/* search */
form#frmSearch { margin: 0 auto; width: 50%; }
@media screen and (max-width: 450px) {
	form#frmSearch { width: 90%; }
}

/* Galery */
div#galery { overflow: hidden; visibility: hidden; margin: 0 -6%; }
div#galery ul { float: left; width: 24.5%; margin: 0 0.25%; }	/* width: 24.4%; margin: 0 0.3%; */
div#galery ul li { margin: 2.5% 0; list-style: none; overflow: hidden; }
div#galery ul li img { display: block; width: 112%; transition: all 0.7s ease-in-out; }
div#galery ul li a:hover img { transform: scale(1.15); }

/* back to top */
a#backtotop { display: none; position: fixed; bottom: 10%; right: 10%; width: 50px; height: 44px; z-index: 15; background: transparent url("/images/back-to-top.png"); outline: none; text-indent: -9000px; }

/* footer */
footer { position: sticky; top: 100vh; padding: 20px 15%; overflow: hidden; background-color: #262d33; color: #fff; height: 65px; }
footer .footerrow { width: 700px; margin: 20px auto; overflow: hidden; }

@media screen and (max-width: 1400px) {
	footer { padding: 20px 8%; }
}
@media screen and (max-width: 1100px) {
	footer { padding: 20px 3%; }
}

@media screen and (max-width: 700px) {
	footer .footerrow { width: 100%; }
}

footer .footerrow.contact { text-align: center; }
footer .footerrow.contact a { color: #fff; text-decoration: none; margin: 0 25px; }

footer .footerrow.social { width: 115px; }
footer .footerrow.social a { display: block; width: 40px; height: 40px; float: left; text-decoration: none; color: #404040; text-indent: -9000px; margin-right: 25px; }
footer .footerrow.social a.facebook { background: transparent url("/uploads/images/social/402-facebook-wit.png") no-repeat; background-size: 40px; }
footer .footerrow.social a.youtube { background: transparent url("/images/img.youtube.png") no-repeat; background-size: 40px; }
footer .footerrow.social a.linkedin { background: transparent url("/images/img.linkedin.png") no-repeat; background-size: 40px; }
footer .footerrow.social a.instagram { background: transparent url("/uploads/images/social/403-instagram-wit.png") no-repeat; background-size: 40px; margin-right: 0; }

footer .invisible { display: none; }

footer .footerrow.policies { text-align: center; }
footer .footerrow.policies a { color: #fff; margin: 5px 15px; }

/* for print */
@media print {
	html, body, main { overflow: visible; }
	body { margin-bottom: 0; }
	footer { display: none; }
}