@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-image:url("../gfx/background-desktop-25-test.jpg");
	background-attachment:fixed;
	background-repeat:no-repeat;
	background-size:cover; */
	background-color:#eee;
	color:#000;
	font-family:Arial, Helvetica, sans-serif;
	margin:0;
}

.canvas {
	/*	overflow:hidden; */
	margin:0;
	border:none;
	width:100%;
	font-size:1.1vw; /* 1.1vw | 7px + 0.5vw */;
/*	position:relative; */
/*	min-height:100vh; */
}

.container {
	margin:0 auto;
	border:none;
	width:100%;
	/* min-width:960px; */
}

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

.spacer {
	display:blocK;
	height:3vw;
}

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

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

.eyecatcher-mobile {
	display:none;
}

a {
	text-decoration:none;
}

nav {
	margin-top:3%;	
	margin-bottom:5%;	
	width:100%;
	text-align:center;
}

.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:#76b457;
	font-size:150%;
	font-weight:400;
	text-transform:uppercase;
}

.menu a {
	border-bottom:0.5vw solid transparent;
}

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

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

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

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

.panel {
	padding:1vw 1.5vw;
/*	background-color: rgba(255, 255, 255, 0.1); */
	backdrop-filter: blur(0.8vw);
	border:black 1px solid;
	border-radius:1.5vw;
	box-shadow: 0 1vw 2vw 0 rgba(0, 0, 0, 0.2), 0 1.5vw 5vw 0 rgba(0, 0, 0, 0.25);
}

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

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

.text_container-bak:nth-child(5) {
	width:25%;
}

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

.text_container > h3 {
/*	line-height:130%; */
	font-weight:bold;
	margin-top:0;
	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;
	width:15%;
}

.pic_container:nth-child(4) {
	margin-left:3%;
}

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

.contact-list {
	margin:0 8% 0 15%;
}

.contact-list a {
	font-size:1vw;
	font-weight:normal;
	color:black;
}

.contact-list a:hover {
	background-color:#ddd;
}

.contact-item {
	margin-top:1.5vw;
	padding:0.5vw 0.6vw 0.5vw 0.5vw;
	float:left;
	height:4vw;
}

.phone, .facebook, .termin, .formular {
	float:right;
	width:50%;
}

.url {
	display:none;
}

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

.contact-item p {
	float:left;
	margin:0 0 0 1vw;
	padding:0;
	line-height:4vw;
	vertical-align:middle;
}

.contact-item.address p, .contact-item.facebook p, .contact-item.wahlarzt p, .contact-item.termin p {
	line-height:1.7vw;
	margin-top:0.3vw;
}

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

.urlaub {
	width:70%;	
	margin:0 auto 3% auto;
	padding:2% 5% 0.5% 5%;
	background-color:#76b457;
	text-align:center;
	color:#fff;
	font-size:120%;
}

.urlaub p {
	margin-bottom:2%;
}

.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:90%;
}

.textlist > p, .textlist > .p-with-list {
	margin-bottom:1.5vw;
	border-left:#76b457 0.6vw solid;
	padding-top:0.2vw;
	padding-left:0.75vw;
	font-size:140%;
	line-height:90%;
}

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

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

.column, .fullrow {
	float:left;
	width:40%;
	padding-right:2%;
	margin-top:2vw;
	margin-bottom:2vw;
}

.fullrow {
	width:100%;
}

.column:nth-child(even) {
	width:57%;
	padding-right:0;
}

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

.column > p {
	margin:0.5vw 0;
}

.header {
	display:none;
}

.print-header {
	display:none;
}

.footer {
	margin-top:3%;
}

.footer-content {
	margin:0 7%;
	border-top:thin solid #888;	
	padding:2% 0;
	text-align:center;
	font-size:120%;
}

.footer-content span a {
	padding:0 4%;
	color:#666;
	font-weight:100;
}

.footer-content span a:hover {
	color:#76b457;
	text-decoration:none;
}

.hamburger {
	display:none;	
}

.overlay {
	display:none;
}

.qr-overlay {
	display:none;
	height:100%;
	width:100%;
	position:fixed;
	z-index:1;
	left:0;
	top:0;
	overflow-x:hidden; /* Disable horizontal scroll */
	background-color:rgba(15,15,15,0.5);
	backdrop-filter: blur(6px);
}

.qr-overlay > img
{	
	position: absolute;
	width:25%;
	height:auto;
	top: 50%;
	left:50%;
	-webkit-transform: translate(-50%,-50%);
	-ms-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

.qr-overlay:hover {
	cursor: pointer;
}

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

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

th, td {
	font-size:120%;
	line-height:100%;
	padding:1.5% 1%;
	vertical-align:top;
}

th {
	text-align:center;
	background-color:#76b457;
	color:#fff;
	white-space:nowrap;
}

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

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

.table-col-img, .table-col-name, .table-col-author, .table-col-src {
	font-size:125%;
}

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

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

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

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

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

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

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

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

.table-col-urlaub-delete > a:hover {
	text-decoration:none;
	cursor: pointer;
}

form {
	margin:1% 0 1% 0;
	font-size:150%;
}

input {
	padding:0.5vw;
	font-size:100%;
}

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

input[type=submit]:hover {
	cursor: pointer;
}

.captchas {
	margin-left:19vw;
}

.captcha {
	float:left;	
}

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

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

.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:5vw;
	width:5.5vw;
	height:5.5vw;
}

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

#submit_kontakt_captcha:hover {
	cursor: pointer;
}

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

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: 4.2vw;	
	margin-bottom: 0.5vw;
	font-size: 125%;
	line-height: 150%;
	-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: 3vw;
	width: 3vw;
	background-color: white;
	border: 0.1vw 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: 1.08vw;
	top: 0.6vw;
	width: 0.6vw;
	height: 1.2vw;
	border: solid white;
	border-width: 0 0.36vw 0.36vw 0;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

label {
	margin-right:0.5vw;
	font-size:1.2vw;
	line-height:250%;
}

#patient_name, #patient_name, #patient_email, #patient_phone, #patient_comment {
	margin-bottom: 1vw;
	width:60%;
	border:solid thin #76b457;
	color:#000;
	font-size:2vw;
	font-family:Arial, Helvetica, sans-serif;
}

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

.button {
	border:#888 solid thin;
	color:white;
	background-color:#76b457;
	padding:0.8vw;
}

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

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

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

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

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

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

a:hover {
	text-decoration:underline;
}

ul {
	padding-left:2%;
	list-style-type:square;
}

li {
	margin-bottom:0.5%;
}

.noupper {
	text-transform:none;
}

.dash {
	padding:0 1%;
}

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

.expired {
	color:#aaa;
}

.mainpage {
	font-size:120%;
	margin:4% 0 4% 1%;
}

.border-left {
	margin-left:-1.5%;
	border-left:solid thick #76b457;
	padding-left:8%;
	width:35%;
}

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

.qr {
	display:none;
}

.admin {
	width:50%;
	margin:0 auto;
	margin-top:-2%;
	margin-bottom:-2%;
	font-size:180%;
	text-align:center;
	color:white;
	background-color:orange;
	padding:1vw 3vw;
}

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

.logout:hover {
	text-decoration:none;
}

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

.webdesignby a img {
	width:12%;
}

.not_printable {
	display:block;
}

.desktop_only {
	display:block;
}

.mobile_only {
	display:none;
}

.print_only {
	display:none;
}

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

@media only screen and (device-width : 375px) and (device-height : 667px) and (-webkit-device-pixel-ratio : 2)
{ /* iPhone 8 */
	.menu a, .menu-selected a {font-size:6px;}
}