/* Basics */
@font-face {
  font-family: 'sofiapro-regular';
  src: url('/fonts/sofiapro-regular-webfont.eot');
  src: url('/fonts/sofiapro-regular-webfont.eot?#iefix') format('embedded-opentype'),
    url('/fonts/sofiapro-regular-webfont.woff2') format('woff2'),
    url('/fonts/sofiapro-regular-webfont.woff') format('woff'),
    url('/fonts/sofiapro-regular-webfont.ttf') format('truetype'),
    url('/fonts/sofiapro-regular-webfont.svg#sofiapro-regular') format('svg');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'sofiapro-bold';
  src: url('/fonts/sofiapro-bold-webfont.eot');
  src: url('/fonts/sofiapro-bold-webfont.eot?#iefix') format('embedded-opentype'),
    url('/fonts/sofiapro-bold-webfont.woff2') format('woff2'),
    url('/fonts/sofiapro-bold-webfont.woff') format('woff'),
    url('/fonts/sofiapro-bold-webfont.ttf') format('truetype'),
    url('/fonts/sofiapro-bold-webfont.svg#sofiapro-regular') format('svg');
  font-weight: normal;
  font-style: normal;
}

h1,
h2,
h3,
h4,
h5 {
  font-family: sofiapro-bold;
}

h1 {
  font-size: 3.125em;
}

h2 {
  font-size: 1.3125em;
}

h3 {
  font-size: 1em;
}

p {
  margin-bottom: 0;
}

b,
strong {
  font-family: sofiapro-bold;
}

body,
html {
  font-family: sofiapro-regular;
  font-size: 1rem;
}

.clearfix:after {
  content: ".";
  clear: both;
  display: block;
  visibility: hidden;
  height: 0px;
}

a,
a:hover,
a:active,
a:visited {
  color: black;
  text-decoration: none;
  text-decoration-color: currentcolor;
  text-decoration-line: none;
  text-decoration-style: none;
}

p a:hover {
  font-weight: bold;
  /*text-decoration: underline;*/
}

a:hover {
  text-decoration: none;
  background-color: transparent;
}

p img {
  max-width: 100%;
  height: auto;
}

.container-fluid {
  padding-right: 0px;
  padding-left: 0px;
}

.section {
  padding-top: 3rem;
  padding-bottom: 3rem;
}

.centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.img-responsive {
  max-width: 100%;
  min-width: 100%;
}

.material-icons.pero {
  color: #6f6f6f;
  font-size: 50px;
  padding: 0;
}

/* Header Navbar*/
:root {
  --headerheight: 90px;
}

.navbar {
  min-height: var(--headerheight);
  background: white;
}

.bg-light {
  background-color: #fff !important;
}

a.navbar-brand {
  height: 100%;
}

/* if navbar fixed-top, set body padding */
body {
  padding-top: var(--headerheight);
}

/*
.navbar .rex-navi1 {
  display: inline-flex;
  margin: 0;
}*/
@media (min-width: 992px) {
  .navbar-nav .rex-navi1 {
    margin: 0;
  }

  .navbar-collapse a:active,
  .navbar-collapse a:hover,
  .navbar-collapse a.current {
    color: #9d3736 !important;
  }

  .navbar .nav-item a:link,
  .navbar .nav-item a:visited {
    line-height: 2rem;
    color: #707070;
    padding: 0 12px;
    text-decoration: none;
    text-transform: uppercase;
  }

  .navbar .rex-article-9 {
    /*border-style: solid;
    border-width: 2px;
    border-color: #cfcfcf;*/
    -webkit-box-shadow: inset 0px 0px 0px 2px #cfcfcf;
    -moz-box-shadow: inset 0px 0px 0px 2px #cfcfcf;
    box-shadow: inset 0px 0px 0px 2px #cfcfcf;
    padding: 0;
  }
}

.nav-link,
.nav-item {
  list-style-type: none;
  list-style-image: none;
  list-style-position: outside;
}

.nav-item {
  float: left;
}

.nav-link {
  display: block;
}

.nav__hr {
  height: 2px;
  background-color: #000;
  clear: both;
  margin-top: 2rem;
  margin-bottom: 1rem;
  /* border-top: 2px solid rgba(0,0,0,1.0); */
}

@media (max-width: 991px) {
  .navbar-nav {
    min-height: calc(100vh - (var(--headerheight)));
  }

  .navbar-toggler:focus,
  .navbar-toggler:active {
    outline: none;
    box-shadow: none;
  }

  .navbar-collapse {
    /* margin-top: 2rem; */
    padding-left: 0px;
    text-align: left;
    /* border-top: 2px solid #000; */
    font-size: 1.5rem;
    color: #6f6f6f !important;
    font-weight: 600;
    text-transform: uppercase;
    /*min-height: calc(100vh - (var(--headerheight)));*/
  }

  .navbar-collapse .rex-navi1 {
    padding-left: 0px;
    display: block;
    margin-top: 2rem;
    border-top: 2px solid black;
    padding-top: 1rem;
  }

  .navbar-collapse .nav-item {
    float: unset;
    padding: 0.8rem 0;
    font-weight: 400;
  }

  .navbar-collapse .nav-item a {
    color: #6f6f6f !important;
    padding: 0;
    margin: 0;
  }

  .navbar-collapse a:active,
  .navbar-collapse a:hover,
  .navbar-collapse a.current {
    color: #9d3736 !important;
  }

  .navbar .rex-article-9 {
    border-style: none;
  }
}

/*navbar-toggler*/
.navbar-light .navbar-toggler {
  color: #6f6f6f;
  border-color: white;
}

.navbar-toggler.collapsed .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 32 32' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(127,127,127, 1.0)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 8h24M4 16h24M4 24h24'/%3E%3C/svg%3E") !important;
  background-position: center;
  height: 2rem;
  width: 2rem;
}

.navbar-toggler .navbar-toggler-icon {
  height: 2rem;
  width: 2rem;
  background-image: url("/files/icons/cancel.svg") !important;
}

.navbar-toggler.collapsed .navbar-toggler-icon {
  display: inline-block;
}

/* .navbar-toggler:not(.collapsed) .navbar-toggler-icon { */
/* display: none; */
/* } */
/* .navbar-toggler.collapsed .hideme { */
/* display: none; */
/* } */
.navbar-toggler {
  border: none;
  padding: 0;
}

.navbar-toggler .hideme {
  height: 50px;
  width: 50px;
  font-size: 100px;
  font-weight: 200;
  padding: 0;
  line-height: 60px;
  margin: 0;
  text-align: center;
  vertical-align: middle;
}

.floatclearing {
  clear: both;
}

/*Logo*/
.mainlogo {
  height: 70px;
  margin: auto 0 auto 0;
  object-fit: contain;
  z-index: 100;
}

/*Headerimage*/
.headerimagesection {
  overflow: hidden;
}

.headerimagewrapper {
  height: calc(100vh - (var(--headerheight)));
  position: relative;
  text-align: center;
  vertical-align: middle;
  width: 100%;
  color: white;
  overflow: hidden;
}

.headerimage {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.headerimagewrapper2 {
  position: relative;
  overflow: hidden;
  max-height: calc((100vh - (var(--headerheight)))*0.75);
}

.headerimage_subs {
  max-width: 100%;
  max-height: auto;
  object-fit: contain;
  display: block;
  overflow: hidden;
}

.headerimagewrapper2 .centered,
.headerimagewrapper .centered {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  color: white;
}

.headerimagewrapper h1 {
  font-size: 3.125rem;
  color: #fff;
}

@media (max-width: 991px) {

  .headerimagewrapper1 h1,
  .headerimagewrapper2 h1 {
    font-size: 2rem;
  }
}

.headerimagewrapper p {
  font-size: 16px;
  color: #fff;
}

/*Leistungen-Section*/
#leistungen_section {
  padding-top: 2rem;
  padding-bottom: 2rem;
  /*border-bottom: 3px solid #f0f0f0;*/
}

#leistungen_section .col-md-3 {
  padding-bottom: 2em;
}

#leistungen_section h3 {
  text-transform: uppercase;
  color: #707070;
}

#leistungen_section p {
  font-size: 1rem;
  color: #000;
  line-height: 1.2em;
  font-weight: 100;
  margin-bottom: 0rem;
}

#leistungen_section a {
  padding: 1em 0;
  display: block;
  text-decoration: none;
}

#leistungen_section a:hover,
#leistungen_section a:hover h3,
#leistungen_section a:hover p {
  display: block;
  text-decoration: none;
  background: #f4f4f4;
  color: #9d3736;
}

#leistungen_section_border {
  border-bottom: 3px solid #f0f0f0;
}

/*Center-Section*/
#Center_Section {
  padding-bottom: 0;
}

#Center_Section h2 {
  color: #9d3736;
  padding: 2em 0;
}

#Center_Section p {
  font-size: 16px;
  color: #000;
  font-weight: 100;
  margin-bottom: 0em;
}

#Center_Section .contactinfo {
  font-weight: 600;
  margin-bottom: 1rem;
}

/*untere_section*/
#untere_section {
  padding-bottom: 2rem;
}

#untere_section .col-md-3,
#untere_section .col-md-4 {
  padding: 0;
}

#untere_section .col_lower_inner {
  margin: 2rem 0;
  padding: 0 0 1rem 0;
  border: solid 1px #c8bbb9;
}

#untere_section a {}

#untere_section .col_lower_inner:hover {
  display: block;
  text-decoration: none;
  background: #f4f4f4;
  color: #9d3736;
}

#untere_section .start_lowsection_imagewrapper {
  position: relative;
}

#untere_section .start_lowsection_imagewrapper .headlineframe {
  position: absolute;
  top: 5%;
  right: 5%;
  width: 25%;
  padding-top: 25%;
  background: white;
  border: solid 1px #c8bbb9;
}

#untere_section .start_lowsection_imagewrapper .headlineframe:before {
  content: "";
  display: block;
}

#untere_section .start_lowsection_imagewrapper .headlineframe .content {
  position: absolute;
  top: 5px;
  left: 5px;
  bottom: 0;
  font-size: 0.75em;
}

#untere_section h2 {
  color: #707070;
  padding-left: 5%;
  padding-top: 1em;
}

#untere_section h3 {
  font-size: 0.75rem;
  color: #707070;
}

@media (max-width: 991px) {
  #untere_section h3 {
    font-size: 0.8rem;
  }
}

#untere_section p {
  color: #000;
  font-weight: 100;
  margin-bottom: 0em;
  padding-left: 18px;
}

#untere_section .img-gallery {
  width: 100%;
  height: auto;
  object-fit: fill;
}

/*Footer*/
footer {
  height: 90px;
  color: #fff;
  line-height: 1.618;
  background-color: #a7a7a7;
  overflow: hidden;
  font-size: 1rem;
}

footer .container,
footer .row {
  height: inherit;
}

footer .col.col-md-2.text-center {
  padding: 0;
}

footer .copyright p:before {
  content: "Copyright ";
}

footer .datenschutz a:before {
  content: "Datenschutzerklärung ";
}

footer p {
  /*padding-right: 30px;*/
  display: inline;
  color: #fff;
}

@media (max-width: 575.98px) {
  footer {
    line-height: 1.618;
  }

  footer p,
  footer a {
    /* font-size: 0.9rem; */
  }

  footer .container,
  footer .row {
    height: inherit;
  }

  footer .row {
    padding-top: 1rem;
    padding-bottom: 1rem;
  }

  footer .col {
    padding-left: 5px;
    padding-right: 5px;
  }

  footer .copyright p:before {
    content: "\00a9  ";
  }

  footer .datenschutz a:before {
    content: "Datenschutz";
  }
}

footer a,
footer a:visited,
footer a:hover {
  /*padding-left: 30px;*/
  display: inline;
  color: #fff;
}

.footer-spacing {
  height: 8rem;
}

/*----------------------------------------------------Subsites-----------------------------------------------------*/
/*Übersichtseite Leistungen Leistungen-Section2*/
#leistungen_section2 {
  height: auto;
  padding-top: 2rem;
  padding-bottom: 0rem;
  border-bottom: 3px solid #f0f0f0;
}

#leistungen_section2 .col_lower_inner {
  padding-bottom: 1rem;
}

#leistungen_section2 h3 {
  text-transform: uppercase;
  color: #707070;
}

#leistungen_section2 p {
  font-size: 14px;
  color: #000;
  line-height: 1.2em;
  font-weight: 100;
  margin-bottom: 0rem;
}

#leistungen_section2 a {
  padding: 1em 0;
  display: block;
  text-decoration: none;
}

#leistungen_section2 a:hover {
  display: block;
  text-decoration: none;
  background: none;
  color: #9d3736;
  border-bottom: solid 2px #9d3736;
}

#leistungen_section2 .col_lower_inner {
  height: 300px;
}

#leistungen_section2 .imagewrapper {
  width: 265px;
  height: 165px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.5rem;
  display: flex
}

#leistungen_section2 .img-gallery {
  width: 100%;
  height: 100%;
  object-fit: fill;
}

/*Leistungen Detailseiten*/
#Leistungen_Detail_CenterSection {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

#Leistungen_Detail_CenterSection H2 {
  color: #707070;
  text-align: center;
}

#Leistungen_Detail_CenterSection p {
  text-align: center;
}

/*Aktuelles Übersicht*/
#newsteaser {
  padding-top: 2rem;
  border-bottom: 2px solid #f0f0f0;
}

#newsteaser .col-lg-3,
#newsteaser .col-lg-8,
#newsteaser .col-lg-12 {
  padding-top: 2rem;
  padding-bottom: 2rem;
}

#newsteaser h2 {
  color: #9d3736;
  font-weight: 300;
}

/* Kontakt */
.rex-yform .btn {
  color: #fff;
  background: #707070;
  border-color: #707070;
  text-align: center;
}

.mailsuccess {
  text-align: center;
  font-size: 1.5rem;
  padding-bottom: 3rem;
  margin-top: 5rem;
}

.ContactHeadline {
  font-size: 26px;
  color: #9d3736;
  padding: 3rem 0;
}

.anfragelink,
.anfragelink:visited {
  padding: 1rem 2rem;
  font-size: 1.5rem;
  color: #9d3736;
  border: solid 2px #b8b8b8;
  border-radius: 5px;
}

#ContactLinkSection {
  padding-top: 4rem;
}

.datenschutzcheckbox {
  margin: 1rem 0;
}

.datenschutztext {
  padding: 0 30px;
}

.datenschutztext a {
  color: #707070;
}

/* Empty forms on focus */
/* WebKit browsers */
.form-control:focus::-webkit-input-placeholder {
  color: transparent;
}

/* Mozilla Firefox 4 to 18 */
.form-control:focus:-moz-placeholder {
  color: transparent;
}

/* Mozilla Firefox 19+ */
.form-control:focus::-moz-placeholder {
  color: transparent;
}

/* Internet Explorer 10+ */
.form-control:focus:-ms-input-placeholder {
  color: transparent;
}

.alert.alert-danger li {
  text-align: center;
  vertical-align: middle;
}

.alert.alert-danger ul {
  margin-bottom: 0;
}

/*-----Philosophie--------------*/
.philo_section {
  padding-top: 4rem;
  margin-bottom: 4rem;
}

.philo_section p {
  margin: 0;
  padding-right: 10%;
}

.philo_section.philo_section_rechts .col-lg-5 .textwrap {
  padding-top: 4rem;
}

.philo_section.philo_section_links .col-lg-5 .textwrap {
  padding-top: 4rem;
}

.philo_section h1 {
  font-size: 50px;
  color: #fff;
}

.philo_section .imagewrapper {
  position: relative;
  max-width: 100%;
}

@media (max-width: 991px) {
  .philo_section .col-lg-5 .textwrap {
    padding-top: 2rem !important;
  }

  .philo_section {
    padding-top: 2rem;
    margin-bottom: 2rem;
  }
}

/* über uns */
#ueberuns-section .imagewrapper,
#ueberuns-section .textwrap {
  margin-top: 4rem;
}

#ueberuns-section .textwrap {
  margin-left: 10px;
  margin-right: 10px;
}

#ueberuns-section .headline {
  margin-top: 2rem;
}

#ueberuns-section .headline h3 {
  text-align: center;
  font-size: 18px;
}

#ueberuns-section {
  padding-bottom: 10rem;
}

#ueberuns-section {
  padding-bottom: 10rem;
}

/* team */
#team-section .imagewrapper {
  margin-top: 50px;
}

#team-section .textwrap {
  margin-top: 15px;
}

#team-section .textwrap {
  margin-left: 10px;
  margin-right: 10px;
}

#team-section .headline {
  margin-top: 2rem;
}

#team-section .headline h3 {
  text-align: center;
  font-size: 18px;
}

#team-section {
  padding-bottom: 10rem;
}

#team-section {
  padding-bottom: 0;
}

/* slick slider */
:root {
  --sliderpic_width: 640px;
}

:root {
  --sliderpic_height: 324px;
}

:root {
  --sliderpic_sm_width: 380px;
}

:root {
  --sliderpic_sm_height: 228px;
}

.slick-slider {
  padding-bottom: 4rem;
}

.myslick1 {
  text-align: center;
  margin-top: 0rem;
  /*max-height: 600px;*/
}

.slick-slide.slick-active.slick-current {
  width: var(--sliderpic_width);
}

.slick-slide.slick-active {
  visibility: visible;
  width: var(--sliderpic_sm_width);
}

.slick-slide {
  visibility: hidden;
  height: unset !important;
}

.slick-active .slideimageframe {
  width: var(--sliderpic_sm_width);
  height: var(--sliderpic_sm_height);
  overflow: hidden;
  text-align: center;
  vertical-align: middle;
}

.slick-current .slideimageframe {
  width: var(--sliderpic_width);
  height: var(--sliderpic_height);
  margin-top: 0;
  text-align: center;
  vertical-align: middle;
}

.slick-current .slideimageframe .img-slickgallery {
  min-width: var(--sliderpic_width);
  min-height: var(--sliderpic_height);
  margin-top: 0;
  padding-top: 0px;
  height: auto;
  max-height: 100%;
  object-fit: cover;
  margin-left: auto;
  margin-right: auto;
}

.slideimageframe {
  margin-top: 80px;
  width: var(--sliderpic_sm_width);
  height: var(--sliderpic_sm_height);
  overflow: hidden;
}

.slideimageframe .img-slickgallery {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slickgallery_textblock {
  display: none;
}

.slick-current .slickgallery_textblock {
  display: block;
  max-width: 70%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
  height: auto;
}

@media (max-width: 992px) {
  .slick-current .slickgallery_textblock {
    max-width: 50%;
    margin-top: 2rem;
    height: auto;
  }
}

@media (max-width: 992px) and (orientation:landscape) {
  .slick-current .slickgallery_textblock {
    max-width: 100%;
  }
}

.slick-initialized .slick-slide {
  display: block;
}

.myslick1 :focus,
.myslick1 img :focus {
  outline: none;
}

@media (max-width: 992px) {
  .myslick1 {
    margin-top: 0rem;
  }
}

.slick-prev::before,
.slick-next::before {
  font-size: 50px !important;
  line-height: 1 !important;
  opacity: .70 !important;
  color: #fff !important;
  /*color: #a7a7a7!important;*/
}

.slick-prev {
  top: 35% !important;
  width: 20% !important;
  height: 35% !important;
  left: 3% !important;
  z-index: 20000000 !important;
}

.slick-next {
  top: 35% !important;
  width: 20% !important;
  height: 35% !important;
  right: 3% !important;
}