/*-
 * **************************************************-
 * InGrid Portal Apps
 * ==================================================
 * Copyright (C) 2014 - 2025 wemove digital solutions GmbH
 * ==================================================
 * Licensed under the EUPL, Version 1.2 or – as soon they will be
 * approved by the European Commission - subsequent versions of the
 * EUPL (the "Licence");
 *
 * You may not use this work except in compliance with the Licence.
 * You may obtain a copy of the Licence at:
 *
 * https://joinup.ec.europa.eu/software/page/eupl
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the Licence is distributed on an "AS IS" basis,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the Licence for the specific language governing permissions and
 * limitations under the Licence.
 * **************************************************#
*/

/* variables */
:root {
  --color-default: #000000;
  --color-primary: #14519f;
  --color-secondary: #0091A6;
  --color-tertiary: #fdec46;
  --color-tag: #425a0e;
  --color-hyperlink: #008094;
  --color-background: #f2f2f2;
  --color-background-light: #f6f6f6;
  --color-divider: #C6CFE2;
  --color-btn-primary: #373E50;
  --color-btn-primary-hover: #445468;
  --font-size-xs: 12px;
  --font-size-sm: 14px;
  --font-size-md: 16px;
  --font-size-lg: 18px;
  --font-size-xl: 20px;
  --font-size-2xl: 24px;
  --font-size-3xl: 32px;
  --font-size-4xl: 48px;
  --font-family-primary: 'FSMeW05', sans-serif;
}
@media screen and (max-width: 840px) {
  :root {
    --font-size-lg: 16px;
    --font-size-xl: 18px;
    --font-size-2xl: 20px;
    --font-size-3xl: 24px;
    --font-size-4xl: 32px;
  }
}

/* fonts */
@font-face {
  font-family: 'FSMeW05';
  font-weight: 400;
  src: url('../fonts/FSMeW05-Regular.woff2') format('woff2'),
  url('../fonts/FSMeW05-Regular.woff') format('woff2'),
  url('../fonts/FSMeW05-Regular.ttf') format('woff2');
}
@font-face {
  font-family: 'FSMeW05';
  font-weight: 500;
  src: url('../fonts/FSMeW05-Bold.woff2') format('woff2'),
  url('../fonts/FSMeW05-Bold.woff') format('woff2'),
  url('../fonts/FSMeW05-Bold.ttf') format('woff2');
}
@font-face {
  font-family: 'FSMeW05';
  font-weight: 300;
  src: url('../fonts/FSMeW05-Light.woff2') format('woff2'),
  url('../fonts/FSMeW05-Light.woff') format('woff'),
  url('../fonts/FSMeW05-Light.ttf') format('truetype');
}

body {
  color: var(--color-default);
  font-family: var(--font-family-primary);
  line-height: 1.28;
}

h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, b, h3 span {
  color: var(--color-default);
  font-family: var(--font-family-primary);
}

a, a.icon {
  color: var(--color-default);
}

a:hover, a:focus, a.icon:hover, a.icon:focus {
  color: var(--color-hyperlink);
}

a.icon.external-link {
  color: var(--color-hyperlink);
  text-decoration: underline;
}

a.icon.external-link:hover {
  color: var(--color-default);
}

.bx-bot-xs {
  border-radius: 0;
  box-shadow: unset;
}

.header__logo {
  width: auto;
}

*, *::before, *::after {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: border-box;
}
.footer__logo {
  width: 11.75rem;
}
.sitemap .link-list a {
  font-weight: 400;
}

@media screen and (min-width: 480px) {
  .popup {
    left: 50%;
    margin-left: -15rem;
  }
}

.dark h1, .dark h2, .dark p, .dark a, .dark abbr {
  color: #fff;
}

/* ---- buttons ----*/
.button {
  border-radius: 0;
  font-weight: 500;
  font-family: var(--font-family-primary);
  text-transform: initial;
  background-color: var(--color-btn-primary);
}
.button:hover {
  background-color: var(--color-btn-primary-hover);
}
.button:focus {
  background-color: var(--color-btn-primary-hover);
}
.button.round, .button.round:hover, .button.round:focus {
  color: white;
  border: unset;
  border-radius: 0;
  background-color: var(--color-btn-primary);
}
.button.round:hover, .button.round:focus {
  background-color: var(--color-btn-primary-hover);
}
.input-search .button.round {
  background-color: var(--color-btn-primary);
}
.input-search .button.round:hover, .input-search .button.round:focus {
  background-color: var(--color-btn-primary-hover);
}
.button.outline {
  color: #003064;
  background-color: #fff;
  border: 3px solid var(--color-background);
}
.button.outline:hover, .button.outline:focus {
  background-color: var(--color-background-light);
}
.button.pill {
  color: #FFFFFF;
  border: unset;
  border-radius: 0;
  padding: 12px 16px 10px;
  background-color: var(--color-btn-primary);
}
.button.pill:hover,
.button.pill:focus {
  background-color: var(--color-btn-primary-hover);
}
.button.pill[type="reset"] {
  color: var(--color-btn-primary);
  background-color: var(--color-background);
}
.button.pill:hover[type="reset"],
.button.pill:focus[type="reset"] {
  background-color: var(--color-background-light);
}

.input-search .input-search-field {
  border: 2px solid #0098B6;
}
header a.icon {
  padding: 16px 16px;
  border-radius: 5px;
  margin: 0;
  font-size: 16px;
}
header a.icon [class^="ic-"] {
  font-size: 12px;
}
header a.icon:hover {
  background: #F6F6F6
}
header a.icon.is-selected {
  background: #EFEFEF;
}
.menu-tab-row .menu-tab.is-selected {
  background-color: #f6f6f6;
  text-decoration: none;
}
.menu-tab-row .menu-tab.is-selected .link-menu-tab {
  color: #003064;
}
.menu-tab-row .menu-tab:hover .link-menu-tab,
.menu-tab-row .menu-tab:focus .link-menu-tab {
  color: #003064;
}

.menu-sub-links .button.logout {
  color: #FFFFFF;
  font-weight: normal;
  background-color: #003064;
  margin-left: 20px;
  border: unset;
}
.menu-sub-links a:hover, .menu-sub-links .button.logout:hover,
.menu-sub-links a:focus, .menu-sub-links .button.logout:focus {
  background-color: #003064;
  color: #FFFFFF;
}
.menu-sub-links .login_user {
  font-family: AvenirNextLTPro-Demi, sans-serif;
  color: #003064;
}
.banner.home {
  padding-top: 0;
}
.banner.home .home-wrapper .dark {
  padding-top: 2.5rem;
}
.banner.search .search-wrapper {
  background-position: top right;
}
.banner.search + div + .search-filtered {
  margin-top: 1em;
}
.banner.subpage .subpage-wrapper, .banner-noimage .page-wrapper {
  background-position: top right;
}
.about {
  background-image: linear-gradient(to top, #d4004b, #011e4a);
}
.about .about-wrapper .button.outline:hover {
  background-color: #003064;
}

/* ---- detail page ---- */
.detail h2,
.detail .helper.icon,
.detail .icon--info {
  color: white;
}
.detail h4 ~ p:last-of-type {
  margin-bottom: 48px;
}
.detail p + h4 {
  margin-top: 48px;
}
.detail .banner-noimage .page-wrapper {
  background-color: var(--color-primary);
}
.detail .button.outline {
  color: white;
  background-color: var(--color-btn-primary);
  border: unset;
}
.detail .button.outline:hover {
  background-color: var(--color-btn-primary-hover);
}
.detail .search-filtered .accordion.accordion-filter-group .accordion-content.filter-wrapper,
.subpage + .search-filtered .accordion.accordion-filter-group .accordion-content.filter-wrapper {
  border-radius: 0;
  box-shadow: unset;
  border: 3px solid var(--color-background);
}
.search-filtered .table h4, .search-filtered .table h5,
.search-filtered .table.table--lined table th:first-child,
.search-filtered .table.list table tr td:first-child,
.search-filtered .table.table--lined--list table th:first-child {
  color: var(--color-default);
}
.nav-group .accordion-item.is-active .accordion-title {
  background-color: var(--color-btn-primary);
}
@media print, screen and (max-width: 63.9375em) {
  .detail .banner-noimage .page-wrapper {
    background-size: 80%;
  }
}
@media screen and (min-width: 48em) {
  .filter {
    top: 80px;
  }
}
@media print, screen and (min-width: 51em) {
  .filter {
    top: 120px;
  }
}
footer .footer-top-link {
  background: #003064;
}
footer .footer-top-link:hover {
  background: #014289;
}

/* buttons */
.button.outline.pill span {
  margin-left: 0;
  color: #FFFFFF;
}
.button.outline {
  border-radius: 0;
}
.button.outline.pill {
  margin-right: 5px;
  border: unset;
}
.button.outline.pill:hover {
  background: #D4004B;
}
.button.pill:hover span,
.button.pill:focus span {
  color: #eaf6ff;
}

.detail .list-item div {
  padding: 0;
}
.detail .nav-content {
  margin-top: -36px;
}
.nav-content .accordion-title span {
  text-transform: none;
}
.accordion-content .boxes a.icon {
  border-bottom: 1px dotted #c6cfe2;
  display: block;
  padding: 15px 0 15px 10px;
  margin: -8px 0 8px;
  line-height: 1;
}
.accordion-content .boxes a.icon span[class^="ic-"] {
  font-size: 14px;
  margin-right: 8px;
}
.accordion-content .boxes a.icon.button-up {
  padding: 10px 0;
  line-height: 1;
  font-size: 14px;
}
.accordion-content .boxes a.icon.button-up span[class^="ic-"] {
  font-size: 12px;
  margin-right: 8px;
}
.accordion-content button.button.round {
  width: 35px;
  height: 35px;
}

.accordion-content button.button.round  span[class^="ic-"] {
  top: 7px;
  left: 1px;
}
.teaser-data .header:hover, .teaser-data .arrow:hover,
.teaser-data a:focus .header, .teaser-data:focus .arrow {
  color: #004188;
}
.teaser:hover .teaser-link, .tabs-content .tabs-panel .teaser:hover .teaser-link,
.teaser:focus-within .teaser-link, .tabs-content .tabs-panel .teaser:focus-within .teaser-link {
  color: #003064;
}
@property --colorTeaser1 {
  syntax: '<color>';
  initial-value: #003064;
  inherits: false;
}
@property --colorTeaser2 {
  syntax: '<color>';
  initial-value: #003064;
  inherits: false;
}
@property --colorTeaserHover1 {
  syntax: '<color>';
  initial-value: #003064;
  inherits: false;
}
@property --colorTeaserHover2 {
  syntax: '<color>';
  initial-value: #003064;
  inherits: false;
}
.teaser .teaser-link .ic-inspire:before {
  font-size: 52px;
  content: "\e96e";
}
.teaser .teaser-link .ic-map:before {
  font-size: 52px;
  content: "\e936";
}
.teaser .teaser-link .ic-rss:before {
  font-size: 52px;
  content: "\e971";
}
.teaser .teaser-link .ic-www:before {
  font-size: 52px;
  content: "\e972";
}
.teaser .teaser-link .ic-metadata:before {
  font-size: 52px;
  content: "\e970";
}
.teaser .teaser-link [class^="ic-"],
.teaser .teaser-link [class*=" ic-"] {
  background-image: -moz-linear-gradient(to bottom, var(--color-primary), var(--color-primary));
  background-image: -webkit-linear-gradient(to bottom, var(--color-primary), var(--color-primary));
  background-image: linear-gradient(to bottom, var(--color-primary), var(--color-primary));
  -webkit-background-clip: text;
  -moz-background-clip: text;
  background-clip: text;
  color: transparent;
}
.teaser:hover .teaser-link [class^="ic-"], .tabs-content .tabs-panel .teaser:hover .teaser-link [class^="ic-"],
.teaser:focus-within .teaser-link [class^="ic-"], .tabs-content .tabs-panel .teaser:focus-within .teaser-link [class^="ic-"],
.teaser:hover .teaser-link [class*=" ic-"], .tabs-content .tabs-panel .teaser:hover .teaser-link [class*=" ic-"],
.teaser:focus-within .teaser-link [class*=" ic-"], .tabs-content .tabs-panel .teaser:focus-within .teaser-link [class*=" ic-"]
{
  background-image: -moz-linear-gradient(to bottom, var(--color-secondary), var(--color-secondary));
  background-image: -webkit-linear-gradient(to bottom, var(--color-secondary), var(--color-secondary));
  background-image: linear-gradient(to bottom, var(--color-secondary), var(--color-secondary));
}
.teaser .teaser-link .ic-opendata {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient x1='0%25' y1='6.216%25' y2='93.784%25' id='a'%3E%3Cstop stop-color='%2314519f' offset='0%25'/%3E%3Cstop stop-color='%2314519f' offset='100%25'/%3E%3Cstop stop-color='%2314519f' offset='100%25'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M265.58,328h-11a.83.83,0,0,0-.83.83v11a.83.83,0,0,0,.83.83h11a.83.83,0,0,0,.83-.83v-11A.83.83,0,0,0,265.58,328ZM261,334.58a.18.18,0,0,0-.1.16v1.86a.8.8,0,0,1-.8.8.79.79,0,0,1-.79-.8v-1.86a.18.18,0,0,0-.1-.16A1.86,1.86,0,1,1,262,333,1.88,1.88,0,0,1,261,334.58Z M255.91,327v.59h1.5V327a4.39,4.39,0,0,0-8.78,0,.75.75,0,0,0,1.5,0,2.89,2.89,0,0,1,5.78,0Z' transform='translate(-248.63 -322.6)' fill='url(%23a)' fill-rule='evenodd'/%3E%3C/svg%3E");
  -webkit-background-clip: unset;
  -moz-background-clip: unset;
  background-clip: unset;
}
.teaser:hover .teaser-link .ic-opendata, .tabs-content .tabs-panel .teaser:hover .teaser-link .ic-opendata,
.teaser:focus-within .teaser-link .ic-opendata, .tabs-content .tabs-panel .teaser:focus-within .teaser-link .ic-opendata {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg width='20' height='20' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient x1='0%25' y1='6.216%25' y2='93.784%25' id='a'%3E%3Cstop stop-color='%230091A6' offset='0%25'/%3E%3Cstop stop-color='%230091A6' offset='100%25'/%3E%3Cstop stop-color='%23871D33' offset='100%25'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M265.58,328h-11a.83.83,0,0,0-.83.83v11a.83.83,0,0,0,.83.83h11a.83.83,0,0,0,.83-.83v-11A.83.83,0,0,0,265.58,328ZM261,334.58a.18.18,0,0,0-.1.16v1.86a.8.8,0,0,1-.8.8.79.79,0,0,1-.79-.8v-1.86a.18.18,0,0,0-.1-.16A1.86,1.86,0,1,1,262,333,1.88,1.88,0,0,1,261,334.58Z M255.91,327v.59h1.5V327a4.39,4.39,0,0,0-8.78,0,.75.75,0,0,0,1.5,0,2.89,2.89,0,0,1,5.78,0Z' transform='translate(-248.63 -322.6)' fill='url(%23a)' fill-rule='evenodd'/%3E%3C/svg%3E");
}
.teaser .blue-border {
  background-color: #EFEFEF;
}
.control--checkbox .control__indicator::after {
  border: solid #003064;
  border-width: 0 3px 3px 0;
}
.control--radio .control__indicator::after {
  background: #003064;
  border: solid #003064;
}
.select2-container--default .select2-selection--single::after {
  color: #004188;
}
.control__indicator ~ .control__indicator {
  border: 1px solid #012D47;
}
.boxed-table thead {
  color: #003064;
  background-color: #FFFFFF;
  border-bottom: 1px solid #003064;
}
table .dark a {
  text-decoration: none;
}
.tabs .tabs-title > a {
  color: #004188;
}
.tabs .tabs-title > a[aria-selected="true"], .tabs .tabs-title > a:focus {
  color: #003064;
  border-bottom: 8px solid #004188;
}
.tabs .tabs-title.is-active .pointer {
  border-right: 11px solid #004188;
}
footer .footer {
  position: relative;
}
footer .footer::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  transform: skewY(-11deg);
}
footer .footer .logo {
  width: 2.25em;
}

.select2-container--default .select2-selection--single::after {
  padding-right: 10px;
  color: #003064;
}
.accordion-content {
  color: #004188;
}

.nested-group-sub label {
  color: #004188;
}
.nested-group-sub label:hover {
  color: #003064;
}
.dropmenu__box {
  position: relative;
  display: inline;
}
.dropmenu__box .menu-main-links {
  padding: 8px;
}
.dropmenu a.is-active {
  background-color: #003064;
}
.dropmenu__box a span:last-of-type[class^="ic-"] {
  margin-right: 0;
}
.nav-desktop {
  background: #003064;
  font: 700 1rem "Roboto Condensed", sans-serif;
  position: relative;
  z-index: 1;
}
.nav-desktop__list {
  margin: 0 auto;
  display: block;
  display: flex;
  position: relative;
  width: 100%;
}
.nav-desktop__list a, .nav-desktop__list span {
  display: block;
}
.nav-desktop__item {
  flex-grow: 1;
  display: inline-block;
}
.nav-desktop__item:nth-last-child(2) .nav-desktop__dropdown, .nav-desktop__item:nth-last-child(2) + .nav-desktop__item .nav-desktop__dropdown {
  left: auto;
  right: 0;
}
.nav-desktop__title.is-active + .nav-desktop__dropdown {
  display: block;
  left: auto;
  right: 0;
}
.nav-desktop__title .icon {
  bottom: .75em;
  font-size: 0.75rem;
  position: absolute;
  left: 50%;
  margin-left: -.5em;
  fill: #fff;
}

.nav-desktop__dropdown {
  z-index: 1;
  background: #003064;
  box-shadow: 0 6px 10px 0 rgba(102, 102, 102, 0.2);
  display: none;
  min-width: 10.875rem;
  top: 45px;
  position: absolute;
}
.nav-desktop__dropdown a {
  position: relative;
  display: block;
  color: #FFFFFF;
  text-align: left;
  color: #fff;
  font-size: 14px !important;
  padding: 8px 24px;
  border-radius: 50px;
}
.nav-desktop__dropdown a:hover {
  text-decoration:none;
}
.nav-desktop__dropdown .icon {
  fill: currentColor;
  position: absolute;
  top: 1em;
}
.nav__dropdown-item {
  font: 400 0.875rem "Arial";
  padding-left: 3rem !important;
}
.nav__dropdown-item a:hover {
  color: #000 !important;
}
.nav__dropdown-item a:active {
  color: #4EAD46 !important;
}
.nav__dropdown-item .icon {
  left: 3.125rem;
  -ms-transform: rotate(270deg);
  transform: rotate(270deg);
}
.nav__desktop-icon {
  left: 1.125rem;
}
.document-list {
  margin-bottom: 48px;
}
.text-list {
  margin-bottom: 48px;
}
.text-list p.list-item {
  margin-bottom: 2px;
}
.table table {
  margin-bottom: 48px;
}
.table table tr {
  border-bottom: 1px solid #c6cfe2;
}
.table table tr th, .table table tr td{
  padding: 8px;
  max-width: 300px;
}
.similar-accordion {
  padding: 0px 24px 24px;
}
#frmSimilar .accordion-content {
  padding: 8px 24px 24px;
}
#frmSimilar .accordion-content label {
  display: inline-block;
  margin-right: 16px;
}


.swiper-pagination-bullet {
  background: #004188 !important;
}
.swiper-button-next, .swiper-button-prev {
  color: #004188 !important;
}

footer .footer .copyright span.text {
  margin-right: 0;
  text-align: left;
  float: left;
  margin-left: 4px;
}
footer .footer .logo {
  float: left;
  display: block;
}
h4, .h4 {
  font-size: 1.1rem;
  margin-bottom: 0.75rem;
}
@media print, screen and (max-width: 63.9375em) {
  header .menu-tab-row .menu-tab {
    width: 95px;
    font-size: 12px;
  }
  header .menu-tab-row .menu-tab .link-menu-tab [class^="ic-"], header .menu-tab-row .menu-tab .link-menu-tab [class*=" ic-"] {
    left: 31px;
    top: -25px;
    font-size: 30px;
  }
  .header-menu-open .xsmall-button {
    display: block;
  }
  .header-menu-open .small-button {
    display: none;
  }
  .nav-content div.columns:first-child {
    padding: 0;
  }
  .nav-content .accordion.accordion-filter-group {
    border-radius: 0;
  }
  .nav-content .accordion.accordion-filter-group .accordion-title-filter-group::after {
    content: '\e900';
  }
  .nav-content .accordion.accordion-filter-group .is-active .accordion-title-filter-group::after {
    content: '\e903';
  }
  .nav-content .accordion.accordion-filter-group .accordion-content.filter-wrapper {
    padding: 16px;
  }
}
@media screen and (max-width: 51em) {
  header {
    height: 80px;
  }
  header .menu-tab-row .menu-tab .link-menu-tab [class^="ic-"], header .menu-tab-row .menu-tab .link-menu-tab [class*=" ic-"] {
    left: 7px;
    top: -43px;
    font-size: 38px;
  }
  .header-menu-open button {
    margin: 18px 0 0 0;
  }
}
@media screen and (max-width: 559px) {
  header .menu-tab-row .menu-tab {
    width: 40px;
  }
  header .menu-tab-row .menu-tab .link-menu-tab [class^="ic-"], header .menu-tab-row .menu-tab .link-menu-tab [class*=" ic-"] {
    left: 6px;
    top: -6px;
    font-size: 26px;
  }
}
@media print, screen and (min-width: 64em) {
}
@media print, screen and (min-width: 48em) {
  footer .footer .footer-menu-entries, footer .footer .copyright {
    text-align: left;
  }
  .banner.home .home-wrapper h1 .ic-ic-asterisc {
    font-size: 18px;
  }
  .banner.home .home-wrapper .indent span {
    font-size: 18px;
  }
  .banner.subpage .subpage-wrapper, .banner-noimage .page-wrapper {
    padding: 64px 0 16px;
  }
}
@media screen and (min-width: 78em) {
  footer .footer .footer-menu-entries, footer .footer .copyright {
    text-align: right;
  }
}

/* ---- arrow icon navigation ---- */
ul li::before, .ic-ic-arrow, .link-list a span.ic-ic-arrow {
  color: var(--color-primary);
}

/* menu */
.menu-main-links, .menu-sub-links {
  padding: 25px 0 25px 0;
}

/* ---- header ---- */
header {
  border-image: unset;
  border-bottom: 1px solid var(--color-divider);
}
header .row .columns {
  padding-left: 12px;
  padding-right: 36px;
}
.shrink header {
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.1);
  border-bottom: unset;
}

/* ---- header logo ---- */
header .logo {
  height: 100%;
  min-height: 80px;
  display: flex;
}
header .logo a {
  position: unset;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 16px;
  color: var(--color-default);
}
header .logo a:hover {
  text-decoration: none;
  color: var(--color-hyperlink);
}
header .logo a .logo__img {
  width: 56px;
  height: 56px;
}
header .logo a .logo__text {
  font-weight: 500;
  font-size: var(--font-size-xl);
}

/* ---- header menu tab ---- */
header .menu-tab-row .menu-tab {
  display: none;
}
header .menu-tab-row .menu-tab .link-menu-tab {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 12px;
  position: initial;
  align-items: center;
  justify-content: center;
}
header .menu-tab-row .menu-tab {
  height: 119px;
}
.shrink header .menu-tab-row .menu-tab {
  height: 80px;
}
header .menu-tab-row .menu-tab .link-menu-tab {
  color: var(--color-default);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  text-transform: capitalize;
}
.menu-tab-row .menu-tab .link-menu-tab span[class^=ic-] {
  position: initial;
}
.shrink .menu-tab-row .menu-tab .link-menu-tab span[class^=ic-] {
  font-size: 32px;
}
@media screen and (min-width: 640px) {
  header .menu-tab-row .menu-tab {
    display: inline-block;
  }
}
@media screen and (max-width: 51em) {
  header .menu-tab-row .menu-tab {
    width: 60px;
    height: 79px;
  }
  header .menu-tab-row .menu-tab .link-menu-tab span.text {
    display: none;
  }
  .menu-tab-row .menu-tab .link-menu-tab span[class^=ic-] {
    font-size: 32px;
  }
}

/* ---- side header menu ---- */
.header-menu {
  background-color: white;
  box-shadow: -4px 0 16px 0 rgba(0, 0, 0, 0.12);
}
.header-menu-close .button {
  background-color: var(--color-btn-primary-hover);
}
.shrink .header-menu-open button {
  margin: 14px 0 0 0;
}
.header-menu-open .button,
.header-menu-close .button {
  width: 120px;
  height: 48px;
  padding: 0;
  border: unset;
  border-radius: 0;
}
.menu-main-links a {
  text-transform: initial;
  color: var(--color-default);
}
.header-menu a, .menu-main-links a.header-menu-entry {
  border-radius: 0;
  padding: 10px 20px 7px 30px;
  font-family: var(--font-family-primary);
  font-size: var(--font-size-md);
}
.menu-main-links a.header-menu-entry {
  padding: 14px 20px 10px 30px;
  font-size: var(--font-size-lg);
}
.menu-main-links a:hover, .menu-main-links .button.logout:hover,
.menu-main-links a:focus, .menu-main-links .button.logout:focus {
  color: #FFFFFF;
  background-color: var(--color-btn-primary-hover);
}
.header-menu a.is-active, .header-menu a.is-selected {
  color: #FFFFFF;
  background-color: var(--color-btn-primary-hover);
}
.menu-login-links h6 {
  color: #FFFFFF;
  padding: 2px 24px;
}
.menu-login-links {
  background: var(--color-primary);
  padding: 25px 0 25px 0;
}
.menu-sub-links {
  background-color: var(--color-background-light);
}
@media print, screen and (min-width: 64em) {
  .header-menu-close {
    padding: 33px 12px 0 0 !important;
  }
}
@media print, screen and (max-width: 64em) {
  .header-menu-open .button {
    width: 40px;
    height: 40px;
  }
  .header-menu-close .button {
    width: 90px;
    height: 40px;
  }
}
@media print, screen and (max-width: 48em) {
  .header-menu-close {
    padding: 18px 12px 0 0;
  }
}

/* ---- banner ---- */
.banner {
  background-image: none;
  background-color: var(--color-primary);
}
.home-wrapper {
  position: relative;
  background-image: unset !important;
}
.home-wrapper .row {
  position: relative;
  z-index: 1;
}
.home-wrapper::after {
  content: '';
  position: absolute;
  bottom: 0;
  width: 100%;
  min-height: 230px;
  opacity: 0.3;
  background-image: url('../images/template/stage-overlay.svg');
  background-size: cover;
  background-repeat: no-repeat;
  background-position: initial;
}
.banner.home h1 {
  line-height: 1.35;
  font-size: var(--font-size-3xl);
  text-transform: initial;
}
.input-search .input-search-field {
  font-family: var(--font-family-primary);
  background-color: #FFFFFF;
  border-radius: 0;
  border: 0;
}
.input-search .button {
  border-radius: 0;
}
@media screen and (max-width: 120em) {
  .home-wrapper::after {
    min-height: 184px;
  }
}
@media screen and (max-width: 51em) {
  .home-wrapper::after {
    min-height: 80px;
  }
}

/* ---- Aktuelles ---- */
.teaser-data-projects {
  border-radius: 0;
  margin: 48px 0 0;
}
.teaser-data-projects .text-center h2 {
  text-transform: capitalize;
  font-weight: 500;
}
.teaser-data {
  border: unset;
  border-radius: 0;
  background-color: var(--color-background);
}
.teaser-data:hover {
  box-shadow: unset;
}
.teaser-data a:hover, .teaser-data a:hover .header,
.teaser-data a:focus, .teaser-data a:focus .header {
  transition: unset;
  color: var(--color-default);
}
.teaser-data a:hover .arrow, .teaser-data a:focus .arrow {
  color: var(--color-hyperlink);
}
.teaser-data .header {
  margin-top: 8px;
  color: var(--color-default);
  line-height: 1.28 !important;
  font-size: var(--font-size-2xl) !important;
}
.teaser-data.search {
  padding-bottom: 54px;
}
.teaser-data.search .data-text {
  font-size: var(--font-size-lg);
}
small {
  color: var(--color-default);
}

.shrink .header-menu-open .login ~ .button {
  margin: 14px 0 0 0;
}

a img[title='SNS'] {
  float: left;
  margin-right: 15px;
  margin-top: 4px;
  width: 60px;
}

/* menu */
.menu-sub-links .button.logout:hover {
  background-color: #D4004B;
}


/* search simple */
.banner.home h1.green, .banner.home .home-wrapper .indent span, .banner.home h1 {
  color: #FFFFFF;
}
@media print, screen and (min-width: 48em){
  .input-search .button.large {
    top: 6px;
    right: 6px;
  }
  .button.large {
    padding: 22px 40px 16px 40px;
  }
  .input-search .input-search-field {
    height: 72px;
  }
}


/* ---- category ---- */
.category .midnight {
  background-color: white;
}
.category .text-center h2 {
  text-transform: initial;
  font-weight: 500;
}
.category .tabs-panel.midnight {
  padding-top: 0;
}
.teaser {
  border-radius: 0;
  box-shadow: unset;
  transition: .2s ease;
  border: 3px solid var(--color-background);
  background-color: white;
}
.teaser .blue-border {
  width: 100px;
  height: 100px;
  position: absolute;
  top: 22px;
  left: calc(50% - 49px);
  background-color: unset;
}
.teaser .teaser-link [class^="ic-"] {
  width: 3rem;
  height: 3rem;
  top: 47px;
  left: calc(50% - 25px);
}
.teaser .teaser-link {
  font-family: var(--font-family-primary);
  font-size: var(--font-size-lg);
  font-weight: 500;
  padding: 100px 8px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 12px;
  transition: background-color 150ms ease;
}
.teaser .teaser-link:hover {
  box-shadow: unset;
  border-radius: 0;
  background-color: var(--color-background-light);
}
.teaser .teaser-link .teaser-number {
  position: initial;
  color: white;
  background-color: var(--color-tag);
  font-family: var(--font-family-primary);
  font-size: var(--font-size-md);
  font-weight: 500;
  border-radius: 0;
  padding-top: 8px;
}
.tabs-content {
  margin-bottom: -72px;
}
@media print, screen and (max-width: 64em) {
  .tabs-content {
    margin-bottom: -48px;
  }
  .intro {
    font-size: 22px;
    margin-bottom: 38px;
  }
  .columns.dark {
    padding-right: 1.66667rem;
    padding-left: 1.66667rem;
  }
}

/* ---- footer ---- */
footer .footer {
  padding: 16px 0;
  margin: 0 24px;
  background-color: white;
  border-top: 2px solid var(--color-default);
}
footer hr {
  margin: 0;
  border: unset;
}
footer .footer .copyright,
footer .icon span {
  color: var(--color-default);
  font-size: var(--font-size-md);
}
footer .footer .copyright {
  margin: 0;
  padding: 10px 0;
}
footer .footer .footer-menu-entries {
  margin-left: auto;
  padding: 10px 0;
}
footer .footer .footer-menu-entries a {
  margin: 0;
  text-transform: initial;
  text-decoration: underline;
  font-family: var(--font-family-primary);
}
footer .icon:hover span {
  color: var(--color-hyperlink);
}
footer .footer-menu-entries {
  display: flex;
  flex-wrap: wrap;
  row-gap: 12px;
  column-gap: 20px;
  justify-content: center;
}
footer .footer .row .columns {
  display: flex;
  align-items: center;
}
footer .footer-buttons-bar {
  right: 16px;
  bottom: 16px;
}
footer .social-buttons {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
footer .button.social {
  margin: 0;
}
footer .button-up {
  margin-top: 12px;
}
@media print, screen and (max-width: 78em) {
  footer .footer .copyright, footer .footer .footer-menu-entries {
    margin: auto;
  }
}

/* ---- search page ---- */
.banner.search {
  background-image: none;
  background-color: var(--color-primary);
}
.filter-group .accordion-item .accordion-title {
  text-transform: initial;
  color: var(--color-default);
  font-size: var(--font-size-lg);
}
.filter-group .accordion-item .accordion-title::after {
  color: #666666;
}
.filter-group .accordion-item .accordion-title:hover,
.filter-group .accordion-item .accordion-title:focus {
  color: #000000;
  border-color: #000000 !important;
}
.filter-group .accordion-item .accordion-title:hover::after,
.filter-group .accordion-item .accordion-title:focus::after {
  color: #003064;
}
.form-element .control {
  color: var(--color-btn-primary);
  font-family: var(--font-family-primary);
}
.nr-results {
  color: #3a566d;
}
.js-expander-toggle-all {
  display: flex;
  align-items: center;
  margin-top: 0 !important;
}
.js-expander-toggle-all a.icon {
  border: 1px solid var(--color-primary);
}
.js-toggle-all-expander-collapse,
.js-toggle-all-expander-expand {
  display: flex;
}
.js-expander-toggle-all a.icon:first-child,
.js-expander-toggle-all a.icon:last-child {
  padding: 8px 16px;
  border-radius: 0;
}
.js-expander-toggle-all a.icon:hover,
.js-expander-toggle-all a.icon:focus,
.js-expander-toggle-all a.icon.is-active {
  color: #FFFFFF;
  background: var(--color-primary);
}
.js-expander-toggle-all a.icon:hover span[class^="ic-"],
.js-expander-toggle-all a.icon.is-active span[class^="ic-"] {
  color: #FFFFFF;
}
.filters-active {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0;
}
.filters-active a {
  display: flex;
  align-items: center;
}
.filters-active .pill {
  margin: 0;
}
.teaser-data .helper {
  color: var(--color-default);
}
.teaser-data .helper.icon {
  margin-bottom: 24px;
}
.teaser-data .swiper-container-background {
  background-color: rgba(255, 255, 255, 0.9);
}
#searchResult .teaser-data .swiper-container-background h4 {
  background-color: unset;
  margin: 0 0 -8px;
  padding-top: 16px;
  padding-bottom: 0;
}
.helper, .helper.icon.info span.text {
  font-family: var(--font-family-primary);
}
.search-filtered .teaser-data.is-active,
.detail .search-filtered .teaser-data.is-active {
  box-shadow: unset;
}
.search-filtered .accordion.accordion-filter-group,
.search-filtered .accordion.accordion-filter-group .accordion-title.accordion-title-filter-group {
  background-color: var(--color-btn-primary);
}
.search-filtered .teaser-data.is-active h2.header,
.search-filtered .teaser-data.is-active .arrow {
  color: var(--color-default);
}
.paging a.icon, .paging a:not([href]) {
  font-size: var(--font-size-lg);
}
.icon.small-button span {
  padding: 8px 8px 5px;
}
.icon.small-button[href]:hover span:not([class]),
.icon.small-button:not([href]) span:not([class]) {
  color: white;
  background: var(--color-btn-primary);
}
.caption {
  padding-top: 10px;
}
.results-index h3 {
  margin-bottom: 0;
}
.search-result-hits {
  font-weight: normal;
}
.results-index .row {
  align-items: center;
}
.input-search .field {
  font-family: var(--font-family-primary);
  border-radius: 0;
  box-shadow: unset;
}
.control--radio .control__indicator {
  border-radius: 0;
}
@media print, screen and (min-width: 64em) {
  .teaser-data {
    min-height: 330px;
  }
  .teaser-data-projects li {
    margin-bottom: 15px;
  }
}
.teaser-data p {
  color: #666;
}
.button.small {
  border-radius: 0;
}
.button.small span {
  margin-left: 0;
  color: white;
}
.teaser-data.search .js-expander-content .button {
  border-radius: 0;
  border: unset;
}
.select2-container--default .select2-results__option--highlighted[aria-selected] {
  background-color: #f5f5f5;
}
.results-index {
  margin-bottom: 10px;
}
.nested-group .accordion-content, .nested-group {
  background: #F0F2F4;
}
.nested-group .accordion-title {
  font-family: AvenirNextLTPro-Demi, sans-serif;
}
.accordion-item:first-child > :first-child, :last-child:not(.is-active) > .accordion-title, .accordion-title {
  border-radius: 0 !important;
}
.similar-accordion .nested-group-sub .accordion-item.is-active {
  box-shadow: unset;
}
.nested-group .accordion-item:last-child > :last-child {
  border-radius: 0;
}
.nested-group .accordion-item:hover {
  box-shadow: unset;
}
@media screen and (min-width: 78em) {
  .teaser-data .data-text {
    max-height: 140px;
    height: auto;
  }
}
@media print, screen and (max-width: 63.9375em) {
  .search-filtered .accordion.accordion-filter-group {
    margin-bottom: 38px;
    border-radius: 0;
    padding: 0 24px 19px;
  }
  #searchResult .xlarge-6.columns {
    padding-right: 0;
    padding-left: 0;
  }
  #searchResult .xlarge-18.columns {
    padding: 0 1rem 0 1rem;
  }
  .search-filtered .accordion.accordion-filter-group .accordion-title.accordion-title-filter-group {
    padding: 20px 0 0 0;
  }
  .search-filtered .accordion.accordion-filter-group .accordion-title-filter-group::after {
    top: 28px;
  }
  .banner.search + div .row .columns .accordion.nested-group,
  .banner.search + div .row .columns .accordion.nested-group .accordion-item {
    margin: 0;
  }
  .banner.search + div .row .columns .accordion.nested-group .accordion-item .accordion-title {
    border-radius: 0;
    padding: 20px 24px 20px 24px;
  }
  .banner.search + div .row .columns .accordion.nested-group .accordion-item.is-active #similar-accordion-label {
    border-radius: 0 !important;
  }
  .accordion.nested-group-sub .accordion-item.is-active {
    margin-bottom: 24px !important;
  }
}



.search-filtered .table table {
  background-color: #F2F2F2;
}

.select2-selection.select2-selection--single {
  height: 40px;
  display: flex;
  align-items: center;
  border: 1px solid #1D4B7B;
  border-radius: 0;
  box-shadow: unset;
}
.select2-selection--single::after {
  position: unset !important;
}
.select2-selection--single span {
  margin-top: 2px;
  padding-right: 0 !important;
  flex: 1;
  font-family: AvenirNextLTPro-Regular, sans-serif !important;
  line-height: 1 !important;
}
.select2-container--default.select2-container--open.select2-container--below .select2-selection.select2-selection--single,
ul.select2-results__options {
  box-shadow: unset;
  border-radius: 0;
}
.select2-results__option {
  padding: 2px 16px !important;
}
span.icon span {
  color: #085468;
}

/* detail page */
.slab-bold, .table.table--lined table th
, .search-filtered .table.list table tr td:first-child,
.search-filtered .table.table--lined--list table th:first-child,
.search-filtered .table.list .list_entry {
  font-family: var(--font-family-primary) !important;
}
.search-filtered .table table a:not(.button) {
  font-family: AvenirNextLTPro-Regular, sans-serif;
}
.row.align-center.detail-header {
  justify-content: unset;
  padding-left: 32px;
}
.nav-group .accordion-item .accordion-title.is-active {
  background-color: #003064;
  border-radius: 5px !important;
}
.detail .banner-noimage {
  padding: 0 0 54px 0;
}
.filter .nav-group .accordion-item .accordion-title {
  border-radius: 0 !important;
}
@media print, screen and (max-width: 63.9375em) {
  .detail .banner-noimage {
    padding: 0;
  }
  .search-filtered .accordion.accordion-filter-group .accordion-content.filter-wrapper {
    border-radius: 5px;
  }
}
@media print, screen and (min-width: 35em) {
  h2 .anchor span {
    top: 0px;
  }
}

.detail .banner-noimage
.helper.icon .text-normal,
.teaser-data.search .helper.date,
.teaser-data.search .js-expander-content a.icon .text,
a[class*="js-expander"] span.text {
  font-family: var(--font-family-primary);
}

/* help page */
.ic-ic-check-circle, .ic-ic-bullet {
  color: #003064;
}
ul li::before {
  font-size: 30px;
}

/* login success */
.row.alert .success {
  border: 1px solid #003064;
  color: #003064;
}
.button.logout .ic-ic-arrow {
  color: #ffffff;
}

/* impressum */
.block--padded {
  max-width: 848px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 4rem;
}

/* ---- catalogue ---- */
.accordion-title {
  color: var(--color-default);
  background-color: #F0F2F4;
  font-family: var(--font-family-primary);
  padding: 20px 16px 20px 24px;
}
.catalog .accordion-item-sub span.icon > span {
  color: var(--color-default);
  font-family: var(--font-family-primary);
}
.accordion-title:hover, .accordion-title:focus {
  color: #003064;
  box-shadow: none;
  background-color: #ececec;
}


/* user administration */
.boxed-table tbody tr:nth-child(even) {
  background-color: #f2f2f2;
}
table .dark h1, table .dark h2, table .dark p, table .dark a, table .dark abbr, .js-popup {
  color: #003064;
}
.dark a:hover {
  color: #004188;
}
.popup .headline, .button[disabled], .button[disabled]:hover {
  background-color: #003064;
}
.form-element .input-check, .form-element .input-check:hover {
  background-color: transparent;
}

/* error page */
.row.content-small {
  margin-right: auto;
  margin-left: auto;
  margin-top: 4rem;
}

/* homepage info teaser */
@media print, screen and (max-width: 35em){
  .info-teaser-box {
    flex: 0 0 calc(100% - 20px);
  }
}
@media print, screen and (min-width: 35em){
  .info-teaser-box {
    flex: 0 0 calc(50% - 20px);
  }
}
@media print, screen and (min-width: 49em){
  .info-teaser-box {
    flex: 0 0 calc(33.3333% - 20px);
  }
}
@media print, screen and (min-width: 64.125em){
  .info-teaser-box {
    flex: 0 0 calc(25% - 20px);
  }
}
.info-teaser-block {
  display: flex;
  flex-wrap: wrap;
}
.info-teaser-box {
  position: relative;
  overflow: hidden;
  border-top: 6px solid #d4004b;
  margin: 0 20px 20px 0;
  background: #003064;
  color: #fff !important;
  text-decoration: none !important;
  transition: 0.2s ease-in-out;
}
.info-teaser-box:hover {
  transform: scale(1.02);
}
.info-teaser-box:before {
  content: '';
  display: inline-block;
  position: absolute;
  bottom: -120px;
  left: -65px;
  width: 538px;
  height: 386px;
  transform: scale(0.3);
  opacity: .1;
  background: url(../images/template/sprite.svg) no-repeat -50px -50px;
}
.info-teaser-box .text-box {
  padding: 20px 30px 10px;
}
.info-teaser-box img {
  float: none;
  margin-right: unset;
  width: 100%;
  height: 125px;
}
.text-box .title {
  font-size: 22px;
  margin-bottom: 10px;
  font-family: AvenirNextLTPro-Demi, sans-serif;
}
.text-box p {
  font-size: 15px;
  margin-bottom: 25px;
}

/* contact formular */
.form-element textarea, .form-element input {
  border-radius: 0;
  box-shadow: none;
}
.form-element textarea:focus, .form-element input:focus {
  border: 1px solid #003064;
  background-color: #fff;
  box-shadow: 0 0 5px #c6cfe2;
}
.form-element label {
  font-family: var(--font-family-primary);
}

.menu-login-links a {
  color: #FFFFFF;
}

.menu-login-links a:hover {
  color: #003064;
  background: #F0F2F4;
}

/* transition */
.transition-all {
    transition-property: all;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}
