/* LAYOUT */
/* manage display of fields per JS */
.visforms .field3,
.visforms .field6,
.visforms .field10,
.visforms .field11,
.visforms .field7,
.visforms .visBtnCon {
  display: none;
}
.visforms .field3.is-visible,
.visforms .field6.is-visible,
.visforms .field10.is-visible,
.visforms .field11.is-visible,
.visforms .field7.is-visible,
.visforms .visBtnCon.is-visible {
  display: block;
}

.visforms {
  background-color: white;
  padding: var(--double-dist) var(--rand-dist) var(--triple-dist);
  --inputPadBT: 0.3rem;
  background-color: white;
  padding: var(--double-dist) var(--rand-dist) var(--triple-dist);
}

/* Schriftzug "Pflichtfeld *" */
.visforms .vis_mandatory {
  display: none;
  color: var(--red);
  font-size: 0.875rem;
}

/* Asterixe */
.visforms .required > label::after {
  color: var(--orange);
  padding-left: 0 !important;
}

.visforms fieldset {
  border: none;
  padding: 0;
  margin-left: 0;
}

.visforms hr {
  margin-top: 20px;
}

.visCSSlabel {
  font-weight: bold;
  margin-bottom: 10px;
  width: 100%;
}

.visforms input,
.visforms select,
.visforms textarea {
  padding: var(--inputPadBT) 0.5rem;
  font-size: inherit;
  font-family: inherit;
  border-color: var(--clr-green);
}

.visforms .visCSSinput {
  margin-top: 0;
}

.visforms input:not([type="radio"]):not(#field10, #field11),
.visforms textarea {
  width: 100%;
}
.visforms input:focus,
.visforms textarea:focus {
  border-color: var(--clr-green);
  outline: none;
  box-shadow: none;
}
.visforms textarea {
  resize: vertical;
  min-height: 8rem;
}
.visforms select {
  width: fit-content;
  text-align: left;

  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding: 0.3rem 2.5rem 0.3rem 0.5rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='black' stroke-width='2'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
}

.visforms .visCSSmargLeft {
  margin-left: 0;
}

.visforms [class^="field"] {
  margin-bottom: 1rem;
}

.visCSSrbinl input[type="radio"] {
  accent-color: var(--clr-green);
  margin-bottom: 0;
  margin-left: 0;
  margin-right: 5px;
}

/* alle labels, die zu input, type=radio gehoeren */
input[type="radio"] + label {
  font-weight: normal;
  margin: 0;
  margin-right: 1rem;
}

/* ------ Radio-Buttons Krankmeldung ------ */
.visforms .field13,
.visforms .field14 {
  display: flex;
  flex-direction: column;
}

.visforms .visCSStop0 {
  display: grid;
  grid-template-columns: min-content 1fr;
  align-items: center;
  gap: 0.5rem 0.1rem;
  margin: 0;
  padding: 0;
}

@media (min-width: 530px) {
  .visforms .visCSStop0 {
    grid-template-columns: min-content auto min-content auto;
    grid-template-columns: min-content max-content min-content max-content;
  }
}

/* inputs vor Kalenderzeichen */
.visforms #field10,
.visforms #field11 {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  width: 11ch;
}

.visforms .field-calendar .input-append {
  display: flex;
}

/* Kalender-Button */
.visforms .btn-secondary {
  border: none;
  padding: 0;
}

[class^="visicon-"] {
  width: auto;
  height: auto;
  margin-right: 0;
  line-height: 1;
}

.visforms .visicon-calendar::before {
  font-size: calc(2 * var(--inputPadBT) + var(--page-font-size) + 13px);
  color: var(--clr-green);
}

/* Senden-Button */
.visforms .btn[type="submit"] {
  background-color: white;
  border: var(--half-dist) solid var(--clr-green);
  font-weight: bold;
}
.visforms .btn[type="submit"]:hover {
  background-color: var(--clr-green);
  color: white;
  cursor: pointer;
}
