*,
::after,
::before {
  box-sizing: border-box;
}

html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

body {
  display: flex;
  flex-direction: column;
  margin: 0;
  min-height: 100vb;
}

body.block-scroll {
  overflow: clip;
}

main,
#content_form,
#content-container,
body > .container {
  flex-grow: 1;
  padding-bottom: 2rem;
}

a {
  color: inherit;
}

.han-container {
  --container-padding: 4rem;
  --container-max-width: 75rem;
  width: min(100% - var(--container-padding), var(--container-max-width));
  margin-left: auto;
  margin-right: auto;
}

body p {
  font: inherit; /* overwrite portalbasictheme.css styles */
}

:root {
  interpolate-size: allow-keywords;

  --han-color-brand: #e50056;
  --han-color-brand-hover: #b70045;
  --han-neutral-100: white;
  --han-neutral-200: #f8f8f8;
  --han-neutral-300: #e3e3e3;
  --han-neutral-400: #919191;
  --han-neutral-500: #757575;
  --han-neutral-600: #454545;
  --han-neutral-700: #282828;
  --han-neutral-800: black;
}

.han-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  list-style-type: none;
  font-size: 0.875rem;
  padding: 0;
  margin: 0;
  gap: 0.5rem;
}

.han-breadcrumb li {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.han-breadcrumb a {
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
  margin: 0 !important;
}

:is(.han-breadcrumb a):hover,
:is(.han-breadcrumb a):focus,
:is(.han-breadcrumb a):active {
  color: inherit;
}

:is(.han-breadcrumb a):not(:hover):not(:focus) {
  text-decoration: none;
}

[aria-current="page"]:is(.han-breadcrumb a) {
  font-weight: 600;
}

:is(.han-breadcrumb a):focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.han-button-group {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.han-button {
  display: inline-flex;
  align-items: center;
  font-family: inherit;
  font-size: 1rem;
  gap: 0.5rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--han-color-brand);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.25em;
  background-color: transparent;
  border: 2px solid transparent;
  cursor: pointer;
  transition: color 0.2s, background-color 0.2s, border-color 0.2s;
}

.han-button:focus-visible,
.han-button:hover {
  color: var(--han-color-brand-hover);
}

.han-button:focus-visible {
  outline: 2px solid var(--han-neutral-800);
}

.han-button.black {
  color: var(--han-neutral-800);
}

.han-button.primary,
.han-button.secondary {
  padding: 1rem;
  text-decoration: none;
}

@media (width >= 1080px) {
  .han-button.primary,
  .han-button.secondary {
    padding: 1.5rem;
  }
}

.han-button.primary {
  color: var(--han-neutral-100);
  background-color: var(--han-color-brand);
  border-color: var(--han-color-brand);
}

.han-button.primary:focus-visible,
.han-button.primary:hover {
  background-color: var(--han-color-brand-hover);
  border-color: var(--han-color-brand-hover);
  text-decoration: underline;
}

.han-button.primary:focus-visible {
  outline: 2px solid var(--han-neutral-100);
  outline-offset: -4px;
}

.han-button.secondary {
  color: var(--han-neutral-800);
  background-color: var(--han-neutral-100);
  border-color: var(--han-neutral-300);
}

.han-button.secondary:focus-visible,
.han-button.secondary:hover {
  background-color: var(--han-neutral-300);
  text-decoration: underline;
}

.han-button.secondary:focus-visible {
  outline: 2px solid var(--han-neutral-800);
  outline-offset: -4px;
}

.han-footer {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  background-color: var(--han-neutral-800);
  color: var(--han-neutral-100);
  padding-top: 1rem;
  padding-bottom: 1rem;
  min-height: 5rem;
}

.han-footer a,
.han-footer a:hover,
.han-footer a:focus,
.han-footer a:active {
  color: inherit;
  font-size: inherit;
  font-family: inherit;
  font-weight: inherit;
}

.han-footer .han-container {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1rem;
  -moz-column-gap: 2rem;
  column-gap: 2rem;
  justify-content: space-between;
  align-items: center;
}

.han-footer .han-footer-socials {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.han-footer .han-footer-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 0.5rem;
  -moz-column-gap: 1.5rem;
  column-gap: 1.5rem;
}

:is(.han-footer .han-footer-links) a:not(:hover):not(:focus) {
  text-decoration: none;
}

:is(.han-footer .han-footer-links) a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

#EntityFormPanel input {
  accent-color: black;
}

#EntityFormPanel input[type="text"],
#EntityFormPanel input[type="tel"],
#EntityFormPanel input[type="email"],
#EntityFormPanel input[type="url"],
#EntityFormPanel input[type="password"],
#EntityFormPanel input[type="date"],
#EntityFormPanel input[type="datetime-local"],
#EntityFormPanel input[type="number"],
#EntityFormPanel input[type="search"],
#EntityFormPanel input[type="time"],
#EntityFormPanel input[type="week"],
#EntityFormPanel input[type="monthh"],
#EntityFormPanel select,
#EntityFormPanel textarea {
  border: 1px solid var(--han-neutral-300);
  border-bottom: 2px solid var(--han-neutral-600);
  border-radius: 0;
  padding: 1rem;
}

:is(
    #EntityFormPanel input[type="text"],
    #EntityFormPanel input[type="tel"],
    #EntityFormPanel input[type="email"],
    #EntityFormPanel input[type="url"],
    #EntityFormPanel input[type="password"],
    #EntityFormPanel input[type="date"],
    #EntityFormPanel input[type="datetime-local"],
    #EntityFormPanel input[type="number"],
    #EntityFormPanel input[type="search"],
    #EntityFormPanel input[type="time"],
    #EntityFormPanel input[type="week"],
    #EntityFormPanel input[type="monthh"],
    #EntityFormPanel select,
    #EntityFormPanel textarea
  ):focus {
  box-shadow: none;
  outline: 1px solid var(--han-neutral-800);
}

#EntityFormPanel .field-label {
  margin-bottom: 6px;
}

#EntityFormPanel .form-control + .input-group-addon {
  padding: 17.5px;
}

#EntityFormPanel .section-title {
  border-bottom: 0;
}

:is(#EntityFormPanel .section-title) h3 {
  text-transform: uppercase;
  font-weight: 700;
  color: var(--han-neutral-800);
}

#EntityFormPanel .cell {
  padding-left: 0;
}

.han-header {
  position: sticky;
  top: 0;
  display: flex;
  align-items: center;
  background-color: var(--han-neutral-800);
  color: var(--han-neutral-100);
  min-height: 3.75rem;
  z-index: 100;
}

@media (width >= 1080px) {
  .han-header {
    min-height: 4.75rem;
  }
}

.han-header .han-header-skiplink {
  position: fixed;
  top: 0.5rem;
  left: 0.5rem;
  color: var(--han-neutral-100);
  background-color: var(--han-color-brand);
  padding: 1rem 2rem;
  transform: translateY(-150%);
}

:is(.han-header .han-header-skiplink):focus {
  transform: translateY(0%);
  outline: 2px solid var(--han-neutral-100);
  outline-offset: -4px;
}

.han-header .han-header-logo {
  display: flex;
}

@media (width < 1080px) {
  .han-header .han-header-logo {
    margin-top: 0.8125rem;
    margin-bottom: 0.8125rem;
  }

  :is(.han-header .han-header-logo) svg {
    width: 66px;
  }
}

:is(.han-header .han-header-logo):focus-visible {
  outline: 2px solid var(--han-neutral-100);
  outline-offset: 8px;
}

.han-header .han-header-menu {
  display: flex;
}

@media (width < 1080px) {
  .han-header .han-header-menu {
    justify-content: center;
  }
  :is(.han-header .han-header-menu):not(.is-open) .han-header-menu-content {
    display: none;
  }

  .is-open:is(.han-header .han-header-menu) {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: var(--han-neutral-800);
    overflow: auto;
  }
}

@media (width >= 1080px) {
  .han-header .han-header-menu {
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
  }
}

@media (width < 1080px) {
  .han-header .han-header-menu-content {
    width: 100%;
  }
}

.han-header .han-header-menu-open,
.han-header .han-header-menu-close {
  display: flex;
  position: absolute;
  top: 0;
  border: none;
  color: var(--han-neutral-100);
  padding: 1.25rem;
  font-size: 1.25rem;
  cursor: pointer;
}

@media (width >= 1080px) {
  .han-header .han-header-menu-open,
  .han-header .han-header-menu-close {
    display: none;
  }
}

:is(
    .han-header .han-header-menu-open,
    .han-header .han-header-menu-close
  ):focus-visible {
  outline: 2px solid var(--han-neutral-100);
  outline-offset: -4px;
}

.han-header .han-header-menu-open {
  left: 0;
  background-color: var(--han-neutral-600);
}

.han-header .han-header-menu-close {
  right: 0;
  background-color: transparent;
}

.han-header .han-header-menu-items {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style-type: none;
}

@media (width < 1080px) {
  .han-header .han-header-menu-items {
    padding: 0 1.5rem 5rem;
    flex-direction: column;
    width: 100%;
  }
}

.han-header .han-header-menu-item {
  position: relative;
  display: flex;
}

@media (width < 1080px) {
  .han-header .han-header-menu-item {
    flex-direction: column;
    border-bottom: 1px solid var(--han-neutral-600);
  }

  :is(.han-header .han-header-menu-item):first-child {
    border-top: 1px solid var(--han-neutral-600);
  }
}

.is-open:is(.han-header .han-header-menu-item) .han-header-submenu-items {
  display: flex;
}

@media (width < 1080px) {
  .is-open:is(.han-header .han-header-menu-item) .icon-chevron-down {
    transform: rotate(180deg);
  }
}

@media (width >= 1080px) {
  .is-open:is(.han-header .han-header-menu-item) button {
    color: var(--han-neutral-800);
    background-color: var(--han-neutral-100);
  }
}

@media (width >= 1080px) {
  .line-left:is(.han-header .han-header-menu-item) {
    border-left: 1px solid var(--han-neutral-600);
  }
}

:is(.han-header .han-header-menu-item):last-child .han-header-submenu-items {
  left: auto;
  right: 0;
}

.han-header .han-header-menu-link-button {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 1rem 0;
  background: transparent;
  border: none;
  color: inherit;
  font-family: inherit;
  font-size: 1.125rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

@media (width < 1080px) {
  :is(.han-header .han-header-menu-link-button) span:has(.icon-chevron-down) {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    padding: 0.5rem;
    background-color: var(--han-neutral-700);
  }

  :is(
      :is(.han-header .han-header-menu-link-button) span:has(.icon-chevron-down)
    )
    .icon-chevron-down {
    transition: transform 0.2s;
  }
}

@media (width >= 1080px) {
  .han-header .han-header-menu-link-button {
    padding: 1.6875rem 1.25rem;
    font-size: 1rem;
  }

  :is(.han-header .han-header-menu-link-button) .icon-chevron-down {
    width: 0.75rem;
    height: 0.75rem;
  }
}

:is(.han-header .han-header-menu-link-button):focus-visible,
:is(.han-header .han-header-menu-link-button):hover {
  text-decoration: underline;
}

:is(.han-header .han-header-menu-link-button):focus-visible {
  outline: 2px solid var(--han-neutral-100);
  outline-offset: 4px;
}

@media (width >= 1080px) {
  :is(.han-header .han-header-menu-link-button):focus-visible {
    outline-offset: -4px;
  }
  .is-open :is(.han-header .han-header-menu-link-button):focus-visible {
    outline-color: var(--han-neutral-800);
  }
}

@media (width >= 1080px) {
  :is(.han-header .han-header-menu-link-button):hover {
    color: var(--han-neutral-800);
    background-color: var(--han-neutral-100);
  }
}

.han-header .han-header-submenu-items {
  display: none;
  margin: 0;
  padding: 0;
  list-style-type: none;
  flex-direction: column;
}

@media (width < 1080px) {
  .han-header .han-header-submenu-items {
    padding-bottom: 1rem;
  }
}

@media (width >= 1080px) {
  .han-header .han-header-submenu-items {
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 100%;
    width: -moz-max-content;
    width: max-content;
    max-width: 15.625rem;
    color: var(--han-neutral-800);
    background-color: var(--han-neutral-100);
    box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.1);
  }
}

@media (width >= 1080px) {
  :is(.han-header .han-header-submenu-item):not(:last-child) {
    border-bottom: 1px solid var(--han-neutral-300);
  }
}

.han-header .han-header-submenu-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  margin: 0;
  font-family: inherit;
  font-size: 1rem;
  font-weight: 400;
  text-decoration: none;
}

@media (width < 1080px) {
  .han-header .han-header-submenu-link {
    color: var(--han-neutral-100);
  }
}

:is(.han-header .han-header-submenu-link):focus-visible,
:is(.han-header .han-header-submenu-link):hover {
  text-decoration: underline;
}

:is(.han-header .han-header-submenu-link):focus-visible {
  outline: 2px solid var(--han-neutral-100);
  outline-offset: 4px;
}

@media (width >= 1080px) {
  :is(.han-header .han-header-submenu-link):focus-visible {
    outline: 2px solid var(--han-neutral-800);
    outline-offset: -4px;
  }
}

@media (width >= 1080px) {
  .han-header .han-header-submenu-link {
    padding: 1rem 1.5rem;
    font-size: 0.875rem;
    font-weight: 600;
  }

  :is(.han-header .han-header-submenu-link):focus-visible,
  :is(.han-header .han-header-submenu-link):hover {
    background-color: var(--han-neutral-300);
  }
}

.han-hero:not(:has(.han-hero-image)) {
  margin-top: 2rem;
}

.han-hero:has(.han-hero-image) {
  display: grid;
  align-items: end;
}

.han-hero .han-hero-image,
.han-hero .han-hero-breadcrumb-container {
  grid-area: 1 / 1;
}

.han-hero .han-hero-image {
  display: block;
  width: 100%;
  height: 25rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.han-hero .han-hero-breadcrumb-container {
  position: relative;
  color: var(--han-neutral-100);
  padding-top: 1.5rem;
  padding-bottom: 5rem;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.5);
}

:is(.han-hero .han-hero-breadcrumb-container) .han-container {
  position: relative;
}

:is(:is(.han-hero .han-hero-breadcrumb-container) .han-container)::after {
  content: "";
  position: absolute;
  top: calc(100% + 1.5rem);
  right: -3rem;
  left: -3rem;
  bottom: -5rem;
  background-color: var(--han-neutral-100);
}

.icon {
  flex-shrink: 0;
}

.richtext {
  max-width: 86ch;
}

.richtext h1,
.richtext h2,
.richtext h3,
.richtext h4 {
  font-weight: 700;
  color: var(--han-neutral-800);
}

.richtext h1 {
  margin-top: -0.375rem;
  text-transform: uppercase;
}

.richtext h2 {
  font-size: 1.125rem;
}

.richtext h3 {
  font-size: 1.0625rem;
}

.richtext h4 {
  font-size: 0.9375rem;
}

.richtext a[href] {
  color: var(--han-color-brand);
  text-decoration: underline;
}

.richtext ol,
.richtext ul {
  padding-left: 1.25rem;
}

.han-social-link {
  display: inline-flex;
  padding: 0.5rem;
  background-color: var(--han-neutral-600);
  border-bottom: 2px solid var(--han-color-brand);
}

.han-social-link:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 4px;
}

.text-columns {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
}

.text-columns > * {
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 30ch;
}

.visually-hidden:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}
