*, *::before, *::after { 
 box-sizing: border-box; 
 font-family: "Trebuchet",Trebuchet MS,Verdana,Arial,Sans-Serif; 
 }
@view-transition {
 navigation: auto;
 }
@font-face {
 font-family:"Trebuchet";
 src:url("../fonts/trebuchet/f2c6415f-9bf2-4714-8c9e-98f1215e4f24.woff2") format("woff2"),url("../fonts/trebuchet/2ce511de-aa95-4ce0-84ae-f462ece99bf7.woff") format("woff");
 font-weight: normal;
 font-style: normal;
 }
@font-face {
  font-family:"Trebuchet";
  src:url("../fonts/trebuchet/e1159629-5a90-42ad-a16c-0f96081f739a.woff2") format("woff2"),url("../fonts/trebuchet/00fba97c-0e4a-4093-8859-fcba467a7e95.woff") format("woff");
  font-weight: bold;
  font-style: normal;  
  }
@font-face {
  font-family:"Trebuchet";
  src:url("../fonts/trebuchet/b5647453-e522-4626-8354-33855c34c8ce.woff2") format("woff2"),url("../fonts/trebuchet/2494768a-93cb-4150-85ea-e4bfdbbf8aba.woff") format("woff");
  font-weight: bold;
  font-style: italic;
  }
@font-face {
  font-family:"Trebuchet";
  src:url("../fonts/trebuchet/b8b0b8f8-21f0-4355-9ab7-a99e6346956c.woff2") format("woff2"),url("../fonts/trebuchet/02a11c6a-7116-4a68-b47e-baf0ba4674f2.woff") format("woff");
  font-weight: normal;
  font-style: italic;
  }
a {
 color: var(--link-color);
 text-decoration: none;
 }
a:hover {
 text-decoration: underline;
 }
body {
 min-height: 100vh;
 display: flex;
 flex-direction: column;
 padding-top: var(--header-height);
 background: #fff;
 position: relative;
 margin: 0;
 padding: 0;
 }
/* ── Column wrapper ── */
.wrap {
 width: 100%;
 max-width: var(--col-width);
 margin-inline: auto;
 }
/* ── Header ── */
header {
 position: fixed;
 top: var(--header-top);
 left: 0;
 right: 0;
 z-index: 100;
 height: var(--header-height);
 background: #fff;
 }
@supports (animation-timeline: scroll()) {
 header {
  animation: header-shadow-in linear both;
  animation-timeline: scroll();
  animation-range: 0px 1px;
  }
 }

@keyframes header-shadow-in { to { box-shadow: 0 0 10px rgba(0,0,0,.1); } }
header.scrolled { 
 box-shadow: 0 0 10px rgba(0,0,0,.1); 
 }
#logo {
 position: absolute;
 right: 20px;
 top: 0px;
 background: var(--year-color) url(../images/logos/icons2x.png) 0 0;
 background-size: 185px 290px;
 width: 185px;
 height: 58px;
 border: none;
 }
#mainnav {
 margin: 0;
 padding: 0;
 position: absolute;
 left: 0;
 top: 54px;
 list-style-type: none;
 z-index: 10;
 }
#mainnav > li {
 display: block;
 float: left;
 background: #fff;
 border: 5px solid #fff;
 position: relative;
 font-size: 1rem;
 height: 46px;
 transition: color 0.5s, background 0.5s;
 }
#mainnav > li:first-child {
 border-left: 0;
 }
#mainnav > li a {
 text-decoration: none;
 color: #000;
 display: block;
 padding: 0 10px 0 10px;
 line-height: 36px;
 transition: color 0.2s;
 white-space: nowrap;
 }
#mainnav > li:hover > a, #mainnav > li.current-menu-item > a, #mainnav > li:hover, #mainnav > li.current-page-ancestor > a {
 color: var(--year-color-text);
 transition: color 0.2s;
 }
#mainnav > li.current-menu-item, #mainnav > li:hover, #mainnav > li.current-page-ancestor {
 background: var(--year-color);
 color: var(--year-color-text);
 transition: background 0.5s;
 }
#mainnav > li.current-menu-item::after, #mainnav > li.current-menu-item::before,
#mainnav > li.current-menu-ancestor::after, #mainnav > li.current-menu-ancestor::before {
 top: 100%;
 border: solid transparent;
 content: " ";
 height: 0;
 width: 0;
 position: absolute;
 pointer-events: none;
 }
#mainnav > li.current-menu-item::after,
#mainnav > li.current-menu-ancestor::after {
 border-top-color: var(--year-color);
 border-width: 0px;
 left: 50%;
 margin-left: 0px;
 border-width: 10px;
 margin-left: -10px;
 }
#mainnav > li.current-menu-item::before,
#mainnav > li.current-menu-ancestor::before {
 border-top-color: #fff;
 border-width: 0px;
 left: 50%;
 margin-left: 0px;
 border-width: 17px;
 margin-left: -17px;
 }
#mainnav > li > ul {
 display: none;
 position: absolute;
 z-index: 1;
 padding: 0;
 margin: 0;
 }
#mainnav > li:hover > ul {
 display: block;
 }
#mainnav > li:hover > ul > li {
 display: block;
 border-bottom: 1px solid #ccc;
 position: relative;
 background: #fff;
 min-width: 172px;
 }
#mainnav > li:hover > ul > li:hover,
#mainnav > li > ul > li.current-menu-item {
 background: var(--year-color);
 }
#mainnav > li:hover > ul > li:hover > a,
#mainnav > li > ul > li.current-menu-item > a {
 background: var(--year-color);
 color: var(--year-color-text);
 }

 }
#mainnav > li:hover > ul > li > a {
 white-space: nowrap;
 }
#mainnav > li:hover > ul > li:last-child {
 border-bottom: none;
 }
#mainnav > li:hover > ul > li.current-menu-item {
 display: block;
 }
#mainnav > li:hover > ul > li.current-menu-item:after, #mainnav > li:hover > ul > li.current-menu-item:before {
 top: 100%;
 border: solid transparent;
 content: " ";
 height: 0;
 width: 0;
 position: absolute;
 pointer-events: none;
 }
#mainnav > li:hover > ul > li.current-menu-item:after {
 border-left-color: var(--year-color);
 border-width: 0px;
 left: 100%;
 top: 8px;
 margin-left: 0px;
 border-width: 10px;
 }
#mainnav > li:hover > ul > li.current-menu-item:before {
 border-left-color: #fff;
 border-width: 0px;
 left: 100%;
 margin-left: 0px;
 border-width: 13px;
 top: 5px;
 }
header .wrap {
 height: 100%;
 display: flex;
 align-items: center;
 max-width: var(--col-width);
 position: relative;
 }
header ul {
 margin: 0;
 padding: 0;
 }
/* ── Main ── */
main {
 flex: 1;
 padding: 0 0 10px 0;
 }
#header-image {
 margin-top: calc(var(--header-height));
 aspect-ratio: 939 / 231;
 position: relative;
 }
#header-image::after {
 content: '';
 position: absolute;
 top: 0;
 left: 0;
 width: 100%;
 height: 100%;
 background: url(../images/headers/header.png) no-repeat center center;
 background-size: cover;
 z-index: 2;
 }

#main-toolbar {
 display: flex;
 align-items: center;
 margin-top: 10px;
 }

#main-toolbar #breadcrumb {
 color: var(--disabled-gray);
 }

/* ── Search ── */
#search {
  position: relative;
  margin-left: auto;
  flex: 1 1 auto;
  width: 100%;
  max-width: var(--search-width);
  transition: max-width var(--search-transition);
}

#search:focus-within {
  max-width: var(--search-width-focus);
}

#search input {
  width: 100%;
  height: var(--search-height);

  padding-left: var(--search-padding-left);
  padding-right: var(--search-padding-right);

  border: 1px solid var(--search-border);
  border-radius: var(--search-radius);

  background: #fff;

  font: inherit;
  font-size: var(--search-font-size);

  outline: none;

  transition:
    border-color var(--search-transition),
    max-width var(--search-transition);
}

#search input:focus {
  border-color: var(--search-border-focus);
  box-shadow: none;
}

#search button {
  position: absolute;

  right: var(--search-icon-right);
  top: 50%;

  transform: translateY(-50%);

  width: var(--search-icon-size);
  height: var(--search-icon-size);

  padding: 0;
  margin: 0;

  border: 0;
  background: transparent;

  appearance: none;
  -webkit-appearance: none;

  display: flex;
  align-items: center;
  justify-content: center;

  color: #666;

  cursor: pointer;
}

#search svg {
  width: 100%;
  height: 100%;

  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

#main-toolbar .languages-switcher {
 margin-left: 10px;
 }
.languages-switcher > a {
 display: inline-block;
 width: 28px;
 height: 24px;
 text-align: center;
 line-height: 24px;
 font-weight: bold;
 background: var(--disabled-gray);
 text-transform: uppercase;
 position: relative;
 text-decoration: none;
 }
.languages-switcher > a.selected {
 background: var(--year-color);
 color: var(--year-color-text);
 }
.languages-switcher > a.selected::before {
 content: '';
 position: absolute;
 bottom: -7px;
 left: 50%;
 transform: translateX(-50%);
 width: 0;
 height: 0;
 border-left: 8px solid transparent;
 border-right: 8px solid transparent;
 border-top: 8px solid var(--year-color);
 }

/* ── Footer ── */
footer {
 background: var(--year-color);
 border-top: 1px solid var(--year-color-text);
 padding: 40px 0;
 }
footer .wrap { 
 display: grid; 
 grid-template-columns: repeat(3, 1fr); 
 min-height: 80px; 
 max-width: var(--col-width);
 }
footer .col { 
 margin-right: 10px;
 position: relative;
 color: var(--year-color-text);
 }
footer .col a {
 color: var(--year-color-text);
 text-decoration: none;
 }
footer .col a:hover {
 text-decoration: underline;
 }
footer .col:last-child { 
 margin-right: 0;
 }
footer .col h3 {
 font-size: 1.1rem;
 margin-bottom: 10px;
 border-bottom: 1px solid var(--year-color-text);
 }
.email {
 display: inline-block;
 direction: rtl;
 unicode-bidi: isolate-override;
 white-space: nowrap;
 }
#address-map {
 display: block;
 position: absolute;
 left: 151px;
 top: 27px;
 width: 35px;
 height: 36px;
 background: url(../images/logos/icons2x.png) no-repeat 0 -164px;
 background-size: 193px 253px;
 }
footer .col:last-child div.social-media {
 margin-bottom: 10px;
 padding-left: 30px;
 line-height: 23px;
 position: relative;
 }
footer .col:last-child div.social-media::before {
    position: absolute;
    content: ' ';
    left: 2px;
    top: 2px;
    width: 26px;
    height: 22px;
    background: url(../images/logos/icons2x.png) 0 -255px no-repeat;
    background-size: 201px 295px;
 }
footer .col:last-child div.social-media.xing::before {
 background-position-y: -80px;
 }
footer .col:last-child div.social-media.linkedin::before {
 background-position-y: -171px;
 }
footer .col:last-child div.social-media.instagram::before {
 background-position-y: -233px;
 }
footer .col:last-child div.social-media.twitter::before {
 background-position-y: -148px;
 }
footer .col:last-child div.social-media.mastodon::before {
 background-position-y: -255px;
 }
footer .col:last-child .mostodon-posten {
 margin-top: 4px;
 background: #17063B url(../images/logos/mastodon-logo-purple.svg) no-repeat 6px 6px;
 background-size: 18px 18px;
 color:#fff;
 border-radius: 10px;
 padding: 5px 7px 5px 30px;
 font-family: sans-serif;
 display: inline-block;
 font-weight: 500;
 font: normal normal normal 12px/18px 'Helvetica Neue',Arial,sans-serif;
 margin-bottom: 10px;
 text-decoration: none;
 }
footer .col:last-child .mostodon-posten > a { 
 color: #fff; 
 }
footer .col:last-child .x-posten {
 }

#quicklinks {
 list-style-type: none;
 }
#quicklinks li {
 margin-bottom: 5px;
 }
#quicklinks {
 margin: 0;
 padding: 0;
 }
.otgs-development-site-front-end {
 display: none !important;
 }
button {
 background: var(--year-color);
 color: var(--year-color-text)
 }

#matrix-box {
 width: var(--matrix-width);
 height: var(--matrix-height);
 position: absolute;
 top: 0;
 left: var(--matrix-left);
 overflow: hidden;
 background: var(--matrix-bg);
 border-radius: 0;
 z-index: 1;
 }
#matrix-box::after {
 content: '2\A 0\A 2\A 7';
 position: absolute;
 top: 0;
 left: 10%;
 width: var(--matrix-source-width);
 height: var(--matrix-source-height);
 display: flex;
 align-items: center;
 justify-content: center;
 white-space: pre;
 color: var(--year-color);
 font-size: 40px;
 font-weight: 700;
 line-height: 0.92;
 text-align: center;
 /*text-shadow: 0 0 12px var(--year-color), 0 0 2px var(--matrix-bg);*/
 text-shadow: 0 0 1px #000, 0 0 1px #000, 0 0 1px #000;
 transform: scale(var(--matrix-scale));
 transform-origin: top left;
 pointer-events: none;
 z-index: 2;
 }
#matrix-box canvas {
 width: var(--matrix-source-width);
 height: var(--matrix-source-height);
 position: relative;
 display: block;
 background: var(--matrix-bg);
 transform: scale(var(--matrix-scale));
 transform-origin: top left;
 z-index: 1;
 }
.wpml-ls-statics-footer {
 display: none;
 }