/*GENERAL*/

*,
*:before,
*:after {
  border: 0px;
  padding: 0px;
  margin: 0px;
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
}

html {
  max-width: 100%;
  min-width: 100%;
}

@keyframes fadein {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

body {
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  margin-bottom: 10px;
  font-size: 0.9rem;
  text-rendering: optimizeLegibility;
  line-height: 1.3rem;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  max-width: 100%;
  min-width: 100%;
}

h1 {
  font-weight: 800;
  display: inline-block;
}

h2 {
  color: rgb(196, 35, 19) !important;
  font-weight: 400;
  font-size: 2rem;
  text-transform: uppercase;
  margin-bottom: 45px;
  margin-top: 0px;
  display: block;
  line-height: 2.4rem;
}

h3 {
  color: black !important;
  font-weight: 700;
  font-size: 1rem;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
  color: black;
}

a {
  text-decoration: none;
  color: white;
  font-weight: 400;
  color: rgb(196, 35, 19) !important;
}

a:hover {
  text-decoration: underline;
}

img {
  width: 100%;
}

figcaption {
  font-size: 0.8rem;
  height: 25px;
}

a {
  text-decoration: none;
  color: rgba(60, 65, 80, 1);
}

ol li {
  margin-bottom: 20px;
  list-style-position: outside;
}

ol {
  padding-left: 25px;
}

ul li {
  list-style: none;
  list-style-type: none;
}

p {
  margin-bottom: 1rem;
}

strong {
  font-weight: bold;
  color: black;
}

iframe {
  min-width: 100% !important;
  min-height: 600px;
  margin-bottom: 40px;
}

iframe:empty {
  display: block;
}

table {
  background: rgb(239, 239, 239);
  margin-top: 5px;
  margin-bottom: 1rem;
  border-collapse: collapse;
  max-width: 100%;
  min-width: 100%;
  margin-top: 40px;
}

td {
  padding: 10px;
  border-bottom: none;
  min-height: 50px;
  width: auto;
  word-wrap: none;
  text-align: left;
}

tr:hover {
  background: silver;
}

tr {
  border-bottom: 3px solid white;
}

th {
  height: 50px;
  padding: 10px;
  text-align: left;
}

em {
  margin: 1.3rem 0 1.3rem 0;
  display: block;
}

div.caption {
  font-size: 0.7rem;
}

.debug {
  outline: 2px solid red;
}

/*//////////////////////////////////////////*/

/* V I D E O */

figure.video iframe {
  min-height: 480px;
  margin-top: 20px;
}

/*//////////////////////////////////////////*/

/* W R A P P E R */

#wrapper {
  min-width: 100%;
  max-width: 100%;
}

.only-mobile {
  display: none;
}

/*//////////////////////////////////////////*/

/* M A I N */

main {
  margin: 0px auto;
  padding: 0 0 50px 0;
}

/*//////////////////////////////////////////*/

/* A S I D E */

aside {
  margin-top: 122px;
}

aside figcaption:empty {
  display: none;
}

aside ul li img {
  display: inline-block !important;
}

/*//////////////////////////////////////////*/

/* H E A D E R */

/*//////////////////////////////////////////*/

header {
  position: relative;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  min-width: 100%;
  min-height: 2vh;
  max-height: 15vh;
}

header:has(ul#slider) {
  position: relative;
  background-repeat: no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  min-width: 100%;
  min-height: 60vh;
}

header div#header-content {
  margin: 0px auto;
  height: 100%;
  position: relative;
}

header div#button-set {
  background: none;
  position: absolute;
  right: 0px;
  top: 0px;
}

header div#button-set div.button-calc {
  width: fit-content;
  display: none !important;
}

header div#button-set div.button-tel {
  width: fit-content;
}

header div#button-set div.banner {
  background: black;
  color: white;
  font-size: 1.3rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
}

header div#button-set div.banner a {
  color: white !important;
  width: fit-content;
}

header div#button-set div.banner img.calc {
  max-width: 50px;
  width: 50px;
  margin: 0 20px 0 0;
}

header div#button-set div.banner img.tel {
  max-width: 20px;
  width: 20px;
  margin: 0 20px 0 0;
}

header div#button-set div.button-tel {
  background: red;
}

header div#logo img {
  max-width: 150px;
  margin-top: 2vh;
}

header:has(ul#slider) div#logo img {
  max-width: 200px;
  margin-top: 10vh;
}

#mobile-header-image {
  display: none;
}

/* C O N T E N T */

#content {
  position: relative;
  margin: 40px 0 40px 0;
  padding: 0 40px 0 0;
  animation: fadein 3s;
}

#content a {
  color: blue;
}

#content a:hover {
  color: blue;
}

#content ul li {
  list-style: disc;
  list-style-position: outside;
  margin-left: 20px;
}

#content ul {
  margin: 20px 0px 20px 0px;
}

/*//////////////////////////////////////////*/

/* F O O T E R */

footer {
  background: rgb(56, 58, 64);
}

footer div#footer-content {
  margin: 0px auto;
  padding: 10px;
  color: white;
}

footer div#footer-content ul h2 {
  text-transform: uppercase;
  color: rgb(100, 100, 100) !important;
  font-size: 1.2rem;
  font-weight: 100;
  margin-bottom: 18px;
}

footer div#footer-content ul li h2:empty {
  text-transform: uppercase;
  color: rgb(100, 100, 100) !important;
  height: 2.4rem;
  font-weight: 100;
  margin-bottom: 18px;
}

footer div#footer-content ul li strong {
  color: white;
}

footer div#footer-content ul li a {
  color: white !important;
}

footer div#footer-content ul li:empty {
  height: 1.2rem;
}

footer div#footer-content ul li a img {
  max-width: 60px !important;
  min-width: 60px !important;
  margin-bottom: 15px;
}

footer div#footer-content ul:nth-child(3) li a img {
  max-width: 30px !important;
  min-width: 30px !important;
}

footer div#footer-content ul#social li.strava a img {
  min-width: 70px !important;
}

/*//////////////////////////////////////////*/

/* T E M P L A T E: H O M E */

div#chat-button {
  position: fixed;
  top: -2000000px;
}

body#home div.ads {
  min-height: 20px;
  overflow: hidden;
  margin: 0 0 50px 0;
}

body#home div.ads span a {
  position: absolute;
  color: rgb(248, 248, 250) !important;
  font-size: 2rem;
  padding: 20px;
}

body#home div#content {
  min-width: 100%;
  padding: 0px;
}

body#home div#content article {
  background: gray;
  height: 355px;
  min-width: 220px;
  position: relative;
}

body#home div#content article a {
  color: white !important;
}

body#home div#content article h1 {
  text-align: center;
  margin: 0px auto;
  min-width: 100%;
  text-transform: uppercase;
  color: white !important;
  font-weight: 100 !important;
  font-size: 1.3rem;
  margin-top: 20px;
}

body#home #content ul li {
  list-style: none !important;
  margin-left: 0px;
}

body#home #content ul {
  margin: 0px 0px 0px 0px;
}

body#home div#content article h1 + img {
  display: block;
  margin: 0px auto;
}

body#home div#content article p {
  margin: 0px auto;
  position: absolute;
  left: 0px;
  bottom: 100px;
  width: 100%;
  text-align: center;
  font-weight: 100;
}

body#home div#content article p + p {
  position: absolute;
  left: 0px;
  bottom: 60px;
  width: 100%;
  text-align: center;
  color: white !important;
  font-size: 1.2rem;
  font-weight: bold;
}

body#home div#content article ul li img {
  max-width: 25px !important;
  min-width: 25px !important;
}

body#home div#content article ul {
  position: absolute;
  bottom: 0px;
  min-width: 100%;
  border-top: 2px solid white;
  padding-top: 10px;
  padding-bottom: 10px;
}

body#home div#content article:nth-child(1) h1 + img {
  max-width: 75px !important;
  min-width: 75px !important;
  margin-top: 30px;
}

body#home div#content article:nth-child(2) h1 + img {
  max-width: 165px !important;
  min-width: 165px !important;
  margin-top: 20px;
}

body#home div#content article:nth-child(3) h1 + img {
  max-width: 165px !important;
  min-width: 165px !important;
  margin-top: 20px;
}

body#home div#content article:nth-child(4) h1 + img {
  max-width: 145px !important;
  min-width: 145px !important;
  margin-top: 20px;
}

body#home div#content article:nth-child(5) h1 + img {
  max-width: 145px !important;
  min-width: 145px !important;
  margin-top: 20px;
}

body#home div#content article:nth-child(6) h1 + img {
  max-width: 145px !important;
  min-width: 145px !important;
  margin-top: 20px;
}

body#home div#content article ul li {
  color: white;
}

body#home div#content article ul li:nth-child(2) {
  margin-left: 15px;
  font-weight: 100;
}

body#home div#content article:nth-child(1) {
  background: rgb(200, 132, 0);
}

body#home div#content article:nth-child(2) {
  background: rgb(73, 165, 167);
}

body#home div#content article:nth-child(3) {
  background: rgb(86, 95, 110);
}

body#home div#content article:nth-child(4) {
  background: rgb(144, 140, 128);
}

/*//////////////////////////////////////////*/

/* T E M P L A T E:T E A M; */

body#team div#content {
  min-width: 100%;
  padding: 0px 0 20px 0;
}

body#team div#content article h2 {
  color: black !important;
  font-size: 1rem;
  font-weight: bold;
  margin: 0px 0px 0px 0px !important;
  padding: 0px !important;
}

body#team div#content article h3 {
  color: black !important;
  font-size: 0.9rem;
  margin: 0px 0px 0px 0px !important;
  padding: 0px !important;
}

body#team div#content article em {
  color: black !important;
  font-size: 0.9rem;
  margin: 0px 0px 0px 0px !important;
  padding: 0px !important;
  font-style: italic;
}

body#team div#content article {
  padding: 0px 0px 40px 0px;
}

body#team div#content article div.portrait div {
  min-width: 100%;

  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  display: none;
}

body#team div#content article div.portrait {
  overflow: hidden;
  margin: 0 0 10px 0;
  display: block;
  height: 390px;
  max-height: 390px;
  width: 100%;
}

body#team div#content article div.titel {
  display: block;
}

section.partner {
  margin: 100px 0 0 0;
}

section.partner ul {
  list-style: none !important;
}

section.partner ul li {
  width: 70px;
  margin: 0px 40px 0 0;
  list-style: none !important;
  list-style: none !important;
  list-style-type: none !important;
}

section.partner ul li a img {
  width: 100%;
}

/*//////////////////////////////////////////*/

/* HAUSLIEFERUNG; */

#hauslieferung div#cover-image {
  margin: 50px 0 0 0;
  display: none;
}

#sponsoren {
  margin: 100px 0 0 0;
}

#sponsoren ul li {
  list-style-type: none !important;
  width: 70px;
  margin: 0px 40px 0 0;
}

/*//////////////////////////////////////////*/

/* T E M P L A T E: N E T Z; */

body#netz div#netz-image {
  background: rgb(86, 95, 110);
  padding: 20px;
  margin-bottom: 50px;
}

body#netz table a {
  margin: 5px 0px -15px 0px;
  display: block;
}

/*/ /////////////////////////////////////////*/

/* N A V I G A T I O N */

nav {
  position: relative;
}

nav ul li a {
  color: rgb(153, 153, 153) !important;
  text-transform: none;
}

div#menu-wrapper {
  min-width: 100%;
  background: rgb(56, 58, 64);
}

div#menu {
  margin: 0px auto;
  padding: 20px 0px 20px 0px;
  position: relative;
  overflow: visible;
}

div#menu ul li a {
  text-transform: uppercase;
  font-size: 1.2rem;
}

div#menu ul#mainmenu {
  margin: 0 0px 0 -25px;
}

div#menu .submenu-wrapper {
  display: none;
  position: fixed;
  z-index: 200000;
  left: 0px;
  top: 32px;
  padding: 20px;
  background: none;
  min-width: 100vw;
}

div#menu .submenu-wrapper div.submenu-wrapper-inner {
  background: rgb(238, 238, 238);
  min-width: 100vw;
  margin: 10px 0 0 -20px;
}

div#menu ul li:hover .submenu-wrapper {
  display: flex;
}

div#menu ul li .submenu-wrapper:hover {
  display: flex;
}

div#menu .submenu-wrapper .submenu {
  margin: 0 0 0 -60px;
  padding: 20px 0 20px 0;
}

div#menu a:hover {
  color: white !important;
}

div#menu a.active {
  color: white !important;
}

div#menu a {
  text-decoration: none;
}

div#menu ul li {
  margin-left: 20px;
}

nav div#menu div#metamenu ul li .active:after {
  display: none;
}

nav div#metamenu {
  max-width: 340px !important;
  min-width: 340px !important;
}

nav div#metamenu ul#meta {
  max-width: 220px;
  min-width: 220px;
}

nav div#metamenu ul#lang {
  margin: 0px;
}

nav div#metamenu ul#lang li.active a {
  color: white !important;
}

nav div#metamenu li a {
  text-transform: none !important;
  font-size: 1rem !important;
}

nav ul#metamenu li {
  margin: 0px;
}

nav div#logo {
  -webkit-align-self: center;
  -ms-flex-item-align: center;
  align-self: center;
}

nav #logo img {
  display: block;
  min-width: 100%;
}

div#menu div.submenu a:hover {
  color: rgb(39, 38, 38) !important;
}

div#menu div.submenu a.active {
  color: rgb(39, 38, 38) !important;
}

nav div.submenu ul.submenu-column {
  display: block;
  margin: 0px 12px 0 0;
  padding: 0px 0px 0px 0px;
  max-width: 200px;
  min-width: 240px;
}

nav div.submenu ul.submenu-column li {
  display: block;
  margin: 0px 0 15px 0px;
}

nav div.submenu ul.submenu-column li:last-child {
  margin: 0px 0 5px 0px;
}

nav div.submenu ul.submenu-column li a {
  color: rgb(153, 153, 153) !important;
}

nav div.only-mobile ul.submenu-column li:empty {
  display: none;
}

nav div ul a {
  margin-left: 8px;
}

nav div ul a.active {
  color: yellow;
  margin-left: 8px;
}

nav input[type="checkbox"] {
  display: none;
}

nav span.mobile-navigation-button-close img {
  max-width: 50px !important;
  min-width: 50px !important;
  height: 50px !important;
  display: block;
  position: fixed;
  margin-top: -10px;
  right: 30px;
  display: none;
}

nav span.mobile-navigation-button-open img {
  max-width: 50px !important;
  min-width: 50px !important;
  height: 50px !important;
  display: block;
  position: absolute;
  right: 20px;
  display: none;
}

nav span.mobile-navigation-button-close {
  cursor: pointer;
}

nav span.mobile-navigation-button-open {
  cursor: pointer;
}

header {
  position: relative;
  overflow: hidden;
}

#slider {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0;
}

#slider li {
  list-style: none;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity 1s ease;

  list-style: none;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: top center;
}

#slider li.active {
  opacity: 1;
}

#slider li:first-child {
  display: block;
}

form ul li {
  text-decoration: none !important;
  margin: 0 0 0px -200px !important;
  min-width: 100% !important;
}

/*autocomplete*/

.result-container .items {
  background: pink;
  padding: 7px;
}

@media screen and (min-width: 0px) and (max-width: 900px) {
  /*//////////////////////////////////////////*/
  /* G E NE R A L */
  h2 {
    font-size: 1.2rem;
  }

  /*//////////////////////////////////////////*/
  /* M A I N */
  main {
    max-width: 100%;
    min-width: 100%;
    padding: 0 0 50px 0;
  }

  /*/ /////////////////////////////////////////*/
  /* C O N T E N T */
  /*//////////////////////////////////////////*/
  #content {
    position: relative;
    margin-bottom: -40px;
    margin-top: 60px;
    padding: 10px 10px 10px 10px;
  }

  #content a {
    color: blue;
  }

  #content a:hover {
    color: blue;
  }

  #content ul li {
    list-style: disc;
    list-style-position: outside;
    margin-left: 20px;
  }

  #content ul {
    margin: 20px 0px 20px 0px;
  }

  aside {
    margin: 100px 0 0 0 !important;
  }

  #hauslieferung div#cover-image {
    margin: 50px 0 0 0;
    display: block;
  }

  #hauslieferung div#content {
    margin: 0px 0 0 0;
  }

  /*/ /////////////////////////////////////////*/
  /* F O O T E R */
  footer div#footer-content ul {
    min-width: 100%;
    max-width: 100%;
    margin: 0px 0px 40px 0px;
  }

  footer div#footer-content {
    display: block;
  }

  footer div#footer-content ul#times {
    margin: -70px 0px 40px 0px;
    padding: 0px;
  }

  footer div#footer-content ul#social li:first-child {
    max-width: 100%;
    display: block;
  }

  footer div#footer-content ul#social li {
    min-width: 45px;
    display: inline-block;
  }

  footer div#footer-content ul#partner li:first-child {
    max-width: 100%;
    display: block;
  }

  footer div#footer-content ul#partner li {
    min-width: 80px;
    display: inline-block;
  }

  /*//////////////////////////////////////////*/
  /*N A V I G A T I O N*/

  header {
    position: fixed;
    z-index: 1;
    background-image: none !important;
    min-height: 50px !important;
    max-height: 50px !important;
    overflow: hidden;
    min-width: 80vw !important;
    max-width: 80vw !important;
  }

  div#header-content {
    position: relative;
    max-height: 100px;
    min-height: 100px;
    width: 80vw !important;
  }

  header div#button-set {
    position: fixed;
    right: 80px;
    top: 15px;
    max-height: 20px;
  }

  header div#button-set div.button-tel {
    max-height: 20px;
    font-size: 1rem;
    height: 20px;
    padding: 3px;
    background: none;
  }

  header div#button-set div.button-tel img {
    display: none;
  }

  #mobile-header-image {
    margin: 0px 0;
    display: block;
    height: 400px;
    max-width: 100%;
  }

  div#logo {
    display: none;
  }

  div#logo-mobile {
    position: fixed;
    left: 20px;
  }

  div.only-mobile {
    height: 50px;
    margin: -40px 0px 0px 10px;
    z-index: 2;
    position: absolute;
    display: table;
  }

  div.only-mobile img {
    min-width: 80px;
    max-width: 80px;
    margin-top: 50px;
  }

  nav input[type="checkbox"] {
    display: none;
  }

  nav span.mobile-navigation-button-open img {
    max-width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    display: block;
    position: fixed;
    z-index: 40000000;
    margin-top: 0px;
  }

  nav span.mobile-navigation-button-open {
    cursor: pointer;
    display: block;
    max-width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
  }

  nav {
    position: fixed;
    left: 0px;
    z-index: 1;
    max-width: 100vw;
    min-width: 100vw;
    min-height: 50px;
    max-height: 50px !important;
    background: black;
  }

  div#menu ul#mainmenu {
    margin: 0 0px 0 0px;
  }

  nav div#navigation-content {
    display: none;
    font-size: 1.2rem;

    max-width: 100vw;
    min-width: 100vw;
  }

  nav #menu-wrapper {
    margin: 0px;
    padding: 0px;
  }

  nav #menu {
    margin: 0px;
    padding: 0px;
    max-width: 100vw;
    min-width: 100vw;
  }

  #mainmenu {
    margin: 0px;
    padding: 20px 0;
    max-width: 100vw;
    min-width: 100vw;
  }

  #mainmenu li {
    margin: 0px 0 10px 0;
    padding: 0px;
    display: block !important;
    max-width: 100vw;
    min-width: 100vw;
  }

  div#menu .submenu-wrapper .submenu {
    margin: 0 0 0 0px;
    padding: 0px 0 0px 0;
  }

  div#menu ul li .submenu-wrapper:hover {
    display: flex !important;
  }

  nav div.submenu ul.submenu-column {
    display: block;
    margin: 0px 0px 0 0;
    padding: 0px 0px 0px 0px;
    max-width: 100vw;
    min-width: 100vw;
  }

  div#menu .submenu-wrapper {
    display: none;
    position: relative;
    margin: -20px 0 40px 0px;
    padding: 0px;
    background: none;
    min-width: 100vw;
  }

  .submenu ul {
    display: block;
    max-width: 100vw;
    min-width: 100vw;
    margin: 0px 0px 0px 0px;
    padding: 0px;
    background: none !important;
  }

  div#menu .submenu-wrapper div.submenu-wrapper-inner {
    background: none;
    min-width: 100vw;
    margin: 0px 0px 0 0px;
    padding: 0px;
  }

  nav #menu #metamenu {
    margin: 0px;
    padding: 0px;
    display: block;
    max-width: 100vw;
    min-width: 100vw;
    background: none !important;
  }

  nav #menu #metamenu #meta {
    margin: 0px;
    padding: 0px;
    display: block;
    max-width: 100vw;
    min-width: 100vw;
    background: none !important;
  }

  /*WHEN CLICKED*/

  nav #mobile-navigation-button:checked ~ div#navigation-content {
    display: block;
    min-height: 100vh;
    max-width: 100vw;
    min-width: 100vw;

    background: rgb(56, 58, 64);
  }

  /*//////////////////////////////////////////*/
  /* T E M P L A T E: T E A M */

  body#team div#content {
    padding: 0px 0 20px 0;
  }

  body#team div#content article div.portrait {
    overflow: none !important;
    height: fit-content;
    max-height: fit-content;
    display: block;
    width: 100vw;
    position: relative;
    content: content;
  }

  body#team div#content article div.portrait img {
    display: block;
    height: auto;
    width: 100vw;
  }

  body#team div#content article div.titel {
    display: block;
    padding: 10px;
    background: white;
    position: relative;
  }

  .only-desktop {
    display: none;
  }

  /*//////////////////////////////////////////*/

  /* T E M P L A T E: H O M E */

  div#chat-button a {
    right: -2000px;
    color: white !important;
  }

  div#chat-button {
    background: none;
    color: white;
    width: fit-content;
    position: fixed;
    top: 80%;
    right: 0px;
    z-index: 10000;
    font-size: 1.2rem;
    vertical-align: middle;
  }

  div#chat-button span.icon {
    background: rgb(8, 235, 8);
    height: auto;
    padding: 10px 10px 10px 20px;
    display: inline-block;
    border-radius: 30px 0px 0px 30px;
    vertical-align: middle;
    margin: 0 -10px 0 0px;
  }

  div#chat-button span.text {
    padding: 12px;
    background: black;
    vertical-align: middle;
  }

  div#chat-button img {
    width: 25px;
  }
}
