:root {
  /*--color_grey: #3f3e3c;   !* gray *!*/
  --color_bluegrey: #566275;   /* blue gray */
}
/*Select*/
select * {
  background: white !important;
  font-weight: normal;
  min-height: 2em;
  padding: 8px 0;
}

select:disabled {
  cursor: not-allowed !important;
  color: var(--color_bluegrey) !important;
  background: transparent !important;
  box-shadow: none !important;
  margin-left: -10px;
  opacity: 1;
}
/*------*/
.select_wrapper {
  position: relative !important;
  width: 100% !important;
}

.select-wrapper.select_wrapper2 {
  position: relative !important;
  width: 400px !important;
}
/*------*/
.select-wrapper.select_wrapper2::before {
  position: absolute !important;
  right: 15px !important;
  top: 10px !important;
  font-size: 17px !important;
  content: "\25BC" !important;
  pointer-events: none !important;
}

.select_wrapper::before {
  position: absolute !important;
  right: 15px !important;
  top: 10px !important;
  font-size: 17px !important;
  content: "\25BC" !important;
  pointer-events: none !important;
}
/*------*/
.select_option > select {
  -moz-appearance: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 40px !important;
  -moz-padding-start: calc(10px - 3px) !important;
  padding-left: 10px !important;
  background: white !important;
  font-size: 16px !important;
  border-radius: 4px !important;
  outline: none !important;
  cursor: pointer !important;
  text-overflow: ellipsis;
  padding-right: 25px;
}

.select_dropdown > select {
  appearance: none !important;
  width: 100% !important;
  height: 40px !important;
  -moz-padding-start: calc(10px - 3px) !important;
  padding-left: 10px !important;
  background: white;
  font-size: 16px !important;
  border-radius: 3px !important;
  outline: none !important;
  cursor: pointer !important;
  text-overflow: ellipsis;
  padding-right: 28px;
}

.select_box > select {
  -moz-appearance: none !important;
  -webkit-appearance: none !important;
  appearance: none !important;
  width: 100% !important;
  height: 40px !important;
  -moz-padding-start: calc(10px - 3px) !important;
  padding-left: 10px !important;
  background: white !important;
  font-size: 16px !important;
  border-radius: 3px !important;
  outline: none !important;
  cursor: pointer !important;
  text-overflow: ellipsis;
  padding-right: 28px;
  /*box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.1) !important;*/
}

/*------*/
.select_option > select::-ms-expand {
  display: none !important;
}
/*------*/
.select_option > select:focus::-ms-value {
  background-color: transparent !important;
}
/*------*/
select option {
  padding-top: 10px;
  padding-bottom: 10px;
}

option:hover,
option:checked {
  color: white;
}

#select_arrow > .icon_arrow_down_svg {
  position: relative;
  right: 25px;
  width: 15px;
  margin-top: 5px !important;
  pointer-events: none;
}

/* Textarea ----------------------------------------------------------------------------------------------------------*/
.textarea_pflicht {
  -webkit-appearance: none !important;
  width: 100% !important;
  min-height: 120px;
  padding: 10px !important;
  font-size: 16px !important;
  border-radius: 3px !important;
  outline: none !important;
  cursor: text !important;
  background: white;
  resize: vertical;
  box-shadow: none !important;
}

/* Textfields --------------------------------------------------------------------------------------------------------*/
input[type=password],
input[type=text] {
  border: none;
  box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.1);
}

.textfield {
  /* Search */
  width: 70% !important;
  height: 34px;
  font-size: 14px;
  padding: 6px 12px;
  border-radius: 4px;
  margin-bottom: 10px !important;
}

.textfield:hover,
.textfield:active,
.textfield:focus {
  outline: 0;
  border: none;
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s;
}

.textfield_pflicht {
  height: 40px !important;
  -moz-padding-start: calc(10px - 3px) !important;
  padding-left: 10px !important;
  background: white !important;
  font-size: 16px !important;
  border-radius: 3px !important;
  outline: none !important;
  cursor: text !important;
  box-shadow: none !important;
}

.textfield_pflicht:disabled {
  cursor: not-allowed !important;
}

#searchblock > .textfield {
  width: 100% !important;
}
/* DateTime ----------------------------------------------------------------------------------------------------------*/
.datetime_fields {
  width: 198px !important;
  height: 40px !important;
  -moz-padding-start: calc(10px - 3px) !important;
  padding-left: 10px !important;
  font-size: 16px !important;
  /*box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.1) !important;*/
  border-radius: 3px !important;
  outline: none !important;
  cursor: pointer !important;
}

@media(min-width: 1393px){
  .datetime_fields {
    width: 49.5% !important;
  }
}

@media(max-width: 1392px) and (min-width: 992px){
  .datetime_fields {
    width: 49% !important;
  }
}

@media(max-width: 991px){
  .datetime_fields {
    width: 100% !important;
  }

  #termin_startzeit,
  #termin_endezeit {
    margin-top: 8px;
  }
}
/* Form Control ------------------------------------------------------------------------------------------------------*/
.form-control {
  font-size: 16px !important;
}

/* Warenkorb */

/* Bestellung New*/
#bestellung_lieferadresse_komplett,
#bestellung_rechnungsadresse_komplett,
#bestellung_anmerkungen {
  width: 100%;
  border-radius: 4px;
  -webkit-appearance: none !important;
  min-height: 120px !important;
  padding: 10px !important;
  font-size: 16px !important;
  outline: none !important;
  cursor: text !important;
  resize: vertical;
}

/* Checkbox ------------------------------------------------------------------------------------------------------*/

/* Artikel Filter & Warenkorb */
.filter_input,
.control-label[type="checkbox"],
.control-label[type="radio"] {
  display: none;
}

.filter_checkbox,
.labelCheckbox,
.labelRadio {
  padding-left: 26px;
  padding-top: 6px;

  position: relative;
  cursor: pointer;
}

.filter_input + .filter_checkbox:before,
.control-label[type="checkbox"] + .labelCheckbox:before,
.control-label[type="radio"] + .labelRadio:before {
  border-radius: 2px;
  background-color: transparent;
  position: absolute;
  display: block;
  content: "";
  height: 18px;
  width: 18px;
  top: 11px;
  left: 0;
}

.control-label[type="radio"] + .labelRadio:before {
  border-radius: 50%;
}

.filter_input:checked + .filter_checkbox:after,
.control-label[type="checkbox"]:checked + .labelCheckbox:after,
.control-label[type="radio"]:checked + .labelRadio:after {
  -webkit-mask: url(/assets/icons/information/checked.svg) no-repeat 50% 50%;
  -webkit-mask-size: cover;
  mask: url(/assets/icons/information/checked.svg) no-repeat 50% 50%;
  mask-size: cover;
  position: absolute;
  display: block;
  content: "";
  height: 10px;
  width: 10px;
  top: 15px;
  left: 4px;
}
  
.control-label[type="radio"]:checked + .labelRadio:after {
  height: 8px;
  width: 8px;
  top: 16px;
  left: 5px;
}

.control-label[type="checkbox"]:disabled  + .labelCheckbox::before,
.control-label[type="radio"]:disabled  + .labelRadio::before {
  cursor: not-allowed !important;
  border: 1px solid #999;
}
.control-label[type="checkbox"]:disabled  + .labelCheckbox,
.control-label[type="radio"]:disabled  + .labelRadio {
  color: #999 !important;
  cursor: not-allowed !important;
}

/*--------------------------------------------------------------------------------------------------------------------*/
.file_field_content {
  width: 100%;
  padding: 10px 25px;
  border-radius: 2px;
}
