@charset "UTF-8";

@font-face {
  font-family: "Iconfont";
  font-style: normal;
  font-weight: normal;
  src: url("../themes/custom/aclvb/fonts/iconfont/iconfont.woff2?3e727c") format("woff2"), url("../themes/custom/aclvb/fonts/iconfont/iconfont.woff?82be5a") format("woff");
  font-display: block;
}

@font-face {
  font-display: swap;
  font-family: "GT Standard";
  font-style: normal;
  font-weight: 400;
  src: url("../themes/custom/aclvb/fonts/GTStandard/GT-Standard-Regular.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "GT Standard";
  font-style: italic;
  font-weight: 400;
  src: url("../themes/custom/aclvb/fonts/GTStandard/GT-Standard-Regular-Oblique.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "GT Standard";
  font-style: normal;
  font-weight: 700;
  src: url("../themes/custom/aclvb/fonts/GTStandard/GT-Standard-Bold.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "GT Standard";
  font-style: normal;
  font-weight: 900;
  src: url("../themes/custom/aclvb/fonts/GTStandard/GT-Standard-Heavy.woff2") format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "IBM Plex Serif";
  font-style: italic;
  font-weight: 500;
  src: url("../themes/custom/aclvb/fonts/IBMPlexSerif/IBMPlexSerif-MediumItalic.woff2") format("woff2");
}

:root {
  --clr-primary: 221.4, 100%, 50%;
  --clr-secondary: 254.5, 69%, 34.1%;
  --clr-secondary-dark: 254.6, 79.5%, 17.3%;
  --clr-secondary-light: 300, 100%, 50%;
  --clr-secondary-medium: 278.4, 100%, 50%;
  --clr-secondary-extra-1: 185.4, 94.3%, 51.6%;
  --clr-secondary-extra-2: 201.3, 96.5%, 66.3%;
  --clr-tertiary-1: 221.3, 100%, 88%;
  --clr-tertiary-2: 215.2, 50.3%, 66.1%;
  --clr-tertiary-3: 225.9, 68.1%, 32%;
  --clr-tertiary-4: 0, 0%, 94.9%;
  --clr-tertiary-5: 279.3, 100%, 88%;
  --clr-tertiary-6: 300, 100%, 93.5%;
  --clr-tertiary-7: 181.8, 44%, 85.3%;
  --clr-white: 0, 0%, 100%;
  --clr-black: 0, 0%, 0%;
  --clr-gray-1: 216, 55.6%, 98.2%;
  --clr-gray-2: 222, 50%, 96.1%;
  --clr-gray-3: 220, 20%, 88.2%;
  --clr-gray-4: 213.3, 20.5%, 65.5%;
  --clr-gray-5: 220.7, 12.8%, 57.3%;
  --clr-gray-6: 220.6, 13.3%, 45.7%;
  --clr-neutral: 203, 100%, 37%;
  --clr-semantic-error-1: 0, 100%, 95%;
  --clr-semantic-error-2: 0, 100%, 73%;
  --clr-semantic-error-3: 0, 100%, 42%;
  --clr-semantic-success-1: 79, 67%, 92%;
  --clr-semantic-success-2: 80, 66%, 59%;
  --clr-semantic-success-3: 80, 66%, 29%;
  --clr-semantic-warning-1: 39, 100%, 92%;
  --clr-semantic-warning-2: 38, 100%, 59%;
  --clr-semantic-warning-3: 38, 100%, 30%;
  --clr-freezbe: var(--clr-secondary-extra-1);
  --clr-base: var(--clr-black);
  --clr-base-bg: var(--clr-gray-1);
  --clr-heading: var(--clr-primary);
  --clr-heading-secondary: var(--clr-secondary-dark);
  --clr-text: var(--clr-base);
  --clr-link: var(--clr-primary);
  --clr-link-hover: var(--clr-primary);
  --clr-link-active: var(--clr-primary);
  --clr-main-menu: var(--clr-secondary-dark);
  --clr-main-menu-hover: var(--clr-secondary-dark);
  --clr-main-menu-active: var(--clr-secondary-dark);
  --clr-text-link: var(--clr-primary);
  --clr-text-link-hover: var(--clr-primary);
  --clr-text-link-active: var(--clr-primary);
  --clr-button: var(--clr-white);
  --clr-button-bg: var(--clr-secondary);
  --clr-button-hover: var(--clr-white);
  --clr-button-hover-bg: var(--clr-primary);
  --clr-button-secondary: var(--clr-primary);
  --clr-button-secondary-bg: transparent;
  --clr-button-secondary-border: var(--clr-primary);
  --clr-button-secondary-hover: var(--clr-primary);
  --clr-button-secondary-hover-bg: var(--clr-white);
  --clr-button-secondary-hover-border: var(--clr-secondary);
  --clr-menu-button: var(--clr-white);
  --clr-menu-button-bg: var(--clr-secondary);
  --clr-menu-button-hover: var(--clr-white);
  --clr-menu-button-hover-bg: var(--clr-primary);
  --clr-border: var(--clr-gray-3);
  --clr-list-item: var(--clr-primary);
  --clr-header-top-bg: var(--clr-gray-1);
  --clr-navigation-bg: var(--clr-primary);
  --clr-nav-submenu: var(--clr-gray-1);
  --clr-mobile-nav: var(--clr-base);
  --clr-mobile-nav-bg: var(--clr-gray-2);
  --clr-mobile-nav-open: var(--clr-white);
  --clr-mobile-nav-open-bg: var(--clr-primary);
  --clr-doormat: var(--clr-gray-2);
  --clr-doormat-bg: var(--clr-gray-5-dark-2);
  --clr-footer: var(--clr-white);
  --clr-footer-bg: var(--clr-black);
  --clr-tabs-background: var(--clr-gray-5-dark);
  --clr-tab-text: var(--clr-link);
  --clr-tab-text-active: var(--clr-white);
  --clr-tab-bg: var(--clr-gray-2);
  --clr-tab-bg-hover: var(--clr-link);
  --clr-tab-bg-active: var(--clr-link);
  --clr-tab-bg-active-2: var(--clr-white);
  --clr-table-border: var(--clr-gray-3);
  --clr-table-header-border: var(--clr-primary);
  --clr-table-header-color: var(--clr-primary);
  --clr-table-background: var(--clr-white);
  --clr-table-zebra-background: var(--clr-gray-2);
  --clr-placeholder: var(--clr-gray-6);
  --clr-form: var(--clr-base);
  --clr-form-border: var(--clr-gray-5);
  --clr-form-background: hsl(var(--clr-white));
  --clr-form-inactive: var(--clr-gray-2);
  --clr-form-active: var(--clr-primary);
  --clr-form-active-border: var(--clr-black);
  --clr-form-disabled: var(--clr-gray-2);
  --clr-form-disabled-bg: var(--clr-white);
  --clr-form-disabled-border: var(--clr-gray-2);
  --clr-highlight: var(--clr-white);
  --clr-highlight-background: var(--clr-secondary-medium);
  --card-background: var(--clr-gray-2);
  --card-background-hover: var(--clr-white);

  --gradient-header-1: linear-gradient(10deg, #261069 7.37%, hsl(var(--clr-secondary)) 45.81%, #0A46EC 83.18%);
  --gradient-header-2: linear-gradient(337deg, #8B0CFF 26.11%, #034DFF 96.55%);
  --gradient-header-3: linear-gradient(108deg, hsl(var(--clr-secondary-dark)) 7.36%, var(--Colors-color-secondary, hsl(var(--clr-secondary))) 100.94%);
  --gradient-header-4: linear-gradient(191deg, hsl(var(--clr-primary)) 15.4%, hsla(var(--clr-secondary-medium), 0.9) 73.98%, rgba(114, 3, 192, 0.94) 85.43%);
  --gradient-header-young: linear-gradient(319deg, hsl(var(--clr-primary)) 28.35%, hsl(var(--clr-primary)) 34.44%, hsl(var(--clr-secondary-dark)) 76.87%);
  --gradient-1: linear-gradient(285deg, #7D059B 0%, #210954 61.37%);
  --gradient-1-young: linear-gradient(289deg, #0FE3F8 -29.78%, #1A094F 80.5%);
  --gradient-2: linear-gradient(273deg, #044BF7 12.89%, hsl(var(--clr-secondary)) 99.09%);
  --gradient-3: linear-gradient(84deg, #9902F5 3.4%, #391C93 75.68%);

  --box-shadow: 0 0 0.9375rem 0 hsla(var(--clr-black), .15);
  --border-radius: 1.5rem;
  --border-radius-small: 1.25rem;
  --border-radius-smaller: 0.9375rem;
  --teaser-border-radius: var(--border-radius);
  --form-border-radius: var(--border-radius);
  --button-border-radius: var(--border-radius);

  --ff-fallback: "Arial", sans-serif;
  --ff-base: "GT Standard";
  --ff-heading: var(--ff-base);
  --ff-quote: "IBM Plex Serif", serif;

  --fs-h1: 2.5rem;
  --fs-h1--alt: 1.625rem;
  --fs-h2: 1.5rem;
  --fs-h3: 1.5rem;
  --fs-h4: 1.25rem;
  --fs-h5: 1.125rem;
  --fs-h6: 1rem;
  --fs-xsmall: 0.75rem;
  --fs-small: 0.875rem;
  --fs-base: 1rem;
  --fs-large: 1.125rem;

  --fw-normal: 400;
  --fw-bold: 700;
  --fw-heavy: 900;
  --fw-quote: 500;
  --lh-h1: 110%;
  --lh-h2: 120%;
  --lh-h3: 130%;
  --lh-h4: 130%;
  --lh-h5: 130%;
  --lh-h6: 130%;
  --lh-base: 160%;

  --gap-xxs: 0.3125rem;
  --gap-xs: 0.625rem;
  --gap-sm: 1rem;
  --gap-md: 1.25rem;
  --gap-lg: 1.875rem;
  --gap-xl: 3.125rem;
  --gap-vert-xs: 2.5rem;
  --gap-vert-sm: 2.5rem;
  --gap-vert-md: 3.125rem;
  --gap-vert-lg: 3.75rem;
  --gap-vert-lg-2: 4.6875rem;
  --gap-vert: 2.5rem;
  --gap-hor: 1.875rem;
  --container-padding: 1.25rem;
  --container-compensate-width: 100%;
  --menubar-height: 3.75rem;
  --mobile-header-space: 5rem;
  --mobile-header-toggle-size: 3rem;
  --header-top-height: 4.1875rem;
  --header-main-height: 6rem;
  --header-logo-offset: 3.1875rem;
  --header-logo-width: 7.8125rem;
  --header-logo-border: 0;
  --header-logo-radius: 0;
  --footer-logo-width: 10.5rem;
  --form-input-padding: 0.625rem;
  --form-input-min-height: 3rem;
  --grid-columns: 12;
  --max-width: 83rem;
  --max-width-inner: 56.25rem;
  --max-narrow-width: 66.75rem;
  --content-max-width: 66.082vw;
  --sidebar-max-width: 24.266vw;
}
:root body:has([class*=node--header-style-gradient]) {
  --clr-highlight: var(--clr-primary);
  --clr-highlight-background: var(--clr-white);
}
:root .layout--bg--grey,
:root .layout--bg--grey-with-circle {
  --card-background: var(--clr-white);
  --card-background-hover: var(--clr-gray-3);
}
:root .layout--bg--white {
  --card-background: var(--clr-gray-2);
  --card-background-hover: var(--clr-white);
}
:root body:has(.branding-freezbe) {
  --mobile-header-space: 5.625rem;
}
:root body.node--freezbe-styling {
  --freezbe-radius: 1.5625rem;
  --clr-highlight-background: var(--clr-freezbe);
  --contact-details-background: var(--clr-tertiary-6);
  --clr-button: var(--clr-freezbe);
  --clr-button-bg: var(--clr-secondary-dark);
  --clr-button-hover: var(--clr-secondary-dark);
  --clr-button-hover-bg: var(--clr-freezbe);
  --clr-menu-button: var(--clr-primary);
  --clr-menu-button-bg: var(--clr-freezbe);
  --image-border-radius: var(--freezbe-radius);
  --navigation__toggle-radius:var(--freezbe-radius);
  --teaser-border-radius: var(--freezbe-radius);
  --form-border-radius: var(--freezbe-radius);
  --button-border-radius: var(--freezbe-radius);
  --focus-border-radius: var(--freezbe-radius);
  --tab-item-border-radius: var(--freezbe-radius);
  --test-border-radius: var(--freezbe-radius);
  --usp-item-large-border-radius: var(--freezbe-radius);
  --cb-usp-border-radius: var(--freezbe-radius);
  --contact-details-border-radius: var(--freezbe-radius);
  --pill-border-radius: var(--freezbe-radius);
}
:root body.node--freezbe-styling:has([class*=node--header-style-gradient]) {
  --clr-highlight: var(--clr-freezbe);
  --clr-highlight-background: var(--clr-primary);
  --gradient-header-1: var(--gradient-header-young);
  --gradient-header-2: var(--gradient-header-young);
  --gradient-header-3: var(--gradient-header-young);
  --gradient-header-4: var(--gradient-header-young);
}

@media (min-width: 768px) {
  :root {
    --gap-vert: var(--gap-vert-sm);
    --gradient-test: linear-gradient(259deg, #230F64 0%, hsl(var(--clr-secondary)) 45.88%, #0B45EA 100%);
    --gradient-header-1: linear-gradient(265deg, hsl(var(--clr-secondary-dark)) 0%, hsl(var(--clr-secondary)) 42.95%, hsl(var(--clr-primary)) 111.75%);
    --gradient-header-2: linear-gradient(273deg, #9C04FF 3.69%, hsl(var(--clr-secondary-medium)) 16.58%, #1844FF 93.01%);
    --gradient-header-3: linear-gradient(264deg, #7103BF 16.1%, hsl(var(--clr-secondary-dark)) 65.91%);
    --gradient-header-4: linear-gradient(84deg, rgba(50, 55, 255, 0.97) 2.83%, hsla(var(--clr-secondary-medium), 0.9) 70.49%, rgba(124, 3, 205, 0.93) 88.21%, rgba(102, 4, 177, 0.94) 98.48%);
    --gradient-header-young: linear-gradient(287deg, hsl(var(--clr-primary)) 8.22%, hsl(var(--clr-primary)) 22.1%, hsl(var(--clr-secondary-dark)) 95.54%);
  }
}
@media (min-width: 940px) {
  :root {
    --clr-menu-button-bg: var(--clr-primary);
    --clr-menu-button-hover-bg: var(--clr-secondary);
    --gap-vert: var(--gap-vert-md);
    --fs-h1: 3.625rem;
    --fs-h1--alt: 2.875rem;
    --fs-h2: 2.5rem;
    --fs-h3: 2rem;
    --fs-h4: 1.5rem;
    --fs-large: 1.25rem;
    --header-logo-width: 6.875rem;
    --header-logo-border: 1.375rem 1.25rem;
    --header-logo-radius: 0 0 0.9375rem 0.9375rem;
    --footer-logo-width: 9.375rem;
  }
  :root body:has([class*=node--header-style-gradient]) {
    --clr-main-menu: var(--clr-white);
    --clr-main-menu-hover: var(--clr-white);
    --clr-main-menu-active: var(--clr-white);
    --clr-menu-button: var(--clr-primary);
    --clr-menu-button-bg: var(--clr-white);
    --clr-menu-button-hover: var(--clr-white);
    --clr-menu-button-hover-bg: var(--clr-primary);
  }
  :root body:has(.main.has-sidebar) {
    --container-compensate-width: calc(100% - var(--sidebar-max-width) + (var(--gap-hor) * 2));
  }
  :root body:has(.branding-freezbe) {
    --header-logo-border: 0;
  }
}
@media (min-width: 1200px) {
  :root {
    --gap-vert: var(--gap-vert-lg);
    --content-max-width: 56.875rem;
    --sidebar-max-width: 18.625rem;
    --header-logo-width: 8.125rem;
    --header-logo-border: 1.75rem 1.5rem;
  }
  :root body:has(.branding-freezbe) {
    --header-logo-width: 11.1875rem;
  }
}
@media (min-width: 1920px) {
  :root {
    --gap-vert: var(--gap-vert-lg-2);
  }
}

#cboxWrapper {
  border-radius: 0;
}

#cboxCurrent {
  bottom: 0;
}

body.theme-debug-mode::after {
  visibility: visible;
}

/*
 Pulse
*/
@keyframes blast {
  0% {
    opacity: 0.1;
    transform: scale(0.1);
  }
  100% {
    opacity: 0.5;
    transform: scale(1);
  }
}
*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  font-family: sans-serif;
  font-size: 100%;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  scroll-behavior: smooth;
  scroll-padding-top: calc(var(--drupal-displace-offset-top, 0px) + 2.5rem) !important;
}

body {
  overflow-x: hidden;
  font-family: var(--ff-base);
  font-size: var(--fs-base);
  font-weight: var(--fw-normal);
  line-height: var(--lh-base);
  text-align: left;
  text-rendering: optimizespeed;
  color: hsla(var(--clr-text, --clr-base));
  background-color: hsla(var(--clr-base-bg));
}
body.has-overview-filters-open {
  overflow: hidden;
}

article,
aside,
dialog,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section {
  display: block;
}

figure {
  margin: 0;
}

hr {
  display: none;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

svg:not(:root) {
  overflow: hidden;
}

details,
menu {
  display: block;
}

summary {
  display: list-item;
}

output {
  display: inline-block;
}

a,
area,
button,
[role=button],
input:not([type=range]),
label,
select,
summary,
textarea {
  touch-action: manipulation;
}

canvas {
  display: inline-block;
}

template {
  display: none;
}

[hidden] {
  display: none !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
}

p {
  margin: 0;
}

abbr[title],
abbr[data-original-title] {
  border-bottom: 0;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline;
  text-decoration: underline dotted;
  cursor: help;
}

address {
  margin-top: 0;
  margin-bottom: var(--gap-md);
  font-style: normal;
  line-height: inherit;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: var(--gap-md);
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: var(--fw-bold);
}

dd {
  margin-top: 0;
  margin-bottom: var(--gap-sm);
  margin-left: 0;
}

dfn {
  font-style: italic;
}

b,
strong {
  font-weight: var(--fw-heavy);
}

em,
i {
  font-style: italic;
}

small {
  font-size: 80%;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

pre,
code,
kbd,
samp {
  font-family: monospace;
  font-size: 1em;
}

label {
  display: inline-block;
  margin-bottom: 0.5rem;
}

button {
  border: 0 none;
  border-radius: 0;
}

input,
button,
select,
optgroup,
textarea {
  box-sizing: border-box;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  cursor: pointer;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=week] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type=date]::-webkit-calendar-picker-indicator:hover,
input[type=datetime]::-webkit-calendar-picker-indicator:hover,
input[type=datetime-local]::-webkit-calendar-picker-indicator:hover,
input[type=week]::-webkit-calendar-picker-indicator:hover {
  background: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  display: block;
  width: 100%;
  max-width: 100%;
  padding: 0;
  font-size: 1.5rem;
  line-height: inherit;
  white-space: normal;
  color: inherit;
  margin-bottom: 0.5rem;
}

progress {
  vertical-align: baseline;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
  appearance: button;
}

.iframe-responsive {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 */
  height: 0;
  width: 100%;
}
.iframe-responsive--full {
  padding-bottom: 75%;
}
.iframe-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}

.pull-right,
[class*=col--].pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.clear {
  clear: both;
}

.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

.hide,
.visually-hidden {
  position: absolute !important;
  display: block !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  overflow: hidden !important;
  height: 1px !important;
  width: 1px !important;
  word-wrap: normal !important;
}
.hide.focusable:focus,
.visually-hidden.focusable:focus {
  position: fixed !important;
  left: 0 !important;
  top: 0 !important;
  z-index: 10010 !important;
  display: block !important;
  clip: auto !important;
  overflow: visible !important;
  height: auto !important;
  width: auto !important;
  background: hsl(var(--clr-white));
}

.hide-text,
.hidden-text {
  overflow: hidden;
  text-indent: 110%;
  white-space: nowrap;
}

.hidden {
  display: none;
}

.invisible,
.element-invisible {
  visibility: hidden;
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
  .visible-xs {
    display: block !important;
  }
  .visible-sm {
    display: none !important;
  }
  .visible-md {
    display: none !important;
  }
  .visible-lg {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 939px) {
  .visible-xs {
    display: none !important;
  }
  .hidden-sm {
    display: none !important;
  }
  .visible-sm {
    display: block !important;
  }
  .visible-md {
    display: none !important;
  }
  .visible-lg {
    display: none !important;
  }
}
@media (min-width: 940px) and (max-width: 1199px) {
  .visible-xs {
    display: none !important;
  }
  .visible-sm {
    display: none !important;
  }
  .hidden-md {
    display: none !important;
  }
  .visible-md {
    display: block !important;
  }
  .visible-lg {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .visible-xs {
    display: none !important;
  }
  .visible-sm {
    display: none !important;
  }
  .visible-md {
    display: none !important;
  }
  .visible-lg {
    display: block !important;
  }
  .hidden-lg {
    display: none !important;
  }
}
.animate-fade {
  transition: opacity 0.3s ease-out;
}
.animate-fade:hover {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  * {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
body,
html {
  margin: 0;
  padding: 0;
  height: 100%;
}

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

.container {
  padding-inline: var(--container-padding);
  margin: 0 auto;
  max-width: var(--max-width);
}
.container .container {
  padding: 0;
  margin: 0;
  max-width: none;
}

.container--fluid {
  padding-inline: var(--container-padding);
}
.container--fluid .container {
  padding: 0;
}

a {
  text-decoration: underline;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
  transition-property: color, background-color;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}
a {
  color: hsl(var(--clr-link));
}
a:focus, a:hover {
  color: hsl(var(--clr-link-hover));
}
a:active {
  color: hsl(var(--clr-link-active));
}
a::after, a::before {
  transition: all 0.3s ease-in-out;
}

.more-link a,
.link--more {
  white-space: nowrap;
  word-break: keep-all;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-weight: var(--fw-bold);
  position: relative;
  transition-property: color, background-color, border;
}
.more-link a::after,
.link--more::after {
  position: absolute;
  top: calc(100% + 0.1875rem);
  left: 0;
  width: 100%;
  border-bottom: 0.125rem solid hsl(var(--clr-secondary));
  content: "";
}
.more-link a, .more-link a:visited,
.link--more,
.link--more:visited {
  color: hsl(var(--clr-primary));
}
.more-link a::after, .more-link a:visited::after,
.link--more::after,
.link--more:visited::after {
  position: absolute;
  top: calc(100% + 0.1875rem);
  width: 100%;
  border-bottom: 0.125rem solid hsl(var(--clr-secondary));
}
.more-link a:is(:focus, :hover),
.link--more:is(:focus, :hover) {
  color: hsl(var(--clr-primary));
}
.more-link a:is(:focus, :hover)::after,
.link--more:is(:focus, :hover)::after {
  border-color: hsl(var(--clr-primary));
}
.more-link a:active,
.link--more:active {
  color: hsl(var(--clr-primary));
}
.more-link a:active::after,
.link--more:active::after {
  border-color: hsl(var(--clr-secondary));
}

.more-link--big a,
.link--more-big {
  white-space: nowrap;
  word-break: keep-all;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-weight: var(--fw-bold);
  position: relative;
  transition-property: color, background-color, border;
}
.more-link--big a::after,
.link--more-big::after {
  position: absolute;
  top: calc(100% + 0.1875rem);
  left: 0;
  width: 100%;
  border-bottom: 0.125rem solid hsl(var(--clr-secondary));
  content: "";
}
.more-link--big a, .more-link--big a:visited,
.link--more-big,
.link--more-big:visited {
  color: hsl(var(--clr-primary));
}
.more-link--big a::after, .more-link--big a:visited::after,
.link--more-big::after,
.link--more-big:visited::after {
  position: absolute;
  top: calc(100% + 0.1875rem);
  width: 100%;
  border-bottom: 0.125rem solid hsl(var(--clr-secondary));
}
.more-link--big a:is(:focus, :hover),
.link--more-big:is(:focus, :hover) {
  color: hsl(var(--clr-primary));
}
.more-link--big a:is(:focus, :hover)::after,
.link--more-big:is(:focus, :hover)::after {
  border-color: hsl(var(--clr-primary));
}
.more-link--big a:active,
.link--more-big:active {
  color: hsl(var(--clr-primary));
}
.more-link--big a:active::after,
.link--more-big:active::after {
  border-color: hsl(var(--clr-secondary));
}
.more-link--big a,
.link--more-big {
  font-size: var(--fs-large);
}

.back-link a,
.link--back {
  white-space: nowrap;
  word-break: keep-all;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  font-weight: var(--fw-bold);
  position: relative;
  transition-property: color, background-color, border;
}
.back-link a::after,
.link--back::after {
  position: absolute;
  top: calc(100% + 0.1875rem);
  left: 0;
  width: 100%;
  border-bottom: 0.125rem solid hsl(var(--clr-secondary));
  content: "";
}
.back-link a, .back-link a:visited,
.link--back,
.link--back:visited {
  color: hsl(var(--clr-primary));
}
.back-link a::after, .back-link a:visited::after,
.link--back::after,
.link--back:visited::after {
  position: absolute;
  top: calc(100% + 0.1875rem);
  width: 100%;
  border-bottom: 0.125rem solid hsl(var(--clr-secondary));
}
.back-link a:is(:focus, :hover),
.link--back:is(:focus, :hover) {
  color: hsl(var(--clr-primary));
}
.back-link a:is(:focus, :hover)::after,
.link--back:is(:focus, :hover)::after {
  border-color: hsl(var(--clr-primary));
}
.back-link a:active,
.link--back:active {
  color: hsl(var(--clr-primary));
}
.back-link a:active::after,
.link--back:active::after {
  border-color: hsl(var(--clr-secondary));
}
.back-link a,
.link--back {
  display: inline-flex;
  gap: 0.5rem;
}

.back-link a::before,
.link--back::before {
  margin-top: -0.125rem;
  color: hsl(var(--clr-primary));
}
.back-link a:is(:focus, :hover, :active)::before,
.link--back:is(:focus, :hover, :active)::before {
  color: hsl(var(--clr-primary));
}
.back-link a::before,
.link--back::before {
  justify-content: flex-start;
  margin-right: 0.5rem;
}

.text-long {
  --clr-link: var(--clr-gray-6);
}

:where(ul.inline,
.cke_editable,
.ck-editor__editable,
.text-long,
.text-long .links li) a:where(:hover,
:focus-visible) {
  background: hsl(var(--clr-secondary-light));
}

a:not([href]):not([tabindex]) {
  text-decoration: none;
}

a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover {
  text-decoration: none;
}

[onclick^="location.href="],
[onclick^="window.open"] {
  cursor: pointer;
}

.buttons__wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gap-sm);
}

.file {
  position: relative;
  display: inline-flex;
  gap: var(--gap-xs);
  align-items: center;
  background: none;
}

.list__item--download {
  font-size: var(--fs-small);
  line-height: var(--lh-base);
  box-shadow: none;
  transition: all 0.3s ease-in-out;
}
.list__item--download:focus, .list__item--download:hover {
  color: hsl(var(--clr-white));
  background-color: hsl(var(--clr-primary));
  box-shadow: 0 0 0 0.2em hsl(var(--clr-primary));
}
.list__item--download:focus .icon::before, .list__item--download:hover .icon::before {
  color: hsl(var(--clr-white));
}
.list__item--download .icon--file {
  color: hsl(var(--clr-primary));
}
.list__item--download a,
.list__item--download a:visited {
  color: hsl(var(--clr-primary));
  transition-property: all;
}
.list__item--download a:focus,
.list__item--download a:hover,
.list__item--download a:active {
  color: hsl(var(--clr-white));
}

h1,
.h1 {
  font-family: var(--ff-heading);
  margin: 0 0 var(--gap-h1, var(--gap-md)) 0;
  font-size: var(--fs-h1);
  font-weight: var(--fw-heavy);
  line-height: var(--lh-h1);
  color: hsl(var(--clr-heading));
}
h1 a:link,
h1 a:visited,
.h1 a:link,
.h1 a:visited {
  text-decoration: none;
  color: hsl(var(--clr-link));
}
h1 a:focus,
h1 a:hover,
.h1 a:focus,
.h1 a:hover {
  text-decoration: underline;
  color: hsl(var(--clr-link));
}

h2,
.h2 {
  font-family: var(--ff-heading);
  margin: 0 0 var(--gap-h2, 0.75rem) 0;
  font-size: var(--fs-h2);
  font-weight: var(--fw-h2, var(--fw-bold));
  line-height: var(--lh-h2);
  color: hsl(var(--clr-heading));
}
h2 a:link,
h2 a:visited,
.h2 a:link,
.h2 a:visited {
  text-decoration: none;
  color: hsl(var(--clr-link));
}
h2 a:focus,
h2 a:hover,
.h2 a:focus,
.h2 a:hover {
  text-decoration: underline;
  color: hsl(var(--clr-link));
}
@media (min-width: 940px) {
  h2,
  .h2 {
    margin-block-end: var(--gap-h2, var(--gap-sm));
  }
}

h3,
.h3 {
  font-family: var(--ff-heading);
  margin: 0 0 var(--gap-h3, 0.75rem) 0;
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
  line-height: var(--lh-h3);
  color: hsl(var(--clr-heading-secondary));
}
h3 a:link,
h3 a:visited,
.h3 a:link,
.h3 a:visited {
  text-decoration: none;
  color: hsl(var(--clr-link));
}
h3 a:focus,
h3 a:hover,
.h3 a:focus,
.h3 a:hover {
  text-decoration: underline;
  color: hsl(var(--clr-link));
}

h4,
.h4 {
  font-family: var(--ff-heading);
  hyphens: auto;
  margin: 0 0 var(--gap-h4, 0.75rem) 0;
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  line-height: var(--lh-h4);
  color: hsl(var(--clr-heading-secondary));
}
h4 a:link,
h4 a:visited,
.h4 a:link,
.h4 a:visited {
  text-decoration: none;
  color: hsl(var(--clr-link));
}
h4 a:focus,
h4 a:hover,
.h4 a:focus,
.h4 a:hover {
  text-decoration: underline;
  color: hsl(var(--clr-link));
}

h5,
.h5 {
  margin: 0 0 var(--gap-h5, 0.75rem) 0;
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
  line-height: var(--lh-h6);
  color: hsl(var(--clr-heading-secondary));
}

h6,
.h6 {
  margin: 0 0 var(--gap-h6, var(--gap-xs)) 0;
  font-size: var(--fs-h6);
  font-weight: var(--fw-bold);
  line-height: var(--lh-h6);
  color: hsl(var(--clr-heading-secondary));
}

.text-long h2.no-margin,
.text-long h3.no-margin,
.text-long h4.no-margin,
.text-long h5.no-margin,
.text-long h6.no-margin {
  margin-bottom: 0;
}

mark,
.marker,
.highlight {
  display: inline-block;
  border-radius: var(--border-radius-smaller);
  color: hsl(var(--clr-highlight));
  background-color: hsl(var(--clr-highlight-background));
  padding-inline: 0.25rem;
}

small,
.small {
  font-size: var(--fs-small);
  line-height: var(--lh-base);
}

p:not(:last-child),
.p:not(:last-child) {
  margin-bottom: var(--gap-md);
}

.text-long .text-align-right {
  text-align: right;
}
.text-long .text-align-center {
  text-align: center;
}
.text-long .text-align-justify {
  text-align: justify;
}
.text-long p.no-margin,
.text-long .p.no-margin {
  margin-bottom: 0;
}
.text-long ul:not(.inline) .text-align-right::before,
.text-long ul:not(.inline) .text-align-center::before,
.text-long ol:not(.inline) .text-align-right::before,
.text-long ol:not(.inline) .text-align-center::before {
  position: relative;
  top: 0;
  left: 0;
  display: inline-block;
  margin-right: 0.625rem;
}
.text-long blockquote,
.text-long .blockquote {
  position: relative;
  margin: 0 0 var(--gap-md);
  padding: 0;
  width: 100%;
  font-weight: var(--fw-quote);
  line-height: var(--lh-base);
  font-family: var(--ff-quote);
  font-style: italic;
  color: hsl(var(--clr-heading));
  background-color: transparent;
}
.text-long blockquote::before,
.text-long .blockquote::before {
  content: "“";
  margin-right: 0.25rem;
}
.text-long blockquote::after,
.text-long .blockquote::after {
  content: "”";
  margin-left: -0.25rem;
}
.text-long blockquote p,
.text-long .blockquote p {
  display: inline;
}
.text-long blockquote:last-child,
.text-long .blockquote:last-child {
  margin-bottom: 0;
}
.text-long hr,
.text-long .hr {
  display: block;
  box-sizing: content-box;
  overflow: visible;
  margin: var(--gap-md) 0;
  padding: 0;
  width: 100%;
  height: 0;
  border: 0;
  border-top: 0.0625rem solid hsl(var(--clr-border));
}
.text-long hr:last-child,
.text-long .hr:last-child {
  margin-bottom: 0;
}
.text-long pre,
.text-long .pre {
  overflow: auto;
  -ms-overflow-style: scrollbar;
  margin: 0 0 var(--gap-md) 0;
  padding: 0.9375rem;
  border: 0.0625rem solid rgba(0, 0, 0, 0.15);
  border-radius: 0.3125rem;
  font-family: monospace;
  font-size: 1em;
  white-space: pre-line;
  color: hsl(var(--clr-base));
  background-color: hsl(var(--clr-white));
}
.text-long pre:last-child,
.text-long .pre:last-child {
  margin-bottom: 0;
}

ul,
ol,
dl {
  margin: 0 0 var(--gap-sm) 0;
}
ul ul, ul ol,
ol ul,
ol ol,
dl ul,
dl ol {
  margin-block: var(--gap-sm);
}
ul li,
ol li,
dl li {
  margin-bottom: var(--gap-xxs);
  list-style-position: inside;
}
ul li:last-child,
ol li:last-child,
dl li:last-child {
  margin-bottom: 0;
}

ul {
  padding: 0 0 0 1.25rem;
}

ol {
  padding: 0 0 0 1.5rem;
}

dl {
  padding: 0 0 0 1.5rem;
}
dl dt {
  margin-top: var(--gap-sm);
}
dl dt:first-child {
  margin-top: 0;
}
dl dt + dd {
  margin-top: var(--gap-sm);
}
dl dd {
  margin-bottom: var(--gap-xxs);
}

/* buttons */
.btn {
  cursor: pointer;
  display: inline-flex;
  gap: 10px;
  border: 0 none;
  border-radius: var(--button-border-radius);
  align-items: center;
  padding: 0.6875rem var(--gap-md);
  font-size: var(--fs-base);
  line-height: var(--lh-base);
  font-weight: var(--fw-bold);
  text-align: center;
  text-decoration: none;
  color: hsl(var(--clr-button));
  background: hsl(var(--clr-button-bg));
  background-repeat: no-repeat;
  transition-property: background, color, box-shadow;
  transition-duration: 0.3s;
  transition-timing-function: ease-in-out;
}

:is(.btn):is(:focus-visible, :hover, :active) {
  border: 0 none;
  color: hsl(var(--clr-button-hover));
  background: hsl(var(--clr-button-hover-bg));
}

.btn--negative {
  color: hsl(var(--clr-primary));
  background: hsl(var(--clr-white));
}

.btn--negative:is(:focus-visible, :hover, :active) {
  color: hsl(var(--clr-button-hover));
  background: hsl(var(--clr-button-hover-bg));
}
