* {box-sizing: border-box;}

body {
	position: relative;
	display: flex;
    margin: 0;
	justify-content: center;
	flex-direction: colomn;
	background-color: #eee;	
	background-image: none;
}

p.intern {
	font-size: 16px;
	font-family: sans-serif;
	margin: 0 0 5px 0;
	color: #000080;
}

header {
	position: relative;
    height: 60px;
    overflow-x: hidden;
  	border-radius: 7px;
    background-color: #F0B665;
	background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(128,128,196,1) 87%);
}

#KopfLogo {
	position: absolute;
	right: 10px;
	top: 3px;
	width:auto;
	height:46px;
 }

#HomeBild {
	display: none;
	max-width: 640px;
	border-radius: 7px;
	margin: 30px auto  30px auto;
	box-shadow: 5px 5px 12px rgba(0, 0, 0, 0.4);
}


h1.intern {
	font-size: 30px;
	margin: 0 0 20px 0;
	font-weight: normal;
	color: #FF7F12;
	text-align: left;
	border-bottom: 2px solid #FF7F12;
	text-shadow: none;
}

h2.intern {
	font-family: sans-serif;
	font-size: 24px;
	margin: 0 0 16px 0;
	font-weight: normal;
	color: #000080;
	text-align: left;
	text-shadow: none;
}

h3.intern {
	font-family: sans-serif;
	font-size: 21px;
	margin: 0 0 14px 0;
	font-weight: normal;
	color: #000080;
	text-align: left;
	text-shadow: none;
}

header h1 {
  position: absolute;
  width: 100%;
  bottom: 9px;
  text-align: center;
  color: white;
  font-size: 36px;
  text-shadow: 2px 2px 5px rgba(0, 0, 0, 0.5);
  margin: 0;
  padding: 0;
  border: none;
}

#Fenster {
	position: relative;
	width: 100%;
	max-width: 1600px;
	min-height: 450px;
	margin-top: 9px;
	border-radius: 9px;
	background-color: #fff;
}

#RegistWin {
	position: relative;
	width: 800px;
	margin-top: 64px;
	border-radius: 9px;
	background-color: #fff;
	box-shadow:	5px 5px 20px 5px #aaa;
	padding: 20px;
	display: none;
}

#RegistWin p {
	font-family: "Open Sans", sans-serif;
	font-size: 20px;
}

p, div {
	font-family: "Open Sans", sans-serif;
	font-size: 18px;
	line-height: 1.3;
	color: #000080;	
	letter-spacing: 0;
}

div.ViertelLinks {flex:1; margin: 0 12px 20px 0;}
div.ViertelRechts {flex:3;}

div.TextListe {
	position: relative;
	width: 100%;
	min-height: 300px;
	padding:15px;
	display: none;
	opacity: 0;
	background-color: #fff;
	overflow-y: scroll;
	transition: .5s;	
}

a {
	color: #0000FF;
	text-decoration: none;
	border-bottom: 1px solid #aaa;
}
a:hover {color: #ff0000;}


/* ----------------- Import -------------------------*/

.seitenblock { border: 1px solid #ccc; padding: 10px; margin: 10px 0; position: relative; background-color: #f4f4f4;}
.controls {
  position: absolute;
  top: 10px;
  right: 10px;
}
.controls button {
  font-size: 30px;
  margin-left: 5px;
  cursor: pointer;
}
.ok { color: green; }
.del { color: red; }




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

	#HomeBild {
		display: none;
		max-width: 100%;
	}

	#Fenster, #RegistWin {
		position: relative;
		width: 100%;
		margin-top: 0;
		border: none;
		border-radius: 0;
		background-color: #fff;
	}

	header {border-radius: 0;}
	header h1 {display: none;}

	div.TextListe {padding: 5px;}

	.Menue {display: none;}
	
}

/* ---------------- Kurzfassung ----------------*/
#Kurzfassungen {
	display: flex;
	gap: 16px;
	flex-wrap: wrap;
}

.Kurzfassung {
	width: 296px;
	height: 180px;
	padding: 10px;
	overflow: hidden;
	cursor: pointer;
	background-color: rgba(255,255,255, .5);
	border: 2px solid #CECBB1;
	border-radius: 5px;
	box-shadow: 3px 3px 12px 0 #ccc;
}
.Kurzfassung:hover {background-color: rgba(255,255,255, .9);}
.Kurzfassung.intern {
	background-color: #eee;
	cursor: default;
}

.Kurzfassung > h3 {
	font-size: 18px;
	margin: 0 0 10px 0;
	color: #740e00;
}
.Kurzfassung.intern > h3, .Kurzfassung.intern > p {background-color: #fff;}
.Kurzfassung.intern > div {background-color: #dbdbdb;}

.Kurzfassung > p {
	font-size: 16px;
	line-height: 1.2;
	margin: 0 0 5px 0;
	color: #333;
	min-height: 90px;
}

.Kurzfassung > div {
	width: 100px;
	height: 90px;
	float: left;
	margin: 0 10px 10px 0;
	resize: both;
	cursor: default;
}


/* ---------------------------------- Zimmerbelegung -------------------------------- */

.ZmNrIN {
	text-align: center;
    font-size: 24px;
    font-weight: bold;
    color: blue;
}

.ZmZlNr {cursor: pointer; font-weight: bold;}
.ZmZlNr:hover {background-color: #FCFFC7;}

main { display: flex; overflow: hidden; }
#ZmSpalte { flex: 0 0 80px; background: #ededf4; }
#ZmSpalte div { height: 32px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid #666; }
#kalenderContainer { flex: 1; overflow-x: auto; display: flex; gap: 5px; scroll-behavior: smooth; background: #fafafa; }
.monat { border-collapse: collapse; background: white; min-width: max-content; }
.monat th { background: #eee; text-align: left; font-weight: bold; padding: 3px; color: #000; font-size: 18px; height: 32px;}
.monat td { width: 36px; height: 32px; border: 1px solid #ddd; text-align: center; padding-top: 4px; position: relative; overflow: visible;}
.frei { background: #eafbea; }
.TagNr { text-align: center; font-weight: bold; }

#NaviBtnHG {padding-top: 8px;}
.NaviBtnIcon {color: #777; font-size: 20px;}
.NaviBtnIcon:hover {color: red;}

.Reservierung {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  height: 100%;
  padding: 4px;
  background: linear-gradient(to bottom, #fff8b0 0%, #f3c300 100%);
  border-radius: 4px;
  overflow: hidden;
  text-align: left;
  cursor: pointer;
}
.Reservierung:hover {background: linear-gradient(to bottom, #fff8b0 0%, #FFDC4C 100%);}

#NeuResInfo {
	margin-top: -12px;
	min-height: 30px;
}