label {
  font-family: 'Overpass', sans-serif;
  font-weight: normal;
  font-size: 14px;
  margin-bottom: 10px;
  margin-left: 0px;
  display: block;
}

label .label_info {
  font-style: italic;
  font-weight: 300;
  font-size: 12px;
}

label.error {
  margin-bottom: 10px;
  margin-top: -5px;
  display: block;
  font-weight: 300;
  font-size: 14px;
  color: #fff;
  background: #d41230;
  border: 1px solid #d41230;
  display: inline-block;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
  padding: 5px 10px;
  margin-left: 0;
  position: relative;
}

label.error:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 15px 10px 15px;
  border-color: transparent transparent #fd0031 transparent;
  position: absolute;
  top: -5px;
  left: 5px;
}

.input-error-msg.visible {
  margin-top: -25px;
  margin-bottom: 30px;
  padding: 5px 10px;
  display: inline-block;
  color: #fff;
  background: #ee3d3d;
  font-size: 14px;
  border-radius: 5px;
}

.checkbox_container {
  display: block;
  padding-bottom: 2px;
  padding-top: 2px;
  margin-top: 5px;
  margin-bottom: 0px;
}

input[type=checkbox] {
  width: auto;
  display: block;
  box-sizing: border-box;
  line-height: normal;
  position: absolute;
  margin: 3px 0 0 3px;
  margin-top: 8px;
  margin-bottom: 0px;
  margin-right: 6px;
  padding: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  opacity: 0.0;
}

input[type=checkbox]:checked+label {
  background-image: url('../img/checkbox_on.svg');
  background-repeat: no-repeat;
}

input[type=checkbox].error+label {
  background-image: url('../img/checkbox_error.svg');
  background-repeat: no-repeat;
}

input[type=checkbox].error:checked+label {
  background-image: url('../img/checkbox_error.svg');
  background-repeat: no-repeat;
}

input[type=checkbox].disabled+label, input[type=checkbox]:disabled+label {
  background-image: url('../img/checkbox_disabled.svg');
  background-repeat: no-repeat;
  opacity: 0.4;
}

input[type=checkbox].disabled:checked+label {
  background-image: url('../img/checkbox_on.svg');
  background-repeat: no-repeat;
  opacity: 0.4;
}

.checkbox_label {
  font-family: 'Overpass', sans-serif;
  font-weight: 200;
  line-height: normal;
  font-size: 15px;
  color: #000;
  cursor: pointer;
  position: relative;
  padding-top: 5px;
  padding-bottom: 9px;
  padding-left: 40px;
  margin-left: 0px;
  margin-bottom: 0;
  display: inline-block;
  background-image: url('../img/checkbox_off.svg');
  background-size: 26px;
  background-position: 0px 3px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -khtml-user-select: none;
  -ms-user-select: none;
  background-repeat: no-repeat;
  appearance: none;
}

.checkbox_label.white {
  color: #fff;
}

.checkbox_label span {
  margin-top: 0px;
  display: none;
  font-size: 13px;
  font-weight: 300;
  line-height: 1.5;
  display: inline-block;
}

input[type="text"]:not(.custom-form),
input[type="email"]:not(.custom-form),
input[type="number"]:not(.custom-form),
input[type="password"]:not(.custom-form),
textarea:not(.custom-form),
select:not(.custom-form) {
  width: 100%;
  font-family: 'Overpass', sans-serif;
  line-height: 1.4;
  font-size: 15px;
  color: #000;
  background-color: #fff;
  border: 1px solid #B4B4B4;
  font-weight: 300;
  padding: 18px;
  margin-top: 0px;
  margin-bottom: 20px;
  margin-left: -2px;
  border-radius: 6px;
  -moz-border-radius: 6px;
  -webkit-border-radius: 6px;
  letter-spacing: 0.5px;
  position: relative;
  -moz-appearance: none;
  appearance: none;
  display: block;
  -webkit-appearance: none;
  transition: background 0.4s, background-image 0.4s, color 0.4s, border 0.2s;
  -webkit-transition: background 0.4s, background-image 0.4s, color 0.4s, border 0.2s;
  -moz-transition: background 0.4s, background-image 0.4s, color 0.4s, border 0.2s;
  -o-transition: background 0.4s, background-image 0.4s, color 0.4s, border 0.2s;
  position: relative;
}

input[type="text"].error:not(.custom-form),
input[type="email"].error:not(.custom-form),
input[type="number"].error:not(.custom-form),
input[type="password"].error:not(.custom-form),
textarea.error:not(.custom-form),
select.error:not(.custom-form) {
  border-left: 4px solid #d41230;
}

input[type="text"]:not(.error):not(.custom-form):focus,
input[type="number"]:not(.error):not(.custom-form):focus,
input[type="email"]:not(.error):not(.custom-form):focus,
input[type="password"]:not(.error):not(.custom-form):focus,
textarea:not(.error):not(.custom-form):focus,
select:not(.error):not(.custom-form):focus {
  background-color: #FEFEFE;
  border: 1px solid #414141;
}

.custom-file-input {
  width: 100%;
  padding: 0;
  margin: 0;
  clear: both;
  font-family: 'Overpass', sans-serif;
  line-height: 1.4;
  font-size: 15px;
  color: #000;
  letter-spacing: 0px;
  border: 1px solid #B4B4B4;
  padding: 13px;
  box-sizing: border-box;
  -moz-appearance: none;
  appearance: none;
  -webkit-appearance: none;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  outline: none;
}

.custom-file-input.dialog_input {
  background: #fff;
  border: 1px solid #d6d6d7;
  color: #565656;
}

.custom-file-input::-webkit-file-upload-button {}

.custom-file-input::before {}

.custom-file-input:hover::before {}

.custom-file-input:active {}

.custom-file-input:active::before {}

.input_wrapper {
  width: 100%;
  position: relative;
}

.input_wrapper.footnote:before {
  content: "";
  position: absolute;
  display: block;
  right: 14px;
  bottom: 7px;
  font-family: 'Overpass', sans-serif;
  letter-spacing: 1px;
  font-size: 9px;
}

.input_wrapper.footnote.bright:before {
  color: rgba(255, 255, 255, 0.4);
}

.input_wrapper.footnote.dark:before {
  color: rgba(0, 0, 0, 0.4);
}

.input_wrapper.footnote.optional:before {
  content: "Optional";
}

.input_wrapper.footnote.optional.lang_en:before {
  content: "Optional";
}

.input_wrapper.footnote.required:before {
  content: "Pflichtfeld";
}

.input_wrapper.footnote.required.lang_en:before {
  content: "Required";
}

textarea {
  min-height: 145px;
  max-height: 145px;
  max-width: 100%;
  resize: none;
}

textarea.large-input {
  min-height: 200px;
  max-height: 200px;
}

textarea.very-large-input {
  min-height: 300px;
  max-height: 300px;
}

select {
  background-image: url('../img/chevron-black-down.png');
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) center;
}

select.error {
  background-image: url('../img/chevron-black-down.png');
  background-size: 14px;
  background-repeat: no-repeat;
  background-position: calc(100% - 20px) center;
  border: 1px solid #c42427;
}

input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
  color: #363636;
}

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #363636;
}

.error::-webkit-input-placeholder {
  color: #d41230;
}

.error::-moz-placeholder {
  color: #d41230;
}

input:focus, select:focus, textarea:focus, button:focus {
  outline: none;
  cursor: pointer;
}

input:hover, select:hover, textarea:hover, button:hover {
  cursor: pointer;
}

@media screen and (max-width: 991px) {
  textarea.large_input {
    min-height: 151px;
    max-height: 151px;
  }
}