@import url(animate.css);
/*@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css);*/
@import url("https://netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css");
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,400;1,600&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat+Alternates:wght@300;400;500;600&display=swap');
/*========================================================
                      Main Styles
=========================================================*/

html { scroll-behavior: smooth; }

body {
  color: #5f3e1b;
  font: 20px/26px "Montserrat", sans-serif;
  font-weight: 400;
  -webkit-text-size-adjust: none;
  background: #efddc5; }

  body * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    @media (max-width: 992px) {
      body { font: 400 21px/26px "Montserrat", sans-serif; } }

img { max-width: 100%; height: auto; }

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
  font-weight: 400;
  font-family: "Montserrat", sans-serif; }
  @media (max-width: 992px) {
    h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
      font-weight: 400; } }


h1, .h1 {
  font-size: 65px;
  line-height: 80px; }
  @media (max-width: 992px) {
    h1, .h1 {
      font-size: 60px;
      line-height: 70px;
      padding: 0 20px;
      font-weight: 500; } }

h2, .h2 {
  font-size: 50px;
  line-height: 50px; }

h3, .h3 {
  font-size: 35px;
  line-height: 40px; }
  @media (max-width: 992px) {
    h3, .h3 { font-size: 37px; font-weight: 400;}  }

h4, .h4 {
  font-size: 25px;
  line-height: 25px; }

h5, .h5 {
  font-size: 20px;
  line-height: 26px; }
  @media (max-width: 992px) {
    h5, .h5 {
      font-size: 23px;
      line-height: 29px;
      font-weight: 400;
      letter-spacing: 1px;} }

h6, .h6 {
  font-size: 21px;
  line-height: 29px; }

div.m-hover h5 { margin-top: 10px; }

@media (min-width: 765px) and (max-width: 992px) {
  div.m-hover h5 { font-size: 18px; line-height: 20px;}
}

  @media (min-width: 992px) {
      a:hover, div.m-hover a:hover h5, footer a:hover { text-decoration: underline; color: #d5652c; }
      }
  @media (max-width: 992px) {
      a, div.m-hover a h5, footer a { text-decoration: underline; color: #d5652c; }
      }

.p a:hover, .marked-list a:hover, .list a:hover {
  text-decoration: underline; color: #699ebc; }
p .fa, .marked-list .fa, .list .fa {
  text-decoration: none; }

time {
  display: block; }

a {
  font: inherit;
  color: inherit;
  text-decoration: none;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s; }
  a:focus {
    outline: none; }
  a:active {
    background-color: transparent; }

a[href^="tel:"],
a[href^="callto:"] {
  color: inherit;
  text-decoration: none; }

strong {
  font-weight: 700; }

.fa {
  line-height: inherit; }

[class*='fa-']:before {
  font-weight: 400;
  font-family: "FontAwesome"; }

.page { border:
  overflow: hidden;
  min-height: 500px; }
  .lt-ie9 .page {
    min-width: 1200px; }

.fw-n {
  font-weight: 400; }

.fw-b {
  font-weight: 500; }

@media (max-width: 992px) {
  span.m_bold { font-weight: 500; }
}

.fw-sb {
  font-weight: 600; }

.text-uppercase { text-transform: uppercase; }

.default-dark { color: #5f3e1b; }
.default-darker { color: #bbbaba; }
.default-light { color: #fff; }    /*  Schrift Fliesstext */
.default-realdark { color: #6e6c6c; }

.clr-primary { color: #d5652c; }
.clr-secondary { color: #5f3e1b; }   /* Headlines */

.secondary-dark { color: #363636; }
.secondary-light { color: #717171; }  /* Adresse unten*/

.color-bg { color: #5f3e1b; }

.white { color: #fff; }

@media (max-width: 992px) {
  .center767 { text-align: center; }
    .center767 * { text-align: center; } }

@media (max-width: 992px) {
  .center991 { text-align: center; }
    .center991 * { text-align: center; } }

.img-circle { -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; margin-top: 30px; }
.img-border { -webkit-border-radius: 30px; -moz-border-radius: 30px; border-radius: 30px; }

.text-center { text-align: center; }
.text-left { text-align: left; }

.mg-add { margin-top: -122px; }
.mg-add2 { margin-top: 10px; }
.mg-add3 { margin-top: 25px; }

/*=======================================================
                       Main Layout
=========================================================*/

* + p { margin-top: 30px; }

* + p.h5 { margin: 0; }       /*   TCM Text   */

img + h3 + h5, img + h3 { margin-top: 35px; }

* + .btn-link { margin-top: 55px; }

* + .offs { margin-top: 45px; }

* + h2 { margin-top: 41px; }

* + .subscribe { margin-top: 64px; }

/*=======================================================
                        Components
=========================================================*/
/*==================     Brand     ======================*/
.brand {                    /*  HG img    */
  display: inline-block;
  max-width: 411px;
  position: relative;
  /*padding-bottom: 30px;*/
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

.brand:before {                              /*  Logo img    */
  content: url("../images/logo_img.png");
  position: absolute;
  left: 50%;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 110px;
  z-index: 1;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s; }


  @media (max-width: 767px) {
    .brand:before {
      content: url("../images/logo_img-m.png");
      top: 75px; }
  }

.brand_foot:before {                           /*  Logo Footer    */
  content: url("../images/logo_img_foot.png");
  position: absolute;
  left: 50%;
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 50px;
  z-index: 1;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

  @media (max-width:1200px) {
    .brand_foot:before {
      top: 300px;}
  }

/*==================  Backgrounds  ======================*/

.bg-primary { background: #efddc5; } /*     efddc5   */

.bg-light { background: #efddc5; }  /*     efddc5   */

.bg-dark { background: #d5652c; } /*      orange   */

.bg-default { background: #fff; } /*      efddc5   */

/*==============    Blockquote      ==============*/
.blockquote p > cite {
  display: inline-block;
  position: relative;
  padding-left: 140px;
  font-style: normal;
  line-height: 20px;
  text-align: left; }
  .blockquote p > cite span {
    display: inline-block; }
  .blockquote p > cite:before {
    display: inline-block;
    content: "\f007";
    position: absolute;
    left: 0;
    top: -27px;
    width: 101px;
    height: 101px;
    line-height: 101px;
    background: #fd7400;
    text-align: center;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px;
    color: #fff;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    font: 400 25px/101px "FontAwesome"; }
.blockquote p.quote {
  padding-left: 40px;
  padding-right: 40px; }
.blockquote p > q {
  position: relative;
  display: inline-block; }
  .blockquote p > q:before, .blockquote p > q:after {
    display: block;
    content: url("../images/quote_img.png");
    position: absolute;
    font-size: 60px;
    font-family: "Montserrat", sans-serif;
    color: #fff;
    top: -22px; }
  .blockquote p > q:before {
    left: -30px; }
  .blockquote p > q:after {
    right: -30px; }
.blockquote p + h5 {
  margin-top: 90px; }
.blockquote * + .quote {
  margin-top: 11px; }

/*==================      Box      ======================*/
.box:before, .box:after {
  display: table;
  content: "";
  line-height: 0; }
.box:after {
  clear: both; }
.box_aside {
  float: left;
  margin-bottom: 30px; }
.box_cnt__no-flow {
  overflow: hidden; }
.box + .box {
  margin-top: 55px; }
.box * + p {
  margin-top: 35px; }

@media (max-width: 992px) {
  .box {
    text-align: center; }
    .box_aside {
      float: none;
      margin-right: 0;
      margin-bottom: 20px;  } }

/*==================     ToTop     ======================*/
.toTop {
  width: 50px;
  height: 50px;
  font-size: 24px;
  line-height: 46px;
  color: #fff;
  background: #464646;
  border-radius: 50%;
  -webkit-box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.4);
  -moz-box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.4);
  box-shadow: 4px 4px 8px 0 rgba(0, 0, 0, 0.4);
  position: fixed;
  right: 40px;
  bottom: 40px;
  display: none;
  overflow: hidden;
  text-align: center;
  text-decoration: none;
  z-index: 20; }
  .toTop:hover {
    color: #fff;
    background: #d5652c;
    text-decoration: none; }

.mobile .toTop,
.tablet .toTop {
  display: none !important; }

/*==================  RD Parallax    ======================*/
.parallax {
  position: relative;
  overflow: hidden; }
  .parallax_image, .parallax_pattern {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background-position: center center;
    will-change: transform; }
  .parallax_image {
    background-repeat: no-repeat;
    -webkit-background-size: cover;
    background-size: cover; }
  .parallax_pattern {
    background-repeat: repeat; }
  .parallax_cnt {
    position: relative; }

    .parallax_cnt * + .h5 {
      margin-top: 40px; }
        .well2 .parallax_cnt * + .h6 {         /* TCM Abstand zw p*/
          margin-top: 20px; }

    .parallax_cnt * + .btn-link {
      margin-top: 62px; }

    .parallax-color { color: #d5652c; }

/*========================================================
                     HEADER  Section
=========================================================*/
header {
  background: url("../images/header_img.jpg") no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  position: relative;
  padding-bottom: 350px; }

header .header-caption {
  margin-top: 550px;
  margin-bottom: 250px; }

@media (max-width: 992px) {
  header {
    background: url("../images/header_img-mobile.jpg") no-repeat;
    background-position: center top;
    background-size: cover;
    position: relative; }
  }


@media (max-width: 767px) {
  header {
    text-align: center;
    padding-bottom: 50px; }
  header h3 { padding-top: 175px; }
  header p { margin-top: 225px; line-height: 1.5em;}

  header .header-caption {
    margin-top: 0;
    margin-bottom: 0; }
  }

@media (min-width: 752px) and (max-width: 992px) {
  header .header-caption {
    margin-top: 550px;
    margin-bottom: 250px; }
    header h3 { margin-top: 0px; }
}

header h3 { color: #fff; margin-top: 333px; font-size: 37px;} /*  orange : d5652c */


header p span.adr-tren { padding: 0 4px; color: #d5652c; }

@media (min-width: 767px) {
      header p.adr-oben {
        position: absolute; top: 0;
        width: 100%;
        text-align: center;
        line-height: 1.4em;
        color: #5f3e1b;
        }

        header p span.adr-tren { padding: 0 15px; color: #d5652c; }
}
@media (min-width: 752px) and (max-width: 992px)

/*==================  Inline List  ======================

.inline-list li {
  display: inline-block;
  width: 77px;
  height: 77px;
  line-height: 77px;
  background: #363636;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  border-radius: 50%;
  font-size: 25px;
  color: #fff;
  -moz-transition: 0.3s;
  -o-transition: 0.3s;
  -webkit-transition: 0.3s;
  transition: 0.3s; }
  .inline-list li:hover {
    background: #fd7400; }
.inline-list li + li {
  margin-left: 22px; }
@media (max-width: 1199px) {
  .inline-list li + li {
    margin-left: 14px; } }

/*========================================================
                     CONTENT  Section
=========================================================*/
main {
  display: block; }

/*==================      Well     ======================*/
.well {
  padding-top: 0;
  padding-bottom: 50px; } /* 50 */

.well2 {
  padding-top: 120px;
  padding-bottom: 120px; }
  @media (max-width: 992px) {
    .well2 {
      padding-top: 100px;
      padding-bottom: 100px; } }

.well3 {
  padding-top: 100px;
  padding-bottom: 15px;
 }
  @media (max-width: 992px) {
    .well3, .well6 { padding: 75px 15px 15px 15px; }
   }

.well4 {
  padding-top: 60px;
  padding-bottom: 70px; }
  @media (max-width: 992px) {
    .well4 { padding: 75px 15px 15px 15px; }
   }

.well5 {
  padding-top: 80px;
  padding-bottom: 100px; }

.well6 {
  padding-top: 30px;
  padding-bottom: 65px; }

.well7 {
  padding-top: 65px;
  padding-bottom: 80px;
 }

@media (max-width: 992px) {
.well3, .well7 { padding: 55px 15px 85px 15px; }
.well7 .box_aside img { }
}

@media (min-width: 767px) and (max-width: 992px) {
  .center-m .img-circle  { margin-left: 25%; margin-top: 0; margin-bottom: 30px; padding: 0; }
  .well7 h2, .well7 p, .well7 h3, .well7 p.intro { width: 100%; float: left; padding: 0 60px; }
 }

@media (max-width: 767px) {
  .well7 img { padding: 10px; }
  .well7 h2, .well7 p, .well7 h3, .well7 p.intro { padding: 0 5px; }
}

/*========================================================
                     FOOTER  Styles                           border: 3px solid green;
=========================================================*/
footer {
  padding-top: 0px;
  padding-bottom: 115px;
  margin-top: 25px;
  position: relative; }
  footer:before, footer:after {
    display: table;
    content: "";
    line-height: 0; }
  footer:after {
    clear: both; }

  footer .rights {
    width: 380px;
    margin-top: 65px;
    float: left;
    text-align: right; }
    @media (max-width: 992px) { footer .rights {  } }

  footer .impressum {margin-top: 20px; font-size: 80%; }
    @media (max-width: 992px) {
      footer .impressum { margin: 15px 0 10px 0; font-size: 100%; }
      footer .rights, footer .info { line-height: 140%; }
    }

  footer .rights span:first-child {}

  footer .brand {
    position: absolute;
    bottom: 300px;
    left: 50%;
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #fff; }

    footer .brand .brand-name {
      margin-bottom: 28px; }

    footer .brand:before {  }

  footer .inline-list {
    margin-top: 40px;
    float: right; }

  footer .info {
    width: 380px;
    text-align: left;
    margin-top: 65px;
    float: right; }

  @media (max-width: 1200px) {
    footer {
    padding-top: 20px;
    padding-bottom: 310px; }
    footer .rights, footer .info, footer .inline-list {
      width: 100%;
      margin: 0;
      padding-top: 10px;
      text-align: center; } }


/* - - - - - m - -  1200px  - - - */

@media (max-width: 992px) { .m_nein, br.m_nein, span.m_nein { display: none; } }
@media (min-width: 992px) { .w_nein { display: none; } }
@media (max-width: 768px) { .pm_nein { display: none; } }
@media (min-width: 768px) { .pw_nein { display: none; } }

@media (max-width: 992px) { .m_img_nein { display: none; } }
@media (min-width: 992px) { .w_img_nein { display: none; } }
@media (min-width: 765px) and (max-width: 992px) { .t_img_nein { display: none; } }


/*   - - - - - - - - - - - - - N A V I  - - - - - - - - - - - - - */


nav { position: fixed; top: 0; right:0; background-color: rgba(176,152,113,0.7); z-index: 2; }

nav ul { display: none; clear: both; padding: 25px 40px; }
nav ul li { margin-bottom: 25px; }

nav a { font-size: 110%; color: #fff; }
@media (max-width: 992px) { nav ul { font-size: 115%; font-weight: 500;} }
nav ul li a.nav_oben { font-size: 150%; margin-top: 15px; }

input[type=checkbox] { display:none; }

input[type=checkbox] + label {
	 background: url('../images/auf.jpg') no-repeat;
	 height: 60px; width: 60px;
	 display:inline-block; float: right;
}

input[type=checkbox]:checked + label {
	background: url('../images/zu.jpg') no-repeat;
	height: 60px; width: 60px;
	display:inline-block;
}

input:checked ~ ul { display: block; }

/* - - - - - Behandlung - - - - - */

p.intro { padding: 0 200px; }
p.mehr_o { padding-top: 35px; }
@media (max-width: 1200px) { p.intro { padding: 0; } }

.well7 h5, .well3 .mehr_br { padding-top: 10px; }
.well7 img { }
.mehr_br, .mehr_p { padding-top: 0; }

.box_cnt__no-flow h2 { margin-top: 0; font-size: 29px; line-height: 40px; color: #d5652c; }
.box_cnt__no-flow p { margin-top: 15px;  }

@media (min-width: 992px) {
  .box_cnt__no-flow h2 { margin-top: 30px; }
  .well7 .img-reihe div img { }
 }

@media (min-width: 992px) {.well7 .box_aside { margin: 6px 0; } }

.well7 .m-head-li { float: left; }
.well7 .m-head-re { float: right; }

/* - - - - - Preisliste - - - - - */

.preis-container { text-align: center; }

ul.preis { margin-top: 25px; }

ul.preis, ul.preis li div { display: inline-block; font-size: 19px; margin-bottom: 5px;}

.linie { border-bottom: 1px solid #d5652c; margin-bottom: 12px; padding-bottom: 12px;}

.bezeichnung {  }
.zeit { width: 110px; }
.geld { width: 90px; }

ul.preis h5 { padding: 10px 0; font-size: 125%; color: #d5652c; }
ul.preis p { margin: 0 0 10px 0; }
ul.preis p.preis-bereich { color: #d5652c; }

ul.preis-sub { text-align: left; display: inline-block; padding: 0 0 15px 15px; color: #d5652c; list-style-type: disc; }

@media (max-width: 992px) {
  .well4 { padding-top: 30px; padding-bottom: 60px; }

  ul.preis { width: 100%; text-align: center; padding-bottom: 7px;  }
  ul.preis li div.zeit, ul.preis li div.geld { font-size: 21px; padding: 3px 0; }

  .linie { margin: 0 5%;}
  ul.preis h5 { margin-top: 10px; letter-spacing: 0; }
  .zeit { width: 100px; }
  .geld { width: 90px; }
  .well4 div.preis-container h2 { padding-top: 0; }
  .well4 div.img-border img { width: 50%; margin: 0; }
  ul.preis-sub { display: inline-block; padding: 0 0 15px 15px; color: #d5652c; list-style-type: disc; }
  ul.preis-sub2 { padding: 0 0 15px 55px; }
  ul.preis-sub li { text-align: left; }
  }

@media (min-width: 646px) and (max-width: 992px) {
  .well4 p, .well4 li { margin: 0 80px; } }


/* - - - - - Open Maps - - - - - */


.map { width: 100%; height: 330px; }
.map small { margin: 5px; font-size: 75%; } /*  5px;  */

 @media (max-width: 992px) {
        .map { height: 300px; margin-bottom: 35px; padding: 10px 10px 0 10px; }
        small { font-size: 75%; }
      }


/* - - - - - Impressum - - - - - */

header.impressum {
  background: url("../images/header_impressum.jpg") no-repeat;
  background-position: center top;
  background-size: cover;
  text-align: center;
  position: relative;}

header.impressum .header-caption { margin-top: 275px; }

@media (min-width: 992px){
  header.impressum .header-caption { margin: 333px 0 150px 0; } }


div.txt_impressum { }

header.impressum h1 {margin: 0; padding: 0; }

div.txt_impressum h6 {
    margin: 30px 0 10px 0;
    font-size: 24px; }

div.txt_impressum p {
    margin: 5px;
    font-size: 22px; }

.txt_impressum .mehr {
    margin: 30px 0 10px 0;
}

/* - - - - - - - - - - */

super, .super { font-size: 75%; }
.klein { font-size: 75%; }

.li { font-weight: 500; text-transform: uppercase; font-size: 90%; letter-spacing: 1.5px;}
.li-bold { font-weight: 600; letter-spacing: 0.5px;}

.m-about { margin-top: 0; }
@media (min-width: 992px) {
  .m-center { margin: 0 25%; } }

.m-li-center { margin: 0px 37.5%!important; padding: 0; }
