@charset "utf-8";  

/* 
CSS Document HPK - Layout 21
Notwendige Anpassungen (Silicon)
*/


/**********************************************/
/***************** Debugger		 *************/
/********************************************/

.extbase-debugger {
	overflow: visible !important;
}

/**********************************************/
/***************** Hero		 *************/
/********************************************/

.hero-parallax {
  overflow: hidden;
}

/* Desktop */
@media (min-width: 1400px) {
  .hero-parallax {
    height: 400px;
  }
}

/* Tablet */
@media (min-width: 768px) and (max-width: 1399px) {
  .hero-parallax {
    height: 250px;
  }
}

/* Optional Mobile */
@media (max-width: 767px) {
  .hero-parallax {
    height: 200px;
  }
}

/**********************************************/
/***************** Lightbox Hover ************/
/********************************************/
.lightbox {
  position: relative;
  display: inline-block;
  overflow: hidden;
  cursor: pointer;
  transition: transform 0.3s ease;
}

.lightbox img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.lightbox:hover img {
  filter: brightness(0.6);
}

.lightbox::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 35px;
  height: 35px;
  transform: translate(-50%, -50%);
  background: url('data:image/svg+xml;utf8,<svg fill="white" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11 4a7 7 0 0 1 5.657 11.314l5.022 5.022-1.414 1.414-5.022-5.022A7 7 0 1 1 11 4zm0 2a5 5 0 1 0 .001 10.001A5 5 0 0 0 11 6z"/></svg>') no-repeat center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
}

.lightbox:hover::after {
  opacity: 1;
}
/**********************************************/
/***************** Powermail *****************/
/********************************************/

.tx-powermail h3 {
    display: none;
}

.form-control {
	color: var(--si-gray-800);
	border: var(--si-border-width) solid var(--si-gray-400);
}


.form-control:focus {
	color: var(--si-gray-900);
    border-bottom-color: rgba(var(--si-primary-rgb) , 0.2);
    border-left-color: rgba(var(--si-primary-rgb) , 0.2);
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px inset, rgba(var(--si-primary-rgb) , 0.25) 0px 3.2427px 7.29608px -3.2427px;
    border-right-color: rgba(var(--si-primary-rgb) , 0.2);
    border-top-color: rgba(var(--si-primary-rgb) , 0.2);
}

.form-check-input:checked {
    background-color: var(--si-primary);
    border-color: var(--si-primary);
}

.tx-powermail .btn-group  {
   margin-bottom: 3rem;
}

.tx-powermail .btn-group .btn-default:not(.btn-primary) {
    background: transparent;
    border: 1px solid var(--si-primary);
    color: var(--si-primary);
}

.tx-powermail .btn-group .btn-default:hover {
    background: var(--si-primary);
    color: var(--si-light);
}

@media (max-width: 768px) {
  .tx-powermail .btn-group {
    display: flex;
    flex-direction: column;
    width: 100%;
  }

  .tx-powermail .btn-group .btn {
    width: 100%;
  }
}

/**********************************************/
/***************** IMO. Seite > Herstellervideos **********/
/********************************************/

.produktloesungen {
  display: flex;
  flex-wrap: wrap;
}

.produktloesungen > [class*="col-"] {
  padding-left: calc(var(--bs-gutter-x, 1.5rem) / 2);
  padding-right: calc(var(--bs-gutter-x, 1.5rem) / 2);
}

/**********************************************/
/***************** Newsdetailseite **********/
/********************************************/

.card-body > .news-image {
  float: right;        /* Bild rechts vom Text */
  margin: 0 0 1rem 1rem; /* Abstand links und unten */
  width: 35%;          /* Breite des Bildes */
  max-width: 480px;    /* maximale Bildbreite */
}

.card-body > .news-content {
  overflow: hidden;    /* damit Container korrekt den Textfluss umschließt */
}

@media (max-width: 768px) {
  .card-body > .news-image {
    float: none;
    width: 100%;
    margin: 0 0 1rem 0;
  }
}

.card-footer a {
    color: var(--si-light);
    text-decoration: none;
}

/**********************************************/
/***************** Accordion **********/
/********************************************/

.accordion {
    --si-accordion-color: var(--si-body-color);
    --si-accordion-btn-font-weight: 600;
    --si-accordion-btn-color: var(--si-heading-color);
    --si-accordion-btn-icon-box-size: 2.25rem;
    --si-accordion-btn-icon-box-border-radius: 50%;
    --si-accordion-btn-icon-box-bg: var(--si-gray-200);
    --si-accordion-btn-icon-box-active-bg: var(--si-primary);
    --si-accordion-btn-icon-box-active-shadow: 0 -0.5rem 1.125rem -0.5rem rgba(var(--si-primary-rgb), 0.9);
}

/**********************************************/
/***************** Navigation. Tabs **********/
/********************************************/

.navbar-stuck #logoimg {
  max-height: 65px;
  max-width: 200px;
  width: auto;
  height: auto;
}	

.dropdown-menu {
    --si-dropdown-link-color: var(--si-dark);
    --si-dropdown-link-hover-color: var(--si-primary);
    --si-dropdown-link-active-color: var(--si-primary-active);
    --si-dropdown-link-disabled-color: var(--si-primary-hover);
    --si-dropdown-header-color: var(--si-danger);
}

.navbar {
  --si-navbar-color: var(--si-dark);
  --si-navbar-hover-color: var(--si-primary);
  --si-navbar-disabled-color: var(--si-primary-hover);
  --si-navbar-active-color: var(--si-primary-active);
  --si-navbar-brand-padding-y: 0rem;
  --si-navbar-brand-margin-end: 1rem;
  --si-navbar-brand-font-size: 1.375rem;
  --si-navbar-brand-color: var(--si-dark);
  --si-navbar-brand-hover-color: var(--si-primary);	
}

.nav {
  --si-nav-link-color: var(--si-nav-link-color);
  --si-nav-link-hover-color: var(--si-nav-link-hover-color);
  --si-nav-link-disabled-color: var(--si-nav-link-disabled-color);
}

.nav-item:hover, .nav-item:focus,
.nav-link:hover, .nav-link:focus {
    color: var(--si-primary);
}

[data-bs-theme=dark] .bg-light:not(.badge), [data-bs-theme=dark] .card.card-hover.bg-light {
    background-color: var(--si-body-bg) !important;
}

[data-bs-theme=dark] .nav:not([data-bs-theme=light]) {
    --si-nav-link-hover-color: var(--si-light);
    --si-nav-link-color: rgba(var(--si-light-rgb), 0.85);
    --si-nav-link-active-color: var(--si-light);
    --si-nav-link-disabled-color: rgba(var(--si-light-rgb), 0.4);
}

[data-bs-theme=dark] .navbar:not([data-bs-theme=light]) {
	--si-navbar-stuck-bg: var(--si-dark);
	--si-navbar-brand-color: var(--si-light);
	--si-navbar-brand-hover-color: var(--si-light);
	--si-navbar-toggler-color: rgba(var(--si-light-rgb), 0.85);
	--si-navbar-color: rgba(var(--si-light-rgb), 0.85);
	--si-navbar-hover-color: var(--si-light);
	--si-navbar-disabled-color: rgba(var(--si-light-rgb), 0.4);
	--si-navbar-active-color: var(--si-light);
}

.dropdown-menu-dark,
[data-bs-theme=dark] .dropdown-menu:not([data-bs-theme=light]) {

	--si-dropdown-color: rgba(var(--si-light-rgb), 0.85);
	--si-dropdown-bg: linear-gradient(0deg, rgba(var(--si-light-rgb), 0.03), rgba(var(--si-light-rgb), 0.03)), var(--si-dark);
	--si-dropdown-border-color: rgba(var(--si-light-rgb), 0.4);

	--si-dropdown-link-color: rgba(var(--si-light-rgb), 0.85);
	--si-dropdown-link-hover-color: var(--si-light);
	--si-dropdown-link-active-color: var(--si-light);

	--si-dropdown-link-hover-bg: transparent;
	--si-dropdown-link-active-bg: transparent;

	--si-dropdown-link-disabled-color: rgba(var(--si-light-rgb), 0.4);
	--si-dropdown-divider-bg: rgba(var(--si-light-rgb), 0.14);
	--si-dropdown-header-color: var(--si-light);
	
    --si-nav-link-hover-color: var(--si-light);
    --si-nav-link-color: rgba(var(--si-light-rgb), 0.85);
    --si-nav-link-active-color: var(--si-light);
    --si-nav-link-disabled-color: rgba(var(--si-light-rgb), 0.4);
}

.nav-tabs {
  --si-nav-tabs-link-active-color: var(--si-light);
  --si-nav-tabs-link-active-bg: var(--si-primary);
}

.nav-tabs {
  --si-nav-tabs-link-bg: rgba(var(--si-secondary-rgb), 0.30);
  --si-nav-tabs-link-hover-bg: rgba(var(--si-dark-rgb), 0.12);
  --si-nav-tabs-link-disabled-bg: var(--si-gray-200);
  --si-nav-tabs-link-color: var(--si-btn-secondary-color);
  --si-nav-tabs-link-hover-color: var(--si-primary);
  --si-nav-tabs-link-disabled-color: var(--si-gray-500);
}

[data-bs-theme=dark] .nav-tabs:not([data-bs-theme=light]) {
    --si-nav-tabs-link-bg: rgba(var(--si-secondary-rgb), 0.10);
    --si-nav-tabs-link-hover-bg: rgba(var(--si-secondary-rgb), 0.20);
    --si-nav-tabs-link-active-bg: var(--si-primary);
    --si-nav-tabs-link-disabled-bg: var(--si-gray-200);
    --si-nav-tabs-link-color: rgba(255, 255, 255, 0.85);
    --si-nav-tabs-link-hover-color: var(--si-light);
    --si-nav-tabs-link-active-color: #fff;
    --si-nav-tabs-link-disabled-color: var(--si-gray-500);
}

.navbar-brand {
  word-break: break-word;
  white-space: normal;
}

/**********************************************/
/***************** Switcher ******************/
/********************************************/

.form-switch .form-check-input:checked {
  background-color: var(--si-primary);
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-primary-rgb), 0.9);
}

.form-switch.mode-switch .form-check-input, .form-switch.price-switch .form-check-input {
  background-color: var(--si-primary);
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-primary-rgb), 0.9);
}

[data-bs-theme=dark] .form-switch:not([data-bs-theme=light]).mode-switch .form-check-input, [data-bs-theme=dark] .form-switch:not([data-bs-theme=light]).price-switch .form-check-input {
  background-color: var(--si-primary) !important;
}


/**********************************************/
/***************** Suche *********************/
/********************************************/

.bx-search {
	color: var(--si-bx-search-color);
}

/**********************************************/
/***************** Backgrounds ***************/
/********************************************/

.bg-secondary {
    background-color: var(--si-secondary-bg-light) !important;
}

.bg-gradient-primary {
  background: linear-gradient(90deg, var(--si-gradient-1) 0%, var(--si-gradient-2) 50%, var(--si-gradient-3) 100%) !important;
}

.bg-gradient-primary-translucent {
  background: linear-gradient(180deg, rgba(var(--si-primary-rgb), 0) 0%, rgba(var(--si-primary-rgb), 0.6) 120%) !important;
}


section .bg-light {
    background-color: var(--si-secondary-bg-light) !important;
}

[data-bs-theme="dark"] section .bg-light:not(.badge) {
    background-color: rgba(var(--si-light-rgb), 0.07) !important;
}


.steps {
--si-steps-number-bg: var(--si-secondary) !important;
--si-steps-number-inner-bg: var(--si-light) !important;	
	}

[data-bs-theme=dark] .steps:not([data-bs-theme=light]) {
  --si-steps-number-bg: var(--si-dark) !important;
  --si-steps-number-inner-bg: rgba(var(--si-light-rgb), 0.04) !important;
}

/**********************************************/
/***************** Text **********************/
/********************************************/

.text-primary {
  color: var(--si-primary) !important;
}

.text-secondary {
  color: var(--si-secondary) !important;
}

.text-gradient-primary {
  background: linear-gradient(to right, var(--si-gradient-1), var(--si-gradient-2), var(--si-gradient-3)); !important;
  -webkit-background-clip: text !important;
  -webkit-text-fill-color: transparent !important;

}

.text-success {
  color: var(--si-success) !important;
}

.text-info {
  color: var(--si-info) !important;
}

.text-warning {
  color: var(--si-warning) !important;
}

.text-danger {
  color: var(--si-danger) !important;
}

.text-light {
  color: var(--si-light) !important;
}

.text-dark {
  color: var(--si-dark) !important;
}

.text-white {
  color: var(--si-white) !important;
}

.bg-primary h1, 
.bg-primary h2,
.bg-primary h3,
.bg-primary h4,
.bg-primary h5,
.bg-primary h6 {
    color: var(--si-heading-color2) !important;
}

.bg-gradient-primary h1, 
.bg-gradient-primary h2,
.bg-gradient-primary h3,
.bg-gradient-primary h4,
.bg-gradient-primary h5,
.bg-gradient-primary h6 {
    color: var(--si-heading-color2) !important;
}

.bg-primary p {
    color: var(--si-body-color2) !important;
}

.bg-primary .image-caption {
    color: var(--si-heading-color2) !important;
}

.bg-gradient-primary .image-caption {
    color: var(--si-heading-color2) !important;
}

.bg-gradient-primary p {
    color: var(--si-body-color2) !important;
}

.bg-primary ul {
    color: var(--si-body-color2) !important;
}

.bg-gradient-primary ul {
    color: var(--si-body-color2) !important;
}

.bg-primary ul i {
    color: var(--si-heading-color2) !important;
}

.bg-gradient-primary ul i {
    color: var(--si-heading-color2) !important;
}


.bg-primary .card {
	background-color: var(--si-secondary-bg2) !important;
	--si-card-border-color: var(--si-card-border-color2) !important;
}

.bg-gradient-primary .card {
	background-color: var(--si-secondary-bg2) !important;
	--si-card-border-color: var(--si-card-border-color2) !important;
}

.bg-primary .btn-primary {
	--si-btn-bg: var(--si-primary2);
    --si-btn-border-color: var(--si-primary2);
    --si-btn-hover-color: var(--si-primary-hover2);
    --si-btn-hover-bg: var(--si-primary-hover2);
    --si-btn-hover-border-color: var(--si-primary-hover2);
    --si-btn-active-bg: var(--si-primary-active2);
    --si-btn-active-border-color: var(--si-primary-active2);
}

.bg-gradient-primary .btn-primary {
	--si-btn-bg: var(--si-primary2);
    --si-btn-border-color: var(--si-primary2);
    --si-btn-hover-color: var(--si-primary-hover2);
    --si-btn-hover-bg: var(--si-primary-hover2);
    --si-btn-hover-border-color: var(--si-primary-hover2);
    --si-btn-active-bg: var(--si-primary-active2);
    --si-btn-active-border-color: var(--si-primary-active2);

}

.bg-primary .link-typ1 {
    --si-btn-border-color: rgba(var(--si-light-rgb), 0.45);
    --si-btn-hover-border-color: rgba(var(--si-light-rgb), 0.9);
}	

.bg-primary .link-typ1:hover {
	background-color: var(--si-light);
	color: var(--si-primary);
}

.bg-gradient-primary .link-typ1 {
    --si-btn-border-color: rgba(var(--si-light-rgb), 0.45);
    --si-btn-hover-border-color: rgba(var(--si-light-rgb), 0.9);
}	

.bg-gradient-primary .link-typ1:hover {
	background-color: var(--si-light);
	color: var(--si-primary);
}

.bg-primary .btn-link {
  --si-btn-color: var(--si-light);
  --si-btn-hover-color: rgba(var(--si-light-rgb), 0.08);
}	

.bg-gradient-primary .btn-link {
  --si-btn-color: var(--si-light);
  --si-btn-hover-color: rgba(var(--si-light-rgb), 0.08);
}	

.bg-primary p a {
  color: var(--si-light);
}

.bg-gradient-primary p a {
  color: var(--si-light);
}

.bg-primary p a:hover {
  color: rgba(var(--si-light-rgb), 0.08);
}	

.bg-gradient-primary p a:hover {
  color: rgba(var(--si-light-rgb), 0.08);
}

.bg-primary ul li::marker {
    color: var(--si-light);
}

.bg-gradient-primary ul li::marker {
    color: var(--si-light);
}


.bg-primary .text-muted {
    color: var(--si-gray-400) !important;
}

.bg-gradient-primary .text-muted {
    color: var(--si-gray-400) !important;
}

/**********************************************/
/***************** Listen ********************/
/********************************************/


ul li::marker {
    color: var(--si-primary);
}



/**********************************************/
/***************** Class Landingpage / Schwerpunktseiten *****************/
/********************************************/


.landingpage .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: center;
}

.landingpage .frame-layout-0, .landingpage .frame-layout-4, .landingpage .frame-layout-40 {
   
}

.landingpage section .bg-light {
border-radius: var(--si-border-radius-lg) !important;
box-shadow: 0 0.275rem 0.75rem -0.0625rem rgba(var(--si-dark-rgb), 0.06), 0 0.125rem 0.4rem -0.0625rem rgba(var(--si-dark-rgb), 0.03) !important;
padding: 1.5rem !important;	
}

.landingpage section ul {
    list-style: none;
    padding-left: 0;
}

.landingpage section ul li {
    position: relative;
    padding-left: 1.6rem;
}

.landingpage section ul li::marker {
    display: none;
}

.landingpage section ul li::before {
    content: "\f058";
    font-family: "FontAwesome"; /* je nach Version */
    font-weight: 900;                   /* wichtig für solid Icons */
    color: var(--si-primary);
    position: absolute;
    left: 0;
    top: 0.15rem;
}

.align-center {
    text-align: center !important;
}

/**********************************************/
/***************** Newsimage *****************/
/********************************************/

.news-latest-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/**********************************************/
/****** Videoplayer, YT Playbutton ***********/
/********************************************/

.btn-video {
    --si-btn-video-bg: var(--si-white);
    --si-btn-video-hover-bg: var(--si-primary);
    --si-btn-video-color: var(--si-primary);
    --si-btn-video-white-color: var(--si-primary);
    --si-btn-video-hover-color: var(--si-white);
    --si-btn-video-border-radius: 50%;
    --si-btn-video-shadow: 0 0.275rem 0.75rem -0.0625rem rgba(11, 15, 25, 0.06), 0 0.125rem 0.4rem -0.0625rem rgba(11, 15, 25, 0.03);
    --si-btn-video-hover-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-primary-rgb), 0.9);
    padding-left: 0.125rem;
    color: var(--si-btn-video-color) !important;
    background-color: var(--si-btn-video-bg);
    border: 0;
    border-radius: 50%;
    box-shadow: var(--si-btn-video-shadow);
}

.clipbox video {
  border-radius: var(--si-border-radius-lg);
  box-shadow: 
    0 0.3rem 1.525rem -0.375rem rgba(var(--si-dark-rgb), 0.1),
    0 0.25rem 0.8125rem -0.125rem rgba(var(--si-dark-rgb), 0.06);
}


video, .emasters_video .vjs-tech, .vjs-default-skin {
    position: relative !important;
}

.emasters_video video {
    height: auto;
}
.vjs-tech {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
	
	box-shadow: 0 0.3rem 1.525rem -0.375rem rgba(var(--si-dark-rgb), 0.1), 0 0.25rem 0.8125rem -0.125rem rgba(var(--si-dark-rgb), 0.06) !important;
	border-radius: var(--si-border-radius-lg) !important;
}

.vjs-poster {
    bottom: auto !important;
	
}

.vjs-default-skin .vjs-big-play-button {    
    border: 0!important;
}

.vjs-default-skin .vjs-big-play-button:before {
    color: var(--si-light) !important;
	text-shadow: 0 !important;
}


.vjs-default-skin .vjs-control-bar {
    CONTAIN-INTRINSIC-BLOCK-SIZE: AUTO 100PX;
    display: none;
    position: absolute;
    bottom: 20px !important; 
    left: 10px !important;
    right: 10px !important;
    height: 3.0em;
	
    background-color: rgba(var(--si-dark-rgb), 0.3); !important;
	border-radius: 0 0 var(--si-border-radius-lg) var(--si-border-radius-lg);
}

.vjs-default-skin .vjs-load-progress {
	border-radius: var(--si-border-radius-lg) var(--si-border-radius-lg) 0 0;
}

.vjs-default-skin .vjs-play-progress {
    background: var(--si-primary)!important; url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat;
	border-radius: var(--si-border-radius-lg) 0 0 0;
	
}

.vjs-default-skin .vjs-slider {
    border-radius: var(--si-border-radius-lg) var(--si-border-radius-lg) 0 0;
}

.vjs-default-skin .vjs-volume-level {
    background: var(--si-primary)!important;
	url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAYAAAAGCAYAAADgzO9IAAAAP0lEQVQIHWWMAQoAIAgDR/QJ/Ub//04+w7ZICBwcOg5FZi5iBB82AGzixEglJrd4TVK5XUJpskSTEvpdFzX9AB2pGziSQcvAAAAAAElFTkSuQmCC) -50% 0 repeat;
}

.vjs-default-skin .vjs-slider-handle:before {
    content: "●"!important;
    line-height: 0.3!important;
    font-size: 2em!important;    
}

.playlist-components {
  width: 100%;
  display: flex;
  justify-content: center; 
  overflow: hidden;
  position: relative;
}

.playlist {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	position: relative;
	max-width: 100%;
}

.playlist ul {
	display: flex;
	flex-wrap: nowrap;
	gap: 10px;
	overflow-x: auto;
	overflow-y: hidden;
	padding: 10px;
	margin: 0;
	list-style: none;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	flex: 0 1 auto;
	min-width: 0;
	box-sizing: border-box;
}

.playlist ul::before,
.playlist ul::after {
	content: "";
	flex: 0 0 4px;
}

.playlist ul li {
  flex: 0 0 auto;
  border: 2px solid transparent;
  border-radius: 6px;
  padding: 2px;
  cursor: pointer;
  transition: transform 0.2s, border-color 0.2s;
}

.playlist ul li.active {
  border-color: #009fe3;
  transform: scale(1.05);
}

.playlist ul li img {
  display: block;
  width: 100px;
  height: 57px;
  object-fit: cover;
  border-radius: 4px;
}


.playlist button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: none;
  background: var(--si-light);
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 6px rgba(0,0,0,0.15);
}

.playlist button i {
  color: var(--si-dark);
  font-size: 18px;
}

.playlist ul li.active {
  border-color: var(--si-primary); 
  transform: scale(1.05);
}

.playlist button#prev { left: -50px; }
.playlist button#next { right: -50px; }

.playlist button:hover {
  background: var(--si-primary); 
}

.playlist button:hover i {
  color: var(--si-light);
}

.playlist ul::-webkit-scrollbar {
  height: 6px;
}

.playlist ul::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 3px;
}

.playlist ul::-webkit-scrollbar-track {
  background: transparent;
}

@media (max-width: 1200px) {
  .playlist ul { margin: 0 50px; }
  .playlist button#prev { left: 0; }
  .playlist button#next { right: 0; }
}

.csc-textpic-text .bodytextcontent {
  text-align: center;
  margin-top: 5px;
  margin-bottom: 10px;  
}

.tx-emasters-lib-uni-pi-video {
  position: relative !important;
}

.overlay {
  position: absolute;
  bottom: 120px;                  
  left: 50%;
  transform: translateX(-50%);
  width: 90%;
  max-width: 900px;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(4px);
  padding: 15px 20px;
  border-radius: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 50;
  border: 1px solid rgba(0,0,0,0.15);   
}

.overlay #oinhalt {
  display: flex;
  flex-direction: column;
}

.overlay #oheader {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 4px;
  color: #000;
}

.overlay #otext {
  font-size: 15px;
  font-weight: 400;
  color: #333;
}

#ologo img {
  max-height: 65px;
  width: auto;
  display: block;
}

@media (max-width: 600px) {
  .overlay {
    display: none;
  }
}

/**********************************************/
/***************** Schatten ******************/
/********************************************/

.shadow {
  box-shadow: 0 0.275rem 1.25rem rgba(var(--si-dark-rbg), 0.05), 0 0.25rem 0.5625rem rgba(var(--si-dark-rgb), 0.03) !important;
}

.shadow-sm {
  box-shadow: 0 0.275rem 0.75rem -0.0625rem rgba(var(--si-dark-rgb), 0.06), 0 0.125rem 0.4rem -0.0625rem rgba(var(--si-dark-rgb), 0.03) !important;
}

.shadow-lg {
  box-shadow: 0 0.3rem 1.525rem -0.375rem rgba(var(--si-dark-rgb), 0.1), 0 0.25rem 0.8125rem -0.125rem rgba(var(--si-dark-rgb), 0.06) !important;
}

.shadow-none {
  box-shadow: none !important;
}

.shadow-primary {
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-primary-rgb), 0.9) !important;
}

.shadow-secondary {
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-secondary-rgb), 0.15) !important;
}

.shadow-info {
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-info-rgb), 0.9) !important;
}

.shadow-success {
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-success-rgb), 0.9) !important;
}

.shadow-warning {
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-warning-rgb), 0.9) !important;
}

.shadow-danger {
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-danger-rgb), 0.9) !important;
}

.shadow-dark {
  box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-dark-rgb), 0.9) !important;
}

/********************************************************/
/***************** Buttons und Links *******************/
/******************************************************/

section .link-typ1 {
	--si-btn-padding-x: 1.25rem;
    --si-btn-padding-y: 0.475rem;
    --si-btn-font-family: ;
    --si-btn-font-size: 0.87rem;
    --si-btn-font-weight: 600;
    --si-btn-line-height: 1.6;
    --si-btn-color: var(--si-primary);
    --si-btn-bg: transparent;
    --si-btn-border-width: var(--si-border-width);
    --si-btn-border-color: rgba(var(--si-primary-rgb), 0.45);
    --si-btn-border-radius: var(--si-border-radius);
    --si-btn-hover-border-color: var(--si-btn-primary-color);
    --si-btn-box-shadow: unset;
    --si-btn-disabled-opacity: 0.65;
    --si-btn-focus-box-shadow: 0 0 0 0 rgba(var(--si-btn-focus-shadow-rgb), .5);
    display: inline-block;
    padding: var(--si-btn-padding-y) var(--si-btn-padding-x);
    font-family: var(--si-btn-font-family);
    font-size: var(--si-btn-font-size);
    font-weight: var(--si-btn-font-weight);
    line-height: var(--si-btn-line-height);
	border: var(--si-btn-border-width) solid var(--si-primary);
	border-color: var(--si-btn-border-color);
    border-radius: var(--si-btn-border-radius);
    color: var(--si-btn-color);
    text-align: start;
    text-decoration: none;    
    vertical-align: middle;
	display: inline-flex;
    align-items: center;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}	

section .link-typ1:hover {
	background-color: var(--si-primary-hover);
	border-color: var(--si-primary-hover);
	color: var(--si-light);
}

section .link-typ1::after {
    font-family: 'boxicons' !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    display: inline-block;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
    content: "\ed3b";
	font-size: 1.06rem !important;
	margin-left: 0rem !important;
	margin-right: 0.1rem !important;
}

[data-bs-theme=dark] 
 section .link-typ1 {	 
  --si-btn-color: var(--si-light);
  --si-btn-hover-border-color: var(--si-light); 
}

[data-bs-theme="dark"] section .link-typ1:hover {
  background-color: var(--si-primary-hover);
  border-color: var(--si-primary-hover);
  color: var(--si-light);
}

section .link-typ2 {
	--si-btn-padding-x: 1.25rem;
    --si-btn-padding-y: 0.475rem;
    --si-btn-font-family: ;
    --si-btn-font-size: 0.87rem;
    --si-btn-font-weight: 600;
    --si-btn-line-height: 1.6;
    --si-btn-color: var(--si-btn-primary-color);
    --si-btn-bg: var(--si-btn-primary-bg);
    --si-btn-border-width: var(--si-border-width);
    --si-btn-border-color: var(--si-btn-primary-border);
    --si-btn-border-radius: var(--si-border-radius);
    --si-btn-hover-border-color: var(--si-btn-primary-hover);
    --si-btn-box-shadow: unset;
    --si-btn-disabled-opacity: 0.65;
    --si-btn-focus-box-shadow: 0 0 0 0 rgba(var(--si-btn-focus-shadow-rgb), .5);
	box-shadow: 0 0.5rem 1.125rem -0.5rem rgba(var(--si-primary-rgb), 0.9);
    display: inline-block;
    padding: var(--si-btn-padding-y) var(--si-btn-padding-x);
    font-family: var(--si-btn-font-family);
    font-size: var(--si-btn-font-size);
    font-weight: var(--si-btn-font-weight);
    line-height: var(--si-btn-line-height);
	border: var(--si-btn-border-width) solid var(--si-primary);
	border-color: var(--si-btn-border-color);
    border-radius: var(--si-btn-border-radius);
    color: var(--si-btn-primary-color);
	background-color: var(--si-primary);
    text-align: start;
    text-decoration: none;    
    vertical-align: middle;
	display: inline-flex;
    align-items: center;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}	

section .link-typ2:hover {
	background-color: var(--si-primary-hover);
	color: var(--si-btn-primary-color);
	border-color: var(--si-primary-hover);
	box-shadow: unset;
}

section .link-typ2::after {
    font-family: 'boxicons' !important;
    font-weight: normal;
    font-style: normal;
    font-variant: normal;
    line-height: 1;
    text-rendering: auto;
    display: inline-block;
    text-transform: none;
    speak: none;
    -webkit-font-smoothing: antialiased;
    content: "\ed3b";
	font-size: 1.06rem !important;
	margin-left: 0rem !important;
	margin-right: 0.1rem !important;
}


a {
  color: rgba(var(--si-link-color-rgb), var(--si-link-opacity, 1));
  text-decoration: none;
	
}
a:hover {
  --si-link-color-rgb: var(--si-link-hover-color-rgb);
  text-decoration: none;
}

.btn-link {
  --si-btn-color: var(--si-link-color);
  --si-btn-hover-color: var(--si-link-hover-color);
  text-decoration: none;
  font-weight: bold;
}

.btn-primary {
  --si-btn-color: var(--si-btn-primary-color);
  --si-btn-bg: var(--si-btn-primary-bg);
  --si-btn-border-color: var(--si-btn-primary-border);
  --si-btn-hover-color: var(--si-btn-primary-color);
  --si-btn-hover-bg: var(--si-btn-primary-hover);
  --si-btn-hover-border-color: var(--si-btn-primary-hover);
  --si-btn-focus-shadow-rgb: var(--si-primary-rgb);
  --si-btn-active-color: var(--si-btn-primary-color);
  --si-btn-active-bg: var(--si-primary-active);
  --si-btn-active-border-color: var(--si-primary-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-btn-primary-color);
  --si-btn-disabled-bg: var(--si-primary-rgb, 0.5);
  --si-btn-disabled-border-color: var(--si-primary-rgb, 0.5);
}

.btn-primary:hover {
	color: var(--si-btn-primary-color);
    background-color: var(--si-primary-hover);
	border-color: var(--si-primary-hover);
}


.btn-outline-primary {
  --si-btn-color: var(--si-primary);
  --si-btn-border-color: rgba(var(--si-primary-rgb),0.45);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-primary-hover);
  --si-btn-hover-border-color: var(--si-primary-hover);
  --si-btn-focus-shadow-rgb: var(--si-primary-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-primary-active);
  --si-btn-active-border-color: var(--si-primary-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-primary);
  --si-btn-disabled-bg: transparent;
  --si-btn-disabled-border-color: var(--si-primary);
  --si-gradient: none;
}

[data-bs-theme=dark] 
  .btn-outline-primary {
  --si-btn-color: var(--si-light);
  --si-btn-hover-color: var(--si-light);
 
}

.btn-secondary {
  --si-btn-color: var(--si-btn-secondary-color);
  --si-btn-bg: var(--si-btn-secondary-bg);
  --si-btn-border-color: var(--si-btn-secondary-border);
  --si-btn-hover-color: var(--si-btn-secondary-color);
  --si-btn-hover-bg: var(--si-btn-secondary-hover);
  --si-btn-hover-border-color: var(--si-btn-secondary-hover);
  --si-btn-focus-shadow-rgb: var(--si-secondary-rgb);
  --si-btn-active-color: var(--si-btn-secondary-color);
  --si-btn-active-bg: var(--si-secondary-active);
  --si-btn-active-border-color: var(--si-secondary-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-btn-secondary-color);
  --si-btn-disabled-bg: var(--si-secondary-rgb, 0.5);
  --si-btn-disabled-border-color: var(--si-secondary-rgb, 0.5);
}

.btn-success {
  --si-btn-color: var(--si-light);
  --si-btn-bg: var(--si-success);
  --si-btn-border-color: var(--si-success);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-success-hover);
  --si-btn-hover-border-color: var(--si-success-hover);
  --si-btn-focus-shadow-rgb: var(--si-success-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-success-active);
  --si-btn-active-border-color: var(--si-success-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-light);
  --si-btn-disabled-bg: var(--si-success);
  --si-btn-disabled-border-color: var(--si-success);
}

.btn-outline-success {
  --si-btn-color: var(--si-success);
  --si-btn-border-color: var(--si-success);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-success);
  --si-btn-hover-border-color: var(--si-success-hover);
  --si-btn-focus-shadow-rgb: var(--si-success-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-success-active);
  --si-btn-active-border-color: var(--si-success-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-success);
  --si-btn-disabled-bg: transparent;
  --si-btn-disabled-border-color: var(--si-success);
  --si-gradient: none;
}

.btn-info {
  --si-btn-color: var(--si-light);
  --si-btn-bg: var(--si-info);
  --si-btn-border-color: var(--si-info);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-info-hover);
  --si-btn-hover-border-color: var(--si-info-hover);
  --si-btn-focus-shadow-rgb: var(--si-info-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-info-active);
  --si-btn-active-border-color: var(--si-info-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-light);
  --si-btn-disabled-bg: var(--si-info);
  --si-btn-disabled-border-color: var(--si-info);
}

.btn-outline-info {
  --si-btn-color: var(--si-info);
  --si-btn-border-color: var(--si-info);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-info);
  --si-btn-hover-border-color: var(--si-info-hover);
  --si-btn-focus-shadow-rgb: var(--si-info-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-info-active);
  --si-btn-active-border-color: var(--si-info-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-info);
  --si-btn-disabled-bg: transparent;
  --si-btn-disabled-border-color: var(--si-info);
  --si-gradient: none;
}

.btn-warning {
  --si-btn-color: var(--si-dark);
  --si-btn-bg: var(--si-warning);
  --si-btn-border-color: var(--si-warning);
  --si-btn-hover-color: var(--si-dark);
  --si-btn-hover-bg: var(--si-warning-hover);
  --si-btn-hover-border-color: var(--si-warning-hover);
  --si-btn-focus-shadow-rgb: var(--si-warning-rgb);
  --si-btn-active-color: var(--si-dark);
  --si-btn-active-bg: var(--si-warning-active);
  --si-btn-active-border-color: var(--si-warning-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-dark);
  --si-btn-disabled-bg: var(--si-warning);
  --si-btn-disabled-border-color: var(--si-warning);
}

.btn-outline-warning {
  --si-btn-color: var(--si-warning);
  --si-btn-border-color: var(--si-warning);
  --si-btn-hover-color: var(--si-dark);
  --si-btn-hover-bg: var(--si-warning);
  --si-btn-hover-border-color: var(--si-warning-hover);
  --si-btn-focus-shadow-rgb: var(--si-warning-rgb);
  --si-btn-active-color: var(--si-dark);
  --si-btn-active-bg: var(--si-warning-active);
  --si-btn-active-border-color: var(--si-warning-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-warning);
  --si-btn-disabled-bg: transparent;
  --si-btn-disabled-border-color: var(--si-warning);
  --si-gradient: none;
}

.btn-danger {
  --si-btn-color: var(--si-light);
  --si-btn-bg: var(--si-danger);
  --si-btn-border-color: var(--si-danger);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-danger-hover);
  --si-btn-hover-border-color: var(--si-danger-hover);
  --si-btn-focus-shadow-rgb: var(--si-danger-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-danger-active);
  --si-btn-active-border-color: var(--si-danger-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-light);
  --si-btn-disabled-bg: var(--si-danger);
  --si-btn-disabled-border-color: var(--si-danger);
}

.btn-outline-danger {
  --si-btn-color: var(--si-danger);
  --si-btn-border-color: var(--si-danger);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-danger);
  --si-btn-hover-border-color: var(--si-danger-hover);
  --si-btn-focus-shadow-rgb: var(--si-danger-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-danger-active);
  --si-btn-active-border-color: var(--si-danger-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-danger);
  --si-btn-disabled-bg: transparent;
  --si-btn-disabled-border-color: var(--si-danger);
  --si-gradient: none;
}

.btn-light {
  --si-btn-color: var(--si-dark);
  --si-btn-bg: var(--si-light);
  --si-btn-border-color: var(--si-light);
  --si-btn-hover-color: var(--si-dark);
  --si-btn-hover-bg: var(--si-light-hover);
  --si-btn-hover-border-color: var(--si-light-hover);
  --si-btn-focus-shadow-rgb: var(--si-light-rgb);
  --si-btn-active-color: var(--si-dark);
  --si-btn-active-bg: var(--si-light-active);
  --si-btn-active-border-color: var(--si-light-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-dark);
  --si-btn-disabled-bg: var(--si-light);
  --si-btn-disabled-border-color: var(--si-light);
}

.btn-dark {
  --si-btn-color: var(--si-light);
  --si-btn-bg: var(--si-dark);
  --si-btn-border-color: var(--si-dark);
  --si-btn-hover-color: var(--si-light);
  --si-btn-hover-bg: var(--si-dark-hover);
  --si-btn-hover-border-color: var(--si-dark-hover);
  --si-btn-focus-shadow-rgb: var(--si-dark-rgb);
  --si-btn-active-color: var(--si-light);
  --si-btn-active-bg: var(--si-dark-active);
  --si-btn-active-border-color: var(--si-dark-active);
  --si-btn-active-shadow: unset;
  --si-btn-disabled-color: var(--si-light);
  --si-btn-disabled-bg: var(--si-dark);
  --si-btn-disabled-border-color: var(--si-dark);
}

.btn-scroll-top {
	cursor: pointer;
}

main header #theme-mode {
	cursor: pointer;
}

/**********************************************/
/***************** Slider		 *************/
/********************************************/

.carousel-control-prev, .carousel-control-next {
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 5%;
}

/**********************************************/
/***************** Divide ********************/
/********************************************/

img-comparison-slider {
--divider-color: var(--si-primary);
}

.comparison-button {	
    width: 36px; 
    height: 36px; 
    background-color: var(--si-primary); 
    border-radius: 50%; 
    display: flex; 
    align-items: center; 
    justify-content: center;
	
}	

.comparison-button i {
	color: var(--si-light);	
}	
	
/**********************************************/
/***************** Cookie Banner *************/
/********************************************/

.cookie-wrapper {
	background: rgba(0, 0, 0, 0.75);
	box-shadow: 0 0 5px var(--si-gray);
	box-sizing: border-box;
	display: none;
	height: 100%;
	left: 0;
	overflow-y: auto;
	padding: 1.25em 1.5em;
	position: fixed;
	top: 0;
	-webkit-backface-visibility: hidden;
	width: 100%;
	z-index: 9999;
}

.cookie-content {
	background: var(--si-light);
	box-shadow: 0 0 5px var(--si-gray);
	border-radius: 10px;
	box-sizing: border-box;
	min-height: 20%;
	left: 50%;
	padding: 2em;
	position: absolute;
	top: 2em;
	transform: translateX(-50%);
	-webkit-overflow-scrolling: touch;
	width: 70%;
}

@media (max-width: 768px) {
	.cookie-content {
		width: calc(100% - 2rem);
		left: 1rem;
		right: 1rem;
		transform: none;
		padding: 1.25em;
		border-radius: 6px;
	}
}

.cookie-details-wrapper {
	align-items: center;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	-webkit-overflow-scrolling: touch;
}

.cookie-details-wrapper,
.cookie-innercontent,
.cookie-button {
	flex: 0 0 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.cookie-button {
	border: 0;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	margin: 1em 0;
	padding: 0;
	text-align: center;
	text-decoration: none;
	align-items: center;
	border-radius: 10px;
	background: var(--si-primary);
	color: var(--si-light);
	font-weight: bold;
	height: 50px;
	text-transform: uppercase;
}

.cookie-button-some {
	height: 50px;
}

#cookieButtonSome:target + .cookie-details {
	display: block;
}

.cookie-innercontent h2,
.cookie-details h2,
.cookie-details h3 {
	margin: 0.5em 0;
	padding: 15px 0;
}

.open-cookies {
	display: inline-block;
	margin: 0 0 1.5em;
}

.cookie-wrapper .open-cookies {
	display: none;
}

.cookie-content fieldset {
	border: none;
	margin: 0.5em 0;
	padding: 0.5em 1em;
}

.cookie-content fieldset:nth-child(odd), 
.cookie-list li:nth-child(odd) {
	background: var(--si-gray-100);
}

.cookie-content fieldset:nth-child(even), 
.cookie-list li:nth-child(even) {
	background: var(--si-gray-200);
}

.cookie-content .all-cookies {
	margin: 1.5em 0;
}

.cookie-content legend {
	box-sizing: border-box;
	display: block;
	font-weight: 700;
	width: 100%;
	color: var(--si-body-color);
}

.cookie-content label {
	align-items: center;
	box-sizing: border-box;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	margin: 0.5em 0;
	width: 100%;
	color: var(--si-body-color);
}

.cookietext {
	text-align: left;
	width: 100%;
	color: var(--si-body-color);
}

.cookie-text {
 font-size: 0.9rem;
}

.homepage-form input {
	box-shadow: none;
}

.cookie-element {
	box-sizing: border-box;
	display: block;
	color: var(--si-body-color);
}

ul ul .cookie-element {
	padding: 0 1em 0 0;
}

.cookie-checkbox {
	appearance: none;
	width: 50px;
	height: 24px;
	background: var(--si-gray-400);
	border-radius: 12px;
	position: relative;
	cursor: pointer;
	transition: background 0.3s ease-in-out;
}

.cookie-checkbox:checked {
	background: var(--si-primary);
}

.cookie-checkbox::before {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background: var(--si-light);
	border-radius: 50%;
	top: 2px;
	left: 2px;
	transition: transform 0.3s ease-in-out;
}

.cookie-checkbox:checked::before {
	transform: translateX(26px);
}

.cookie-info-wrapper {
	margin: 1em 0;
	color: var(--si-body-color);
}

.cookie-info-content {
	display:none;
}

.checkbox-description-text {
	box-sizing: border-box;
	display: block;
	margin: 0.5em 0 0;
	width:100%;
	color: var(--si-body-color);
}

.cookie-settings-wrapper {
	display: block;
	margin: 0 0 1.5em;
	position: relative;
}

.form-buttons {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem; /* Abstand zwischen den Buttons */
}

.dismiss-cookies.cookie-button,
.save-cookies.cookie-button,
.save-cookies-settings.cookie-button {
	flex: 1;           /* jeder Button gleich breit */
	min-width: 0;      /* verhindert Overflow */
	max-width: none;   /* hebt alte 100%-Regel auf */
	padding: 0.75em 1em; /* etwas saubereres Padding */
	box-sizing: border-box;
}


/* Mobile: Buttons untereinander */
@media (max-width: 480px) {
	.dismiss-cookies.cookie-button,
	.save-cookies.cookie-button,
	.save-cookies-settings.cookie-button {
		flex: 0 0 100%; /* volle Breite */
	}
}

@media (max-width: 480px) {

  /* Cookie-Content kompakt */
  .cookie-content {
    padding: 0.5em;
    border-radius: 6px;
    width: calc(100% - 1rem);
    left: 0.5rem;
    top: 1rem;
    transform: none;
  }

  /* Überschriften kleiner, minimaler Abstand */
  .cookie-innercontent h2,
  .cookie-details h2,
  .cookie-details h3 {
    font-size: 0.85rem;
    margin: 0.15em 0;
    padding: 0;
  }

  /* Fließtext kompakt */
  .cookie-text,
  .cookietext,
  .checkbox-description-text {
    font-size: 0.7rem;
    line-height: 1.1;
    margin: 0.05em 0;
  }

 

  /* Buttons untereinander volle Breite */
  .dismiss-cookies.cookie-button,
  .save-cookies.cookie-button,
  .save-cookies-settings.cookie-button {
    flex: 0 0 100%;
    margin: 0.25em 0;
    height: 40px;
    font-size: 0.75rem;
  }

  /* Listeneinträge kompakt */
  .cookie-list li {
    padding: 0.25em 0.25em;
    margin: 0.1em 0;
  }

  ul ul .cookie-element {
    padding-left: 0.2em;
  }
}

.dismiss-cookies.cookie-button {
	background: var(--si-primary);
	order: 3;
}

.save-cookies.cookie-button {
	background: var(--si-primary);
	order: 1;
}

.save-cookies.cookie-button:hover {
	color: var(--si-light);
	background: var(--si-gray-600);
	border: 1px solid var(--si-gray-600);
}

.cookie-list-link {
	background: var(--si-light);
	color: var(--si-gray-500);
	display: inline-block;
	height: 30px;
	right: 1em;
	overflow: hidden;
	position: absolute;
	text-decoration: none;
	text-indent: 0;
	top: 1em;
	z-index: 1;
}

.cookie-list-link:before {
    content: "weitere Informationen & individuelle Einstellungen";
    display: block;
    margin-top: 5px;
    text-align: center;
}

.cookie-list-link.cookie-list-active:before {
	content: "schließen";
}

.cookie-list {
	box-sizing: border-box;
	display: none;
	left: 0px;
	list-style:none;
	padding: 0;
	top: 0px;
	width: 100%;
	color: var(--si-body-color);
} 

.cookie-list li {
	margin: 0.25em 0;
	padding: 1em;
}

.cookie-list li ul {
	list-style:none;
	padding: 0;
}

.cookie-list li li:nth-child(odd),
.cookie-list li li:nth-child(even) {
	background: transparent;
	margin: 0;
	padding: 0.25em 0.25em 0.25em 0;
}

.cookie-icon-wrapper {
	background: rgba(11, 15, 25, 0.25);
	bottom: 1.25rem;
	padding: 0.5em 1em;
	border-radius: 10px;
	position: fixed;
	left: 1.25rem;
	z-index: 9998;
}

[data-bs-theme="dark"] .cookie-icon-wrapper {
    background: rgba(var(--si-light-rgb), 0.15);;
}


.cookie-icon-wrapper a {
cursor: pointer;	
}	

.cookie-icon-button {
	margin: 0;
	text-decoration: none;
	color: var(--si-light);
}

/**********************************************/
/***************** IM Banner *****************/
/********************************************/

.col-fix + a[id],
a[id] + .col-fix {
    display: contents !important;
}

.col-fix .ce-gallery,
.col-fix .ce-row,
.col-fix .ce-column,
.col-fix figure.image {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
}

.col-fix img {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    display: block !important;
}

/**********************************************/
/***************** Spinner *******************/
/********************************************/

.page-loading {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	-webkit-transition: all .4s .2s ease-in-out;
	transition: all .4s .2s ease-in-out;
	background-color: var(--si-light);
	opacity: 0;
	visibility: hidden;
	z-index: 9999;
}

[data-bs-theme="dark"] .page-loading {
	background-color: var(--si-dark);
}

.page-loading.active {
	opacity: 1;
	visibility: visible;
}

.page-loading-inner {
	position: absolute;
	top: 50%;
	left: 0;
	width: 100%;
	text-align: center;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	-webkit-transition: opacity .2s ease-in-out;
	transition: opacity .2s ease-in-out;
	opacity: 0;
}

.page-loading.active > .page-loading-inner {
	opacity: 1;
}

.page-loading-inner > span {
	display: block;
	font-size: 1rem;
	font-weight: normal;
	color: var(--si-gray);
}

[data-bs-theme="dark"] .page-loading-inner > span {
	color: var(--si-light);
	opacity: .6;
}

.page-spinner {
	display: inline-block;
	width: 2.75rem;
	height: 2.75rem;
	margin-bottom: .75rem;
	vertical-align: text-bottom;
	border: .15em solid var(--si-gray);
	border-right-color: transparent;
	border-radius: 50%;
	-webkit-animation: spinner .75s linear infinite;
	animation: spinner .75s linear infinite;
}

[data-bs-theme="dark"] .page-spinner {
	border-color: rgba(255,255,255,.4);
	border-right-color: transparent;
}

@-webkit-keyframes spinner {
	100% {
	  -webkit-transform: rotate(360deg);
	  transform: rotate(360deg);
	}
}

@keyframes spinner {
	100% {
	  -webkit-transform: rotate(360deg);
	  transform: rotate(360deg);
	}
}

/**********************************************/
/***************** News **********************/
/********************************************/

.news-latest-img {
	min-height: 254px !important;
}

/**********************************************/
/***************** SVG Weiß ******************/
/********************************************/

.svg-white {
    fill: var(--si-light);
}

/*************************************************************/
/***************** Social Media *****************************/
/***********************************************************/

.btn-telefon:hover, .btn-telefon:focus, .btn-telefon:active {
  color: #fff !important;
  background-color: #f79b1c !important;
  border-color: #f79b1c !important;
  box-shadow: 0 0.375rem 1.125rem -0.375rem rgba(247, 155, 28, 0.8) !important;
}

.btn-xing:hover, .btn-xing:focus, .btn-xing:active {
  color: #fff !important;
  background-color: #128c7e !important;
  border-color: #128c7e !important;
  box-shadow: 0 0.375rem 1.125rem -0.375rem rgba(18, 140, 126, 0.8) !important;
}

/*************************************************************/
/***************** Google Karte *****************************/
/***********************************************************/

.tx-hpkfe-pi-gmap .hpk_kon_gmap #hpk_map_canvas {
    position: relative;
    width: 100%;
    height: 500px;
    /* background: url('/pfad/zum/statikbild.jpg') center/cover no-repeat; */
}

.tx-hpkfe-pi-gmap .hpk_kon_gmap #hpk_map_canvas .map_hinweis_holder {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(0,0,0,0.45);
    color: #fff;
    text-align: center;
    padding: 20px;
}

.tx-hpkfe-pi-gmap .hpk_kon_gmap #hpk_map_canvas .map_hinweis_p {
    margin-bottom: 15px;
    font-size: 1rem;
}

.tx-hpkfe-pi-gmap .hpk_kon_gmap #hpk_map_canvas .map_hinweis_button {
    background: #fff;
    color: #000;
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    border-radius: 6px;
    font-size: 1rem;
}

/*************************************************************/
/***************** Accordion ********************************/
/***********************************************************/

.accordion_element {
    border-bottom: 1px solid #ddd;
    padding: 12px 0;
}

.tx-indexedsearch-rules {
	display: none;
}

.accordion_header a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #000;
    cursor: pointer;
    font-weight: 600;
}

.accordion_header i {
    margin-right: 10px;
    font-size: 16px;
    transition: transform 0.2s ease;
}

.accordion_header_content {
    font-size: 16px;
}

.accordion_content {
    padding: 10px 0 5px 30px;
    font-size: 15px;
    color: #333;
}

.accordion_element.active .accordion_content {
    display: block;
}

.accordion_element.active .accordion_header i.fa-plus {
    display: none;
}


/********************************************/
/***************** Video Header *************/
/********************************************/

.carousel-caption {
    position: absolute;
    right: 8%; !important;
    bottom: 1.25rem;
    left: 8%; !important;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
    color: var(--bs-carousel-caption-color);
    text-align: center;
}

.video-header {
    position: relative;
    overflow: hidden;
    height: 79vh;
}

@media (max-width: 1400px) {
    .video-header {
        height: 70vh;
    }
}

@media (max-width: 768px) {
    .video-header {
        height: 65vh;
    }
}

#cvideo-header.clipbox-header {
    position: relative;
    width: 100%;
    height: 100%;
}

#cvideo-header video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
}

.video-header .bg-gradient-dark-translucent {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
}

.video-header .clipbox-describe {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #fff;
    z-index: 3;
	width: 95%;
	max-width: 1000px;
}

.video-header .clipbox-describe h2 {
    font-size: 3.5rem;
    color: #fff;
    font-weight: 800;
    text-transform: uppercase;
    line-height: 1.3;
    margin-bottom: 1rem;
}

@media (max-width: 768px) {
    .video-header .clipbox-describe h2 {
        font-size: 1.8rem;
		line-height: 1.2;
    }
}

.video-header .clipbox-describe p {
        font-size: 1.4rem;
}

@media (max-width: 768px) {
    .video-header .clipbox-describe p {
        font-size: 0.9rem;
    }
}

.video-header .clipbox-describe p .fs-xl {
        font-size: 1.6rem !important;
}

@media (max-width: 768px) {
    .video-header .clipbox-describe p .fs-xl {
        font-size: 1.2rem !important;
    }
}

/**********************************************/
/***************** PDF Downloads *************/
/********************************************/

.ce-uploads {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-left: 0 !important;
  margin-left: 0 !important;	
}

.ce-uploads li {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 15px;
}

.ce-uploads li a img {
  display: block;
  width: 150px;
  height: auto;
  border: 1px solid #ddd;
  box-shadow: 0 2px 6px rgba(0,0,0,0.08);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.ce-uploads li div {
  text-align: start;
}

.ce-uploads-fileName {
  display: block;
  font-weight: 600;
  font-size: 1.2rem;
  margin-bottom: 4px;
}

.ce-uploads-fileName::before {
  content: "";
  display: inline-block;
  width: 1.3em;
  height: 1.3em;
  margin-right: 0.4em;
  vertical-align: middle;
  background-color: var(--si-primary);

  -webkit-mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 16.5l4-4h-3V3h-2v9.5H8l4 4zm-7 1v2h14v-2H5z"/></svg>') no-repeat center / contain;
  mask: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 16.5l4-4h-3V3h-2v9.5H8l4 4zm-7 1v2h14v-2H5z"/></svg>') no-repeat center / contain;
}

.ce-uploads-description {
  display: block;
  font-size: 0.85rem;
  margin-bottom: 4px;
}

.ce-uploads-filesize {
  display: block;
  font-size: 0.75rem;
  color: var(--si-gray);
}

@media (max-width: 600px) {
  .ce-uploads li {
    flex-direction: column;
  }

  .ce-uploads li a img {
    width: 100%;
    max-width: 280px;
  }
}




/**********************************************/
/***Landingpage / Schwerpunktseiten **********/
/********************************************/

.landingpage .row {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: flex-start;
    justify-content: center;
}


.landingpage section .bg-light {
border-radius: var(--si-border-radius-lg) !important;
box-shadow: 0 0.275rem 0.75rem -0.0625rem rgba(var(--si-dark-rgb), 0.06), 0 0.125rem 0.4rem -0.0625rem rgba(var(--si-dark-rgb), 0.03) !important;
padding: 1.5rem !important;	
}

.landingpage section ul {
    list-style: none;
    padding-left: 0;
}

.landingpage section ul li {
    position: relative;
    padding-left: 1.6rem;
}

.landingpage section ul li::marker {
    display: none;
}

.landingpage section ul li::before {
    content: "\f058";
    font-family: "FontAwesome";
    font-weight: 900;
    color: var(--si-primary);
    position: absolute;
    left: 0;
    top: 0.15rem;
}

.align-center {
    text-align: center !important;
}
