/* stylelint-disable selector-class-pattern, no-descending-specificity */
.forms.block .type-not-found-msg {
  list-style: none;
  margin: 0;
  text-align: left;
  color: var(--color-state-danger);
  border: 1px solid var(--color-state-danger);
  border-radius: 10px;
  padding: 1rem;
  background-color: var(--color-gray-50);
}

.forms.block:has(> .type-not-found-msg) > div {
  display: none;
}

.hs-form .hs-dependent-field,
.hs-form .hs-form-field {
  line-height: 1.4em;
  margin: 0;
  padding-bottom: 15px;
}

.hs-form .hs-dependent-field:has(> .hs-form-field) {
  padding-bottom: 0;
}

.hs-form .hs-form-field .hs-field-desc {
  color: var(--color-input);
  font-size: 10px;
  font-weight: 400;
  line-height: 16px;
  margin: 0 0 3px 1px;
  text-align: left;
  width: 100% !important;
}

.hs-form .hs-form-field .hs-input {
  background-image: none;
  box-shadow: none;
  color: var(--color-input);
  display: block;
  font-size: 15px;
  height: 40px;
  line-height: 1.4286;
  outline: none;
  padding: 5px 15px;
  max-width: 100%;
  width: 100%;
  margin-bottom: 0;
}

.hs-form .hs-form-field .hs-input,
.hs-form .hs-form-field .hs-form-checkbox label span::before,
.hs-form .hs-form-field .hs-form-booleancheckbox label span::before {
  background-color: var(--color-white);
  border: 1px solid var(--color-input-border);
  border-radius: 0;
}

.hs-form .hs-form-field .hs-form-checkbox label span::before,
.hs-form .hs-form-field .hs-form-booleancheckbox label span::before,
.hs-form .hs-form-field .hs-input[type="checkbox"]:checked ~ span::after {
  position: absolute;
  top: 1px;
}

.hs-form .hs-form-field .hs-form-checkbox label span::before,
.hs-form .hs-form-field .hs-form-booleancheckbox label span::before {
  content: "";
  height: 20px;
  width: 20px;
  left: -32px;
}

.hs-form .hs-form-field .hs-input[type="checkbox"]:checked ~ span::after {
  content: "\2714";
  color: var(--color-primary);
  left: -28px;
  font-size: 27px;
  line-height: 0.8;
  transition: all 0.2s;
}

.hs-form .hs-form-field textarea.hs-input,
.hs-form .hs-form-field textarea.hs-fieldtype-textarea {
  height: 100px;
  width: 100%;
}

.hs-form .hs-form-field .hs-form-checkbox,
.hs-form .hs-fieldtype-booleancheckbox {
  cursor: pointer;
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  padding-left: 32px;
}

.hs-form .hs-form-booleancheckbox label {
  display: inline-block;
}

.hs-form .hs-form-field .hs-field-desc,
.hs-form .hs-form-field label:not(.hs-form-checkbox-display) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hs-form .hs-form-field.hs_email .hs-error-msgs label,
.hubspot-form .hs-form .hs-form-field .hs-field-desc,
.hs-form .hs-error-msgs.inputs-list,
.hs-form .hs-error-msgs.inputs-list .hs-error-msg {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  display: block;
}

.hs-form .hs-form-field.hs_email .hs-error-msgs label a:hover {
  color: var(--color-state-danger);
}

.hs-form .hs-fieldtype-booleancheckbox .hs-form-booleancheckbox label {
  background: none;
  clear: none;
  color: var(--color-primary);
  display: block;
  font-size: 10px;
  font-weight: 400;
  line-height: 18px;
  margin: 0;
  margin-bottom: 0;
  opacity: 1;
  position: relative;
  overflow: unset;
  width: auto;
  height: unset;
  clip: unset;
}

.hs-form .hs-form-field .hs-input[type="checkbox"] {
  clear: none;
  display: block;
  font-weight: 400;
  height: 30px;
  left: -9999px;
  line-height: 30px;
  margin: 6px 0 0;
  max-width: 30px;
  position: absolute;
  width: 5%;
}

.hs-form .inputs-list {
  list-style: none;
  padding-left: 0;
}

.hs-form legend {
  float: none;
}

.hs-form .hs-fieldtype-booleancheckbox legend {
  order: 2;
}

.hs-form .hs-fieldtype-booleancheckbox legend,
label.privacy,
div.privacy > label {
  border: none;
  color: inherit;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4286;
  margin-bottom: 0;
  display: block;
}

.hs-form .hs-fieldtype-booleancheckbox .input {
  order: 1;
}

.hs-form .hs-fieldtype-booleancheckbox .input .inputs-list,
.hs-form .hs-fieldtype-booleancheckbox .input .inputs-list li {
  margin-bottom: 0;
  margin-top: 0;
}

.hs-form .hs-form-field .hs-form-checkbox label {
  position: relative;
}

.hs-form .hs-form-field .hs-form-checkbox label span,
.hs-form .hs-form-field .hs-form-booleancheckbox label span {
  font-size: 14px;
}

.hs-form .hs-error-msgs.inputs-list,
.hs-form .hs-error-msgs.inputs-list .hs-error-msg {
  color: var(--color-state-danger);
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.5;
  margin: 0;
  width: 100%;
  text-align: left;
}

.hs-error-msgs.inputs-list,
.hubspot-form .hs-error-msgs.inputs-list {
  margin-top: 15px;
}

.form-columns-1 .hs-form-field.hs-subscribe:first-child {
  margin-top: 9px;
}

.hs-dependent-field > .hs-form-field:first-child {
  padding-top: 0;
}

.hs-form-field .hs-input[type="radio"] {
  display: inline-block;
  height: auto;
  line-height: inherit;
  padding: 0;
  width: auto;
}

.hbspt-form .hs-form-field label.hs-form-radio-display {
  align-items: center;
  display: flex;
  gap: 8px;
  line-height: 1;
}

.hs-error-msgs.inputs-list + .hs-error-msgs.inputs-list {
  line-height: inherit;
  margin-top: 16px;
}

.hbspt-form .hs-richtext.hs-main-font-element p {
  margin-bottom: 0;
  color: inherit;
}

.hbspt-form .hs-richtext.hs-main-font-element {
  border: none;
  bottom: 0;
  color: var(--color-input);
  font-size: 10px;
  font-weight: 400;
  line-height: 1.4286;
  position: absolute;
}

.hbspt-form {
  padding-bottom: 80px;
  position: relative;
}

.hs-submit .actions {
  margin: 10px auto 20px;
  text-align: center;
}

.hs-submit .actions button {
  width: 100%;
  max-width: 100%;
}

/* hubspot form */
main form fieldset[class*="form-columns"] .input {
  margin-right: 0 !important;
}

.hubspot-form form {
  display: flex;
  flex-direction: column;
  line-height: 16px;
  text-align: left;
}

.hubspot-form .hs-form fieldset {
  width: 100% !important;
  max-width: 100% !important;
}

.hubspot-form fieldset[class*="form-columns"] .input {
  margin-right: 0 !important;
}

.hubspot-form form .hs-submit {
  order: 1;
}

.hubspot-form form div:has(> .hs-richtext .privacy),
.hubspot-form form fieldset:has(> .hs-richtext .privacy) {
  order: 2;
}

.orange-buttons .hubspot-form .button {
  background: var(--color-secondary);
}

.hs-button.primary,
input[type="submit"] {
  background: var(--color-primary);
  border: none;
  border-radius: 0;
  color: var(--color-white);
  font-size: 18px;
  height: auto;
  line-height: 25px;
  padding: 9px 18px 8px;
  position: relative;
  width: 100%;
}

.hs-button.primary,
input[type="button"],
input[type="submit"] {
  cursor: pointer;
  text-decoration: none !important;
}

.show-label .hs-form .hs-form-field label,
.show-label .hs-form .hs-form-field .hs-field-desc {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
  white-space: normal;
  display: block;
  color: var(--color-text-primary);
  font-weight: 600;
  padding: 3px 13px 0 0;
}

.show-label .hs-form .hs-form-field label {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.show-label .hs-form .hs-form-field .hs-field-desc {
  font-size: 13px;
}

.show-label .hs-form .hs-form-field .hs-form-checkbox,
.show-label .hs-form .hs-fieldtype-booleancheckbox {
  position: relative;
}

.show-label .hs-form .hs-form-field .hs-form-checkbox label span::before,
.show-label .hs-form .hs-form-field .hs-form-booleancheckbox label span::before {
  left: 0;
  top: 9px;
}

.show-label .hs-form .hs-form-field .hs-input[type="checkbox"]:checked ~ span::after {
  left: 0;
  line-height: 1.5;
}

/* INQUERY/EVENTS FORM */
.forms.inquiry h3,
.forms.events h3,
.forms.inquiry-with-thankyou h3 {
  text-align: center;
  color: var(--color-primary);
  font-size: 36px;
  margin-bottom: 30px;
}

.forms.inquiry.block,
.forms.events.block,
.event main .section.forms-container .default-content-wrapper,
.forms.inquiry-with-thankyou.block {
  margin: auto;
  max-width: 600px;
  padding-bottom: 50px;
}

.forms.inquiry-with-thankyou .hubspot-form:has(> .submitted-message) {
  max-width: 100%;
  text-align: center;
}

.forms.inquiry-with-thankyou .hubspot-form:has(> .submitted-message) h2 {
  text-align: center;
  margin-bottom: 10px;
  margin-top: 20px;
  font-size: 36px;
  font-family: var(--ff-proxima-regular);
}

.forms.inquiry .hubspot-form fieldset,
.forms.events .hubspot-form fieldset,
.forms.inquiry-with-thankyou .hubspot-form fieldset {
  width: 100%;
  max-width: 100%;
}

.events.book-time .hs-form .hs-form-field:not(.hs_subscribe) .hs-field-desc {
  font-size: 1rem;
}

/* show modal */
.hubspot-form.show-label .hs-form .hs-form-field .hs-input {
  width: 100%;
  background-color: var(--color-white);
  background-image: none;
  border: none;
  border-radius: 0;
  box-shadow: 0 0 10px 1px var(--color-black-alpha-10);
  color: var(--color-text-primary);
  display: block;
  font-size: 18px;
  height: 30px;
  line-height: 1.4285;
  outline: none;
  padding: 5px;
  transition:
    border-color 0.15s ease-in-out,
    box-shadow 0.15s ease-in-out;
}

.hubspot-form.show-label .hs-form .hs-form-field .hs-input.hs-fieldtype-textarea {
  height: 100px;
}

@media only screen and (min-width: 992px) {
  .hs-submit .actions {
    max-width: 543px;
  }
}

@media only screen and (min-width: 768px) {
  main form fieldset.form-columns-2,
  .hubspot-form fieldset.form-columns-2 {
    display: flex;
    gap: 15px;
  }
}

@media only screen and (max-width: 991px) {
  .hubspot-form .hs-form fieldset.form-columns-2 {
    display: flex;
    gap: 15px;
  }
}

@media only screen and (max-width: 400px) {
  .hbspt-form {
    padding-bottom: 110px;
  }
}

/* Category Form */
main .category-form.forms-container {
  --default-gap: 30px;
  --font-size-h2: 48px;
  --font-size-h3: 28px;

  font-size: 21px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url("/templates/product/images/default-background.png");
}

main .category-form.forms-container.wave-section {
  position: relative;
  padding-bottom: 18%;
}

main .category-form.forms-container.wave-section + .section.wave {
  display: none;
}

main .category-form.forms-container.wave-section .wave {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  padding: 0;
}

main .category-form.forms-container.wave-section .wave picture,
main .category-form.forms-container.wave-section .wave picture img {
  display: block;
  width: 100%;
}

main .category-form.forms-container .hs-submit .actions button {
  max-width: 300px;
  border-radius: 10px;
}

main .category-form.forms-container.product-rfq-thankyou-section .default-content-wrapper {
  display: none;
}

main .category-form.forms-container .forms {
  background-color: var(--category-form-bg);
  padding: var(--default-gap);
  border-radius: 20px;
  color: var(--color-white);
}

main .category-form .hs-form .hs-form-field .hs-field-desc,
main .category-form .hs-form .hs-form-field .hs-field-desc a,
main .category-form .hs-form a {
  color: inherit;
}

.application .section.category-form h2 + p,
main .category-form.forms-container .default-content-item h2 ~ p {
  margin-bottom: 1em;
  margin-top: 1em;
}

main .category-form.forms-container .forms h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  text-align: center;
}

.product main .hs-form .hs-form-field .hs-field-desc,
.product main .hs-form .hs-form-field .hs-field-desc a,
.product main .hs-form a,
main .category-form.forms-container .hs-form-field:first-child .hs-form .hs-form-field .hs-field-desc,
main .category-form.forms-container .hs-form-field:first-child .hs-form a {
  color: inherit;
}

main .category-form.forms-container .hs-form-field:first-child .hs-submit .actions button {
  max-width: 300px;
  margin: 0 auto;
  border-radius: 13px;
}

@media only screen and (min-width: 992px) {
  main .category-form.forms-container.wave-section {
    padding-bottom: 15%;
  }

  main .category-form.forms-container .default-content-wrapper h2:only-of-type {
    font-size: 48px;
    padding-bottom: 0;
    margin-top: 0;
  }
}

@media only screen and (max-width: 991px) {
  main .category-form.forms-container {
    --default-gap: 20px;
    --font-size-h2: 30px;
    --font-size-h3: 28px;

    font-size: 14px;
    gap: var(--default-gap);
  }

  main .category-form.forms-container .forms {
    padding: 20px;
  }
}

/* product-rfq form */
main .category-form.product-rfq-thankyou-section .forms-wrapper {
  display: flex;
  justify-content: center;
}

main .product-rfq-thankyou-section .submitted-message {
  text-align: center;
  font-size: 1rem;
}

main .product-rfq-thankyou-section .submitted-message h2 {
  font-family: var(--ff-proxima-regular);
  font-size: 36px;
}

main .product-rfq-thankyou-section .submitted-message a {
  color: inherit;
  text-decoration: underline;
}

main .product-rfq-thankyou-section .submitted-message img[alt="E-mail Icon"] {
  max-width: 150px;
}

main h3:has(~ .product-rfq-thankyou-section .submitted-message) {
  display: none;
}

/* updated date and time */
.fn-date-picker .pika-next,
.fn-date-picker .pika-prev,
.fn-date-picker .pika-button {
  min-width: unset;
}

.fn-date-picker .pika-next,
.fn-date-picker .pika-prev {
  font-size: 0;
}

/* date field */
.hs-dateinput,
.hs-form-field:has(input[name="meeting_date_text"]),
.hs-form-field:has(input[type="date"]) {
  position: relative;
}

.hs-dateinput::after,
.hs-form-field:has(input[name="meeting_date_text"])::after,
.hs-form-field:has(input[type="date"])::after {
  content: "\f073";
  display: inline-block;
  /* stylelint-disable-next-line font-family-no-missing-generic-family-keyword */
  font: normal normal normal 14px / 1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  right: 15px;
  top: 10px;
  pointer-events: none;
}

input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-calendar-picker-indicator {
  display: none;
  appearance: none;
  opacity: 0;
}

/* Hide calendar icon in Chrome, Edge, Opera */
input[type="date"]::-webkit-calendar-picker-indicator {
  display: none;
  /* stylelint-disable-next-line property-no-vendor-prefix */
  -webkit-appearance: none;
  opacity: 0;
}

input[type="date"]::-webkit-clear-button,
input[type="date"]::-webkit-inner-spin-button,
input[type="date"]::-webkit-outer-spin-button,
input[type="date"]::-moz-calendar-picker-indicator,
input[type="date"]::-ms-expand {
  display: none;
}
