/*

100 = thin / hairline
200 = extra light / ultra light
300 = light
400 = normal / regular
500 = medium
600 = semi bold / demi bold
700 = bold
800 = heavy / extra bold
900 = black / ultra bold

*/

/*  INTER UI VARIABLE
//////////////////////////////////////////////////////////////////////////////*/

@font-face {
    font-family: "Inter var";
    font-weight: 100 900;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/inter/Inter-var.woff2) format("woff2");
}

@font-face {
    font-family: "Inter var";
    font-weight: 100 900;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/inter/Inter-italic-var.woff2) format("woff2");
}

/*  The Sans
//////////////////////////////////////////////////////////////////////////////*/

@font-face {
    font-family: "TheSans";
    font-weight: 400;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/TheSans/TheSansC5-4_SemiLight.woff2) format("woff2");
}

@font-face {
    font-family: "TheSans";
    font-weight: 500;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/TheSans/TheSansC5-5_Plain.woff2) format("woff2");
}

@font-face {
    font-family: "TheSans";
    font-weight: 700;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/TheSans/TheSansC5-7_Bold.woff2) format("woff2");
}

/*  Public Sans
//////////////////////////////////////////////////////////////////////////////*/

@font-face {
    font-family: "Public Sans";
    font-weight: 100;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-Thin.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 100;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-ThinItalic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 200;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-ExtraLight.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 200;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-ExtraLightItalic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 300;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-Light.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 300;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-LightItalic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 400;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-Regular.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 400;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-Italic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 500;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-Medium.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 500;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-MediumItalic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 600;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-SemiBold.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 600;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-SemiBoldItalic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 700;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-Bold.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 700;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-BoldItalic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 800;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-ExtraBold.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 800;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-ExtraBoldItalic.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 900;
    font-style: normal;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-Black.woff2) format("woff2");
}

@font-face {
    font-family: "Public Sans";
    font-weight: 900;
    font-style: italic;
    font-display: block;
    src: url(../../files/gima/fonts/public-sans/PublicSans-BlackItalic.woff2) format("woff2");
}

@charset "UTF-8";
/*//////////////////////////////////////////////////////////////////////////////
//
//	GIMA THEME
//
//////////////////////////////////////////////////////////////////////////////*/
/*  VARIABLES
//////////////////////////////////////////////////////////////////////////////*/
:root {
  --font-family-theSans: "TheSans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Helvetica, sans-serif;
  --font-family-copy: var(--font-family-theSans);
  --font-size-s: 0.875rem;
  --font-size-m: 1rem;
  --font-size-l: 1.125rem;
  --font-size-xl: 1.25rem;
  --font-size-xxl: 1.5rem;
  --font-size-xxxl: 4rem;
  --line-height-base: 1.5;
  --line-height-m: 1.5;
  --line-height-l: 1.5;
  --line-height-xl: 1.5;
  --line-height-xxl: 1.5;
  --line-height-xxxl: 1;
  --font-weight-base: 400;
  --font-weight-semibold: 500;
  --font-weight-bold: 700;
  --font-weight-headings: 500;
  --border-width: 2px;
  --border-width-l: 2px;
  --border-style: solid;
  --border-color: var(--color-text);
  --border: var(--border-width) var(--border-style);
  --spacing-xxs: 0.125rem;
  --spacing-xs: 0.25rem;
  --spacing-s: 0.5rem;
  --spacing-m: 1rem;
  --spacing-l: 2rem;
  --spacing-xl: 4rem;
  --width-page: 80rem;
  --width-column: 20rem;
  --grid-gap: 2px;
  --color-text: var(--color-black);
  --color-links: var(--color-black);
  --color-links-hover: var(--color-black);
  --color-black: rgb(25, 25, 25);
  --color-white: rgb(255, 255, 255);
  /*
      --color-gima-yellow: rgb(224, 173, 27);
      --color-gima-yellow-light: rgb(245, 229, 184);


      --color-gima-brown: rgb(84, 54, 55);
      --color-gima-brown-light: rgb(224, 218, 218);

      --color-gima-slate: rgb(51, 77, 92);
      --color-gima-slate-light: rgb(206, 228, 240);

      --color-gima-cyan: rgb(30, 163, 184);
      --color-gima-cyan-light: rgb(190, 230, 237);


  */
  --color-gima-red: rgb(173, 15, 15);
  --color-gima-red-light: rgb(240, 192, 192);
  --color-gima-blue: rgb(51, 77, 92);
  --color-gima-blue-light: rgb(154, 181, 197);
  --color-gima-green: rgb(144, 193, 94);
  --color-gima-green-light: rgb(207, 231, 182);
  --color-gima-grey: rgb(153, 166, 173);
  --color-gima-grey-light: rgb(221, 228, 231);
}

/*//////////////////////////////////////////////////////////////////////////////
//	1 BASE
//////////////////////////////////////////////////////////////////////////////*/
/*  GENERIC (RESET) STYLES
//////////////////////////////////////////////////////////////////////////////*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

body {
  min-height: 100vh;
  scroll-behavior: smooth;
  text-rendering: optimizeSpeed;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex]:not([tabindex="-1"]) {
  -ms-touch-action: manipulation;
      touch-action: manipulation;
}

/*  TYPOGRAPHY
//////////////////////////////////////////////////////////////////////////////*/
:root {
  font-size: 14px;
  line-height: var(--line-height-base);
  font-family: var(--font-family-copy);
  font-weight: var(--font-weight-base);
  color: var(--color-text);
}
@media (min-width: 1120px) {
  :root {
    font-size: calc(1.1111111111vw + 1.5555555556px);
  }
}
@media (min-width: 1300px) {
  :root {
    font-size: 16px;
  }
}

em,
i,
q,
dfn {
  font-style: italic;
}

small {
  font-size: var(--font-size-s);
}

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

ins {
  text-decoration: underline;
}

sub,
sup {
  font-size: var(--font-size-s);
  line-height: 0 !important;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

abbr,
acronym {
  cursor: help;
}

hr {
  border-style: solid;
  border-width: 1px 0 0 0;
  border-color: var(--color-text);
  margin: var(--spacing-m) 0;
}

pre,
code {
  font-family: var(--font-family-code);
}

code {
  padding: 0 var(--spacing-xs);
}

::-moz-selection {
  background-color: var(--color-black);
  color: var(--color-white);
  text-shadow: none;
}

::selection {
  background-color: var(--color-black);
  color: var(--color-white);
  text-shadow: none;
}

.text--s,
.text-s {
  font-size: var(--font-size-s);
  line-height: var(--line-height-base);
}

.text--m,
.text-m {
  font-size: var(--font-size-m);
  line-height: var(--line-height-base);
}

.text--l,
.text-l {
  font-size: var(--font-size-l);
  line-height: var(--line-height-l);
}

.text--xl,
.text-xl {
  font-size: var(--font-size-xl);
  line-height: var(--line-height-xl);
}

.text--xxl,
.text-xxl {
  font-size: var(--font-size-xxl);
  line-height: var(--line-height-xxl);
}

.text--xxxl,
.text-xxxl {
  font-size: var(--font-size-xxxl);
  line-height: var(--line-height-xxxl);
}

/*  HEADINGS
//////////////////////////////////////////////////////////////////////////////*/
.h,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  font-weight: var(--font-weight-headings);
}

.area--main h2 {
  line-height: var(--spacing-l);
  margin-bottom: var(--spacing-s);
}

/*  LINKS & FOCUS STYLES
//////////////////////////////////////////////////////////////////////////////*/
a {
  color: inherit;
  text-decoration: none;
}
.ce_text a {
  text-decoration: underline;
  -webkit-text-decoration-color: inherit;
     -moz-text-decoration-color: inherit;
          text-decoration-color: inherit;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
.ce_text a::after {
  content: "»";
  display: inline-block;
  margin-left: var(--spacing-xs);
}
.ce_text a.no-arrow::after {
  content: "";
}
.ce_text a.no-underline {
  text-decoration: none;
}

[tabindex="-1"]:focus {
  outline: none !important;
}

*:focus:not(:focus-visible) {
  outline: none;
}

/*  SPACING
//////////////////////////////////////////////////////////////////////////////*/
body,
ul[class],
ol[class],
nav ul,
li {
  margin: 0;
}

.h,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
p,
table,
form,
address,
blockquote,
figure,
blockquote,
dl,
dd,
pre {
  margin: 0;
}

p {
  margin-bottom: var(--spacing-m);
}

/*  FORMS
//////////////////////////////////////////////////////////////////////////////*/
input,
button,
textarea,
select {
  font-size: var(--font-size-m);
  line-height: var(--line-height-base);
  font-family: var(--font-family-copy);
  margin: 0;
}

button,
[type=button],
[type=reset],
[type=submit],
.submit {
  -webkit-appearance: button;
  display: inline-block;
  padding: calc(var(--spacing-s) - var(--border-width)) var(--spacing-m);
  min-width: 6rem;
  overflow: visible;
  vertical-align: top;
  background-color: var(--color-links);
  color: var(--color-white);
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--color-links);
  border-radius: var(--border-radius);
  cursor: pointer;
  font-weight: var(--font-weight-normal);
  letter-spacing: 0.05em;
  text-decoration: none;
  text-align: center;
}
button:hover,
[type=button]:hover,
[type=reset]:hover,
[type=submit]:hover,
.submit:hover {
  background-color: var(--color-links-hover);
  border-color: var(--color-links-hover);
}
button:focus,
[type=button]:focus,
[type=reset]:focus,
[type=submit]:focus,
.submit:focus {
  outline: var(--border-width-l) solid var(--color-links);
  outline-offset: calc(var(--border-width-l) * -1);
}

button,
select {
  text-transform: none;
}

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

input[type=text],
input[type=password],
input[type=search],
input[type=email],
select,
textarea {
  display: block;
  border: none;
  padding: var(--spacing-s);
  background-color: var(--color-grey-50);
}
input[type=text]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=email]:focus,
select:focus,
textarea:focus {
  outline: var(--border-width-l) solid var(--color-links);
  outline-offset: calc(var(--border-width-l) * -1);
}

fieldset {
  margin: 0 0 var(--spacing-s) 0;
  padding: 0;
  border: none;
}

legend,
label {
  padding: 0;
  font-size: var(--font-size-s);
  line-height: 1.25rem;
  font-weight: var(--font-weight-semibold);
}

legend {
  color: inherit;
  display: table;
  max-width: 100%;
  margin: 0 0 var(--spacing-xs) 0;
  padding: 0;
  white-space: normal;
  font-weight: var(--font-weight-bold);
}

label {
  cursor: pointer;
}
label .mandatory {
  color: var(--color-red);
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

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

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

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

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

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

.widget {
  margin: 0 0 var(--spacing-s) 0;
}
.widget:last-of-type {
  margin: 0;
}
.widget input,
.widget select,
.widget textarea {
  width: 100%;
}

.widget-radio .radio_container > span,
.widget-checkbox .checkbox_container > span {
  display: -ms-flexbox;
  display: flex;
}
.widget-radio .radio_container > span input,
.widget-checkbox .checkbox_container > span input {
  -ms-flex-item-align: center;
      align-self: center;
  margin-right: var(--spacing-s);
}

.widget-explanation {
  font-size: var(--font-size-s);
  line-height: var(--line-height-base);
}

.widget-select {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  position: relative;
}
.widget-select label {
  width: 100%;
}
.widget-select select {
  color: var(--color-text);
  width: auto;
  padding-right: calc(var(--spacing-m) * 2 + var(--spacing-s));
}
.widget-select .icon {
  display: block;
  margin-left: calc((var(--spacing-m) + var(--spacing-s)) * -1);
  margin-top: var(--spacing-s);
  position: relative;
  width: var(--spacing-m);
  height: var(--spacing-m);
  pointer-events: none;
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    position: relative;
  }
}

@supports (-webkit-appearance: none) or (-moz-appearance: none) {
  input[type=checkbox],
input[type=radio] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--color-grey-50);
    width: 1rem;
    height: 1rem;
    outline: none;
    display: inline-block;
    vertical-align: top;
    position: relative;
    margin: 0;
    cursor: pointer;
    border: var(--border-width) solid var(--color-grey-200);
  }
  input[type=checkbox]:hover,
input[type=radio]:hover {
    border-color: var(--color-text);
  }
  input[type=checkbox]:after,
input[type=radio]:after {
    content: "";
    display: block;
    left: 0;
    top: 0;
    position: absolute;
  }
  input[type=checkbox]:disabled,
input[type=radio]:disabled {
    cursor: not-allowed;
    opacity: 0.9;
  }
  input[type=checkbox]:disabled + label,
input[type=radio]:disabled + label {
    cursor: not-allowed;
  }
  input[type=checkbox]:focus,
input[type=radio]:focus {
    background-color: var(--color-white);
  }
  input[type=checkbox]:after,
input[type=radio]:after {
    opacity: 0;
  }
  input[type=checkbox]:checked,
input[type=radio]:checked {
    border-color: var(--color-links);
    background-color: var(--color-white);
    box-shadow: none;
  }
  input[type=checkbox]:checked::after,
input[type=radio]:checked::after {
    opacity: 1;
  }

  input[type=checkbox] {
    border-radius: var(--border-radius-s);
  }
  input[type=checkbox]:after {
    content: "✓";
    line-height: calc(1rem - (var(--border-width) * 2));
    height: calc(1rem - (var(--border-width) * 2));
    font-size: 0.75rem;
    text-align: center;
    width: 100%;
    font-weight: 800;
  }

  input[type=radio] {
    border-radius: 50%;
  }
  input[type=radio]:after {
    width: calc(1rem - (var(--border-width) * 2));
    height: calc(1rem - (var(--border-width) * 2));
    border-radius: 50%;
    background: var(--color-black);
    transform: scale(0.5);
  }
}
/*  TABLES
//////////////////////////////////////////////////////////////////////////////*/
table {
  width: 100%;
  margin: 0;
  border-collapse: collapse;
}
table th {
  font-weight: var(--font-weight-bold);
}

/*  LISTS
//////////////////////////////////////////////////////////////////////////////*/
nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.mod_article ul,
.mod_article ol {
  margin: 0 0 var(--spacing-m) 0;
}

.mod_article ul {
  list-style: square;
}
.mod_article ul li {
  margin-bottom: var(--spacing-xs);
}

nav ul,
nav ol {
  margin: 0;
}
nav ul li,
nav ol li {
  padding: 0;
}

/*  MEDIA
//////////////////////////////////////////////////////////////////////////////*/
img,
video {
  max-width: 100%;
  height: auto;
  display: block;
}

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: bottom;
  border: none;
}

.image_container {
  position: relative;
}
.image_container > a,
.image_container img {
  smargin-bottom: var(--spacing-m);
}
.image_container a {
  display: block;
}

/*  COLORS
//////////////////////////////////////////////////////////////////////////////*/
/*
.theme--yellow {
    --color-primary: var(--color-gima-yellow);
    --color-primary-light: var(--color-gima-yellow-light);
}


.theme--brown {
    --color-primary: var(--color-gima-brown);
    --color-primary-light: var(--color-gima-brown-light);
}

.theme--slate {
    --color-primary: var(--color-gima-slate);
    --color-primary-light: var(--color-gima-slate-light);
}

.theme--cyan {
    --color-primary: var(--color-gima-cyan);
    --color-primary-light: var(--color-gima-cyan-light);
}

*/
.theme--red {
  --color-primary: var(--color-gima-red);
  --color-primary-light: var(--color-gima-red-light);
}

.theme--blue {
  --color-primary: var(--color-gima-blue);
  --color-primary-light: var(--color-gima-blue-light);
}

.theme--green {
  --color-primary: var(--color-gima-green);
  --color-primary-light: var(--color-gima-green-light);
}

.theme--grey {
  --color-primary: var(--color-gima-grey);
  --color-primary-light: var(--color-gima-grey-light);
}

.area--main > .mod_article {
  background-color: var(--color-primary);
  color: var(--color-white);
  /*
  &.card--yellow {
      background-color: var(--color-gima-yellow);
  }

  &.card--brown {
      background-color: var(--color-gima-brown);
  }
  &.card--slate {
      background-color: var(--color-gima-slate);
  }
  &.card--cyan {
      background-color: var(--color-gima-cyan);
  }

  */
}
.area--main > .mod_article.card--red {
  background-color: var(--color-gima-red);
}
.area--main > .mod_article.card--blue {
  background-color: var(--color-gima-blue);
}
.area--main > .mod_article.card--green {
  background-color: var(--color-gima-green);
}
.area--main > .mod_article.card--grey {
  background-color: var(--color-gima-grey);
}
.area--main > .mod_article.card--white {
  background-color: var(--color-white);
  color: var(--color-text);
}
.area--main > .mod_article.card--light {
  background-color: var(--color-primary-light);
  color: var(--color-text);
}

/*  HELPERS
//////////////////////////////////////////////////////////////////////////////*/
.invisible,
.visuallyhidden {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
}

.hidden {
  display: none;
}

.nowrap {
  white-space: nowrap;
}

/*  ANIMATION
//////////////////////////////////////////////////////////////////////////////*/
@media (prefers-reduced-motion: reduce) {
  * {
    animation: none !important;
    scroll-behavior: auto !important;
    transition: none !important;
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
/*  ICONS
//////////////////////////////////////////////////////////////////////////////*/
.icon {
  stroke-width: 5;
}

/*//////////////////////////////////////////////////////////////////////////////
//	2 COMPONENTS
//////////////////////////////////////////////////////////////////////////////*/
/*  GENERIC COMPONENT STYLES
//////////////////////////////////////////////////////////////////////////////*/
.inside > :last-child {
  margin: 0;
}

/*  2.1 CORE COMPONENTS
//////////////////////////////////////////////////////////////////////////////*/
/*  ACCORDIONS
//////////////////////////////////////////////////////////////////////////////*/
/*  AUDIO/VIDEO
//////////////////////////////////////////////////////////////////////////////*/
/*  CODE BLOCKS
//////////////////////////////////////////////////////////////////////////////*/
.ce_code {
  margin: 0 0 var(--spacing-m) 0;
}
.ce_code pre {
  margin: 0;
}
/*  DOWNLOAD
//////////////////////////////////////////////////////////////////////////////*/
.ce_download .download-element a {
  display: -ms-flexbox;
  display: flex;
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: inherit;
  padding: calc(0.625rem - (var(--border-width)));
  border-radius: var(--border-radius);
  text-decoration: none;
}
.ce_download .download-element a span.size {
  font-size: var(--font-size-s);
  -ms-flex: 1;
      flex: 1;
  text-align: right;
  margin-left: var(--spacing-l);
  -ms-flex-item-align: center;
      align-self: center;
  display: none;
}
.ce_download .download-element a::before {
  content: "↓";
  font-weight: 600;
  swidth: var(--spacing-m);
  margin-right: var(--spacing-s);
}

/*  DOWNLOADS
//////////////////////////////////////////////////////////////////////////////*/
.ce_downloads ul {
  sdisplay: flex;
  sflex-wrap: wrap;
  list-style: none;
  padding: 0;
}
.ce_downloads ul li {
  margin: 0 var(--spacing-s) var(--spacing-s) 0;
  padding: 0;
}
.ce_downloads ul li:before {
  display: none;
}
.ce_downloads ul li.download-element.ext-pdf a::after {
  margin-left: var(--spacing-s);
  content: "↓.pdf";
  font-weight: var(--font-weight-base);
}
.ce_downloads ul li.download-element.ext-jpg a::after {
  margin-left: var(--spacing-s);
  content: "↓.jpg";
  font-weight: var(--font-weight-base);
}
.ce_downloads ul li.download-element.ext-png a::after {
  margin-left: var(--spacing-s);
  content: "↓.png";
  font-weight: var(--font-weight-base);
}
.ce_downloads ul li.download-element a {
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  font-size: var(--font-size-l);
  font-weight: var(--font-weight-bold);
}
.ce_downloads ul li.download-element a:hover {
  text-decoration: underline;
  -webkit-text-decoration-color: inherit;
     -moz-text-decoration-color: inherit;
          text-decoration-color: inherit;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
.ce_downloads ul li.download-element a span.size {
  font-size: var(--font-size-s);
  -ms-flex: 1;
      flex: 1;
  text-align: right;
  margin-left: var(--spacing-l);
  -ms-flex-item-align: center;
      align-self: center;
  display: none;
}

/*  GALLERY
//////////////////////////////////////////////////////////////////////////////*/
.ce_gallery ul {
  list-style: none;
  display: grid;
  grid-gap: var(--spacing-s);
  margin-bottom: 0;
}
@media (max-width: 405px) {
  .ce_gallery ul {
    grid-template-columns: repeat(1, 1fr) !important;
  }
}
@media (max-width: 1000px) {
  .ce_gallery ul {
    grid-template-columns: repeat(auto-fit, minmax(1fr, 1fr)) !important;
  }
}
.ce_gallery ul.cols_1 {
  grid-template-columns: repeat(1, 1fr);
}
.ce_gallery ul.cols_2 {
  grid-template-columns: repeat(2, 1fr);
}
.ce_gallery ul.cols_3 {
  grid-template-columns: repeat(3, 1fr);
}
.ce_gallery ul.cols_4 {
  grid-template-columns: repeat(4, 1fr);
}
.ce_gallery ul.cols_5 {
  grid-template-columns: repeat(5, 1fr);
}
.ce_gallery ul.cols_6 {
  grid-template-columns: repeat(6, 1fr);
}
.ce_gallery ul.cols_7 {
  grid-template-columns: repeat(7, 1fr);
}
.ce_gallery ul.cols_8 {
  grid-template-columns: repeat(8, 1fr);
}
.ce_gallery ul.cols_9 {
  grid-template-columns: repeat(9, 1fr);
}
.ce_gallery ul.cols_10 {
  grid-template-columns: repeat(10, 1fr);
}
.ce_gallery ul li {
  margin: 0;
  padding: 0;
}
.ce_gallery .image_container {
  margin: 0 0 0 0 !important;
}

/* HEADLINES
//////////////////////////////////////////////////////////////////////////////*/
.ce_headline.headline--top {
  text-transform: uppercase;
  font-size: var(--font-size-m);
  line-height: var(--line-height-m);
  font-weight: var(--font-weight-bold);
  letter-spacing: 0.1em;
  margin-bottom: var(--spacing-s);
  color: var(--color-neutral);
}

/* BUTTONS / HYPERLINKS
//////////////////////////////////////////////////////////////////////////////*/
.ce_hyperlink {
  margin: 0 0 var(--spacing-m) 0;
}
.ce_hyperlink.button a {
  -webkit-appearance: button;
  display: inline-block;
  padding: calc(var(--spacing-s) - var(--border-width)) var(--spacing-m);
  min-width: 6rem;
  overflow: visible;
  vertical-align: top;
  background-color: var(--color-links);
  color: var(--color-white);
  border-width: var(--border-width);
  border-style: var(--border-style);
  border-color: var(--color-links);
  border-radius: var(--border-radius);
  cursor: pointer;
  font-weight: var(--font-weight-normal);
  letter-spacing: 0.05em;
  text-decoration: none;
  text-align: center;
}
.ce_hyperlink.button a:hover {
  background-color: var(--color-links-hover);
  border-color: var(--color-links-hover);
}
.ce_hyperlink.button a:focus {
  outline: var(--border-width-l) solid var(--color-links);
  outline-offset: calc(var(--border-width-l) * -1);
}
.ce_hyperlink.button--cta a {
  border-width: var(--border-width-l);
  background-color: var(--color-accent);
  border-color: var(--color-accent);
  color: var(--color-text);
  font-weight: var(--font-weight-bold);
}
.ce_hyperlink.button--cta a:hover {
  background-color: var(--color-yellow-600);
  border-color: var(--color-yellow-600);
}
.ce_hyperlink.button--cta a:focus {
  outline: var(--border-width-l) solid var(--color-links);
  outline-offset: calc(var(--border-width-l) * -1);
}

/*  BILD
//////////////////////////////////////////////////////////////////////////////*/
.hero .ce_image {
  position: relative;
}

.image_container.float_left {
  float: left;
  margin: 0 var(--spacing-m) var(--spacing-m) 0;
}
.image_container.float_right {
  float: right;
  margin: 0 0 var(--spacing-m) var(--spacing-m);
}

/* LISTS
//////////////////////////////////////////////////////////////////////////////*/
/* MARKDOWN
//////////////////////////////////////////////////////////////////////////////*/
/*  CONTENT SLIDER
//////////////////////////////////////////////////////////////////////////////*/
.ce_sliderStart .content-slider {
  overflow: hidden;
  visibility: hidden;
  position: relative;
}
.ce_sliderStart .content-slider .slider-wrapper {
  overflow: hidden;
  position: relative;
}
.ce_sliderStart .slider-control span.slider-menu b {
  color: var(--color-neutral);
  cursor: pointer;
}
.ce_sliderStart .slider-control span.slider-menu b.active {
  color: var(--color-black);
}

/* TABLES
//////////////////////////////////////////////////////////////////////////////*/
.ce_table table {
  border: var(--border-width) solid;
}
.ce_table caption {
  text-align: left;
  padding: calc(var(--spacing-xs));
}
.ce_table th,
.ce_table td {
  text-align: left;
  border: var(--border-width) solid;
  padding: calc(var(--spacing-xs));
}

/* TEXT
//////////////////////////////////////////////////////////////////////////////*/
.ce_text footer {
  font-size: var(--font-size-s);
  line-height: var(--line-height-base);
  max-width: 68ex;
}

/* TOPLINK
//////////////////////////////////////////////////////////////////////////////*/
/* YOUTUBE
//////////////////////////////////////////////////////////////////////////////*/
/* VIMEO
//////////////////////////////////////////////////////////////////////////////*/
/*  ARTICLELIST
//////////////////////////////////////////////////////////////////////////////*/
/*  ARTICLENAVIGATION
//////////////////////////////////////////////////////////////////////////////*/
/*  BOOKNAVIGATION
//////////////////////////////////////////////////////////////////////////////*/
/*  CALENDAR
//////////////////////////////////////////////////////////////////////////////*/
/*  CHANGE PASSWORD
//////////////////////////////////////////////////////////////////////////////*/
/*  CLOSE ACCOUNT
//////////////////////////////////////////////////////////////////////////////*/
/*  KOMMENTARE
//////////////////////////////////////////////////////////////////////////////*/
/*  CUSTOM NAVIGATION
//////////////////////////////////////////////////////////////////////////////*/
/*  EVENTLIST
//////////////////////////////////////////////////////////////////////////////*/
/*  EVENTLIST-MENU
//////////////////////////////////////////////////////////////////////////////*/
/*  EVENTREADER
//////////////////////////////////////////////////////////////////////////////*/
/*  FAQ-LIST
//////////////////////////////////////////////////////////////////////////////*/
/*  FAQ-PAGE
//////////////////////////////////////////////////////////////////////////////*/
/*  FAQ-READER
//////////////////////////////////////////////////////////////////////////////*/
/*  FORM
//////////////////////////////////////////////////////////////////////////////*/
/*  LISTING
//////////////////////////////////////////////////////////////////////////////*/
/*  LOGIN-FORM
//////////////////////////////////////////////////////////////////////////////*/
/*  NAVIGATION MENU
//////////////////////////////////////////////////////////////////////////////*/
/*  NEWSARCHIVE
//////////////////////////////////////////////////////////////////////////////*/
/*  NEWSLIST
//////////////////////////////////////////////////////////////////////////////*/
/*  NEWSARCHIVE-MENU
//////////////////////////////////////////////////////////////////////////////*/
/*  NEWSREADER
//////////////////////////////////////////////////////////////////////////////*/
/*  NESLETTER LIST
//////////////////////////////////////////////////////////////////////////////*/
/*  NEWSLETTER READER
//////////////////////////////////////////////////////////////////////////////*/
/*  RESTORE PASSWORD
//////////////////////////////////////////////////////////////////////////////*/
/*  PERSONAL DATA
//////////////////////////////////////////////////////////////////////////////*/
/*  QUICKLINK
//////////////////////////////////////////////////////////////////////////////*/
/*  QUICKNAV
//////////////////////////////////////////////////////////////////////////////*/
/*  RANDOM IMAGE
//////////////////////////////////////////////////////////////////////////////*/
/*  REGISTRATION
//////////////////////////////////////////////////////////////////////////////*/
/*  RSS-READER
//////////////////////////////////////////////////////////////////////////////*/
/*  SEARCHENGINE
//////////////////////////////////////////////////////////////////////////////*/
/*  SITEMAP
//////////////////////////////////////////////////////////////////////////////*/
/*  SUBSCRIBE
//////////////////////////////////////////////////////////////////////////////*/
/*  UNSUBSCRIBE
//////////////////////////////////////////////////////////////////////////////*/
/*  2.2 CUSTOM COMPONENTS
//////////////////////////////////////////////////////////////////////////////*/
/*  LOGO
//////////////////////////////////////////////////////////////////////////////*/
.logo .logo__title-and-tagline {
  position: absolute;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip: rect(0, 0, 0, 0);
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
}

/*  MAIN NAVIGATION
//////////////////////////////////////////////////////////////////////////////*/
.nav--main {
  padding: 0 2rem 2rem 3rem;
}
@media (max-width: 520px) {
  .nav--main {
    padding: 0 2rem 2rem 2rem;
  }
}
.nav--main li {
  font-size: var(--font-size-xl);
  line-height: 1.5rem;
  margin-bottom: 0.5rem;
}
.nav--main .toggle {
  display: none;
}
.nav--main .level_1 > li {
  position: relative;
}
.nav--main .level_1 > li::before {
  content: "";
  display: block;
  position: absolute;
  width: 15px;
  height: 15px;
  top: 4px;
  background-color: transparent;
  left: -3rem;
}
@media (max-width: 520px) {
  .nav--main .level_1 > li::before {
    left: -2rem;
  }
}
.nav--main .level_1 > li.active::before, .nav--main .level_1 > li.trail::before, .nav--main .level_1 > li:hover::before {
  background-color: var(--color-gima-red);
}
.nav--main .level_1 > li.active > a,
.nav--main .level_1 > li.active > strong, .nav--main .level_1 > li.trail > a,
.nav--main .level_1 > li.trail > strong, .nav--main .level_1 > li:hover > a,
.nav--main .level_1 > li:hover > strong {
  color: var(--color-gima-red);
}
.nav--main .level_1 li.trail > a {
  font-weight: var(--font-weight-bold);
}
.nav--main .level_1 li.first {
  margin-top: -4px;
}
.nav--main .level_1 li.last {
  margin-bottom: 0;
}
.nav--main .level_2 {
  display: none;
  margin-top: 0.75rem;
  margin-left: 2rem;
  margin-bottom: 4rem;
}
@media (max-width: 520px) {
  .nav--main .level_2 {
    margin-bottom: 0;
  }
}
.nav--main .active .level_2,
.nav--main .trail .level_2 {
  display: block;
}

/*  FOOTER NAVIGATION
//////////////////////////////////////////////////////////////////////////////*/
.nav--footer .level_1 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--spacing-m);
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 1120px) {
  .nav--footer .level_1 {
    -ms-flex-pack: start;
        justify-content: flex-start;
  }
}

/*  CARD
//////////////////////////////////////////////////////////////////////////////*/
.card,
.area--main > .block:not(.nav) {
  min-height: -webkit-min-content;
  min-height: -moz-min-content;
  min-height: min-content;
  min-height: 22rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
}
@media (min-width: 1120px) {
  .card,
.area--main > .block:not(.nav) {
    max-width: 20rem;
  }
}
.card > .block,
.area--main > .block:not(.nav) > .block {
  padding: 2rem;
}
.card > .block > :last-child,
.area--main > .block:not(.nav) > .block > :last-child {
  margin-bottom: 0;
}
.card > .ce_image,
.card > .ce_hyperlink,
.area--main > .block:not(.nav) > .ce_image,
.area--main > .block:not(.nav) > .ce_hyperlink {
  margin: 0;
  padding: 0;
  height: 100%;
}
.card > .ce_image figure,
.card > .ce_hyperlink figure,
.area--main > .block:not(.nav) > .ce_image figure,
.area--main > .block:not(.nav) > .ce_hyperlink figure {
  height: 100%;
}
.card > .ce_image img,
.card > .ce_hyperlink img,
.area--main > .block:not(.nav) > .ce_image img,
.area--main > .block:not(.nav) > .ce_hyperlink img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
}

@media (min-width: 1120px) {
  .colspan-2 {
    grid-column: span 2;
    max-width: 100% !important;
  }
}

@media (min-width: 1120px) {
  .colspan-3 {
    grid-column: span 3;
    max-width: 100% !important;
  }
}

@media (min-width: 1120px) {
  .colspan-4 {
    grid-column: span 4;
    max-width: 100% !important;
  }
}

@media (min-width: 1120px) {
  .rowspan-2 {
    grid-row: span 2;
  }
}

/*  MITGLIEDSUNTERNEHMEN
//////////////////////////////////////////////////////////////////////////////*/
#mitgliedsunternehmen-icons {
  background-color: var(--color-white);
  display: grid;
  grid-template-columns: repeat(auto-fill, 3.75rem);
  grid-template-rows: repeat(auto-fill, 3.75rem);
  grid-gap: 1rem;
  padding: 1rem;
}
#mitgliedsunternehmen-icons img {
  height: auto;
  width: auto;
  margin: 0;
  outline: 1px solid #fff;
  outline-offset: -1px;
}
#mitgliedsunternehmen-icons img {
  opacity: 0.5;
  sfilter: grayscale(1);
  cursor: pointer;
  transition: filter 0.5s, opacity 0.5s;
}
#mitgliedsunternehmen-icons img.active {
  sfilter: grayscale(0);
  transition: filter 0.5s, opacity 0.5s;
  opacity: 1;
  outline: 1px solid #000;
}

#mitgliedsunternehmen-texte {
  -ms-flex-pack: start;
      justify-content: flex-start;
}
#mitgliedsunternehmen-texte > .block {
  display: none;
}
#mitgliedsunternehmen-texte > .block.active {
  display: block;
}
#mitgliedsunternehmen-texte > .block:last-of-type {
  display: block;
}

/*  PRESSEARCHIV
//////////////////////////////////////////////////////////////////////////////*/
#presse-nav h2:not(.headline) {
  text-decoration: underline;
  -webkit-text-decoration-color: inherit;
     -moz-text-decoration-color: inherit;
          text-decoration-color: inherit;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
  cursor: pointer;
  opacity: 0.5;
}
#presse-nav h2.active {
  opacity: 1;
}
#presse-nav .presse-nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: var(--spacing-l);
}

#presse-texte {
  sjustify-content: flex-start;
}
#presse-texte > .block {
  display: none;
}
#presse-texte > .block.active {
  display: block;
}

/*  2.5 VENDOR COMPONENTS
//////////////////////////////////////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////////////////////////////
//	3 LAYOUT
//////////////////////////////////////////////////////////////////////////////*/
/*  SEITENLAYOUT "DEFAULT"
//////////////////////////////////////////////////////////////////////////////*/
.section .grid {
  margin: 0 auto;
  width: 100%;
  max-width: calc((var(--width-column) * 4) + (3 * var(--grid-gap)));
}

.layout--default .area--main {
  display: grid;
  grid-gap: var(--grid-gap);
  grid-template-columns: 1fr;
}
@media (min-width: 520px) {
  .layout--default .area--main {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 840px) {
  .layout--default .area--main {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1120px) {
  .layout--default .area--main {
    grid-template-columns: repeat(4, 1fr);
  }
}
.layout--default .area--main > .nav--main {
  grid-row: 1/2;
}

.layout--col-left .section--main > .grid {
  display: grid;
  grid-gap: var(--grid-gap);
  grid-template-columns: 1fr;
}
@media (min-width: 520px) {
  .layout--col-left .section--main > .grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 840px) {
  .layout--col-left .section--main > .grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 1120px) {
  .layout--col-left .section--main > .grid {
    grid-template-columns: repeat(4, 1fr);
  }
}
.layout--col-left .area--main {
  display: grid;
  grid-gap: var(--grid-gap);
  grid-template-columns: 1fr;
}
@media (min-width: 520px) {
  .layout--col-left .area--main {
    grid-column: 2/-1;
  }
}
@media (min-width: 840px) {
  .layout--col-left .area--main {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1120px) {
  .layout--col-left .area--main {
    grid-template-columns: repeat(3, 1fr);
  }
}

.section--footer .grid {
  display: grid;
  grid-gap: var(--grid-gap);
  grid-template-columns: 1fr;
}
.section--footer .grid > * {
  padding: 2rem;
}
@media (min-width: 1120px) {
  .section--footer .grid {
    grid-template-columns: var(--width-column) 1fr;
  }
  .section--footer .grid > * {
    padding: 2rem 2rem 2rem 0;
    grid-column: 2/-2;
  }
}
@media (min-width: 1300px) {
  .section--footer .grid > * {
    padding: 2rem 0;
  }
}

/*  HEADER
//////////////////////////////////////////////////////////////////////////////*/
.section--header .grid {
  padding: 3rem 2rem 5rem 3rem;
}
@media (max-width: 520px) {
  .section--header .grid {
    padding: 2rem 2rem 3rem 2rem;
  }
}
.section--header .logo {
  width: 26rem;
  max-width: 100%;
}

/*  FOOTER
//////////////////////////////////////////////////////////////////////////////*/
/*  MOBILE OVERRIDES
//////////////////////////////////////////////////////////////////////////////*/
@media (max-width: 520px) {
  .order--1 {
    -ms-flex-order: 1;
        order: 1;
  }

  .order--2 {
    -ms-flex-order: 2;
        order: 2;
  }

  .order--3 {
    -ms-flex-order: 3;
        order: 3;
  }

  .order--4 {
    -ms-flex-order: 4;
        order: 4;
  }

  .order--5 {
    -ms-flex-order: 5;
        order: 5;
  }

  .order--6 {
    -ms-flex-order: 6;
        order: 6;
  }

  .order--7 {
    -ms-flex-order: 7;
        order: 7;
  }

  .order--8 {
    -ms-flex-order: 8;
        order: 8;
  }

  .order--9 {
    -ms-flex-order: 9;
        order: 9;
  }

  .order--10 {
    -ms-flex-order: 10;
        order: 10;
  }

  .order--11 {
    -ms-flex-order: 11;
        order: 11;
  }

  .order--12 {
    -ms-flex-order: 12;
        order: 12;
  }

  .hidden-on-mobile {
    display: none !important;
  }

  .card,
.area--main > .block:not(.nav) {
    min-height: -webkit-min-content;
    min-height: -moz-min-content;
    min-height: min-content;
  }

  .icon img {
    width: 8rem !important;
    height: 8rem !important;
  }
}
.mobile-only {
  display: none;
}
@media (max-width: 520px) {
  .mobile-only {
    display: block;
  }
}

.desktop-only {
  display: block;
}
@media (max-width: 520px) {
  .desktop-only {
    display: none;
  }
}

/*  PRINT STYLES
//////////////////////////////////////////////////////////////////////////////*/
@media print {
  *,
*::after,
*::before {
    background: transparent !important;
    box-shadow: none !important;
    color: var(--color-black) !important;
    text-shadow: none !important;
  }

  h2,
h3 {
    page-break-after: avoid;
  }

  a,
a:visited {
    text-decoration: underline;
  }

  a[href]::after {
    content: " (" attr(href) ")";
  }

  abbr[title]::after {
    content: " (" attr(title) ")";
  }

  a[href^="javascript:"]::after,
a[href^="#"]::after {
    content: "";
  }

  pre {
    white-space: pre-wrap !important;
  }

  pre,
blockquote {
    border: 1px solid var(--border-color);
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
img {
    page-break-inside: avoid;
  }

  p,
h2,
h3 {
    orphans: 3;
    widows: 3;
  }
}
/*//////////////////////////////////////////////////////////////////////////////
//	4 PAGES
//////////////////////////////////////////////////////////////////////////////*/
/*  HOMEPAGE
//////////////////////////////////////////////////////////////////////////////*/
/*//////////////////////////////////////////////////////////////////////////////
//	5 THEMES
//////////////////////////////////////////////////////////////////////////////*/

