:root {
  accent-color: var(--primary);
}

form {
  --body-color: #000;
  
  padding: 4rem 4rem;
  background: #fff;
  border-radius: 2rem;
}

form label {
  display: block;
  width: 100%;
  margin: 0 0 1.5rem;
  color: #000;
  font: 600 1.2rem/1.1 "IBM Plex Sans", system-ui, sans-serif;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

input,
select {
  padding: 2rem;
  display: block;
  width: 100%;
  background: transparent;
  font-size: 1.6rem;
  line-height: 2rem;
  border: 1px solid var(--teal-600);
  border-radius: 10px;
}

.inline input {
  position: relative;
  top: -3px;
}

input[type=checkbox] {
}

input[type=checkbox]:focus {
  outline: none !important;
}

input:focus {
  outline: none !important;  
}

button:focus,
input[type=submit]:focus {
  border: 1px solid #000;
  outline: 3px solid var(--primary);
}

button:focus:active, button:active,
input[type=submit]:focus:active, input[type=submit]:active {
  position: relative;
  top: 5px;
  outline: none;
}

:-moz-focusring {
  outline-offset: revert !important;
  -moz-outline-radius: revert !important;
}

label + input {
  margin-top: -0.75rem;
}

label input {
  margin-top: 0.75rem;
}

input[type=checkbox],
input[type=radio] {
  margin: 0 1rem 0 0;
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

input[type=submit] {
  display: inline-block;
  padding: 1.5rem 7.5rem;
  background: var(--primary);
  background: linear-gradient(135deg, var(--teal-400), var(--teal-900));
  color: #fff;
  font: 300 2rem/1.5 "IBM Plex Sans", system-ui, sans-serif;
  letter-spacing: 0.2rem;
  border-radius: 3rem;
  text-align: center;
}

.hs-form {
  padding: 4rem;
  box-shadow: 0 5px 10px rgb(0, 98, 110, 0.5), 0 15px 40px rgb(23, 112, 122, 0.2);
}

.hs-form-required {
  margin: 0 0 0 0.25rem;
  opacity: 0.25;
  font-weight: 400;
}

.hs-form .field {
  margin: 0 0 4rem;
}

.hs-error-msgs {
  margin: 1.5rem 0 0 0;
}

.hs-error-msg {
  font-weight: 400;
  text-transform: none;
  opacity: 0.5;
}

.hs-richtext {
  font-size: 1.1rem;
  margin: 0 0 2rem;
}

.hs-richtext a {
  color: inherit;
  text-decoration: underline;
}

.hs-form fieldset {
  max-width: none !important;
}

.hs-field-desc {
  font-size: 1.2rem;
  margin: -1rem 0 2rem;
}

.hs-form-booleancheckbox p {
  color: #000;
  font: 600 1.2rem/1.1 "IBM Plex Sans", system-ui, sans-serif;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}

@media (max-width: 850px) {
  .hs-form {
    padding: 4rem 2rem;
    margin: 0 0 4rem;
  }
}

.dhtmlx-custom.dhx_dataview {
  background: transparent;
  margin: 0 !important;
}

.dhtmlx-custom.dhx_dataview .dhx_dataview-item {
  padding: 2rem;
  background: #fff;
  border-radius: 2rem;
  box-shadow: 0 5px 10px rgb(0, 98, 110, 0.25), 0 15px 40px rgb(23, 112, 122, 0.1);
  cursor: pointer;
}