@charset "UTF-8";
blockquote,
address,
big,
cite,
code,
em,
font,
img,
small,
strike,
sub,
sup,
li,
ol,
ul,
fieldset,
form,
label,
legend,
button,
table,
caption,
tr,
th,
td {
  border: none;
  font-size: inherit;
  line-height: inherit;
  margin: 0;
  padding: 0;
  text-align: inherit;
}

body {
  border: none;
  margin: 0;
  padding: 0;
  scroll-behavior: smooth;
  overflow: auto;
  overflow-wrap: break-word;
}

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  box-sizing: border-box;
}

body, html {
  -webkit-font-smoothing: antialiased;
  -webkit-font-smoothing: subpixel-antialiased;
  overflow-x: hidden;
  font-size: 100%;
}

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

ul, ol {
  list-style-position: outside;
  padding-left: 1em;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

select {
  max-width: 100%;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

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

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

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;
}

input[type="text"]:focus,
input[type="textarea"]:focus {
  outline: 1px solid var(--dsik--color--outlines);
}

body {
  --dsik--color--text: var(--dsik--body--color--text);
  --dsik--color--background: var(--dsik--body--color--background);
  --dsik--color--links: var(--dsik--color--red, #FF0000);
  --dsik--font-family: var(--dsik--body--font-family);
  --dsik--font-size: var(--dsik--body--font-size);
  --dsik--font-weight: 300;
  --dsik--font-weight--normal: var(--dsik--body--font-weight--normal, 300);
  --dsik--font-weight--strong: var(--dsik--body--font-weight--strong, 500);
  --dsik--line-height: var(--dsik--body--line-height, 1.4);
  --dsik--header--height: 140px;
  --dsik--header--logo-width: 324px;
  --dsik--layout--width: min(1220px, 94%);
  --dsik--gap--block: 20px;
  --dsik--gap--inline: 20px;
  --dsik--gap: var(--dsik--gap--block) var(--dsik--gap--inline);
  --dsik--font-size--huge: 42px;
  --dsik--font-size--big: 36px;
  --dsik--font-size--larger: 24px;
  --dsik--font-size--large: 21px;
  --dsik--font-size--medium: 18px;
  --dsik--font-size--normal: 16px;
  --dsik--font-size--small: 16px;
  --dsik--color--white: #fff;
  --dsik--color--red: #f00;
  --dsik--color--light-grey: #999;
  --dsik--color--lightest-grey: #ccc;
  --dsik--color--grey: #666;
  --dsik--color--dark-grey: var(--dsik--color--grey, #666);
  --dsik--body--font-weight--normal: 300;
  --dsik--body--font-weight--strong: 500;
  --dsik--body--font-size: var(--dsik--font-size--normal, 16px);
  --dsik--body--font-family: Sparkasse, Kanit, Helvetica Neue, Helvetica, Roboto Flex, Arial, sans-serif;
  --dsik--body--line-height: 1.4;
  --dsik--body--color--text: #666;
  --dsik--body--color--background: #f1f1f1;
  /*
	--dsik--grid-gap: 40px;
	--dsik--grid-gap-half: 20px;

	--dsik--rtl--start: left;
	--dsik--rtl--end: right;
	*/
}

[lang="vi_VI"] body {
  --dsik--body--font-family: Roboto Flex, Sparkasse, Kanit, Helvetica Neue, Helvetica, Arial, sans-serif;
}

* {
  box-sizing: border-box;
}

body {
  background: var(--dsik--body--color--background);
  color: var(--dsik--body--color--text);
  font-family: var(--dsik--font-family, Sparkasse, Kanit, Helvetica Neue, Helvetica, Roboto Flex, Arial, sans-serif);
  font-size: var(--dsik--body--font-size, var(--dsik--font-size, 16px));
  font-weight: var(--dsik--body--font-weight--normal, var(--dsik--font-weight--normal, 300));
  line-height: var(--dsik--body--line-height, 1.4);
  overflow-x: hidden;
  padding: 0;
  padding-block-start: var(--dsik--header--height, 140px);
  transition: padding 0.2s ease-in-out;
}

textarea:focus,
input:focus {
  outline: none;
}

img {
  display: block;
  height: auto;
  max-width: 100%;
  width: auto;
}

hr {
  background: #f1f1f1;
  border: 0;
  height: 2px;
  margin-block: 20px;
  margin-inline: 0;
}

p {
  margin: 0;
  margin-block-end: 20px;
}

ul {
  list-style: none;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin-block: 20px;
  line-height: 1.2;
}

h1 {
  color: var(--dsik--color--headlines, var(--dsik--color--h1, #FF0000));
  font-size: var(--dsik--font-size--huge, 42px);
  font-weight: 500;
}

h2 {
  color: var(--dsik--color--headlines, var(--dsik--color--h2, #FF0000));
  font-size: var(--dsik--font-size--big, 36px);
  font-weight: 300;
}

h3 {
  color: var(--dsik--color--headlines, var(--dsik--color--h3, #666));
  font-size: var(--dsik--font-size--larger);
  font-weight: 300;
}

h4 {
  color: var(--dsik--color--headlines, var(--dsik--color--h4, #000));
  font-size: var(--dsik--font-size--large);
  font-weight: 700;
}

h5 {
  color: var(--dsik--color--headlines, var(--dsik--color--h5, #666));
  font-size: var(--dsik--font-size--medium);
  font-size: var(--dsik--font-size--normal, 16px);
  font-weight: 700;
}

h6 {
  color: var(--dsik--color--headlines, var(--dsik--color--h2, #000));
  font-size: var(--dsik--font-size--normal, 21px);
  font-weight: 700;
}

header h1, header h2, header h3, header h4, header h5, header h6 {
  margin-block-start: 0;
}

a {
  color: var(--dsik--color--links);
  text-decoration: none;
}

b, strong {
  font-weight: 700;
}

#site-header {
  --dsik--color--background: #FF0000;
  --dsik--color--text: #fff;
  background: var(--dsik--color--background);
  color: var(--dsik--color--text);
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  height: var(--dsik--header--height, 140px);
  transition: height 0.2s ease-in-out;
  z-index: 36;
}

#site-header .wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  position: relative;
}

#site-header a,
#site-header span {
  color: #fff;
}

#site-logo {
  flex: 0 0 var(--dsik--header--logo-width, 324px);
  transition: flex-basis 0.2s ease-in-out;
}

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

.fixed-headbar,
.navoverlay-active {
  --dsik--header--height: 80px;
  overflow: hidden;
}

.fixed-headbar #site-logo,
.navoverlay-active #site-logo {
  flex: 0 1 220px;
}

.navoverlay-active #main-nav {
  display: block;
}

#main {
  position: relative;
  z-index: 1;
}

#site-header + #main {
  margin-block-start: 125px;
}

.main-row {
  align-items: flex-start;
}

.mainbar,
.sidebar {
  position: relative;
}

@media screen and (min-width: 993px) {
  .mainbar {
    flex: 1 0 75%;
  }
  .sidebar {
    flex: 1 0 240px;
  }
}

@media screen and (max-width: 992px) {
  .main-row {
    flex-wrap: wrap;
  }
}

.social-nav {
  display: flex;
  align-items: stretch;
  gap: var(--dsik--gap, 0 10px);
}

.social-nav li {
  flex: 0 0 24px;
  display: flex;
  justify-content: center;
  align-items: center;
}

span.language,
a.language {
  --dsik--color--background: #fff;
  --dsik--color--text: var(--dsik--color--red, #f00);
  display: block;
  padding: 10px 0;
  background: var(--dsik--color--background);
  color: var(--dsik--color--text) !important;
  width: var(--dsik--lang-nav--button-size, 40px);
  height: var(--dsik--lang-nav--button-size, 40px);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  white-space: nowrap;
  font-size: var(--dsik--font-size--small, 14px);
  font-weight: 700;
}

a.language:hover {
  --dsik--color--background: var(--dsik--color--red, #f00);
  --dsik--color--text: #fff;
}

#info-nav {
  position: absolute;
  right: 10px;
  top: 20px;
  display: flex;
}

#info-nav .lang-nav {
  position: relative;
}

#info-nav .lang-nav ul {
  display: none;
  left: 0;
  position: absolute;
  top: var(--dsik--lang-nav--button-size, 40px);
}

#info-nav .lang-nav ul li {
  display: block;
}

#info-nav .lang-nav .current {
  display: none;
}

#info-nav .lang-nav:hover .language {
  --dsik--color--background: var(--dsik--color--white, #fff);
  --dsik--color--text: var(--dsik--color--red, #f00);
}

#info-nav .lang-nav:hover ul {
  display: block;
}

#info-nav .tx-indexedsearch-searchbox {
  display: flex;
  align-items: center;
}

ul.info-nav {
  display: flex;
  align-items: stretch;
  gap: var(--dsik--gap, 0 10px);
}

ul.info-nav li.has-icon {
  flex: 0 0 25px;
  display: flex;
  justify-content: center;
  align-items: center;
}

#hamburger-nav {
  cursor: pointer;
  position: absolute;
  right: 10px;
  top: 15px;
  width: 25px;
}

#hamburger-nav hr {
  background: #fff;
  border: 0;
  height: 3px;
  margin-block: 5px;
  margin-inline: 0;
}

#meta-info {
  color: #666;
  font-size: var(--dsik--font-size--tiny, 14px);
  padding: 0;
  padding-block-start: 80px;
}

#meta-info .row {
  justify-content: space-between;
}

#meta-info .col-9-12 {
  flex-grow: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

@media screen and (max-width: 992px) {
  #meta-info .col-9-12 {
    flex-basis: 100%;
  }
}

#breadcrumb li {
  display: inline-block;
  margin-block: 0;
  margin-inline: 10px 0;
  padding: 0;
  padding-block-start: 3px;
}

#breadcrumb li :first-child {
  margin-inline-start: 0;
}

#breadcrumb .has-child:after {
  content: '>';
  margin: 0;
  margin-inline-start: 10px;
}

#breadcrumb a {
  border-bottom: 2px solid #bbb;
  color: #666;
}

#main-nav {
  position: absolute;
  left: 0;
  right: 0;
  top: var(--dsik--header--height, 140px);
  transition: top 0.2s ease-in-out;
  z-index: 2;
}

#main-nav li.first-level.meta {
  display: none;
}

#main-nav ul {
  font-size: var(--dsik--font-size--medium, 18px);
  margin: 0;
  padding: 0;
  position: relative;
}

#main-nav ul .first-level {
  border: 0;
  display: block;
}

#main-nav ul .first-level span:not(.expand-icon),
#main-nav ul .first-level a {
  color: #fff;
  display: block;
  padding-block: 7.4px;
  padding-inline: 20px;
}

#main-nav ul .first-level {
  background: #333;
  float: left;
}

#main-nav ul .first-level .current {
  background: #FF0000;
}

#main-nav ul .second-level .current {
  background: none;
  border-color: #FF0000;
  color: #FF0000;
}

#main-nav ul .third-level .current {
  background: none;
  border: none;
  color: #FF0000;
}

#main-nav #searchform {
  margin: 10px 0;
}

#main-nav .lang-nav .current,
#main-nav span.language {
  display: none;
}

@media screen and (min-width: 993px) {
  #main-nav #main-nav-menu .first-level {
    border-inline-end: 2px solid #2b2b2b;
  }
  #main-nav #main-nav-menu li:hover:not(.meta) ul {
    display: block;
    z-index: 2;
  }
  #main-nav #main-nav-menu ul {
    --dsik--color--background: var(--dsik--color--white, #fff);
    display: none;
    background: var(--dsik--color--background);
    border-block-end: 1px solid #ccc;
    position: absolute;
    right: 0;
    left: 0;
    z-index: 1;
  }
  #main-nav #main-nav-menu ul li {
    float: left;
    font-weight: bold;
    padding-block: 10px;
    padding-inline: 30px;
  }
  #main-nav #main-nav-menu ul li a,
  #main-nav #main-nav-menu ul li span {
    border-bottom: 1px solid #2b2b2b;
    color: #333;
    display: block;
    padding-block: 10px;
    padding-inline: 0;
  }
  #main-nav #main-nav-menu ul ul {
    border: none;
    position: static;
  }
  #main-nav #main-nav-menu ul ul li {
    display: block;
    float: none;
    font-weight: normal;
    padding: 0;
  }
  #main-nav #main-nav-menu ul ul li a,
  #main-nav #main-nav-menu ul ul li span {
    border: 0;
    color: #999;
  }
  #hamburger-nav {
    display: none;
  }
  /*#key {
        margin: -40px 0 0 0;
    }*/
}

span.expand-icon {
  display: none;
  position: absolute;
  right: 42%;
  width: 30px;
  height: auto;
  padding: 2px;
  line-height: 2.2;
}

span.expand-icon::after {
  content: "▶";
  color: #fff;
  position: absolute;
  top: 0;
  right: auto;
  bottom: 0;
  left: auto;
  transform-origin: center;
  transform: rotate(360deg);
  transition: transform .3s ease-in-out;
}

.active > span.expand-icon::after {
  transform-origin: center;
  transform: rotate(450deg);
  transition: transform .3s ease-in-out;
}

@media screen and (max-width: 992px) {
  #info-nav {
    display: none;
  }
  #main-nav {
    display: none;
    z-index: 3;
    position: fixed;
    top: 80px;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-x: auto;
    --dsik--color--background: #333;
    --dsik--color--text: var(--dsik--color--white, #fff);
    background: var(--dsik--color--background, #333);
    color: var(--dsik--color--text);
  }
  #main-nav li.first-level {
    border-bottom: 1px solid #444;
    /*
            // when closed 
            li {
                display: none;
                position: relative;
                height: 0;
                font-size: 0;
                transition: .2s height linear;
            }
            // when expanded 
            &.active li {
                display: block;
                height: auto;
                font-size: var(--dsik--font-size--normal, 16px);
                transition: .2s height linear;
            }
            */
  }
  #main-nav li.first-level > a {
    width: 100%;
    max-width: max(50vw, 50em);
  }
  #main-nav li.first-level ul {
    visibility: hidden;
    position: relative;
    height: auto;
    transition: height 0.2s ease-in-out;
    max-height: 0;
    overflow: hidden;
  }
  #main-nav li.first-level.active ul {
    visibility: visible;
    max-height: 50em;
  }
  #main-nav li.first-level ul {
    margin-block: 0;
    margin-inline: 10px;
  }
  #main-nav li.first-level a,
  #main-nav li.first-level span.current {
    color: #fff;
    display: block;
    padding: 10px;
  }
  #main-nav li.first-level span.current {
    background: #FF0000;
  }
  #main-nav li.first-level a:hover {
    background-color: #444;
  }
  #main-nav .meta {
    height: 66px;
    display: flex;
    gap: 20px;
  }
  #main-nav .meta ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
  }
  #main-nav .meta .has-icon {
    flex: 0 0 25px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #main-nav .meta .has-icon .icon {
    padding: 0;
  }
  #main-nav .lang-nav {
    margin: 0;
  }
  #main-nav .lang-nav ul {
    gap: 20px;
  }
  ul#main-nav-menu {
    max-width: var(--dsik--layout--width, wrap_width);
    margin-inline: auto;
    margin-block: 0;
  }
  #main-nav-menu {
    display: flex;
    flex-direction: column;
  }
  #main-nav-menu span.expand-icon {
    display: inline-block;
  }
}

@media all and (max-width: 400px) {
  #main-nav span.current {
    width: 100%;
  }
  #main-nav-menu span.expand-icon {
    right: 20%;
  }
}

/**
 * Layers z-index
 * .fixed-headbar #site-header: 2
 * below md #main-nav: 1
 * //#hamburger-nav: 3
 */
.slider {
  position: relative;
  z-index: 1;
}

#site-footer {
  background: #666;
  color: #fff;
  padding-inline: 0;
  padding-block: 60px 20px;
}

#site-footer a {
  color: #fff;
}

#site-footer p,
#site-footer ul {
  margin: 10px;
}

#site-footer .copyright {
  font-size: 12px;
}

.footer-nav {
  border-top: 2px solid #777;
}

.footer-nav li {
  border-bottom: 2px solid #777;
}

.footer-nav li a {
  display: block;
  padding: 3px 0;
}

/**
 * Legacy layout stuff
 */
.wrap {
  max-width: 1220px;
  margin: 0 auto;
  position: relative;
  width: 94%;
}

.sidebar {
  font-size: var(--dsik--font-size--small, 14px);
  --dsik--font-weight--normal: 500;
  --dsik--font-weight--strong: 700;
  font-weight: var(--dsik--font-weight--normal);
}

.row {
  display: flex;
  gap: var(--dsik--gap--inline, 20px);
  margin-block-end: var(--dsik--gap--block, 20px);
}

@media screen and (max-width: 768px) {
  .row {
    flex-wrap: wrap;
  }
}

.teaser-row {
  align-items: stretch;
  overflow: hidden;
}

.teaser-row > div > .gridelement {
  height: 100%;
}

.teaser-row > div > .gridelement > .teaser {
  height: 100%;
}

.col-3-12,
.col-4-12,
.col-6-12,
.col-8-12,
.col-9-12,
.col-12-12 {
  position: relative;
  flex-grow: 1;
  flex-shrink: 1;
  flex-basis: 100%;
}

@media (min-width: 768px) {
  .table-cell-6-12 {
    display: table-cell;
    width: 50%;
    padding: 0;
    padding-inline-end: 10px;
  }
  .col-3-12 {
    flex-basis: 25%;
  }
  .col-4-12 {
    flex-basis: 33.33333333%;
  }
  .col-6-12 {
    flex-basis: 50%;
  }
  .col-8-12 {
    flex-basis: 66.66666667%;
  }
  .col-9-12 {
    flex-basis: 75%;
  }
  .col-12-12 {
    flex-basis: 100%;
  }
}

.key-image {
  margin: -20px -20px 20px -20px;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar,
body.layout-2 .mainbar {
  --dsik--color--background: #fff;
  background: var(--dsik--color--background);
  padding: 20px;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar header,
body.layout-2 .mainbar header {
  margin-block: 20px;
  margin-inline: 0;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar h4,
body.layout-2 .mainbar h4 {
  margin: 0 0 10px 0;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar .teaser .ce-intext.ce-left .image,
body.layout-2 .mainbar .teaser .ce-intext.ce-left .image {
  margin: 0 20px 20px 0;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar ul,
body.layout-2 .mainbar ul {
  list-style-type: disc;
  padding: 0;
  padding-block-end: 20px;
  padding-inline-start: 20px;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar ol,
body.layout-2 .mainbar ol {
  list-style-type: decimal;
  padding: 0;
  padding-block-end: 20px;
  padding-inline-start: 20px;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar ol li,
body.layout-2 .mainbar ol li {
  padding: 0;
  padding-inline-start: 2px;
}

.sidebar .teaser {
  margin-block-end: 20px;
}

.teaser {
  --dsik--color--background: #fff;
  --dsik--color--text: var(--dsik--color--grey, #666);
  background: var(--dsik--color--background);
  color: var(--dsik--color--text);
}

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

.teaser .date,
.teaser .location {
  color: #999;
}

.teaser.dark-variant {
  background: #333;
  color: #fff;
}

.teaser.dark-variant h4 {
  color: #fff;
}

.teaser.red-variant {
  background: #FF0000;
  color: #fff;
}

.teaser.red-variant h4,
.teaser.red-variant a {
  color: #fff;
}

.teaser.red-variant .date,
.teaser.red-variant .location {
  color: #ccc;
}

.sidebar .teaser .frame > header {
  padding-top: var(--dsik--gap--inline, 20px);
}

.sidebar .teaser .frame > header,
.sidebar .teaser .frame > p,
.sidebar .teaser .frame > ul,
.sidebar .teaser .frame > ol,
.sidebar .teaser .frame > :where(div) > :not(.ce-gallery) {
  padding-inline: var(--dsik--gap--inline, 20px);
}

:where(body):where(.pagelevel-0, .pagelevel-1):where(:not(.layout-2)) .mainbar .teaser .frame > header,
:where(body):where(.pagelevel-0, .pagelevel-1):where(:not(.layout-2)) .mainbar .teaser .frame > p,
:where(body):where(.pagelevel-0, .pagelevel-1):where(:not(.layout-2)) .mainbar .teaser .frame > ul,
:where(body):where(.pagelevel-0, .pagelevel-1):where(:not(.layout-2)) .mainbar .teaser .frame > ol,
:where(body):where(.pagelevel-0, .pagelevel-1):where(:not(.layout-2)) .mainbar .teaser .frame > :where(div) > :not(.ce-gallery),
body.layout-1 .mainbar .teaser .frame > header,
body.layout-1 .mainbar .teaser .frame > p,
body.layout-1 .mainbar .teaser .frame > ul,
body.layout-1 .mainbar .teaser .frame > ol,
body.layout-1 .mainbar .teaser .frame > :where(div) > :not(.ce-gallery) {
  padding-inline: var(--dsik--gap--inline, 20px);
}

#main header {
  padding-block-start: 20px;
}

.frame-whitebox > header,
.frame-redbox > header {
  margin-bottom: 0;
}

.frame-whitebox > header:last-child :where(h1, h2, h3, h4, h5),
.frame-redbox > header:last-child :where(h1, h2, h3, h4, h5) {
  margin-block-end: 0;
}

.frame-redbox {
  --dsik--color--background: var(--dsik--color--red, #f00);
  background-color: var(--dsik--color--background, #f00);
  --dsik--color--text: var(--dsik--color--white, #fff);
  color: var(--dsik--color--text, #FFF);
  --dsik--button--color--background: var(--dsik--color--text, #fff);
  --dsik--button--color--text: var(--dsik--color--background, #f00);
}

.frame-redbox h1,
.frame-redbox h2,
.frame-redbox h3,
.frame-redbox h4 {
  font-weight: bolder;
  color: inherit;
}

.frame-redbox a {
  color: var(--dsik--color--white, #FFF);
}

.frame-redbox .teaser {
  --dsik--color--background: var(--dsik--color--red, #f00);
  background-color: var(--dsik--color--background, #f00);
  --dsik--color--text: var(--dsik--color--white, #fff);
  color: var(--dsik--color--text, #FFF);
}

.frame-whitebox {
  background-color: var(--dsik--color--white, #FFF);
  --dsik--color--background: var(--dsik--color--white, #FFF);
  background-color: var(--dsik--color--background, #fff);
}

.frame-whitebox h4 {
  font-weight: bolder;
}

.frame-whiteboxpadded {
  background-color: var(--dsik--color--white, #FFF);
  padding: 20px 20px 1px;
}

.frame-whiteboxpadded h4 {
  font-weight: bolder;
}

.icon {
  background: url(../Images/sprite.png) no-repeat;
  background-size: 250px;
  display: block;
  text-indent: -9999px;
  width: var(--dsik--icons--size, 25px);
  height: var(--dsik--icons--size, 25px);
}

.social-buttons {
  display: flex;
  align-items: center;
  gap: 10px;
}

.facebook {
  background-position: 5px 0;
}

.facebook:hover {
  background-position: 5px -25px;
}

.youtube {
  background-position: -25px 0;
}

.youtube:hover {
  background-position: -25px -25px;
}

3
.print {
  background-position: -100px -48px;
}

.e-mail {
  background-position: 0 -50px;
  height: 18px;
  height: calc(var(--dsik--icons--size, 25px) * 0.72);
  width: 35px;
  width: calc(var(--dsik--icons--size, 25px) * 1.4);
}

.share {
  background-position: -50px -50px;
}

p.intro-text {
  color: #999;
  font-size: var(--dsik--font-size--large, 21px);
  font-weight: 300;
  line-height: 1.2;
  margin: 0 0 40px 0;
}

p.ohne-abstand {
  margin: 0;
}

span.white,
a.white,
p.white {
  color: var(--dsik--color--white, #fff);
}

span.grey,
a.grey,
p.grey {
  color: var(--dsik--color--grey, #666);
}

span.dark-grey,
a.dark-grey,
p.dark-grey {
  color: var(--dsik--color--dark-grey, #333);
}

span.light-grey,
a.light-grey,
p.light-grey {
  color: var(--dsik--color--light-grey, #999);
}

span.red,
a.red,
p.red {
  color: var(--dsik--color--red, #f00);
}

/*
 *
 * LINK STYLES
 * 
 */
/*  .button  */
.button,
a.button,
span.button {
  display: inline-block;
  background: var(--dsik--button--color--background, var(--dsik--color--red, #f00));
  color: var(--dsik--button--color--text, var(--dsik--color--white, #fff));
  font-weight: 500;
  padding: 5px 10px;
}

/*  .more-link   */
.more-link,
a.more-link,
span.more-link {
  display: inline-block;
  background: var(--dsik--button--color--background, var(--dsik--color--red, #f00));
  color: var(--dsik--button--color--text, var(--dsik--color--white, #fff));
  font-weight: 500;
  padding: 5px 10px;
}

.more-link::before,
a.more-link::before,
span.more-link::before {
  content: '»';
  font-size: 1em;
  left: -5em;
}

.rslides {
  list-style-type: none !important;
  margin: 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: 100%;
  z-index: 1;
}

.rslides li {
  -webkit-backface-visibility: hidden;
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  top: 0;
}

.rslides img {
  display: block;
  height: auto;
  width: 100%;
  border: 0;
}

.rslides_tabs {
  left: 0;
  margin: 0 auto;
  max-width: 1220px;
  padding: 10px;
  position: absolute;
  right: 0;
  width: 94%;
  z-index: 1;
}

.rslides_tabs li {
  display: inline-block;
  margin: 0 5px;
}

.rslides_tabs li a {
  background: #fff;
  border-radius: 10px;
  -ms-box-shadow: 0px 2px 2px rgba(33, 33, 33, 0.5);
  -o-box-shadow: 0px 2px 2px rgba(33, 33, 33, 0.5);
  box-shadow: 0px 2px 2px rgba(33, 33, 33, 0.5);
  display: block;
  height: 20px;
  text-indent: -9999px;
  width: 20px;
}

.rslides_tabs .rslides_here a {
  background: #FF0000;
  cursor: default;
}

.rslides:empty {
  display: none;
}

.rslides_tabs {
  bottom: 0;
}

.slider {
  --dsik--color--text: var(--dsik--color--white, #fff);
  text: var(--dsik--color--text);
  position: relative;
}

.slider span, .slider p, .slider h1, .slider h2, .slider h3, .slider h4, .slider h5, .slider h6 {
  color: var(--dsik--color--text);
}

.slider .text-overlay {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: var(--dsik--slider--text-overlay--height, 50%);
  padding-inline: 20px;
  padding-block: 0 calc(calc(15px * 2) + 10px);
}

.slider .wrap > :first-child {
  margin-top: 0;
}

@media screen and (min-width: 993px) {
  .rslides_tabs {
    text-align: left;
  }
  .slider h1,
  .slider h3 {
    max-width: 50%;
  }
}

@media screen and (max-width: 992px) {
  .slider .text-overlay {
    padding-block-start: 20px;
  }
}

.subslider {
  --dsik--color--background: var(--dsik--color--white, #fff);
  --dsik--color--text: var(--dsik-color--red, #f00);
  --dsik--slider--text-overlay--height: 9em;
  background: var(--dsik--color--background);
  text: var(--dsik--color--text);
}

.subslider .rslides {
  padding-block-end: var(--dsik--slider--text-overlay--height);
}

.subslider .text-overlay {
  background: #fff;
  top: 100%;
  bottom: unset;
  padding-inline: 20px;
  padding-block: 20px calc(calc(15px * 2) + 10px);
}

.subslider .headline,
.subslider .subline {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.subslider .headline {
  font-size: var(--dsik--font-size--big, 36px);
}

.subslider .subline {
  font-size: 22px;
}

.subslider .rslides_tabs {
  bottom: 10px;
  left: 15px;
  padding: 0;
  width: 100%;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar .subslider,
body.layout-2 .mainbar .subslider {
  margin: -20px -20px 0 -20px;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar .subslider .text-overlay,
body.layout-2 .mainbar .subslider .text-overlay {
  bottom: 60px;
  left: 0;
  max-width: 100%;
  position: absolute;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar .subslider .headline,
body.layout-2 .mainbar .subslider .headline {
  color: #666;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar .subslider ul,
body.layout-2 .mainbar .subslider ul {
  list-style: none;
  padding: 0;
}

:where(body):where(:not(.pagelevel-0, .pagelevel-1)):where(:not(.layout-1)) .mainbar .subslider .rslides_tabs,
body.layout-2 .mainbar .subslider .rslides_tabs {
  bottom: 18px;
}

.homeslider {
  --dsik--slider--text-overlay--height: calc(var(--dsik--slider--image--aspect-ratio-vw, 37.76vw) - 100px);
  --dsik--slider--image--aspect-ratio-percentage: 37.76%;
  --dsik--slider--image--aspect-ratio-vw: 37.76vw;
  margin-block-end: var(--dsik--gap--block, 20px);
}

.homeslider .rslides {
  height: 0;
  padding-block-end: var(--dsik--slider--image--aspect-ratio-percentage);
}

.homeslider .text-overlay {
  padding-inline: 0;
  inline-block-start: 100px;
}

@media screen and (max-width: 992px) {
  .homeslider {
    --dsik--slider--text-overlay--height: 10.5em;
  }
  .homeslider .rslides {
    padding-block-end: calc(var(--dsik--slider--image--aspect-ratio-percentage) + var(--dsik--slider--text-overlay--height));
  }
  .homeslider {
    /*
        h1,
        h3 {
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: nowrap;
        }
        */
  }
  .homeslider .text-overlay {
    top: 100%;
    --dsik--color--background: #333;
    --dsik--color--text: #fff;
    --dsik--color--headlines: #fff;
    background: var(--dsik--color--background);
  }
  .homeslider .wrap > :first-child {
    margin-block-start: 0;
  }
  .homeslider .wrap > :last-child {
    margin-block-end: 0;
  }
  .homeslider .wrap {
    text-overflow: ellipsis;
  }
  .homeslider h1 {
    font-size: var(--dsik--font-size--big, 36px);
    margin-block: 0 10px;
  }
  .homeslider h3 {
    font-size: 22px;
    margin-block: 10px 0;
  }
}

@media screen and (max-width: 929px) {
  .homeslider {
    --dsik--slider--text-overlay--height: calc(8em + calc(calc(992px - 100vw) / 4));
  }
}

.tx-indexedsearch-search-form,
.tx-indexedsearch-search-submit {
  display: inline-block;
}

.tx-indexedsearch-search-submit {
  width: var(--dsik--icons--size, 25px);
  height: var(--dsik--icons--size, 25px);
}

.tx-indexedsearch-search-submit input {
  cursor: pointer;
  width: 100%;
  height: 100%;
  border: none;
  background: none;
  color: rgba(0, 0, 0, 0);
  background-size: 250px;
  background-image: url(../Images/sprite.png);
  background-position: -49px -23px;
}

ul.tx-indexedsearch-browsebox {
  list-style-type: none !important;
  font-size: var(--dsik--font-size--normal);
  display: flex;
  justify-content: flex-start;
  gap: 10px;
  padding: 0;
  margin-block: 10px;
  margin-inline: 0;
}

ul.tx-indexedsearch-browsebox li {
  flex: 0 0 min-content;
  color: var(--dsik--color--links);
}

ul.tx-indexedsearch-browsebox li a {
  color: inherit;
  white-space: nowrap;
}

div.tx-indexedsearch-browsebox:last-child ul.tx-indexedsearch-browsebox {
  justify-content: center;
}

#site-header .tx_indexedsearch > div {
  display: none;
}

#site-header .tx-indexedsearch-searchbox {
  margin-block: 0;
  margin-inline: 0 14px;
}

#site-header .tx-indexedsearch-searchbox fieldset {
  display: flex;
  align-items: center;
}

#site-header .tx-indexedsearch-searchbox fieldset .tx-indexedsearch-form {
  flex: 1 0 8rem;
  position: relative;
}

#site-header .tx-indexedsearch-searchbox fieldset .tx-indexedsearch-submit {
  flex: 0 0 1.5rem;
}

#site-header .tx-indexedsearch-searchbox fieldset > div {
  display: inline-block;
}

#site-header .tx-indexedsearch-searchbox label {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  position: absolute;
  inset-inline-start: 3px;
  top: .3rem;
  color: var(--dsik--color--input-placeholders, #333333);
}

#site-header .tx-indexedsearch-searchbox legend {
  font-size: 0;
}

#site-header .tx-indexedsearch-searchbox [type='text'] {
  border: 0;
  border-radius: 3px;
  color: #666;
  font-size: var(--dsik--font-size--small, 14px);
  padding: 5px;
  width: 8em;
  transition: width .2s ease-in-out;
  text-align: start;
  max-width: 100%;
}

#site-header .tx-indexedsearch-searchbox [type='text']:focus {
  width: 16rem;
  transition: width .2s ease-in-out;
}

#site-header .tx-indexedsearch-searchbox .tx-indexedsearch-form {
  margin-inline-end: 14px;
}

#site-header .tx-indexedsearch-search-submit input {
  background-position: -50px 0;
}

/**
 * Legacy Helpers
 */
@media screen and (min-width: 993px) {
  .hidden-on-desktop {
    display: none;
  }
  #media-state {
    display: none;
  }
}

img.left-float {
  float: left;
  margin: 0 20px 20px 0;
}

.full-width {
  width: 100%;
}

.red-typo {
  color: #FF0000;
}

.news-list2-container .news-list-morelink a {
  display: inline-block;
  background: #FF0000;
  color: #fff;
  font-weight: 500;
  padding-block: 5px;
  padding-inline: 10px;
}

.button.dark {
  background: var(--dsik--color--black, #000);
}

.arrow-down {
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 10px solid #fff;
  display: inline-block;
  height: 0;
  margin: 0 0 0 10px;
  width: 0;
}

/**
 * 
 */
.responsive-embed {
  height: 0;
  margin: 20px 0 30px 0;
  overflow: hidden;
  padding-bottom: 56.25%;
  /* This will give you a 16 x 9 sized ratio */
  position: relative;
}

.responsive-embed iframe {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
}

#cboxWrapper {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 9999;
  overflow: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  max-width: none;
}

#cboxOverlay {
  position: fixed;
  width: 100%;
  height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
  clear: left;
}

#cboxContent {
  position: relative;
}

#cboxLoadedContent {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

#cboxTitle {
  margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
  cursor: pointer;
}

.cboxPhoto {
  float: left;
  margin: auto;
  border: 0;
  display: block;
  max-width: none;
  -ms-interpolation-mode: bicubic;
}

.cboxIframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  padding: 0;
  margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
  box-sizing: content-box;
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
  background: #000;
  opacity: 0.9;
  filter: alpha(opacity=90);
}

#colorbox {
  outline: 0;
}

#cboxContent {
  margin-top: 20px;
  background: #000;
}

.cboxIframe {
  background: #fff;
}

#cboxError {
  padding: 50px;
  border: 1px solid #ccc;
}

#cboxLoadedContent {
  border: 5px solid #000;
  background: #fff;
}

#cboxTitle {
  position: absolute;
  top: -20px;
  left: 0;
  color: #ccc;
}

#cboxCurrent {
  position: absolute;
  top: -20px;
  right: 0px;
  color: #ccc;
}

#cboxLoadingGraphic {
  background: url(/loading.gif) no-repeat center center;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
  border: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  width: auto;
  background: none;
}

/* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
#cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
  outline: 0;
}

#cboxSlideshow {
  position: absolute;
  top: -20px;
  right: 90px;
  color: #fff;
}

#cboxPrevious {
  position: absolute;
  top: 50%;
  left: 5px;
  margin-top: -32px;
  background: url(../Images/controls.png) no-repeat top left;
  width: 28px;
  height: 65px;
  text-indent: -9999px;
}

#cboxPrevious:hover {
  background-position: bottom left;
}

#cboxNext {
  position: absolute;
  top: 50%;
  right: 5px;
  margin-top: -32px;
  background: url(../Images/controls.png) no-repeat top right;
  width: 28px;
  height: 65px;
  text-indent: -9999px;
}

#cboxNext:hover {
  background-position: bottom right;
}

#cboxClose {
  position: absolute;
  top: 5px;
  right: 5px;
  display: block;
  background: url(../Images/controls.png) no-repeat top center;
  width: 38px;
  height: 19px;
  text-indent: -9999px;
}

#cboxClose:hover {
  background-position: bottom center;
}

div.zwei-spalten {
  -ms-column-count: 2;
  -moz-column-count: 2;
  -o-column-count: 2;
  column-count: 2;
  -ms-column-gap: 40;
  -moz-column-gap: 40;
  -o-column-gap: 40;
  column-gap: 40;
}
