@font-face {
  font-family: "Ubuntu Regular";
  src: url("Fonts/Ubuntu-R.ttf"), url("Fonts/Ubuntu-R.otf"), url("Fonts/Ubuntu-R.eot"), url("Fonts/Ubuntu-R.woff"), url("Fonts/Ubuntu-R.woff2");
}

html, body {
  height: 100%;
}

body {
  font-family: "Ubuntu Regular", sans-serif !important;
  display: flex;
  flex-direction: column;
  color: #555555;
}

.sliderTitle {
  padding: 0px;
}

#startseite h4 a {
  text-decoration: none;
}

#startseite h4 {
  margin-top:16px;
  height: 48px;
}

.blue {
  background-color: #2E5EA2!important;
}

.orange {
  background-color: #F35C19!important;
}

li {
  margin-bottom: 4px;
  padding-bottom: 4px;
}

.image {
  max-width: 100%;
}

.background {
  display: block;
  position: relative;
}

a {
  color: #686362!important;
}

a:hover {
  cursor: pointer!important;
}

.link {
  text-decoration: none;
}

.link:hover {
  cursor: text!important;
}

.noVisibleLink {
  text-decoration: none!important;
}

.header {
  flex: 1 0 auto;
  max-width: 1024px;
}

.logoImageContainer {
  display:inline;
}

.logoTextContainer {
  display:inline;
  position:absolute;
  white-space: normal!important
}

.madeInGermany {
  position:relative;
  top:34px;
}

.madeInGermany img {
  width: 16px;
}

.navbar-brand {
  white-space: normal!important;
}

.logoTextContainer h1 {
  position:relative;
  top:48px;
}

.logo {
  width: 80px;
  margin-top: 14px;
  padding: 0px!important;
}

.mobileToggler {
  padding: 0px!important;
}

.logo_bottom {
  width: 80px;
}

.btn:focus,.btn:active 
{
  outline: none !important;
  box-shadow: none;
}

.kontakt
{
  color: #595959 !important;
}

.btn-link, .kontaktLinkTop
{
  color: #595959 !important;
}

.nav-link .btn-link
{
  color: #595959;
  font-weight: bold;
}

.pt-6
{
  padding-top: 4.3rem;
}

.dropdown-item:active 
{
  background-color: transparent !important;
}

/*
  Flaggen
*/

.dropdown-menu.language .dropdown-item 
{
  padding-right:0.5rem!important;
  padding-left:0.5rem!important;
}

.dropdown-menu.language
{
  min-width: 1rem!important;
  top: 40px!important;
  left: 10px!important;
  padding: 0px!important;
}

.dropdown.language
{
  padding: .375rem .75rem;
}

.dropdown-submenu 
{
  position: relative;
}

.dropdown-submenu a::after 
{
  transform: rotate(-90deg);
  position: absolute;
  right: 6px;
  top: 1.2em;
}

.dropdown-submenu .dropdown-menu 
{
  top: 0;
  left: 100%;
  margin-left: .1rem;
  margin-right: .1rem;
}

/*  Slider  */

.carousel-caption
{
  top: 2rem;
  height: 50%;
}

.carousel-item
{
  max-height:400px;
}

.carousel-caption a
{
  color: white !important;
  text-decoration: underline;
}

.valign
{
  position: relative;
  top: 50%;
  transform: translateY(-30%);
}

.sliderTextShadowDark, .sliderTextShadowLight
{
  text-shadow:  1px  1px 1px black,
                1px -1px 1px black,
                -1px  1px 1px black,
                -1px -1px 1px black;
}

.topseller {
  list-style: none;
  margin-top: 24px;
  margin-bottom: 24px;
}

.topseller li {
  margin-bottom: 8px;
}

.topseller li a:hover {
  color: black!important;
}

.btn-shl
{
  background-color: #74C958;
  color:white!important;
}

.btn-shl:hover
{
  background-color: #64B948;
  color:white;
}

.btn-action {
  border: 2px solid white!important;
  
}

.d-block.bild-portrait
{
  display: none !important;
}

.bild-landscape-big
{
  display: block;
}

.bild-landscape-medium
{
  display: none;
}

@media only screen and (orientation: portrait)
{ 
  .d-block.bild-landscape-big, .d-block.bild-landscape-medium
  {
    display: none !important;
  }

  .d-block.bild-portrait
  {
    display: block !important;
  }
}

/**/

.topContent
{
  max-width: 100% !important;
  background-color: #F5F5F5;
  border-top:2px solid #F5F5F5;
  border-bottom:2px solid #F5F5F5;
}

.topContentBottom1
{
  max-width: 100% !important;
  background-color: white;
  border-bottom: 2px solid RGBA(173,255,47,0.5);
}

.topContentBottom1 h2 {
  padding-top: 24px;
  padding-bottom: 24px;
}

.topContentBottom1 .content
{
  background-color: white;
}

.topContentBottom2
{
  max-width: 100% !important;
  background-color: #F5F5F5;
  border-bottom: 2px solid RGBA(173,255,47,0.5);
}

.topContentBottom2 h2 {
  padding-top: 24px;
  padding-bottom: 24px;
}

.topContentBottom2 .content
{
  background-color: #F5F5F5;
}

.topActionContentBottom {
  background-color: RGBA(173,255,47,0.5);
}

.contentBottom
{
  max-width: 100% !important;
  background-color: #F5F5F5;
  border-top: 2px solid RGBA(173,255,47,0.5);
}

.contentBottom h2 {
  padding-top: 24px;
  padding-bottom: 24px;
}

.contentBottom .content
{
  background-color: #F5F5F5;
}

.video-container {
  position: relative;
  padding-bottom: 40.25%; /* 16:9 */
  height: 0;
}

.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.content
{
  flex: 1 0 auto;
  background-color: white;
  padding-right: 32px!important;
}

.content .fotos
{
  width: 100%;
  max-width: 400px;
  padding-top: 8px;
}

.content .fotos-vergleich
{
  width: 100%;
  padding-top: 4px;
}

.imgLink:hover
{
  border: 1px solid #F35C19 !important;
}

.schriftOrange
{
  color:#F35C19;
  text-shadow: 4px 4px 5px white;
}

.schriftBlau
{
  color:#3060A2;
  text-shadow: 4px 4px 8px #F35C19;
}

.inhalt ul
{
  padding-left: 1rem;
/*  padding-top: 1rem;*/
  padding-bottom: 0rem;
}

.dreispaltig
{
  min-width: 300px;
}

.bild-dreispaltig
{
  max-width: 300px;
}

.blogColMinWidthLexicon
{
  min-width: 100%;
}

.blogColMaxWidth
{
  max-width: 380px;
}

.navigation
{
  max-width: 1024px;
  color: white;
}

footer
{
  background-color: RGBA(173,255,47,0.5);
}

.footerFirm
{
  padding-left:4px;
}

.firmaAdresse, .telefonEmail, .footerMenu
{
  min-width: 200px;
}

div.anchor
{
  margin-left: 16px;
  margin-bottom: 16px;
}

.name
{
  font-size: 5rem;
  font-weight: bold;
}

.slogan
{
  font-size: 3rem;
  font-weight: 100;  
  letter-spacing:12px;
}

.tip
{
  font-size: 1.5rem;  
}

.spalte2
{
  width:300px!important;
}

.foto_startseite
{
  height: 300px;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url('images/startseite.jpg');
}

.profilbild
{
  width: 200px;
}

.cookie
{
  padding-bottom:16px;
}

.gallery_product
{
    margin-bottom: 30px;
}

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

.kommunikation
{
  position: fixed;
  top:60px;
  right:4px;
  width:48px;
  height:48px;
}

.telefon_position
{
  position: relative;
  top:0px;
  right:0px;
  width:48px;
  height:48px;
}

.threema_position
{
  position: relative;
  top:16px;
  right:0px;
  width:48px;
  height:48px;
}

.telegram_position
{
  position: relative;
  top:32px;
  right:0px;
  width:48px;
  height:48px;
}

.email_position
{
  position: relative;
  top:48px;
  right:0px;
  width:48px;
  height:48px;
}

.whatsapp_position
{
  position: relative;
  top:60px;
  right:0px;
  width:48px;
  height:48px;
}

.telefon, .telegram, .threema, .whatsapp, .email
{
  position: relative;
}

.threema img, .email img, .whatsapp img
{
  width: 48px;
  height: 48px;
}

.letter
{
  margin-bottom: 16px;
}

.letters
{
  margin-right: 16px;
  font-weight: bold;
  font-size: 1.5rem;
}

.copyright
{
  font-size: 0.8rem;
  opacity: 0.5;
}

video 
{
	width: 100%;
}

/*  Homepage  */

.titlebig
{
  font-size: 3.5rem;
}

.hidetitle
{
  display: none;
}

.rueckrufservice
{
  position: fixed;
  top:180px;
  right:-48px;
  transform: rotate(-90deg);
  background-color:#74C958;
  color: white;
  border:1px solid white;
  padding:8px;
  padding-right:12px;
  padding-left:12px;
}

.rueckrufservice:hover
{
  background-color: #64B948!important;
}

.rueckrufservicelink, .angebotlink
{
  z-index: 100000;
}

.angebot
{
  position: fixed;
  top:300px;
  right:-56px;
  transform: rotate(-90deg);
  background-color:#74C958;
  color: white;
  border:1px solid white;
  padding:8px;
  padding-right:12px;
  padding-left:12px;
}

.angebot:hover
{
  background-color: #64B948!important;
}

.topContentModuleText
{
  top:20px;
  width: 50%;
  background-color:#F35C19;
  cursor: pointer;
  text-align:center;
}

.topContentModuleText:hover
{
  border:2px solid #2E5EA2;
}

.topContentModuleTextInner
{
  height:100%;
  padding: 24px;
  color:white;
  font-weight:bold;
}

.topContentModuleTextLink
{
  text-decoration:none!important;
}

.topContentModuleTextInner
{
  font-size: 1.5rem;
}

.d-block
{
  position: relative;
}

@media (max-width: 400px) 
{
  .carousel-indicators
  {
    display: none !important;
  }

  .valign
  {
    position: relative;
    top: 50%;
    transform: translateY(-50%);
  }
}

@media (max-width: 575px) 
{
  .titlebig
  {
    font-size: 1.3rem;
  }

  .kontakt
  {
    font-size: 0.8rem;
  }

  .carousel-caption
  {
    bottom: 0px !important;
  } 

  .carousel-caption h1
  {
    font-size: 1.2rem;
  } 

  .d-block
  {
   display: block;
  }

  .d-md-block
  {
   display: block;
  }

  .topContentModuleText
  {
    width: 60%;
  }

  .topContentModuleTextInner
  {
    font-size: 1.2rem;
  }
}

/*  Small devices (landscape phones, 576px and up)  */
@media (min-width: 576px) 
{
  .titlebig {
    font-size: 1.8rem;
  }

  .carousel-caption h1 {
    font-size: 1.5rem;
  } 

  .d-block {
   display: block;
  }

  .d-md-block {
   display: block;
  }

  h2 {
    font-size: 1.8rem;
    line-height: 1.4 !important;
  }

  h3 {
    font-size: 1.5rem;
    line-height: 1.2 !important;
  }

  h4 {
    font-size: 1.2rem;
    line-height: 1.0 !important;
  }

  .name {
    font-size: 4rem !important;
  }

  .slogan {
    font-size: 1.5rem !important;
    letter-spacing:8px;
  }

  .tip
  {
    font-size: 1.2rem !important;
  }

  .topContentModuleText
  {
    width: 70%;
  }

  .topContentModuleTextInner
  {
    font-size: 1.2rem;
  }
}

/*  Medium devices (tablets, 768px and up)  */
@media (min-width: 768px) 
{
  .titlebig
  {
    font-size: 2.5rem;
  }

  .carousel-indicators
  {
    display: flex !important;
  }

  .carousel-caption h1
  {
    font-size: 2.5rem;
  } 

  .carousel-caption p
  {
    font-size: 1.2rem;
    display: block;
  } 

  .d-block
  {
   display: block;
  }

  .d-md-block
  {
   display: block;
  }

  .topContentModuleText
  {
    width: 50%;
  } 

  .blogColMinWidthStandard
  {
    min-width: 380px;
  }
}

/*  Large devices (desktops, 992px and up)  */
@media (min-width: 992px) 
{
  .titlebig
  {
    font-size: 3.0rem;
  }

  .carousel-caption
  {
    bottom: 50px !important;
  } 

  .carousel-caption h1
  {
    font-size: 2.5rem;
  } 

  .carousel-caption p
  {
    font-size: 1.2rem;
  } 

  .blogColMinWidthStandard
  {
    min-width: 420px;
  }
}

@media (max-width: 1024px)
{
  .madeInGermany
  {
    position:relative;
    top:40px;
  }

  .bild-landscape-big
  {
    display: none!important;
  }
  
  .bild-landscape-medium
  {
    display: block!important;
  }  
}

@media (min-width: 1025px)
{
  .bild-landscape-big
  {
    display: block!important;
  }
  
  .bild-landscape-medium
  {
    display: none!important;
  }  
}

/*  Extra large devices (large desktops, 1200px and up)  */
@media (min-width: 1200px) 
{
  .titlebig
  {
    font-size: 3.5rem;
  }

 .carousel-caption
  {
    bottom: 140px !important;
  } 

  .carousel-caption h1
  {
    font-size: 3rem;
  } 

  .carousel-caption p
  {
    font-size: 1.2rem;
  } 
}

/*
*    Accordion
*/

#acc .card 
{
  margin-bottom: 30px;
  border: 0;
}

#acc .card .card-header 
{
  border: 0;
  -webkit-box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
          box-shadow: 0 0 20px 0 rgba(213, 213, 213, 0.5);
  border-radius: 2px;
  padding: 0;
}

#acc .card .card-header .btn-header-link 
{
  color: #fff;
  display: block;
  text-align: left;
  background-color: rgba(243, 92, 25, 0.3);
  color: #222;
  padding: 20px;
  width:100%;
}

#acc .card .card-header .btn-header-link:after 
{
  content: "\f078";
  font-family: 'FontAwesome';
  font-weight: 900;
  float: right;
}

#acc .card .card-header .btn-header-link[aria-expanded="true"]:after 
{
  content: "\f077"; /* fa-chevron-up */
}

#acc .card .collapsing 
{
  background-color: rgba(243, 92, 25, 0.1);
  line-height: 30px;
}

#acc .card .collapse 
{
  border: 0;
}

#acc .card .collapse.show 
{
  background-color: rgba(243, 92, 25, 0.1);
  line-height: 30px;
  color: #222;
}

.trennlinie
{
  width: 100%;
  max-width:1140px;
}

.back-to-top 
{
  position: fixed;
  bottom: 25px;
  right: 25px;
  display: none;
  color: white!important;
  background-color: #74C958!important;
}

.back-to-top:hover
{
  background-color: #64B948!important;
}

.date
{
  width: 320px;
}

.zeitraum
{
  width: 320px;
  color:#6C7580;
}

.location_icon
{
  width:24px;
}

.email_phone_icon
{
  width:32px;
}

.kontaktImgTop
{
  width:30px; 
  padding-top:0.3rem;
}

.navbar-toggler 
{
  margin-right: 16px !important;
}

.trennIcon
{
  width:20px;
}

/*  gallery  */

.photo-gallery {
  color:#313437;
  background-color:#fff;
}

.photo-gallery p {
  color:#7d8285;
}

.photo-gallery h2 {
  font-weight:bold;
  margin-bottom:40px;
  padding-top:40px;
  color:inherit;
}

@media (max-width:767px) {
  .photo-gallery h2 {
    margin-bottom:25px;
    padding-top:25px;
    font-size:24px;
  }
}

.photo-gallery .intro {
  font-size:16px;
  max-width:500px;
  margin:0 auto 40px;
}

.photo-gallery .intro p {
  margin-bottom:0;
}

.photo-gallery .photos {
  padding-bottom:20px;
}

.photo-gallery .item {
  padding-bottom:30px;
}

.moduleimagebtn-action
{
  margin-left:0px !important;
  margin-right:0px !important;
}

.moduleimage img
{
  padding:0px !important;
}

.img
{
  max-width:100%;
}

.imgSmallStartseite
{
  width:100px;
  border: 2px solid RGBA(173,255,47,0.5);
}

.imgSmallStartseite:hover
{
  border: 3px solid RGBA(173,255,47,1);
}

.imgGreyWidthHover
{
  -webkit-filter: grayscale(1);
  filter: grayscale(1);
}

.imgGreyWidthHover:hover
{
  -webkit-filter: grayscale(0);
  filter: grayscale(0);
}

/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button 
{
  -webkit-appearance: none;
  margin: 0;
}

/* Firefox */
input[type=number] 
{
  -moz-appearance: textfield;
}

.form-check-input:checked 
{
  background-color: #74C958;
  border-color: #74C958;
}

.videoRahmen
{
  border: 1px solid grey;
}

/*  Tabellenlayout  */

div { hyphens: auto!important; }
.titelGlobal { background-color:#d9edf7; }
.titelLokal { display:none; background-color:#CCCCCC; }
.zeilenthema { background-color: rgba(173,255,47,0.2); }
.rahmenUnten { border-bottom:1px solid grey; }

@media (max-width: 575px) 
{
  .titelGlobal { display: none; }
  .titelLokal { display:block; background-color:#d9edf7; }
} 

.dreiD
{
  border: 1px solid grey;
}
