/**
 * Mio Basic theme
 * 
 * @package mio-basic
 */


/* Required WordPress CSS */

img[src$=".svg"] {
  width: auto;
}

.alignleft {
	display: inline;
	float: left;
	margin-right: 1.5em;
}
.alignright {
	display: inline;
	float: right;
	margin-left: 1.5em;
}

.aligncenter {
	display: block;
	margin: 0 auto;
}

/* WordPress gallery */

.gallery {
	margin: -7px;
	margin-bottom: 22px;
}
.gallery-item {
	position: relative;
	display: inline-block;
	padding: 7px;
	margin: 0;
	text-align: center;
	vertical-align: top;
	width: 100%;
}
.gallery-columns-2 .gallery-item {
	max-width: 50%;
}
.gallery-columns-3 .gallery-item {
	max-width: 33.33%;
}
.gallery-columns-4 .gallery-item {
	max-width: 25%;
}
.gallery-columns-5 .gallery-item {
	max-width: 20%;
}
.gallery-columns-6 .gallery-item {
	max-width: 16.66%;
}
.gallery-columns-7 .gallery-item {
	max-width: 14.28%;
}
.gallery-columns-8 .gallery-item {
	max-width: 12.5%;
}
.gallery-columns-9 .gallery-item {
	max-width: 11.11%;
}

.gallery-icon img {
	margin: 0 auto;
}
.gallery-caption {
	/*margin-top: .5rem;
	text-align: center; */
	display: none; 
}

.gallery-columns-6 .gallery-caption,
.gallery-columns-7 .gallery-caption,
.gallery-columns-8 .gallery-caption,
.gallery-columns-9 .gallery-caption {
	display: none;
}

.wp-caption {
	max-width: 100%;
}
.wp-caption img[class*="wp-image-"] {
	display: block;
	margin: 0 auto;
}
.wp-caption-text {
	text-align: center;
}
.wp-caption .wp-caption-text {
	margin-top: .5rem;
}

/* General */

body {	
	color: #000;
	font-family: 'Lato', sans-serif;
	font-size: 1.3rem;
    line-height: 1.6;
	/* hyphens: none; */ 
}

.infopage {font-size: 1.1rem;}

@media(max-width:499px) {
    
    body {font-size: 1.2rem;}
	/* body */ .infopage {
		/* https://css-tricks.com/snippets/css/prevent-long-urls-from-breaking-out-of-container/ */
	  	overflow-wrap: break-word; /* These are technically the same, but use both */
	  	word-wrap: break-word;
	  	-ms-word-break: break-all;
	  	/* word-break: break-all; */ /* This is the dangerous one in WebKit, as it breaks things wherever. Instead use this non-standard one: */
	  	word-break: break-word;
	  	-ms-hyphens: auto; /* Adds a hyphen where the word breaks, if supported (No Blink) */
	  	-moz-hyphens: auto;
	  	-webkit-hyphens: auto;
	  	hyphens: auto;
	}
    .infopage {font-size: 1.0rem;}
}

img {
	max-width: 100%;
	height: auto;
}

a {
	color: #80aeba;
	transition: all 500ms ease;	
    text-decoration: none;
}

a:hover, a:active, a:focus {
	color: #32616b;
	text-decoration: none;
}

figure {position: relative; margin: 0; padding: 0;}
figcaption {font-size: 85%;}

h1, .h1 {
    color: #32616b;
    text-transform: uppercase;
	margin-bottom:0;
	font-size: calc(1.8rem + 1.8vw); 
}

h1 span, .h1 span {color: #ccc;}

@media(min-width:1200px) {
	h1, .h1 {
	font-size: 3.6rem; }
}

/*
h1:after, .h1:after {
    content: "-";
    height: 0px;
    padding-top: 1rem;
    overflow: hidden;
    display: block;
    width: 80px;
    border-bottom: 5px solid #ccc;
}

h1.text-center:after, .h1.text-center:after {
	margin-left: auto;
	margin-right: auto;
}
*/
h2, .h2 {
    color: #32616b;
	font-size: calc(1.4rem + 1.4vw); 
	/*margin-bottom: calc(1.0rem + 1.0vw); */
}

@media(min-width:1200px) {
	h2, .h2 {
	font-size: 2.8rem; 
	/*margin-bottom: 2rem;*/
	}
}

h3, .h3 {
    color: #32616b;
    font-weight: 700;
	font-size: calc(1.2rem + 1.0vw); 
    text-transform: uppercase;
    
}

@media(min-width:1200px) {
	h3, .h3 {
	font-size: 1.6rem;
	}
}

h4, .h4 {}

ul {/* padding-left: 1.5rem; */}

p:last-child { margin-bottom: 0;}

/* Multiused classes */


.btn {border-radius: 0; text-transform: uppercase; }

.btn.active.focus, .btn.active:focus,
.btn.focus, .btn:active.focus, 
.btn:active:focus, .btn:focus {
    outline:none !important;
    box-shadow:none !important;
}

.btn-primary {
	background: #80aeba;
	border-color: #80aeba;
    border-radius: 10px;
    border-width: 2px;
}

.btn-primary:hover, .btn-primary:active, .btn-primary:focus {
	background: #32616b !important;
	border-color: #32616b !important;
}

.bg-2.text-white .btn-primary:hover, .bg-2.text-white .btn-primary:active, .bg-2.text-white .btn-primary:focus {
	background: #80aeba44 !important;
	border-color: #80aeba44 !important;
}

.btn-outline-primary {
	color: #32616b;
	border-color: #32616b;
    border-radius: 10px;
    border-width: 2px;
}

.btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary:focus {
	color: #fff !important;
	background: #32616b !important;
	border-color: #32616b !important;
}

.btn-outline-light {
	color: #fff;
	border-color: #fff;
    border-radius: 10px;
    border-width: 2px;
}

.btn-outline-light:hover, .btn-outline-light:active, .btn-outline-light:focus {
	color: #32616b !important;
	background: #fff !important;
	border-color: #fff !important;
}


.btn-outline-secondary {
	color: #80aeba;
	border-color: #80aeba;
    border-radius: 10px;
    border-width: 2px;
}

.btn-outline-secondary:hover, .btn-outline-secondary:active, .btn-outline-secondary:focus {
	color: #fff !important;
	background: #80aeba !important;
	border-color: #80aeba !important;
}

.btn-burger {
    font-size: 2rem;
    padding: 0;
    color: #80aeba;
	position: relative;
	z-index: 999999;
}

.btn-burger:after {
	content: "" !important;
	display:none !important;
}

.btn-burger:hover {
    color: #32616b;
}

.form-control {border-radius: 0;}

.bg-1 {background: #80aeba}
.bg-2 {background: #32616b}

.bg-image {background-position: center; background-size: cover;}
.bg-parallax {background-attachment: fixed;}
.color-bg-image {position: relative}
.color-bg-image:before {content: ""; position: absolute; top: 0; bottom: 0; left: 0; right: 0; background: rgba(0,0,0,0.6)}
.color-bg-image > div {position: relative; z-index:2}

.bg-image.text-white h2, .bg-2.text-white h2 {color: #fff !important;}
.bg-image.text-white h3, .bg-image.text-white .h3  {color: #fff !important; font-weight: 400; letter-spacing: 0.033rem;}



.text-1 {color: #80aeba}
.text-2 {color: #32616b}
.text-white a {color: inherit;}
.text-white a:hover {color: #80aeba;}

.box {background: #80aeba;}
.bg-light .box, .bg-dark .box {background: #fff;}
.box > *:last-child {margin-bottom: 0;}

.content-cols h3 {font-weight: 400}
.content-cols h3 strong {font-weight: 700}

.zoom {overflow:hidden; position: relative; width: 100%; padding-top: 75%;}
.zoom img {position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; transition: all 500ms ease; }
a:hover .zoom img {transform: scale(1.05);}

a.block {position: relative; display: block;}
a.inherit {color: inherit;}
a.inherit:hover {color: #80aeba;}

.compact {display: block; max-width:730px; margin-left: auto; margin-right: auto;}

.anker {display: block; width: 100%; height: 0px; overflow: hidden;  transform: translateY(-50px)}

.container .container {padding-left: 0; padding-right: 0;}

/* TinyMCE Custom Formats */

blockquote.blockquote {
	font-style: italic; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; 
	margin-bottom: 1rem; padding-top: 1rem; padding-bottom: 1rem; text-align: center;}

.author {font-size: 0.8rem; display: block;}

.wichtig {
	color: #32616b;
}

.icon {
    display: inline-block;
    text-align: center;
    background: #32616b;
    color: #fff;
    width: 100px;
    height:100px;
    font-size: 50px;
    line-height: 100px;
    border-radius: 50%;
    margin-bottom: 1rem;
}


[data-bs-toggle="collapse"] {position: relative; display: block;}


[data-bs-toggle="collapse"] h3 {
    /*color: deeppink;*/
    margin-bottom: 0;
    padding-left: 3rem;
    position: relative; display: block;
}


[data-bs-toggle="collapse"] h3:after {  
   
    /* removed font- based rules */
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    
    /* using style CSS custom property */
    font: var(--fa-font-solid);
    content: "\f077";
     
	position: absolute; left: 0.5rem; top: 0.25rem;  /*0.25rem 0.25rem 3rem */
}


[data-bs-toggle="collapse"].collapsed h3:after {
    content: "\f078";
	/*content: "+";*/
}







.multicolumn {text-align: justify;}

@media(min-width: 768px) {
	.multicolumn {column-count: 2; column-gap: 2rem;}
}

.intro {
    font-size: calc(1.3rem + 0.3vw);
}

/* Header area */

.wrapper-header {
    position: absolute /*fixed*/;
    z-index: 99999 !important;
    width: 100%;
    background:rgba(0,0,0,0.75);
}

.title {
	font-size: calc(1.5rem + 1.5vw); 
	display: inline-block;
}

@media(min-width:1200px) {
	.title {
	font-size: 3rem; }
}

.custom-logo {
    /* max-height: 4rem; width: auto;*/
    background: #80aeba;
    padding: calc(0.5vw + 0.5rem);
    border-bottom-left-radius: calc(0.5vw + .5rem);
    border-bottom-right-radius: calc(.5vw + .5rem);
    margin-bottom: -67%;
    position: relative; z-index: 9999;
} 

/* Main navigation */

.navbar {margin: 0; padding: 0; z-index: 999;}


ul.primary-nav a {display: block; padding: 0.8rem 0; color: #fff; text-transform: uppercase;}
ul.primary-nav a:hover,
ul.primary-nav li.current-menu-item > a,
ul.primary-nav li.current_page_parent > a { /* .current-menu-ancestor */
	color: #80aeba;
}

ul.primary-nav ul {list-style: none; margin: 0; padding: 0;}

@media (min-width: 992px) {
    ul.primary-nav ul {display:none; }
    
	ul.primary-nav > li {padding-left: 2rem; position: relative;}
	ul.primary-nav > li.menu-item-has-children > a:after { content: '\f0d7'; font-family: "Font Awesome 5 Free"; font-weight: 900; padding-left: 0.4rem; }
	ul.primary-nav > li:hover {}
	ul.primary-nav > li:hover ul {
		display: flex !important;
		flex-direction:column;
		position: absolute; 
		top: 100%; left: 2rem; 
		background: rgba(222,222,222,0.8);
		width: auto;
	}
	ul.primary-nav li:hover ul li {
		border-top: 1px solid #fff;
		padding: 0 1rem;
	}
	ul.primary-nav li:hover ul li a {
		white-space:nowrap;
	}
}

@media (max-width: 991px) {
	ul.primary-nav {display: block; font-size: 1.1rem; position: relative; z-index: 999; /*background: rgba(0,0,0,0.8);*/}
	ul.primary-nav li {text-align: right; border-top: 1px solid #fff; padding: 0; white-space:nowrap; position: relative;}
    ul.primary-nav > li ul li {padding-left: 0.8rem;}
    ul.primary-nav a {padding: 0.4rem 0;}
	/*
    ul.primary-nav > li.current-menu-item > ul,
	ul.primary-nav > li.current-menu-ancestor > ul
		{display: block; }
    
    ul.primary-nav > li > ul {display: block;}
    */
	   
    .mobile-menu {position: absolute; right: 0; top: 0.4rem;  padding: 0.5rem 0 0.5rem 1; }
}

/* Header image and Slideshow area */

.header-img {width: 100%; max-width:2000px; margin: auto; display:block; border-bottom: 10px solid #80aeba;}
.header-img figure {position: relative; display: flex; }
/*.header-img a {position: absolute; display: block; top: 0; width: 100%; height: 100%; color: inherit;}*/
.header-img figcaption {position: absolute; display: block; top: 0; width: 100%; height: 100%; color: #fff;}
.header-img figcaption > div {/*max-width: 800px;*/}
.header-img figure.color-text figcaption > div {background: rgba(0,0,0,0.8); color: #fff;}
.header-img figure.color-image figcaption > div {color: #fff;}
.header-img figure.color-image img {filter:brightness(40%);}
.header-img .headimg-title {
    /*font-size: calc(2.0rem + 2.0vw); */
    line-height: 125%;
    font-size: clamp(3rem, 6vw, 7rem);
    font-family: 'Satisfy', serif;
    text-shadow: 0 0 0.5rem rgba(0,0,0,0.75);
    
}
/*
@media(min-width:1200px) {
	.header-img .headimg-title {
	font-size: 4rem; }
}
*/

.header-img .headimg-description {font-size: clamp(1.5rem, 2.5vw, 3.0rem);
    text-shadow: 0 0 0.3rem rgba(0,0,0,0.75); line-height: 130%; text-transform: uppercase; color: #fff !important;}

.header-img .btn {/*font-size: clamp(1.5rem, 2.0vw, 2.5rem);*/ background: rgba(0,0,0,0.8);


}




.header-img-img {filter: brightness(0.67)}
@media(max-width:991px) {
    .header-img-img {object-fit: cover; min-height: 70vmax;}
}


.header-compact {height: 25vh; object-fit: cover;}

.hr-compact {margin:0;}

.owl-prev, .owl-next {
    /*position: absolute;
	left: 0.75vw;
    top: 50%;
	transform: translateY(-50%);*/
	font-size: 2rem;
	padding: 0 0.5rem;
	text-align: center;
    color: rgba(255,255,255,0.8) !important;
	/*background: rgba(255,255,233,0.5); 
    text-shadow: 0px 0px 10px rgba(0,0,0,0.4);*/
}
.owl-next {
    margin-left: 1rem;
	/*left: auto;
    right: 0.75vw;*/
}


.owl-slideshow .owl-dots {
	position:absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom:0.5rem;
	z-index:9999;
    background: pink;
}
.owl-slideshow .owl-dot {
	display:inline-block;
}
.owl-slideshow .owl-dot span {
	display:inline-block;
    margin: 0.25rem !important;
	background:rgba(255,255,255,0.8);
	/*box-shadow: 0px 0px 10px rgba(0,0,0,0.4);*/
	width:0.8rem;height:0.8rem;
}
.owl-slideshow .owl-dot.active span {background:#80aeba;}

@media(max-width:767px) {
    .owl-dots {display: none;}
}

/*Breadcrumbs*/

.breadcrumbs {
	font-size: 0.9rem;
}

/*Pagination*/

.pagination {margin-bottom: 0;}

.page-link, .page-link:hover, .page-link:active, .page-link:focus {
    color: #80aeba;
}

.page-item.active .page-link {
    background-color: #80aeba;
    border-color: #80aeba;
}

/*Kacheln*/

.tiles-image {object-fit: cover;}

/*Sidebar*/

.sidebar ul {margin: 0; padding: 0;}
.sidebar ul li {margin: 0; padding: 0; display: block; border-top: 1px solid #ddd;}
li.current-cat {font-weight: 700;}
.sidebar ul li a {display: block; padding: 0.5rem 0;}
.sidebar .widget {margin-bottom: 1.5rem;}
.sidebar .widget:last-child {margin-bottom: 0;}

/*Calendar*/

.calendar {position: relative; padding-top: 1.2rem; color: #fff; }
.calendar:before {
	position: absolute;
	top: 0;
	content: '\f133'; font-family: "Font Awesome 5 Free"; font-weight: 900; 
	font-size: 3.5rem; line-height: 3.5rem;
	color: #ccc;
	z-index: 1;
}
.calendar * {position: relative; z-index: 2;}
.calendar-day {font-size: 1.4rem; line-height: 2.2rem; font-weight: bold; }
.calendar-month {/*font-size: 0.8rem; line-height: 1rem; text-transform: uppercase*/}

/* Shariff Socia Media Safe Sharing Tool */

.shariff {margin-left: -5px !important; margin-right: -5px !important;}

/* Responsive Video Block */

.video-block{ position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.video-block iframe, .video-block object, .video-block embed, .video-block video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }

/* Contact Form 7 */

.wpcf7 .screen-reader-response {display: none}
.wpcf7 .wpcf7-not-valid-tip {padding-top: 0.5rem; font-size: 0.8rem; line-height: 0.9rem; color: #dc3545;}
.wpcf7 .wpcf7-response-output {margin: 0 !important; }
.wpcf7 .wpcf7-validation-errors {border: 1px solid #dc3545; padding: 1rem; background: #fff; font-size: 0.8rem;}
.wpcf7 .wpcf7-mail-sent-ok {border: 1px solid #28a745; padding: 1rem; background: #fff; font-size: 0.8rem;}

/* Colorbox */

#cboxTitle {display: block; position: absolute; bottom: 10px; left: 10px; right: 10px; top: auto;}
#cboxTitle span {display: block; padding: 0.5rem; background: rgba(0,0,0,0.6); color: #fff; text-align: center; font-size: 0.8rem;}

/*Back to Top Button*/

.back-to-top {
	position: fixed;
	bottom: 15px;
	left: 15px;
	font-size: 30px;
	background: rgba(200,200,200,0.5);
	border-radius: 5px;
	padding: 5px 15px;
}

.back-to-top-alt {
	font-size: 30px;
}

/* Google Maps Wrapper */

.awmp_map_wrapper {
	border-width: 0 !important;
}

.tasten {background-size: /*contain*/ auto 80% !important; background-position: right center !important; background-repeat: no-repeat;}
@media(max-width:767px) {
    .tasten {background-size: auto 33% !important;}
}

.content-kontakt p {line-height: 120%;}
.content-kontakt a {color: #000; white-space: nowrap;}
.content-kontakt a i {margin-right: 0.5rem; color: #32616b; font-size: 1.2em;}
@media(max-width:767px) {
    .content-kontakt a i { width: 25px;}
}

.fixed-buttons {position: fixed; bottom: 15px; right: 15px;  z-index: 99999999;  }

@media(max-width:767px) { .fixed-buttons {bottom: 10px; right: 10px; }}

.fixed-buttons a {
    position: relative; display: block; background: #32616b; color: #fff;
	border: 1px solid #fff;
    border-radius: 50%; 
    text-align: center;
    width: 100px;
    height: 100px;
    font-size: 45px;
    line-height: 75px;
    margin-bottom: 10px;   
}

.fixed-buttons a span {text-transform: uppercase; font-size: 15px; line-height: 15px; transform: translateY(-10px); display: block;}

.fixed-buttons a:last-child {
    margin-bottom: 0px;   
}

/* Footer */

body > footer h2 {font-size: 1.2rem; text-transform: uppercase; padding-bottom: 1rem; margin-bottom: 1rem; border-bottom: 1px solid #fff;}
body > footer ul {margin: 0; padding: 0; list-style: none;}
body > footer ul li {margin: 0; padding: 0; padding-right: 1rem; display: inline-block;}
body > footer a {color: #32616b}

@media(max-width: 1199px) {
	body > footer .row {margin-bottom: -1rem;}
	body > footer .row > div {margin-bottom: 1rem;}
}

.social i {font-size: 2rem;}

/* Admin Bar */

body.admin-bar > footer {border-bottom: 32px solid transparent;}

@media(max-width: 991px) {
#wpadminbar {overflow: hidden;}
}

/* Google Web Fonts */

/* https://gwfh.mranftl.com/fonts */

/* lato-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('../webfonts/lato-v23-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../webfonts/lato-v23-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* lato-italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: url('../webfonts/lato-v23-latin-italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../webfonts/lato-v23-latin-italic.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* lato-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('../webfonts/lato-v23-latin-700.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../webfonts/lato-v23-latin-700.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}
/* lato-700italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: url('../webfonts/lato-v23-latin-700italic.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../webfonts/lato-v23-latin-700italic.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}

/* satisfy-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Satisfy';
  font-style: normal;
  font-weight: 400;
  src: url('../webfonts/satisfy-v17-latin-regular.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+ */
       url('../webfonts/satisfy-v17-latin-regular.woff') format('woff'); /* Chrome 5+, Firefox 3.6+, IE 9+, Safari 5.1+ */
}