@charset "utf-8";
/* (C) 2025 Peter Klakocer, klakocer.at */
/* https://www.freecodecamp.org/news/how-to-keep-your-footer-where-it-belongs-59c6aa05c59c */

html {
	overflow-y:scroll;
}

body {
	background-color:#eee;
	color:#000;
	font-family:Arial, Helvetica, sans-serif;
	font-size:1vw;
}

.canvas {
/*	overflow:hidden; */
/*	display:none; */
	border:none;
	width:100%;
	position:relative;
/*	min-height:100vh; */
}

.container {
	margin:0 auto;
	border:none;
	width:100%;
}

.content {
	margin:0 2% 2% 2%;
	width:96%;
}

.spacer {
	margin-top:2%;
}

.subscript {
	display:inline;
	font-size:70%;
}

.eyecatcher-desktop {
	display:none;
}

.eyecatcher-mobile {
	margin:0 0;
	width:100%;
	height:auto;
}

.eyecatcher-mobile img {
	width:100%;
	height:auto;
}

a {
	text-decoration:none;
}

nav {
	display:none;
}

.menu, .menu-selected {
	display:inline;
	margin-right:9%;
	border:none;
	padding:1.45% 1% 0.8% 1%;
}

.menu:first-child, .menu-selected:first-child {
	margin-left:0;
}

.menu:last-child, .menu-selected:last-child {
	margin-right:0;
}

.menu a, .menu-selected a {
	color:#888;
	font-size:150%;
	font-weight:400;
	text-transform:uppercase;
}

.menu-selected {
/*	border-color:#0a67b5; */
	background-color:76b457;
}

.menu-selected a {
	color:#fff;
}

.menu a:hover {
	color:#76b457;
	text-decoration:none;
}

.menu-selected a:hover {
	text-decoration:none;
}

.pictext_row {
	width:100%;
}

.pictext_container {
	margin-top:4%;
	width:100%;
}

.text_container {
	float:left;
	margin-left:2%;
	width:45%;
}

.text_container > h2 {
	text-transform:uppercase;
/*	margin-bottom:4%; */
	margin-top:1vw;
	margin-bottom:0.4vw;
	color:#76b457;
/*	line-height:120%; */
}

.text_container > h3 {
/*	line-height:130%; */
	font-weight:bold;
	margin-top:10%;
	margin-bottom:0.3vw;
}

.text_container > p {
/*	margin-bottom:10%; */
	margin-top:0;
	margin-bottom:1.5vw;
}

.text_container > ul {
	margin-top:0;
	margin-bottom:0;
	padding:2% 0 0 8%;
}

.text_container > ul > li {
	margin-top:0;
	margin-bottom:0.15vw;
}

.pic_container {
	float:left;
	margin-bottom:4%;
	width:50%;
}

.pic_container img {
	width:100%;
	height:auto;
}

.fullrow {
	width:100%;
}

.fullrow > iframe {
	width:100%;
	height:400px;
}

.contact-list {
	margin:5vh 0 0 3vw;
}

.contact-item {
	display:block;
	margin-top:3vh;
	width:100%;
	height:6vw;
}

a.contact-item {
	color:black;
}

.contact-item img {
	float:left;
	width:6vw;
	height:auto;
	vertical-align:middle;
}

.contact-item p {
	float:left;
	margin:0 0 0 3%;
	padding:0;
	line-height:120%;
	font-size:4vw;
	vertical-align:middle;
	font-weight:normal;
}

.contact-item p:hover {
	text-decoration: underline;
}

.termin, .facebook {
	margin-top:5vh;
}

.url, .vcard, .formular {
	display:none;
}

.urlaub {
	width:90%;
	margin:5% auto 4% auto;
	padding:5% 1vw 1.5% 1vw;
	background-color:#76b457;
	text-align:center;
}

.urlaub p {
	color:#fff;
	font-size:4vw;
	margin-bottom:5%;
	padding:0 0.5vw;
}

.urlaub p a {
	color:#fff;
	text-decoration:none;
	font-weight:300;
}

.error {
	padding:2%;
	background-color:#f00;
	color:#fff;
}

.textlist {
	margin-top:0.5%;
	margin-bottom:0.5%;
	width:100%;
}

.textlist > p, .textlist > .p-with-list {
	margin-bottom:1.5vh;
	border-left:#76b457 1vw solid;
	padding-top:0.2vw;
	padding-left:1.5vw;
	font-size:4vw;
	line-height:110%;
}

.p-with-list {
	padding-top:0;
}

.p-with-list > p, .p-with-list > ul {
	margin-top:0;
	line-height:110%;
	font-size:100%;
}

.column {
	width:100%;
}

.h1-mobile {
	margin-top:5%;
	margin-bottom:3%;
	font-size:6vw;
	font-weight:bold;
	text-transform:uppercase;
	color:#0a67b5;
}

.column > h2, .fullrow h2 {
	width:100%;
	margin-top:8%;
	margin-bottom:2%;
	padding:0 0 1% 0;
	color:#76b457;
	text-transform:uppercase;
	font-size:4vw;
	font-weight:600;
}

.header {
	z-index:100;
	position:fixed;
	width:100%;
	height:auto;	
	top:0;
	left:0;
	border-bottom:#eee solid thin;
	background-color:#f0f0f0;
}

.print-header {
	display:none;
}

.footer {
	height:5vw;
}

.footer-content {
	display:none;
}

.hamburger {
	visibility:visible;
	position:fixed;
	top:0; /* just to initialize */
	right:1vw;
	background-color:transparent;
	height:15vw;
	width:15vw;
	cursor:pointer;
	transition:0; /* transition:0.3s;*/
	z-index:9999;
}

.hamburger span, .hamburger span:before, .hamburger span:after {
	position:absolute;
	height:1vw;
	width:6vw;
	background-color:white;
	transition:0.3s;
}

.hamburger span {
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

.hamburger span:before {
	content:'';
	top:-2vw;
}

.hamburger span:after {
	content:'';
	top:2vw;
}

.hamburger.active span { background-color:transparent; }
.hamburger.active span:before { transform:rotate(45deg);top:0; }
.hamburger.active span:after { transform:rotate(-45deg);top:0; }

.canvas, .overlay {
	top:34vw; /* just to initilize */
}

/* The Overlay (background) */
.overlay {
	display:none;
	height:100%;
	width:100%;
	position:fixed;
	z-index:1;
	left:0;

	overflow-x:hidden; /* Disable horizontal scroll */
	background-color:#eee;
}

/*
.overlay-background {
	position:fixed;
	top:0;
	left:0;
	min-width:100%;
	min-height:100%;
	width:100%;
	height:auto;
} */

/* Position the menu content inside the overlay */
.overlay-content-menu {
	position:relative;
	margin:0 0 0 5vw;
/*	width:60vw; */
	background-color:#eee;
	height:100vh;
}

.overlay-content-menu-padding {
	height:10vh;
}

.overlay-content-menu a {
	display:block;
	margin-bottom:4vh;
	padding:0 0 0 4vw;
	width:100%;
	text-decoration:none;
	font-size:7vw;
	font-weight:bold;
	color:#76b457;
	border-left:#76b457 1.5vw solid;	
}

.overlay-content-menu a:hover {
	text-decoration:none;
	background:#eee;
}

.qr-overlay {
	display:none;
}

table {
	margin-top:2vh;
	width:100%;
}

table, th,td {
	border:thin solid black;
	border-collapse:collapse;
}

th, td {
	font-size:2.5vw;
	line-height:110%;
	padding:1.5% 1% 1% 1%;
	vertical-align:top;
}

th {
	text-align:center;
	background-color:#76b457;
	color:#fff;
	padding-bottom:2% 0;
}

tr:nth-child(even) {
	background-color:#eee;
}

tr:nth-child(odd) {
	background-color:#fff;
}

.table-col-img, .table-col-name, .table-col-author, .table-col-src {
	font-size:2vw;
}

.table-col-img {
	width:20%;
}

.table-col-name {
	width:30%;
}

.table-col-author {
	width:10%;
}

.table-col-src {
	width:25%;
}

.table-col-urlaub-date {
	width:18%;
}

.table-col-urlaub-comment {
	width:33%;
}

.table-col-urlaub-delete {
	width:12%;
	text-align:center;
}

.table-col-urlaub-delete > a {
	color:white;
	background-color:red;
	padding:0.3vw 3vw;
	text-align:center;
	text-decoration:none;
	font-size:3.5vw;
}

form {
	margin:1% 0 5% 0;
	font-size:3.5vw;
}

input {
	padding:1vw 2vw;
	font-size:3.5vw;
}

input[type=submit] {
	border:#888 solid thin;
	color:white;
	background-color: #76b457;
	font-size:4vw;
}

label.responsive-checkbox, label.responsive-checkbox-disabled {
	display:inline-block;
	margin-top: 0.5vw;
	font-size:3.5vw;
}

label.responsive-checkbox:first-child, label.responsive-checkbox-disabled:first-child {
	margin-top: 0;
}

.responsive-checkbox, .responsive-checkbox-disabled {
	display: block;
	position: relative;
	padding-left: 13vw;	
	margin-bottom: 0.5vw;
	font-size: 125%;
	line-height: 125%;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

.responsive-checkbox {
	cursor: pointer;
}

/* Hide the browser's default checkbox */
.responsive-checkbox input, .responsive-checkbox-disabled input {
	position: absolute;
	opacity: 0;
	cursor: pointer;
	height: 0;
	width: 0;
}


/* Create a custom checkbox */
.checkmark {
	position: absolute;
	top: 0;
	left: 0;
	height:10vw;
	width:10vw;
	background-color: white;
	border: 0.2vw solid #76b457;
}
 
.responsive-checkbox:hover input ~ .checkmark {
	background-color: #76b457;
}

.responsive-checkbox input:checked ~ .checkmark {
	background-color: #76b457;
}

.responsive-checkbox-disabled input:checked ~ .checkmark {
	background-color: #444;
}

 /* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
	content: "";
	position: absolute;
	display: none;
}
 
/* Show the checkmark when checked */
.responsive-checkbox input:checked ~ .checkmark:after, .responsive-checkbox-disabled input:checked ~ .checkmark:after {
	display: block;
}
 
/* Style the checkmark/indicator */
.responsive-checkbox .checkmark:after, .responsive-checkbox-disabled .checkmark:after {
	left: 3.6vw;
	top: 2vw;
	width: 2vw;
	height: 4vw;
	border: solid white;
	border-width: 0 1.2vw 1.2vw 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

label {
	font-size:3.5vw;
	line-height:125%;
}

#patient_name, #patient_name, #patient_email, #patient_phone, #patient_comment {
	margin-top:1vw;
	margin-bottom:3vw;
	width:75%;
	border:solid 0.2vw #76b457;
	color:#000;
	font-size:5vw;
	font-family:Arial, Helvetica, sans-serif;
}

#patient_comment {
	width:90%;
	resize:vertical;
}

#patient_disclaimer {
	line-height:125%;
}

#patient_submit {
	margin-top:0;
}

.button {
	border:#888 solid thin;
	color:white;
	background-color:#76b457;
	padding:1vw;
	font-size:4vw;
}

.button:hover {
	cursor:pointer;
	text-decoration:none;
}

h1 {
	margin-top:5%;
	margin-bottom:3%;
	font-size:5.5vw;
	font-weight:bold;
	text-transform:uppercase;
	color:#76b457;
}

h2 {
	margin-top:4%;
	margin-bottom:0.7%;
	font-size:4vw;
	font-weight:600;
	text-transform:uppercase;
	color:#76b457;
}

h3 {
	margin-top:2%;
	margin-bottom:0.7%;
	font-size:3.5vw;
	font-weight:400;
}

p, ul {
	margin-top:0.5%;
	margin-bottom:1%;
	font-size:3.5vw;
	line-height:120%;
}

a {
	color:#76b457;
	font-weight:bold;
}

a:hover {
	text-decoration:underline;
}

ul {
	padding-left:5%;
	list-style-type:square;
	margin-bottom:2vh;
}

li {
	margin-bottom:0.5%;
}

.noupper {
	text-transform:none;
}

.dash {
	padding:0 1%;
}

.weekday {
	display:inline-block;
	width:2em;
}

.expired {
	color:#aaa;
}

.mainpage div.column h1 {
	font-size:6vw;
}

.mainpage div.column p {
	font-size:5vw;
}

.clearer, .clearer-mobile-only {
	clear:both;
	margin:0;
	width:100%;
	padding:0;
	height:0.1%;
}

.qr {
	display:none;
}

.admin {
	font-size:3.5vw;
	text-align:center;
	color:white;
	background-color:orange;
	padding:2vw 0;
}

.logout {
	margin-left:2vw;
	font-size:100%;
	border:#888 solid thin;
	color:white;
	background-color: #76b457;
	padding:0.3vw 1vw;
}

.webdesignby {
	display:inline-block;
	margin:4% 0 1% 0;
	width:100%;
	text-align:center;
}

.webdesignby a img {
	width:25%;
}

input[type=submit] {
	margin-top:2vh;
}

.captchas {
	width:100%;
}

.captcha {
	float:left;	
}

.distance {
	margin-left:3vw; /* optical correction */
}

.captcha-input, .submit_kontakt_captcha, .captcha img {
	width:15vw;
	height:15vw;
}

.captcha-input {
	display:flex;
	justify-content:center;
	align-items:center;
}

#captcha_result, #submit_kontakt_captcha {
	margin:auto auto;
	border:0.2vw solid #76b457;
	border-radius:1vw;
	text-align:center;
}

#captcha_result {
	color:#76b457;
	font-size:6vw;
	width:6vw;
	height:8vw;
}

#submit_kontakt_captcha {
	background-color:#76b457;
	color:white;
	font-size:2.2vw;
	width:10vw;
	height:10vw;
}

.not_printable {
	display:block;
}

.desktop_only {
	display:none;
}

.mobile_only {
	display:block;
}

.print_only {
	display:none;
}

/* http://www.canbike.org/CSSpixels, http://mydevice.io/devices */
/* http://whatismyandroidversion.com, http://whatismyscreenresolution.com */
