
/* admin panel */
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=Sora:wght@300;400;600&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Instrument+Sans:wght@400;500;700&family=Bricolage+Grotesque:wght@400;600;800&display=swap");
.active-panel {
  padding: 10px;
  border: 1px solid transparent #ccc;
  margin: -2.5px;
  pointer-events: none;
  cursor: default;
  -webkit-appearance: button;
  color: #ffffff !important;
  background: #a0a0a0 !important;
}

.inactive-panel {
  padding: 10px;
  border: 1px solid #ccc;
  -webkit-appearance: button;
  margin: -2.5px;
  background-color: #ccc !important;
}

a.active-panel:active {
  text-decoration: none !important;
  color: #fff !important;
}

a.active-panel:visited, a.inactive-panel:active, a.inactive-panel:visited, a.active-panel:hover, a.inactive-panel:hover {
  text-decoration: none !important;
}

a.inactive-panel:active, a.active-panel:active {
  background-color: #a0a0a0 !important;
}

a.inactive-panel:hover, a.active-panel:hover {
  background-color: #a0a0a0 !important;
  color: #fff !important;
}

#admin_nav {
  margin-left: 2px !important;
}

/* editor */
@media (min-width: 1600px) {
  #editor {
    position: relative;
    width: 1180px;
    height: 800px;
  }
}
@media (min-width: 1450px) and (max-width: 1599px) {
  #editor {
    position: relative;
    width: 1000px;
    height: 800px;
  }
}
#editor {
  position: relative;
  width: 800px;
  height: 800px;
}

/* table data */
.table-min {
  margin: 0px;
  padding: 0px;
  width: 100%;
  border: 1px solid #fcfcfc;
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
}

.table-min table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
}

.table-min tr:last-child td:last-child {
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.table-min table tr:first-child td:first-child {
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
}

.table-min table tr:first-child td:last-child {
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
}

.table-min tr:last-child td:first-child {
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.table-min tr:nth-child(odd) {
  background-color: #ffffff;
}

.table-min tr:nth-child(even) {
  background-color: #e8e8e8;
}

.table-min td {
  vertical-align: middle;
  border: 1px solid #ffffff;
  border-width: 0px 1px 1px 0px;
  text-align: left;
  padding: 8px;
  font-size: 12px;
  font-family: Arial;
  font-weight: normal;
  color: #000000;
}

.table-min tr:last-child td {
  border-width: 0px 1px 0px 0px;
}

.table-min tr td:last-child {
  border-width: 0px 0px 1px 0px;
}

.table-min tr:last-child td:last-child {
  border-width: 0px 0px 0px 0px;
}

.table-min tr:first-child td {
  background: -o-linear-gradient(bottom, #ffffff 5%, #ffffff 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #ffffff));
  background: -moz-linear-gradient(center top, #ffffff 5%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff");
  background: -o-linear-gradient(top, #ffffff, ffffff);
  background-color: #ffffff;
  border: 0px solid #fcfcfc;
  border-width: 0px 0px 1px 1px;
  font-size: 16px;
  font-family: Arial;
  font-weight: bold;
  color: #000000;
}

.table-min tr:first-child:hover td {
  background: -o-linear-gradient(bottom, #ffffff 5%, #ffffff 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #ffffff));
  background: -moz-linear-gradient(center top, #ffffff 5%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff");
  background: -o-linear-gradient(top, #ffffff, ffffff);
  background-color: #ffffff;
}

.table-min tr:first-child td:first-child {
  border-width: 0px 0px 1px 0px;
}

.table-min tr:first-child td:last-child {
  border-width: 0px 0px 1px 1px;
}

td.icon {
  width: 20px;
}

/* table files */
.table-files {
  margin: 0px;
  padding: 0px;
  width: 100%;
  border: 1px solid #fcfcfc;
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
}

.table-files table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
  height: 100%;
  margin: 0px;
  padding: 0px;
}

.table-files tr:last-child td:last-child {
  -moz-border-radius-bottomright: 0px;
  -webkit-border-bottom-right-radius: 0px;
  border-bottom-right-radius: 0px;
}

.table-files table tr:first-child td:first-child {
  -moz-border-radius-topleft: 0px;
  -webkit-border-top-left-radius: 0px;
  border-top-left-radius: 0px;
}

.table-files table tr:first-child td:last-child {
  -moz-border-radius-topright: 0px;
  -webkit-border-top-right-radius: 0px;
  border-top-right-radius: 0px;
}

.table-files tr:last-child td:first-child {
  -moz-border-radius-bottomleft: 0px;
  -webkit-border-bottom-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.table-files td {
  vertical-align: middle;
  border-style: solid;
  border-width: 1px 0px 1px 0px;
  border-color: #000000;
  text-align: left;
  padding: 8px;
  font-size: 12px;
  font-family: Arial;
  font-weight: normal;
  color: #000000;
  background-color: #ffffff;
}

.table-files tr:hover td {
  background-color: #ececec;
}

.table-files tr:last-child td {
  border-width: 1px 0px 0px 0px;
}

.table-files tr:first-child td {
  background: -o-linear-gradient(bottom, #ffffff 5%, #ffffff 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #ffffff));
  background: -moz-linear-gradient(center top, #ffffff 5%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff");
  background: -o-linear-gradient(top, #ffffff, ffffff);
  background-color: #ffffff;
  border: 0px solid #ffffff;
  border-width: 0px 0px 1px 1px;
  font-size: 16px;
  font-family: Arial;
  font-weight: bold;
  color: #000000;
}

.table-files tr:first-child:hover td {
  background: -o-linear-gradient(bottom, #ffffff 5%, #ffffff 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0.05, #ffffff), color-stop(1, #ffffff));
  background: -moz-linear-gradient(center top, #ffffff 5%, #ffffff 100%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff", endColorstr="#ffffff");
  background: -o-linear-gradient(top, #ffffff, ffffff);
  background-color: #ffffff;
}

.table-files tr:first-child td:first-child {
  border-width: 0px 0px 1px 0px;
}

.table-files tr:first-child td:last-child {
  border-width: 0px 0px 1px 1px;
}

td.icon {
  width: 20px;
}

.link {
  border: none;
  background-color: inherit;
  display: inline-block;
  font-size: 16px;
  text-decoration: none;
  padding: 0px 0px 0px 0px;
}

.article-info {
  border-style: solid;
  border-color: red;
  border-width: 2px;
  padding-top: 8px;
  width: 400px;
}

#datepicker > .input-sm {
  height: 40px !important;
}

.cmslogin {
  margin: 15px 0px 30px -15px;
  padding: 15px 30px 15px 30px;
  background-color: rgba(245, 245, 245, 0.8) !important;
  border-color: transparent !important;
  border-radius: 6px;
}

@media (max-width: 991px) {
  .cmslogin {
    margin: 15px -15px 30px -15px;
  }
}
.cmsadmin {
  margin: 15px 0px 30px -15px;
  padding: 15px 30px 15px 30px;
  background-color: rgba(245, 245, 245, 0.8) !important;
  border-color: transparent !important;
  border-radius: 6px;
}

@media (max-width: 991px) {
  .cmsadmin {
    margin: 15px -15px 30px -15px;
  }
}
@media (min-width: 992px) {
  .price {
    bottom: 10px;
    position: absolute;
    right: -240px;
  }
}
@media (max-width: 992px) and (min-width: 768px) {
  .price {
    bottom: 0px;
    position: absolute;
    right: 10px;
  }
}
@media (max-width: 992px) and (max-width: 768px) {
  .price {
    padding-left: 15px;
    padding-top: 15px;
  }
}
.price {
  font-size: 36px;
}

@media (max-width: 768px) {
  .basket {
    margin-right: 10px;
  }
}
.basket {
  float: right;
}

.zusatz {
  font-size: 10px;
  width: 210px;
}

.zusatz a {
  font-size: 10px;
  width: 210px;
}

@media (max-width: 768px) {
  .zusatz {
    font-size: 10px;
    width: 290px;
  }
}
.netto {
  margin-top: 40px;
  font-size: 12px !important;
  font-weight: normal !important;
}

.brutto {
  font-size: 16px !important;
  font-weight: bold !important;
  margin-bottom: 40px;
}

.anfrageButton {
  float: right;
}

.emptyButton {
  float: left;
}

td > a {
  font-size: 12px;
}

tr:first-child > td > a {
  font-size: 16px;
}

.home-search {
  width: 150px !important;
  height: 20px;
  font-size: 13px !important;
  float: right;
  margin-top: -3px;
}

.search-title a {
  color: blue !important;
  font-size: 18px !important;
}

.search-title:hover {
  text-decoration: underline;
}

.search-link {
  color: green;
  font-size: 12px;
}

.search-row {
  padding-top: 15px;
  padding-bottom: 15px;
}

.upload {
  display: inline-block;
  margin-top: 15px;
}

/*
.anfrageButton {
    -webkit-border-radius: 16px;
    -moz-border-radius: 16px;
    border-radius: 16px;
    font-family: Arial;
    color: #ffffff;
    font-size: 20px;
    background: #cfcfcf;
    padding: 10px 20px 10px 20px;
    text-decoration: none;
}

.anfrageButton:hover {
    background: #505050;
    text-decoration: none;
}*/
.row_edit {
  z-index: 1000;
}

.row_editor {
  padding-left: 2rem;
}

/* general */
html {
  min-width: 340px;
}

.content {
  min-height: 200px;
}

a {
  color: #000000;
  font-size: 16px;
}

p {
  font-size: 16px;
}

li {
  font-size: 16px;
}

h4 {
  font-size: 1.2em !important;
  font-weight: bold !important;
  line-height: 1.25 !important;
  margin-bottom: 0.75em !important;
}

h5 {
  font-size: 1em !important;
  font-weight: bold !important;
  margin-bottom: 0.75em !important;
}

.col-main {
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.col-main {
  width: 320px;
}

@media (max-width: 767px) {
  .col-main#header {
    padding-right: 0px !important;
    width: 282px !important;
  }
}
@media (min-width: 768px) {
  .col-main {
    width: 730px;
  }
}
@media (min-width: 992px) {
  .col-main {
    width: 950px;
  }
}
@media (min-width: 1200px) {
  .col-main {
    width: 992px;
  }
}
.row {
  padding-top: 15px;
  padding-bottom: 15px;
  z-index: -1;
}

.col-main > .row {
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-bottom: 0 !important;
  padding-top: 0 !important;
}

.content {
  padding-left: 15px;
  padding-right: 15px;
}

.content > .row, .footer > .row {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

/* select */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 100%;
  border: 1px solid #bbb;
  padding: 0.75em 1em 0.5em 1em;
  background-color: white;
  background-image: image-url(/assets/select-arrow.png);
  background-position: 98% 50%;
  background-repeat: no-repeat;
}

select:hover {
  box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
}

select::-ms-expand {
  display: none;
}

.lt-ie10 select {
  background-image: none;
}

/* textarea */
input[type=text], .field > input, textarea {
  display: block;
  margin: 0;
  width: 100%;
  font-family: sans-serif;
  font-size: 14px;
  appearance: none;
  box-shadow: none;
  border-radius: none;
  padding: 10px;
  border: solid 1px #dcdcdc;
  transition: box-shadow 0.3s, border 0.3s;
}

input[type=text]:focus, .field > input:focus, textarea:focus {
  outline: none;
  border: solid 1px #707070;
  box-shadow: 0 0 5px 1px #969696;
}

input[type=checkbox] {
  display: initial;
  -webkit-appearance: checkbox;
  width: 5%;
}

.field {
  padding: 5px 0;
}

/* flash messages */
.flash-notice, .flash-alert {
  margin: 0px 0px 30px -15px;
  padding: 15px 30px 15px 30px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  border: 1px solid #fbeed5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 14px;
  line-height: 20px;
}

.flash-notice {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #468847;
}

.flash-alert {
  background-color: #f2dede;
  border-color: #eed3d7;
  color: #b94a48;
}

/* button */
input.btn, a.btn {
  background-color: #505050;
  color: #ffffff !important;
  width: 150px;
  height: 35px;
  /* display: block; */
  margin-right: 30px;
  font-weight: normal;
}

input.btn:hover, input.btn:focus, a.btn:hover, a.btn:focus {
  color: #ffffff;
  background-color: #000000;
}

#scrollToTop > a.btn {
  background-color: #505050;
  color: #ffffff !important;
  width: 50px;
  height: 50px;
  /* display: block; */
  margin-right: 30px;
  font-weight: normal;
  padding: 0px;
}

#scrollToTop > a.btn:hover, a.btn:focus {
  color: #ffffff;
  background-color: #000000;
}

.scrollToTop {
  position: fixed;
  height: 40px;
  width: 40px;
  opacity: 0.7;
  bottom: 10%;
  right: 5%;
  z-index: 999;
}

/* slider */
.bx-wrapper .bx-viewport {
  box-shadow: none !important;
}

.bx-wrapper {
  margin-bottom: 10px;
}

.bx-wrapper .bx-loading {
  background: none !important;
}

/* multilevel menu dropdown */
.dropdown-submenu {
  position: relative;
}

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  -webkit-border-radius: 0 6px 6px 6px;
  -moz-border-radius: 0 6px 6px;
  border-radius: 0 6px 6px 6px;
  background-color: #505050;
}

.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}

.dropdown-submenu > a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #ccc;
  margin-top: 5px;
  margin-right: -10px;
}

.dropdown-submenu:hover > a:after {
  border-left-color: #fff;
}

.dropdown-submenu.pull-left {
  float: none;
}

.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
  -webkit-border-radius: 6px 0 6px 6px;
  -moz-border-radius: 6px 0 6px 6px;
  border-radius: 6px 0 6px 6px;
}

/* misc */
.horizontal-divider {
  width: 100%;
  height: 4px;
  background-color: #888;
  margin: 5px 0px 5px 0px;
}

.comment-box {
  margin: 10px;
  background-color: #f5f5f5;
  padding: 10px;
}

.centered {
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.center {
  text-align: center !important;
}

.pad {
  padding-bottom: 5px;
  padding-top: 20px;
}

img {
  vertical-align: baseline !important;
}

.clear {
  clear: both;
}

.img-center {
  display: block;
  text-align: center;
}

em.current {
  font-weight: bold;
  font-size: 16px;
}

.active-link {
  pointer-events: auto !important;
}

a.orange {
  color: #ff9d33 !important;
}

.scrollToTopImage {
  margin-left: -1px;
  margin-top: -1px;
}

@font-face {
  font-family: "caveat";
  src: url(/assets/caveat.ttf);
}
.box {
  background-color: #f8f8f8;
  height: 600px;
  opacity: 0.7;
  border-radius: 4px;
  margin-left: -15px;
}

:root {
  --font-size: 19;
  --color-black: #000;
  --color-black-rgb: hex-to-rgb(#000);
  --color-white: #fff;
  --color-white-rgb: hex-to-rgb(#fff);
  --color-orange: #FF9D33;
  --color-orange-rgb: hex-to-rgb(#FF9D33);
  --color-grey-dark: #505050;
  --color-grey-dark-rgb: hex-to-rgb(#505050);
  --color-grey: #CFCFCF;
  --color-grey-rgb: hex-to-rgb(#CFCFCF);
  --color-grey-light: #E8E8E8;
  --color-grey-light-rgb: hex-to-rgb(#E8E8E8);
  --color-error-red: #ed002f;
  --color-error-red-rgb: hex-to-rgb(#ed002f);
  --color-ci: var(--color-orange);
  --color-ci-light: var(--color-grey-light);
}

.bg-white {
  background-color: var(--color-white);
}

.bg-black {
  background-color: var(--color-black);
}

.bg-orange {
  background-color: var(--color-orange);
}

.bg-grey-dark {
  background-color: var(--color-grey-dark);
}
.bg-grey-dark p {
  color: var(--color-grey-light);
}
.bg-grey-dark a {
  color: var(--color-white);
}
.bg-grey-dark h1, .bg-grey-dark h2, .bg-grey-dark h3, .bg-grey-dark h4, .bg-grey-dark h5 {
  color: var(--color-white);
}

.bg-grey {
  background-color: var(--color-grey);
}
.bg-grey a {
  color: var(--color-black);
}

.bg-grey-light {
  background-color: var(--color-grey-light);
}
.bg-grey-light a {
  color: var(--color-black);
}

.txt-orange {
  color: var(--color-orange);
}

.transparent-light {
  opacity: 0.8;
}

.transparent-light p, a {
  opacity: 1;
}

.col-main > .row {
  margin-left: -15px !important;
  margin-right: -15px !important;
  padding-bottom: 30px !important;
  padding-top: 30px !important;
  height: auto;
  min-height: 115px;
}

html {
  height: 100%;
}

body {
  height: 100%;
  font-size: 19px;
}

body > .container-fluid {
  padding-left: 0px;
  padding-right: 0px;
  margin-left: 0px !important;
  margin-right: 0px !important;
  height: 100%;
}

a {
  color: var(--color-grey-dark);
  font-size: 19px;
}

a:hover {
  color: var(--color-orange);
  text-decoration: none;
}

p {
  font-size: 19px;
}

h1 {
  font-size: 34px;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 10px;
}
h1 a {
  font-size: 34px;
}

h2 {
  font-size: 28px;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 10px;
}
h2 a {
  font-size: 28px;
}

h3 {
  font-size: 22px;
  font-weight: 500;
  margin-top: 20px;
  margin-bottom: 10px;
}
h3 a {
  font-size: 22px;
}

li {
  font-size: 19px;
}

table {
  border: none;
}

td {
  border: none;
  vertical-align: top;
}

.anchor {
  position: relative;
  top: -80px;
}

.header {
  width: 100%;
  z-index: 10;
}

#header {
  position: fixed;
  width: 100%;
  z-index: 20;
}

.fixed {
  position: fixed;
}

.content {
  min-height: 100%;
  margin-bottom: -20px;
  margin-top: 79px;
}

.logo {
  width: 180px;
  float: left;
  height: 35px;
  margin-top: 10px;
}
.logo a {
  font-size: 30px;
}

.logo img {
  width: 180px;
}

.slogan {
  color: white !important;
  font-size: 13px !important;
  float: left;
  margin-top: 45px;
  margin-left: -140px;
  margin-bottom: 10px;
  font-family: arial;
}

.slogan a {
  color: white !important;
  font-size: 30px !important;
}

@media (min-width: 992px) and (max-width: 11920px) {
  .slogan {
    margin-right: 15px;
  }
  .anniversary-xs {
    display: none;
  }
}
.outline {
  float: left;
  height: 5px;
  width: 100%;
}

.testbox {
  width: 200px;
  height: 200px;
  background-color: #ff0000;
}

.alert {
  margin-bottom: 0px;
}

.top-navigation {
  background-color: #505050;
}

.top-navigation > .col-main {
  float: right;
  padding-left: 0px;
  padding-right: 0px;
  width: inherit;
}

.navbar {
  margin-bottom: 0 !important;
}

.navbar-default {
  background-color: var(--color-grey-dark);
  border: none;
}

.navbar-default .navbar-nav > li > ul {
  background-color: #505050 !important;
  border-color: #505050 !important;
}

.navbar-default .navbar-nav > li > a {
  color: #fff !important;
  padding-top: 27px;
  padding-bottom: 27px;
}

.navbar-default .navbar-nav > li > ul > li > a {
  color: #fff !important;
}

.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  color: #ffffff !important;
  background-color: #505050 !important;
}

.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #000000 !important;
  background-color: #505050 !important;
}

.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  background-color: #000000 !important;
}

.navbar-default .navbar-nav > li > ul > li > a:hover,
.navbar-default .navbar-nav > li > ul > li > a:focus {
  background-color: #000000 !important;
}

.navbar-default .navbar-nav > li > ul > li > ul > li > a:hover,
.navbar-default .navbar-nav > li > ul > li > ul > li > a:focus {
  background-color: #000000 !important;
}

.navbar-default .navbar-nav > li > ul > li > ul > li > a {
  color: #fff !important;
}

.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 8px;
}

.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 0px;
}

.navbar-default .navbar-toggle .icon-bar {
  background-color: var(--color-white);
}

.navbar-toggle:hover, .navbar-toggle:focus {
  background-color: var(--color-orange) !important;
}

.navbar-default .navbar-toggle {
  border: none;
}

@media (min-width: 768px) and (max-width: 1118px) {
  .navbar-toggle {
    display: block;
  }
}
.dropdown-menu > li > a:focus, .dropdown-menu > li > a:focus {
  background-color: #ffffff !important;
}

.open > .dropdown-menu {
  display: block;
}

@media (max-width: 768px) {
  .navbar-collapse.collapse {
    display: none !important;
    height: 1px !important;
    padding-bottom: 0;
    overflow: visible !important;
    border: none;
  }
  .navbar-collapse.collapse.in {
    display: block !important;
    position: fixed;
    height: 100vh !important;
    width: 100vw;
    top: 79px;
    left: 0px;
    padding-bottom: 0;
    background-color: var(--color-grey-dark);
    overflow: hidden !important;
    transition: height 400ms cubic-bezier(0.77, 0, 0.175, 1);
  }
  .navbar-collapse.collapsing {
    height: 0px !important;
    width: 0;
    margin-right: 0px;
    display: none;
  }
}
@media (min-width: 768px) and (max-width: 1118px) {
  .navbar-collapse.collapse {
    display: none !important;
    height: 1px !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.collapse.in {
    display: block !important;
    position: fixed;
    height: auto !important;
    width: 100vw;
    top: 79px;
    left: 0px;
    padding-bottom: 0;
    background-color: var(--color-grey-dark);
    transition: height 400ms cubic-bezier(0.77, 0, 0.175, 1);
  }
  .navbar-collapse.collapsing {
    height: 0px !important;
    width: 0;
    margin-right: 0px;
    display: none;
  }
}
.top-navigation .col-main {
  float: right;
}

.navbar-toggle {
  margin-top: 16px;
  margin-bottom: 16px;
}

.container-fluid > .navbar-collapse, .container-fluid > .navbar-header, .container > .navbar-collapse, .container > .navbar-header {
  margin-left: 0px !important;
  margin-right: 0px !important;
}

@media (min-width: 768px) {
  .navbar-nav > li {
    float: left;
  }
}
@media (min-width: 992px) {
  a.dropdown-toggle {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  a.dropdown-toggle {
    margin-left: 2px;
    margin-right: 2px;
  }
}
@media (min-width: 768px) {
  .navbar-default .navbar-nav > li:last-child {
    border-width: 0px 2px 0px 1px;
  }
}
.login {
  position: absolute;
  right: -30px;
  top: 85px;
  background-color: var(--color-grey-dark);
  white-space: nowrap;
  padding: 5px 15px;
  -webkit-border-radius: 10px;
  -moz-border-radius: 10px;
  border-radius: 10px;
}
.login a {
  padding-top: 4px;
}

#aix-logout-button {
  background-color: transparent;
  border: none;
}

.login a:hover {
  color: var(--color-orange) !important;
}

.top-links {
  float: right;
  color: white;
  margin-right: 15px;
  position: relative;
  left: inherit;
}

.top-links a {
  color: white !important;
  font-size: 19px !important;
  line-height: 20px;
}

.locale {
  padding-top: 27px;
  padding-bottom: 27px;
}

.aix-hr {
  height: 5px;
  background-color: var(--color-orange);
  margin-top: 30px;
  margin-bottom: -30px;
  padding: 0px;
  border: none;
  margin-left: -50px;
}

.aix-block {
  height: 42px;
  width: 42px;
  background-color: var(--color-orange);
  padding: 0px;
  border: none;
  float: left;
  margin-left: -50px;
  animation: grow 0.5s ease-out forwards;
}

@keyframes grow {
  from {
    width: 0;
    margin-left: -10px;
  }
  to {
    width: 40px;
    margin-right: -50px;
  }
}
.bx-next {
  margin-right: -65px !important;
  margin-top: -40px !important;
}

.bx-prev {
  margin-left: -65px !important;
  margin-top: -40px !important;
  background-position: 0 0 !important;
}

@media (min-width: 992px) {
  .bx-prev {
    margin-left: -90px !important;
  }
}
@media (min-width: 992px) {
  .bx-next {
    margin-right: -90px !important;
  }
}
@media (max-width: 767px) {
  .bx-wrapper .bx-prev {
    left: 30px !important;
  }
  .bx-wrapper .bx-next {
    right: 30px !important;
  }
}
.box-link:hover {
  text-decoration: none !important;
}

.box-link:active {
  text-decoration: none !important;
}

#admin_remember_me {
  width: 0 !important;
}

.box-on-image {
  padding: 30px;
  height: 100%;
  aspect-ratio: 1/1;
}

.box-on-image p {
  font-size: 24px;
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.stripe-c {
  background-color: #3300f7;
  margin-right: -15px;
  margin-left: -15px;
  padding: 15px;
  color: #fff;
}

.stripe-a {
  background-color: var(--color-white);
  margin-right: -15px;
  margin-left: -15px;
  padding: 15px;
}

.stripe-b {
  background-color: #d7d7d7;
  margin-right: -15px;
  margin-left: -15px;
  padding: 15px;
}

.stripe-d {
  background-color: #505050;
  margin-right: -15px;
  margin-left: -15px;
  padding: 15px;
  color: var(--color-white);
}

.reference {
  background-color: #ffffff;
  margin: 10px;
  padding: 0px !important;
  height: 160px;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.reference:hover {
  transform: scale(1.1);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
  z-index: 1;
}

@media (max-width: 767px) {
  .reference {
    background-color: #ffffff;
    height: auto;
  }
}
@media (min-width: 992px) {
  .reference {
    background-color: #ffffff;
    margin: 10px;
    padding: 0px !important;
    height: 160px;
    width: 98% !important;
  }
}
.ueber-uns {
  padding-left: 0px;
  padding-right: 0px;
  margin: 10px -15px 10px -15px;
}

.ueber-uns img {
  margin-top: 5px;
}

.satzung {
  margin: 10px -15px 10px -15px;
  padding: 0px !important;
  height: auto;
}

.satzung img {
  margin-top: 5px;
}

.contact-btn {
  line-height: 28px;
  height: 50px;
}

.contact-btn img {
  float: left;
  margin-right: 15px;
}

.contact-form {
  padding: 30px;
  width: 100%;
}
.contact-form label {
  display: block;
  margin-bottom: 5px;
}
.contact-form input {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 19px;
  box-sizing: border-box;
}
.contact-form select {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 19px;
  box-sizing: border-box;
}
.contact-form textarea {
  width: 100%;
  min-width: 100%;
  max-width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-size: 19px;
  box-sizing: border-box;
}

.contact-headline {
  text-align: center;
  margin-bottom: 20px;
}

.contact-row {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.contact-row-element {
  flex: 1;
  min-width: 200px;
}

@media (max-width: 767px) {
  .satzung-img {
    text-align: center;
    margin-bottom: 15px;
    margin-top: 15px;
  }
}
.noscrollbar-x {
  overflow-x: hidden;
}

.bx-wrapper .bx-controls-direction a {
  height: 50px !important;
  width: 50px !important;
}

@media print {
  .bx-wrapper {
    display: none;
  }
}
.sliderprint {
  display: none;
}

@media print {
  .sliderprint {
    display: block;
  }
}
.news ul {
  padding-left: 0px;
  list-style: none;
}

.news li {
  margin-bottom: 5px;
}

.news a {
  float: right;
}

.calender {
  padding: 0px;
  min-height: calc((100vh - 220px) / 3 - 20px);
}

.calender h4 {
  font-weight: 100 !important;
}

@media (min-width: 768px) {
  .calender {
    display: table !important;
    width: 100%;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .calender.hidden-sm {
    display: none !important;
  }
}
@media (max-width: 768px) {
  .calender.visible-sm {
    display: none !important;
  }
}
@media (min-width: 991px) {
  .calender.visible-sm {
    display: none !important;
  }
}
.calender > .col-md-3 {
  border: 2px solid #fff;
  border-radius: 2px;
  min-height: 100px;
  background-color: #d7d7d7;
  padding-bottom: 15px;
}

@media (min-width: 768px) {
  .calender > .col-md-3 {
    display: table-cell !important;
    float: none;
  }
}
.calender > .col-sm-6 {
  border: 2px solid #fff;
  border-radius: 2px;
  min-height: 100px;
  background-color: #d7d7d7;
  padding-bottom: 15px;
}

@media (min-width: 768px) {
  .calender > .col-sm-6 {
    display: table-cell !important;
    float: none;
  }
}
.register {
  float: left;
  padding: 10px;
  border: 2px solid #fff;
  background-color: #d7d7d7;
}

.register.active {
  background-color: #00f;
  color: #fff;
}

.mitglieder {
  padding: 0px;
  width: 100%;
}

@media (min-width: 768px) {
  .mitglieder {
    display: table !important;
  }
}
@media (min-width: 991px) {
  .mitglieder > .col-md-2 {
    width: 20%;
  }
}
.mitglieder > .col-md-2 {
  border: 1px solid #d7d7d7;
  padding: 0px;
}

.mitglieder > .col-md-2 a {
  outline: none;
}

.aktiv {
  border-bottom: none !important;
}

.description {
  padding: 15px;
  border-right: 1px solid #d7d7d7;
  border-left: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
  display: none;
}

.description strong {
  margin-top: 15px;
}

/*
@media (max-width: 768px) {
  .description {
    padding: 70px 15px 15px 15px;
  }
}*/
.lastrow {
  float: right;
}

.mitglieder.last {
  margin-bottom: 30px;
}

.first {
  margin-left: 0px;
  padding-left: 0px;
}

.last {
  margin-right: 0px;
  padding-right: 0px;
}

#slider {
  width: 100% !important;
}

.bx-viewport {
  width: 100% !important;
  height: auto !important;
  border: none !important;
  left: 0px !important;
}

.bxslider img {
  width: 100% !important;
  height: auto !important;
}

.banner {
  padding-bottom: 0px !important;
  margin-bottom: -5px;
}

.white-box {
  padding: 15px;
  background-color: var(--color-white);
  border-color: #cfcfcf;
  border-style: solid;
  border-width: 5px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  margin-top: 15px;
  margin-bottom: 15px;
  min-height: 150px;
}

ul#offers {
  padding-left: 30px !important;
}

ul#jobs {
  padding-left: 15px !important;
}

ul#info {
  padding-left: 15px !important;
}

ul#orange-bar {
  margin-bottom: 0px;
  padding-left: 15px !important;
}

#slider {
  width: 80%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.bx-wrapper .bx-controls-direction a {
  z-index: 0 !important;
}

.motto {
  padding-left: 13px;
}

@media (min-width: 768px) {
  .motto {
    padding-left: 73px;
  }
}
@media (max-width: 767px) {
  .motto-collapse {
    font-size: 14px !important;
  }
}
.bottom-navigation div div li span a {
  font-size: 19px !important;
  font-weight: 500 !important;
}

.bottom-navigation div div li a {
  font-size: 13px !important;
}

.videoWrapper {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}

.videoWrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.fixed-pos {
  background-color: #b5b5b5;
  position: fixed;
  border-top-right-radius: 6px;
  border-bottom-right-radius: 0px;
  border-top-left-radius: 6px;
  left: 50%;
  margin-left: -60px;
  bottom: 0px;
  width: 120px;
  height: 40px;
  z-index: 15;
}

@media (min-width: 768px) {
  .fixed-pos {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
    border-top-left-radius: 0px;
    left: 0%;
    margin-left: 0px;
    top: 225px;
    width: 40px;
    height: 120px;
  }
}
@media print {
  .fixed-pos {
    display: none;
  }
}
.no-pad-bot {
  padding-bottom: 0px !important;
}

.no-pad-top {
  padding-top: 0px !important;
}

.no-pad {
  padding-bottom: 0px !important;
  padding-top: 0px !important;
}

.download-box {
  background-color: #cfcfcf;
  margin: 10px;
  padding: 0px !important;
  width: 100% !important;
}

.comment-control {
  float: right;
}

.produkt-block {
  margin-top: 10px;
}

.produkt {
  margin: 2px 0px 2px 0px;
  padding: 0px 10px 0px 10px;
  background-color: #ff9d33;
}

.produkt-txt {
  padding: 16px 0px 16px 0px;
  margin-left: 60px;
  font-size: 16px;
}

.produkt-item {
  padding: 7px 0px 2px 0px;
  float: left;
}

.produkt-preis {
  float: right;
}

@media (min-width: 992px) {
  .produkt-preis {
    position: absolute;
    bottom: 0px;
    right: -220px;
  }
}
.produkt-price {
  float: right;
  padding-top: 2px;
}

.smallprint {
  color: #444;
  font-size: 14px;
}

.high {
  font-size: 9px;
  position: absolute;
}

.no-float {
  float: none !important;
}

.copyright {
  background-color: #d7d7d7;
}

.blue {
  background-color: var(--color-blue-dark);
  color: var(--color-white);
}

.grey {
  background-color: #d7d7d7;
}

.white {
  background-color: white;
}

#home-img {
  z-index: -1;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 100%;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  padding-bottom: 15px !important;
}

#home-img > .fixed {
  z-index: -1;
}

.content {
  padding: 0px;
  overflow: hidden;
}

#content-offset {
  margin-top: 54px;
  overflow: hidden;
  margin-bottom: 0px;
}

@media (max-width: 767px) {
  #content-offset {
    margin-top: 54px;
  }
}
.blue a {
  color: var(--color-white);
}

.sBorder {
  border-style: solid;
  border-width: 2px;
  border-color: black;
  margin-top: 15px;
  margin-bottom: 15px;
  padding: 10px;
}

.sBorder > .table-min tr:first-child td {
  font-weight: normal;
  font-size: 14px;
}

.sBorder > .table-min td {
  font-size: 14px;
}

mark, .mark {
  background-color: yellow !important;
}

.underconstruction {
  position: fixed;
  transform: rotate(-45deg);
  right: -60px;
  bottom: 60px;
  color: white;
  background-color: #ff0000;
  font-size: 14px;
  padding: 10px;
  width: 300px;
  text-align: center;
  z-index: 9999;
}

.bx-wrapper {
  border: unset !important;
  -webkit-box-shadow: unset !important;
  box-shadow: unset !important;
}

.full-width {
  width: 100vw;
  margin-left: calc(50% - 50vw);
}

.aix-interactive {
  width: 100%;
  margin-top: -30px;
  margin-bottom: -30px;
}

.aix-interactive .aix-interactive-list {
  display: flex;
  width: 100%;
  list-style-type: none;
  background-color: #000;
}

.aix-interactive .aix-interactive-item {
  position: relative;
  max-width: 100%;
  height: auto;
  margin-top: 0;
  padding-top: 260px;
  padding-top: calc(260 / var(--font-size) * 18px);
  overflow: hidden;
  color: var(--color-white);
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
}

@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-item {
    display: block;
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0%;
    padding-top: 300px;
    padding-top: calc(300 / var(--font-size) * 18px);
    cursor: pointer;
    transition: flex 1s ease;
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive .aix-interactive-item {
    padding-top: 300px;
    padding-top: calc(300 / var(--font-size) * 18px);
  }
}
@media screen and (min-width: 1025px) {
  .aix-interactive .aix-interactive-item {
    padding-top: 180px;
    padding-top: calc(180 / var(--font-size) * 18px);
  }
}
.aix-interactive .aix-interactive-item:before {
  display: none;
}

@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-item:after {
    content: " ";
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    display: block;
    width: 52px;
    width: calc(52 / var(--font-size) * 18px);
    height: 100%;
    background-image: linear-gradient(90deg, transparent, rgba(0, 0, 0, 0.5));
  }
}
@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-item--is-active {
    flex-basis: 60%;
    cursor: default;
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive .aix-interactive-item--is-active {
    flex-basis: 0%;
    cursor: pointer;
  }
}
@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-item:not(.aix-interactive-item--is-active):hover {
    flex: 10% 1;
    transition: flex 0.8s cubic-bezier(0.3, 0.41, 0.06, 0.97);
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive:not(.aix-interactive--is-active) .aix-interactive-item:hover {
    flex: 10% 1;
    transition: flex 0.8s cubic-bezier(0.3, 0.41, 0.06, 0.97);
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive.aix-interactive--is-active .aix-interactive-item--is-active,
  .aix-interactive.aix-interactive--is-active[focus-within] .aix-interactive-item--is-active {
    flex-basis: 75%;
    cursor: default;
  }
  .aix-interactive.aix-interactive--is-active .aix-interactive-item--is-active,
  .aix-interactive.aix-interactive--is-active:focus-within .aix-interactive-item--is-active {
    flex-basis: 75%;
    cursor: default;
  }
}
.aix-interactive .aix-interactive-picture > img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  display: block;
  width: 100%;
  height: 100%;
  font-family: "object-fit:cover";
  object-fit: cover;
  opacity: 0.6;
}

.aix-interactive .aix-interactive-picture.no-filter > img {
  opacity: 1;
}

.aix-interactive .aix-interactive-content {
  position: relative;
  z-index: 1;
  display: block;
  margin-bottom: 80px;
  margin-bottom: calc(80 / var(--font-size) * 18px);
  padding-right: 20px;
  padding-right: calc(20 / var(--font-size) * 18px);
  padding-bottom: 20px;
  padding-bottom: calc(20 / var(--font-size) * 18px);
  padding-left: 20px;
  padding-left: calc(20 / var(--font-size) * 18px);
  white-space: normal;
}

@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-content {
    width: 70vw;
    margin-bottom: 0;
    padding-right: 60px;
    padding-right: calc(60 / var(--font-size) * 18px);
    padding-bottom: 60px;
    padding-bottom: calc(60 / var(--font-size) * 18px);
    padding-left: 60px;
    padding-left: calc(60 / var(--font-size) * 18px);
    -webkit-transform: translateX(0) translateY(61px);
    transform: translateX(0) translateY(61px);
    -webkit-transform: translateX(0) translateY(calc(61 / var(--font-size) * 18px));
    transform: translateX(0) translateY(calc(61 / var(--font-size) * 18px));
    opacity: 0;
    transition: opacity 0.8s, -webkit-transform 0.8s;
    transition: opacity 0.8s, transform 0.8s;
    transition: opacity 0.8s, transform 0.8s, -webkit-transform 0.8s;
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive .aix-interactive-content {
    width: 50vw;
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-item--is-active .aix-interactive-content {
    -webkit-transform: translateY(0);
    transform: translateY(0);
    opacity: 1;
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive .aix-interactive-item--is-active .aix-interactive-content {
    -webkit-transform: translateX(0) translateY(61px);
    transform: translateX(0) translateY(61px);
    -webkit-transform: translateX(0) translateY(calc(61 / var(--font-size) * 18px));
    transform: translateX(0) translateY(calc(61 / var(--font-size) * 18px));
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive.aix-interactive--is-active .aix-interactive-content {
    opacity: 0;
  }
}
@media screen and (min-width: 993px) {
  .aix-interactive.aix-interactive--is-active .aix-interactive-item--is-active .aix-interactive-content {
    -webkit-transform: translateX(30px) translateY(0);
    transform: translateX(30px) translateY(0);
    -webkit-transform: translateX(calc(30 / var(--font-size) * 18px)) translateY(0);
    transform: translateX(calc(30 / var(--font-size) * 18px)) translateY(0);
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-button {
    margin-top: 5px;
    margin-top: calc(5 / var(--font-size) * 18px);
    opacity: 0;
    transition: opacity 0.8s;
  }
}
.aix-interactive .aix-interactive-item--is-active .aix-interactive-button {
  opacity: 1;
}

@media screen and (min-width: 993px) {
  .aix-interactive .aix-interactive-item--is-active .aix-interactive-button {
    opacity: 0;
  }
}
@media screen and (min-width: 769px) {
  .aix-interactive.aix-interactive--is-active .aix-interactive-item--is-active .aix-interactive-button {
    opacity: 1;
  }
}
.aix-interactive .aix-interactive-header {
  max-width: 340px;
  max-width: calc(340 / var(--font-size) * 18px);
  margin-bottom: 5px;
  margin-bottom: calc(5 / var(--font-size) * 18px);
}

@media screen and (min-width: 769px) {
  .aix-interactive .aix-interactive-header {
    margin-bottom: 10px;
    margin-bottom: calc(10 / var(--font-size) * 18px);
  }
}
.aix-interactive .aix-interactive-heading p {
  font-size: 30px;
  font-size: calc(30 / var(--font-size) * 18px);
  line-height: 34px;
  line-height: calc(34 / var(--font-size) * 18px);
  letter-spacing: 0;
}

.aix-interactive .aix-interactive-description p {
  display: block;
  max-width: 480px;
  max-width: calc(480 / var(--font-size) * 18px);
}

.aix-interactive.glide .arrow {
  top: inherit;
  bottom: 15px;
}

.aix-interactive.glide .arrow-right {
  right: 8px;
}

.aix-interactive.glide .arrow-left {
  left: 8px;
}

.aix-interactive.glide .glide__bullets {
  bottom: 51px;
}

.glide {
  position: relative;
  width: 100%;
  box-sizing: border-box;
}

.glide * {
  box-sizing: inherit;
}

.glide-slides,
.glide-track {
  overflow: hidden;
}

.glide-slides {
  position: relative;
  width: 100%;
  list-style: none;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
  touch-action: pan-Y;
  margin: 0;
  padding: 0;
  white-space: nowrap;
  display: flex;
  flex-wrap: nowrap;
  will-change: transform;
}

.glide-slide,
.glide-slides--dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.glide-slide {
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  white-space: normal;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
}

.glide-slide a {
  -webkit-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.glide-arrows,
.glide-bullets {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.glide--rtl {
  direction: rtl;
}

.glide-arrow {
  position: absolute;
  display: block;
  top: 50%;
  z-index: 2;
  color: var(--color-white);
  text-transform: uppercase;
  padding: 9px 12px;
  background-color: transparent;
  border: 2px solid hsla(0, 0%, 100%, 0.5);
  border-radius: 4px;
  opacity: 1;
  cursor: pointer;
  transition: opacity 0.15s ease, border 0.3s ease-in-out;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  line-height: 1;
}

.glide-arrow:focus {
  outline: none;
}

.glide-arrow:hover {
  border-color: var(--color-white);
}

.glide-arrow--left {
  left: 2em;
}

.glide-arrow--right {
  right: 2em;
}

.glide-arrow--disabled {
  opacity: 0.33;
}

.glide-bullets {
  position: absolute;
  z-index: 2;
  bottom: 2em;
  left: 50%;
  display: inline-flex;
  list-style: none;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.glide-bullet {
  background-color: hsla(0, 0%, 100%, 0.5);
  width: 9px;
  height: 9px;
  padding: 0;
  border-radius: 50%;
  border: 2px solid transparent;
  transition: all 0.3s ease-in-out;
  cursor: pointer;
  line-height: 0;
  margin: 0 0.25em;
}

.glide-bullet:focus {
  outline: none;
}

.glide-bullet:focus,
.glide-bullet:hover {
  border: 2px solid var(--color-white);
  background-color: hsla(0, 0%, 100%, 0.5);
}

.glide-bullet--active {
  background-color: var(--color-white);
}

.glide--swipeable {
  cursor: grab;
  cursor: -webkit-grab;
}

.glide--dragging {
  cursor: grabbing;
  cursor: -webkit-grabbing;
}

.button,
.button-small {
  padding: 0;
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 20px;
  font-size: calc(20 / var(--font-size) * 18px);
  line-height: 25px;
  line-height: calc(25 / var(--font-size) * 18px);
  position: relative;
  z-index: 1;
  display: inline-flex;
  overflow: hidden;
  color: #000;
  color: var(--color-white);
  line-height: 30px;
  text-decoration: none;
  transition: all 0.3s ease;
}

.button:hover, .button-small:hover {
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .button,
  .button-small {
    font-size: 18px;
    font-size: calc(18 / var(--font-size) * 18px);
    line-height: 24px;
    line-height: calc(24 / var(--font-size) * 18px);
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }
}
.button-small:visited,
.button:visited {
  color: #000;
  color: var(--color-black);
}

.button-small.focus-visible,
.button-small:hover,
.button.focus-visible,
.button:hover {
  outline: none;
}

.button-small:after,
.button:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 101%;
  height: 100%;
  background: #0074a2;
  background: var(--color-ci);
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
  transition: all 0.3s;
}

.button-small {
  padding: 7px 2px 0;
  color: #000;
  color: var(--color-black);
  line-height: 27px;
  border-bottom: 3px solid #0074a2;
  border-bottom: 3px solid var(--color-ci);
  transition: color 0.2s linear;
}

.button-small.focus-visible,
.button-small:hover {
  color: var(--color-white);
}

.button-small.focus-visible:after,
.button-small:hover:after {
  left: 0;
  width: 101%;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.button-small.focus-visible span,
.button-small:hover span {
  -webkit-transform: scale(0.8);
  transform: scale(0.8);
}

.button-small:after {
  left: 0;
  width: 100%;
  -webkit-transform: translateY(100%);
  transform: translateY(100%);
}

.button-small:after,
.button-small span {
  transition: -webkit-transform 0.2s linear;
  transition: transform 0.2s linear;
  transition: transform 0.2s linear, -webkit-transform 0.2s linear;
}

.button-small span {
  -webkit-transform: scale(1);
  transform: scale(1);
}

.button {
  padding: 10px 72px;
  border: 3px solid #0074a2;
  border: 3px solid var(--color-ci);
}

@media screen and (max-width: 1024px) {
  .button {
    padding-right: 20px;
    padding-left: 20px;
  }
}
.button:after {
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
}

.button.focus-visible,
.button:hover {
  color: var(--color-white);
}

.button.focus-visible.focus-visible:after,
.button.focus-visible:hover:after,
.button:hover.focus-visible:after,
.button:hover:hover:after {
  -webkit-transform: translateX(0);
  transform: translateX(0);
}

.button.focus-visible,
.button:focus-visible {
  outline: 2px solid #0074a2;
  outline: 2px solid var(--color-ci);
  outline-offset: 2px;
}

.button.button-black {
  border-color: #000;
  border-color: var(--color-black);
}

.button.button-black.focus-visible,
.button.button-black:focus-visible {
  outline-color: #000;
  outline-color: var(--color-black);
}

.button.button-black:after {
  background: #000;
  background: var(--color-black);
}

.button.button-white {
  color: var(--color-white);
  border-color: var(--color-white);
}

.button.button-white:hover {
  color: #000;
  color: var(--color-black);
}

.button.button-white.focus-visible,
.button.button-white:focus-visible {
  color: #000;
  color: var(--color-black);
  outline-color: var(--color-white);
}

.button.button-white:after {
  background: #fff;
  background: var(--color-white);
}

.button.button-blue {
  color: var(--color-blue-dark);
  color: var(--color-ci);
  border-color: var(--color-blue-dark);
  border-color: var(--color-ci);
}

.button.button-blue:hover {
  color: var(--color-white);
}

.button.button-blue.focus-visible,
.button.button-blue:focus-visible {
  color: #fff;
  color: var(--color-white);
  outline-color: var(--color-blue-dark);
  outline-color: var(--color-ci);
}

.button.button-blue:after {
  background: var(--color-blue-dark);
  background: var(--color-ci);
}

.center-btn {
  width: 100%;
  max-width: 1160px;
  margin-right: auto;
  margin-left: auto;
  padding-right: 60px;
  padding-left: 60px;
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

@media screen and (max-width: 600px) {
  .center-btn {
    max-width: 1080px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .center-btn {
    margin-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .center-btn {
    margin-top: 30px;
  }
}
@media screen and (max-width: 600px) {
  .center-btn {
    margin-top: 20px;
  }
}
.floating-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 0;
  color: var(--color-white);
  background: #000;
  background: var(--color-black);
  border: none;
  border-radius: 50%;
  cursor: pointer;
}

.floating-btn.focus-visible,
.floating-btn:hover {
  background-color: #0074a2;
  background-color: var(--color-ci);
}

.button-black {
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 20px;
  font-size: calc(20 / var(--font-size) * 18px);
  line-height: 25px;
  line-height: calc(25 / var(--font-size) * 18px);
  display: inline-flex;
  padding: 14px 20px;
  color: var(--color-white);
  text-decoration: none;
  background-color: #000;
  background-color: var(--color-black);
}

@media screen and (max-width: 768px) {
  .button-black {
    font-size: 18px;
    font-size: calc(18 / var(--font-size) * 18px);
    line-height: 24px;
    line-height: calc(24 / var(--font-size) * 18px);
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }
}
@media screen and (max-width: 1024px) {
  .button-black {
    padding-right: 10px;
    padding-left: 10px;
  }
}
.button-black.focus-visible,
.button-black:focus-visible {
  outline-color: #000;
  outline-color: var(--color-black);
}

.button-black:visited,
.button-black i {
  color: var(--color-white);
}

.button-black i {
  margin-top: 2px;
  margin-right: 7px;
  font-weight: 700;
  font-size: 18px;
}

@media screen and (max-width: 1024px) {
  .button-black i {
    margin-top: 3px;
    font-size: 13px;
  }
}
.button-filter {
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 700;
  font-size: 18px;
  font-size: calc(18 / var(--font-size) * 18px);
  line-height: 22px;
  line-height: calc(22 / var(--font-size) * 18px);
  display: inline-flex;
  padding: 9px 16px;
  color: var(--color-white);
  text-decoration: none;
  background-color: #000;
  background-color: var(--color-black);
}

@media screen and (max-width: 768px) {
  .button-filter {
    font-size: 16px;
    font-size: calc(16 / var(--font-size) * 18px);
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
  }
}
@media screen and (max-width: 1024px) {
  .button-filter {
    padding-right: 10px;
    padding-left: 10px;
    font-size: 18px;
  }
}
.button-filter i {
  position: relative;
  top: 4px;
  padding-left: 10px;
  color: var(--color-white);
  font-size: 15px;
}

.product-package-container {
  display: flex;
  width: 100%;
  height: auto;
  gap: 20px;
  justify-content: center;
}

.product-package {
  flex: 0 1 30%;
  aspect-ratio: 1/1;
  margin: 10px;
  background-color: var(--color-white);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  padding: 20px;
}

.product-package:hover {
  transform: scale(1.08);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3);
  z-index: 1;
}

.product-package-price {
  color: var(--color-orange);
}

.product-package-content ul {
  list-style: none;
  padding-left: 0;
}

.product-package-content ul li {
  position: relative;
  padding-left: 35px;
}

.product-package-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 25px;
  height: 25px;
  background-image: url(/download/pictures/bullet.png);
  background-size: contain;
  background-repeat: no-repeat;
}

.button-shop {
  margin-top: 20px;
  width: 100%;
  padding: 10px calc(50% - 60px);
  white-space: nowrap;
}

.split-teaser {
  max-width: 1380px;
  display: -ms-grid;
  -ms-grid-columns: 1fr 30px 1fr;
  -ms-grid-rows: 1fr 30px 1fr;
  display: grid;
  grid-gap: 30px;
  width: 100%;
  color: var(--color-white);
}

@media screen and (max-width: 600px) {
  .split-teaser {
    max-width: 1300px;
  }
}
@media screen and (max-width: 1024px) {
  .split-teaser {
    margin-top: 50px;
  }
}
@media screen and (max-width: 600px) {
  .split-teaser {
    margin-top: 50px;
  }
}
@media screen and (max-width: 768px) {
  .split-teaser {
    display: block;
  }
}
.split-teaser .split-teaser-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 135px;
  overflow: hidden;
  color: var(--color-white);
  background-color: #000;
  background-color: var(--color-black);
  -webkit-transform: translateY(25%);
  transform: translateY(25%);
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

@media screen and (max-width: 768px) {
  .split-teaser .split-teaser-wrapper {
    margin-bottom: 25px;
  }
  .split-teaser .split-teaser-wrapper .split-teaser-head h3 {
    font-size: 32px;
  }
}
.split-teaser .split-teaser-wrapper.slide-up {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.split-teaser .split-teaser-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #000;
  opacity: 0.1;
  transition: opacity 0.5s ease;
}

.split-teaser i.icon-plus {
  display: none;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  opacity: 0;
  transition: opacity 0.5s ease;
}

@media screen and (max-width: 1024px) {
  .split-teaser i.icon-plus {
    position: absolute;
    top: 18px;
    right: 18px;
    display: inline-block;
    padding: 18px;
  }
}
.split-teaser picture[data-lazerload=loaded] img {
  opacity: 0.7;
}

.split-teaser img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  font-family: "object-fit:cover";
  object-fit: cover;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.split-teaser .article_editor img {
  position: relative;
  z-index: 50;
  width: 15px;
  height: 15px;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}

.split-teaser .split-teaser-text {
  position: absolute;
  top: 20px;
  left: 20px;
  width: calc(100% - 40px);
}

@media screen and (max-width: 768px) {
  .split-teaser .split-teaser-text {
    padding-top: 18px;
  }
}
.split-teaser .split-teaser-head h3 {
  font-weight: 700;
  font-size: 28px;
  line-height: 1;
  margin-bottom: 20px;
  margin-top: 0px;
  font-weight: 500;
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
}

@media screen and (max-width: 1024px) {
  .split-teaser .split-teaser-head h3 {
    font-size: 35px;
    font-size: calc(35 / var(--font-size) * 18px);
    line-height: 42px;
    line-height: calc(42 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 600px) {
  .split-teaser .split-teaser-head h3 {
    margin-bottom: 20px;
    font-size: 25px;
    font-size: calc(25 / var(--font-size) * 18px);
    line-height: 30px;
    line-height: calc(30 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 768px) {
  .split-teaser .split-teaser-head h3 {
    margin-bottom: 0;
    transition: margin-bottom 0.5s ease;
  }
}
.split-teaser .split-teaser-body p {
  max-width: 600px;
  margin-bottom: 0;
  opacity: 0;
  transition: opacity 0.3s ease, max-height 0.5s ease;
}

@media screen and (max-width: 768px) {
  .split-teaser .split-teaser-body p {
    max-height: 0;
  }
}
.split-teaser .split-teaser-body span {
  position: absolute;
  left: 0px;
  bottom: -32px;
  padding: 0px;
  color: var(--color-white);
  font-size: 19px;
  line-height: 1;
  -webkit-transform: translateY(-32px);
  transform: translateY(-32px);
  opacity: 0;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

/*.split-teaser a {
  position:absolute;
  left: 0px;
  bottom: -32px;
  padding: 0px;
  color:var(--color-white);
  font-size: 19px;
  line-height:1;
  -webkit-transform:translateY(-32px);
  transform:translateY(-32px);
  opacity:0;
  transition:opacity .3s ease,-webkit-transform .3s ease;
  transition:opacity .3s ease,transform .3s ease;
  transition:opacity .3s ease,transform .3s ease,-webkit-transform .3s ease
}*/
.split-teaser .article_editor {
  position: relative;
  padding: 0px;
  color: var(--color-white);
  font-size: 19px;
  line-height: 1;
  -webkit-transform: translateY(-32px);
  transform: translateY(-32px);
  opacity: 0;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease;
  transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
}

@media screen and (min-width: 1025px) {
  .split-teaser .split-teaser-wrapper-has-focus:before,
  .split-teaser .split-teaser-wrapper.focus-visible:before,
  .split-teaser .split-teaser-wrapper:hover:before {
    background-color: var(--color-grey-dark);
    opacity: 0.75;
  }
  .split-teaser .split-teaser-wrapper-has-focus i.icon-plus,
  .split-teaser .split-teaser-wrapper.focus-visible i.icon-plus,
  .split-teaser .split-teaser-wrapper:hover i.icon-plus {
    opacity: 1;
  }
  .split-teaser .split-teaser-wrapper-has-focus .split-teaser-text,
  .split-teaser .split-teaser-wrapper.focus-visible .split-teaser-text,
  .split-teaser .split-teaser-wrapper:hover .split-teaser-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .split-teaser .split-teaser-wrapper-has-focus .split-teaser-body p,
  .split-teaser .split-teaser-wrapper.focus-visible .split-teaser-body p,
  .split-teaser .split-teaser-wrapper:hover .split-teaser-body p {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s;
  }
  .split-teaser .split-teaser-wrapper-has-focus a,
  .split-teaser .split-teaser-wrapper.focus-visible a,
  .split-teaser .split-teaser-wrapper:hover span {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
  .split-teaser .split-teaser-wrapper-has-focus a,
  .split-teaser .split-teaser-wrapper.focus-visible a,
  .split-teaser .split-teaser-wrapper:hover a {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@media screen and (max-width: 1025px) {
  .split-teaser .split-teaser-wrapper-has-focus:before,
  .split-teaser .split-teaser-wrapper.focus-visible:before,
  .split-teaser .split-teaser-wrapper:hover:before {
    background-color: var(--color-grey-dark);
    opacity: 0.75;
  }
  .split-teaser .split-teaser-wrapper-has-focus i.icon-plus,
  .split-teaser .split-teaser-wrapper.focus-visible i.icon-plus,
  .split-teaser .split-teaser-wrapper:hover i.icon-plus {
    opacity: 1;
  }
  .split-teaser .split-teaser-wrapper-has-focus .split-teaser-text,
  .split-teaser .split-teaser-wrapper.focus-visible .split-teaser-text,
  .split-teaser .split-teaser-wrapper:hover .split-teaser-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .split-teaser .split-teaser-wrapper-has-focus .split-teaser-body p,
  .split-teaser .split-teaser-wrapper.focus-visible .split-teaser-body p,
  .split-teaser .split-teaser-wrapper:hover .split-teaser-body p {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s;
  }
  .split-teaser .split-teaser-wrapper-has-focus a,
  .split-teaser .split-teaser-wrapper.focus-visible a,
  .split-teaser .split-teaser-wrapper:hover a {
    -webkit-transform: translateX(-64px);
    transform: translateY(-64px);
    opacity: 1;
    top: 314px;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(0, 0, 0));
    width: calc(100% + 20px);
    height: 50px;
    padding: 16px;
    left: -20px;
    pointer-events: inherit;
  }
}
@media screen and (max-width: 1024px) {
  .split-teaser .split-teaser-wrapper:not(.split-teaser-wrapper-active) a {
    top: 314px;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(0, 0, 0));
    width: calc(100% + 20px);
    height: 50px;
    padding: 16px;
    left: -20px;
    pointer-events: inherit;
  }
  .split-teaser .split-teaser-wrapper-active:before {
    opacity: 0.4;
  }
  .split-teaser .split-teaser-wrapper-active i.icon-plus {
    opacity: 1;
  }
  .split-teaser .split-teaser-wrapper-active .split-teaser-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .split-teaser .split-teaser-wrapper-active .split-teaser-text {
    max-height: 750px;
    margin: 50px 0;
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .split-teaser .split-teaser-wrapper-active .split-teaser-head h3 {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .split-teaser .split-teaser-wrapper-active .split-teaser-body p {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s, max-height 0.5s ease;
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .split-teaser .split-teaser-wrapper-active .split-teaser-body p {
    max-height: 600px;
  }
}
@media screen and (max-width: 1024px) {
  .split-teaser .split-teaser-wrapper-active a {
    -webkit-transform: translateX(-64px);
    transform: translateY(-64px);
    opacity: 1;
    top: 314px;
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), rgb(0, 0, 0));
    width: calc(100% + 20px);
    height: 50px;
    padding: 16px;
    left: -20px;
    pointer-events: inherit;
  }
}
.split-teaser.split-teaser-items-1 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.split-teaser.split-teaser-items-2 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.split-teaser.split-teaser-items-3 {
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(2, 1fr);
}

.split-teaser.split-teaser-items-4 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 30px;
}

.split-teaser.split-teaser-items-1 .split-teaser-wrapper {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-row: 1/3;
  grid-column: 1/3;
}

.split-teaser.split-teaser-items-2 .split-teaser-wrapper:first-child {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-row: 1/3;
  grid-column: 1;
}

@media screen and (max-width: 1024px) {
  .split-teaser.split-teaser-items-2 .split-teaser-wrapper:first-child {
    grid-row: 1;
    grid-column: 1/3;
  }
}
.split-teaser.split-teaser-items-2 .split-teaser-wrapper:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 3;
  grid-row: 1/3;
  grid-column: 2;
}

@media screen and (max-width: 1024px) {
  .split-teaser.split-teaser-items-2 .split-teaser-wrapper:nth-child(2) {
    grid-row: 2;
    grid-column: 1/3;
  }
}
.split-teaser.split-teaser-items-3 .split-teaser-wrapper:first-child {
  -ms-grid-row: 2;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-row: 1/3;
  grid-column: 2;
}

@media screen and (max-width: 1024px) {
  .split-teaser.split-teaser-items-3 .split-teaser-wrapper:first-child {
    grid-row: 2;
    grid-column: 1/3;
  }
}
.split-teaser.split-teaser-items-3 .split-teaser-wrapper:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.split-teaser.split-teaser-items-3 .split-teaser-wrapper:nth-child(3) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.split-teaser.split-teaser-items-4 .split-teaser-wrapper:first-child {
  -ms-grid-column: 1;
  -ms-grid-row: 1;
}

.split-teaser.split-teaser-items-4 .split-teaser-wrapper:nth-child(2) {
  -ms-grid-column: 1;
  -ms-grid-row: 3;
}

.split-teaser.split-teaser-items-4 .split-teaser-wrapper:nth-child(3) {
  -ms-grid-column: 3;
  -ms-grid-row: 1;
}

.split-teaser.split-teaser-items-4 .split-teaser-wrapper:nth-child(4) {
  -ms-grid-column: 3;
  -ms-grid-row: 3;
}

@media screen and (min-width: 992px) and (max-width: 1200px) {
  .split-teaser.split-teaser-items-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 1200px) {
  .split-teaser.split-teaser-items-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}
.split-teaser.split-teaser-items-uneven .split-teaser-wrapper:first-child {
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
  -ms-grid-column: 1;
  grid-row: 1/3;
  grid-column: 1;
}

.split-teaser.split-teaser-items-uneven .split-teaser-wrapper:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}

.split-teaser.split-teaser-items-uneven .split-teaser-wrapper:nth-child(3) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}

.col-main.rows-wrapper {
  width: 100%;
}

.col-main > .col-md-6 {
  margin-bottom: 30px;
}

.col-main > .col-md-12 {
  margin-bottom: 30px;
}

@media screen and (max-width: 600px) {
  .content .col-main {
    padding-left: 15px;
    padding-right: 15px;
  }
  .col-main > .col-md-6.first-child-of-type {
    padding-left: 0px;
    padding-right: 0px;
  }
}
@media screen and (max-width: 992px) {
  .col-main > .col-md-6.last-child-of-type {
    padding-left: 0px;
    padding-right: 0px;
  }
}
.image-box-m {
  width: 100%;
  height: 466px;
  background-color: #000;
}

.image-box-m img {
  width: 100%;
  height: 100%;
  z-index: 0;
  position: relative;
  opacity: 0.5;
  font-family: "object-fit:cover";
  object-fit: cover;
}

.image-box-s {
  width: 100%;
  height: 227px;
  background-color: #000;
}

.image-box-s img {
  width: 100%;
  height: 100%;
  z-index: 0;
  position: relative;
  opacity: 0.5;
  font-family: "object-fit:cover";
  object-fit: cover;
}

.news-date-box {
  color: var(--color-white);
  position: absolute;
  top: 15px;
  left: 20px;
  line-height: 18px;
  font-size: 18px;
  padding: 5px;
}
.news-date-box h3 {
  margin: 0px;
}
.news-date-box h2 {
  margin: 0px;
}
.news-date-box h1 {
  margin: 0px;
}
.news-date-box p {
  margin: 0px;
}

.last-child-of-type > .news-date-box {
  left: 35px;
}

.col-main > .col-md-6.first-child-of-type {
  padding-left: 0px;
}

.col-main > .col-md-6.last-child-of-type {
  padding-right: 0px;
}

.col-main > .col-md-3.first-child-of-type {
  padding-left: 0px;
}

.col-main > .col-md-3.last-child-of-type {
  padding-right: 0px;
}

.headline-box {
  background-color: var(--color-blue-dark);
  color: var(--color-white);
  position: absolute;
  top: -18px;
  left: 35px;
  line-height: 18px;
  font-size: 18px;
  padding: 5px;
}
.headline-box h3 {
  margin: 0px;
}
.headline-box h2 {
  margin: 0px;
}
.headline-box h1 {
  margin: 0px;
}
.headline-box p {
  margin: 0px;
}

.eq-height-container {
  display: flex;
  margin-bottom: 30px;
}

.eq-height {
  flex: auto;
}

@media screen and (max-width: 600px) {
  .eq-height-container {
    display: block;
  }
  .eq-height {
    flex: none;
  }
}
.event-teaser {
  padding: 50px 20px;
}

.event-info-box {
  background-color: var(--color-white);
  padding: 20px;
  padding-top: 30px;
  height: 100%;
}

@media screen and (max-width: 600px) {
  .event-info-box {
    margin-bottom: 50px;
  }
  .event-next-box {
    margin-bottom: 20px;
  }
}
.mini-logo {
  height: 10px;
  width: 10px;
  background-image: var(--color-blue-dark);
  float: left;
  margin-right: 23px;
  line-height: 18px;
  margin-top: 0px;
}

.mini-logo img {
  margin-top: -8px;
}

a:hover .mini-logo {
  background-color: var(--color-blue-light);
}

.event-next-box {
  background-color: var(--color-white);
  padding: 20px;
  padding-top: 30px;
  height: 100%;
}

.event-next-date {
  color: var(--color-blue-dark);
  text-align: right;
}

.event-next-location {
  color: var(--color-blue-light);
  text-align: right;
  font-size: 16px;
}

.col-main.headline-image {
  position: relative;
  margin-top: -148px;
  height: 80vh;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0;
}
.col-main.headline-image img {
  width: 100%;
  height: 100%;
  z-index: 0;
  position: relative;
  font-family: "object-fit:cover";
  object-fit: cover;
}

.headline-box.headline-image {
  background-color: var(--color-blue-dark);
  color: var(--color-white);
  position: relative;
  margin-top: -28px;
  margin-left: -20px;
  line-height: 18px;
  font-size: 18px;
  padding: 5px;
  width: fit-content;
}
.headline-box.headline-image img {
  width: 18px;
  height: 18px;
}

.parallax-container {
  position: relative;
  overflow: hidden;
}

.row > .parallax-container {
  margin-top: -30px;
  margin-bottom: -30px;
}

.parallax-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 150%;
  background-size: cover;
  background-position: center;
  transform: translateY(0);
  z-index: -1;
}

.parallax-bg img {
  width: 100vw;
}

.parallax-fg p > img {
  width: 100vw;
  margin-left: -30px;
  margin-top: -125px;
  margin-right: -30px;
  margin-bottom: -75px;
}

.parallax-box {
  position: relative;
  z-index: 1;
  padding: 30px 30px;
}

.parallax-headline-box {
  background-color: var(--color-grey-dark);
  color: var(--color-white);
  font-weight: 700;
  padding: 0px 10px;
  width: fit-content;
  position: relative;
  margin-left: 40px;
  max-height: 42px;
  animation: grow-headline-box 0.5s ease-out forwards;
}
.parallax-headline-box p {
  font-size: 30px;
}

@keyframes grow-headline-box {
  from {
    margin-left: 0px;
  }
  to {
    margin-left: 40px;
  }
}
.product-image {
  height: 200px;
  width: 200px;
}

.headline-video {
  width: 100%;
  margin-top: -5px;
  margin-bottom: -30px;
}

.headline-video video {
  width: 100%;
  display: block;
  overflow: hidden;
}

.video-stage {
  position: relative;
  aspect-ratio: 1920/976; /* oder feste Höhe */
  overflow: hidden;
}

@media (max-width: 768px) {
  .video-stage {
    aspect-ratio: 1170/2304; /* oder feste Höhe */
  }
  .full-width {
    margin-left: 0px;
  }
}
.video-layer {
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.video-layer.visible {
  opacity: 1;
}

.video-stage .video-layer {
  position: absolute; /* ← nur hier! */
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease;
}

.video-stage .video-layer.visible {
  opacity: 1;
}

.small-image-links-3 {
  display: grid;
  width: 100%;
  margin-top: 2.77778rem;
  margin-top: calc(50 / var(--font-size) * 1rem);
  color: #fff;
  color: var(--color-white);
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 0.83333rem;
  gap: 0.83333rem;
  grid-gap: calc(15 / var(--font-size) * 1rem);
  gap: calc(15 / var(--font-size) * 1rem);
}

.small-image-links-3-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 3rem;
  overflow: hidden;
  color: #fff;
  color: var(--color-white);
  background-color: #000;
  background-color: var(--color-black);
  -webkit-transform: translateY(25%);
  transform: translateY(25%);
  opacity: 0;
  transition: all 0.5s ease-in-out;
}
.small-image-links-3-wrapper .slide-up {
  transform: translateY(0);
  opacity: 1;
}
.small-image-links-3-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  font-family: "object-fit:cover";
  object-fit: cover;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}
.small-image-links-3-wrapper h3 {
  font-weight: 700;
  font-size: 1.77778rem;
  font-size: calc(32 / var(--font-size) * 1rem);
  font-family: realist;
  line-height: 2.11111rem;
  line-height: calc(38 / var(--font-size) * 1rem);
  z-index: 1;
  margin-bottom: 1.11111rem;
  margin-bottom: calc(20 / var(--font-size) * 1rem);
  text-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
}
.small-image-links-3-wrapper a {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 1rem;
  color: #fff;
  color: var(--color-white);
  font-size: 2rem;
  line-height: 1;
  opacity: 0;
}

.small-image-links-3-text {
  -webkit-transform: translateY(100%) translateY(-1.5rem);
  transform: translateY(100%) translateY(-1.5rem);
  transition: all 0.5s ease;
}

.image-links-small {
  width: 100%;
  max-width: 1380px;
  padding-right: 15px;
  padding-left: 15px;
  margin-top: 100px;
}

@media screen and (max-width: 600px) {
  .image-links-small {
    max-width: 1300px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .image-links-small {
    margin-top: 80px;
  }
}
@media screen and (max-width: 600px) {
  .image-links-small {
    margin-top: 60px;
  }
}
.image-links-small-header {
  max-width: 930px;
  max-width: calc(930 / var(--font-size) * 18px);
}

.image-links-small-header > p {
  font-weight: 500;
  font-size: 20px;
  font-size: calc(20 / var(--font-size) * 18px);
  font-family: tiempos;
  line-height: 28px;
  line-height: calc(28 / var(--font-size) * 18px);
  font-style: normal;
  margin-top: 30px;
  margin-top: calc(30 / var(--font-size) * 18px);
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .image-links-small-header > p {
    font-size: 18px;
    font-size: calc(18 / var(--font-size) * 18px);
    line-height: 28px;
    line-height: calc(28 / var(--font-size) * 18px);
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    margin-top: 20px;
    margin-top: calc(20 / var(--font-size) * 18px);
  }
}
.three-image-links-small-inner {
  display: grid;
  width: 100%;
  margin-top: 50px;
  margin-top: calc(50 / var(--font-size) * 18px);
  color: var(--color-white);
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 15px;
  gap: 15px;
  grid-gap: calc(15 / var(--font-size) * 18px);
  gap: calc(15 / var(--font-size) * 18px);
}

.four-image-links-small-inner {
  display: grid;
  width: 100%;
  margin-top: 50px;
  margin-top: calc(50 / var(--font-size) * 18px);
  color: var(--color-white);
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 15px;
  gap: 15px;
  grid-gap: calc(15 / var(--font-size) * 18px);
  gap: calc(15 / var(--font-size) * 18px);
}

@media screen and (max-width: 1024px) {
  .image-links-small-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .image-links-small-inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.image-links-small-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 50px;
  overflow: hidden;
  color: var(--color-white);
  background-color: #000;
  background-color: var(--color-black);
  -webkit-transform: translateY(25%);
  transform: translateY(25%);
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

@media screen and (max-width: 768px) {
  .image-links-small-wrapper {
    min-height: 300px;
    min-height: calc(300 / var(--font-size) * 18px);
    padding: 36px;
  }
  .image-links-small-wrapper .image-links-small-head {
    font-size: 36;
  }
}
.image-links-small-wrapper.slide-up {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.image-links-small-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #000;
  opacity: 0.4;
  transition: opacity 0.5s ease;
}

.image-links-small-wrapper--no-image {
  color: #000;
  color: var(--color-black);
  background-color: #bde7ff;
  background-color: var(--color-blue-light);
}

.image-links-small-wrapper--no-image:before {
  opacity: 0;
}

.image-links-small i.icon-plus {
  display: none;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.5s ease;
}

@media screen and (max-width: 1024px) {
  .image-links-small i.icon-plus {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    display: inline-block;
    padding: 18px;
  }
}
@media screen and (max-width: 768px) {
  .image-links-small i.icon-plus {
    top: 0;
    right: 0;
  }
}
.image-links-small picture[data-lazerload=loaded] img {
  opacity: 1;
}

.image-links-small img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  font-family: "object-fit:cover";
  object-fit: cover;
  opacity: 0;
  transition: all 0.3s ease-in-out;
}

.image-links-small-text {
  -webkit-transform: translateY(100%) translateY(-27px);
  transform: translateY(100%) translateY(-27px);
  transition: all 0.5s ease;
}

@media screen and (max-width: 768px) {
  .image-links-small-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.image-links-small-head {
  font-weight: 700;
  font-size: 32px;
  font-size: calc(32 / var(--font-size) * 18px);
  line-height: 38px;
  line-height: calc(38 / var(--font-size) * 18px);
  z-index: 1;
  margin-bottom: 20px;
  margin-bottom: calc(20 / var(--font-size) * 18px);
}

@media screen and (max-width: 1024px) {
  .image-links-small-head {
    font-size: 26px;
    font-size: calc(26 / var(--font-size) * 18px);
    line-height: 32px;
    line-height: calc(32 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 600px) {
  .image-links-small-head {
    font-size: 22px;
    font-size: calc(22 / var(--font-size) * 18px);
    line-height: 28px;
    line-height: calc(28 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 768px) {
  .image-links-small-head {
    margin-bottom: 0;
    transition: margin-bottom 0.5s ease;
  }
}
.image-links-small-body {
  max-width: 600px;
  max-width: calc(600 / var(--font-size) * 18px);
  margin-bottom: 0;
  opacity: 0;
  transition: opacity 0.3s ease, max-height 0.5s ease;
}

.image-links-small a {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 18px;
  color: var(--color-white);
  font-size: 36px;
  line-height: 1;
  opacity: 0;
}

@media screen and (min-width: 1025px) {
  .image-links-small-wrapper--has-focus:before,
  .image-links-small-wrapper.focus-visible:before,
  .image-links-small-wrapper:hover:before {
    background-color: #0074a2;
    background-color: var(--color-blue-dark);
    opacity: 0.9;
  }
  .image-links-small-wrapper--has-focus i.icon-plus,
  .image-links-small-wrapper.focus-visible i.icon-plus,
  .image-links-small-wrapper:hover i.icon-plus {
    opacity: 1;
  }
  .image-links-small-wrapper--has-focus .image-links-small-text,
  .image-links-small-wrapper.focus-visible .image-links-small-text,
  .image-links-small-wrapper:hover .image-links-small-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .image-links-small-wrapper--has-focus .image-links-small-body,
  .image-links-small-wrapper.focus-visible .image-links-small-body,
  .image-links-small-wrapper:hover .image-links-small-body {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s;
  }
  .image-links-small-wrapper--has-focus.image-links-small-wrapper--no-image,
  .image-links-small-wrapper--no-image.focus-visible,
  .image-links-small-wrapper--no-image:hover {
    color: var(--color-white);
  }
}
@media screen and (max-width: 1024px) {
  .image-links-small-wrapper:not(.image-links-small-wrapper--active) {
    cursor: pointer;
  }
  .image-links-small-wrapper:not(.image-links-small-wrapper--active) a,
  .image-links-small-wrapper:not(.image-links-small-wrapper--active) i.icon-plus {
    pointer-events: none;
  }
  .image-links-small-wrapper--no-image.image-links-small-wrapper--active {
    color: var(--color-white);
  }
  .image-links-small a {
    right: 18px;
    width: auto;
    height: auto;
    -webkit-transform: translateX(-36px);
    transform: translateX(-36px);
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .image-links-small a {
    right: 0;
  }
}
@media screen and (max-width: 1024px) {
  .image-links-small-wrapper--active:before {
    background-color: #0074a2;
    background-color: var(--color-blue-dark);
    opacity: 0.9;
  }
  .image-links-small-wrapper--active i.icon-plus {
    opacity: 1;
  }
  .image-links-small-wrapper--active .image-links-small-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .image-links-small-wrapper--active .image-links-small-text {
    max-height: 750px;
    max-height: calc(750 / var(--font-size) * 18px);
    margin: 10px 0;
    margin: calc(10 / var(--font-size) * 18px) 0;
  }
}
@media screen and (max-width: 1024px) {
  .image-links-small-wrapper--active .image-links-small-body {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s, max-height 0.5s ease;
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .image-links-small-wrapper--active .image-links-small-body {
    max-height: 600px;
    max-height: calc(600 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 1024px) {
  .image-links-small-wrapper--active a {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
.image-archive-links {
  width: 100%;
  max-width: 1380px;
  margin: 2px 2px;
}

@media screen and (max-width: 600px) {
  .image-archive-links {
    max-width: 1300px;
    padding-right: 20px;
    padding-left: 20px;
  }
}
@media screen and (max-width: 1024px) {
  .image-archive-links {
    margin-top: 80px;
  }
}
@media screen and (max-width: 600px) {
  .image-archive-links {
    margin-top: 60px;
  }
}
.image-archive-links-header {
  max-width: 930px;
  max-width: calc(930 / var(--font-size) * 18px);
}

.image-archive-links-header > p {
  font-weight: 500;
  font-size: 20px;
  font-size: calc(20 / var(--font-size) * 18px);
  font-family: tiempos;
  line-height: 28px;
  line-height: calc(28 / var(--font-size) * 18px);
  font-style: normal;
  margin-top: 30px;
  margin-top: calc(30 / var(--font-size) * 18px);
  font-weight: 400;
}

@media screen and (max-width: 768px) {
  .image-archive-links-header > p {
    font-size: 18px;
    font-size: calc(18 / var(--font-size) * 18px);
    line-height: 28px;
    line-height: calc(28 / var(--font-size) * 18px);
    -webkit-hyphens: auto;
    -ms-hyphens: auto;
    hyphens: auto;
    margin-top: 20px;
    margin-top: calc(20 / var(--font-size) * 18px);
  }
}
.image-archive-links-inner {
  display: grid;
  width: 100%;
  margin-top: 0px;
  color: var(--color-white);
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 4px;
  gap: 4px;
  grid-gap: calc(4 / var(--font-size) * 18px);
  gap: calc(4 / var(--font-size) * 18px);
}

@media screen and (max-width: 1024px) {
  .image-archive-links-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .image-archive-links-inner {
    grid-template-columns: repeat(1, 1fr);
  }
}
.image-archive-links-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 50px;
  overflow: hidden;
  color: var(--color-white);
  background-color: #000;
  background-color: var(--color-black);
  -webkit-transform: translateY(25%);
  transform: translateY(25%);
  opacity: 0;
  transition: all 0.5s ease-in-out;
}

@media screen and (max-width: 768px) {
  .image-archive-links-wrapper {
    min-height: 300px;
    min-height: calc(300 / var(--font-size) * 18px);
    padding: 36px;
  }
  .image-archive-links-wrapper .image-archive-links-head {
    font-size: 36;
  }
}
.image-archive-links-wrapper.slide-up {
  -webkit-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}

.image-archive-links-wrapper:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background-color: #000;
  opacity: 0.4;
  transition: opacity 0.5s ease;
}

.image-archive-links-wrapper--no-image {
  color: #000;
  color: var(--color-black);
  background-color: #bde7ff;
  background-color: var(--color-blue-light);
}

.image-archive-links-wrapper--no-image:before {
  opacity: 0;
}

.image-archive-links i.icon-plus {
  display: none;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.5s ease;
}

@media screen and (max-width: 1024px) {
  .image-archive-links i.icon-plus {
    position: absolute;
    top: 18px;
    right: 18px;
    z-index: 2;
    display: inline-block;
    padding: 18px;
  }
}
@media screen and (max-width: 768px) {
  .image-archive-links i.icon-plus {
    top: 0;
    right: 0;
  }
}
.image-archive-links picture[data-lazerload=loaded] img {
  opacity: 1;
}

.image-archive-links img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  font-family: "object-fit:cover";
  object-fit: cover;
  opacity: 1;
  transition: all 0.3s ease-in-out;
}

.image-archive-links-text {
  -webkit-transform: translateY(100%) translateY(-27px);
  transform: translateY(100%) translateY(-27px);
  transition: all 0.5s ease;
}

@media screen and (max-width: 768px) {
  .image-archive-links-text {
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
}
.image-archive-links-head {
  font-weight: 700;
  font-size: 20px;
  font-size: calc(20 / var(--font-size) * 18px);
  line-height: 20px;
  line-height: calc(20 / var(--font-size) * 18px);
  z-index: 1;
  margin-bottom: 20px;
  margin-bottom: calc(20 / var(--font-size) * 18px);
}

@media screen and (max-width: 1024px) {
  .image-archive-links-head {
    font-size: 26px;
    font-size: calc(26 / var(--font-size) * 18px);
    line-height: 32px;
    line-height: calc(32 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 600px) {
  .image-archive-links-head {
    font-size: 22px;
    font-size: calc(22 / var(--font-size) * 18px);
    line-height: 28px;
    line-height: calc(28 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 768px) {
  .image-archive-links-head {
    margin-bottom: 0;
    transition: margin-bottom 0.5s ease;
  }
}
.image-archive-links-body {
  max-width: 600px;
  max-width: calc(600 / var(--font-size) * 18px);
  margin-bottom: 0;
  opacity: 0;
  transition: opacity 0.3s ease, max-height 0.5s ease;
}

.image-archive-links a {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 18px;
  color: var(--color-white);
  font-size: 36px;
  line-height: 1;
  opacity: 0;
}

@media screen and (min-width: 1025px) {
  .image-archive-links-wrapper--has-focus:before,
  .image-archive-links-wrapper.focus-visible:before,
  .image-archive-links-wrapper:hover:before {
    background-color: #0074a2;
    background-color: var(--color-blue-dark);
    opacity: 0.9;
  }
  .image-archive-links-wrapper--has-focus i.icon-plus,
  .image-archive-links-wrapper.focus-visible i.icon-plus,
  .image-archive-links-wrapper:hover i.icon-plus {
    opacity: 1;
  }
  .image-archive-links-wrapper--has-focus .image-archive-links-text,
  .image-archive-links-wrapper.focus-visible .image-archive-links-text,
  .image-archive-links-wrapper:hover .image-archive-links-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
  .image-archive-links-wrapper--has-focus .image-archive-links-body,
  .image-archive-links-wrapper.focus-visible .image-archive-links-body,
  .image-archive-links-wrapper:hover .image-archive-links-body {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s;
  }
  .image-archive-links-wrapper--has-focus.image-archive-links-wrapper--no-image,
  .image-archive-links-wrapper--no-image.focus-visible,
  .image-archive-links-wrapper--no-image:hover {
    color: var(--color-white);
  }
}
@media screen and (max-width: 1024px) {
  .image-archive-links-wrapper:not(.image-archive-links-wrapper--active) {
    cursor: pointer;
  }
  .image-archive-links-wrapper:not(.image-archive-links-wrapper--active) a,
  .image-archive-links-wrapper:not(.image-archive-links-wrapper--active) i.icon-plus {
    pointer-events: none;
  }
  .image-archive-links-wrapper--no-image.image-archive-links-wrapper--active {
    color: var(--color-white);
  }
  .image-archive-links a {
    right: 18px;
    width: auto;
    height: auto;
    -webkit-transform: translateX(-36px);
    transform: translateX(-36px);
    transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease;
    transition: opacity 0.3s ease, transform 0.3s ease, -webkit-transform 0.3s ease;
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .image-archive-links a {
    right: 0;
  }
}
@media screen and (max-width: 1024px) {
  .image-archive-links-wrapper--active:before {
    background-color: #0074a2;
    background-color: var(--color-blue-dark);
    opacity: 0.9;
  }
  .image-archive-links-wrapper--active i.icon-plus {
    opacity: 1;
  }
  .image-archive-links-wrapper--active .image-archive-links-text {
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .image-archive-links-wrapper--active .image-archive-links-text {
    max-height: 750px;
    max-height: calc(750 / var(--font-size) * 18px);
    margin: 10px 0;
    margin: calc(10 / var(--font-size) * 18px) 0;
  }
}
@media screen and (max-width: 1024px) {
  .image-archive-links-wrapper--active .image-archive-links-body {
    opacity: 1;
    transition: opacity 0.3s ease 0.2s, max-height 0.5s ease;
  }
}
@media screen and (max-width: 1024px) and (max-width: 768px) {
  .image-archive-links-wrapper--active .image-archive-links-body {
    max-height: 600px;
    max-height: calc(600 / var(--font-size) * 18px);
  }
}
@media screen and (max-width: 1024px) {
  .image-archive-links-wrapper--active a {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    opacity: 1;
  }
}
@media (min-width: 1200px) {
  .col-main {
    width: 1200px;
  }
}
@media (max-width: 1200px) {
  .col-main {
    width: 100%;
  }
}
.company-head {
  text-align: center;
}

.company-head img {
  width: 150px;
}

.article_editor img {
  position: relative;
  z-index: 50;
  width: 15px;
  height: 15px;
  opacity: 1;
  transition: all 0.3s ease-in-out;
  padding: 0px;
}

.fixed-pos {
  background-color: transparent;
  left: inherit;
  right: 50px;
  margin-left: 0px;
  top: 400px;
  width: 40px;
  height: 219.8px;
  position: absolute;
}

.fixed-pos.sticky {
  position: fixed;
  top: 175px;
}

@media screen and (max-width: 1400px) {
  .fixed-pos {
    background-color: transparent;
    left: calc(50% - 108.4px);
    right: inherit;
    bottom: 20px;
    margin-left: 0px;
    top: inherit;
    width: 219.8px;
    height: 40px;
    position: fixed;
  }
  .fixed-pos.sticky {
    position: fixed;
    top: inherit;
  }
  .sc-link {
    padding-right: 7px;
  }
}
@media (max-width: 575px) {
  .wide40 > .eq-height-container > .col-md-6 {
    margin-bottom: 30px;
  }
}
@media (min-width: 768px) and (max-width: 992px) {
  .wide40 {
    width: 80%;
  }
}
@media (min-width: 992px) and (max-width: 1200px) {
  .wide40 {
    width: 60%;
  }
}
@media screen and (min-width: 1200px) {
  .wide40 {
    width: 40%;
  }
}
.background_row {
  background-size: cover;
  background-position: center center;
}

.col-main.rows-wrapper > .background_row {
  width: 100vw;
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: calc(-51vw + 5px) !important;
  margin-right: calc(-50vw + 5px) !important;
  z-index: 1;
}

.footer, .push {
  height: auto;
}

.footer {
  color: #505050;
  background-color: transparent;
  height: auto;
}
.footer a {
  color: #888;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
}
.footer a:hover {
  color: #1a1a1a;
}

.footer .logo img {
  width: auto;
  height: 35px;
}

.footer .sitemap {
  background-color: #f0eeeb;
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 72px 60px 24px;
}
.footer .sitemap::before, .footer .sitemap::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
.footer .sitemap::before {
  width: 400px;
  height: 400px;
  background: #ff9d33;
  opacity: 0.1;
  top: -100px;
  left: -100px;
  animation: orbFloat1 8s ease-in-out infinite;
}
.footer .sitemap::after {
  width: 300px;
  height: 300px;
  background: #ff9d33;
  opacity: 0.07;
  bottom: -80px;
  right: 10%;
  animation: orbFloat2 10s ease-in-out infinite;
}

@keyframes orbFloat1 {
  0%, 100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(30px, 20px);
  }
}
@keyframes orbFloat2 {
  0%, 100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-20px, -30px);
  }
}
.sitemap > .col-main:first-child {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 48px;
}

.sitemap > .col-main > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1;
}

.sitemap > .col-main > ul > li:first-child > a {
  font-size: 16px;
  font-weight: 700;
  color: #1a1a1a;
  display: inline-block;
  position: relative;
  margin-bottom: 16px;
  line-height: 2;
}
.sitemap > .col-main > ul > li:first-child > a::after {
  content: "";
  position: absolute;
  bottom: 2px;
  left: 0;
  width: 20px;
  height: 2px;
  background: #ff9d33;
  border-radius: 1px;
}

.sitemap ul > ul {
  float: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sitemap ul > ul:not(:last-child) {
  margin-right: 0;
}

.sitemap > .col-main > ul li,
.footer #social-list li {
  display: block;
  margin-top: 0;
}

.sitemap > .col-main > ul > ul li {
  margin-bottom: 6px;
}

.sitemap > .col-main > ul > ul a {
  font-size: 14px;
  font-weight: 400;
  color: #888;
  line-height: 1.6;
  background: none;
}
.sitemap > .col-main > ul > ul a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #ff9d33;
  transition: width 0.3s;
}
.sitemap > .col-main > ul > ul a:hover {
  color: #1a1a1a;
}
.sitemap > .col-main > ul > ul a:hover::after {
  width: 100%;
}

.sitemap > .col-main > ul a {
  background: none;
  background-image: none;
}

.sitemap > .col-main > #aboutus a {
  font-size: 12px;
  line-height: 1.6;
  background: none;
}

.sitemap > .col-main > ul > ul a {
  background: none;
  background-image: none;
}

#aboutus {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #aaa;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #d0cdc8;
  position: relative;
  z-index: 1;
  float: none;
}

#aboutus li {
  display: inline;
}

#aboutus li::before {
  content: "|";
  margin-right: 4px;
  color: #ccc;
}

#aboutus a {
  font-size: 12px;
  font-weight: 400;
  color: #aaa;
}
#aboutus a:hover {
  color: #ff9d33;
}

.footer .copyright {
  font-size: 12px;
  background-color: transparent;
  color: #aaa;
}

.footer .brand {
  background-color: #e8e6e1;
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 20px 60px;
}

.footer .logo {
  margin: 0;
  float: left;
}

.footer #social-list {
  float: right;
  list-style: none;
  display: flex;
  gap: 12px;
}

.footer #social-list li:not(:last-child) {
  margin-right: 0;
}

.footer #social-list li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d0cdc8;
  border-radius: 50%;
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}
.footer #social-list li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ff9d33;
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0;
}
.footer #social-list li a:hover {
  border-color: #ff9d33;
}
.footer #social-list li a:hover::before {
  transform: scale(1);
}
.footer #social-list li a img {
  position: relative;
  z-index: 1;
  width: 25px;
  height: 25px;
}

@media screen and (min-width: 1441px) {
  .footer .sitemap {
    padding-right: 80px;
    padding-left: 80px;
  }
}
@media screen and (min-width: 1025px) {
  .footer #social-list {
    transform: translateY(15%);
  }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
  .sitemap > .col-main:first-child {
    flex-wrap: wrap;
    gap: 32px;
  }
  .sitemap > .col-main > ul {
    flex: 0 0 calc(50% - 16px);
  }
  .footer #social-list {
    transform: none;
  }
}
@media screen and (max-width: 600px) {
  .footer .sitemap {
    padding: 48px 20px 20px;
  }
  .sitemap > .col-main:first-child {
    flex-direction: column;
    gap: 32px;
  }
  .sitemap > .col-main > ul {
    width: 100%;
    text-align: center;
  }
  .sitemap > .col-main > ul > li:first-child > a::after {
    left: 50%;
    transform: translateX(-50%);
  }
  #aboutus {
    flex-direction: column;
    gap: 8px;
  }
  #aboutus li::before {
    content: "";
  }
  .footer .brand {
    padding: 20px;
    text-align: center;
  }
  .footer .logo {
    float: none;
    margin-bottom: 16px;
  }
  .footer #social-list {
    float: none;
    justify-content: center;
    transform: none;
  }
}
.footer-brand-logo {
  margin-bottom: 32px;
  position: relative;
  z-index: 1;
}
.footer-brand-logo img {
  height: 40px;
  width: auto;
}

.sitemap > .col-main > ul > li:first-child > a {
  font-size: 19px;
}

.sitemap > .col-main > ul > ul li a {
  font-size: 16px;
}

#aboutus a {
  font-size: 14px;
}

.footer .copyright {
  font-size: 14px;
}

.footer-brand-logo {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-social {
  list-style: none;
  display: flex;
  gap: 8px;
  padding: 0;
  margin: 0;
}
.footer-social li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d0cdc8;
  border-radius: 50%;
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}
.footer-social li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ff9d33;
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0;
}
.footer-social li a:hover {
  border-color: #ff9d33;
}
.footer-social li a:hover::before {
  transform: scale(1);
}
.footer-social li a img {
  position: relative;
  z-index: 1;
  width: 20px;
  height: 20px;
}

.footer .brand {
  display: none;
}

.footer-brand-logo {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.footer-social {
  list-style: none;
  display: flex;
  gap: 8px;
  padding: 0;
  margin: 0;
}
.footer-social li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d0cdc8;
  border-radius: 50%;
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}
.footer-social li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ff9d33;
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0;
}
.footer-social li a:hover {
  border-color: #ff9d33;
}
.footer-social li a:hover::before {
  transform: scale(1);
}
.footer-social li a img {
  position: relative;
  z-index: 1;
  width: 20px;
  height: 20px;
}

.footer .brand {
  display: none;
}

/* --- Fade-In Keyframes --- 
--4 boxen-- */
@keyframes hostingFadeInUp {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/* --- Text-Pulse Keyframes --- */
@keyframes hostingTextPulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.08);
  }
  100% {
    transform: scale(1);
  }
}
/* --- Shine Keyframes --- */
@keyframes hostingShineMove {
  from {
    left: -75%;
  }
  to {
    left: 125%;
  }
}
/* ---- Headline: nur Fade-In ---- */
#headline {
  opacity: 0;
  animation: hostingFadeInUp 0.6s ease forwards;
}

/* ---- 4 Boxen ---- */
.box-on-image {
  position: relative;
  text-align: center;
  width: 270px;
  height: 270px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 0;
  color: #ffffff;
  font-family: Arial, sans-serif;
  cursor: pointer;
  overflow: hidden;
  border: 3px solid transparent;
  transition: all 0.3s ease;
  /* Fade-In */
  opacity: 0;
  animation: hostingFadeInUp 0.6s ease forwards;
}

/* Gestaffelte Verzögerung */
.eq-height-container:first-child .eq-height:first-child .box-on-image {
  animation-delay: 0.1s;
}

.eq-height-container:first-child .eq-height:last-child .box-on-image {
  animation-delay: 0.2s;
}

.eq-height-container:last-child .eq-height:first-child .box-on-image {
  animation-delay: 0.3s;
}

.eq-height-container:last-child .eq-height:last-child .box-on-image {
  animation-delay: 0.4s;
}

/* ---- Hover: Orange Outline ---- */
.box-on-image:hover {
  border-color: #f6a54c;
  outline: 3px solid #f6a54c;
  outline-offset: 6px;
}

/* ---- Hover: Text-Pulse ---- */
.box-on-image:hover .hosting-size {
  animation: hostingTextPulse 0.4s ease;
}

/* ---- Shine-Effekt ---- */
.box-on-image .hosting-shine {
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.25) 50%, transparent 100%);
  pointer-events: none;
}

.box-on-image:hover .hosting-shine {
  animation: hostingShineMove 0.6s ease forwards;
}

/* ---- Text-Styles ---- */
.box-on-image .hosting-main {
  text-align: center;
}

.box-on-image .hosting-size {
  font-size: 28px;
  font-weight: 700;
  display: block;
  line-height: 1.3;
}

.box-on-image .hosting-label {
  font-size: 16px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  opacity: 0.9;
}

.box-on-image .hosting-sub {
  font-size: 12px;
  opacity: 0.75;
  margin-top: 8px;
}

.box-on-image .hosting-sub sup {
  font-size: 9px;
}

.four-columns-animated {
  padding: 60px 0;
}

.four-columns-animated-header {
  text-align: center;
  margin-bottom: 40px;
}
.four-columns-animated-header h2 {
  font-size: 3.5rem;
  font-weight: 600;
  color: #505050;
}

.four-columns-animated-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
}

.four-columns-animated-card {
  perspective: 1000px;
  height: 420px;
  cursor: pointer;
  animation: slideUp 0.8s ease both;
}
.four-columns-animated-card:nth-child(1) {
  animation-delay: 0.1s;
}
.four-columns-animated-card:nth-child(2) {
  animation-delay: 0.2s;
}
.four-columns-animated-card:nth-child(3) {
  animation-delay: 0.3s;
}
.four-columns-animated-card:hover .four-columns-animated-card-inner {
  transform: rotateY(180deg);
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(40px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.four-columns-animated-card-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  transform-style: preserve-3d;
}

.four-columns-animated-front,
.four-columns-animated-back {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  border-radius: 0;
  overflow: hidden;
}

.four-columns-animated-front {
  border-bottom: 3px solid #ff9d33;
  display: flex;
  align-items: center;
  justify-content: center;
}
.four-columns-animated-front .four-columns-animated-front-content {
  text-align: center;
}
.four-columns-animated-front .four-columns-animated-front-content h3 {
  font-size: 2rem;
  font-weight: 600;
  color: #505050;
  margin-top: 24px;
}
.four-columns-animated-front .four-columns-animated-front-content img {
  max-width: 200px;
  height: auto;
}

.four-columns-animated-back {
  border-bottom: 3px solid #ff9d33;
  transform: rotateY(180deg);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 40px 28px;
}
.four-columns-animated-back .four-columns-animated-text {
  margin-bottom: 28px;
}
.four-columns-animated-back .four-columns-animated-text p {
  font-size: 1.75rem;
  line-height: 1.8;
  max-width: 280px;
}
.four-columns-animated-back a {
  font-weight: 600;
  font-size: 1.75rem;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: gap 0.3s ease, color 0.3s ease;
}
.four-columns-animated-back a:hover {
  gap: 14px;
  color: #e8891e;
}

@media (max-width: 992px) {
  .four-columns-animated-inner {
    grid-template-columns: 1fr;
    max-width: 400px;
  }
}
@media (max-width: 576px) {
  .four-columns-animated {
    padding: 40px 0;
  }
  .four-columns-animated-header h2 {
    font-size: 2.5rem;
  }
}
.service-cards {
  padding: 20px 0 60px 0;
}

.service-cards-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 992px) {
  .service-cards-inner {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 576px) {
  .service-cards-inner {
    grid-template-columns: 1fr;
  }
}

.service-cards-item {
  background: #ffffff;
  border: 1px solid #e8e8ef;
  border-radius: 16px;
  min-height: 320px;
  overflow: hidden;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.4s ease;
  cursor: pointer;
  animation: serviceCardIn 0.6s ease both;
}
.service-cards-item:nth-child(1) {
  animation-delay: 0.1s;
}
.service-cards-item:nth-child(2) {
  animation-delay: 0.2s;
}
.service-cards-item:nth-child(3) {
  animation-delay: 0.3s;
}
.service-cards-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(26, 26, 46, 0.12);
  border-color: rgba(255, 157, 51, 0.2);
}
.service-cards-item:hover .service-cards-topbar {
  transform: scaleX(1);
}

.service-cards-topbar {
  height: 3px;
  background: linear-gradient(90deg, #ff9d33, rgba(255, 157, 51, 0.3));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}

.service-cards-content {
  padding: 48px 36px;
}
.service-cards-content h1, .service-cards-content h2, .service-cards-content h3, .service-cards-content h4, .service-cards-content h5 {
  font-size: 1.15rem;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 12px;
  line-height: 1.3;
}
.service-cards-content p {
  color: #6b6b80;
  font-size: 0.9rem;
  line-height: 1.7;
  margin-bottom: 8px;
}
.service-cards-content a {
  color: #ff9d33;
  font-weight: 600;
  text-decoration: none;
  font-size: 0.88rem;
  transition: color 0.3s ease;
}
.service-cards-content a:hover {
  color: #e8891e;
}
.service-cards-content img {
  max-width: 100%;
  border-radius: 8px;
  margin-bottom: 16px;
}

@keyframes serviceCardIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.service-cards-item:hover .service-cards-content div[style*=border-radius] {
  background: #ff9d33 !important;
  transform: scale(1.05) rotate(-3deg);
  transition: background 0.4s ease, transform 0.4s ease;
}

.service-cards-content div[style*=border-radius] {
  transition: background 0.4s ease, transform 0.4s ease;
}

/*
<div style="width:56px;height:56px;border-radius:14px;background:rgba(255,157,51,0.08);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:20px;">🤝</div>
<p style="font-size:12px;font-weight:700;color:#ff9d33;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;">BERATUNG</p>
<h3 style="font-size:18px;font-weight:700;color:#1a1a2e;margin-bottom:12px;">Individuelle Beratung</h3>
<p style="color:#6b6b80;font-size:14px;line-height:1.7;">Wir verstehen uns als Ihr Partner und erarbeiten optimale Lösungen für Ihre individuellen, fachlichen Aufgabenstellungen.</p>
*/
/*----------------------------------------------------------------------------------------------------------------------*/
/*<div style="width:56px;height:56px;border-radius:14px;background:rgba(255,157,51,0.08);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:20px;">📱</div>
<p style="font-size:12px;font-weight:700;color:#ff9d33;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;">MANUFAKTUR</p>
<h3 style="font-size:18px;font-weight:700;color:#1a1a2e;margin-bottom:12px;">Software-Entwicklung</h3>
<p style="color:#6b6b80;font-size:14px;line-height:1.7;">Unsere erfahrenen Projektteams verstehen jede Ihrer Anforderungen als individuelle Herausforderung.</p>
*/
/*------------------------------------------------------------------------------------------------------------------*/
/*<div style="width:56px;height:56px;border-radius:14px;background:rgba(255,157,51,0.08);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:20px;">☁️</div>
<p style="font-size:12px;font-weight:700;color:#ff9d33;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;">CLOUD</p>
<h3 style="font-size:18px;font-weight:700;color:#1a1a2e;margin-bottom:12px;">Cloud Lösung</h3>
<p style="color:#6b6b80;font-size:14px;line-height:1.7;">Cloud Computing ist in aller Munde. Doch worin liegt der Nutzen für Ihre Prozesse und Aufgabenstellungen?</p>
*/
.counter-stats {
  padding: 80px 0;
  background: linear-gradient(180deg, #111111 0%, #1a1a1a 100%);
  position: relative;
  overflow: hidden;
}
.counter-stats::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #ff9d33, rgba(255, 157, 51, 0.1));
}

.counter-stats-inner {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  text-align: center;
}
@media (max-width: 992px) {
  .counter-stats-inner {
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
  }
}
@media (max-width: 576px) {
  .counter-stats-inner {
    grid-template-columns: 1fr;
  }
}

.counter-stats-item {
  position: relative;
  padding: 20px;
}
.counter-stats-item::after {
  content: "";
  position: absolute;
  right: 0;
  top: 20%;
  height: 60%;
  width: 1px;
  background: rgba(255, 255, 255, 0.08);
}
.counter-stats-item:last-child::after {
  display: none;
}
.counter-stats-item .counter-stats-number h1, .counter-stats-item .counter-stats-number h2, .counter-stats-item .counter-stats-number h3 {
  font-size: 3.2rem;
  font-weight: 800;
  color: #ff9d33;
  margin-bottom: 8px;
  line-height: 1;
}
.counter-stats-item .counter-stats-number p {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.6);
  font-weight: 500;
  letter-spacing: 0.5px;
}
.counter-stats-item .article_editor,
.counter-stats-item .article_editor a {
  color: #fff !important;
}

.text-block {
  padding: 40px 0 0 0;
}

.text-block-content {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
  animation: textFadeIn 1s ease both;
}
.text-block-content h1, .text-block-content h2, .text-block-content h3 {
  color: #1a1a2e;
  font-weight: 800;
  margin-bottom: 16px;
}
.text-block-content p {
  color: #505050;
  font-size: 1rem;
  line-height: 1.8;
  margin-bottom: 12px;
}
.text-block-content a {
  color: #ff9d33;
  font-weight: 600;
  text-decoration: none;
}
.text-block-content a:hover {
  color: #e8891e;
}

@keyframes textFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes starterCardIn {
  from {
    opacity: 0;
    transform: translateX(-80px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
.starter-produkte {
  padding: 20px 0 60px 0;
}

.starter-produkte-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.starter-produkte-item {
  flex: 0 0 calc(33.333% - 16px);
  background: #ffffff;
  border: 1px solid #e8e8ef;
  border-radius: 16px;
  min-height: 180px;
  overflow: hidden;
  position: relative;
  text-align: center;
  cursor: pointer;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease, border-color 0.4s ease;
  animation: starterCardIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.starter-produkte-item:nth-child(1) {
  animation-delay: 0.2s;
}
.starter-produkte-item:nth-child(2) {
  animation-delay: 0.5s;
}
.starter-produkte-item:nth-child(3) {
  animation-delay: 0.8s;
}
.starter-produkte-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(26, 26, 46, 0.12);
  border-color: rgba(242, 140, 40, 0.2);
}
.starter-produkte-item:hover .starter-produkte-topbar {
  transform: scaleX(1);
}
.starter-produkte-item.empty-article {
  border: 2px dashed #ccc;
  background: #fafafa;
  min-height: 160px;
}
.starter-produkte-item.empty-article .empty-placeholder {
  color: #999;
  font-style: italic;
  padding: 30px 0;
}
@media (max-width: 992px) {
  .starter-produkte-item {
    flex: 0 0 calc(50% - 12px);
  }
}
@media (max-width: 576px) {
  .starter-produkte-item {
    flex: 0 0 100%;
  }
}

.starter-produkte-topbar {
  height: 3px;
  background: linear-gradient(90deg, #F28C28, rgba(242, 140, 40, 0.3));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.4s ease;
}

.starter-produkte-content {
  padding: 20px 20px;
}
.starter-produkte-content h1, .starter-produkte-content h2, .starter-produkte-content h3, .starter-produkte-content h4, .starter-produkte-content h5 {
  font-size: 23px;
  font-weight: 700;
  color: #1a1a2e;
  margin: 0 0 6px;
  line-height: 1.3;
}
.starter-produkte-content p {
  color: #6b6b80;
  font-size: 17px;
  line-height: 1.6;
  margin: 0 0 14px;
}
.starter-produkte-content img {
  max-width: 100%;
  border-radius: 8px;
  margin-bottom: 10px;
}
.starter-produkte-content .starter-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: rgba(242, 140, 40, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 14px;
}
.starter-produkte-content .starter-label {
  color: #F28C28;
  font-weight: 600;
  font-size: 1.3rem;
  margin-bottom: 4px;
}
.starter-produkte-content .starter-price {
  font-size: 2.6rem;
  font-weight: 900;
  color: #1a1a2e;
  margin-bottom: 16px;
}
.starter-produkte-content .starter-price span {
  font-size: 0.875rem;
  font-weight: 400;
  color: #6b6b80;
}
.starter-produkte-content .starter-price-text {
  font-size: 2.1rem;
  font-weight: 700;
  color: #1a1a2e;
  font-style: italic;
  margin-bottom: 16px;
}
.starter-produkte-content .starter-divider {
  width: 40px;
  height: 3px;
  background: linear-gradient(90deg, #F28C28, #ff6b00);
  border-radius: 2px;
  margin: 0 auto 16px;
}
.starter-produkte-content ul {
  list-style: none;
  padding: 0;
  margin: 0 0 16px 0;
  text-align: left;
}
.starter-produkte-content ul li {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
  font-size: 1.7rem;
  color: #505050;
  line-height: 1.5;
}
.starter-produkte-content ul li::before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  background-image: url(/download/pictures/bullet.png);
  background-repeat: no-repeat;
  background-size: contain;
}
.starter-produkte-content .starter-cta {
  display: inline-block;
  padding: 10px 24px;
  border: 2px solid #F28C28;
  border-radius: 8px;
  color: #F28C28;
  font-size: 1.5rem;
  font-weight: 700;
  text-decoration: none;
  transition: all 0.3s ease;
}
.starter-produkte-content .starter-cta:hover {
  background: #F28C28;
  color: #fff;
}

.starter-produkte .clear {
  border: none;
  margin: 0;
  padding: 0;
}

.usp-accent-lines {
  padding: 40px 0 120px 0;
}

.usp-accent-lines-header {
  margin-bottom: 96px;
}

.usp-accent-lines-label {
  font-size: 32px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 20px;
}

.usp-accent-lines-title {
  font-size: 6rem;
  font-weight: 700;
  color: #1a1a2e;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 0;
}

.usp-accent-lines-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 48px;
}

.usp-accent-lines-card {
  position: relative;
  cursor: pointer;
  text-align: center;
  width: calc(25% - 36px);
  animation: uspCardIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.usp-accent-lines-card:nth-child(1) {
  animation-delay: 0.2s;
}
.usp-accent-lines-card:nth-child(2) {
  animation-delay: 0.5s;
}
.usp-accent-lines-card:nth-child(3) {
  animation-delay: 0.8s;
}
.usp-accent-lines-card:nth-child(4) {
  animation-delay: 1.1s;
}
@media (max-width: 992px) {
  .usp-accent-lines-card {
    width: calc(50% - 24px);
  }
}
@media (max-width: 576px) {
  .usp-accent-lines-card {
    width: 100%;
  }
}
.usp-accent-lines-card:hover .usp-accent-lines-bar {
  width: 100%;
  background: #fff;
}
.usp-accent-lines-card:hover .usp-accent-lines-content p:last-of-type {
  max-height: 400px;
  opacity: 1;
}
.usp-accent-lines-card:hover .usp-accent-lines-link {
  opacity: 1;
  transform: translateX(0);
}

.usp-accent-lines-bar {
  height: 5px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.4);
  width: 80px;
  margin: 0 auto 48px;
  transition: width 0.4s cubic-bezier(0.22, 1, 0.36, 1), background 0.35s ease;
}

.usp-accent-lines-content {
  padding: 0;
  text-align: center;
}
.usp-accent-lines-content h1, .usp-accent-lines-content h2, .usp-accent-lines-content h3, .usp-accent-lines-content h4, .usp-accent-lines-content h5 {
  font-size: 2.8rem;
  font-weight: 700;
  color: #1a1a2e;
  margin-bottom: 28px;
  line-height: 1.15;
  text-align: center;
}
.usp-accent-lines-content p:first-of-type {
  font-size: 26px;
  font-weight: 700;
  color: #fff;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-bottom: 12px;
  text-align: center;
}
.usp-accent-lines-content p:last-of-type {
  color: #6b6b80;
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 16px;
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.3s ease;
  text-align: center;
}
.usp-accent-lines-content a {
  color: #F28C28;
  font-weight: 600;
  text-decoration: none;
  font-size: 1rem;
  transition: color 0.3s ease;
}
.usp-accent-lines-content a:hover {
  color: #D97706;
}
.usp-accent-lines-content img {
  max-width: 100%;
  border-radius: 8px;
  margin-bottom: 16px;
}

.usp-accent-lines-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: 30px;
  font-size: 2rem;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
  opacity: 0;
  transform: translateX(-6px);
  transition: opacity 0.3s cubic-bezier(0.22, 1, 0.36, 1), transform 0.3s cubic-bezier(0.22, 1, 0.36, 1);
}
.usp-accent-lines-link:hover {
  color: #1a1a2e;
}

@keyframes uspCardIn {
  from {
    opacity: 0;
    transform: translateX(-80px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
@keyframes heroPulse {
  0%, 100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}
@keyframes heroShimmer {
  0% {
    background-position: -200% center;
  }
  100% {
    background-position: 200% center;
  }
}
@keyframes heroFadeUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.hero-pricing-dual {
  position: relative;
  padding: 100px 0 80px;
  overflow: hidden;
}

.hero-pricing-dual-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
  width: 100%;
  animation: heroFadeUp 0.8s ease-out both;
  text-align: center;
}

.hero-pricing-dual-header {
  margin-bottom: 56px;
  max-width: 780px;
  margin-left: auto;
  margin-right: auto;
}

.hero-card-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(242, 140, 40, 0.08);
  border: 1px solid rgba(242, 140, 40, 0.15);
  border-radius: 28px;
  padding: 7px 20px;
  margin-bottom: 32px;
  font-size: 12.5px;
  font-weight: 600;
  color: #F28C28;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hero-card-pill-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #F28C28;
  animation: heroPulse 2s ease infinite;
}

.hero-card-headline {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(36px, 4.5vw, 58px);
  font-weight: 600;
  color: inherit;
  line-height: 1.12;
  margin-bottom: 18px;
}

.hero-card-headline-accent {
  background: linear-gradient(135deg, #F28C28, #F5B041, #F28C28);
  background-size: 200% auto;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  animation: heroShimmer 4s linear infinite;
}

.hero-card-subheadline {
  font-size: 17px;
  color: inherit;
  line-height: 1.7;
  max-width: 620px;
  margin-left: auto;
  margin-right: auto;
}

.hero-pricing-dual-cards {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  max-width: 820px;
  margin: 0 auto;
  text-align: left;
}

.hero-pricing-dual-card {
  border-radius: 20px;
  position: relative;
  transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s cubic-bezier(0.22, 1, 0.36, 1);
}
.hero-pricing-dual-card:hover {
  transform: translateY(-6px);
}
.hero-pricing-dual-card:first-child {
  background: #fff;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}
.hero-pricing-dual-card:first-child:hover {
  box-shadow: 0 16px 48px rgba(0, 0, 0, 0.12);
}
.hero-pricing-dual-card:first-child .hero-pricing-dual-card-content {
  padding: 40px 34px 24px;
}
.hero-pricing-dual-card:first-child .hero-card-label {
  color: #F28C28;
}
.hero-pricing-dual-card:first-child .hero-card-label::before {
  background: #F28C28;
}
.hero-pricing-dual-card:first-child .hero-card-price {
  color: #1A1A1A;
}
.hero-pricing-dual-card:first-child .hero-card-price span {
  color: #F28C28;
}
.hero-pricing-dual-card:first-child .hero-card-price-sub {
  color: #9CA3AF;
}
.hero-pricing-dual-card:first-child .hero-card-benefits li {
  color: #4A4A4A;
}
.hero-pricing-dual-card:first-child .hero-card-benefits li::before {
  color: #10B981;
}
.hero-pricing-dual-card:first-child .hero-pricing-dual-card-btn {
  margin: 0 34px 34px;
  background: linear-gradient(135deg, #F28C28, #E07B1A);
  color: #fff;
  box-shadow: 0 4px 16px rgba(242, 140, 40, 0.25);
}
.hero-pricing-dual-card:first-child .hero-pricing-dual-card-btn:hover {
  box-shadow: 0 8px 28px rgba(242, 140, 40, 0.35);
  transform: translateY(-2px);
}
.hero-pricing-dual-card:last-child {
  background: linear-gradient(145deg, #2D2D2D, #222);
  border: 1px solid rgba(242, 140, 40, 0.15);
  box-shadow: 0 12px 48px rgba(0, 0, 0, 0.3);
  transform: translateY(-10px);
}
.hero-pricing-dual-card:last-child:hover {
  transform: translateY(-16px);
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}
.hero-pricing-dual-card:last-child .hero-pricing-dual-card-content {
  padding: 40px 34px 24px;
}
.hero-pricing-dual-card:last-child .hero-card-label {
  color: #F28C28;
}
.hero-pricing-dual-card:last-child .hero-card-label::before {
  background: #F28C28;
  box-shadow: 0 0 8px rgba(242, 140, 40, 0.5);
}
.hero-pricing-dual-card:last-child .hero-card-price {
  color: #fff;
}
.hero-pricing-dual-card:last-child .hero-card-price span {
  color: #F28C28;
}
.hero-pricing-dual-card:last-child .hero-card-price-sub {
  color: rgba(255, 255, 255, 0.4);
}
.hero-pricing-dual-card:last-child .hero-card-benefits li {
  color: rgba(255, 255, 255, 0.8);
}
.hero-pricing-dual-card:last-child .hero-card-benefits li::before {
  color: #10B981;
}
.hero-pricing-dual-card:last-child .hero-card-badge {
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 4px 14px;
  border-radius: 20px;
  background: linear-gradient(135deg, #F28C28, #E07B1A);
  color: #fff;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.hero-pricing-dual-card:last-child .hero-pricing-dual-card-btn {
  margin: 0 34px 34px;
  background: linear-gradient(135deg, #F28C28, #E07B1A);
  color: #fff;
  box-shadow: 0 4px 16px rgba(242, 140, 40, 0.25);
}
.hero-pricing-dual-card:last-child .hero-pricing-dual-card-btn:hover {
  box-shadow: 0 8px 28px rgba(242, 140, 40, 0.35);
  transform: translateY(-2px);
}

.hero-card-label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 20px;
}
.hero-card-label::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

.hero-card-price {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 42px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 4px;
}

.hero-card-price-sub {
  font-size: 13px;
  margin-bottom: 28px;
}

.hero-card-benefits {
  list-style: none;
  padding: 0;
  margin: 0;
}
.hero-card-benefits li {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 450;
  margin-bottom: 12px;
}
.hero-card-benefits li::before {
  content: "";
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  background-image: url(/download/pictures/bullet.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.hero-pricing-dual-card-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 32px;
  border: none;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  overflow: hidden;
  position: relative;
}
.hero-pricing-dual-card-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, transparent 0%, rgba(255, 255, 255, 0.15) 50%, transparent 100%);
  transform: translateX(-100%);
  transition: transform 0.5s;
}
.hero-pricing-dual-card-btn:hover::before {
  transform: translateX(100%);
}
.hero-pricing-dual-card-btn span {
  position: relative;
  z-index: 1;
}

.hero-pricing-dual-trust {
  max-width: 820px;
  margin: 48px auto 0;
  padding-top: 32px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.hero-pricing-dual-trust .hero-card-trust {
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: nowrap;
  border: none;
  margin: 0;
  padding: 0;
}
.hero-pricing-dual-trust .hero-card-trust-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
  font-weight: 500;
  color: inherit;
}
.hero-pricing-dual-trust .hero-card-trust-icon {
  color: rgba(242, 140, 40, 0.6);
  font-size: 18px;
  line-height: 1;
}

@media (max-width: 768px) {
  .hero-pricing-dual {
    padding: 70px 0 50px;
  }
  .hero-pricing-dual-inner {
    padding: 0 20px;
  }
  .hero-pricing-dual-header {
    margin-bottom: 36px;
  }
  .hero-card-headline {
    font-size: 32px;
  }
  .hero-pricing-dual-cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .hero-pricing-dual-card:last-child {
    transform: none;
  }
  .hero-pricing-dual-card:last-child:hover {
    transform: translateY(-6px);
  }
  .hero-pricing-dual-trust .hero-card-trust {
    gap: 12px;
    flex-wrap: wrap;
  }
}
@keyframes premiumCardIn {
  from {
    opacity: 0;
    transform: translateX(-80px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateX(0) scale(1);
  }
}
.premium-produkte {
  padding: 80px 0;
}

.premium-produkte-inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

.premium-produkte-item {
  background: linear-gradient(145deg, #2D2D2D, #222);
  border-radius: 16px;
  border: 1px solid rgba(242, 140, 40, 0.15);
  overflow: hidden;
  transition: all 0.4s cubic-bezier(0.22, 1, 0.36, 1);
  display: flex;
  flex-direction: column;
  text-align: center;
  cursor: pointer;
  width: calc(33.333% - 16px);
  min-width: 280px;
  animation: premiumCardIn 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}
.premium-produkte-item:nth-child(1) {
  animation-delay: 0.2s;
}
.premium-produkte-item:nth-child(2) {
  animation-delay: 0.4s;
}
.premium-produkte-item:nth-child(3) {
  animation-delay: 0.6s;
}
.premium-produkte-item:hover {
  transform: translateY(-8px);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
  border-color: rgba(242, 140, 40, 0.3);
}
.premium-produkte-item:hover .premium-produkte-topbar {
  transform: scaleX(1);
}

.premium-produkte-topbar {
  height: 3px;
  background: linear-gradient(90deg, #F28C28, rgba(242, 140, 40, 0.3));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform 0.4s ease;
}

.premium-produkte-content {
  padding: 48px 36px;
  text-align: center;
  flex: 1;
}

.premium-card-icon {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  background: rgba(242, 140, 40, 0.08);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 20px;
  font-size: 28px;
}

.premium-card-title {
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  margin-bottom: 8px;
}

.premium-card-desc {
  font-size: 14px;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.6;
  margin-bottom: 20px;
}

.premium-card-price {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 600;
  color: #fff;
}
.premium-card-price span {
  color: #F28C28;
}

.premium-card-price-sub {
  font-size: 13px;
  color: rgba(255, 255, 255, 0.4);
}

.premium-produkte .clear {
  border: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 992px) {
  .premium-produkte-item {
    width: calc(50% - 12px);
  }
}
@media (max-width: 576px) {
  .premium-produkte-inner {
    padding: 0 20px;
  }
  .premium-produkte-item {
    width: 100%;
  }
}
.features-grid-section {
  position: relative;
  width: 100%;
  padding: 80px 40px;
  max-width: 1140px;
  margin: 0 auto;
}

.features-grid-headline {
  text-align: center;
  margin-bottom: 48px;
}
.features-grid-headline h2 {
  color: #fff;
  font-size: 2.35rem;
  font-weight: 7700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.features-grid-headline strong {
  color: #ff9d33;
  font-weight: 700;
}

.features-grid-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}

.features-grid-card {
  background: rgba(0, 0, 0, 0.45);
  border: 1px solid rgba(255, 157, 51, 0.2);
  border-radius: 12px;
  padding: 40px 24px 36px;
  text-align: center;
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: border-color 0.3s ease, transform 0.3s ease;
}
.features-grid-card:hover {
  border-color: rgba(255, 157, 51, 0.5);
  transform: translateY(-4px);
}
.features-grid-card .features-icon {
  width: 56px;
  height: 56px;
  margin: 0 auto 20px;
  border-radius: 50%;
  background: rgba(255, 157, 51, 0.1);
  border: 1px solid rgba(255, 157, 51, 0.25);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.3s ease;
}
.features-grid-card .features-icon img, .features-grid-card .features-icon svg {
  width: 24px;
  height: 24px;
}
.features-grid-card:hover .features-icon {
  background: rgba(255, 157, 51, 0.2);
}
.features-grid-card h3 {
  color: #fff;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.features-grid-card p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 0.9rem;
  font-weight: 300;
  line-height: 1.6;
  margin-top: 8px;
}
.features-grid-card sup {
  color: rgba(255, 157, 51, 0.5);
  font-size: 0.65rem;
}

@media (max-width: 900px) {
  .features-grid-section {
    padding: 60px 24px;
  }
  .features-grid-cards {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }
}
@media (max-width: 560px) {
  .features-grid-section {
    padding: 40px 16px;
  }
  .features-grid-headline {
    margin-bottom: 28px;
  }
  .features-grid-headline h2 {
    font-size: 1.3rem;
  }
  .features-grid-cards {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .features-grid-card {
    padding: 20px;
    display: flex;
    align-items: center;
    text-align: left;
    gap: 16px;
  }
  .features-grid-card:hover {
    transform: none;
  }
  .features-grid-card .features-icon {
    margin: 0;
    min-width: 48px;
    width: 48px;
    height: 48px;
  }
  .features-grid-card h3 {
    font-size: 1rem;
  }
}
.testimonials-stats {
  background: #fafafa;
  padding: 80px 0;
  overflow: hidden;
}

.testimonials-stats-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 24px;
}

.testimonials-stats-header {
  text-align: center;
  margin-bottom: 56px;
}
.testimonials-stats-header h2 {
  font-size: 4rem;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 12px;
  line-height: 1.2;
}
.testimonials-stats-header p {
  font-size: 1.5rem;
  color: #888;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 24px;
}
.testimonials-stats-header::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #ff9d33, #ff6b00);
  border-radius: 2px;
  margin: 24px auto 0;
}

.testimonials-stats-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  margin-bottom: 64px;
}

.testimonials-stats-card {
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 0;
  padding: 32px;
  display: flex;
  flex-direction: column;
  position: relative;
  overflow: hidden;
  transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94), box-shadow 0.4s ease;
}
.testimonials-stats-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #ff9d33, #ff6b00);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.4s ease;
}
.testimonials-stats-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.08);
}
.testimonials-stats-card:hover::before {
  transform: scaleX(1);
}
.testimonials-stats-card:hover .testimonial-divider {
  width: 56px;
}

.testimonials-stats-quote-icon {
  color: #ff9d33;
  opacity: 0.4;
  margin-bottom: 16px;
}

.testimonials-stats-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.testimonials-stats-card-body .testimonial-quote {
  font-size: 1.75rem;
  color: #444;
  line-height: 1.7;
  font-style: italic;
  margin-bottom: 24px;
  flex: 1;
}
.testimonials-stats-card-body .testimonial-divider {
  width: 32px;
  height: 2px;
  background: #ff9d33;
  margin-bottom: 16px;
  transition: width 0.3s ease;
}
.testimonials-stats-card-body .testimonial-name {
  font-size: 1.75rem;
  font-weight: 600;
  color: #1a1a1a;
  margin-bottom: 2px;
}
.testimonials-stats-card-body .testimonial-position {
  font-size: 1.5rem;
  color: #888;
  margin-bottom: 2px;
}
.testimonials-stats-card-body .testimonial-company {
  font-size: 1.5rem;
  color: #ff9d33;
  font-weight: 600;
}

@media (max-width: 991px) {
  .testimonials-stats-cards {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .testimonials-stats-counters {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
  }
  .testimonials-stats-header h2 {
    font-size: 3rem;
  }
}
@media (max-width: 575px) {
  .testimonials-stats {
    padding: 48px 0;
  }
  .testimonials-stats-counters {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
  }
  .testimonials-stats-counter-item .counter-number {
    font-size: 3rem;
  }
  .testimonials-stats-header h2 {
    font-size: 2.5rem;
  }
}
@keyframes referenzenItemIn {
  from {
    opacity: 0;
    transform: translateX(-40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
.referenzen-liste {
  padding: 100px 0;
  background: #fafaf8;
}

.referenzen-liste-inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
  counter-reset: referenz-counter;
}

.referenzen-liste-item {
  display: flex;
  gap: 0;
  padding: 52px 0;
  border-bottom: 1px solid #e8e6e0;
  animation: referenzenItemIn 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  transition: transform 0.4s ease;
}
.referenzen-liste-item:nth-child(1) {
  animation-delay: 0.15s;
}
.referenzen-liste-item:nth-child(2) {
  animation-delay: 0.35s;
}
.referenzen-liste-item:nth-child(3) {
  animation-delay: 0.55s;
}
.referenzen-liste-item:nth-child(4) {
  animation-delay: 0.75s;
}
.referenzen-liste-item:nth-child(5) {
  animation-delay: 0.95s;
}
.referenzen-liste-item:nth-child(6) {
  animation-delay: 1.15s;
}
.referenzen-liste-item:last-child {
  border-bottom: none;
}
.referenzen-liste-item:hover {
  transform: translateX(8px);
}
.referenzen-liste-item:hover .referenzen-liste-number {
  color: rgba(242, 140, 40, 0.4);
}
.referenzen-liste-item:hover .referenzen-liste-bar {
  background: linear-gradient(180deg, #F28C28, #ff6b00);
  box-shadow: 0 0 12px rgba(242, 140, 40, 0.3);
}
.referenzen-liste-item:hover .referenz-name {
  color: #F28C28;
}
.referenzen-liste-item:hover .referenzen-liste-link {
  background: #F28C28;
  color: #fff;
  border-color: #F28C28;
}

.referenzen-liste-number {
  flex-shrink: 0;
  width: 90px;
  padding-right: 32px;
  text-align: right;
  font-size: 4rem;
  font-weight: 900;
  color: rgba(242, 140, 40, 0.12);
  line-height: 1;
  padding-top: 4px;
  transition: color 0.4s ease;
  counter-increment: referenz-counter;
}
.referenzen-liste-number::before {
  content: counter(referenz-counter, decimal-leading-zero);
}

.referenzen-liste-bar {
  width: 4px;
  background: #F28C28;
  border-radius: 2px;
  flex-shrink: 0;
  transition: all 0.4s ease;
}

.referenzen-liste-content {
  flex: 1;
  padding-left: 36px;
}
.referenzen-liste-content .referenz-name {
  font-size: 2.8rem;
  font-weight: 800;
  color: #1a1a2e;
  margin-bottom: 10px;
  transition: color 0.3s ease;
}
.referenzen-liste-content .referenz-service-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}
.referenzen-liste-content .referenz-service-line {
  width: 28px;
  height: 3px;
  background: #F28C28;
  border-radius: 2px;
  display: inline-block;
}
.referenzen-liste-content .referenz-service {
  font-size: 1.3rem;
  font-weight: 700;
  color: #F28C28;
  display: inline;
}
.referenzen-liste-content .referenz-desc {
  font-size: 1.5rem;
  color: #6b6b80;
  line-height: 1.8;
  max-width: 750px;
  margin-bottom: 24px;
}
.referenzen-liste-content .referenzen-liste-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 1.15rem;
  font-weight: 700;
  color: #F28C28;
  text-decoration: none;
  padding: 12px 28px;
  border: 2px solid #F28C28;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.referenzen-liste-content .referenzen-liste-link:hover {
  background: #F28C28;
  color: #fff;
}

.referenzen-liste .clear {
  border: none;
  margin: 0;
  padding: 0;
}

@media (max-width: 768px) {
  .referenzen-liste-inner {
    padding: 0 20px;
  }
  .referenzen-liste-number {
    width: 60px;
    font-size: 2.8rem;
    padding-right: 20px;
  }
  .referenzen-liste-content {
    padding-left: 20px;
  }
  .referenzen-liste-content .referenz-name {
    font-size: 2rem;
  }
  .referenzen-liste-content .referenz-desc {
    font-size: 1.2rem;
  }
  .referenzen-liste-content .referenz-service {
    font-size: 1.1rem;
  }
}
@media (max-width: 576px) {
  .referenzen-liste {
    padding: 60px 0;
  }
  .referenzen-liste-item {
    padding: 32px 0;
  }
  .referenzen-liste-number {
    display: none;
  }
  .referenzen-liste-content .referenz-name {
    font-size: 1.6rem;
  }
  .referenzen-liste-content .referenz-desc {
    font-size: 1.1rem;
  }
  .referenzen-liste-content .referenz-service {
    font-size: 1rem;
  }
}
.referenzen-logos {
  padding: 80px 0;
}

.referenzen-logos-inner {
  max-width: 100%;
  margin: 0;
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 1fr;
  grid-template-rows: 150px 150px 130px;
  gap: 20px;
}

.referenzen-logos-item {
  position: relative;
}
.referenzen-logos-item:nth-child(1) {
  grid-column: 1/2;
  grid-row: 1/3;
}
.referenzen-logos-item:nth-child(2) {
  grid-column: 2/3;
  grid-row: 1/2;
}
.referenzen-logos-item:nth-child(3) {
  grid-column: 3/4;
  grid-row: 1/2;
}
.referenzen-logos-item:nth-child(4) {
  grid-column: 2/4;
  grid-row: 2/3;
}
.referenzen-logos-item:nth-child(5) {
  grid-column: 1/2;
  grid-row: 3/4;
}
.referenzen-logos-item:nth-child(6) {
  grid-column: 2/4;
  grid-row: 3/4;
}

.referenzen-logos-content {
  border-radius: 12px;
  height: 100%;
  overflow: hidden;
  border: 1px solid transparent;
  transition: background 0.35s ease, border-color 0.35s ease;
}
.referenzen-logos-content p {
  margin: 0;
  padding: 0;
  height: 100%;
}
.referenzen-logos-content a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
}
.referenzen-logos-content a.article_editor {
  position: relative;
  z-index: 10;
  display: inline !important;
  width: auto !important;
  height: auto !important;
}
.referenzen-logos-content img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
  filter: grayscale(100%);
  opacity: 0.45;
  transition: filter 0.35s ease, opacity 0.35s ease;
}

.referenzen-logos-item::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 2px;
  background: #ff9d33;
  transition: width 0.35s ease;
  border-radius: 2px;
  z-index: 1;
}

.referenzen-logos-item:hover .referenzen-logos-content {
  background: #fafafa;
  border-color: #eee;
}
.referenzen-logos-item:hover .referenzen-logos-content img {
  filter: grayscale(0%);
  opacity: 1;
}
.referenzen-logos-item:hover::after {
  width: 40%;
}

@media (max-width: 768px) {
  .referenzen-logos {
    padding: 50px 0;
  }
  .referenzen-logos-inner {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    gap: 16px;
  }
  .referenzen-logos-item {
    min-height: 120px;
  }
  .referenzen-logos-item:nth-child(1), .referenzen-logos-item:nth-child(2), .referenzen-logos-item:nth-child(3), .referenzen-logos-item:nth-child(4), .referenzen-logos-item:nth-child(5), .referenzen-logos-item:nth-child(6) {
    grid-column: auto;
    grid-row: auto;
  }
}
@media (max-width: 480px) {
  .referenzen-logos-inner {
    grid-template-columns: 1fr;
  }
}
.solution-detail {
  padding: 60px 0;
  font-family: "Sora", sans-serif;
}

.solution-detail-inner {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}

.solution-detail-item {
  width: 100%;
}

.solution-detail-content .sd-anchor {
  scroll-margin-top: 100px;
}

.solution-detail-content .sd-row {
  display: flex;
  gap: 48px;
  align-items: flex-start;
}
@media (max-width: 768px) {
  .solution-detail-content .sd-row {
    flex-direction: column;
    gap: 24px;
  }
}

.solution-detail-content .sd-text {
  flex: 1;
}

.solution-detail-content .sd-head {
  display: flex;
  align-items: baseline;
  gap: 16px;
  margin-bottom: 20px;
}

.solution-detail-content .sd-num {
  font-family: "Space Grotesk", sans-serif;
  font-size: 64px;
  font-weight: 700;
  color: rgba(255, 157, 51, 0.35);
  line-height: 1;
  flex-shrink: 0;
}

.solution-detail-content .sd-title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 32px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0;
  line-height: 1.2;
}
@media (max-width: 768px) {
  .solution-detail-content .sd-title {
    font-size: 24px;
  }
}

.solution-detail-content .sd-body {
  font-size: 18px;
  line-height: 1.8;
  color: #505050;
  font-weight: 300;
}

.solution-detail-content .sd-visual {
  width: 300px;
  flex-shrink: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 16px;
}
@media (max-width: 768px) {
  .solution-detail-content .sd-visual {
    width: 100%;
    order: -1;
  }
}

.solution-detail-content .sd-icon-ring {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  border: 1.5px solid #ff9d33;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: all 0.35s ease;
}

.solution-detail-content .sd-icon-dot {
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #ff9d33;
  top: -4px;
  left: 50%;
  transform: translateX(-50%);
  transition: transform 0.35s ease;
}

.solution-detail-content .sd-icon-ring img {
  width: 150px;
  height: 150px;
  object-fit: contain;
  transition: all 0.35s ease;
}

.solution-detail-item:hover .sd-icon-ring {
  transform: scale(1.08);
  border-width: 2px;
}

.solution-detail-item:hover .sd-icon-ring img {
  transform: rotate(10deg) scale(1.1);
}

.solution-detail-item:hover .sd-icon-dot {
  animation: sd-dot-pop 0.4s ease-out;
}

@keyframes sd-dot-pop {
  0% {
    transform: translateX(-50%) scale(1);
  }
  50% {
    transform: translateX(-50%) scale(2);
  }
  100% {
    transform: translateX(-50%) scale(1);
  }
}
.solution-detail-content .sd-divider {
  height: 1px;
  background: linear-gradient(90deg, #ddd, transparent);
  margin-top: 48px;
}

.solution-detail-item.empty-article {
  opacity: 0.5;
  border: 2px dashed #ccc;
  border-radius: 8px;
  padding: 24px;
}
.solution-detail-item.empty-article .empty-placeholder {
  color: #999;
  font-style: italic;
  font-size: 14px;
}

.solution-overview {
  padding: 80px 0;
  font-family: "Sora", sans-serif;
}

.solution-overview-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 768px) {
  .solution-overview-inner {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}

.solution-overview-content .so-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 190px;
  border: 0.5px solid #ddd;
  border-radius: 12px;
  padding: 32px;
  text-decoration: none;
  transition: all 0.25s;
  cursor: pointer;
}
.solution-overview-content .so-card:hover {
  border-color: #ff9d33;
  transform: translateY(-3px);
}

.solution-overview-item {
  display: flex;
}

.solution-overview-content .so-num {
  display: block;
  font-family: "Space Grotesk", sans-serif;
  font-size: 52px;
  font-weight: 700;
  color: rgba(255, 157, 51, 0.35);
  line-height: 1;
  margin-bottom: 14px;
}

.solution-overview-content .so-title {
  font-family: "Space Grotesk", sans-serif;
  font-size: 22px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 8px;
  line-height: 1.3;
}

.solution-overview-content .so-desc {
  font-size: 16px;
  color: #888;
  margin: 0;
  line-height: 1.5;
  flex-grow: 1;
}

html {
  scroll-behavior: smooth;
}

.solution-overview-item.empty-article {
  opacity: 0.5;
  border: 2px dashed #ccc;
  border-radius: 8px;
  padding: 32px;
  min-height: 220px;
}
.solution-overview-item.empty-article .empty-placeholder {
  color: #999;
  font-style: italic;
  font-size: 14px;
}

.row-mobility-hero {
  position: relative;
  padding: 4rem 2rem;
  overflow: hidden;
  min-height: 480px;
  display: flex;
  align-items: center;
}

.row-mobility-hero-inner {
  position: relative;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}

.row-mobility-hero-orbits {
  position: absolute;
  top: 50%;
  left: 75%;
  transform: translate(-50%, -50%);
  pointer-events: none;
}

.row-mobility-hero-orbit {
  position: absolute;
  top: 50%;
  left: 50%;
  border-radius: 50%;
}

.row-mobility-hero-orbit-outer {
  width: 400px;
  height: 400px;
  margin-top: -200px;
  margin-left: -200px;
  border: 1px solid rgba(255, 157, 51, 0.18);
  animation: mobility-spin 30s linear infinite;
}
.row-mobility-hero-orbit-outer .row-mobility-hero-orbit-dot {
  position: absolute;
  top: -5px;
  left: 50%;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff9d33;
  transform: translateX(-50%);
}

.row-mobility-hero-orbit-middle {
  width: 270px;
  height: 270px;
  margin-top: -135px;
  margin-left: -135px;
  border: 1px solid rgba(255, 157, 51, 0.12);
  animation: mobility-spin 20s linear infinite reverse;
}
.row-mobility-hero-orbit-middle .row-mobility-hero-orbit-dot {
  position: absolute;
  bottom: -4px;
  right: 20%;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ff9d33;
  opacity: 0.7;
}

.row-mobility-hero-orbit-pulse {
  width: 150px;
  height: 150px;
  margin-top: -75px;
  margin-left: -75px;
  border: 1px solid rgba(255, 157, 51, 0.2);
  animation: mobility-pulse 4s ease-in-out infinite;
}

.row-mobility-hero-content {
  position: relative;
  z-index: 2;
  max-width: 540px;
}

.row-mobility-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px;
  border-radius: 20px;
  background: rgba(255, 157, 51, 0.08);
  border: 1px solid rgba(255, 157, 51, 0.2);
  margin-bottom: 1.5rem;
  opacity: 0;
  animation: mobility-pop 0.5s ease forwards 0.2s;
}

.row-mobility-hero-badge-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ff9d33;
  animation: mobility-blink 2s ease infinite;
}

.row-mobility-hero-badge-text {
  font-family: "Instrument Sans", sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #ff9d33;
}

.row-mobility-hero-text {
  opacity: 0;
  animation: mobility-pop 0.5s ease forwards 0.35s;
}
.row-mobility-hero-text h1, .row-mobility-hero-text h2 {
  font-family: "Bricolage Grotesque", sans-serif;
  font-size: clamp(34px, 5.5vw, 58px);
  font-weight: 800;
  line-height: 1.08;
  color: #000;
  margin: 0 0 1.2rem;
}
.row-mobility-hero-text .mobility-highlight {
  color: #ff9d33;
}
.row-mobility-hero-text p {
  font-family: "Instrument Sans", sans-serif;
  font-size: 17px;
  line-height: 1.7;
  color: #505050;
  margin: 0 0 1.5rem;
}

.row-mobility-hero-links {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 2.2rem;
  opacity: 0;
  animation: mobility-pop 0.5s ease forwards 0.5s;
}
.row-mobility-hero-links a {
  font-family: "Instrument Sans", sans-serif;
  font-size: 14px;
  font-weight: 500;
  text-decoration: none;
  padding: 10px 26px;
  border-radius: 20px;
  background: rgba(255, 157, 51, 0.06);
  border: 1px solid rgba(255, 157, 51, 0.25);
  color: #000;
  transition: all 0.3s ease;
}
.row-mobility-hero-links a:hover {
  background: rgba(255, 157, 51, 0.15);
  border-color: #ff9d33;
  color: #ff9d33;
}

.row-mobility-hero-counter {
  display: flex;
  align-items: center;
  gap: 12px;
  opacity: 0;
  animation: mobility-pop 0.5s ease forwards 0.65s;
}
.row-mobility-hero-counter .mobility-counter-circle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #ff9d33;
  font-family: "Bricolage Grotesque", sans-serif;
  font-size: 20px;
  font-weight: 800;
  color: #000;
  flex-shrink: 0;
}
.row-mobility-hero-counter .mobility-counter-label {
  font-family: "Instrument Sans", sans-serif;
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #505050;
}

@keyframes mobility-spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes mobility-pulse {
  0%, 100% {
    transform: scale(1);
    opacity: 0.3;
  }
  50% {
    transform: scale(1.15);
    opacity: 0.08;
  }
}
@keyframes mobility-blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.3;
  }
}
@keyframes mobility-pop {
  from {
    opacity: 0;
    transform: translateY(12px) scale(0.97);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media screen and (max-width: 768px) {
  .row-mobility-hero {
    min-height: auto;
    padding: 3rem 1.5rem;
  }
  .row-mobility-hero-orbits {
    left: 85%;
    opacity: 0.4;
  }
  .row-mobility-hero-content {
    max-width: 100%;
  }
  .row-mobility-hero-text h1, .row-mobility-hero-text h2 {
    font-size: 30px;
  }
}
@keyframes constellation-twinkle {
  0%, 100% {
    opacity: 0.08;
  }
  50% {
    opacity: 0.4;
  }
}
@keyframes constellation-ripple {
  0% {
    opacity: 0.5;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(1.8);
  }
}
@keyframes constellation-node-in {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.7);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
  }
}
.constellation-hex {
  padding: 4rem 0.5rem 4rem 0;
  overflow: hidden;
  position: relative;
}

.constellation-hex-inner {
  width: min(1150px, 96vw);
  height: 780px;
}

.constellation-hex-svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  overflow: visible;
}

.constellation-hex-line {
  stroke: rgba(80, 80, 80, 0.12);
  stroke-width: 1;
  fill: none;
  transition: stroke 0.5s, stroke-width 0.5s;
}
.constellation-hex-line.is-active {
  stroke: rgba(255, 157, 51, 0.7);
  stroke-width: 2;
}

.constellation-hex-line-secondary {
  stroke: rgba(80, 80, 80, 0.06);
  stroke-width: 0.5;
  fill: none;
}

.constellation-hex-particle {
  fill: #ff9d33;
  opacity: 0.6;
}

.constellation-hex-particle-secondary {
  fill: #ff9d33;
  opacity: 0.35;
}

.constellation-hex-star {
  fill: rgba(255, 157, 51, 0.25);
  animation: constellation-twinkle 4s ease-in-out infinite;
}

.constellation-hex-center {
  position: absolute;
  top: 40%;
  left: 57%;
  transform: translate(-30%, -35%);
  width: 150px;
  height: 150px;
  z-index: 5;
  display: flex;
  align-items: center;
  justify-content: center;
}

.constellation-hex-center-shape {
  fill: rgba(255, 157, 51, 0.06);
  stroke: rgba(255, 157, 51, 0.4);
  stroke-width: 3;
}

.constellation-hex-center-logo {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-18%, -69%);
  width: 58px;
  height: auto;
  z-index: 6;
}

.constellation-hex-node {
  position: absolute;
  z-index: 10;
  transform: translate(-50%, -50%);
  animation: constellation-node-in 0.6s ease-out both;
}
.constellation-hex-node[data-index="0"] {
  top: 15%;
  left: 42%;
  animation-delay: 0.1s;
}
.constellation-hex-node[data-index="1"] {
  top: 15%;
  left: 78%;
  animation-delay: 0.2s;
}
.constellation-hex-node[data-index="2"] {
  top: 48%;
  left: 90%;
  animation-delay: 0.3s;
}
.constellation-hex-node[data-index="3"] {
  top: 75%;
  left: 78%;
  animation-delay: 0.4s;
}
.constellation-hex-node[data-index="4"] {
  top: 75%;
  left: 42%;
  animation-delay: 0.5s;
}

.constellation-hex-node-link {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-decoration: none;
  color: inherit;
}

.constellation-hex-node-hex {
  width: 190px;
  height: 205px;
  margin-bottom: 14px;
  position: relative;
}

.constellation-hex-node-shape {
  fill: rgba(80, 80, 80, 0.03);
  stroke: rgba(80, 80, 80, 0.2);
  stroke-width: 1.5;
  transition: all 0.45s cubic-bezier(0.16, 1, 0.3, 1);
}
.constellation-hex-node:hover .constellation-hex-node-shape {
  fill: rgba(255, 157, 51, 0.1);
  stroke: #ff9d33;
  stroke-width: 2;
}

.constellation-hex-node-ripple {
  fill: none;
  stroke: #ff9d33;
  stroke-width: 1;
  opacity: 0;
  transform-origin: center;
}
.constellation-hex-node:hover .constellation-hex-node-ripple {
  animation: constellation-ripple 0.9s ease-out;
}

.constellation-hex-node-dot {
  fill: #ff9d33;
  transition: all 0.3s;
}
.constellation-hex-node:hover .constellation-hex-node-dot {
  r: 7;
}

.constellation-hex-node-content {
  text-align: center;
  white-space: nowrap;
  position: relative;
  z-index: 4;
}
.constellation-hex-node-content h2, .constellation-hex-node-content h3, .constellation-hex-node-content p {
  font-family: "Space Grotesk", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #000000;
  margin: 0;
  transition: color 0.35s, letter-spacing 0.35s;
}
.constellation-hex-node:hover .constellation-hex-node-content h2, .constellation-hex-node:hover .constellation-hex-node-content h3, .constellation-hex-node:hover .constellation-hex-node-content p {
  color: #000000;
  letter-spacing: 0.5px;
}

.constellation-hex-node-cta {
  font-family: "Space Grotesk", sans-serif;
  font-size: 13px;
  color: #ff9d33;
  text-align: center;
  opacity: 0;
  transform: translateY(-6px);
  transition: all 0.3s 0.12s;
  margin-top: 6px;
  position: relative;
  z-index: 4;
}
.constellation-hex-node:hover .constellation-hex-node-cta {
  opacity: 1;
  transform: translateY(0);
}

.constellation-hex-nodes-wrap {
  display: contents;
}

.constellation-hex-node.empty-article .constellation-hex-node-shape {
  stroke: rgba(80, 80, 80, 0.1);
  stroke-dasharray: 4 4;
}
.constellation-hex-node.empty-article .empty-placeholder {
  font-family: "Space Grotesk", sans-serif;
  font-size: 12px;
  color: rgba(80, 80, 80, 0.4);
  text-align: center;
}

.constellation-hex-node .constellation-hex-node-hex {
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
  clip-path: polygon(50% 2%, 94% 25%, 94% 75%, 50% 98%, 6% 75%, 6% 25%);
}
.constellation-hex-node .constellation-hex-node-hex::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.15), rgba(0, 0, 0, 0.45));
  z-index: 1;
}
.constellation-hex-node .constellation-hex-node-shape {
  fill: transparent;
  stroke: rgba(255, 157, 51, 0.8);
  stroke-width: 2;
  position: relative;
  z-index: 2;
}
.constellation-hex-node .constellation-hex-node-dot {
  fill: #ff9d33;
  position: relative;
  z-index: 3;
}

.constellation-hex-intro {
  position: absolute;
  top: 38%;
  left: 0%;
  transform: translateY(-50%);
  z-index: 20;
  max-width: 320px;
  padding-left: 0;
}

.constellation-hex-intro-content {
  text-align: left;
}
.constellation-hex-intro-content .constellation-hex-intro-badge {
  display: inline-block;
  font-family: "Space Grotesk", sans-serif;
  font-size: 14px;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ff9d33;
  border: 1px solid rgba(255, 157, 51, 0.3);
  padding: 6px 16px;
  border-radius: 20px;
  margin-bottom: 1.5rem;
}
.constellation-hex-intro-content h1, .constellation-hex-intro-content h2 {
  font-family: "Space Grotesk", sans-serif;
  font-size: 50px;
  font-weight: 700;
  color: #000000;
  line-height: 1.12;
  margin: 0 0 1.2rem;
}
.constellation-hex-intro-content em, .constellation-hex-intro-content i {
  font-style: normal;
  color: #ff9d33;
}
.constellation-hex-intro-content p {
  font-family: "DM Sans", sans-serif;
  font-size: 20px;
  color: #505050;
  line-height: 1.65;
  margin: 0;
}

.constellation-hex-node[data-index="0"] .constellation-hex-node-hex {
  background-image: url(/download/pictures/article_images/four_images_small_groupware.jpg);
}

.constellation-hex-node[data-index="1"] .constellation-hex-node-hex {
  background-image: url(/download/pictures/article_images/four_images_small_private_cloud.jpg);
}

.constellation-hex-node[data-index="2"] .constellation-hex-node-hex {
  background-image: url(/download/pictures/article_images/four_images_small_application.jpg);
}

.constellation-hex-node[data-index="3"] .constellation-hex-node-hex {
  background-image: url(/download/pictures/article_images/four_images_small_cms_hosting.jpg);
}

.constellation-hex-node[data-index="4"] .constellation-hex-node-hex {
  background-image: url(/download/pictures/article_images/four_images_small_manufactory.jpg);
}

@media (max-width: 768px) {
  .constellation-hex {
    padding: 2.5rem 1rem;
  }
  .constellation-hex-inner {
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
  .constellation-hex-svg {
    display: none;
  }
  .constellation-hex-center {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    width: 90px;
    height: 90px;
  }
  .constellation-hex-center-logo {
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    width: 45px;
  }
  .constellation-hex-intro {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    max-width: 100%;
    padding: 0;
  }
  .constellation-hex-intro-content {
    text-align: center;
  }
  .constellation-hex-intro-content h1, .constellation-hex-intro-content h2 {
    font-size: 28px;
  }
  .constellation-hex-intro-content p {
    font-size: 15px;
  }
  .constellation-hex-nodes-wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1.2rem;
    width: 100%;
    max-width: 360px;
  }
  .constellation-hex-node {
    position: relative;
    top: auto !important;
    left: auto !important;
    transform: none;
    animation: none;
    width: 100%;
  }
  .constellation-hex-node:last-child {
    grid-column: 1/-1;
    max-width: 50%;
    justify-self: center;
  }
  .constellation-hex-node-link {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 0.4rem;
  }
  .constellation-hex-node-hex {
    width: 90px;
    height: 99px;
    margin-bottom: 0;
  }
  .constellation-hex-node-content {
    white-space: normal;
  }
  .constellation-hex-node-content h2, .constellation-hex-node-content h3, .constellation-hex-node-content p {
    font-size: 13px;
  }
  .constellation-hex-node-cta {
    opacity: 1;
    transform: none;
    font-size: 11px;
  }
  .constellation-hex-node-ripple {
    display: none;
  }
}
.footer {
  color: #505050;
  background-color: transparent;
  height: auto;
}
.footer a {
  color: #888;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
}
.footer a:hover {
  color: #1a1a1a;
}

.footer .sitemap {
  background-color: #f0eeeb;
  overflow: hidden;
  width: 100%;
  position: relative;
  padding: 72px 60px 24px;
}
.footer .sitemap::before, .footer .sitemap::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  filter: blur(80px);
  pointer-events: none;
  z-index: 0;
}
.footer .sitemap::before {
  width: 400px;
  height: 400px;
  background: #ff9d33;
  opacity: 0.1;
  top: -100px;
  left: -100px;
  animation: orbFloat1 8s ease-in-out infinite;
}
.footer .sitemap::after {
  width: 300px;
  height: 300px;
  background: #ff9d33;
  opacity: 0.07;
  bottom: -80px;
  right: 10%;
  animation: orbFloat2 10s ease-in-out infinite;
}

@keyframes orbFloat1 {
  0%, 100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(30px, 20px);
  }
}
@keyframes orbFloat2 {
  0%, 100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(-20px, -30px);
  }
}
.sitemap > .col-main:first-child {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 48px;
}

.sitemap > .col-main > ul {
  margin: 0;
  padding: 0;
  list-style: none;
  flex: 1;
}

.sitemap > .col-main > ul > li:first-child > a {
  font-family: "Syne", sans-serif;
  font-size: 16px;
  font-weight: 600;
  color: #1a1a1a;
  display: inline-block;
  position: relative;
  margin-bottom: 20px;
}
.sitemap > .col-main > ul > li:first-child > a::after {
  content: "";
  position: absolute;
  bottom: -6px;
  left: 0;
  width: 20px;
  height: 2px;
  background: #ff9d33;
  border-radius: 1px;
}

.sitemap > .col-main > ul > ul {
  float: none;
  margin: 0;
  padding: 0;
  list-style: none;
}

.sitemap > .col-main > ul > ul li {
  margin-bottom: 8px;
}

.sitemap > .col-main > ul > ul li a {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 13px;
  font-weight: 300;
  color: #888;
}
.sitemap > .col-main > ul > ul li a::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 0;
  height: 1px;
  background: #ff9d33;
  transition: width 0.3s;
}
.sitemap > .col-main > ul > ul li a:hover {
  color: #1a1a1a;
}
.sitemap > .col-main > ul > ul li a:hover::after {
  width: 100%;
}

.sitemap::before {
  z-index: 0;
}

#aboutus {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #aaa;
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #d0cdc8;
  position: relative;
  z-index: 1;
  float: none;
}

#aboutus li {
  display: inline;
}

#aboutus li::before {
  content: "|";
  margin-right: 4px;
  color: #ccc;
}

#aboutus a {
  font-family: "IBM Plex Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  color: #aaa;
}
#aboutus a:hover {
  color: #ff9d33;
}

.footer .copyright {
  font-size: 12px;
  font-family: "IBM Plex Sans", sans-serif;
  background-color: transparent;
  color: #aaa;
}

.footer .brand {
  background-color: #e8e6e1;
  width: 100%;
  overflow: hidden;
  position: relative;
  padding: 20px 60px;
}

.footer .logo {
  margin: 0;
  float: left;
}

.footer .logo img {
  width: auto;
  height: 35px;
}

.footer #social-list {
  float: right;
  list-style: none;
  display: flex;
  gap: 12px;
  transform: translateY(15%);
}

.footer #social-list li {
  display: block;
}

.footer #social-list li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid #d0cdc8;
  border-radius: 50%;
  transition: all 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  position: relative;
  overflow: hidden;
}
.footer #social-list li a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #ff9d33;
  border-radius: 50%;
  transform: scale(0);
  transition: transform 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  z-index: 0;
}
.footer #social-list li a:hover {
  border-color: #ff9d33;
}
.footer #social-list li a:hover::before {
  transform: scale(1);
}
.footer #social-list li a img {
  position: relative;
  z-index: 1;
}

.footer #social-list li:not(:last-child) {
  margin-right: 0;
}

@media screen and (min-width: 1441px) {
  .footer .sitemap {
    padding-right: 80px;
    padding-left: 80px;
  }
}
@media screen and (min-width: 600px) and (max-width: 1024px) {
  .sitemap > .col-main:first-child {
    flex-wrap: wrap;
    gap: 32px;
  }
  .sitemap > .col-main > ul {
    flex: 0 0 calc(50% - 16px);
  }
  .footer #social-list {
    transform: none;
  }
}
@media screen and (max-width: 600px) {
  .footer .sitemap {
    padding: 48px 20px 20px;
  }
  .sitemap > .col-main:first-child {
    flex-direction: column;
    gap: 32px;
  }
  .sitemap > .col-main > ul {
    width: 100%;
    text-align: center;
  }
  .sitemap > .col-main > ul > li:first-child > a::after {
    left: 50%;
    transform: translateX(-50%);
  }
  #aboutus {
    flex-direction: column;
    gap: 8px;
  }
  #aboutus li::before {
    content: "";
  }
  .footer .brand {
    padding: 20px;
    text-align: center;
  }
  .footer .logo {
    float: none;
    margin-bottom: 16px;
  }
  .footer #social-list {
    float: none;
    justify-content: center;
    transform: none;
  }
}
