/* Screen Sizes https://tailwindcss.com/docs/responsive-design
xs	25rem (400px)	@media (width >= 40rem) { ... }
sm	40rem (640px)	@media (width >= 40rem) { ... }
md	48rem (768px)	@media (width >= 48rem) { ... }
lg	64rem (1024px)	@media (width >= 64rem) { ... }
xl	80rem (1280px)	@media (width >= 80rem) { ... }
2xl	96rem (1536px)	@media (width >= 96rem) { ... }
*/
/* 

@include lg() {}

*/
:root {
  --height-navbar: 64px;
  --height-navbar-sticky: 64px;
  --height-breadcrumb: 40px;
}
@media (width >= 48rem) {
  :root {
    --height-navbar: 80px;
    --height-navbar-sticky: 80px;
  }
}
@media (width >= 80rem) {
  :root {
    --height-navbar: 100px;
    --height-navbar-sticky: 100px;
  }
}

body {
  overflow-x: hidden;
}

.bg-full-height {
  background-size: auto 100%;
}

.bg-right-center {
  background-position: right center;
}

.topline {
  position: relative;
  z-index: 1;
}
.topline em {
  font-style: normal;
  position: relative;
}
.topline em::before {
  content: "";
  position: absolute;
  width: 118%;
  height: 110%;
  left: -9%;
  top: -5%;
  border: 2px solid var(--color-teal);
  border-radius: 999px;
  z-index: -1;
}

.writer:not(.custom-text-color) h2, .writer:not(.custom-text-color) h3, .writer:not(.custom-text-color) h4, .writer:not(.custom-text-color) h5, .writer:not(.custom-text-color) h6 {
  color: var(--color-primary);
}
.writer:not(.custom-text-color) h2 em, .writer:not(.custom-text-color) h3 em, .writer:not(.custom-text-color) h4 em, .writer:not(.custom-text-color) h5 em, .writer:not(.custom-text-color) h6 em {
  font-style: normal;
  font-weight: 300;
}

@media (width >= 96rem) {
  .layout.container {
    max-width: 80%;
  }
}

.layout-section.has-block-image.sticky-section .custom-block.type-image:only-child {
  max-height: 60vh;
}
.layout-section.has-block-image.sticky-section .custom-block.type-image:only-child picture {
  height: 100%;
}
.layout-section.has-block-image.sticky-section .custom-block.type-image:only-child picture img {
  height: 100%;
  object-fit: cover;
}

.layout-section.has-block-image .layout:not(.container) .type-image picture img {
  border-radius: 0 !important;
}

.navbar .container,
.breadcrumb-wrp .container {
  max-width: 100%;
}

[class*=bg-gradient-] .writer:not(.custom-text-color) h2, [class*=bg-gradient-] .writer:not(.custom-text-color) h3, [class*=bg-gradient-] .writer:not(.custom-text-color) h4, [class*=bg-gradient-] .writer:not(.custom-text-color) h5, [class*=bg-gradient-] .writer:not(.custom-text-color) h6, [class*=bg-gradient-] .writer:not(.custom-text-color) p, [class*=bg-gradient-] .writer:not(.custom-text-color) ul, [class*=bg-gradient-] .writer:not(.custom-text-color) ol {
  color: white;
}

.compare-table table tr:first-child td:nth-child(2) {
  color: var(--color-teal);
}
.compare-table table tr:first-child td:nth-child(3) {
  color: var(--color-primary);
}
.compare-table table tr td:first-child {
  color: var(--color-orange);
}

.posts-header, .article-header {
  color: white;
  background-color: var(--color-orange);
  box-shadow: -100px 0 0 var(--color-orange), 100px 0 0 var(--color-orange);
  position: relative;
}
@media (width >= 48rem) {
  .posts-header, .article-header {
    box-shadow: -500px 0 0 var(--color-orange), 500px 0 0 var(--color-orange);
  }
}
.posts-header .line, .article-header .line {
  background-color: white;
}
.posts-header .column-title .text-orange, .article-header .column-title .text-orange {
  color: white;
}
.posts-header .writer h2, .posts-header .writer h3, .posts-header .writer h4, .posts-header .writer p, .article-header .writer h2, .article-header .writer h3, .article-header .writer h4, .article-header .writer p {
  color: white;
}

.layout-section {
  z-index: 20;
}

.layout-section.sticky-section {
  position: sticky;
  top: 0;
  z-index: 10;
}
.layout-section.sticky-section.not-sticky {
  position: static !important;
}
.layout-section.sticky-section.logo-sticky {
  top: calc(var(--height-navbar) + var(--height-breadcrumb));
  padding: 0 !important;
  background: none;
}
.layout-section.sticky-section.logo-sticky .custom-block {
  padding-top: 1rem;
}
.layout-section.sticky-section.logo-sticky .custom-block img {
  width: 100%;
  object-fit: contain;
}

.sticky-sentinel {
  height: 1px;
}

.nav-mobile-bg-image {
  background-image: url(../gfx/c-icon-white-alpha.svg);
}

.zeitachse h3 {
  color: white;
}
.zeitachse .writer {
  color: white;
}
.zeitachse .writer strong {
  color: var(--color-orange);
}

img.img-transparent {
  box-shadow: none !important;
  border-radius: 0 !important;
}

.site-footer .footer-bg-image {
  opacity: 0.5;
  background-size: 130% auto;
}
@media (width >= 48rem) {
  .site-footer .footer-bg-image {
    background-size: auto 130%;
  }
}
.site-footer .footer-logo img {
  min-height: 64px;
}
@media (width >= 64rem) {
  .site-footer .footer-logo img {
    min-height: 80px;
  }
}
.site-footer .footer-info {
  color: white;
}
.site-footer .footer-info a {
  color: white;
}
.site-footer .footer-info a:hover {
  color: var(--color-orange);
}
.site-footer .footer-menu-column .btn-text {
  color: var(--color-orange);
  text-transform: none;
  font-weight: 600;
}
.site-footer .footer-menu-column .btn-text:hover {
  background-color: transparent;
  text-decoration: underline;
  color: white;
}
.site-footer .footer-social .social-links {
  justify-content: center;
}
@media (width >= 48rem) {
  .site-footer .footer-social .social-links {
    justify-content: flex-start;
    padding-left: 0;
  }
}
.site-footer .footer-meta .btn-text {
  color: white;
  text-transform: none;
  font-weight: normal;
}
.site-footer .footer-meta .btn-text:hover {
  background-color: transparent;
  text-decoration: underline;
}

@media (max-width: 380px) {
  .navbar-toggle .text {
    display: none;
  }
}
.header-bg-image {
  background-size: auto 110%;
}

.page-header-line {
  overflow: hidden;
}
.page-header-line .svg-container {
  --linesize: 500px;
  color: var(--color-orange);
  position: relative;
}
.page-header-line .svg-container::before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: calc(var(--linesize) * -1);
  width: var(--linesize);
  height: 3px;
  background-color: currentColor;
}
.page-header-line .svg-container::after {
  content: "";
  position: absolute;
  display: block;
  bottom: calc(var(--linesize) * -1);
  right: 0;
  width: 3px;
  height: var(--linesize);
  background-color: currentColor;
}
.page-header-line .svg-container .draw {
  animation: drawHoldErase 2s linear;
  stroke: currentColor;
  stroke-width: 3;
  stroke-linejoin: round;
  fill: none;
}
@keyframes drawHoldErase {
  0% {
    stroke-dasharray: 0 1;
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dasharray: 1 1;
    stroke-dashoffset: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .page-header-line .svg-container .draw {
    animation: none;
    stroke-dasharray: 1 1;
  }
}

.type-text.text-center .buttons {
  justify-content: center;
}

@media (width >= 64rem) {
  .page-card.card-split .card-image {
    max-width: calc(50% - 1rem);
  }
}

.layout-section.has-block-contact .writer h1, .layout-section.has-block-contact .writer h2, .layout-section.has-block-contact .writer h3, .layout-section.has-block-contact .writer h4 {
  color: var(--color-orange);
}
.layout-section.has-block-contact .writer p {
  color: white;
}

.layout-section.has-block-contact,
.type-contactteaser .contact {
  position: relative;
}
.layout-section.has-block-contact::before,
.type-contactteaser .contact::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-image: url(../gfx/c-icon-white-alpha.svg);
  background-size: 120% auto;
  background-repeat: no-repeat;
  background-position: center;
}
@media (width >= 48rem) {
  .layout-section.has-block-contact::before,
  .type-contactteaser .contact::before {
    background-size: auto 120%;
  }
}

.glossar-modal .writer h1, .glossar-modal .writer h2, .glossar-modal .writer h3, .glossar-modal .writer h4, .glossar-modal .writer h5, .glossar-modal .writer h6 {
  word-break: break-word;
}

.type-table td:first-child {
  text-align: left;
}

.timeline-entry .dot {
  position: relative;
  z-index: 3;
}
.timeline-entry .dot + .line {
  display: none;
}
.timeline-entry .dot .intersect {
  height: 1rem;
  opacity: 1;
}
.timeline-entry .entry-content p + ul {
  margin-top: 0.5rem;
}
.timeline-entry .entry-content ul {
  list-style: none;
  padding-left: 0;
}
.timeline-entry .entry-content ul li {
  padding-block: 0.25rem;
  border-bottom: 1px solid var(--color-grey-middle);
}
.timeline-entry .entry-content ul li:first-child {
  border-top: 1px solid var(--color-grey-middle);
}
.timeline-entry .entry-content ul li:last-child {
  border-color: transparent;
}
.timeline-entry:last-child .dot {
  z-index: 2;
}
.timeline-entry:last-child .dot + .line {
  content: "";
  z-index: -1;
  width: 2px;
  height: 50000px;
  display: block;
  position: absolute;
  left: calc(50% - 2px);
  bottom: -100px;
  background-color: var(--color-grey-middle);
}
@media (width >= 48rem) {
  .timeline-entry.even .entry-content {
    text-align: right;
  }
}

.card .card-icon svg path[fill="#312783"],
.card .card-icon svg path[fill="#18327f"],
.card .feature-icon svg path[fill="#312783"],
.card .feature-icon svg path[fill="#18327f"],
.tech-feature svg path[fill="#312783"],
.tech-feature svg path[fill="#18327f"] {
  fill: white;
}

.columntitle-on-orange .column-title svg path[fill="#F7A600"],
.bg-orange .column-title svg path[fill="#F7A600"] {
  fill: white;
}

.columntitle-on-blue .column-title svg path[fill="#2E2382"],
.bg-primary .column-title svg path[fill="#2E2382"] {
  fill: white;
}

.layout-section:last-child.has-block-cta, .layout-section:last-child.has-block-contact {
  margin-bottom: 0;
}

.t-primary .column-title svg path[fill="#2E2382"] {
  fill: white;
}

.blocks.stretch-blocks .custom-block {
  height: 100%;
}

.meta-content .writer h1 {
  font-size: var(--text-h2);
}
.meta-content .writer h2 {
  font-size: var(--text-h3);
}
.meta-content .writer h3 {
  font-size: var(--text-h4);
}
.meta-content .writer h4 {
  font-size: var(--text-h5);
}

.no-icon-font .material-icons {
  text-indent: -9999px;
  overflow: hidden;
  width: 1em;
  height: 1em;
  display: inline-block;
  position: relative;
}
