﻿/**
 * css/style.css
 *
 * Project: Kulturelle Landpartie
 * (c) 04/2023 by Wendnet
 */

@import url('fonts.css') screen;

:root {
	/*--cur-rb-color: #ad4f74;*/
	--cur-rb-color: #ff9900;
	/*--page-max-width: 992px;*/
	/*--page-max-width: 1200px;*/
	--page-max-width: 1050px;
}

/**
 * general
 */
*,*::before,*::after {
	box-sizing: border-box;
}

html,body {
	/*width: 100%;*/
	/*height: 100%;*/
	min-height: 100vh;
	margin: 0;
	padding: 0;
}

body,input,select,textarea {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 14px;
}

body {
	color: #000;
	background: #b3b3b3;
}

@media all and (min-width: 1050px)
{
	body { background: #b3b3b3 url('../img/web/bg_body.gif') repeat top left fixed }
}

:focus { outline: #333 thin dotted }

p {
	margin-top:5px;
	margin-bottom:10px
}

h1,h2,h3 {
	font-weight: normal;
	text-transform: uppercase;
	margin: 15px 0 5px
}
h1.norm { text-transform: none }
h3.left { margin:0 }

/* https://css-tricks.com/fun-viewport-units/ */
h1 { font-size: calc(18px + 1vw); line-height: calc(21px + 1vw); margin: 0 0 0.5vw }
h2 { font-size: calc(15px + 1vw); line-height: calc(18px + 1vw) }
h3 { font-size: calc(12px + 1vw); line-height: calc(15px + 1vw) }

@media all and (min-width: 768px)
{
	h1 { font-size: 32px; line-height: 36px; margin: 0 0 10px }
	h2 { font-size: 26px; line-height: 30px }
	h3 { font-size: 20px; line-height: 24px }
}

hr { color:#bbb; background:#bbb; border:0; height:1px }

input:not([type="radio"]),
img { vertical-align: middle }

input.right	{ text-align: right }

label,.label { cursor: pointer; vertical-align: middle }

#content img {
	max-width: 100%;
	height: auto;
}

#main .nojs {
	text-align: center;
	padding: 5px;
	background: #ffc;
}


/* guestbook buttons */
.button {
	font-family: inherit;
	padding: 2px 5px;
	color: #fff;
	background: var(--cur-rb-color);
	border: none;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	text-decoration: none;
	font-size: 14px;
	/*line-height: 14px;*/
	text-transform: uppercase;
	cursor: pointer;
}
.button:visited,
.button:active,
.button:hover { color: #fff }


/* links */
a,
a:visited { color:#555 }
a:hover,
a:focus { color:var(--cur-rb-color) }

a.fancybox { text-decoration: none }

a.totop {
	color: #a0a0a0;
	background: url('../img/ico/top.gif') no-repeat right 0;
	text-decoration: none;
	display: block;
	text-align: right;
	font-size: 13px;
	line-height: 18px;
	padding-right: 15px;
	border-bottom: #bbb 1px solid;
}
a.totop:visited { color: #a0a0a0 }
a.totop:hover {
	/*color: var(--cur-rb-color);*/
	color: #777;
	background-position: right -25px;
	border-bottom: var(--cur-rb-color) 1px solid;
}

a.totop.dates,
a.totop.persons {
	border-bottom: #a0a0a0 2px dotted;
	margin-bottom: 10px;
}
a.totop.dates:hover,
a.totop.persons:hover {
	border-bottom-style: solid;
}

body .list.dates a:hover,
body .list.persons a:hover { text-decoration:none }

/* link indication */
#comblock a[href^='http://'],
#comblock a[href^='https://'],
#comblock a[href^='mailto:'],
#comblock a.pkt,
#comblock span.pkt { display:block; background:url('../img/ico/bull.png') no-repeat left 2px; padding-left:18px; line-height:17px }
#page a[href$='.pdf'] { background:url('../img/ico/pdf.gif') no-repeat left 3px; padding-left:18px }


/* site layout */
#page {
	max-width: var(--page-max-width);
	/*height: 100%;*/
	min-height: 100vh;
	margin: 0 auto;
	background: #eee;
	box-shadow: 0px 0px 20px 5px #555;
}

#header {
	/*position: fixed;*/
	position: sticky;
	top: 0;
	z-index: 10;
	/*width: 100%;
	max-width: var(--page-max-width);*/
	height: 95px;
	background: var(--cur-rb-color);
	display: flex;
	/*flex-wrap: wrap;*/
	/*padding: 10px 20px;*/
	justify-content: space-between;
}

#header img { max-width: 100% }

#header .logo {
	padding: 10px 20px;
}

#header .rnav {
	display: flex;
	flex-direction: column;
}

#header .donate {
	align-self: flex-end;
	/*width: 100px;*/
	padding: 10px 20px 4px;
	/*display: none;*/
	visibility: hidden;
}
#header .donate.active {
	visibility: visible;
}

#header .donate a {
	display: block;
}

#header .snav {
	display: flex;
	justify-content: flex-end;
}

#header .lupe {
	margin-right: 15px;
	width: 30px;
	height: 30px;
	background: url('../img/web/lupe.png') no-repeat center;
	cursor: pointer;
}


/* hamburger menu */

#header .menu {
	position: relative;
	margin-right: 15px;
	height: 30px;
	width: 40px;
	cursor: pointer;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
	/*z-index: 9999;*/
}

#header .menu span {
	position: absolute;
	height: 3px;
	width: 25px;
	background-color: #fff;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

#header .menu span:before {
	content: '';
	position: absolute;
	top: -8px;
	background-color: #fff;
	height: 3px;
	width: 25px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

#header .menu span:after {
	content: '';
	position: absolute;
	top: 8px;
	background-color: #fff;
	height: 3px;
	width: 25px;
	-webkit-transition: 0.3s;
	-o-transition: 0.3s;
	transition: 0.3s;
}

#header .menu.active span { background-color: transparent; }
#header .menu.active span:before { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); top: 0 }
#header .menu.active span:after { -webkit-transform: rotate(-45deg); -ms-transform: rotate(-45deg); transform: rotate(-45deg); top: 0 }


/* searchbox */

#header .search {
	/*height: auto;
	max-height: 0;*/
	display: none;
}

#header .search.active {
	/*height: auto;
	max-height: 0;*/
	display: block;
	position: fixed;
	top: 6px;
	right: 0;
	z-index: 10;
	/*margin: 4px 20px;
	background: var(--cur-rb-color);*/
}

#header .search {
	position: relative;
	margin: 5px 20px;
}

#header .search input[type="text"] {
	position: absolute; top: 0; right: 0;
	font-size: 14px;
	width: 220px;
	height: 26px;
	line-height: 26px;
	padding: 0 30px 0 8px;
	background: #fff;
	color: #ccc;
	border: none;
	/*outline: none;*/
	-webkit-border-radius: 5px;
	border-radius: 10px;
}
#header .search input[type="text"]:focus {
	/*width: 50vw;*/
	color: var(--cur-rb-color);
}
#header .search input[type="text"]:focus + input[type="submit"] {
	background: url('../img/web/lupe-2023.png') no-repeat;
}

::-webkit-input-placeholder { color: #ccc }
::-moz-placeholder { color: #ccc; opacity: 1 } /* FF 19+ */
:-ms-input-placeholder { color: #ccc !important } /* IE 10+ */
::-ms-input-placeholder { color: #ccc !important }
::placeholder { color: #ccc }
input:focus::-webkit-input-placeholder { color: transparent }
input:focus::-moz-placeholder { color: transparent } /* FF 19+ */
input:focus:-ms-input-placeholder { color: transparent } /* IE 10+ */
input:focus::-ms-input-placeholder { color: transparent }
input:focus::placeholder { color: transparent }

#header .search input[type="submit"] {
	position: absolute; top: -2px; right: 4px;
	background: url('../img/web/lupe-grau.png') no-repeat;
	border: none;
	width: 22px;
	height: 22px;
	margin-top: 4px;
	cursor: pointer;
}


/* top navigation menu */

#navitop {
	/*position: absolute;*/
	/*position: sticky;*/
	/*top: 95px;*/
	/*left: 0;*/
	/*z-index: 9;*/
	/*width: 100%;
	max-width: var(--page-max-width);*/
	margin: 0 auto;
	/*transform: translateY(-100%);*/
	/*transform: scaleY(0);*/
	height: auto;
	max-height: 0;
	overflow: hidden;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
	background: #ddd;
}

#navitop.active {
	/*transform: translateY(0);*/
	/*max-height: 1000px;*/
	max-height: 100vh;
	/*overflow-y: auto;*/
	/*height: 100%;*/
	/*min-height: 100vh;*/
}

#navitop .navi,
#navitop .navi ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	column-gap: 3px;
}

#navitop .navi li {
	padding: 8px 10px;
	border-bottom: 1px #777 dotted;
}

#navitop a {
	text-decoration: none;
	text-transform: uppercase;
	color: #000;
	display: block;
	margin: 0 10px;
}

#navitop a.act,
#navitop a:hover {
	color: var(--cur-rb-color);
}

#navitop a .arrdown {
	padding-left: 2px;
	font-size: 8px;
	vertical-align: 2px;
	/*background: url('../img/web/arr-down-bk.png') no-repeat 3px center;*/
}

#navitop .navi .submenu {
	/*display: none;
	position: absolute;*/
	overflow: hidden;
	max-height: 0;
	/*top: 0;
	left: 0;*/
	/*width: calc(100vw - 20px);*/
	width: calc(100% - 20px);
	/*padding: 0 10px;*/
	/*margin: 9px 10px 0;*/
	margin: 0 10px;
	background: #fff;
}
/*#navitop .navi .submenu.active {*/
/*#navitop .navi a:hover + .submenu,*/
#navitop .navi .submenu.actsub {
	/*display: block;*/
	overflow: visible;
	margin-top: 10px;
	max-height: none;
}

#navitop .navi .submenu.actsub li {
	padding: 5px 0;
	border-bottom: 1px var(--cur-rb-color) dotted;
}

#navitop .navi .submenu a {
	display: block;
	padding: 2px 10px;
	margin: 0;
	text-transform: none;
	/*font-weight: bold;*/
	color: #777;
	/*border-bottom: #ccc 1px dotted;*/
}

#navitop .navi .submenu a.act,
#navitop .navi .submenu a:hover {
	/*background: #eee;*/
	color: var(--cur-rb-color);
}


@media all and (min-width: 768px)
{
	#header .search {
		display: block;
	}
	#header .search.active {
		position: relative;
		top: 0;
		z-index: auto;
	}

	#navitop {
		position: sticky;
		top: 95px;
		background: var(--cur-rb-color);
		max-height: none;
		overflow: visible;
		-webkit-transition: 0.5s;
		-o-transition: 0.5s;
		transition: 0.5s;
		z-index: 10;
	}

	#navitop .navi {
		width: auto;
		padding: 5px 14px;
		background: var(--cur-rb-color);
		min-height: auto;
	}

	#navitop .navi {
		flex-direction: row;
	}

	#navitop .navi li {
		padding: 2px 0;
		position: relative;
		border-bottom: none;
	}

	#navitop .navi .submenu li {
		border-left: 2px var(--cur-rb-color) solid;
	}

	/*#navitop .navi li:last-child .submenu li {
		text-align: right;
		border-left: none;
		border-right: 2px var(--cur-rb-color) solid;
	}*/

	#navitop a {
		color: #fff;
	}

	#navitop a.act,
	#navitop a:hover,
	#navitop .navi li.lnksub:hover > a {
		color: #000;
	}

	#navitop .navi li a {
		margin: 0;
		padding: 2px 5px;
	}

	#navitop .navi li.lnksub:hover .submenu {
		overflow: visible;
		/*margin-top: 10px;*/
		max-height: none;
	}

	#navitop .navi li.lnksub:hover .submenu li {
		padding: 5px 0;
		border-bottom: 1px var(--cur-rb-color) dotted;
	}

	#navitop .navi .submenu {
		position: absolute;
		left: 0;
		width: auto;
		margin: 0 0 0 -6px;
		border-top: 7px var(--cur-rb-color) solid;
		/*background-clip: padding-box;
		border-top: 7px transparent solid;*/
	}
	#navitop .navi .submenu.actsub {
		/*margin-top: 7px;*/
		margin-top: 0;
		
	}
	/*#navitop .navi li:last-child .submenu {
		left: auto;
		right: 0;
		margin: 7px -6px 0 0;
	}*/

	#navitop .navi .submenu a {
		white-space: nowrap;
	}

	#navitop .navi .submenu a.act {
		color: var(--cur-rb-color);
	}

	#header .donate {
		visibility: visible;
	}

	#header .snav { display: none; }
}


#content {
	font-family: 'Open Sans', Arial, Helvetica, sans-serif;
	font-size: calc(11px + 0.5vw);
	/*font-size: 14px;*/
	/*margin: 10px 20px;*/
	/*padding: 110px 20px 30px;*/
	padding: 20px 20px 10px;
	overflow: hidden;
	/*scroll-padding-top: 95px;*/
}
/*#content .body {
	scroll-padding-top: 95px;
}*/

#main {
	/*scroll-padding-top: 95px;*/
	min-height: calc(100vh - 35px);
	font-size: calc(11px + 0.5vw);
}


/* footer */

#footer {
	/*position: fixed;*/
	position: sticky;
	bottom: 0;
	z-index: 10;
	/*width: 100%;
	max-width: var(--page-max-width);*/
	padding: 5px 0;
	/*min-height: 40px;*/
	line-height: 25px;
	/*font-size: 12px;*/
	color: #fff;
	background: #777;
}

#footer div {
	text-align: center;
}

#footer a,
#footer span {
	display: inline-block;
	/*font-size: 12px;*/
	font-size: calc(10px + 0.25vw);
	font-weight: bold;
	color: #fff;
	text-decoration: none;
}

#footer a.act,
#footer a:hover { color: #000 }


/* to top of page button */

#myBtn {
	display: none; /* Hidden by default */
	position: fixed; /* Fixed/sticky position */
	bottom: 50px; /* Place the button at the bottom of the page */
	right: 20px; /* Place the button 30px from the right */
	z-index: 99; /* Make sure it does not overlap */
	border: none; /* Remove borders */
	outline: none; /* Remove outline */
	background-color: var(--cur-rb-color); /* Set a background color */
	color: white; /* Text color */
	cursor: pointer; /* Add a mouse pointer on hover */
	width: 30px;
	height: 30px;
	/*padding: 10px;*/ /* Some padding */
	padding-bottom: 6px;
	border-radius: 15px; /* Rounded corners */
	font-size: 12px; /* Increase font size */
	/*line-height: 20px;*/
	opacity: 1;
	-webkit-transition: 0.5s;
	-o-transition: 0.5s;
	transition: 0.5s;
}


@media all and (min-width: 360px)
{
	#footer .flex {
		display: flex;
		justify-content: center;
		flex-wrap: nowrap;
		gap: 15px;
	}
}

@media all and (min-width: 768px)
{
	#main,
	#content { font-size: 15px }
	#navitop { font-size: 14px }
	#footer a,
	#footer span { font-size: 12px }

	#myBtn { opacity: .7 }

	#myBtn:hover { opacity: 1 }
}

@media all and (min-width: 1050px)
{
	/* always inside #page - 20px */
	#myBtn { right: calc(100vw - 1050px - (100vw - 1050px) / 2 + 20px) }
}


/* location header */

#comblock {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

#comblock .item {
	margin-bottom: 10px;
	padding-top: 10px;
	border-top: #bbb 1px solid;
}
#comblock .item:first-child {	padding-top: 0; border-top: none }
#comblock p:first-child { margin-top: 0 }
#comblock .info { font-size: 10px; color: #777 }

#comblock .icons { margin: 10px 0; font-size: 10px; font-family: Arial, Helvetica, sans-serif }
#comblock .icons img { margin: 0 1px 1px 0 }
#comblock .icons div { overflow: hidden; line-height: 12px }
#comblock .icons div img { float: left; margin-right: 4px }

#comblock .legend { margin-top: 5px; padding: 5px 0; overflow: hidden;
	border-top: #bbb 1px dotted
}

#comblock .bike { display: flex }

#comblock .bike span.num,
.list.dates span.num {
	display: inline-block;
	background: url('../img/ico/spot.png') no-repeat;
	width: 15px;
	height: 15px;
	padding-left: 4px;
	margin-left: 3px;
	color: #fff;
	font-size: 12px;
	font-family: Arial, Helvetica, sans-serif;
	line-height: 16px;
}


/* body */

#page.orte .body .cnt { color: #aaa }

#page .body .arnavi {
	padding: 5px 0;
	overflow: hidden;
}

#page .body .arnavi a {
	display: block;
	padding: 2px 3px;
	margin: 0 6px 5px 0;
	float: left;
	/*font-size: 14px;*/
	text-decoration: none;
	background: #ccc;
	-webkit-border-radius: 3px;
	border-radius: 3px;
}
#page .body .arnavi a:hover,
#page .body .arnavi a.act {
	color: #fff;
}
#page .body .arnavi a.act {
	font-weight: bold;
}
#page .body .arnavi a.y2004:hover,
#page .body .arnavi a.act.y2004 { background: #066776 }
#page .body .arnavi a.y2005:hover,
#page .body .arnavi a.act.y2005 { background: #ff7300 }
#page .body .arnavi a.y2006:hover,
#page .body .arnavi a.act.y2006 { background: #0198c0 }
#page .body .arnavi a.y2007:hover,
#page .body .arnavi a.act.y2007 { background: #ef187f }
#page .body .arnavi a.y2008:hover,
#page .body .arnavi a.act.y2008 { background: #ff5908 }
#page .body .arnavi a.y2009:hover,
#page .body .arnavi a.act.y2009 { background: #74b12c }
#page .body .arnavi a.y2010:hover,
#page .body .arnavi a.act.y2010 { background: #af7be1 }
#page .body .arnavi a.y2011:hover,
#page .body .arnavi a.act.y2011 { background: #f6a800 }
#page .body .arnavi a.y2012:hover,
#page .body .arnavi a.act.y2012 { background: #02a29b }
#page .body .arnavi a.y2013:hover,
#page .body .arnavi a.act.y2013 { background: #cc0033 }
#page .body .arnavi a.y2014:hover,
#page .body .arnavi a.act.y2014 { background: #b3aaa4 }
#page .body .arnavi a.y2015:hover,
#page .body .arnavi a.act.y2015 { background: #2c4595 }
#page .body .arnavi a.y2016:hover,
#page .body .arnavi a.act.y2016 { background: #559955 }
#page .body .arnavi a.y2017:hover,
#page .body .arnavi a.act.y2017 { background: #e03c31 }
#page .body .arnavi a.y2018:hover,
#page .body .arnavi a.act.y2018 { background: #649bb9 }
#page .body .arnavi a.y2019:hover,
#page .body .arnavi a.act.y2019 { background: #b30098 }
#page .body .arnavi a.y2020:hover,
#page .body .arnavi a.act.y2020 { background: #abb300 }
#page .body .arnavi a.y2021:hover,
#page .body .arnavi a.act.y2021 { background: #abb300 }
#page .body .arnavi a.y2022:hover,
#page .body .arnavi a.act.y2022 { background: #ad4f74 }

#page .body .intnavi {
	margin-top: 5px;
	color: #777;
}
#page .body .intnavi a {
	text-decoration: underline #777 dotted;
}
#page .body .intnavi a.act {
	font-weight: bold;
	color: #000;
}

/* list navi */

#page .body .listnavi {
	/*overflow: hidden;*/
	list-style: none;
	margin: 0 0 10px;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/*#page .body .listnavi li {*/
#page .body .listnavi a {
	width: 22px;
	height: 22px;
	line-height: 22px;
	-webkit-border-radius: 11px;
	border-radius: 11px;
	background: #ccc;
	text-align: center;
	text-decoration: none;
}

#page.orte .body .listnavi a.step,
#page.galerie .body .listnavi a.step {
	color: #fff;
	background: var(--cur-rb-color);
	font-size: 50%;
}


@media all and (min-width: 480px)
{
	#page .body .listnavi a {
		width: 24px;
		height: 24px;
		line-height: 24px;
		-webkit-border-radius: 12px;
		border-radius: 12px;
	}
}

@media all and (min-width: 768px)
{
	#page .body .listnavi a {
		width: 26px;
		height: 26px;
		line-height: 26px;
		-webkit-border-radius: 13px;
		border-radius: 13px;
	}
	#page.orte .body .listnavi a.step,
	#page.galerie .body .listnavi a.step {
		opacity: .7;
	}
	#page.orte .body .listnavi a.step:hover,
	#page.galerie .body .listnavi a.step:hover {
		background: var(--cur-rb-color);
		opacity: 1;
	}
}

#page.termine .body .listnavi a {
	width: auto;
	padding: 0 3px;
	border-radius: 5px;
}

#page.termine .body .listnavi a.act,
#page.termine .body .listnavi a:hover,
#page.personen .body .listnavi a.act,
#page.personen .body .listnavi a:hover,
#page.orte .body .listnavi a.act,
#page.orte .body .listnavi a:hover,
#page.galerie .body .listnavi a.act,
#page.galerie .body .listnavi a:hover {
	color: #fff;
	background: #878787;
}


/* message boxes */

div.msg {
	margin: 10px 0;
	padding: 2px;
	text-align: center;
	font-weight: bold;
	border: #ccc 1px solid;
}
div.msg.success { background: #cfc; }
div.msg.warning { background: #ffc; }
div.msg.error { background: #fcc; }


/* guestbook */

.gbtoggle {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}

.gbtoggle span { margin-right: 5px }

.gbcontent {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.gbcontent .right { text-align: right }

@media all and (min-width: 480px)
{
	.gbcontent .date { white-space: nowrap }
}

.gbform {
	margin: 20px 0;
}

.gbform > p:first-child {
	display: none;
}

.gbform label:not(.check) {
	float: left;
	width: 100px;
}

.gbform input:not([type="checkbox"]):not([type="radio"]) {
	width: 300px;
}

.gbform textarea {
	width: 98%;
	height: 136px;
}

.gbform .small {
	color: #777;
	font-size: 13px;
}

.gbform .warn {
	background: #ffc;
}


/* locations */

#page.orte .body h3 { margin: 10px 0 }
#page.orte .body div.lnk {
	font-size: 15px;
	text-transform: uppercase;
	margin: 10px 0 10px;
}

.body .item {
	/*display: flex;
	gap: 10px;*/
	/*margin-top: 2px;*/
	padding-right: 20px;
	padding-bottom: 5px;
	/*border-bottom: var(--cur-rb-color) 1px solid;*/
	border-bottom: #878787 1px dotted;
	/*font-size: 13px;*/
}
/*.body .item.last { border-bottom: none; }*/

.body .item div {
	line-height: 1.2em;
	max-width: 160px;
}

#page.orte .body .item div p {
	margin-bottom: 5px;
}

.body .slider .img {
	height: 122px;
	border: #aaa 1px solid;
	background: #ccc;
	/*background: #ccc no-repeat left center;
	background-size: cover;*/
}
.body .slider .img img {
	width: 100%;
	height: 120px !important;
	object-fit: cover
}

.body .item a.star {
	margin-left: 5px;
	background: url('../img/web/stern.png') no-repeat 0 -34px;
}

#page.suche .body .item {
	padding: 8px 20px 8px 0;
	border-bottom: #878787 1px solid;
}
#page.suche .body .item:last-child { border-bottom: none; }

#page.suche .body .punkt { color: #777; }
#page.suche .body .cnt { color: #777; font-size: smaller; }

#page.suche .body .pkt,
#page.suche .body .ver,
#page.suche .body .aus,
#page.suche .body .cms {
	color: #777;
	text-transform: uppercase;
}


/* dates + persons table */

.body .list {
	width: 100%;
	border-collapse: collapse;
}

.body .list div {
	vertical-align: top;
	/*font-size: 13px;*/
	padding: 2px 0;
	border-bottom: none;
}

.body .list div.sep { padding: 0; border-bottom: #878787 1px solid; }
.body .list.dates div.row { padding: 4px 0; border-bottom: #878787 1px solid; }
.body .list.dates div.row:last-child { border-bottom: none; }
.body .list div.top { padding: 0 0 5px; }
.body .list div.day {
	position: relative;
	padding: 0;
	width: 30px;
}
.body .list div.day div {
	position: absolute;
	top: 5px;
	left: 0;
	padding: 0;
	width: 30px;
	height: 30px;
	color: #fff;
	font-weight: bold;
	text-align: center;
	line-height: 28px;
	background: url('../img/web/circle.png') no-repeat top left;
}

.body .list a.star { background: url('../img/web/stern.png') no-repeat 0 -34px; }
.body .list a.star:hover,
.body .item a.star:hover { background-position: 0 -68px; }


/* gallery */

.body .galimg {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin: 10px 0;
}
.body .galimg div {
	max-width: 300px;
}

#page.karte #content { overflow-x: auto; }


/* map */

.body .map {
	position: relative;
	width: 865px;
	height: 588px;
	background: url('../img/web/map.png') no-repeat top left;
	margin: 0 auto;
}

.body .map span.header {
	position: absolute;
	top: 0;
	right: 20px;
	text-align: right;
}

.body .map span.footer {
	position: absolute;
	bottom: 20px;
	right: 20px;
	text-align: right;
}
.body .map span.footer a {
	color: #c90;
}
.body .map span.footer a:hover {
	color: #a70;
}

.body .map span.legend {
	position: absolute;
	top: 360px;
	right: 20px;
	display: block;
	width: 150px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 14px;
	padding: 5px;
	background: #fff;
	border: #ccc 1px solid;
	-webkit-border-radius: 8px;
	border-radius: 8px;
}
.body .map p { padding-left: 18px; background: no-repeat top left }
.body .map p.la { background-image: url('../img/map/icon_a.png') }
.body .map p.lv { background-image: url('../img/map/icon_v.png') }
.body .map p.lav { background-image: url('../img/map/icon_av.png') }
.body .map p.lbh { background-image: url('../img/map/icon_bhf.png') }

.body .map div {
	position: absolute;
}

.body .map div img {
	position: absolute;
	top: 0;
	z-index: 2;
	max-width: none !important;
}

.body .map div label {
	position: absolute;
	top: 0;
	left: 14px;
	z-index: 1;
	padding: 2px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	line-height: 10px;
	color: #777;
	background: #fff;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	opacity: .6;
}
.body .map div label.left {
	left: auto;
	right: 0;
	text-align: right;
}
.body .map div label.down {
	top: 14px;
	left: 0;
}
.body .map div:hover label {
	z-index: 3;
	color: #000;
	background: #ddd;
	opacity: 1;
}

.body .map div span {
	position: absolute;
	bottom: 0;
	z-index: 4;
	visibility: hidden;
	overflow: visible;
	opacity: 0;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
	line-height: 12px;
	/*color: #fff;*/
	background: #ddd;
	/*background: var(--cur-rb-color);*/
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-transition: visibility 250ms 100ms, opacity 250ms 100ms;
	-o-transition: visibility 250ms 100ms, opacity 250ms 100ms;
	transition: visibility 250ms 100ms, opacity 250ms 100ms;
}
.body .map div:hover span,
.body .map div.click span {
	visibility: visible;
	opacity: 1;
}
.body .map div a.ort {
	outline: none !important;
}

.body .map div span a {
	display: block;
	white-space: nowrap;
	padding: 3px 3px 3px 9px;
	color: #333;
	text-decoration: none;
	background: url('../img/ico/arrow.gif') no-repeat 2px 4px;
}
.body .map div span a:hover { text-decoration: underline }


/* presse */

#page.presse ul.press {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	/*flex-direction: column;*/
	column-gap: 20px;
}

#page.presse ul.press li {
	padding: 10px 0;
	text-align: center;
	font-size: 14px;
}

#page.presse ul.press li .info {
	font-size: 12px;
}


/* links */
#page.links .body a:not(.totop) { display:inline-block; margin:2px 0 }


/* slider optimizations (locations) */

.shead {
	display: flex;
}
.shead h3 {
	white-space: nowrap;
}
.shead div {
	align-self: center;
}

.slick-slider {
	padding: 0 10px;
}

.slick-track {
	margin-left: 0;
	margin-right: 0;
}

.slick-prev, .slick-next {
	top: 75px;
	width: 30px;
	height: 30px;
}

.slick-prev::before, .slick-next::before {
	color: var(--cur-rb-color);
	font-size: 30px;
}

.slick-prev {
	left: -15px;
}

.slick-next {
	right: -15px;
}

.slider .item {
	word-wrap: break-word;
	padding: 0;
	margin: 10px;
	border-bottom: none;
}

.slick-slide .star img {
	display: inline;
}

.slick-dots {
	position: static;
	/*display: inline-block;*/
	width: auto;
	text-align: left;
}

.slick-dots li {
	margin: 0;
	width: 15px;
	height: 15px;
}

/*.slick-slider { user-select: text }
@media all and (min-width: 768px)
{
	.slick-list.draggable { user-select: none }
}*/
