/* general */
html {
  font-size: var(--default-font-size);
}
body {
  background:var(--body-bg-color);
  color:var(--overall-text-color);
  font-family: var(--overall-fontfamily), serif;
}
#main {
  overflow-wrap: break-word;
}
h1,h2,h3,h4,h5,h6 {
  font-weight:bold;
  color: var(--headings-text-color);
  font-family: var(--headings-fontfamily), serif;
}
/*h2,h3,h4,h5,h6 {
  padding-top:5px
}
h2:not(:first-child),h3:not(:first-child),h4:not(:first-child){
  padding-top:2rem;
}*/

a, a:visited {
  color:var(--link-color);
  transition:all 0.3s ease-in-out;
  text-decoration:none;
}
a:hover, a:active {
  color: var(--link-color-hover);
  text-decoration:none;
}
#main, .hero-header-container {
  line-height: 1.7;
}

/*.bg {
  background-color:var(--bg-color);
}*/


/* media queries */
@media (max-width: 575.98px){
  /* trennzeichen bei zu langen Wörtern */
  /*h1,h2,h3,p {
    -moz-hyphens: auto;
    -o-hyphens: auto;
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }*/
  /*#overallsearch input[type="search"] {
    font-size:1.8rem!important;
  }*/
  .wp-block-image.size-large { /* gallery images full width on mobile */
    width: 100% !important;
    margin-right: 0 !important;
  }
}
@media (max-width: 767.98px){
  .wp-block-image .alignright {
    margin:0 0 3rem!important;
    float:none!important;
    max-width: 100%;
  }
}
@media (max-width: 991.98px){
  .wp-block-image .alignright {
    max-width: 300px;
  }
}


/* overall search */
#overallsearch {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .8);
  transition: all 0.5s ease-in-out;
  /*-webkit-transform: translate(0px, -100%) scale(0, 0);*/
  transform: translate(0px, -100%) scale(0, 0);
  opacity: 0;
  display:block!important;
}
#overallsearch.open {
  /*-webkit-transform: translate(0px, 0px) scale(1, 1);*/
  transform: translate(0px, 0px) scale(1, 1);
  opacity: 1;
  z-index:2000;
}
/*#overallsearch .input-group {
  width:90%;
  max-width: 600px;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
#overallsearch input, #overallsearch button {
  background:transparent;
  color:white;
  font-size:2rem;
}
*/

#overallsearch input[type="search"] {
  width: 100%;
  height: 100vh;
  color: rgb(255, 255, 255);
  background: rgba(0, 0, 0, 0);
  font-size: 2.8rem;
  font-weight: 300;
  text-align: center;
  border: 0;
  margin: 0 auto 10px;
  padding-left: 25px;
  padding-right: 25px;
  outline: none;
}
#overallsearch input::placeholder {
  color: white;
  opacity: 1; /* Firefox */
}
#overallsearch button[type="submit"] {
  font-size: 2rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  margin-top:90px;
}
#overallsearch #closesearch {
  position: fixed;
  top: 45px;
  right: 45px;
  opacity: 1;
  padding: 10px 17px;
  font-size: 27px;
}


/* header */
#header {
  border-bottom: var(--mainheader-border-size);
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
}

#mainheadermenu {
  background: var(--mainheader-bg);
}
#mainheadermenu a, #mainheadermenu a:visited {
  color: var(--mainheader-link);
  font-family: var(--mainheader-fontfamily), serif;
  font-size: var(--mainheader-fontsize);
  font-weight:bold;
  text-transform:uppercase;
  white-space:nowrap;
}
#mainheadermenu a:hover, #mainheadermenu a.active {
  color: var(--mainheader-link-hover);
}
/*#mainheadermenu.fixed-top {
  background: var(--mainheader-fixed-bg);
  height:55px;
}*/
#mainheadermenu ul.dropdown-menu a, #mainheadermenu ul.dropdown-menu a:hover {
  color: var(--color-dark);
}
#mainheadermenu #logo {
  padding:.5rem 0;
}
/*#mainheadermenu.fixed-top #logo {
  padding:0;
}
#mainheadermenu.fixed-top #logo img {
  height:40px;
  width:auto;
}
#mainheadermenu.fixed-top a {
  color: var(--mainheader-fixed-link);
  font-weight:bold;
  text-transform:uppercase;
  white-space:nowrap;
}
#mainheadermenu.fixed-top a:hover {
  color: var(--mainheader-fixed-link-hover);
}*/

#menu ul li a:hover,#menu ul li.trail a,#menu ul li.active>a{text-decoration:none;}
#menu .level_2 a,#menu .level_2 a.active{background-color:#FFF;padding:5px 10px;display:block}

#menu .nav-item:hover .dropdown-menu{ margin:-.5rem 0 0;display: block; }



/* bootstrap slider */

.header-bg-container {
  left:50px;
  right:50px;
  bottom:25px
}
.header-bg {
  padding:6px 18px;
  font-size:3.5vw;
  background-color:var(--color-1);
  color: var(--color-contrast);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  opacity: .92;
  line-height:1.5em;
}
.header-bg.small-text {
  font-size:2.5vw!important;
}
.header-bg-subline {
  font-size:2vw;
  padding: 10px 15px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 4px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  background-color:var(--color-white);
}
@media (max-width: 767.98px) {
  .header-bg-container {
    left:15px;
    right:15px;
    bottom:10px
  }
  .header-bg {
    font-size:6.5vw!important;
    padding: 4px 8px;
  }
  .header-bg.small-text {
    font-size:6vw!important;
  }
  .header-bg-subline {
    font-size:4.5vw!important;
    text-transform: inherit;
    letter-spacing: inherit;
  }
}

.carousel-caption {
  bottom: 3.25rem;
  left:10%;
  right:10%;
}

#introCarousel,
.carousel-inner,
.carousel-item,
.carousel-item.active {
  height: 100vh;
}

.carousel-item, .bg-image {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
}


/*.header-icons {
  margin: 0.7rem 0 !important;
}*/

/*.main-slider-overlay{
  bottom:10%;
  z-index:9;
}
.main-slider-overlay div{
  background: var(--headerimg-text-bg);
  color: var(--headerimg-text-title);
  opacity:.9;
  width:60%;
  margin: 0 auto;
}
#main-slider-overlay-title{
  font-size:2em
}
#main-slider-overlay-subtitle{
  font-size:1.5em
}*/


.seperator:after{display:block;background-color:#ccc;height:1px;content:' ';} /* Trennlinie Menu */


/* main content */
.section-bg-primary {
  background-color: var(--body-bg-color);
}
.section-bg-secondary {
  background-color: var(--body-bg-color-secondary);
}

/* last p within div has no margin bottom */
#main div p:last-child {
  margin-bottom:0
}

/*
.bg {
  background-color: var(--body-bg-color-secondary);
}*/

/*
.img-hover-zoom {overflow:hidden}
.img-hover-zoom img {
  transition: transform 1.5s ease;
}
.img-hover-zoom:hover img{
  transform: scale(1.2);
}

.carousel-indicators [data-bs-target] {
  background-color: var(--color-contrast);
}*/

/* format Videos (YouTube & VIMEO) */
.videowrapper {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: auto;
  padding-bottom: 56.25%;
  margin-bottom:20px;
}
.videowrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  min-height:150px
}

figcaption{font-size:90%;color:#6c757d;text-align:center}
#main figcaption{cursor:pointer}

.pagination ul{list-style-type:none;display:flex;margin:.5rem 0;padding:0;border-radius:.25rem;}
.pagination ul a, .pagination ul span{position: relative;display: block;padding: .5rem .75rem;margin-left: -1px;line-height:1.25;border:1px solid #dee2e6;}
.pagination ul a:hover{background-color: #e9ecef;}

blockquote{
  background-color: rgb(198, 255, 221);
  border: 5px solid rgb(0, 183, 74);
  padding: 1.5rem 2rem;
  border-top:0;
  border-bottom:0;
  border-radius: 5px;
}
blockquote cite:before{content: 'Zitat von: ';}

section.widget li:not(:last-child) {
  border-bottom: 1px solid lightgray;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

/*blockquote{display: block;border-width: 2px 0;border-style: solid;border-color: var(--link-color-main);padding: 1.5em 1.5em 0.5em;margin: 1.5em 0;position: relative;font-style: italic;}
blockquote:before{content: '\201C';position: absolute;top: 0;left: 50%;transform: translate(-50%, -50%);background:rgba(var(--bs-light-rgb),var(--bs-bg-opacity));width: 3rem;height: 2rem;font: 6em/1.08em 'PT Sans', sans-serif;color: #666;text-align: center;}*/

/* honeypot */
.nohp{opacity: 0;position: absolute;top: 0;left: 0;height: 0;width: 0;z-index: -1}

/* bloglist & thumbnails */
/*.bloglist > a {
  cursor: pointer;
  border: 1px solid #d1d5da;
  transition: all 0.5s ease 0s;
}
.bloglist > a:hover {
  box-shadow: 0 1px 15px rgba(27,31,35,0.15);
  border: 1px solid var(--mainheader-border-bottom);
}*/


/* check if needed */
/*.entry-content{margin-top:0;}
.entry-header h2 {font-size: 1.7rem;}
.byline, .posted-on {margin: 9px 10px 9px 0;font-size:14px;}
.entry-thumb{padding-right:0;margin-bottom:20px}
.entry-thumb .entry-cat {font-size: 13px;font-weight: 400;top: 3px;left: 18px;line-height: 13px;position: absolute;text-transform: uppercase;}
.entry-thumb .entry-cat a {background: var(--link-color-main);color: #fff;display: inline-block;font-size: 13px;line-height: 24px;padding: 5px 10px;text-decoration: none;}*/

/* btn */
/* change button colors by overwriting color variables ??? */
.btn-primary{
  background-color: var(--btn-primary);
  border-color: var(--btn-primary-border);
  color: var(--btn-primary-text)!important;
}
.btn-primary a{
  color: var(--btn-primary-text)!important;
}
.btn-primary:hover{
  background-color: var(--btn-primary-hover)!important;
  border-color: var(--btn-primary-border-hover)!important;
  color: var(--btn-primary-hover-text)!important;
}
.btn-primary:hover a{
  color: var(--btn-primary-hover-text)!important;
}

.btn-secondary{
  background-color: var(--btn-secondary);
  border-color: var(--btn-secondary-border);
  color: var(--btn-secondary-text)!important;
}
.btn-secondary a{
  color: var(--btn-secondary-text)!important;
}
.btn-secondary:hover{
  background-color: var(--btn-secondary-hover)!important;
  border-color: var(--btn-secondary-border-hover)!important;
  color: var(--btn-secondary-hover-text)!important;
}
.btn-secondary:hover a{
  color: var(--btn-secondary-hover-text)!important;
}

/*
.btn-success{
  background-color: var(--link-color-main);
  color:#FFF!important
}
.btn-success:hover{
  background-color: var(--link-color-secondary)
}*/

/* badge */
/*.badge-primary, .badge-primary a{
  background-color: var(--topheader-bg)!important;
  color: var(--topheader-link)!important;
}
.badge-primary a:hover{
  color: var(--topheader-link-hover)!important;
}*/

/* klaro cookie consent - hide iFrames */
.blocked iframe {
  max-height:0;
  min-height: 0 !important;
}


/* sidebar */
/* add this part into seperate sidebar css file ... ? add all parts into seperate css files ? */
#secondary h2, #secondary h3{font-size:1.5rem}
#secondary ul{list-style:none;padding:0;margin:0}
#secondary ul ul{margin-left:1em}
#secondary section{margin-bottom:20px}


/* comments */
.comment-form label{
  display:block;
  width:100%;
}


/* footer */
#footer{
  background-color: var(--footer-bg);
  color: var(--footer-text);
}
#footer h2, #footer h3, #footer h4 {
  color: var(--footer-link);
}
#footer a{
  color: var(--footer-link);
}
#footer a:hover, #footer span.active {
  color: var(--footer-link-hover);
}

#footer .widget-title{
  color: var(--footer-text-header);
  font-size:1.5rem!important;
  font-weight:bold;
  margin:20px 0 10px
}
#footer ul{margin:0;padding:0;list-style-type:none}
#footer ul li{
  padding:10px 0;
  border-bottom:1px solid rgba(255,255,255,0.3);
}
#footer ul li:last-child{
  border-bottom:0;
}

#footer hr{border-top:1px solid rgba(255,255,255,0.3);}

#footer-bottom a {
  text-decoration: underline;
}
#footer-bottom a:hover {
  text-decoration: none;
}


/* bootstrap mobile menu */
#mobilemenu {
  width: 600px !important;
  max-width:100%!important;
  background: var(--offcanvas-color-bg);
  color: var(--offcanvas-color-text);
  padding:10px;
}
#mobilemenu ul {
  font-size: 1.7rem;
  list-style-type: none;
  padding: 0;
  margin: 0;
  font-weight: bold;
}
#mobilemenu nav > ul > li {
  margin-bottom:15px;
}
#mobilemenu ul ul {
  font-size: 1.4rem;
  margin: 0;
  font-weight: normal;
}
#mobilemenu a, #mobilemenu a:visited {
  color: var(--offcanvas-color-text);
}
#mobilemenu a:hover, #mobilemenua:active {
  color: var(--offcanvas-color-text-hover);
}

/* svg icons bootstrap */
.bi {
  display: inline-block;
  vertical-align: -.125em;
}