* {
  box-sizing: border-box;
}
header, main, footer, article, nav, section, aside {
  display: block;
}
body {
  margin: 0px;
  font-family: 'Open Sans', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #323232;
  line-height: 26px;
  word-break: break-word;
}
@media only screen and (max-width: 768px) {
  body {
    font-size: 15px;
    line-height: 23px;
    text-align: left;
  }
}
@supports (hyphens: auto) or (-webkit-hyphens: auto) or (-moz-hyphens: auto) or (-ms-hyphens: auto) {
  body {
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto;
  }
  p {
    text-align: justify;
  }
  @media only screen and (max-width: 768px) {
    p {
      text-align: left;
    }
  }
}
.no-hyphens {
  hyphens: none;
  -webkit-hyphens: none;
  -ms-hyphens: none;
}
.justify {
  text-align: justify;
}
.left h1, .left h2, .left h3, .left p, .left li, .left a {
  text-align: left !important;
}
.light {
  font-weight: 300;
}
.bold {
  font-weight: 600;
}
.uppercase {
  text-transform: uppercase;
}
.lowercase {
  text-transform: lowercase;
}
article {
  padding: 40px 0;
}
.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}
@media only screen and (min-width: 600px) {
  .container {
    max-width: 540px;
  }
}
@media only screen and (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media only screen and (min-width: 1024px) {
  .container {
    max-width: 960px;
  }
}
@media only screen and (min-width: 1300px) {
  .container {
    max-width: 1140px;
  }
}
h1, h2, h3, h4, h5, h6 {
  font-family: 'Montserrat', sans-serif;
  color: #505050;
  font-weight: 600;
  margin-bottom: 1rem;
  margin-top: 0;
  line-height: 1.3em;
}
h1.font_hand, h2.font_hand, h3.font_hand, h4.font_hand, h5.font_hand, h6.font_hand {
  font-family: 'Architects Daughter', cursive;
}
@media only screen and (max-width: 1024px) {
  h1.centermed, h2.centermed, h3.centermed, h4.centermed, h5.centermed, h6.centermed {
    text-align: center;
  }
}
h1 {
  font-size: 40px;
  font-weight: 300;
  text-transform: uppercase;
  position: relative;
  font-weight: 600;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 1024px) {
  h1 {
    font-size: 35px;
    overflow-wrap: break-word;
  }
}
@media only screen and (max-width: 600px) {
  h1 {
    font-size: 30px;
    overflow-wrap: break-word;
  }
}
h2 {
  font-size: 30px;
}
h2.solo {
  margin-bottom: calc(1.5vw + 10px);
}
@media only screen and (max-width: 1024px) {
  h2 {
    font-size: 25px;
  }
}
h3 {
  font-size: 18px !important;
  line-height: 25px;
  margin-bottom: 1rem;
}
h3.center {
  text-align: center;
  max-width: 600px;
  margin: 0 auto 2vw;
}
h6, .font-s {
  font-size: 14px !important;
  line-height: 23px;
}
@media only screen and (max-width: 768px) {
  h6, .font-s {
    font-size: 13px !important;
    line-height: 20px;
  }
}
#datenschutz h1, #impressum h1, #news h1 {
  font-size: 30px !important;
  margin-top: 0;
  margin-bottom: 30px;
  font-weight: 600;
  color: #505050 !important;
  background: transparent;
  border: none;
  position: relative;
  display: block;
  width: auto;
  padding: 0;
  white-space: break-spaces;
  min-width: 200px;
}
#datenschutz h2, #impressum h2 {
  font-size: 25px !important;
  margin-top: 50px;
  margin-bottom: 15px;
  padding: 6px 12px;
  color: #fff;
  background: #000;
  text-align: center;
  margin-right: 10px;
}
#datenschutz h3, #impressum h3 {
  margin-top: 40px;
  margin-bottom: 15px;
}
#datenschutz h4, #impressum h4 {
  font-family: 'Open Sans', sans-serif;
  font-size: 16px !important;
  margin-top: 20px;
  margin-bottom: 5px;
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  border-style: none;
}
.bg-first {
  background: #fff;
}
.bg-second {
  background: #ea6647 !important;
  color: #fff;
  /*a::before {
   content: "\f0da";
   font-family: "Font Awesome 5 Free";
   padding: 0 0.3rem;
   font-weight: 900;
   }*/
}
.bg-second h1, .bg-second h2, .bg-second h3, .bg-second h4, .bg-second h5, .bg-second h6, .bg-second a, .bg-second li, .bg-second i {
  color: #fff;
}
.coloredTextblock h1, .coloredTextblock h2, .coloredTextblock h3, .coloredTextblock h4, .coloredTextblock h5, .coloredTextblock h6, .coloredTextblock p, .coloredTextblock i {
  color: #505050 !important;
}
.coloredTextblock a {
  color: #ea6647 !important;
  text-decoration: none;
}
.coloredTextblock a:hover {
  color: #fff !important;
}
.bg-third {
  background: #f2f2f2 !important;
}
.bg-hover {
  background: #505050 !important;
}
.bg-hover h1, .bg-hover h2, .bg-hover h3, .bg-hover h4, .bg-hover h5, .bg-hover h6, .bg-hover a, .bg-hover li, .bg-hover p, .bg-hover i {
  color: #fff;
}
.bg-title {
  background-size: cover !important;
  background-position: center !important;
  display: flex;
  height: 50vh;
  padding: 0 !important;
  justify-content: center;
  flex-direction: column;
}
.bg-title p {
  font-family: 'Montserrat', sans-serif;
  font-size: 30px;
  line-height: 1.2;
  text-align: left;
  hyphens: none;
}
@media only screen and (max-width: 1024px) {
  .bg-title p {
    font-size: 23px;
  }
}
@media only screen and (max-width: 1024px) {
  .bg-title {
    height: 40vh;
  }
}
@media only screen and (max-width: 768px) {
  .bg-title {
    height: 25vh;
  }
}
.no-padding {
  padding: 0 !important;
}
.no-margin {
  margin: 0 !important;
}
.no-margin h1, .no-margin h2, .no-margin h3, .no-margin h4, .no-margin h5, .no-margin h6, .no-margin a, .no-margin p {
  margin: 0;
}
.bottom20 {
  margin-bottom: 20px !important;
}
.offset-part {
  visibility: hidden;
  position: absolute;
  margin-top: -100px;
  height: 0px;
}
.offset-part.extern {
  margin-top: -200px;
}
.border-bottom {
  border-bottom: 1px solid #c8c8c8;
}
.aligncenter {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.hide {
  display: none;
}
.align-items-end {
  align-items: end;
}
.white {
  color: #fff !important;
}
.h-color {
  color: #505050;
}
.separator {
  margin: 1px 10px;
}
.pageEditButton {
  position: fixed;
  top: 140px;
  font-size: 18px;
  right: 0;
  height: 30px;
  box-sizing: border-box;
  width: 30px;
  display: flex;
  padding: 5px 5px 8px;
  transition: 0.5s;
  background: #ddd;
}
.pageEditButton .pageEditButtonTitle {
  width: 0;
  opacity: 0;
  font-size: 16px;
  transition: 0.5s;
}
.pageEditButton:hover {
  width: 120px;
}
.pageEditButton:hover > .pageEditButtonTitle {
  opacity: 1;
}
.wp-block-button {
  margin-top: 2vw;
}
@media only screen and (max-width: 768px) {
  .wp-block-button {
    margin-top: 6vw;
    text-align: center !important;
  }
}
.wp-block-button__link {
  background-color: #ea6647;
  color: #fff !important;
  font-size: 16px;
  border-radius: 3px;
  padding: 3px 10px;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.wp-block-button__link:hover {
  color: #fff;
  background-color: #505050;
  padding: 3px 10px !important;
  margin: 0;
}
.wp-block-button__link:before, .wp-block-button__link:hover:before {
  content: none !important;
}
#partner-links .wp-block-button__link {
  width: 100%;
}
@media only screen and (min-width: 1024px) {
  #StratPartner img {
    width: auto;
    max-height: 100px;
  }
}
.wp-block-column {
  flex-grow: 1 !important;
}
.wp-block-image img {
  height: auto;
}
.wp-block-image a:before {
  content: none !important;
}
.wp-block-image a:hover {
  background: transparent !important;
}
.wp-block-image.is-resized, .wp-block-image .aligncenter {
  display: block !important;
}
.wp-block-image.logo img {
  width: auto;
  height: auto;
  max-height: 135px;
  max-width: 250px;
}
#top-link {
  display: none;
  position: fixed;
  right: 1%;
  bottom: 3%;
  width: 50px;
  height: 50px;
  background: #ea6647;
  cursor: pointer;
  border: 2px solid #fff;
  -webkit-border-radius: 200px;
  border-radius: 200px;
  z-index: 15;
  color: #fff;
  text-align: center;
  line-height: 2.5rem;
  font-size: 37px;
}
@media (orientation: portrait), (max-width: 1024px) {
  #top-link {
    width: 30px;
    height: 30px;
    bottom: 10px;
    right: 10px;
    font-size: 24px;
    line-height: 1rem;
  }
}
#top-link:hover {
  background-color: #505050;
  transition: 0.5s;
}
/* ----- map ---------*/
#mapframe {
  max-height: 70vh;
  border: 1px solid #787878;
}
.ekHeader .ekHeaderTitleIcon {
  display: none !important;
}
/*------ cookie consent ----------*/
#cookie-law-info-again {
  width: 35px !important;
  height: 35px;
  border: 2px solid #fff;
  border-radius: 500px;
  padding: 0px;
  background: #ea6647 !important;
  box-shadow: none;
  font-size: 15px;
  color: #fff !important;
  transition: 0.4s;
  line-height: 30px;
  text-align: center;
  bottom: 10px !important;
}
#cookie-law-info-again:hover {
  background: #505050 !important;
}
#cookie-law-info-again #cookie_hdr_showagain {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
}
@media (max-width: 1024px) {
  #cookie-law-info-again {
    bottom: 10px;
    left: 10px;
    top: auto !important;
    right: auto !important;
    width: 30px !important;
    height: 30px;
    line-height: 27px;
    z-index: 15;
  }
}
/* ------------- News -------------*/
.postPreview {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.postPreview img {
  margin-bottom: 25px;
}
.postPreview .post-wrap {
  padding: 25px 5px;
  max-width: 450px;
}
@media screen and (min-width: 1024px) and (max-width: 1280px) {
  .postPreview .post-wrap {
    max-width: 400px;
  }
}
@media only screen and (max-width: 1024px) {
  .postPreview {
    flex-direction: column;
  }
  .postPreview .post-wrap {
    align-self: center;
  }
  .postPreview .post-wrap:first-child {
    padding-top: 5px;
  }
}
#front-page .postPreview h3.postTitle {
  margin-bottom: 4px;
}
#front-page .postPreview .postText.font-s {
  line-height: 20px;
  margin-bottom: 7px;
}
@media only screen and (min-width: 1024px) {
  #news .container {
    max-width: 60%;
  }
}
#news h1 {
  width: auto;
  text-align: left;
}
#news h2 {
  font-size: 25px !important;
}
#news a .fas {
  font-size: 29px;
}
#news a.wp-block-button__link, #news a.wp-block-button__link:hover {
  padding: 3px 12px 0 10px !important;
}
#news img.wp-post-image {
  max-width: 350px;
  margin-bottom: 35px;
}
@media only screen and (max-width: 600px) {
  #news img.wp-post-image {
    max-width: 100%;
  }
}
#news-overview .container-100.bg-third {
  padding-top: 0;
}
@media only screen and (max-width: 600px) {
  #news-overview h1 {
    margin-bottom: 0;
  }
}
#news-overview article .container {
  display: flex;
  flex-wrap: wrap;
  padding: 2vw 15px;
}
@media only screen and (max-width: 1024px) {
  #news-overview article .container {
    flex-direction: column;
  }
}
#news-overview h2 {
  font-size: 25px;
}
#news-overview img {
  margin: 15px 50px 15px 0;
  height: max-content;
  width: 300px;
}
@media only screen and (max-width: 768px) {
  #news-overview img {
    margin-right: 0;
  }
}
@media only screen and (max-width: 600px) {
  #news-overview img {
    width: 100%;
  }
}
#news-overview .container .news-list {
  flex: 1;
  padding-bottom: 25px;
}
#news-overview .container .news-list hr {
  margin-top: 0;
  border-top: 1px dotted #969696;
}
#news-overview .list-news-moretag.font-s {
  position: absolute;
  bottom: 10px;
}
/* ------------- PAGINATION ----------*/
.pagination {
  justify-content: center;
  position: relative;
  line-height: 38px;
  margin-top: 4vw;
}
@media only screen and (max-width: 600px) {
  .pagination {
    margin-top: 9vw;
  }
}
.pagination .page-numbers {
  padding: 2px 10px;
  font-weight: 400;
  background: transparent;
  transition: all 0.5s;
  color: #323232;
  border-radius: 2px;
  margin: 0;
}
.pagination .page-numbers.current, .pagination .page-numbers.current:hover {
  background-color: #505050;
  color: #fff !important;
  font-weight: 600;
}
.pagination .page-numbers:hover {
  background-color: rgba(0, 0, 0, 0.2);
  color: #323232 !important;
}
.pagination .page-numbers.dots:hover {
  background: transparent;
}
.pagination .page-numbers.prev {
  padding: 0px 6px 0px 5px;
}
.pagination .page-numbers.next {
  padding: 0px 5px 0px 6px;
}
.pagination .page-numbers.next, .pagination .page-numbers.prev {
  background-color: transparent;
  margin: 0 15px;
  font-size: 14px;
}
.pagination .page-numbers.next:hover, .pagination .page-numbers.prev:hover {
  background-color: rgba(0, 0, 0, 0.2);
}
/* ------------- PLUGINS-------------*/
/* ------------- Kadence Blocks PLUGIN-------------*/
.kt-blocks-accordion-header {
  width: auto;
  background: #ea6647 !important;
  color: #fff !important;
}
.kt-blocks-accordion-header:focus {
  background: #ea6647 !important;
}
.kt-blocks-accordion-header:hover {
  cursor: pointer;
  background: #505050 !important;
}
@media only screen and (max-width: 768px) {
  .kt-blocks-accordion-header {
    width: 100%;
  }
}
/*
 .wp-block-kadence-pane .kt-blocks-accordion-header {
 background: #ea6647;
 }
 .kt-blocks-accordion-header:focus  {
 background: #ea6647;
 }
 .kt-blocks-accordion-header:hover {
 background: #505050;
 }	
 */
#aktion1 .kt-blocks-accordion-header {
  width: 100%;
  justify-content: center;
}
#aktionen .kt-blocks-accordion-header {
  margin: 0 0 0 auto;
}
.no-margin figure.is-resized {
  margin-bottom: 0 !important;
}
.kt-accordion-panel-inner ul {
  margin: 0 0 20px 0;
}
.kt-accordion-panel-inner a {
  font-weight: 600;
}
.kt-highlight {
  background-color: #f00;
}
.logos-strat .wp-block-kadence-column {
  text-align: center;
}
.logos-strat p {
  text-align: center;
  font-size: 14px !important;
  line-height: 20px;
}
/* ------------- SmartSlider PLUGIN-------------*/
.wp-block-nextend-smartslider3 .textblock {
  margin-left: 15vw !important;
  margin-right: 15vw !important;
  margin-bottom: 5vw !important;
  white-space: nowrap;
}
@media only screen and (max-width: 1024px) {
  .wp-block-nextend-smartslider3 .textblock {
    max-width: 92vw !important;
    margin-left: 0vw !important;
    margin-top: auto !important;
    margin-bottom: auto !important;
    align-self: center !important;
    /*font-size: .7rem !important;*/
  }
}
.wp-block-nextend-smartslider3 .textblock .slidertitle {
  font-weight: 600;
  transform: uppercase;
  font-size: 1.2em;
}
@media only screen and (max-width: 600px) {
  .wp-block-nextend-smartslider3 .textblock p {
    padding: 10px !important;
  }
}
@media only screen and (max-width: 1024px) {
  .wp-block-nextend-smartslider3 .n2-ss-control-bullet {
    position: relative !important;
    margin: 15px 0 auto;
  }
}
@media only screen and (max-width: 600px) {
  .wp-block-nextend-smartslider3 #n2-ss-2-arrow-next, .wp-block-nextend-smartslider3 #n2-ss-2-arrow-previous, .wp-block-nextend-smartslider3 #n2-ss-6-arrow-next, .wp-block-nextend-smartslider3 #n2-ss-6-arrow-previous {
    display: none;
  }
}
.wp-block-nextend-smartslider3 a {
  transition: all 0.5s ease 0s !important;
}
.wp-block-nextend-smartslider3 a:hover {
  padding: 0;
  margin-left: 0;
}
/* ------------- Contact Form PLUGIN-------------*/
#kontakt .page-header {
  border-bottom: none;
  margin: 0;
  padding-bottom: 0;
}
#kontakt .page-header h1 {
  margin-top: 0;
}
#kontakt label {
  display: block;
  font-size: 18px;
  font-weight: normal;
  max-width: 100%;
  margin: 9px 0 0 0;
}
#kontakt legend.check_legend {
  margin-top: 10px;
  font-size: 16px;
  margin-bottom: 2px;
}
#kontakt textarea.form-control.kontakt, #kontakt input.form-control.kontakt {
  border-radius: 0;
  border: medium none transparent;
  margin-bottom: 20px;
}
#kontakt div.kontakt-end span, #kontakt #kontakt div.kontakt-end a {
  font-size: 14px;
}
#kontakt div.kontakt-end p {
  margin-bottom: 1rem;
}
#kontakt .wpcf7 p {
  margin-bottom: 2px;
}
span.wpcf7-list-item {
  display: flex;
  align-items: baseline;
  margin: 5px 0 !important;
  line-height: 1.3em;
}
input[type="checkbox"], input[type="radio"] {
  margin-right: 7px;
}
/* ------------- Cookie Notice PLUGIN-------------*/
#cookie-notice {
  margin-bottom: 37px;
  background-color: rgba(0, 0, 0, 0.85) !important;
  position: sticky;
  z-index: 20;
  margin-bottom: 0px;
}
#cookie-notice .cookie-notice-container {
  padding: 10px 50px;
  box-sizing: border-box;
  margin: 10px 0px 0px 0px;
}
@media only screen and (max-width: 768px) {
  #cookie-notice .cookie-notice-container {
    padding: 10px;
  }
}
#cookie-notice .cookie-notice-container span {
  display: block;
  margin-bottom: 18px;
}
#cookie-notice .cn-button {
  margin-bottom: 15px !important;
}
/* ------------- END PLUGINs-------------*/
@media only screen and (max-width: 1024px) {
  .centermed {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
  }
  .no-margin-xs {
    margin: 0 !important;
  }
  .no-margin-xs h1, .no-margin-xs h2, .no-margin-xs h3, .no-margin-xs h4, .no-margin-xs h5, .no-margin-xs h6, .no-margin-xs a, .no-margin-xs p {
    margin: 0;
  }
}
