/*
 * global: tags
 */
 
body{
	color:#000000;
	margin: 0;
	padding: 0;
	font-family: "PT Sans";
	font-size:1.25em;
	font-weight:400;
	background-color: #cccccc;
	
	overflow-x: hidden;
	min-height:95vH;
}

a { 
	color:#3399cc; 
	text-decoration:none;
}

b { 
	color:#33cc33; 
	font-weight:normal;
}

/*
 * global: decoration
 */
 
 .smaller {
	 font-size:0.8em;
 }
 
 .italicsmaller {
	 font-size:0.8em;
	 font-style: italic;
 }
 
 .hidden {
	 opacity: 0;
	 pointer-events: none;
 }
 
/*
 * global: structure
 */
 
.navi {
	margin-top:0;
	padding-top:0;
	font-size: 1.3em;
	margin: 1em;
}

.littleboxes {
	float:right;
	width: 20%;
	margin: 1em;
	right:-5%;
	z-index:3;
}

.map {
	text-align:left;

	font-family: "PT Sans";
	color: #3399cc;
	font-size: 4em;

/*	
	border: 2px solid #3399cc;
*/
	border-radius: 0.2em;

	background-image: url(img/map-kl-sw.jpg); 
	background-width: 100%;
	aspect-ratio: 1.5;
	
	cursor:pointer;
	z-index:0;
}

.petonline {
	text-align:left;
	font-family: "PT Sans";
	color: #3399cc;
	font-size: 2em;
	cursor:pointer;
	
	margin-top: 0.3em;
	margin-bottom:0.5em;
	padding:0.2em;
	border: 2px solid #3399cc;
	border-radius: 0.2em;

	background-color:#eeeeee;
	background-image: url(img/bluemchen.png); 
	background-size: 40%,40%;
	background-repeat: no-repeat;  
	background-position: right bottom;

}

.date {
	background-color:#eeee00;
	text-align:center;

	font-family: "PT Sans";
	color: #3399cc;
	font-size: 4em;
	
	margin-top: 0.05em;
	margin-bottom: 0.05em;
	/*
	border: 2px solid #3399cc;
	*/
	border-radius: 0.2em;
	
	cursor: pointer;
}

.dateinfo {
	background-color:#eeee00;
	text-align:left;
	vertical-align: top;

	font-family: "PT Sans";
	color: #3399cc;
	font-size: 1.5em;
	font-weight: bold;

/*
	border: 2px solid #3399cc;
*/
	padding:0.2em;
	border-radius: 0.2em;
}

.newsinfo {
	background-color:#ff9933;
	text-align:left;
	vertical-align: top;

	font-family: "PT Sans";

	color: #fffff7;
	font-size: 1.5em;
	font-weight: bold;

	cursor:pointer;
/*
	border: 2px solid #3399cc;
*/
	padding:0.2em;
	border-radius: 0.2em;
	margin-top: 0.1em;
	margin-bottom: 0.1em;
}

.newsnews {
	font-size: 1em;
	color: #000007;
}

.halme {
	text-align:left;
	vertical-align: top;
	margin-top: 0.3em;
	margin-bottom:0;
	overflow:hidden;
	display:flex;
}

.halme img {
	height:2.5em;
}

/*
 * global: content
 */

.box {
	text-align:center;
	width: 100%;
}

.content{
	width: 92%;
	margin:auto;
	margin-top: 1vH;

	font-family: "PT Sans";
	text-align:left;
	padding: 1em;
	padding-top: 33vH;

	background-color: #ffffff;
	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #333333;
	border-right-style: solid;
	border-right-width: 2px;
	border-right-color: #333333;
}

.content img {
	max-width: 75%;
}

h1 {
	font-size: 2.2em;
	color: #3399cc;
}

h2 {
	font-size: 1.6em;
	color: #33cc33;
}
h3 {
	font-size: 1em;
	color: #3399cc;
}

.small {
	font-size: 0.8em;
	font-style: italic;
}

.promote {
	font-weight: bold;
	color: #339933;
}

/*
 * structure: header
 */

.header {
	position: fixed;
	top: 0;
	left:0;
	width: 100%;
	height: 31vH;
	padding-bottom: 2vH;
	background-color: #339933;
}

.header-navi {
	width: 100%;
	height: 5vH;
	padding: 1vH;
	padding-bottom:0;
}

.header-navi a {
	background-color:white;
	font-family: Martian Mono; 
	font-size: 1.1em; 
	background-color: #ffffff;
	float: left;
	margin-right: 1vH;
}

.header-navi-bluemchen {
	display: inline-block;
	float: left;
}

.header-navi-bluemchen img {
	height: 3vH;
	margin-right: 1vH;
}

.header-navi-halme {
	display: inline-block;
	float: left;
}

.header-navi-halme img {
	height: 3vH;
}

.header-bg {
	display: inline-block;
 	width:100%; 
	height: 25vH;
 	margin: 0;
	padding: 0;
	overflow-x: hidden;
	overflow-y: hidden;
	white-space: nowrap;
}

.header-rotate img {
	height: 25vH;
	padding-bottom:2vH;
}

.header-rotate {
}

#header-bg .header-rotate {
    position: fixed;
	animation: loop 80s linear infinite;

}
#header-bg .header-rotate#header-rotate-2 {
    transform: translateX(100%);
    animation-delay: 40s; 
}
@keyframes loop {
    0% {transform: translateX(100%);}
    100% {transform: translateX(-100%);}
}

.header-deko {
	position:absolute;
	top: 0;
	left: 0;
	width:100%; 
 	margin: 0;
 }

.smfa {
	position:absolute;
	top: 5em;
	right: 5em;
	z-index: 5;
	clear:none;
	width: 50%;
}

.smfa img {
	width:100%;
	display: block;
	clear:none;
	min-height: 3em;
}

.bluemchen2 {
	position:absolute;
	top:5em;
	left:5em;
	z-index:4;
	width:2%;
	clear:none;
	padding:0;
}

.bluemchen2 img {
	height:5em;
	clear:none;
	top:0;
}

/*
 * structure: footer
 */

.footer{
	width:92%;
	margin:auto;
	background-color:#000066;
	color:#fffff7;
	text-align:right;
	padding-left: 1em;
	padding-right: 1em;
	margin-bottom: 1em;

	border-left-style: solid;
	border-left-width: 2px;
	border-left-color: #333333;
	border-right-style: solid;
	border-right-width: 2px;
	border-right-color: #333333;
}

.footer a {
	color:#fffff7;
}

figcaption {
	font-style:italic;
	border-bottom:1px solid #333333;
}


/*
 * structure: display eelements common to multiple pages
 * images, content column structure (besides on landscape, below on portrait -- tbc)
 */

.img {
	text-align:left;
display: block;
	padding:5%;
	top: 5%;
	left: 5%;
	bottom: 5%;
	right: 5%;
border: 1px solid black;
	position: absolute;
	background-color: white;
}

.img > img {
display: block;
aspect-ratio: 1.0;
object-fit: contain;
	position: absolute;
	top: 5%;
	left: 5%;
	bottom: 5%;
	right: 5%;
  	width: 90%;
	height: 90%;
	max-width: 90%;
	max-height: 90%;
	margin:0;
/* float: left; */
}

.imgdescr {
/* float: left; */
}

.imgbox {
	background-color: rgb(255, 255, 255, 0.5);
display: block;
	position: absolute;
	top: 0px;
	left: 0px;
	bottom: 0px;
	right: 0px;
	z-index: 999;
}



.twocol-container {
	width: 95%;
	float: left;
	padding-right: 2%;
}

.twocol-text li {
	font-style: italic;
	font-size: 1.0rem;
}

.twocol-text li::marker {
  color: #339933;
}

.twocol-data img {
	max-width: 95%;
	max-height: 95%;
}

.twocol-img {
	aspect-ratio: 1.0;
	width: 95%;
	max-width: 95%;
	text-align:right;
}

@supports (display: grid) {
	@media (min-width: 40em) {
		.twocol {
			display: grid;
			grid-template-columns:
				[twocol-data-start] 1fr
				[twocol-data-end twocol-text-start] 2fr
				[twocol-text-end];
			grid-template-rows: 1fr;
		}

		.twocol-data {
			grid-column: twocol-data;
		}

		.twocol-text {
			grid-column: twocol-text;
		}
	}

	.twocol-items {
		display: grid;
		grid-template-columns:
			[twocol-start] 1fr
			[twocol-end twocol-start] 1fr
			[twocol-end];
		grid-template-rows: 1fr;
	}

	.twocol {
		grid-column: twocol;
	}

	@media (orientation: portrait) {
		.twocol-items {
			display: grid;
			grid-template-columns:
				[twocol-start] 1fr
				[twocol-end];
			grid-template-rows: 1fr;
		}
	}
}

@media (orientation: portrait) {
	.twocol-items {
		width: 96%;
	}
}

/*
 * page: map
 */

.karte {
  display: grid;
  grid-template-columns: max-content max-content max-content;
}

.karte div {
}

.pano {
	height: 10em;
	max-height: 10em;
 	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
}

.karte img {
	width: 60vh;
	max-height: 70vh;
	max-width: 70vh;
	min-height: 40vh;
	min-width: 40vh;
}

.ccol {
	width: 60vh;
	min-width: 60vh;
	max-width: 60px;
}

.pano img {
	display: block;
	height: 10em;
	max-height: 10em;
 	width: initial ;
	max-width: initial ;
}


.orte {
}

.orte img {
	cursor: pointer;
}

.orte h2 {
	font-size: 1.4em;
	margin-top: 0;
	margin-bottom: 0;
}

.orte h3 {
	margin-top: 0;
}

/*
 * page: projekte
 */

.cittitle {
	font-size: 1.5em;
	font-style: italic;
	font-weight: bold;
	color: #339933;
	}
/* 
.citation {
	font-size: 1.5em;
	font-style: italic;
	color: #999999;
}
 */
.citation {
	font-size: 1.2em;
	font-style: italic;
	color: #999999;
}

.citsource {
	font-size: 1.0em;
	font-style: italic;
	color: #999999;
	padding-left:2em;
	
}

.citsource img {
	width:30%;
	float:right;
	padding-right:2em;
	
}

.citepic {
	width:35%;
	border:1px black solid;
	margin-right:2em;
	float:left;
}

/*
 * page: termine
 */

.tdate{
	font-size:3em;
	float:left;
	font-weight:bolder;
	margin-right:1%;
	color:#33cc33;
	width:20%;
	text-align:right;
}

.tbis{
	font-size:0.7em;
	line-height:0.8em;
}

.ttime{
	color:#3399cc;
}

.tort{
	font-style: italic;
}

.ttitle{
	font-size:1.5em;
}

.tdesc{
	padding-left: 21%;
	padding-top: 0.5em;
}

.tinfo{
	color:#3399cc;
	font-weight:bolder;
}

/*
 * page: timeline
 */

.tldate{
	font-size:2em;
	font-weight:bolder;
	margin-right:1%;
	color:#33cc33;
	text-align:right;
 /* border:solid 1px red; */
	grid-column: info-header;
	grid-row: -1 / 1;
	margin-right: 1em;

}

.tldate img {
	width:70%;
	cursor:pointer;
}

.tldesc{
/* border:solid 1px green; */
	grid-column: info-body;
	border-bottom:1px solid #3399cc;
	padding-bottom: 0.5em;
	margin-bottom: 0.5em;
}

.tldesc img {
	margin-top: 1em;
	border:1px solid black;
	width:30em;
	cursor:pointer;
}

.tlbox{
	align:left;
 /* border:solid 1px blue; */
 
}

@supports (display: grid) {
	@media (min-width: 40em) {
		.tlbox {
			display: grid;
			grid-template-columns:
				[info-header-start] 15em
				[info-header-end info-body-start] 1fr
				[info-body-end];
			grid-template-rows: 1fr;
		}
	}
}

/*
 * page: timeline -- vertically centered
 */

.tlvcdate{
	font-size:2em;
	font-weight:bolder;
	color:#33cc33;
	text-align:center;
 /* border:solid 1px red; */

}

.tlvcimg{
	text-align:center;
 /* border:solid 1px red; */

}

.tlvcbox img {
	width:10%;
	cursor:pointer;
	padding-bottom: 0.5em;
}

.tlvcdesc{
	padding-bottom: 0.5em;
	align:center;
	list-style-position: inside;
	list-style-image:url('img/bluemchen-solo.png');
	
	min-width:1px;
	width: 90%;
	max-width: 90%;
	text-align: left;
}

.tlvcbox{
	align:left;
 /* border:solid 1px blue; */
	border-top:1px solid #cccccc;
	text-align:center;
	padding-left:5%;
}

/*
 * page: kontakt
 */
 
 .kontakt {
	height:15em;
	width:15em;
	float: left;
	border:1px #999999 dotted;
	padding:1em;
	margin:1em;
}
 
 .kontakt a {
	 color:#33cc33;
 }
 
 .kontakt h3 {
	font-weight:normal;
	font-size: 1.2em;
	clear:all;
 }
 
 .qr {
	text-align:center;
 }
 
 .qr img {
	 width:10em;
 }
 
 /*
 * page: news
 */
 
.news img {
	cursor: pointer;
}

.news h2 {
	margin-top: 0;
	margin-bottom: 0;
}

.news h3 {
	margin-top: 0;
}

@supports (display: grid) {
	@media (min-width: 40em) {
		.news {
			display: grid;
			grid-template-columns:
				[news-data-start] 1fr
				[news-data-end news-text-start] 3fr
				[news-text-end];
			grid-template-rows: 1fr;
		}

		.newsdata {
			grid-column: news-data;
		}

		.newstext {
			grid-column: news-text;
		}

	}
}
