@charset "utf-8";

body {
  --form-padding: calc(var(--padding) * 1);
  --form-gap: 0.5em;
  --formfield-color: inherit;
}

.mailform {
  padding: var(--form-padding);
}

.mailform .formfield {
  background: #eeeeee;
  color: currentColor;
  height: auto;
  --scale-f: 0.666;
  --input-height: 2em;
  width: 100%;
  border-radius: var(--border-radius);
}

.mailform .formfield:has(:focus-visible) {
  outline: solid black 4px;
}

.mailform *[input-name] {
  border: solid 1px transparent;
  --input-padding-left: 0.5em;
  --input-padding-offset: 0;
  --input-border-radius: 0;
  --input-border: 0;
}

.mailform div[input-type="textinput"] .inputtextautosizerwrapper {
  width: 100%;
}

.mailform *[input-type="textinput"],
.mailform *[input-type="dateinput"],
.mailform *[input-type="textarea"] {
  background: transparent;
  color: currentColor;
  outline: 0;
}


.mailform *[input-type="textarea"] textarea,
.mailform *[input-type="textarea"] .inputgrowwrap:after {
  padding: 0;
  padding-top: calc(((var(--input-height) - var(--line-height)) * 1)/2);
  padding-bottom: calc(((var(--input-height) - var(--line-height)) * 1)/2);
  background: transparent;
}

.mailform .formfield[formfield-type="html"] {
  background: transparent;
}

.mailform .formfield[formfield-type="checkbox"] {
  background: transparent;
  font-size: var(--font-size-small);
}

.mailform .formfield[formfield-type="checkbox"] .checkboxbox {
  background: rgb(0 0 0 / 10%);
}

.mailform div[input-type="textinput"]:not([input-value=""]):before,
.mailform *[input-type="dateinput"]:before,
.mailform *[input-type="textarea"]:not([input-value=""]):before {
  position: relative;
  white-space: nowrap;
  width: 100%;
  font-size: calc(1em * var(--scale-f));
  line-height: 0em;
  height: 0;
  display: block;
  content: attr(title);
  opacity: 0.5;
  color: var(--formfield-color);
}

.mailform [formfield-type="text"],
.mailform [formfield-type="email"],
.mailform [formfield-type="textarea"] {
  padding-top: calc(1em * var(--scale-f));
}

.mailform *[formfield-type="textarea"] {
  min-height: 6em;
}

.mailform *[formfield-type="textarea"][maxlength][char-count]:not([char-count="0"]):after {
  content: attr(char-count) "/" attr(maxlength);
  position: absolute;
  right: 4px;
  transform: trnslateX(-50%);
  top: 4px;
  line-height: calc(1em * var(--scale-f));
  font-size: calc(1em * var(--scale-f));
  opacity: 0.33;
  pointer-events: none;

}


.mailform [formfield-type="text"],
.mailform [formfield-type="email"] {
  cursor: text;
}

.mailform .mailformcontent {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--form-gap);
  row-gap: var(--form-gap);
}

.mailform .mailformcontent>* {}

.mailform .mailformbottom {
  display: grid;
}

.mailform .mailformbottom>* {
  grid-area: 1/1;
}

.mailform .mailformbts {
  display: flex;
  flex-direction: row-reverse;
  justify-content: right;
  column-gap: calc(var(--form-gap) * 2);
  row-gap: calc(var(--form-gap) * 2);
}

.mailform .mailformsuccessbts {
  display: flex;
  justify-content: right;
}

.mailform .mailformsuccessbts {
  display: none;
}

.mailform[is-endpage] .mailformsuccessbts:not(:empty) {
  display: flex;
}


.mailform[is-sending] .mailformsendbt {
  pointer-events: none;
  animation: processing 0.9s infinite;
}

.mailform .mailresponse:empty {
  display: none;
}

.mailform .mailresponse {
  width: 100%;
  background: #f44336;
  padding: 1em;
  color: white;
  border-radius: 6px;
  outline: 2px #f44336 solid;
}

.mailform[sent-successfully] .mailresponse {
  background: #009688;
}

.mailform[is-endpage] {}

/* mailformpopup*/
.overlay .mailform {
  margin: auto;
  width: min(100%, 600px);
  background: white;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  column-gap: calc(var(--form-gap) * 2);
  row-gap: calc(var(--form-gap) * 2);
  filter: drop-shadow(0px 0px 8px rgba(0, 0, 0, 0.25));
  overscroll-behavior: contain;
}

div[input-type="checkbox"] {
  width: auto !important;
}

.mailform *[formfield-type="checkboxes"] {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--form-gap);
  row-gap: 0;
}

.mailform .mailformcontent *[wrappedinputs-name] {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--form-gap);
  row-gap: var(--form-gap);
}

/* IS INVALD */
*[formfield-slug][is-invalid] {
  outline: red solid 4px;
  outline-offset: -2px;
  z-index: 999;
}

/* CUSTOM */

div[formfield-slug="firstname"],
div[formfield-slug="lastname"] {
  flex-basis: calc(50% - 0.25em) !important;
  width: calc(50% - 0.25em) !important;
}