/* Hauptnavigation */
#shoplogo {
  z-index: 10000;
  position: absolute;
  top: 0;
  left: 0;
  max-height: 150px;
  transform: translate(0, calc(50% - 50px));
}
.hauptnavigation_left.order_first {
  position: relative;
  align-self: flex-start;
}
.hauptnavigation_bottom.order_second {
  margin-left: auto;
}
.hauptnavigation_right {
  flex-basis: 220px;
}
@media (max-width: 991px) {
  .hauptnavigation_right {
    flex-basis: 300px;
  }
}
header.hauptnav_td .dl-menuwrapper > ul > li:first-child {
  padding-top: 20px;
}
@media (max-width: 1200px) {
  #shoplogo {
    max-height: 100px;
  }
  div.top_titel {
    margin: 50px 100px 50px 0;
  }
}
@media (max-width: 991px) {
  #shoplogo {
    top: 0;
  }
  .hauptnav_td .container {
    width: 100%;
  }
}
header .plz_anzeige:hover {
  cursor: pointer;
}
.plz_anzeige {
  display: none;
}
.shop_table > .container {
  padding-top: 50px;
}
.navbar-header-flex .right {
  display: flex;
}

/* Sprachen */
.hauptnav_td div.ibox.language_container {
  display: flex;
  align-items: center;
  height: 100px;
  font-size: 0;
}
.hauptnav_td div.ibox.language_container div.ibox_content > a.ibox_content.active {
  background-color: #A2DAF4;
}
.hauptnav_td div.ibox.language_container div.ibox_content > a.ibox_content:not(.active):hover {
  background-color: #865642;
}
.hauptnav_td div.ibox.language_container div.ibox_content > a.ibox_content {
  width: 30px;
  height: 30px;
  border: 0;
  margin: 0 5px;
  padding: 0;
  border-radius: 100%;
  background-color: #707070;
  color: #FFFFFF;
  font-weight: 400;
  line-height: 28px;
  text-align: center;
}
.hauptnav_td div.ibox.language_container div.ibox_content > a.ibox_content:last-child {
  margin-right: 0;
}


/* Slidemenu */
.hauptnav_slidemenu > #hauptnavigation {
  display: none;
}
.sf-menu ul {
  min-width: auto;
}
.hauptnav_slidemenu ul.sf-menu > li > ul > li > a,
.hauptnav_slidemenu ul.sf-menu > li > ul > li > a:visited {
  padding: 10px 15px;
}
.navbar-header-flex {
  font-size: 0;
}
.navbar-brand > img#shoplogo_xs {
  height: 50px;
  position: relative;
  top: 15px;
  padding: 0 15px;
}
header.hauptnav_td .navbar-toggle {
  padding: 0 15px;
}
@media (min-width: 768px) {
  header.hauptnav_td .dl-menuwrapper > ul > li:first-child {
    padding-top: 30px;
  }
  header.hauptnav_td .dl-menuwrapper > ul {
    top: 102px;
  }
  header.hauptnav_td .navbar-toggle.desktop {
    display: block;
    float: none;
    padding: 0;
    margin: 0 0 0 20px;
    height: 100px;
  }
  header.hauptnav_td .navbar-toggle .icon-bar {
    height: 2px;
  }
  .navbar-toggle .icon-bar+.icon-bar {
    margin-top: 6px;
  }
}


/* Schriften / Titel */
h1.content,
h1.content a:link,
h2.heading-1 {
  font-size: 44px;
}
h2.content,
h1.heading-2 {
  font-size: 38px;
}
h1.content + h2.content,
h1.content + h3.content,
h1.content + h4.content {
  margin-top: -20px;
}
strong, b {
  font-weight: 600;
}

/* Footer */
footer {
  padding-bottom: 0;
}
footer a.btn {
  font-size: 24px;
}
footer h2.content {
  font-size: 30px;
}
.sub_footer_top {
  margin-bottom: 0;
}
.sub_footer_top .cell:nth-child(2) p.cell_content {
  margin-top: 28px;
}
.sub_footer_top .cell:nth-child(2) .cell_content.btn {
  font-size: 30px;
  padding: 0;
}
.sub_footer_top .cell:nth-child(2) .cell_content.btn > span:before {
  content: "\f437";
}
.sub_footer_top .cell:nth-child(2) .cell_content.btn:nth-child(2) > span:before {
  content: "\f344";
}
.sub_footer_top .cell:nth-child(2) .cell_content.btn:nth-child(3) {
  margin-right: 0;
}
.sub_footer_top .cell:nth-child(2) .cell_content.btn:nth-child(3) > span:before {
  content: "\f472";
}


/* Bäckereiern - Accordion (nur kundenseitig) */
.content_td .bg_wrapper.cms_collapse .container {
  transition: all ease-in-out .6s;
  position: relative;
  overflow: hidden;
}
.content_td .bg_wrapper.cms_collapse .row + .row {
  position: absolute;
  width: 100%;
  transition: all ease-in-out .6s;
  opacity: 0;
  pointer-events: none;
}
.content_td .bg_wrapper.cms_collapse .row + .row.opened {
  opacity: 1;
  pointer-events: auto;
}
.content_td .bg_wrapper.cms_collapse h2.content {
  z-index: 1;
  cursor: pointer;
  position: relative;
}
.content_td .bg_wrapper.cms_collapse .row:first-child .cell:hover,
.content_td .bg_wrapper.cms_collapse .cell.opened {
  background-color: #73C8E611;
}
.content_td .bg_wrapper.cms_collapse h2.content:hover {
  opacity: .8;
}
.content_td .bg_wrapper.cms_collapse h2.content:before {
  transition: transform ease-in-out .3s;
  color: #73c8e6;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translate(0,-50%);
  content: "\f282";
  font-family: bootstrap-icons;
}
.content_td .bg_wrapper.cms_collapse .cell.opened h2.content:before {
  transform: translate(0,-50%) rotate(180deg);
}


/* Diverses */
iframe {
  border: 0;
}
.standort_iframe iframe {
  margin-top: -40px;
}

/* Grapes Quadratisch */
.bg_wrapper.quadr .row {
  justify-content: center;
}
@media (min-width: 768px) {
  .bg_wrapper.quadr .cell {
    display: flex;
    align-items: flex-end;
    flex-basis: 410px;
    flex-grow: 0;
    flex-shrink: 0;
    height: 410px;
  }
}

@media (min-width: 768px) AND (max-width: 1199px) {
  .bg_wrapper.quadr h2.content {
    font-size: 30px;
  }
  .bg_wrapper.quadr .cell {
    flex-basis: 290px;
    height: 290px;
  }
}


/* Grapes */
.cell.background_image.overlay.dark:before,
.cell.background_video.overlay.dark:before {
  background-color: transparent !important;
  background-image: linear-gradient(to bottom, transparent 70%, rgba(0,0,0,.7));
}
.cell.background_image.overlay.dark:hover:before,
.cell.background_video.overlay.dark:hover:before {
  background-color: rgba(0,0,0,.2) !important;
}
.bg_wrapper.background_image.overlay.dark:before,
.bg_wrapper.background_video.overlay.dark:before {
  background-color: rgba(0,0,0,.3);
}


.bg_wrapper h1.content a.link,
.bg_wrapper h2.content a.link,
.bg_wrapper h3.content a.link,
.bg_wrapper h4.content a.link,
.bg_wrapper h5.content a.link {
  color: inherit;
  font-weight: inherit;
  font-style: inherit;
  font-size: inherit;
  text-decoration: inherit;
}



/* Verkaufsstellen */
#map_container #map {
  margin: 20px 0 40px;
}
#map_container,
#map_container p,
#map_container a {
  font-size: 20px;
}
div#map_legend div.col-xs-12 {
  margin-top: 5px;
  margin-bottom: 5px;
}
#map_container ul.legend {
  margin-top: 40px;
}
#map_container ul.legend span {
  font-size: 22px;
  font-weight: 600;
}


/* Catering Formular */
.catering_form {
  margin-top: 40px;
}
.catering_form .element {
  clear: both;
}
.catering_form .element + .form-group {
  display: block;
}
.catering_form .form-group {
  margin: 15px 0;
}
.catering_form [class*="col-sm"] {
  margin: 0;
  width: 100%;
}
.catering_form label {
  font-size: 20px;
}
.catering_form .error {
  margin-top: -10px;
}
.catering_form [id*="vorname"],
.catering_form [id*="nachname"],
.catering_form [id*="strasse"],
.catering_form [id*="ort"],
.catering_form [id*="email"],
.catering_form [id*="telefon"],
.catering_form [id*="datum_event"] {
  float: left;
}
.catering_form [id*="beschreibung_bestellung"] {
  width: 100% !important;
  clear: both;
}
.catering_form [name*="beschreibung_bestellung"] {
  height: 120px;
}
@media (max-width: 500px) {
  .catering_form [id*="vorname"],
  .catering_form [id*="nachname"],
  .catering_form [id*="strasse"],
  .catering_form [id*="ort"],
  .catering_form [id*="email"],
  .catering_form [id*="telefon"],
  .catering_form [id*="datum_event"] {
    float: none;
     width: 100% !important;
  }
}
input[type="text"], 
textarea,
select, 
.textfeld, 
select.form-control,
input.form-control,
textarea.form-control {
  font-size: 20px;
}

/* WK-Layer */
.wk_layer_container .neuer_artikel_in_wk_buttons .btn {
  margin-bottom: 8px;
}

/* Artikelliste */
div.artikel_box_preis {
  font-size: 24px !important;
}
@media (min-width: 768px) and (max-width: 1199px) {
  .artikelliste_mehrspaltig .artikel_box .artikel_box_button a.btn-default {
    padding: 6px 10px !important;
  }
}
