/* -- FONTS ----------------------------------------------------------------- */
/* open-sans-300 - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 300;
  src: url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Light'), local('OpenSans-Light'),
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-300.svg#OpenSans') format('svg'); /* Legacy iOS */
}
/* open-sans-regular - latin */
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-display: swap;
  font-weight: 400;
  src: url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Open Sans Regular'), local('OpenSans-Regular'),
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../../../../../lib/fonts/open-sans/open-sans-v17-latin-regular.svg#OpenSans') format('svg'); /* Legacy iOS */
}

/* -- LAYOUT --------------------------------------------------------------- */

:root {
  --cl-logo: #ca1d24;
  --cl-text: #333333;

/* Überschriften */

  --cl-h1: #000000;
  --cl-h2: #333333;
  --cl-h3: #333333;
  --cl-h4: #333333;
  --cl-h5: #333333;
  --cl-h6: #333333;

  --fs-h1: 2.4rem;
  --fs-h2: 2.0rem;
  --fs-h3: 1.7rem;
  --fs-h4: 1.4rem;
  --fs-h5: 1.2rem;
  --fs-h6: 1.0rem;


  --cl-bg: #ffffff;
  --cl-body-bg: #dddddd;
  --cl-line: #555555;
  --cl-middle: #666666;
  --cl-light: #333333;

  --cl-link: var(--cl-logo);
  --cl-link-hover: var(--cl-text);

  --cl-navbg: var(--cl-bg);
  --cl-navlink: #000;
  --cl-navlinkhover: #fff;
  --cl-navlinkhoverbg: #575757;

  --cl-highlight: #ff1c32;

  --footer-width: 1180px;
  --cl-footer-text: #ffffff;
  --cl-footer-bg: var(--cl-body-bg);

/* ersetzen */
  --cl-logolight: #ca1d2440;
  --cl-logodark: #ca1d24ff;
  --cl-bglight: #f*fffff;
  --cl-bgdark: #333333;
  --cl-border: #555555;
  --cl-borderlight: #555555;
  --cl-borderdark: #555555;
}

.round {
    border-radius: 20px;
    overflow: hidden;
}

.se-boxen-boxen-004 .tile {
    border-radius: 20px;
    overflow: hidden;
    background: #efefef !Important;
}

html { position: relative; height: 100%; min-height: 100%; margin: 0; padding: 0; scroll-behavior: smooth; font-size: 100%; }

body {
  font-size: 1rem;
  color: #333;
  background: transparent;
  
  height: 100%; min-height: 100%;
}


body {
  --sb-track-color: #e6e6e6;
  --sb-thumb-color: #cc292f;
  --sb-size: 9px;
}

body::-webkit-scrollbar {
  width: var(--sb-size)
}

body::-webkit-scrollbar-track {
  background: var(--sb-track-color);
  border-radius: 3px;
}

body::-webkit-scrollbar-thumb {
  background: var(--sb-thumb-color);
  border-radius: 3px;

}

@supports not selector(::-webkit-scrollbar) {
  body {
    scrollbar-color: var(--sb-thumb-color)
                     var(--sb-track-color);
  }
}

a {
    color: var(--cl-logo);
    text-decoration: underline;
}
a:hover {
    color: #000;
}

a.btn {
  -webkit-transition: all 0.7s ease-in-out;
  -moz-transition: all 0.7s ease-in-out;
  -ms-transition: all 0.7s ease-in-out;
  transition: all 0.7s ease-in-out;
  text-decoration: none;
}

/* -- HEADER ---------------------------------------------------------------- */
:root {
  --header-height: 80px;
  --header-down: -100px;
}

header {
   height: var(--header-height);
   background-color: #efefef;
   display: flex;
   justify-content : space-between;
   box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
   position: fixed;
   top:0;
   right:0;
   left:0;
   z-index: 9999;
   transition: transform 0.5s 0.1s ease-in-out;
   border: 0px solid #ddd;
   width: 90%;
   margin: 0 auto;
   margin-top: 10px;
   margin-bottom: 10px;
   border-radius: 20px;
   padding-left: 20px;
   padding-right: 20px;
}
.down header { transform: translate3d(0, var(--header-down), 0); }

.logo a.logo-txt {
  display: block;
  font-size: 36px;
  color: #000;
  width: 100%;
  margin-left: 0px;
  padding-top: 10px;
  padding-bottom: 20px;
}
.logo a.logo-img img {
  max-width: 180px;
  margin-top: 24px;
  margin-bottom: 20px;
}
.logo a { text-decoration: none; }

.navbar { background: transparent;  margin: 0 auto;  padding: 0;  border-radius:0; width: 100%; }
.navbar .nav { padding-top: 12px; }
.navbar a { border-radius:10px; }
.navbar ul li a { color: #333; text-decoration: none; }
.navbar ul > li.active > a { color: #fff;  background: #000; }
.navbar ul > li > a:hover { color: #fff;  background: #000; }
.navbar ul > li.open > a:focus { color: #fff;  background: #000; }
.navbar .nav .open > a { color: #fff;  background: #999999; }
.navbar ul.dropdown-menu { padding: 4px; background: #fff; color: #333; border: 0;}
.navbar .navbar-toggle { background: #000;  color:#fff;  margin-top:17px; }
.navbar .navbar-toggle .icon-bar { background:#fff; }

ul.cart-nav li a  { padding: 3px 3px; }
ul.cart-nav li a i { color: #333; font-size: 18px; }

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1600px) {}

/* Medium Devices, Desktops */
@media only screen and (max-width : 1170px) {
  .logo a.logo-img img { width: 200px; margin-top: 14px; margin-left: 15px; }
}

/* Small Devices, Tablets */
@media only screen and (max-width : 1024px) {
  header { width: auto; margin-left: 10px; margin-right: 10px; }
  .navbar { width: 100%; }
  .logo a.logo-img img { margin-top: 25px; }
  .navbar-collapse.collapse.in { margin: 0; border: 0; background: #efefef;  width: 100%; transition: none;}
}

/* Extra Small Devices, Phones */
@media only screen and (max-width : 480px) {
  .logo a.logo-img img { width: 120px; margin-top: 30px; }
}

/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {}

@media only screen and (min-width : 768px) {
  /* Make Navigation Toggle on Desktop Hover */
  .dropdown:hover .dropdown-menu { display: block; }
}

/* NAV Breakpoint */
/*
@media only screen and (min-width: 768px) {
    .collapse { display: block; }
}
@media only screen and (max-width: 768px) {
     .collapse { display: none; }
}
*/

@media (max-width: 1280px) {
    .navbar-header {
        float: none;
    }
    .navbar-toggle {
        display: block;
    }
    .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.1);
    }
    .navbar-collapse.collapse {
        display: none!important;
    }
    .navbar-collapse.collapse.in {
        display: block!important;
    }
    .navbar-nav {
        float: none!important;
        margin: 7.5px -10px;
    }
    .navbar-nav>li {
        float: none;
    }
    .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
}


#page {
  height:100%;
  width: 100%;
  display: grid;
  grid-template-rows: var(--header-height) 1fr 100px;
  grid-template-columns: 100%;                                                                                                      
  grid-template-areas: "header" "content" "footer";
}

header { grid-area: header; }
footer { grid-area: footer; }

#wrapper {
  width: 100%;
  grid-area: content;
  background: transparent;
  padding: 0;
  position: relative;
  z-index: 9;
  padding-bottom: 100px;
}

.container { width: 1180px; padding: 0; }

.container div.se-cont.container { width: 100% !Important; }
.se-row { margin-right: -15px; margin-left: -15px; }

/* -- ÜBERSCHRIFTEN --------------------------------------------------------- */
h1, h2, h3, h4, h5, h6 {
  font-family: "Open Sans","Lucida Sans","Lucida Grande","Lucida Sans Unicode",Calibri,sans-serif;
  font-weight: 300;
  line-height: 1.2;
  margin: 0 0 0.25em;
}
h1 { color: var(--cl-h1); font-size: var(--fs-h1); }
h2 { color: var(--cl-h2); font-size: var(--fs-h2); }
h3 { color: var(--cl-h3); font-size: var(--fs-h3); }
h4 { color: var(--cl-h4); font-size: var(--fs-h4); }
h5 { color: var(--cl-h5); font-size: var(--fs-h5); }
h6 { color: var(--cl-h6); font-size: var(--fs-h6); }
.se-section h1, .se-section h2, .se-section h3, .se-section h4, .se-section h5 { margin-top: 0; }

/* -- SOCIAL ---------------------------------------------------------------- */
.social {}
.social li a i { color: #333 }
.social li a:hover i { color: #000 }

/* -- RECHTLICHES ----------------------------------------------------------- */
.rechtliches p { margin: 0; padding: 0; margin-bottom: 6px;}
.rechtliches p a { margin: 0; padding: 0; }

.recht-detail {
    margin-bottom: 30px;
    background-color: #efefef;
    width: 100% !Important;
    margin: 0 auto;
    border-radius: 20px;
    padding: 20px;
    overflow: hidden;
}
.recht-detail h2 { font-size: 20px; font-weight: 500; margin-top: 20px; }
.recht-detail h3 { font-size: 20px; font-weight: 500; margin-top: 20px; }
.recht-detail h4 { font-size: 18px; font-weight: 500; margin-top: 20px; }

/* -- FOOTER ---------------------------------------------------------------- */
footer {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding-top: 20px;
  padding-bottom: 10px;
  background-color: #efefef;
  color: #333;
  font-size: 16px;
  height: fit-content;
}

.footer-wrap {
  width: var(--footer-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
}
.copyright { grid-column: span 4; text-align: center; }

footer h4 { color: #000; border-bottom: 1px dotted #ddd; padding-bottom: 3px; }
footer a,
footer a:link,
footer a:active,
footer a:visited { color: #333; font-size: 15px; text-decoration: none; }
footer .kontakt span { float:left; width: 55px; }

footer .copyright { padding: 10px 0 10px 0; }
footer .copyright,
footer .copyright a { color: #333; font-size: 14px; }

.in-block { display: inline-block; }

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1600px) {}

/* Medium Devices, Desktops */
@media only screen and (max-width : 1170px) {
.footer-wrap {
  width: 100%;
  grid-template-columns: 1fr;
}
.adresse       { text-align: center; }
.kontakt       { text-align: center; }
.rechtliches   { text-align: center; }
.social        { text-align: center; }

}

/* Small Devices, Tablets */
@media only screen and (max-width : 768px) {
footer { width: 100%; margin-bottom: 30px; }
.footer-wrap {
  width: 100%;
  grid-template-columns: 1fr;
}
.adresse       { text-align: center; }
.kontakt       { text-align: center; }
.rechtliches   { text-align: center; }
.social        { text-align: center; }
}


/* Extra Small Devices, Phones */
@media only screen and (max-width : 480px) {}

/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {}

@media only screen and (min-width : 768px) {

}



/* -- MEDIA-QUERIES --------------------------------------------------------- */

/* Large Devices, Wide Screens */
@media only screen and (max-width : 1600px) {}
/* Medium Devices, Desktops */
@media only screen and (max-width : 992px) {}
/* Small Devices, Tablets */
@media only screen and (max-width : 768px) { footer h4 { padding-top: 16px; } }
/* Extra Small Devices, Phones */
@media only screen and (max-width : 480px) {}
/* Custom, iPhone Retina */
@media only screen and (max-width : 320px) {}

