
html body .hero .hero-page {
  position: relative !important;
  width: 100% !important;
  max-width: 840px !important;
  margin: 0 auto !important;
  padding-block: clamp(48px, 6.5vw, 92px) !important;
  text-align: center !important;
}

html body .hero .hero-page .crumb {
  display: block !important;
  width: 100% !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  font-size: 14px !important;
  line-height: 1.5 !important;
}
html body .hero .hero-page .crumb ol {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body .hero .hero-page .crumb li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  list-style: none !important;
}
html body .hero .hero-page .crumb li + li::before {
  content: "›";
  color: #bcd9ef !important;
  font-weight: 400 !important;
}
html body .hero .hero-page .crumb a,
html body .hero .hero-page .crumb a:link,
html body .hero .hero-page .crumb a:visited {
  color: var(--text-white) !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1px !important;
  text-underline-offset: 3px !important;
}
html body .hero .hero-page .crumb a:hover {
  text-decoration-thickness: 2px !important;
}
html body .hero .hero-page .crumb [aria-current="page"] {
  color: var(--text-white) !important;
  font-weight: 600 !important;
}

html body .hero .hero-page h1.h1 {
  width: 100% !important;
  margin: 0 0 14px !important;
  color: var(--text-white) !important;
  text-align: center !important;
  text-wrap: balance;
}

html body .hero .hero-page .subline {
  width: 100% !important;
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  font-size: clamp(17px, 1rem + 0.45vw, 22px) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.015em !important;
  text-align: center !important;
}

html body .hero .hero-page p.lead {
  width: 100% !important;
  max-width: 64ch !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  text-align: center !important;
}

html body .hero .hero-page .hero-actions {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px !important;
  width: 100% !important;
  margin: 32px 0 0 !important;
  padding: 0 !important;
}
html body .hero .hero-page .hero-actions > .btn {
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
}

html body .hero .hero-page .hero-trust {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 14px 30px !important;
  width: 100% !important;
  margin: 36px 0 0 !important;
  padding: 26px 0 0 !important;
  border-top: 1px solid rgba(255, 255, 255, 0.24) !important;
  list-style: none !important;
}
html body .hero .hero-page .hero-trust > li {
  display: inline-flex !important;
  align-items: center !important;
  gap: 9px !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-white) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  list-style: none !important;
}
html body .hero .hero-page .hero-trust svg {
  display: block !important;
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: var(--text-white) !important;
  stroke-width: 2.4 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body #leistungen .lead.measure {
  margin: 18px 0 0 !important;
  color: var(--text-muted) !important;
}
html body #leistungen .am-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: clamp(18px, 2.4vw, 26px) !important;
  width: 100% !important;
  margin: 44px 0 0 !important;
  padding: 0 !important;
}
html body #leistungen .am-card {
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 28px clamp(22px, 2.4vw, 30px) 30px !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
}
html body #leistungen .am-head {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  width: 100% !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
}
html body #leistungen .am-card .usp-ico {
  display: grid !important;
  place-items: center !important;
  flex: 0 0 54px !important;
  width: 54px !important;
  min-width: 54px !important;
  height: 54px !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: var(--primary-light) !important;
  color: var(--primary) !important;
  border-radius: 14px !important;
}
html body #leistungen .am-card .usp-ico svg {
  display: block !important;
  width: 27px !important;
  height: 27px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
html body #leistungen .am-card .usp-ico img {
  display: block !important;
  width: 27px !important;
  height: 27px !important;
  margin: 0 !important;
  object-fit: contain !important;
}
html body #leistungen .am-num {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 2px 0 0 !important;
  color: var(--text-muted) !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.06em !important;
  font-variant-numeric: tabular-nums !important;
}
html body #leistungen .am-card .h3 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
}
html body #leistungen .am-card .am-claim {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary-deep) !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
}
html body #leistungen .am-card > p:not(.am-claim):not(.av-badge),
html body #leistungen .am-card > .brxe-text-basic:not(.am-claim):not(.av-badge) {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 15.5px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}
html body #leistungen .am-card .av-badge {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  align-self: flex-start !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 100% !important;
  min-height: 38px !important;
  margin: 8px 0 0 !important;
  padding: 9px 17px 9px 14px !important;
  background-color: var(--primary-light) !important;
  color: var(--primary-deep) !important;
  border: 1px solid #cfe1f2 !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
}
html body #leistungen .am-card .av-badge svg {
  display: block !important;
  flex: 0 0 17px !important;
  width: 17px !important;
  height: 17px !important;
  fill: none !important;
  stroke: var(--primary) !important;
  stroke-width: 1.6 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}

html body .subline {
  margin: 10px 0 14px !important;
  color: var(--primary-deep) !important;
  font-size: clamp(17px, 1rem + 0.45vw, 22px) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.015em !important;
}
html body .subline + .lead.measure {
  margin: 0 !important;
  color: var(--text-muted) !important;
}
html body .flow {
  --flow-gap: clamp(18px, 2.6vw, 34px);
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: var(--flow-gap) !important;
  width: 100% !important;
  margin: clamp(30px, 3.6vw, 44px) 0 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
html body .flow > .flow-step {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 22px clamp(16px, 1.6vw, 22px) 24px !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  list-style: none !important;
}
html body .flow > .flow-step:not(:last-child)::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 100% !important;
  z-index: 0 !important;
  display: block !important;
  width: var(--flow-gap) !important;
  height: 2px !important;
  margin-top: -1px !important;
  background-image: radial-gradient(circle, var(--border) 1.1px, transparent 1.2px) !important;
  background-size: 9px 2px !important;
  background-repeat: repeat-x !important;
  pointer-events: none !important;
}
html body .flow .flow-ico {
  position: relative !important;
  z-index: 1 !important;
  display: grid !important;
  place-items: center !important;
  flex: 0 0 42px !important;
  width: 42px !important;
  min-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  margin: 0 !important;
  padding: 0 !important;
  background-color: var(--background-soft) !important;
  color: var(--text-muted) !important;
  border-radius: 11px !important;
}
html body .flow .flow-ico svg {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 1.5 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
html body .flow .flow-ico img {
  display: block !important;
  width: 22px !important;
  height: 22px !important;
  margin: 0 !important;
  object-fit: contain !important;
}
html body .flow .flow-step > p,
html body .flow .flow-step > b,
html body .flow .flow-step > .brxe-text-basic {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-size: 16.5px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
  letter-spacing: -0.018em !important;
}
html body .flow .flow-step.is-here {
  background-color: var(--primary-light) !important;
  border-color: var(--primary) !important;
}
html body .flow .flow-step.is-here .flow-ico {
  background-color: var(--background) !important;
  color: var(--primary) !important;
}

html body a.brxe-div.ref-card {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: clamp(18px, 2.2vw, 26px) !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 112px !important;
  margin: clamp(24px, 3vw, 34px) 0 0 !important;
  padding: 16px clamp(20px, 2.2vw, 26px) 16px 16px !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 14px !important;
  box-shadow: none !important;
  text-decoration: none !important;
  overflow: hidden !important;
  transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease !important;
}
html body a.brxe-div.ref-card > .brxe-div {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body a.brxe-div.ref-card:hover {
  transform: translateY(-3px) !important;
  background-color: var(--background) !important;
  color: var(--text) !important;
  border-color: #d3dbe3 !important;
  box-shadow: 0 16px 38px rgba(15, 35, 55, 0.10) !important;
  text-decoration: none !important;
}

html body a.brxe-div.ref-card > .brxe-div.ref-thumb {
  position: relative !important;
  display: block !important;
  flex: 0 0 112px !important;
  align-self: center !important;
  width: 112px !important;
  min-width: 112px !important;
  max-width: 112px !important;
  height: 80px !important;
  min-height: 80px !important;
  max-height: 80px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-color: var(--primary-light) !important;
  border-radius: 10px !important;
}
html body a.brxe-div.ref-card > .brxe-div.ref-thumb > img,
html body a.brxe-div.ref-card > .brxe-div.ref-thumb > img.brxe-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 0 !important;
  transition: transform 350ms ease !important;
}
html body a.brxe-div.ref-card:hover > .brxe-div.ref-thumb > img {
  transform: scale(1.035) !important;
}

html body a.brxe-div.ref-card > .brxe-div:nth-child(2) {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body a.brxe-div.ref-card .ref-title {
  display: block !important;
  width: 100% !important;
  margin: 0 0 3px !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.018em !important;
  text-decoration: none !important;
}
html body a.brxe-div.ref-card .t {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-align: left !important;
  text-decoration: none !important;
}

html body a.brxe-div.ref-card > .brxe-div.more {
  display: flex !important;
  flex: 0 0 auto !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  justify-content: flex-end !important;
  align-self: center !important;
  gap: 8px !important;
  width: auto !important;
  min-width: max-content !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary-deep) !important;
  white-space: nowrap !important;
}
html body a.brxe-div.ref-card > .brxe-div.more > .brxe-text-basic:first-child {
  display: block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary-deep) !important;
  font-size: 15.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
}
html body a.brxe-div.ref-card .more .arw {
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--primary-deep) !important;
  font-size: 18px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: transform 200ms ease !important;
}
html body a.brxe-div.ref-card:hover .more .arw {
  transform: translateX(4px) !important;
}

@media (prefers-reduced-motion: reduce) {
  html body a.brxe-div.ref-card,
  html body a.brxe-div.ref-card .ref-thumb img,
  html body a.brxe-div.ref-card .arw {
    transition: none !important;
  }
  html body a.brxe-div.ref-card:hover {
    transform: none !important;
  }
  html body a.brxe-div.ref-card:hover .ref-thumb img {
    transform: none !important;
  }
}


html body .fluentform_wrapper_3 {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .fluentform_wrapper_3 form,
html body .fluentform_wrapper_3 fieldset {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .fluentform_wrapper_3 .ff-el-group {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
html body .fluentform_wrapper_3 .ff-el-input--content {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

html body .fluentform_wrapper_3 .ff-el-input--label {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body .fluentform_wrapper_3 .ff_file_upload_holder {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 46px minmax(0, 1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 16px !important;
  row-gap: 2px !important;
  width: 100% !important;
  min-height: 88px !important;
  margin: 0 !important;
  padding: 20px 22px !important;
  background-color: var(--background-soft) !important;
  border: 1.5px dashed #b9c4d0 !important;
  border-radius: 12px !important;
  cursor: pointer !important;
  transition: border-color 180ms ease, background-color 180ms ease !important;
}

html body .fluentform_wrapper_3 .ff_file_upload_holder::before {
  content: "" !important;
  grid-column: 1 !important;
  grid-row: 1 / span 2 !important;
  display: block !important;
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  background-color: var(--background) !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232780c5' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 15.6V4'/%3E%3Cpath d='m8.2 7.8 3.8-3.8 3.8 3.8'/%3E%3Cpath d='M4.4 15v3.4a2.2 2.2 0 0 0 2.2 2.2h10.8a2.2 2.2 0 0 0 2.2-2.2V15'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: 22px 22px !important;
  border: 1px solid var(--border) !important;
  border-radius: 12px !important;
}

html body .fluentform_wrapper_3 .ff_file_upload_holder::after {
  content: "Datei hierher ziehen oder klicken, um sie auszuwählen" !important;
  grid-column: 2 !important;
  grid-row: 2 !important;
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.45 !important;
}

html body .fluentform_wrapper_3 .ff_file_upload_holder .ff_upload_btn,
html body .fluentform_wrapper_3 .ff_file_upload_holder .ff-btn {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--text) !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.018em !important;
  text-align: left !important;
  text-decoration: none !important;
  pointer-events: none !important;
}

html body .fluentform_wrapper_3 .ff_file_upload_holder:hover {
  background-color: var(--primary-light) !important;
  border-color: var(--primary) !important;
}
html body .fluentform_wrapper_3 .ff_file_upload_holder:focus-within {
  background-color: var(--primary-light) !important;
  border-color: var(--primary) !important;
  outline: 3px solid var(--primary) !important;
  outline-offset: 3px !important;
}

html body .fluentform_wrapper_3 input[type="file"].ff-screen-reader-element {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

html body .fluentform_wrapper_3 .ff-uploaded-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}
html body .fluentform_wrapper_3 .ff-uploaded-list:empty {
  display: none !important;
  margin: 0 !important;
}

html body .fluentform_wrapper_3 .ff-uploaded-list .ff-upload-preview,
html body .fluentform_wrapper_3 .ff-uploaded-list > div {
  max-width: 100% !important;
}

html body .fluentform_wrapper_3 .ff-custom_html {
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 0 0 0 15px !important;
  border-left: 3px solid var(--primary-light) !important;
}
html body .fluentform_wrapper_3 .ff-custom_html p {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text-muted) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
}
html body .fluentform_wrapper_3 .ff-custom_html strong {
  color: var(--text) !important;
  font-weight: 600 !important;
}

html body .fluentform_wrapper_3 .ff-custom_html .ph-tag {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  min-height: 22px !important;
  margin: 9px 5px 0 0 !important;
  padding: 2px 9px !important;
  background-color: var(--background) !important;
  color: var(--text-muted) !important;
  border: 1px solid var(--border) !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

html body .fluentform_wrapper_3 .ff_submit_btn_wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  width: 100% !important;
  margin: 28px 0 0 !important;
  padding: 0 !important;
}

html body .fluentform_wrapper_3 button.ff-btn-submit {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 52px !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 26px !important;
  overflow: hidden !important;
  background-color: var(--primary-dark) !important;
  color: var(--text-white) !important;
  border: 2px solid transparent !important;
  border-radius: 5px !important;
  box-shadow: none !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  cursor: pointer !important;
  opacity: 1 !important;
  clip-path: polygon(0 0, 100% 0, 100% 0, 100% 0, 100% 0, 100% 100%, 0 100%) !important;
  transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease, clip-path 240ms cubic-bezier(.3, .8, .4, 1) !important;
}

html body .fluentform_wrapper_3 button.ff-btn-submit::after {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  width: 0 !important;
  height: 0 !important;
  background: linear-gradient(225deg, transparent 0 50%, rgba(255, 255, 255, 0.46) 50%) !important;
  transition: width 240ms cubic-bezier(.3, .8, .4, 1), height 240ms cubic-bezier(.3, .8, .4, 1) !important;
  pointer-events: none !important;
}

html body .fluentform_wrapper_3 button.ff-btn-submit:hover {
  background-color: var(--accent) !important;
  color: var(--text-black) !important;
  border-color: transparent !important;
  clip-path: polygon(0 0, calc(100% - 25px) 0, calc(100% - 19.9px) 2.1px, calc(100% - 2.1px) 19.9px, 100% 25px, 100% 100%, 0 100%) !important;
}
html body .fluentform_wrapper_3 button.ff-btn-submit:hover::after {
  width: 22px !important;
  height: 22px !important;
  background: linear-gradient(225deg, transparent 0 50%, rgba(255, 255, 255, 0.62) 50%) !important;
}

html body .fluentform_wrapper_3 button.ff-btn-submit:focus-visible {
  outline: 3px solid var(--primary) !important;
  outline-offset: 3px !important;
}

html body .fluentform_wrapper_3 .ff-el-is-error .ff_file_upload_holder {
  border-color: #b42318 !important;
}
html body .fluentform_wrapper_3 .error.text-danger,
html body .fluentform_wrapper_3 .ff-el-is-error .text-danger {
  margin-top: 8px !important;
  color: #b42318 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

@media (max-width: 560px) {
  html body .fluentform_wrapper_3 .ff_file_upload_holder {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    column-gap: 14px !important;
    min-height: 84px !important;
    padding: 17px !important;
  }
  html body .fluentform_wrapper_3 .ff_file_upload_holder::before {
    width: 42px !important;
    height: 42px !important;
    background-size: 20px 20px !important;
    border-radius: 10px !important;
  }
  html body .fluentform_wrapper_3 .ff_file_upload_holder .ff_upload_btn,
  html body .fluentform_wrapper_3 .ff_file_upload_holder .ff-btn {
    font-size: 15px !important;
  }
  html body .fluentform_wrapper_3 .ff_file_upload_holder::after {
    font-size: 13px !important;
  }
  html body .fluentform_wrapper_3 .ff-custom_html {
    margin-top: 14px !important;
  }
  html body .fluentform_wrapper_3 .ff_submit_btn_wrapper {
    margin-top: 24px !important;
  }
  html body .fluentform_wrapper_3 button.ff-btn-submit {
    width: 100% !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .fluentform_wrapper_3 .ff_file_upload_holder,
  html body .fluentform_wrapper_3 button.ff-btn-submit,
  html body .fluentform_wrapper_3 button.ff-btn-submit::after {
    transition: none !important;
  }
}