@media print {
  .bon {
    background: white;
  }
  .bon button {
    display: none;
  }
}
.elem-frontend-checkout-produkte-produkte .no-scrollbar::-webkit-scrollbar {
  display: none;
}
.elem-frontend-checkout-produkte-produkte .no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.elem-frontend-checkout-produkte-produkte [data-purpose="product-card"] img,
.elem-frontend-checkout-produkte-produkte [data-purpose="product-card"] > div:first-child {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
#menge-modal input[type=number]::-webkit-inner-spin-button,
#menge-modal input[type=number]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
#menge-modal input[type=number] {
  -moz-appearance: textfield;
}
.elem-frontend-checkout-startseite-startseite .aspect-video {
  overflow: hidden;
}
.elem-frontend-common-confirmation .card {
  overflow: hidden;
  border-radius: 0 !important;
  padding-top: 8px;
  padding-bottom: 8px;
  width: 328px !important;
}
.elem-frontend-common-confirmation .card .popup-head {
  padding: 16px;
}
.elem-frontend-common-confirmation .card #confirmation_description {
  padding: 0 16px;
}
.elem-frontend-common-confirmation .card .popup-footer {
  padding-top: 8px;
  padding-bottom: 8px;
}
.elem-frontend-common-confirmation #confirmation.hide-button {
  display: none;
}
.elem-frontend-common-confirmation #cancel {
  color: ;
}
.elem-frontend-common-confirmation #cancel:hover {
  color: ;
}
.elem-frontend-common-confirmation #cancel.highlight-button {
  color: ;
}
.elem-frontend-common-confirmation #cancel.highlight-button:hover {
  color: ;
}
.elem-frontend-common-confirmation.active-popup {
  display: block;
}
@keyframes pump-loader {
  0% {
    transform: scale(0.95);
  }
  5% {
    transform: scale(1.1);
  }
  39% {
    transform: scale(0.85);
  }
  45% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(0.9);
  }
}
.elem-frontend-common-loader_overlay {
  display: none;
  position: fixed;
  z-index: 80;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  overflow: auto;
}
.elem-frontend-common-loader_overlay span.material-icons {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -60px;
  margin-left: -60px;
  font-size: 120px;
}
.elem-frontend-common-loader_overlay .outer-loader {
  position: absolute;
  top: 50%;
  right: 50%;
  margin-top: -100px;
  margin-right: -100px;
  height: 200px;
  width: 200px;
}
.elem-frontend-common-loader_overlay .pump-loader .material-icons {
  height: 120px;
  width: 120px;
  animation: pump-loader 1s linear infinite;
}
.elem-frontend-common-loader_overlay.active-loader {
  display: block;
}
@keyframes heartbeat {
  0% {
    transform: scale(0.95);
  }
  5% {
    transform: scale(1.1);
  }
  39% {
    transform: scale(0.85);
  }
  45% {
    transform: scale(1);
  }
  60% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(0.9);
  }
}
.elem-frontend-common-pageloader {
  position: fixed;
  z-index: 1000;
  top: 0;
  left: 0;
  padding: 160px 0;
  height: 100%;
  width: 100%;
  background-color: rgba(255,255,255,0.9);
  opacity: 1;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -ms-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.elem-frontend-common-pageloader p.title {
  padding-top: 24px;
  padding-bottom: 16px;
}
.elem-frontend-common-pageloader .outer-heard {
  display: block;
  position: relative;
  text-align: center;
}
.elem-frontend-common-pageloader .pump-loader {
  display: inline-block;
  position: relative;
  padding: 20px;
  height: 140px;
  width: 140px;
}
.elem-frontend-common-pageloader .pump-loader .material-icons {
  height: 120px;
  width: 120px;
  font-size: 120px;
  animation: pump-loader 1s linear infinite;
}
.elem-frontend-common-pageloader .dont-show-icon {
  display: none !important;
}
.elem-frontend-common-pageloader.hide_loader {
  display: none;
  opacity: 0;
}
.elem-frontend-form-checkbox {
  padding: 8px 0;
}
.elem-frontend-form-checkbox span {
  height: auto !important;
  line-height: initial !important;
}
.elem-frontend-form-checkbox span a {
  font-size: inherit;
  font-weight: inherit;
  text-decoration: underline;
}
.elem-frontend-form-checkbox span a:hover {
  text-decoration: none;
}
.elem-frontend-form-checkbox span.error-is-set {
  color: ;
}
.elem-frontend-form-checkbox span.error-is-set a {
  color: ;
}
.elem-frontend-form-checkbox span:before {
  top: 50% !important;
  margin-top: -8px !important;
}
.elem-frontend-form-checkbox span:after {
  top: 50% !important;
  margin-top: -10px !important;
}
.elem-frontend-form-datepicker {
  margin-bottom: 0;
}
.elem-frontend-form-datepicker input {
  padding: 0 16px;
  box-sizing: border-box;
}
.elem-frontend-form-gender_toggle {
  overflow: hidden;
  margin: 8px 0;
  border: 1px solid ;
  border-radius: ;
}
.elem-frontend-form-gender_toggle .gender-select {
  float: left;
  display: block;
  padding: 10px 8px;
  width: 50%;
  cursor: pointer;
  color: ;
}
.elem-frontend-form-gender_toggle .gender-select input {
  display: none;
}
.elem-frontend-form-gender_toggle .gender-select.active {
  background-color: rgba(130,197,93,0.2);
  color: ;
}
.elem-frontend-form-gender_toggle .gender-select:first-child {
  border-right: 1px solid ;
}
.elem-frontend-form-input {
  margin: 8px 0;
  border-top-right-radius: ;
  border-top-left-radius: ;
  padding-top: 12px;
  background-color: #ECECEC;
}
.elem-frontend-form-input .input-field {
  margin: 0;
  background-color: #ECECEC;
}
.elem-frontend-form-input .input-field input {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 16px;
}
.elem-frontend-form-input .input-field label {
  top: -8px !important;
  left: 16px !important;
}
.elem-frontend-form-input .input-field label.active {
  transform: translateY(0) scale(0.8) !important;
}
.elem-frontend-form-input .input-field > input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
.elem-frontend-form-input .input-field > input[type=date]:not(.browser-default) + label,
.elem-frontend-form-input .input-field > input[type=time]:not(.browser-default) + label {
  transform: translateY(0) scale(0.8) !important;
}
.elem-frontend-form-input div.error-is-set label {
  color: ;
}
.input-error {
  display: none;
  padding-bottom: 8px;
  color: ;
}
.input-error.active-error {
  display: block;
}
.elem-frontend-form-input_text {
  margin: 8px 0;
  border-top-right-radius: ;
  border-top-left-radius: ;
  padding-top: 24px;
  background-color: #ECECEC;
}
.elem-frontend-form-input_text .input-field {
  margin: 0;
  background-color: #ECECEC;
}
.elem-frontend-form-input_text .input-field textarea {
  box-sizing: border-box !important;
  display: block;
  margin: 0 !important;
  padding: 0 16px;
  min-height: 160px !important;
}
.elem-frontend-form-input_text .input-field label {
  top: -14px !important;
  left: 16px !important;
}
.elem-frontend-form-input_text .input-field label.active {
  top: -18px !important;
  transform: translateY(0) scale(0.8) !important;
}
.elem-frontend-form-radio {
  padding-bottom: 14px;
}
.elem-frontend-form-radio label {
  display: block;
  border-bottom: 1px solid ;
  padding: 8px 0;
  height: auto;
}
.elem-frontend-form-radio label span {
  height: auto !important;
  line-height: 18px !important;
}
.elem-frontend-form-radio label span strong {
  display: block;
  padding-bottom: 4px;
}
.elem-frontend-form-radio label [type="radio"] + span:before,
.elem-frontend-form-radio label [type="radio"] + span:after {
  top: 50% !important;
  margin-top: -8px;
}
.elem-frontend-form-radio label:last-child {
  border-bottom: none;
}
.elem-frontend-form-radio.error-is-set label span {
  color: ;
}
.elem-frontend-form-select {
  margin: 8px 0;
  border-top-right-radius: ;
  border-top-left-radius: ;
  padding-top: 11px;
  background-color: #ECECEC;
}
.elem-frontend-form-select .input-field {
  display: block;
  margin: 0;
  border-bottom: 1px solid #9e9e9e;
  padding-right: 0;
  background-color: #ECECEC;
}
.elem-frontend-form-select .input-field input {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 16px;
}
.elem-frontend-form-select .input-field .label {
  color: ;
  font-weight: 400;
  position: absolute;
  top: 0;
  left: 0;
  font-size: 1rem;
  cursor: text;
  -webkit-transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: color .2s ease-out, -webkit-transform .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out;
  transition: transform .2s ease-out, color .2s ease-out, -webkit-transform .2s ease-out;
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
  text-align: initial;
  -webkit-transform: translateY(12px);
  transform: translateY(12px);
}
.elem-frontend-form-select .input-field .label {
  top: -12px !important;
  left: 16px !important;
  transform: translateY(0) scale(0.8) !important;
}
.elem-frontend-form-select .input-field .label.active {
  transform: translateY(0) scale(0.8) !important;
}
.elem-frontend-form-select select {
  outline: none;
  border: none;
  padding: 0 16px;
  background-color: #ECECEC !important;
  font-size: 16px;
  color: ;
  -webkit-appearance: none;
}
.elem-frontend-form-select select option {
  font-size: 14px;
  padding: 4px 0;
}
.elem-frontend-form-select select:active,
.elem-frontend-form-select select:focus,
.elem-frontend-form-select select:hover {
  outline: none;
  background-color: #ECECEC !important;
}
.elem-frontend-form-select .input-field > input[type]:-webkit-autofill:not(.browser-default):not([type="search"]) + label,
.elem-frontend-form-select .input-field > input[type=date]:not(.browser-default) + label,
.elem-frontend-form-select .input-field > input[type=time]:not(.browser-default) + label {
  transform: translateY(0) scale(0.8) !important;
}
.elem-frontend-form-select .material-icons {
  position: absolute;
  top: 50%;
  right: 8px;
  margin-top: -14px;
  font-size: 28px;
  pointer-events: none;
  color: ;
}
.elem-frontend-form-select_multi {
  padding: 8px 0;
}
.elem-frontend-form-select_multi .input-field {
  margin: 0;
  background-color: #ECECEC;
}
.elem-frontend-form-timepicker.form-input-content {
  margin-bottom: 0;
}
.elem-frontend-form-timepicker.form-input-content input {
  padding: 0 16px;
  box-sizing: border-box;
}
.elem-frontend-form-toggle {
  overflow: hidden;
  margin: 8px 0;
  border: 1px solid ;
  border-radius: ;
}
.elem-frontend-form-toggle .toggle-select {
  float: left;
  display: block;
  padding: 10px 8px;
  width: 50%;
  cursor: pointer;
  color: ;
}
.elem-frontend-form-toggle .toggle-select input {
  display: none;
}
.elem-frontend-form-toggle .toggle-select.active {
  background-color: rgba(130,197,93,0.2);
  color: ;
}
.elem-frontend-form-toggle .toggle-select:first-child {
  border-right: 1px solid ;
}
.elem-frontend-form-toggle.form-error {
  border-color: ;
}
.elem-frontend-form-toggle.form-error label {
  color: ;
}
