@import url('https://fonts.googleapis.com/css?family=Red+Hat+Display:400,700&display=swap');
@import url('https://fonts.googleapis.com/css?family=Red+Hat+Text:400,700&display=swap');



/* ========== Allgemeine Text- und Hintergrundfarben / Fonts ========== */
body, input, select, textarea, button {
  font-family: 'Red Hat Text', Arial, sans-serif !important;
  color: #222 !important;
  font-size: 15px !important;
  background: fff !important;
}
h3, h4 {
  font-family: 'Red Hat Display', Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0.04em !important;
  color: #ca0d38 !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}
h3 { font-size: 20px !important; }
h4 { font-size: 16px !important; }

/* ========== Formular-Eingaben ========== */
.input-group, .form-group {
  margin-bottom: 0 !important;
}
.input-group {
  display: flex;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
  width: 100% !important;
  gap: 8px !important;
  position: relative !important;
  border: none !important;
  box-shadow: none !important;
}
.input-group > .form-control {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  border: none !important;
  border-bottom: 2px solid #7c7f7e !important;
  border-radius: 0 !important;
  font-size: 16px !important;
  background: #fff !important;
  color: #222 !important;
  padding: 13px 10px 8px !important;
  box-shadow: none !important;
  transition: border-color 0.18s !important;
  height: auto !important;
}
.input-group .form-control::placeholder {
  color: #7c7f7e !important;
  opacity: 1 !important;
}
.input-group .form-control:focus {
  outline: none !important;
  border-bottom: 2.5px solid #ca0d38 !important;
}
.form-group label {
  display: block !important;
  width: 100% !important;
  font-family: 'Red Hat Display', Arial, sans-serif !important;
  color: #7c7f7e !important;
  font-size: 15px !important;
  margin-bottom: 7px !important;
  letter-spacing: 0.02em !important;
}

/* ========== Buttons ========== */
.input-group .btn,
.btn, .btn-primary, .btn-info {
  background: #fff !important;
  border: 2px solid #ca0d38 !important;
  color: #ca0d38 !important;
  font-family: 'Red Hat Display', Arial, sans-serif !important;
  font-size: 14px !important;
  padding: 12px 34px !important;
  border-radius: 0 !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  box-shadow: none !important;
  transition: background 0.2s, color 0.2s, border 0.2s !important;
  margin: 12px 0 8px 0 !important;
}
.input-group .btn {
  min-width: 0px !important;
  min-height: 0px !important;
  padding: 0px !important;
  font-size: 18px !important;
  line-height: 1 !important;
  justify-content: center !important;
  border: none !important;
  border-radius: 0 !important;
}
/*
.input-group .btn {
  min-width: 52px !important;
  min-height: 52px !important;
  padding: 10px !important;
  font-size: 28px !important;
  line-height: 1 !important;
  justify-content: center !important;
}
*/
*/
.input-group .btn:focus,
.input-group .btn:active,
.btn:focus,
.btn:active {
  outline: none !important;
  box-shadow: none !important;
}
.btn:hover,
.btn-primary:hover,
.btn-info:hover,
.input-group .btn:hover {
  background: #ca0d38 !important;
  color: #fff !important;
  border-color: #ca0d38 !important;
}

/* ========== Ergebnis-Text ========== */
#result_text {
  font-weight: 700 !important;
  font-size: 18px !important;
  color: #ca0d38 !important;
  margin: 18px 0 10px !important;
}

/* ========== Kontakt-Abschnitt ========== */
#contact h3 {
  font-size: 16px !important;
  color: #ca0d38 !important;
  margin-bottom: 8px !important;
  text-transform: uppercase !important;
}
#mail_link a,
#tel_link a {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #ca0d38 !important;
  word-break: break-all !important;
  text-decoration: none !important;
}
#mail_link a:hover,
#tel_link a:hover {
  color: #7c7f7e !important;
}

/* ========== Links & Unterstreichungen ========== */
a, a:visited {
  color: #ca0d38 !important;
  text-decoration: none !important;
  transition: color 0.2s !important;
}
a:hover {
  color: #7c7f7e !important;
}

/* ========== Horizontaler Strich ========== */
hr {
  border: none !important;
  border-bottom: 2px solid #ca0d38 !important;
  margin: 34px 0 26px !important;
}

/* ========== Zusätzliche Feinheiten ========== */
input, select, button {
  border-radius: 0 !important;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
}
input[type="number"] {
  -moz-appearance: textfield !important;
}
