/* =============================================================================
   Reset © HTML5 Boilerplate
  ========================================================================== */
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section { display: block; }
audio[controls], canvas, video { display: inline-block; *display: inline; *zoom: 1; }
html { font-size: 100%; overflow-y: scroll; -webkit-overflow-scrolling: touch; -webkit-tap-highlight-color: rgba(0,0,0,0); -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 13px; line-height: 1.231; }
body, button, input, select, textarea { font-family: sans-serif; color: #222; }
::-moz-selection { background: #fe57a1; color: #000; text-shadow: none; }
::selection { background: #fe57a1; color: #000; text-shadow: none; }
a { color: #00e; }
a:visited { color: #551a8b; }
a:focus { outline: thin dotted; }
a:hover, a:active { outline: 0; }
abbr[title] { border-bottom: 1px dotted; }
b, strong { font-weight: bold; }
blockquote { margin: 1em 40px; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #000; margin: 16px 0; padding: 0; }
ins { background: #ff9; color: #000; text-decoration: none; }
mark { background: #ff0; color: #000; font-style: italic; font-weight: bold; }
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
small { font-size: 85%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }
ul, ol { margin: 1em 0; padding: 0 0 0 40px; }
dd, dl { margin: 0; }
nav ul, nav ol { list-style: none; margin: 0; padding: 0; }
img { border: 0; -ms-interpolation-mode: bicubic; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
legend { border: 0; *margin-left: -7px; padding: 0; }
label { cursor: pointer; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; }
input:valid, textarea:valid {  }
input:invalid, textarea:invalid { background-color: #f0dddd; }
table { border-collapse: collapse; border-spacing: 0; }
h1, h2, h3, h4, h5, h6 { margin: 0; padding: 0; font-weight: normal; }

/* =============================================================================
	Fonts
   ========================================================================== */
@font-face {
    font-family: 'DINMedium';
    src: url('fonts/din-medi-webfont.eot');
    src: url('fonts/din-medi-webfont.eot?iefix') format('eot'),
         url('fonts/din-medi-webfont.woff') format('woff'),
         url('fonts/din-medi-webfont.ttf') format('truetype'),
         url('fonts/din-medi-webfont.svg#webfontDexzrqn6') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'DINLight';
    src: url('fonts/din-light-webfont.eot');
    src: url('fonts/din-light-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/din-light-webfont.woff') format('woff'),
         url('fonts/din-light-webfont.ttf') format('truetype'),
         url('fonts/din-light-webfont.svg#DINLight') format('svg');
    font-weight: normal;
    font-style: normal;
}
@font-face {
    font-family: 'DINRegular';
    src: url('fonts/din-regular-webfont-webfont.eot');
    src: url('fonts/din-regular-webfont-webfont.eot?#iefix') format('embedded-opentype'),
         url('fonts/din-regular-webfont-webfont.woff') format('woff'),
         url('fonts/din-regular-webfont-webfont.ttf') format('truetype'),
         url('fonts/din-regular-webfont-webfont.svg#dinregular') format('svg');
    font-weight: normal;
    font-style: normal;

}


/* =============================================================================
    Primary styles
   ========================================================================== */
html, body {
	height: 100%;
}

body {
	background-color: #fff;
	font: normal 12px/16px Helvetica, Arial, Verdana, sans-serif;
	margin: 0;
}

h1,.h1 {
	color: #ffd500;
	font-size: 16px;
	line-height: 20px;
	margin-bottom: 20px;
}
h2 {
	color: #000;
	font-size: 13px;
	line-height: 17px;
	margin-bottom: 5px;
}

h1, h2 {
	font-family: 'DINMedium', Helvetica, Arial, Verdana, sans-serif;
	font-weight: normal;
	text-transform: uppercase;
}

p {
	margin: 0 0 12px 0;
}
/*
p:last-child {
	margin-bottom: 0;
}
*/

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

/*
strong {
	font-family: 'DINMedium', Helvetica, Arial, Verdana, sans-serif;
	font-weight: normal;
}
*/

td {
	padding: 5px 0;
	vertical-align: top;
}

header, nav, #content, #address {
	max-width: 890px;
    width: 100%;
}

header {
	margin: 0 auto;
	padding-top: 90px;
}

address {
	background-color: #ffd500;
	display: none;
	font-style: normal;
	height: 60px;
	position: absolute;
	width: 100%;
	z-index: 5;
}
#address {
	font-family: 'DINRegular', Helvetica, Arial, Verdana, sans-serif;
	font-size: 14px;
	font-weight: normal;
	line-height: 20px;
	height: 40px;
	margin: 0 auto;
	padding: 10px 0;
}
#address .address_item {
	float: left;
	width: 296px;
}
#address dt,
#address dd {
	float: left;
}
#address dt {
	width: 80px;
}

#envelope {
	display: block;
	height: 20px;
	right: 15px;
	position: absolute;
	top: 15px;
	width: 27px;
	z-index: 1;
}

#logo {
	height: 189px;
	margin: 0 auto;
	width: 375px;
}

.hamburger{
    display: none;
}


#visuals {
	min-height: 500px;
	position: relative;
	width: 100%;
}
#visuals a {
	background: url(../img/scroller.png) no-repeat top left;
	bottom: -20px;
	display: block;
	height: 72px;
	left: 50%;
	margin-left: -36px;
	overflow: hidden;
	position: absolute;
	text-decoration: none;
	width: 71px;
}
#visuals a:hover {
	background-image: url(../img/scroller-active.png);
}

#content {
	margin: 50px auto 0 auto;
	padding-bottom: 20px;
}

nav {
	border-top: 1px solid #000;
	margin-bottom: 25px;
	margin-top: 5px;
	padding-top: 15px;
	text-align: center;
}
nav li {
	display: inline;
	padding-right: 25px;
}
nav li:last-child {
	padding-right: 0;
}
nav a {
	color: #000;
	border-top: 3px solid #fff;
	font: normal 14px/18px 'DINRegular', Helvetica, Arial, Verdana, sans-serif;
	padding-top: 12px;
	text-decoration: none;
	text-transform: uppercase;
	-webkit-transition: border-top 0.25s, color 0.25s;
	-moz-transition: border-top 0.25s, color 0.25s;
	-o-transition: border-top 0.25s, color 0.25s;
	-ms-transition: border-top 0.25s, color 0.25s;
	transition: border-top 0.25s, color 0.25s;
}
nav a:hover,
nav a.active {
	border-top: 3px solid #000;
	color: #ffd500;
}

/* Page: Events */
.events article {
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
	padding-bottom: 20px;
}
.events article .image,
.events article .content {
	float: left;
}
.events article .image {
	width: 145px;
}
.events article .text {
	margin-bottom: 16px;
	width: 745px;
}
.events article .text.wide {
	width: 890px;
}

.events article .images img {
	display: block;
	float: left;
	margin-right: 10px;
    margin-bottom: 10px;
}

/* Page: Cocktail Party */
.gallery div {
	height: 67px;
	float: left;
	margin: 0 10px 10px 0;
	text-align: center;
	vertical-align: middle;
	width: 100px;
}
.gallery img {
	display: block;
	margin: 0 auto;
}

.fs-media-gallery .pagination {
	margin-top: 20px;
}

.fs-media-gallery .pagination ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.fs-media-gallery .pagination li {
	display: inline-block;
	list-style-type: none;
	margin: 0 10px 0 0;
	padding: 0;
}

.fs-media-gallery .pagination li a {
	text-decoration: none;
}

.fs-media-gallery .pagination li.active a,
.fs-media-gallery .pagination li a:hover {
	color: #ffd500;
}



/* Page: News */
.news {
	margin-bottom: 36px;
}
.news article {
	border-bottom: 1px solid #000;
	margin-bottom: 20px;
	padding-bottom: 20px;
}
.news article h2 a,
.news article h2 a:hover {
	text-decoration: none;
}
.news .more a,
.news .back a {
	font-weight: bold;
	text-decoration: none;
}
.news .more a:hover,
.news .back a:hover {
	text-decoration: underline;
}
.news .back {
	margin-top: 12px;
}
.news .image {
	margin-top: 20px;
}
.news-detail article {
	border-bottom: none;
	margin-bottom: 20px;
	padding-bottom: 0;
}

/*
.events-listing-item {
	margin-bottom: 20px;
}
.events-listing-item h3 {
	margin-bottom: 6px !important;
}
.events-listing-item .events-list-morelink {
	margin-left: 6px;
}
.events-listing-item h3 a,
.events-listing-item .events-list-morelink a {
	text-decoration: none !important;
}
.events-listing-item img {
	height: auto;
	width: 90px;
}
.events-date {
	font-size: 11px;
	margin-bottom: 15px;
}
*/

/* Reviews */

.reviews .year-block{
    padding-bottom: 3em;
}
.reviews .year-block.no1{
    width: calc(49%);
    display: inline-block;
}
.reviews .entries{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row dense;
}
.reviews .entry{
    max-width: 300px;
}
.reviews .text{
    margin: 1em 0;
}

.reviews h2{
    margin-bottom: 0.75em;
}


/* #### Photos */

.photos{
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: row dense;
    gap: 1.6em;
}
.photos  img{
    width: 100%;
    height: auto;
}



/* Page: Sponsors */
.sponsors .logos {
	margin-bottom: 20px;
}
.sponsors .logo {
	float: left;
	height: 60px;
	margin-bottom: 20px;
	padding: 40px 0 0 0;
	width: 222px;
}
.sponsors .logo img {
	vertical-align: middle;
	margin: -40px 0;
    position: relative;

}

/* Content: Multicolumn */
.multicolumns {
	margin-bottom: 24px;
	max-width: 890px;
    width: 100%;
}
.column {
	float: left;
	margin-right: 40px;
	width: calc(50%  - 40px);
}
.column:last-child {
	margin-right: 0;
}
.column.last_child {
	background: yellow;
	margin-right: 0;
}
.column .csc-textpic-imagewrap,
.column .csc-textpic-imagerow {
	width: 425px !important;
}

.csc-textpic ul,
.csc-textpic li {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
.csc-textpic li {
	float: left;
}
.csc-textpic img {
	display: block;
	margin-bottom: 20px;
}
li.csc-textpic-firstcol {
	margin-right: 20px;
}


.ce-gallery {
    width: 100%;
}

/* Gallerie bis 992px auf volle Breite */
@media (max-width: 992px) {
    .ce-gallery {
        width: 100%;
    }
}

/* Anpassungen von kleinen bis groeßeren Geraeten */
.ce-gallery .ce-column {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* Kein Abstand beim ersten und letzten Bild */
.ce-gallery .ce-column:first-child {
    padding-left: 0;
}
.ce-gallery .ce-column:last-child {
    margin-right: 0;
}

/* Fluid Image Tags */
.ce-gallery img,
.ce-gallery picture {
	display: block;
    width: 100%;
    height: auto;
}

/* Spaltenbreiten je nach eingestellten Columns */
.ce-gallery[data-ce-columns] .ce-column {
	float: left;
}

.ce-gallery[data-ce-columns="2"] .ce-column {
	margin-right: 20px;
	margin-bottom: 20px;
	width: calc(50% - 20px);
}

.ce-gallery[data-ce-columns="3"] .ce-column {
    width: 33%;
}

.ce-gallery[data-ce-columns="4"] .ce-column {
    width: 25%;
}

.ce-gallery[data-ce-columns="5"] .ce-column {
    width: 20%;
}

/* Anpassungen fuer kleine Geraete */
@media (max-width: 640px) {

    /* Ein Bild pro Zeile */
    .ce-gallery .ce-column {
        margin: 0 0 10px;
        width: 100%;
        box-sizing: border-box;
    }

    /* Fluid Image Tags */
    .ce-gallery img,
    .ce-gallery picture {
        width: 100%;
        height: auto;
    }
}


/* =============================================================================
    Non-semantic helper classes
   ========================================================================== */
.ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none; visibility: hidden; }
.visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
.invisible { visibility: hidden; }
.clear { clear: both; display: block; overflow: hidden; visibility: hidden; width: 0; height: 0; }
.clearfix:after { clear: both; content: ' '; display: block; font-size: 0; line-height: 0; visibility: hidden; width: 0; height: 0; }
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }

/* =============================================================================
    Media Queries for Responsive Design.
   ========================================================================== */
@media only screen and (min-width: 480px) {
  /* Style adjustments for viewports 480px and over go here */
}

@media only screen and (min-width: 768px) {
  /* Style adjustments for viewports 768px and over go here */
}


/* =============================================================================
    Print styles.
   ========================================================================== */
@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; }
  a, a:visited { color: #444 !important; text-decoration: underline; }
  /*a[href]:after { content: " (" attr(href) ")"; }*/
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  /* Don't show links for images, or javascript/internal links */
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
  tr, img { page-break-inside: avoid; }
  img { max-width: 100% !important; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3{ page-break-after: avoid; }
  #envelope, #visuals, nav { display: none; }
  #logo { margin: 0 }
  header { padding-top: 0}
}


@media only screen and (max-width: 960px) {

    header{
        width: auto;
        padding-top: 15px;
    }
    header #logo{
        width: auto;
        text-align: center;
    }
    header #logo img{
        width: 300px;
        height: auto;
        max-width: 100%;
    }
    address{
        height: auto !important;
    }
    #address{
        width: 100%;
        padding: 20px;
        height: auto !important;
    }
    #address .address_item {
        width: 100%;
        height: auto !important;
    }
    nav{
        width: 100%;
        position: absolute;
        background: #FFF;
        margin: 0;
        padding: 0;
        z-index: 100;
        max-height: 0px;
        overflow-y: hidden;
        transition: 0.3s max-height;
    }
    .has-open-nav nav{
        max-height: 900px;
    }
    nav ul{
        display: block;
        padding: 20px;

    }
    nav ul li{
        display: block;
        text-align: left;
    }
    nav ul li a{
        display: block;
        border-top: 0 !important;
        text-decoration: none !important;
        padding: 0.3em 0 !important;
    }
    #envelope{
        right: auto;
        left: 20px;
    }
    .hamburger{
        right: 0;
        position: absolute;
        display: block;
    }

    #content{
        padding: 0 20px 20px 20px;
        width: auto;
    }

    .column {
        width: 100%;
        float: none;
    }

    #content img{
        max-width: 100%;
    }

    /* Page: Events */

    .events article .image,
    .events article .content {
        float: none;
    }
    .events article .image {
        width: auto;
        margin-bottom: 2em;
    }
    .events article .text {
        margin-bottom: 16px;
        width: auto;
    }
    .events article .text.wide {
        width: auto;
    }


}

@media only screen and (max-width: 720px) {
    header #logo {
        height: 130px;
    }
    header #logo img{
        width: 220px;
    }
    .photos{
        grid-template-columns: 1fr ;
        gap: 1.6em;
    }

    /* Reviews */
    .reviews .year-block{
        padding-bottom: 0;
    }

    .reviews .year-block.no1{
        width: 100%;
        display: inline-block;
    }
    .reviews .entries{
        grid-template-columns: 1fr ;
    }
    .reviews .entry{
        max-width: 100%;
        margin-bottom: 2em;
    }


}
