


#agendaBox ul {
   list-style-type: none;
}

#agendaBox ul.teaser-speaker li {
   float: left;
   margin-left: 0px;
}

#agendaBox ul.bulletsList {
   list-style-type: square;
}

#agendaBox .tab-heading {
	padding: 15px 15px;
}

#agendaBox .tab-pane.layout1 {
 padding:15px; 
}

#agendaBox .tab-pane {
 padding:0px; 
}

#agendaBox .panel {
    position: relative;
}

#agendaBox ul.nav-tabs li.nav-item a {
    color: inherit;
    text-decoration: none;
}

#agendaBox .panel-type-keynote h3 {
	font-weight: bold;
}

#agendaBox td.session-timing div {
	padding: 0px 20px;
	line-height: 1.2;
}

#agendaBox td .panel-heading,
 #agendaBox td .panel-heading div {
	font-size: 1.2rem;
}

#agendaBox td.session .panel {
	background-color: transparent;
	border: none;
	box-shadow: none;
}

#agendaBox td.session .panel > .panel-heading {
	background-color: transparent;
	border: none;
	box-shadow: none;
}

#agendaBox td.session-timing {
	width: 10%;
}

#agendaBox table.table-multitrack td.session-timing-for-coltotal-2 {
	width: 10%;
}

#agendaBox td.session-col-0,
 #agendaBox td.session-col-1 {
	width: 90%;
}

#agendaBox table.table-multitrack td.multitrack-session.session-coltotal-2 {
	width: 45%;
}

#agendaBox td.session-col-3 {
	width: 30%;
}

#agendaBox td.session-col-4 {
	width: 22.5%;
}

#agendaBox table.table-multitrack td.multitrack-session.session-colitem-0 {
	width: 90%;
}


#agendaBox td.session-colitem-12 {
	width: 60%;
}

#agendaBox td .panel-type-group > .panel-body {
	padding: 0px 0px;
	margin: 0px 0px;
}

#agendaBox td .panel-body ul,
 #agendaBox td .panel-body li {
	padding: 0px 0px;
	margin: 0px 0px;
}

#agendaBox td .panel-body li div {
	padding-right: 0px;
	padding-left: 0px;
}

#agendaBox .table .td-first {
	width: 100px;
}

#agendaBox .sessiontags {
	position: absolute;
	bottom: 5px;
	right: 20px;
}

#agendaBox .sessiontags li {
	float: left;
	font-size: 12px;
}

#agendaBox .sessiontags li::before {
	content: "\00a0|\00a0"
}

#agendaBox .sessiontags li:first-child::before {
	content: ""
}


#agendaBox .hero-unit.speakersbox {
	min-height: 200px;
	height: 200px;
	padding: 30px 30px;
}

#agendaBox .panel-title {
	display: block;
	font-weight: bold;
}

#agendaBox .panel-title.lvl-1 {
	text-transform: uppercase;
	display: block;
	font-weight: normal;
}

#agendaBox .table-mainonlygroup .panel-title {
	font-weight: normal;
}

#agendaBox .table-mainonlygroup .panel-title.lvl-1 {
	font-weight: bold;
}

#agendaBox .speakerName {
	display: block;
	font-size: 1.2em;
	font-weight: bold;
}

#agendaBox .speakerhead {
	text-decoration: underline;
}


/** Slider Definition **/
#agendaSlider-wrap{position: relative; margin: 0 auto; overflow: hidden; width: 100%; position: relative;}
#agendaSlider{list-style:none; margin-bottom: 0px; position: relative;}
#agendaSlider li{float: left; margin: 0 20px 0px 0 !important;}
#agendaSlider li a img{}

#agendaSlider .carousel-controls{margin: 0 auto; width: 100%;list-style:none;}
#agendaSlider .carousel-controls span {position:absolute;bottom:20px;font-size:40px;}

#agendaSlider .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right {
	top: -20%;
}


#agendaSlider li.withtextoverlay {
	overflow: hidden;
	position: relative;
}


#agendaSlider li.withtextoverlay div.caption {
  position: relative;
  right: 0;
  bottom: 0;
  left: 0;
  height: 35%;
  padding: 10px 10px;
  overflow: hidden;
  background: #333333;
  background: rgba(0, 0, 0, 0.75);
  font-size: 0.9em;
}

#agendaSlider li.withtextoverlay div.caption span {
	display: block;
	margin: 0x;
	padding: 0x;
	width: 100%;
	color: #fff;
}

#agendaSlider li.withtextoverlay div.caption span.company {
  display: block;
  height: 18px;
  overflow: hidden;
}


#agendaSlider li:hover {
    opacity: 0.5;
    transition: all 0.3s ease;
    position: relative;
}


/** SOCIAL SHARING BUTTONS **/

#agendaBox .socialsharing {
    position: relative;
}

#agendaBox .socialsharing ul {
    margin: 0;
    padding: 5px;
}

#agendaBox .socialsharing ul li {
    margin: 5px;
    list-style: none outside none;
    display: inline-block;
}

#agendaBox .socialsharing i {
    width: 40px;
    height: 40px;
    color: #FFF;
    background-color: #909AA0;
    font-size: 22px;
    text-align:center;
    padding-top: 12px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    -ms-transition: all ease 0.3s;
}

#agendaBox .socialsharing i:hover {
    color: #FFF;
    text-decoration: none;
    transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    -ms-transition: all ease 0.3s;
}

#agendaBox .socialsharing .fa-facebook:hover { /* round facebook icon*/
    background: #4060A5;
}

#agendaBox .socialsharing .fa-twitter:hover { /* round twitter icon*/
    background: #00ABE3;
}

#agendaBox .socialsharing .fa-google-plus:hover { /* round google plus icon*/
    background: #e64522;
}

#agendaBox .socialsharing .fa-github:hover { /* round github icon*/
    background: #343434;
}

#agendaBox .socialsharing .fa-pinterest:hover { /* round pinterest icon*/
    background: #cb2027;
}

#agendaBox .socialsharing .fa-linkedin:hover { /* round linkedin icon*/
    background: #0094BC;
}

#agendaBox .socialsharing .fa-flickr:hover { /* round flickr icon*/
    background: #FF57AE;
}

#agendaBox .socialsharing .fa-instagram:hover { /* round instagram icon*/
    background: #375989;
}

#agendaBox .socialsharing .fa-vimeo-square:hover { /* round vimeo square icon*/
    background: #83DAEB;
}

#agendaBox .socialsharing .fa-stack-overflow:hover { /* round stack overflow icon*/
    background: #FEA501;
}

#agendaBox .socialsharing .fa-dropbox:hover { /* round dropbox icon*/
    background: #017FE5;
}

#agendaBox .socialsharing .fa-tumblr:hover { /* round tumblr icon*/
    background: #3a5876;
}

#agendaBox .socialsharing .fa-dribbble:hover { /* round dribble icon*/
    background: #F46899;
}

#agendaBox .socialsharing .fa-skype:hover { /* round skype icon*/
    background: #00C6FF;
}

#agendaBox .socialsharing .fa-stack-exchange:hover { /* round stack exchange icon*/
    background: #4D86C9;
}

#agendaBox .socialsharing .fa-youtube:hover { /* round youtube icon*/
    background: #FF1F25;
}

#agendaBox .socialsharing .fa-xing:hover { /* round xing icon*/
    background: #005C5E;
}

#agendaBox .socialsharing .fa-rss:hover { /* round rss icon*/
    background: #e88845;
}

#agendaBox .socialsharing .fa-foursquare:hover { /* round foursquare icon*/
    background: #09B9E0;
}

#agendaBox .socialsharing .fa-youtube-play:hover { /* round youtube play button icon*/
    background: #DF192A;
}

#agendaBox ul.layout-agendaTeaserBox li, .schedule ol li {
	margin-left: 20px;
	margin-bottom: 3px;
}

#agendaBox ul.layout-agendaTeaserBox li {
	list-style: square;
}

/*
| 3.2. HOME PAGE SECTION: SPEAKERS CAROUSEL
|
| Some of the styles are not only for home page elements, but all
| are only for the speakers.
| _________________________________________________________________ */
#agendaBox  .speaker {
    margin-bottom: 40px;
}

#agendaBox .speaker.item {
    margin: 0;
}

#agendaBox .speaker span.name {
    font-size: 18px;
    line-height: 1em;
    margin: 5px 5px;
}

#agendaBox .speaker span.company {
    line-height: 1em;
    margin: 5px 5px;
    height: auto;
}

#agendaBox .speaker.featured:hover .speaker-name {
    color: #BC9F60;
}

#agendaBox .speaker.featured .speaker-name {
    color: #BC9F60;
}

#agendaBox .speaker.featured .read-more-link {
    color: #000;
}

#agendaBox .speaker .read-more-link {
    color: #BC9F60;
    display: none;
    height: 22px;
}

#agendaBox .speaker:hover .read-more-link {
    display: block;
    font-weight: bold;
    font-size: 14px;
    margin-left:5px;
}

#agendaBox .speaker:hover .speaker-about {
    display: none;
}

#agendaBox .speaker .read-more-link .readmore-icon {
    color: #BC9F60;
    font-size: 11px;
}

#agendaBox .speaker.featured .read-more-link .readmore-icon {
    color: #000;
}

#agendaBox .speaker .speaker-image {
    transition: all 0.3s ease;
    display: block;
    width: 100%;
    height: auto;
    position: relative;
}

#agendaBox .speaker .speaker-image:hover {
    opacity: 0.5;
    transition: all 0.3s ease;
    position: relative;
}

#agendaBox .speaker .speaker-about {
    font-size: 13px;
    margin-left:5px;
}

#agendaBox .speaker .exhibitor-info .content i {
    margin-right: 10px;
}

#agendaBox ul.shortformat {
	margin: 0;
	padding: 0;
}

#agendaBox ul.shortformat li {
	margin: 0;
	padding: 0;
	display: inline;
}


#agendaBox .card.speaker .card-header {
    min-height: 150px;
}

#agendaBox tr.col-cat-52 td.td-first div.panel-heading:after,
 #agendaBox tr.col-cat-54 td.td-first div.panel-heading:after {
  content: "";
  background-image:url('../../../_assets/a1a5c2feebcd9df6b4822eb8c1df5649/Images/240x60_premium.png');
  background-size: 100% 100%;
  display: inline-block;

  /*size */
  width:100px;
  height: 25px;

  /*if you want to change the position you can use margins or:*/
  position:relative;
  top:5px;
}

#agendaBox tr.col-cat-54 td.td-first div.panel-heading:after {
  background-image:url('../../../_assets/a1a5c2feebcd9df6b4822eb8c1df5649/Images/240x60_freemium.png');
}

#agendaBox tr.col-cat-589 td.td-first div.panel-heading:after {
  background-image:url('../../../_assets/a1a5c2feebcd9df6b4822eb8c1df5649/Images/240x60_mediathek.png');
}



@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {

	/* Force table to not be like tables anymore */
	#agendaBox table, #agendaBox thead, #agendaBox tbody, #agendaBox th, #agendaBox td, #agendaBox tr { 
		display: block; 
	}
	
	/* Hide table headers (but not display: none;, for accessibility) */
	#agendaBox thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	#agendaBox tr { border: 1px solid #ccc; }
	
	#agendaBox td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		width: auto !important;
	}
	
	#agendaBox td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
	}
	
}

/* ==========================================================================
   XMS VideoPlayer - Base Styles
   ========================================================================== */

.videoplayer {
    --vp-aspect-ratio: 16/9;
    --vp-max-width: 100%;
    --vp-columns: 3;
    --vp-gap: 1.5rem;
    --vp-play-btn-size: 4rem;
    --vp-play-btn-bg: rgba(0, 0, 0, 0.7);
    --vp-play-btn-color: #fff;
    --vp-card-bg: #fff;
    --vp-card-radius: 0.5rem;
    --vp-card-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* ==========================================================================
   Aspect Ratios
   ========================================================================== */

.ratio-16-9 {
    --vp-aspect-ratio: 16/9;
}

.ratio-1-1 {
    --vp-aspect-ratio: 1/1;
}

.ratio-9-16 {
    --vp-aspect-ratio: 9/16;
}

/* ==========================================================================
   Player Wrapper (Aspect Ratio Container with Cropping)
   ========================================================================== */

.videoplayer__player-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: var(--vp-aspect-ratio);
    overflow: hidden;
    background: #000;
}

.videoplayer__iframe {
    border: 0;
}

/* Standard 16:9 - no cropping needed */
.videoplayer__player-wrapper.ratio-16-9 .videoplayer__iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* 1:1 Square - horizontal cropping */
.videoplayer__player-wrapper.ratio-1-1 .videoplayer__iframe {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 177.78%; /* 16/9 = 1.7778 */
    height: 100%;
}

/* 9:16 Portrait - vertical cropping */
.videoplayer__player-wrapper.ratio-9-16 .videoplayer__iframe {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: 177.78%; /* 16/9 = 1.7778 */
}

/* Portrait container constraint */
.videoplayer--single.ratio-9-16 {
    max-width: 400px;
}

/* ==========================================================================
   Thumbnail
   ========================================================================== */

.videoplayer__thumbnail {
    position: relative;
    aspect-ratio: var(--vp-aspect-ratio);
    overflow: hidden;
    background: #1a1a1a;
}

.videoplayer__thumbnail-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.videoplayer__modal-trigger:hover .videoplayer__thumbnail-image {
    transform: scale(1.05);
}

.videoplayer__thumbnail-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 0.875rem;
    font-weight: 500;
}

.videoplayer__thumbnail-placeholder--youtube {
    background: linear-gradient(135deg, #ff0000 0%, #cc0000 100%);
}

.videoplayer__thumbnail-placeholder--vimeo {
    background: linear-gradient(135deg, #1ab7ea 0%, #0088cc 100%);
}

/* ==========================================================================
   Play Button Overlay
   ========================================================================== */

.videoplayer__play-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: var(--vp-play-btn-size);
    height: var(--vp-play-btn-size);
    background: var(--vp-play-btn-bg);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.2s ease, background-color 0.2s ease;
    pointer-events: none;
}

.videoplayer__play-button svg {
    width: 50%;
    height: 50%;
    margin-left: 4px; /* Optical centering of play icon */
    color: var(--vp-play-btn-color);
}

.videoplayer__modal-trigger:hover .videoplayer__play-button {
    transform: translate(-50%, -50%) scale(1.1);
    background: rgba(0, 0, 0, 0.9);
}

.videoplayer__modal-trigger:focus .videoplayer__play-button {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

/* ==========================================================================
   Modal Trigger
   ========================================================================== */

.videoplayer__modal-trigger {
    display: block;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.videoplayer__modal-trigger:focus {
    outline: none;
}

/* ==========================================================================
   Card Styles
   ========================================================================== */

.videoplayer__card {
    background: var(--vp-card-bg);
    border-radius: var(--vp-card-radius);
    overflow: hidden;
    box-shadow: var(--vp-card-shadow);
}

.videoplayer__card-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.videoplayer__card-body {
    padding: 1rem;
}

.videoplayer__card-title {
    margin: 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ==========================================================================
   Title (Single View)
   ========================================================================== */

.videoplayer--single .videoplayer__title {
    margin-top: 0.75rem;
    font-size: 1.125rem;
    font-weight: 600;
}

/* ==========================================================================
   Grid Layout (Legacy - now using Bootstrap row-cols)
   ========================================================================== */

.videoplayer__grid {
    display: grid;
    gap: var(--vp-gap);
}

/* Column configurations */
.cols-2 .videoplayer__grid {
    grid-template-columns: repeat(2, 1fr);
}

.cols-3 .videoplayer__grid {
    grid-template-columns: repeat(3, 1fr);
}

.cols-4 .videoplayer__grid {
    grid-template-columns: repeat(4, 1fr);
}

/* Responsive adjustments */
@media (max-width: 1199px) {
    .cols-4 .videoplayer__grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991px) {
    .cols-3 .videoplayer__grid,
    .cols-4 .videoplayer__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575px) {
    .cols-2 .videoplayer__grid,
    .cols-3 .videoplayer__grid,
    .cols-4 .videoplayer__grid {
        grid-template-columns: 1fr;
    }

    .videoplayer__card-body {
        padding: 0.75rem;
    }

    .videoplayer__card-title {
        font-size: 0.9375rem;
    }

    :root {
        --vp-gap: 1rem;
    }
}

/* ==========================================================================
   Error State
   ========================================================================== */

.videoplayer--error {
    padding: 1rem;
    background: #f8f9fa;
    border-radius: var(--vp-card-radius);
    text-align: center;
}

/* ==========================================================================
   Accessibility
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
    .videoplayer__thumbnail-image,
    .videoplayer__play-button {
        transition: none;
    }
}

/* High contrast mode */
@media (prefers-contrast: high) {
    .videoplayer__play-button {
        background: #000;
        border: 2px solid #fff;
    }

    .videoplayer__card {
        border: 1px solid currentColor;
    }
}

/* ==========================================================================
   Card Slider (Bootstrap 5 Carousel)
   ========================================================================== */

.videoplayer-slider {
    --slides-per-view: 3;
}

/* Carousel Controls - bessere Sichtbarkeit */
.carousel-control-prev,
.carousel-control-next {
    width: 3rem;
    opacity: 0.8;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
    opacity: 1;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
    width: 2rem;
    height: 2rem;
    background-color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    background-size: 50%;
}

/* Carousel Indicators */
.carousel-indicators {
    bottom: -2.5rem;
}

.carousel-indicators [data-bs-target] {
    background-color: var(--bs-secondary);
    opacity: 0.5;
}

.carousel-indicators .active {
    opacity: 1;
}

/* Spacing für Indicators */
.carousel {
    margin-bottom: 2rem;
}
/* PluginStyles AdServer */
/* AdvTeaser Stxyles */

.card-horizontal {
    display: flex;
    flex: 1 1 auto;
}

.teaserCardBox [class*="col-"] {
    margin-bottom: 1rem;
    padding-right: 0;
}

.teaserCardBox h5 {
    font-size: 1.15rem;
}

.teaserCardBox .row.itemlist .row {
    margin-right: 0 !important;
}

/* xms_consent — Fixed Bottom Consent Bar */

#xms-consent-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    background: #1a1a2e;
    color: #fff;
    box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.3);
    font-size: 0.875rem;
}

.xms-consent-bar__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.75rem 1.25rem;
}

.xms-consent-bar__main {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.xms-consent-bar__text {
    margin: 0;
    flex: 1;
    min-width: 200px;
    line-height: 1.4;
}

.xms-consent-bar__link {
    color: rgba(255, 255, 255, 0.8);
    text-decoration: underline;
}

.xms-consent-bar__link:hover {
    color: #fff;
}

.xms-consent-bar__actions {
    display: flex;
    gap: 0.5rem;
    flex-shrink: 0;
}

/* Settings Panel */
.xms-consent-bar__panel {
    border-top: 1px solid rgba(255, 255, 255, 0.15);
    margin-top: 0.75rem;
    padding-top: 0.75rem;
}

.xms-consent-bar__services {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 2rem;
    margin-bottom: 0.75rem;
}

.xms-consent-bar__service {
    min-width: 200px;
}

.xms-consent-bar__service label {
    display: flex;
    align-items: center;
    gap: 0.4rem;
    font-weight: 600;
    cursor: pointer;
    margin-bottom: 0.2rem;
}

.xms-consent-bar__service--locked label {
    cursor: default;
    opacity: 0.7;
}

.xms-consent-bar__service-desc {
    margin: 0;
    font-size: 0.8rem;
    opacity: 0.75;
    line-height: 1.3;
    padding-left: 1.4rem;
}

.xms-consent-bar__panel-actions {
    text-align: right;
}

/* Responsive */
@media (max-width: 576px) {
    .xms-consent-bar__main {
        flex-direction: column;
        align-items: flex-start;
    }

    .xms-consent-bar__actions {
        width: 100%;
        justify-content: flex-end;
    }
}

.contentincluder .carousel-inner {
	text-overflow:hidden;
}

.contentincluder .carousel-indicators li {
    background-color: #ece8e8;
}

.contentincluder .carousel-indicators li.active {
    background-color: #3973e6;
}


.contentincluder .carousel-control .carousel-control-icon {
    padding: 1rem;
    border-radius: 50%;
    font-size: 1rem;
    background-color: #ece8e8;
    box-shadow: 0 5px 10px 0 rgba(0,0,0,.1);
    transition: color .2s ease;
}

/** HORIZONTAL/Vertical TAB CONTENT *************************/
.contentincluder.tabcontent .tab-content {
    border: 1px solid #ddd;
    border-top-left-radius: 0px;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

.contentincluder.tabcontent .nav-tabs .nav-link {
    border: 1px solid #dee2e6;
}

/** HORIZONTAL TAB CONTENT *************************/
.contentincluder.horizontal-tabcontent .nav-tabs li.nav-item > a.active {
    border-color: #dee2e6 #fff #fff #dee2e6 ;
}

.contentincluder.horizontal-tabcontent .nav-tabs li.nav-item > a.active:last-child {
    border-color: #dee2e6 #dee2e6 #fff #dee2e6;
}


/** VERTICAL TAB CONTENT *************************/

.contentincluder.vertical-tabcontent .nav-tabs .nav-link {
    border-top-left-radius: .25rem;
    border-top-right-radius: 0rem;
}

.contentincluder.vertical-tabcontent .nav-tabs li.nav-item > a.active {
    border-color: #dee2e6 #fff #fff #dee2e6;
}

.contentincluder.vertical-tabcontent .nav-tabs li.nav-item > a.active:last-child {
    border-color: #dee2e6 #fff #dee2e6 #dee2e6;
}


.nav-tabs .nav-item.bg-tabs-item .nav-link, .nav-tabs .nav-item.bg-tabs-item .nav-link {
	background-color: #f2f2f2;
	color: #343A40;
	font-weight: bold;
	border-style: outset;
    padding: 1em 0 1em;
}

.nav-tabs .nav-item.bg-tabs-item .nav-link.active, .nav-tabs .nav-item.bg-tabs-item .nav-link.active {
	background-color: #0068a9;
	color: #FFFFFF;
	font-weight: bold;
	border-style: outset;
}

.megatab > .contentincluder.tabcontent:first-child .nav-item .nav-link {
    font-size: 1.8rem;
}

.megatab > .contentincluder.tabcontent:first-child .nav-item .nav-link.active {
    background-color: #7a7a80 !important;
}

.megatab > .contentincluder.tabcontent:first-child .tab-content .tab-pane.active {
    background-color: #7a7a80 !important;
}

/**
 * xms_crmweb — Conversion-Layer Styles
 *
 * Komponenten:
 *   - BlurGate   (#xms-blur-gate)
 *   - Modal      (#xms-conversion-modal)
 *   - StickyCta  (#xms-sticky-cta)
 *   - FooterCta  (.xms-footer-cta)
 *
 * Zustandssteuerung via JS (conversion.js) durch CSS-Klassen —
 * kein inline display:block/none ausser beim initialen overlay-Hide.
 */

/* === BLUR GATE ================================================ */

.xms-blur-gate {
    position: relative;
}

/* Inaktiv/Standard: kein Platz, kein visueller Effekt */
.xms-blur-gate:not(.xms-blur-gate--active) {
    height: 0;
    overflow: hidden;
}

/* Eingeloggt: komplett entfernen */
.xms-blur-gate--inactive {
    display: none !important;
}

/* Aktiv: z-index damit Gate über dem Artikeltext liegt (position via JS inline) */
.xms-blur-gate.xms-blur-gate--active {
    z-index: 10;
}

/* Overlay: Gradient mit fixen Pixelwerten (unabhängig von Gate-Höhe),
   padding-top schiebt CTA-Inhalt in den vollen Weiss-Bereich */
.xms-blur-gate__overlay {
    height: 100%;
    background: linear-gradient(
        to bottom,
        rgba(255, 255, 255, 0)   0px,
        rgba(255, 255, 255, 1)   160px
    );
    padding-top: 180px;
    padding-bottom: 40px;
    text-align: center;
}

.xms-blur-gate__inner {
    max-width: 480px;
    margin: 0 auto;
    padding: 0 16px;
}

.xms-blur-gate__headline {
    font-size: 1.2rem;
    font-weight: 600;
    margin-bottom: 1.25rem;
    color: #212529;
}

.xms-blur-gate__btn {
    display: block;
    max-width: 340px;
    margin: 0 auto .75rem;
}

.xms-blur-gate__register-mount {
    display: block;
    margin-bottom: .75rem;
}

.xms-blur-gate__login {
    display: block;
    margin-top: .75rem;
    font-size: .875rem;
    color: #6c757d;
    text-decoration: underline;
}

.xms-blur-gate__login:hover {
    color: #495057;
}


/* === CONVERSION MODAL ======================================== */

.xms-conversion-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 1050;
    align-items: center;
    justify-content: center;
}

.xms-conversion-modal--visible {
    display: flex;
}

.xms-conversion-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
    cursor: pointer;
}

.xms-conversion-modal__dialog {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 2rem;
    max-width: 480px;
    width: calc(100% - 2rem);
    box-shadow: 0 8px 32px rgba(0, 0, 0, .18);
    text-align: center;
}

.xms-conversion-modal__close {
    position: absolute;
    top: 1rem;
    right: 1rem;
    background: none;
    border: none;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 .25rem;
    color: #6c757d;
}

.xms-conversion-modal__close:hover {
    color: #212529;
}

.xms-conversion-modal__body {
    padding-top: .5rem;
}

.xms-conversion-modal__headline {
    font-size: 1.3rem;
    font-weight: 700;
    margin-bottom: .5rem;
    color: #212529;
}

.xms-conversion-modal__subline {
    color: #6c757d;
    margin-bottom: 1.5rem;
    font-size: .95rem;
}

.xms-conversion-modal__login {
    display: block;
    margin-top: .75rem;
    font-size: .875rem;
    color: #6c757d;
    text-decoration: underline;
}

.xms-conversion-modal__login:hover {
    color: #495057;
}


/* === STICKY CTA ============================================== */

.xms-sticky-cta {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
    border-top: 1px solid #dee2e6;
    box-shadow: 0 -2px 8px rgba(0, 0, 0, .08);
    z-index: 1040;
    padding: .6rem 0;
    transition: transform .25s ease;
}

.xms-sticky-cta--hidden {
    transform: translateY(110%);
    pointer-events: none;
}

.xms-sticky-cta__inner {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.xms-sticky-cta__text {
    flex: 1 1 auto;
    font-size: .9rem;
    color: #212529;
    font-weight: 500;
}

.xms-sticky-cta__actions {
    display: flex;
    align-items: center;
    gap: .75rem;
    flex-shrink: 0;
}

.xms-sticky-cta__login {
    font-size: .875rem;
    color: #6c757d;
    text-decoration: underline;
    white-space: nowrap;
}

.xms-sticky-cta__login:hover {
    color: #495057;
}

.xms-sticky-cta__close {
    background: none;
    border: none;
    font-size: 1.25rem;
    line-height: 1;
    cursor: pointer;
    padding: 0 .25rem;
    color: #6c757d;
    flex-shrink: 0;
}

.xms-sticky-cta__close:hover {
    color: #212529;
}

@media (max-width: 575px) {
    .xms-sticky-cta__text {
        flex-basis: 100%;
    }
}


/* === FOOTER CTA ============================================== */

.xms-footer-cta {
    background: #f8f9fa;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 1.75rem 1.5rem;
    margin: 2rem 0;
    text-align: center;
}

.xms-footer-cta__inner {
    max-width: 480px;
    margin: 0 auto;
}

.xms-footer-cta__headline {
    font-weight: 600;
    font-size: 1.1rem;
    margin-bottom: 1rem;
    color: #212529;
}

.xms-footer-cta__btn {
    display: inline-block;
}

.xms-footer-cta__login {
    display: block;
    margin-top: .75rem;
    font-size: .875rem;
    color: #6c757d;
    text-decoration: underline;
}

.xms-footer-cta__login:hover {
    color: #495057;
}

/* ==============================================
   XMS CTA Manager - CSS Styles
   Integration: Link in xms_systemext22
   Nur Farben, Schriften, Sonderformatierung
   Layout wird mit Bootstrap Grid realisiert
   ============================================== */

:root {
    --cta-primary: var(--bs-primary, #0d6efd);
    --cta-secondary: var(--bs-secondary, #6c757d);
    --cta-success: var(--bs-success, #198754);
    --cta-danger: var(--bs-danger, #dc3545);
    --cta-light: var(--bs-light, #f8f9fa);
    --cta-dark: var(--bs-dark, #212529);
    --cta-border: var(--bs-border-color, #dee2e6);
}

/* ==============================================
   ELEMENT: StatItem
   ============================================== */
.stat-value {
    font-size: 2.5rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--cta-primary);
}

.stat-value--prominent {
    font-size: 3.5rem;
}

.stat-label {
    font-size: 0.9rem;
    color: var(--cta-secondary);
}

.stat-icon {
    font-size: 2rem;
    color: var(--cta-primary);
}

.stat-item--bordered {
    border: 1px solid var(--cta-border);
    border-radius: 0.5rem;
    padding: 1.5rem 1rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

/* ==============================================
   ELEMENT: FeatureItem
   ============================================== */
.feature-icon {
    font-size: 2.5rem;
    color: var(--cta-primary);
}

.feature-title {
    font-size: 1.25rem;
    font-weight: 600;
}

/* ==============================================
   ELEMENT: StepItem
   ============================================== */
.step-number {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background-color: var(--cta-primary);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1.25rem;
    flex-shrink: 0;
}

.step-connector {
    width: 2px;
    background-color: var(--cta-border);
    min-height: 2rem;
    flex-grow: 1;
}

/* ==============================================
   ELEMENT: TestimonialItem
   ============================================== */
.testimonial-quote {
    font-size: 1.1rem;
    font-style: italic;
    line-height: 1.6;
}

.testimonial-avatar img {
    width: 60px;
    height: 60px;
    object-fit: cover;
    border-radius: 50%;
}

/* ==============================================
   ELEMENT: PackageItem
   ============================================== */
.package-card {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.package-card:hover {
    transform: translateY(-4px);
}

.package-card--featured {
    transform: scale(1.05);
    z-index: 1;
}

.package-card--featured:hover {
    transform: scale(1.05) translateY(-4px);
}

.price-value {
    font-size: 2.5rem;
    font-weight: 700;
}

.price-period {
    font-size: 1rem;
}

.package-badge {
    margin-top: -0.5rem;
}

@media (max-width: 991.98px) {
    .package-card--featured {
        transform: none;
    }
    .package-card--featured:hover {
        transform: translateY(-4px);
    }
}

/* ==============================================
   LAYOUT: Pro/Contra Columns
   ============================================== */
.procon-column--pro {
    background-color: rgba(25, 135, 84, 0.05);
    border: 1px solid rgba(25, 135, 84, 0.2);
    border-radius: 0.5rem;
}

.procon-column--con {
    background-color: rgba(220, 53, 69, 0.05);
    border: 1px solid rgba(220, 53, 69, 0.2);
    border-radius: 0.5rem;
}

/* ==============================================
   LAYOUT: CTA Banner Backgrounds
   ============================================== */
.cta-banner--dark {
    background-color: var(--cta-dark);
}

.cta-banner--primary {
    background-color: var(--cta-primary);
}

.cta-banner--light {
    background-color: var(--cta-light);
}

.cta-banner__bg {
    z-index: 0;
}

/* ==============================================
   LAYOUT: Section Backgrounds
   ============================================== */
.section--dark {
    background-color: var(--cta-dark);
    color: #fff;
}

.section--dark .text-muted {
    color: rgba(255, 255, 255, 0.7) !important;
}

.section--dark .stat-value {
    color: #fff;
}

.section--dark .stat-icon {
    color: rgba(255, 255, 255, 0.9);
}

.section--light {
    background-color: var(--cta-light);
}

.section--primary {
    background-color: var(--cta-primary);
    color: #fff;
}

.section--primary .text-muted {
    color: rgba(255, 255, 255, 0.8) !important;
}

/* ==============================================
   Responsive
   ============================================== */
@media (max-width: 991.98px) {
    .stat-value--prominent {
        font-size: 3rem;
    }
}

@media (max-width: 767.98px) {
    .stat-value {
        font-size: 2rem;
    }

    .stat-value--prominent {
        font-size: 2.5rem;
    }

    .step-connector {
        display: none;
    }
}

/* ==============================================
   LAYOUT: Image Cards (Themenschwerpunkte)
   ============================================== */

.topic-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
}

.topic-card {
    position: relative;
    border-radius: 0.75rem;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background-color: var(--cta-dark);
}

.topic-card__bg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease, filter 0.4s ease;
}

.topic-card:hover .topic-card__bg {
    transform: scale(1.04);
    filter: brightness(0.85);
}

.topic-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 100%
    );
}

.topic-card__content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 1.5rem;
}

.topic-card__link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.topic-card__link:hover {
    color: inherit;
    text-decoration: none;
}

.topic-card__label {
    display: inline-block;
    font-size: 0.7rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.7);
    margin-bottom: 0.35rem;
}

.topic-card__title {
    font-size: 1.55rem;
    font-weight: 700;
    line-height: 1.3;
    color: #fff;
    margin: 0;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.topic-card__text {
    font-size: 0.85rem;
    line-height: 1.45;
    color: rgba(255, 255, 255, 0.82);
    margin: 0.5rem 0 0;
}

.topic-card__btn {
    display: inline-block;
    margin-top: 0.85rem;
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding-bottom: 1px;
    transition: border-color 0.2s ease;
}

.topic-card__btn:hover {
    color: #fff;
    border-bottom-color: #fff;
    text-decoration: none;
}

/* ==============================================
   LAYOUT: ImageCards — Content Alignment
   ============================================== */

.topic-card--align-top .topic-card__content {
    bottom: auto;
    top: 0;
}

.topic-card--align-top .topic-card__overlay {
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 100%
    );
}

.topic-card--align-middle .topic-card__content {
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
}

.topic-card--align-middle .topic-card__overlay {
    background: rgba(0, 0, 0, 0.5);
}

@media (max-width: 991.98px) {
    .topic-cards {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 575.98px) {
    .topic-cards {
        grid-template-columns: 1fr;
    }

    .topic-card {
        aspect-ratio: 16 / 9;
    }
}

.tx-form {margin: 15px 15px; line-height:1.2rem; }
.tx-form fieldset {margin-top: 15px; margin-bottom:15px;}
.tx-form .actions {margin-top: 15px;}

.tx-form .confirmation-success {margin-top: 15px; margin-bottom:15px;}


.tx-form .loader {
  border: 16px solid #f3f3f3; /* Light grey */
  border-top: 16px solid #3498db; /* Blue */
  border-radius: 50%;
  width: 120px;
  height: 120px;
  animation: spin 2s linear infinite;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
/** CSS **/

#xmsSubscription .div-field-required label::after {
	content: " *";
}

#xmsSubscription label.checkbox,
#xmsSubscription label.multiple-checkbox,
#xmsSubscription label.radio,
#xmsSubscription label.multiple-radio {
	display: block;
	color: inherit;
	font-size: inherit;
}

#xmsSubscription label.radio,
#xmsSubscription label.multiple-radio {
	text-indent: -18px;
}

#footer .twt-list-timeline .twt-item {
    height: auto;
    min-height: auto;
    color: #000;
    padding: 0.8rem 0.8rem;
    text-transform: none;
    font-size: 0.8em;
    margin: 0;
}

#footer .list-group {
   border-radius: .25rem;
}

#footer ul.list-group li.twt-item p {
   margin: 0;
}

.widget-group.twt-list-timeline .widget-item [class*="col-"] {
    margin: 0;
}

.widget-group.twt-list-timeline .widget-item {
    padding-top: 1rem;
    padding-bottom: 1rem;
}

#footer .widget-group {
    padding: 0rem 0rem;
    border-radius: .25rem;
}

/* ============================================
   TYPO3 Adaptations — Prio 200
   Brücke zwischen Design System Tokens und TYPO3/Bootstrap HTML-Strukturen.
   Ergänzt Bootstrap (100) + Design System (110), wird von Projekt-CSS (700) überschrieben.
   ============================================ */

/* -----------------------------------------------
   Content Sections — OneColEvenOdd / Startseite
   Templates rendern <section id="slide{n}" class="content-section"> direkt in #page-main.
   odd/even-Background via CSS :nth-child auf section-Ebene (Full-Width).
----------------------------------------------- */
#page-main > section.content-section {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

#page-main > section.content-section:nth-child(odd) {
    background-color: var(--section-odd-bg, transparent);
}

#page-main > section.content-section:nth-child(even) {
    background-color: var(--section-even-bg, var(--neutral-100, #F5F5F5));
}

/* Content-Row — Bootstrap-Spaltenstruktur innerhalb einer Section */
.content-section .content-row {
    display: flex;
    flex-wrap: wrap;
}

/* -----------------------------------------------
   Content-Element Wrapper — {ctype}Box
   Basis-Spacing für alle Content-Element-Typen.
----------------------------------------------- */
[class$="Box"] {
    margin-bottom: 1.5rem;
}

[class$="Box"]:last-child {
    margin-bottom: 0;
}

/* Häufige CType-Klassen */
.textBox,
.textpicBox,
.imageBox {
    margin-bottom: 1.5rem;
}

.headerBox {
    margin-bottom: 1rem;
}

.listBox,
.tableBox {
    margin-bottom: 1.5rem;
}

.htmlBox,
.rawBox {
    margin-bottom: 1rem;
}

/* -----------------------------------------------
   Navbar — Design System Integration
   BS5: navbar-dark setzt nur Textfarbe (kein Background).
   Background + Spacing explizit via Token.
----------------------------------------------- */
.navbar {
    border-bottom: 1px solid var(--neutral-200, #E5E5E5);
}

/* Light-Navbar (kein bg-primary-dark) */
.navbar:not(.bg-primary-dark) {
    background-color: var(--neutral-0, #fff);
}

.navbar:not(.bg-primary-dark) .navbar-brand {
    color: var(--space-primary, #0a0f3d);
    font-weight: 600;
}

.navbar:not(.bg-primary-dark) .nav-link {
    color: var(--space-primary, #0a0f3d);
}

.navbar:not(.bg-primary-dark) .nav-link:hover,
.navbar:not(.bg-primary-dark) .nav-link:focus {
    color: var(--space-secondary, #E10098);
}

.navbar:not(.bg-primary-dark) .nav-link.active,
.navbar:not(.bg-primary-dark) .nav-link.parent-active {
    color: var(--space-secondary, #E10098);
    font-weight: 600;
}

/* Dark-Navbar + Footer (bg-primary-dark) — Background via Design Token
   Element-Typ erhöht Spezifität gegenüber .bg-primary-dark aus dem Design System */
.navbar.bg-primary-dark,
footer.bg-primary-dark {
    background-color: var(--space-primary-dark, #000033);
}

.bg-primary-dark .navbar-brand {
    color: var(--neutral-0, #fff);
    font-weight: 600;
}

.bg-primary-dark .nav-link {
    color: rgba(255, 255, 255, 0.85);
}

.bg-primary-dark .nav-link:hover,
.bg-primary-dark .nav-link:focus {
    color: var(--space-accent, #00D9FF);
}

.bg-primary-dark .nav-link.active,
.bg-primary-dark .nav-link.parent-active {
    color: var(--neutral-0, #fff);
    font-weight: 600;
}

.bg-primary-dark .navbar-toggler {
    border-color: rgba(255, 255, 255, 0.3);
}

.bg-primary-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2C 255%2C 255%2C 0.85%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Dropdown-Menü */
.bg-primary-dark .dropdown-menu {
    background-color: #fff;
}

.bg-primary-dark .dropdown-item {
    color: var(--space-primary, #0a0f3d);
}

.bg-primary-dark .dropdown-item:hover,
.bg-primary-dark .dropdown-item:focus {
    background-color: var(--neutral-100, #F5F5F5);
    color: var(--space-primary, #0a0f3d);
}

/* -----------------------------------------------
   Breadcrumb
----------------------------------------------- */
.breadcrumb-wrapper {
    padding: 0.5rem 0;
    background-color: var(--neutral-50, #FAFAFA);
    border-bottom: 1px solid var(--neutral-200, #E5E5E5);
}

/* -----------------------------------------------
   Sticky Footer — Footer immer am Seitenende
   body.xms-page: flex-column + min-height 100vh
   #page-main: flex-grow-1 via Bootstrap-Utility
----------------------------------------------- */
body.xms-page {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* -----------------------------------------------
   Footer
----------------------------------------------- */
footer {
    color: var(--neutral-200, #E5E5E5);
    flex-shrink: 0;
}

footer a,
footer .footer-link {
    color: var(--neutral-300, #D4D4D4);
    text-decoration: none;
}

footer a:hover,
footer .footer-link:hover {
    color: var(--space-accent, #00D9FF);
}

footer .network-link {
    color: var(--neutral-400, #A3A3A3);
    text-decoration: none;
    letter-spacing: 0.05em;
}

footer .network-link:hover {
    color: var(--space-accent, #00D9FF);
}

footer .footer-company {
    color: var(--neutral-100, #F5F5F5);
    font-size: 0.95rem;
}

/* -----------------------------------------------
   Image Positioning — fluid_styled_content textpic/image
   Übernommen aus xms_systemext22/Elements/content.css
----------------------------------------------- */
.image {
    display: block;
}

.image > img,
.image a > img {
    display: block;
    max-width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .image > img,
    .image a > img {
        margin: 0 auto;
    }
}

.image .caption {
    width: 100%;
    margin: 0 auto;
    padding: 1rem;
}

.img-wrap {
    max-width: 100%;
}

.col-image {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
}

/* Float-basierte Img-Positionierung */
.img-left .img-wrap  { float: left; }
.img-left .text      { clear: left; }
.img-right .img-wrap { float: right; }
.img-right .text     { clear: right; }

.img-beside-left figure.image,
.img-intext-left figure.image {
    float: left;
    margin-left: -15px;
    max-width: 50%;
    padding-left: 15px;
    padding-right: 0;
}

.img-beside-right figure.image,
.img-intext-right figure.image {
    float: right;
    margin-right: -15px;
    max-width: calc(50% + 30px);
    padding-left: 30px;
    padding-right: 15px;
}

.img-intext-left figure.image {
    padding-right: 30px;
    max-width: calc(50% + 30px);
}

.img-beside-left .text { padding-left: 30px; }

.img-beside-right,
.img-beside-left {
    overflow: hidden;
    zoom: 1;
}

.img-beside-right .text,
.img-beside-left .text {
    overflow: hidden;
    zoom: 1;
}

@media (max-width: 767px) {
    .img-beside-right .img-wrap,
    .img-beside-left .img-wrap {
        margin-left: -15px;
        margin-right: -15px;
        max-width: none;
        float: none;
    }
}

/* Caption-Positionierungen */
figure { position: relative; }

.caption {
    position: absolute;
    width: 100%;
    background-color: rgba(255,255,255,0.85);
}

.caption-bottom-center {
    bottom: 3rem;
    text-align: center;
    left: 0;
    right: 0;
    margin: 0 auto;
}

.caption-bottom-right {
    bottom: 3rem;
    text-align: center;
    right: 10%;
    margin-right: 0;
}

.caption-bottom-left {
    bottom: 3rem;
    text-align: center;
    left: 10%;
    margin-left: 0;
}

.caption-center { text-align: center; }
.caption-right  { text-align: right; }

@media (max-width: 992px) {
    .caption-bottom-right { right: 0; margin-right: auto; }
    .caption-bottom-left  { left: 0; margin-left: auto; }
}

@media (max-width: 518px) {
    .caption { position: relative; }
}

/* Uploads-Liste */
ul.uploads {
    list-style-type: none;
    margin-left: 0;
    padding-left: 0;
}
ul.uploads li.uploads-element img {
    margin-right: 1em;
}

/* -----------------------------------------------
   BC / Border Utilities
----------------------------------------------- */
.img-rounded,
.rounded-img { border-radius: 6px; }

.no-padding { padding: 0 !important; }

/* -----------------------------------------------
   Font-Size Utilities — .size-1 bis .size-5
   Redaktionell über tx_xms_extra_class nutzbar.
----------------------------------------------- */
.size-1 { font-size: 1.1rem; }
.size-2 { font-size: 1.3rem; }
.size-3 { font-size: 1.5rem; }
.size-4 { font-size: 1.7rem; }
.size-5 { font-size: 2rem; }

@media (min-width: 768px) {
    .size-1 { font-size: 1.3rem; }
    .size-2 { font-size: 1.5rem; }
    .size-3 { font-size: 2rem; }
    .size-4 { font-size: 3rem; }
    .size-5 { font-size: 3.5rem; }
}

/* Display-Utility — responsive Schriftgrößen */
.display-1 { font-size: 1.8rem; }
.display-2 { font-size: 1.5rem; }
.display-3 { font-size: 1.3rem; }
.display-4 { font-size: 1.1rem; }
.display-5 { font-size: 1rem; }

@media (min-width: 992px) {
    .display-1 { font-size: 3rem; }
    .display-2 { font-size: 2.5rem; }
    .display-3 { font-size: 2rem; }
    .display-4 { font-size: 1.5rem; }
    .display-5 { font-size: 1rem; }
}

/* -----------------------------------------------
   Width Utilities — .w-20 bis .w-80
   Redaktionell über tx_xms_extra_class nutzbar.
----------------------------------------------- */
.w-20 { min-width: 20%; max-width: 20%; }
.w-30 { min-width: 30%; max-width: 30%; }
.w-33 { min-width: 33%; max-width: 33%; }
.w-40 { min-width: 30%; max-width: 40%; }
.w-50 { min-width: 30%; max-width: 50%; }
.w-60 { min-width: 50%; max-width: 60%; }
.w-70 { min-width: 50%; max-width: 70%; }
.w-80 { min-width: 50%; max-width: 80%; }

@media (min-width: 992px) {
    .w-20 { width: 20%; }
    .w-30 { width: 30%; }
    .w-33 { width: 33%; }
    .w-40 { width: 40%; }
    .w-50 { width: 50%; }
    .w-60 { width: 60%; }
    .w-70 { width: 70%; }
    .w-80 { width: 80%; }
}

@media (max-width: 992px) {
    .w-20, .w-25, .w-30, .w-33, .w-40,
    .w-50, .w-60, .w-70, .w-75, .w-80 {
        margin-left: auto;
        margin-right: auto;
    }
}

@media (max-width: 576px) { .w-xs-grow { width: 100% !important; max-width: 100% !important; } }
@media (max-width: 768px) { .w-sm-grow { width: 100% !important; max-width: 100% !important; } }

/* -----------------------------------------------
   Max-Height Utilities — .h1/.mxh1 bis .h35/.mxh35
   Redaktionell über tx_xms_extra_class nutzbar.
----------------------------------------------- */
.h1,  .mxh1  { min-height: auto !important; height: 130px; overflow: hidden; }
.h15, .mxh15 { min-height: auto !important; height: 195px; overflow: hidden; }
.h2,  .mxh2  { min-height: auto !important; height: 260px; overflow: hidden; }
.h25, .mxh25 { min-height: auto !important; height: 325px; overflow: hidden; }
.h3,  .mxh3  { min-height: auto !important; height: 390px; overflow: hidden; }
.h35, .mxh35 { min-height: auto !important; height: 455px; overflow: hidden; }

/* -----------------------------------------------
   Spacing & Layout Utilities
----------------------------------------------- */
.p-normal { padding: 0.5rem; }

@media (min-width: 992px) {
    .p-normal { padding: 1.3rem; }
}

.horizontal-spacing * { margin-right: 0.3rem; }

.bold   { font-weight: bold; }
.normal { font-weight: normal; }

.valign-middle { vertical-align: middle; }

/* -----------------------------------------------
   Card Utilities — Hover-Effect, Overlay
----------------------------------------------- */
.card:active,
.card:hover {
    box-shadow: 0 4px 8px rgba(0,0,0,0.25), 0 2px 2px rgba(0,0,0,0.22);
}

.card-element { min-height: 100%; }

.card.with-overlay .card-img-overlay {
    background-color: rgba(77,82,87,0.4);
}

.card.with-overlay .card-img-overlay a {
    color: #fff;
    line-height: 1;
}

/* -----------------------------------------------
   Blockquote
----------------------------------------------- */
blockquote {
    background: #f9f9f9;
    border-left: 10px solid #ccc;
    margin: 1.5em 10px;
    padding: 0.5em 10px;
}

/* -----------------------------------------------
   Well — Bootstrap-3-Shim (BS5 hat kein .well mehr)
   Redaktionell als Zusatz-CSS-Klasse nutzbar.
----------------------------------------------- */
.well {
    padding: 1.2rem 2rem;
    background-color: var(--neutral-50, #FAFAFA);
    border: 1px solid var(--neutral-200, #E5E5E5);
    border-radius: 6px;
}

.well.border-light {
    border: solid .3rem #efefef;
}

.well.well-sm {
    padding: 0.6rem 1rem;
}

.well.well-lg {
    padding: 1.8rem 2.5rem;
}

/** Defaults + Resets */
.agendaLayout .div-track-list>div {
    margin-right: 0px !important;
}

.agendaLayout .div-track-list [class*="col-"] {
    margin: 0;
    padding: 0;
}

.agendaLayout .div-track-list>[class*="col-"],.agendaLayout .div-track-list .div-col-group>[class*="col-"] {
    margin-bottom: .8rem;
}

.agendaLayout .div-row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}


.agendaLayout .div-inner {
   padding: 15px 15px !important;
}

@media (min-width: 768px) {
.agendaLayout .div-inner .agenda-right {
   padding-left: 2rem !important;
}

.agendaLayout .div-col-talk .agenda-left {
   padding-left: 15px !important;
}
}

.agendaLayout .div-col-talk .div-inner,
 .agendaLayout .div-col-panel .div-inner,
 .agendaLayout .div-col-workshop .div-inner {
    box-shadow: 0 1px 15px rgb(0 0 0 / 18%) !important;
}

agendaLayout .div-inner .agenda-header {
    padding: 0px 0px 15px 0px;
}


.agendaLayout .div-inner .agenda-title {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid #ccc;
}

.agendaLayout .div-inner .agenda-timing {
    text-align: right;
}

.agendaLayout .div-inner .agenda-speaker-media {
   padding: 15px 0px 15px 0px;
}

.agendaLayout .div-inner .agenda-speaker-media img {
    object-fit: cover; 
}

.agendaLayout .div-track-list * {
    font-size: 1.2rem;
    line-height: 1.2;
}

.agendaLayout .agenda-groupheader-moderation,
  .agendaLayout .agenda-groupheader-moderation * {
    font-size: 0.875rem !important;
}

.agendaLayout .div-track-list .agenda-title, .agendaLayout .div-track-list .agenda-title * {
    font-size: 1.5rem;
}

.agendaLayout .div-col-break .agenda-title, .main2021Box .div-col-nonespeaker .agenda-title {
    font-size: 1.2rem;
    padding-bottom: 0;
    border: none;
}

.agendaLayout .div-inner .agenda-ctype {
    font-weight: 500;
}

.agendaLayout .div-preview .agenda-groupheader {
    font-size: 1.6rem;
    padding-bottom: 10px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 25px;
}

/** AgendaBox Speaker SingleView 2021 **/

.agendaLayout .agenda-floating-media {
  padding: .8rem;
  border: 1px solid #ccc;
}

.agendaLayout .agenda-speaker-promobox {
  padding-left: 15px;
}



/** AgendaBox Styles 2017 **/

#agendaBox .hero-unit.speakersbox,
 #agendaBox .jumbotron.speakersbox,
 #agendaBox .speakersbox {
	min-height: 200px;
	height: 200px;
	padding: 30px 30px;
	background-color: #efefef;
}

#agendaBox .panel-title {
	display: block;
}

#agendaBox .panel-title.lvl-1 {
	text-transform: uppercase;
	display: block;
}

#agendaBox .speakerName {
	display: block;
}

#agendaBox .speakerhead {
	text-decoration: underline;
}



#agendaBox table.layout1 div.tab-content div.tab-pane {
	height: auto;
}


#agendaBox .panel {
	padding: 0px 0px;
}


#agendaBox table.layout1 .nav {
	margin-bottom: 20px;
}

#agendaBox table.layout1 .nav.nav-pills,
 #agendaBox .nav.nav-pills li,
  #agendaBox .nav.nav-pills li a {
	margin-bottom: 0px !important;
}

#agendaBox table.layout1 .tab-pane {
	background-color: #00427a;
	color: #fff;
    border: 1px solid rgba(0,0,0,.125);
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem;
}

#agendaBox table.layout1 .tab-pane a { color: #fff; }

#agendaBox .nav-pills .nav-link {
    color: #fff;
    border-radius: 0rem;
}

#agendaBox .nav-pills .nav-link {
    background-color: #595b5d;
}

#agendaBox .nav-pills .nav-link.active {
    background-color: #00427a;
}

#agendaBox ul.nav-pills ~ div.tab-content {
    border: none;
}


#agendaBox ul {
   list-style-type: none;
}

#agendaBox .agenda-desc ul,
 #agendaBox ul.bulletsList {
    margin-left: 20px !important;
    margin-bottom: 15px !important;
    list-style-type: square;
}

#agendaBox ul.teaser-speaker li {
   float: left;
   margin-left: 0px;
}

#agendaBox .tab-heading {
	padding: 10px 0px;
}

#agendaBox .panel {
    position: relative;
}

#agendaBox .panel-type-keynote h3 {
	font-weight: none;
}

#agendaBox td.session .panel {
	background-color: transparent;
	border: none;
	box-shadow: none;
}

#agendaBox td.session .panel > .panel-heading {
	background-color: transparent;
	border: none;
	box-shadow: none;
}

#agendaBox td.session-col-timing {
	width: 10%;
}

#agendaBox td.session-col-0,
 #agendaBox td.session-col-1 {
	width: 90%;
}

#agendaBox td.session-col-2 {
	width: 45%;
}

#agendaBox td.session-col-3 {
	width: 30%;
}

#agendaBox td.session-col-4 {
	width: 22.5%;
}

#agendaBox td.session-colitem-12 {
	width: 60%;
}

/** Table Styles **/

#agendaBox .table .panel {
	margin-bottom: 2rem;
}

#agendaBox td .panel-type-group > .panel-body {
	padding: 0px 0px;
	margin: 0px 0px;
}

#agendaBox td .panel-body ul,
 #agendaBox td .panel-body li {
	padding: 0px 0px;
	margin: 0px 0px;
}

#agendaBox td .panel-body li div {
	padding-right: 0px;
	padding-left: 0px;
}

#agendaBox .table .td-first {
	width: 100px;
}

#agendaBox .sessiontags {
	position: absolute;
	bottom: 5px;
	right: 20px;
}

#agendaBox .sessiontags li {
	float: left;
	font-size: inherit;
}

#agendaBox .sessiontags li::before {
	content: "\00a0|\00a0"
}

#agendaBox .sessiontags li:first-child::before {
	content: ""
}





/** Slider Definition **/
#agendaSlider-wrap{position: relative; margin: 0 auto; overflow: hidden; width: 100%; position: relative;}
#agendaSlider{list-style:none; margin-bottom: 0px; position: relative;}
#agendaSlider li{float: left; margin: 0 20px 0px 0 !important;}
#agendaSlider li a img{}

#agendaSlider .carousel-controls{margin: 0 auto; width: 100%;list-style:none;}
#agendaSlider .carousel-controls span {position:absolute;bottom:20px;font-size:40px;}

#agendaSlider .carousel-control .icon-prev, .carousel-control .icon-next, .carousel-control .glyphicon-chevron-left, .carousel-control .glyphicon-chevron-right {
	top: -20%;
}


#agendaSlider li.withtextoverlay {
	overflow: hidden;
	position: relative;
}


#agendaSlider li.withtextoverlay div.caption {
  position: relative;
  right: 0;
  bottom: 0;
  left: 0;
  height: 35%;
  padding: 10px 10px;
  overflow: hidden;
  background: #333333;
  background: rgba(0, 0, 0, 0.75);
  font-size: 0.9em;
}

#agendaSlider li.withtextoverlay div.caption span {
	display: block;
	margin: 0x;
	padding: 0x;
	width: 100%;
	color: #fff;
}

#agendaSlider li.withtextoverlay div.caption span.company {
  display: block;
  height: 18px;
  overflow: hidden;
}


#agendaSlider li:hover {
    opacity: 0.5;
    transition: all 0.3s ease;
    position: relative;
}


/** SOCIAL SHARING BUTTONS **/

#agendaBox .socialsharing {
    position: relative;
}

#agendaBox .socialsharing ul {
    margin: 0;
    padding: 5px;
}

#agendaBox .socialsharing ul li {
    margin: 5px;
    list-style: none outside none;
    display: inline-block;
}

#agendaBox .socialsharing i {
    width: 40px;
    height: 40px;
    color: #FFF;
    background-color: #909AA0;
    font-size: 22px;
    text-align:center;
    padding-top: 12px;
    border-radius: 50%;
    -moz-border-radius: 50%;
    -webkit-border-radius: 50%;
    -o-border-radius: 50%;
    transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    -ms-transition: all ease 0.3s;
}

#agendaBox .socialsharing i:hover {
    color: #FFF;
    text-decoration: none;
    transition: all ease 0.3s;
    -moz-transition: all ease 0.3s;
    -webkit-transition: all ease 0.3s;
    -o-transition: all ease 0.3s;
    -ms-transition: all ease 0.3s;
}

#agendaBox .socialsharing .fa-facebook:hover { /* round facebook icon*/
    background: #4060A5;
}

#agendaBox .socialsharing .fa-twitter:hover { /* round twitter icon*/
    background: #00ABE3;
}

#agendaBox .socialsharing .fa-google-plus:hover { /* round google plus icon*/
    background: #e64522;
}

#agendaBox .socialsharing .fa-github:hover { /* round github icon*/
    background: #343434;
}

#agendaBox .socialsharing .fa-pinterest:hover { /* round pinterest icon*/
    background: #cb2027;
}

#agendaBox .socialsharing .fa-linkedin:hover { /* round linkedin icon*/
    background: #0094BC;
}

#agendaBox .socialsharing .fa-flickr:hover { /* round flickr icon*/
    background: #FF57AE;
}

#agendaBox .socialsharing .fa-instagram:hover { /* round instagram icon*/
    background: #375989;
}

#agendaBox .socialsharing .fa-vimeo-square:hover { /* round vimeo square icon*/
    background: #83DAEB;
}

#agendaBox .socialsharing .fa-stack-overflow:hover { /* round stack overflow icon*/
    background: #FEA501;
}

#agendaBox .socialsharing .fa-dropbox:hover { /* round dropbox icon*/
    background: #017FE5;
}

#agendaBox .socialsharing .fa-tumblr:hover { /* round tumblr icon*/
    background: #3a5876;
}

#agendaBox .socialsharing .fa-dribbble:hover { /* round dribble icon*/
    background: #F46899;
}

#agendaBox .socialsharing .fa-skype:hover { /* round skype icon*/
    background: #00C6FF;
}

#agendaBox .socialsharing .fa-stack-exchange:hover { /* round stack exchange icon*/
    background: #4D86C9;
}

#agendaBox .socialsharing .fa-youtube:hover { /* round youtube icon*/
    background: #FF1F25;
}

#agendaBox .socialsharing .fa-xing:hover { /* round xing icon*/
    background: #005C5E;
}

#agendaBox .socialsharing .fa-rss:hover { /* round rss icon*/
    background: #e88845;
}

#agendaBox .socialsharing .fa-foursquare:hover { /* round foursquare icon*/
    background: #09B9E0;
}

#agendaBox .socialsharing .fa-youtube-play:hover { /* round youtube play button icon*/
    background: #DF192A;
}

#agendaBox ul.layout-agendaTeaserBox li, .schedule ol li {
	margin-left: 20px;
	margin-bottom: 3px;
}

#agendaBox ul.layout-agendaTeaserBox li {
	list-style: square;
}

/*
| 3.2. HOME PAGE SECTION: SPEAKERS CAROUSEL
|
| Some of the styles are not only for home page elements, but all
| are only for the speakers.
| _________________________________________________________________ */
#agendaBox  .speaker {
    margin-bottom: 40px;
}

#agendaBox .speaker.item {
    margin: 0;
}

#agendaBox .speaker span.name {
    font-size: 18px;
    line-height: 1em;
    margin: 5px 5px;
}

#agendaBox .speaker span.company {
    line-height: 1em;
    margin: 5px 5px;
    height: auto;
}

#agendaBox .speaker.featured:hover .speaker-name {
    color: #BC9F60;
}

#agendaBox .speaker.featured .speaker-name {
    color: #BC9F60;
}

#agendaBox .speaker.featured .read-more-link {
    color: #000;
}

#agendaBox .speaker .read-more-link {
    color: #BC9F60;
    display: none;
    height: 22px;
}

#agendaBox .speaker:hover .read-more-link {
    display: block;
    font-weight: bold;
    font-size: 14px;
    margin-left:5px;
}

#agendaBox .speaker:hover .speaker-about {
    display: none;
}

#agendaBox .speaker .read-more-link .readmore-icon {
    color: #BC9F60;
    font-size: 11px;
}

#agendaBox .speaker.featured .read-more-link .readmore-icon {
    color: #000;
}

#agendaBox .speaker .speaker-image {
    transition: all 0.3s ease;
    display: block;
    width: 100%;
    height: auto;
    position: relative;
}

#agendaBox .speaker .speaker-image:hover {
    opacity: 0.5;
    transition: all 0.3s ease;
    position: relative;
}

#agendaBox .speaker .speaker-about {
    font-size: 13px;
    margin-left:5px;
}

#agendaBox .speaker .exhibitor-info .content i {
    margin-right: 10px;
}

.richspeakerBox #agendaBox div.speaker.media { }

#agendaBox .table-instyle-itemlist .speaker {
    margin-bottom: 180px;
}

@media 
only screen and (max-width: 760px),
(min-device-width: 768px) and (max-device-width: 1024px)  {

	/* Force table to not be like tables anymore */
	#agendaBox table, #agendaBox thead, #agendaBox tbody, #agendaBox th, #agendaBox td, #agendaBox tr { 
		display: block; 
	}
	
	/* Hide table headers (but not display: none;, for accessibility) */
	#agendaBox thead tr { 
		position: absolute;
		top: -9999px;
		left: -9999px;
	}
	
	#agendaBox tr { border: 1px solid #ccc; }
	
	#agendaBox td { 
		/* Behave  like a "row" */
		border: none;
		border-bottom: 1px solid #eee; 
		position: relative;
		width: auto !important;
	}
	
	#agendaBox td:before { 
		/* Now like a table header */
		position: absolute;
		/* Top/left values mimic padding */
		top: 6px;
		left: 6px;
		width: 45%; 
		padding-right: 10px; 
		white-space: nowrap;
	}


	
}

/* show 3 items */
@media (min-width: 768px) {
  .items-colwidth-4 .carousel-inner .active,
  .items-colwidth-4 .carousel-inner .active + .carousel-item,
  .items-colwidth-4 .carousel-inner .active + .carousel-item + .carousel-item {
    display: block;
  }

  .items-colwidth-4 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
  .items-colwidth-4 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item,
  .items-colwidth-4 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item {
    transition: none;
  }

  .items-colwidth-4 .carousel-inner .carousel-item-next,
  .items-colwidth-4 .carousel-inner .carousel-item-prev {
    position: relative;
    transform: translate3d(0, 0, 0);
  }

  .items-colwidth-4 .carousel-inner .active.carousel-item + .carousel-item + .carousel-item + .carousel-item {
    position: absolute;
    top: 0;
    right: -33.3333%;
    z-index: -1;
    display: block;
    visibility: visible;
  }

  /* left or forward direction */
  .items-colwidth-4 .active.carousel-item-left + .carousel-item-next.carousel-item-left,
  .items-colwidth-4 .carousel-item-next.carousel-item-left + .carousel-item,
  .items-colwidth-4 .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item,
  .items-colwidth-4 .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  /* farthest right hidden item must be abso position for animations */
  .items-colwidth-4 .carousel-inner .carousel-item-prev.carousel-item-right {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    visibility: visible;
  }

  /* right or prev direction */
  .items-colwidth-4 .active.carousel-item-right + .carousel-item-prev.carousel-item-right,
  .items-colwidth-4 .carousel-item-prev.carousel-item-right + .carousel-item,
  .items-colwidth-4 .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item,
  .items-colwidth-4 .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    visibility: visible;
    display: block;
    visibility: visible;
  }
}


/* show 4 items */
@media (min-width: 768px) {
  .items-colwidth-3 .carousel-inner .active,
  .items-colwidth-3 .carousel-inner .active + .carousel-item,
  .items-colwidth-3 .carousel-inner .active + .carousel-item + .carousel-item,
  .items-colwidth-3 .carousel-inner .active + .carousel-item + .carousel-item + .carousel-item {
    display: block;
  }

  .items-colwidth-3 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left),
  .items-colwidth-3 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item,
  .items-colwidth-3 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item,
  .items-colwidth-3 .carousel-inner .carousel-item.active:not(.carousel-item-right):not(.carousel-item-left) + .carousel-item + .carousel-item + .carousel-item {
    transition: none;
  }

  .items-colwidth-3 .carousel-inner .carousel-item-next,
  .items-colwidth-3 .carousel-inner .carousel-item-prev {
    position: relative;
    transform: translate3d(0, 0, 0);
  }

  .items-colwidth-3 .carousel-inner .active.carousel-item + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
    position: absolute;
    top: 0;
    right: -33.3333%;
    z-index: -1;
    display: block;
    visibility: visible;
  }

  /* left or forward direction */
  .items-colwidth-3 .active.carousel-item-left + .carousel-item-next.carousel-item-left,
  .items-colwidth-3 .carousel-item-next.carousel-item-left + .carousel-item,
  .items-colwidth-3 .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item,
  .items-colwidth-3 .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item,
  .items-colwidth-3 .carousel-item-next.carousel-item-left + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  /* farthest right hidden item must be abso position for animations */
  .items-colwidth-3 .carousel-inner .carousel-item-prev.carousel-item-right {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    visibility: visible;
  }

  /* right or prev direction */
  .items-colwidth-3 .active.carousel-item-right + .carousel-item-prev.carousel-item-right,
  .items-colwidth-3 .carousel-item-prev.carousel-item-right + .carousel-item,
  .items-colwidth-3 .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item,
  .items-colwidth-3 .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item,
  .items-colwidth-3 .carousel-item-prev.carousel-item-right + .carousel-item + .carousel-item + .carousel-item + .carousel-item {
    position: relative;
    transform: translate3d(100%, 0, 0);
    visibility: visible;
    display: block;
    visibility: visible;
  }
}

/**
 * XMS AgendaManager - Program Styles
 * Konsolidiert: Legacy-kompatibel + v3 Templates
 * 
 * @version 3.1.0
 * @requires Bootstrap 5.x
 */

/* ==========================================================================
   CUSTOM PROPERTIES
   ========================================================================== */
:root {
    /* Base */
    --program-accent: #d4cbb6;
    --program-accent-dark: #b8a98a;
    --program-break-bg: #fdfcf9;
    --program-shadow: 0 1px 15px rgb(0 0 0 / 18%);
    --program-shadow-sm: 0 1px 3px rgb(0 0 0 / 10%);
    --program-border-color: #dee2e6;
    --program-border-color-light: #e9ecef;
    --program-font-size-base: 1.2rem;
    --program-font-size-title: 1.5rem;
    --program-line-height: 1.2;
    --program-spacing-item: 0.8rem;
    --program-padding-inner: 15px;
    
    /* Preview Mode */
    --program-preview-gap: 0.75rem;
    --program-preview-item-padding: 1rem;
    --program-preview-item-radius: 0.375rem;
    --program-preview-group-bg: #495057;
    --program-preview-group-color: #fff;
    --program-preview-children-bg: #f8f9fa;
    --program-preview-break-color: #6c757d;
    
    /* Content Type Colors */
    --program-ct-keynote: #0d6efd;
    --program-ct-keynote-bg: rgba(13, 110, 253, 0.08);
    --program-ct-panel: #6610f2;
    --program-ct-workshop: #198754;
    --program-ct-townhall: #fd7e14;
    --program-ct-talk: #6c757d;
    
    /* Table View */
    --program-table-time-width: 70px;
    --program-table-type-width: 100px;
    
    /* Highlight Cards (Teaser/Landing Page) */
    --program-highlight-accent: #BE006A;
    --program-highlight-accent-bg: rgba(190, 0, 106, 0.08);
    --program-highlight-radius: 0.625rem;

    /* Slot Compact View */
    --slot-child-indent: 1.5rem;
}

/* ==========================================================================
   PROGRAM LAYOUT WRAPPER
   ========================================================================== */
.programLayout,
.programLayout * {
    font-size: var(--program-font-size-base);
    line-height: var(--program-line-height);
}

/* ==========================================================================
   PROGRAM LIST (Full Agenda Mode)
   ========================================================================== */
.program-list {
    /* Container für Items */
}

.program-list > .program-item {
    margin-bottom: var(--program-spacing-item);
}

/* ==========================================================================
   PREVIEW MODE - CONTAINER
   ========================================================================== */
.program-preview {
    display: flex;
    flex-direction: column;
    gap: var(--program-preview-gap);
}

.program-preview--minimal {
    gap: 0.5rem;
    padding: 0;
}

.program-preview--table {
    width: 100%;
}

/* ==========================================================================
   PREVIEW MODE - GROUP HEADER
   ========================================================================== */
.program-preview__group {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.875rem 1.25rem;
    background: var(--program-preview-group-bg);
    color: var(--program-preview-group-color);
    border-radius: var(--program-preview-item-radius);
    margin-top: 0.5rem;
}

.program-preview__group:first-child {
    margin-top: 0;
}

.program-preview__group .program-preview__time {
    font-weight: 700;
    font-size: 0.95em;
    font-variant-numeric: tabular-nums;
    opacity: 0.9;
}

.program-preview__group-title {
    font-weight: 700;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

/* ==========================================================================
   PREVIEW MODE - CHILDREN CONTAINER
   ========================================================================== */
.program-preview__children {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 0.75rem;
    background: var(--program-preview-children-bg);
    border-radius: 0 0 var(--program-preview-item-radius) var(--program-preview-item-radius);
    margin-top: -0.375rem;
    border: 1px solid var(--program-border-color-light);
    border-top: none;
}

/* ==========================================================================
   PREVIEW MODE - ITEM (Einzelner Vortrag)
   ========================================================================== */
.program-preview__item {
    display: flex;
    flex-direction: column;
    gap: 0.375rem;
    padding: var(--program-preview-item-padding);
    background: #fff;
    border: 1px solid var(--program-border-color-light);
    border-radius: var(--program-preview-item-radius);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.program-preview__item:hover {
    border-color: var(--program-border-color);
    box-shadow: var(--program-shadow-sm);
}

/* Item Header (Zeit + ContentType) */
.program-preview__header {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.program-preview__item .program-preview__time {
    font-weight: 600;
    font-size: 0.875em;
    font-variant-numeric: tabular-nums;
    color: #495057;
    min-width: 45px;
}

/* ContentType Badge */
.program-preview__type {
    display: inline-block;
    padding: 0.2rem 0.6rem;
    background: var(--program-ct-talk);
    color: #fff;
    border-radius: 0.25rem;
    font-size: 0.7em;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}

/* Item Body (Titel + Speaker) */
.program-preview__body {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
}

.program-preview__title {
    font-weight: 500;
    font-size: 0.95em;
    color: #212529;
    line-height: 1.35;
}

/* Speaker Line */
.program-preview__speakers {
    font-size: 0.8em;
    color: #6c757d;
    line-height: 1.4;
}

.program-preview__speaker {
    /* Inline */
}

/* ==========================================================================
   PREVIEW MODE - ITEM VARIANTS (Child)
   ========================================================================== */
.program-preview__item--child {
    background: #fff;
    border-color: var(--program-border-color-light);
}

.program-preview__item--child:hover {
    border-color: var(--program-border-color);
}

/* ==========================================================================
   PREVIEW MODE - BREAK / PAUSE
   ========================================================================== */
.program-preview__break {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem 1rem;
    color: var(--program-preview-break-color);
    border-top: 1px dashed var(--program-border-color);
    border-bottom: 1px dashed var(--program-border-color);
    margin: 0.5rem 0;
}

.program-preview__break .program-preview__time {
    font-weight: 500;
    font-size: 0.85em;
    font-variant-numeric: tabular-nums;
}

.program-preview__break-title {
    font-style: italic;
    font-size: 0.9em;
}

/* ==========================================================================
   PREVIEW MODE - CONTENT TYPE VARIANTS
   ========================================================================== */

/* Keynote - Hervorgehoben */
.program-preview__item--ct-keynote {
    border-left: 4px solid var(--program-ct-keynote);
    background: var(--program-ct-keynote-bg);
}

.program-preview__item--ct-keynote .program-preview__type {
    background: var(--program-ct-keynote);
}

.program-preview__item--ct-keynote .program-preview__title {
    font-weight: 600;
    font-size: 1em;
}

.program-preview__item--ct-keynote:hover {
    border-color: var(--program-ct-keynote);
    border-left-color: var(--program-ct-keynote);
}

/* Panel */
.program-preview__item--ct-panel .program-preview__type {
    background: var(--program-ct-panel);
}

/* Workshop */
.program-preview__item--ct-workshop .program-preview__type {
    background: var(--program-ct-workshop);
}

/* Townhall */
.program-preview__item--ct-townhall {
    border-left: 4px solid var(--program-ct-townhall);
}

.program-preview__item--ct-townhall .program-preview__type {
    background: var(--program-ct-townhall);
}

/* Discussion */
.program-preview__item--ct-discussion .program-preview__type {
    background: var(--program-ct-panel);
}

/* Special / Showformat */
.program-preview__item--ct-special .program-preview__type,
.program-preview__item--ct-showformat .program-preview__type {
    background: #dc3545;
}

/* ==========================================================================
   TABLE VIEW
   ========================================================================== */
.program-preview--table thead th {
    font-weight: 600;
    font-size: 0.8rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 0.75rem 1rem;
    border-bottom-width: 2px;
    color: #495057;
}

.program-preview--table tbody td {
    padding: 0.75rem 1rem;
    vertical-align: top;
}

.program-table__col-time,
.program-table__time {
    width: var(--program-table-time-width);
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
    font-weight: 600;
    font-size: 0.9em;
}

.program-table__col-type,
.program-table__type {
    width: var(--program-table-type-width);
    font-size: 0.85em;
    color: #6c757d;
}

.program-table__title {
    font-weight: 500;
}

.program-table__speakers {
    margin-top: 0.25rem;
}

/* Table Row Variants */
.program-table__row--group {
    background: var(--program-preview-children-bg);
}

.program-table__row--group .program-table__time {
    font-weight: 700;
}

.program-table__row--group .program-table__title {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 0.025em;
}

.program-table__row--child {
    background: #fff;
}

.program-table__row--break {
    color: var(--program-preview-break-color);
    border-top: 1px dashed var(--program-border-color);
    border-bottom: 1px dashed var(--program-border-color);
}

.program-table__row--break .program-table__title {
    font-style: italic;
    font-weight: 400;
}

/* Table Content Type Variants */
.program-table__row--ct-keynote {
    border-left: 4px solid var(--program-ct-keynote);
    background: var(--program-ct-keynote-bg);
}

.program-table__row--ct-keynote .program-table__title {
    font-weight: 600;
}

/* ==========================================================================
   PROGRAM ITEM (Full Agenda Mode)
   ========================================================================== */
.program-item {
    display: block;
}

.program-item__inner {
    display: flex;
    flex-wrap: wrap;
    padding: var(--program-padding-inner);
}

.program-item--talk .program-item__inner,
.program-item--panel .program-item__inner,
.program-item--workshop .program-item__inner,
.program-item--discussion .program-item__inner,
.program-item--showformat .program-item__inner,
.program-item--special .program-item__inner,
.program-item--townhall .program-item__inner,
.program-item--openspace .program-item__inner {
    box-shadow: var(--program-shadow);
}

.program-item--break .program-item__inner,
.program-item--townhall .program-item__inner {
    background-color: var(--program-break-bg);
}

.program-item--end .program-item__inner {
    box-shadow: none;
}

/* ==========================================================================
   PROGRAM ITEM - ANNOUNCED (Wachsendes Programm)
   Dezente Darstellung für Items ohne Speaker-Besetzung
   ========================================================================== */
.program-item--announced {
    opacity: 0.7;
}

.program-item--announced .program-item__inner {
    box-shadow: none;
    background-color: var(--program-break-bg);
    border: 1px dashed var(--program-border-color);
}

.program-item--announced .program-item__title {
    font-size: calc(var(--program-font-size-title) * 0.9);
    color: #6c757d;
}

.program-item--announced .program-item__content-type {
    color: #adb5bd;
}

.program-item--announced .program-item__time {
    color: #adb5bd;
}

.program-item--announced .program-item__teaser {
    color: #6c757d;
    font-size: 0.9em;
}

/* Hover-Effekt für announced Items */
.program-item--announced:hover {
    opacity: 0.85;
}

.program-item--announced:hover .program-item__inner {
    border-color: var(--program-accent);
}

/* ==========================================================================
   PROGRAM GROUP - ZEIT IM HEADER, KEINE WIEDERHOLUNG IN CHILDREN
   ========================================================================== */
.program-group__time {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--program-accent, var(--bs-primary));
    letter-spacing: 0.04em;
    margin-bottom: 0.2rem;
}

.program-group__children .program-item__time {
    display: none;
}

/* ==========================================================================
   ARCHIVE EVENT PAGE — TAB NAVIGATION
   ========================================================================== */
.content-section--main-archive-tabs .nav-tabs {
    border-bottom: 2px solid var(--program-accent, var(--bs-primary));
    margin-bottom: 1.5rem;
}

.content-section--main-archive-tabs .nav-tabs .nav-link.active {
    border-bottom-color: transparent;
    font-weight: 600;
    color: var(--program-accent, var(--bs-primary));
}

/* ==========================================================================
   PROGRAM LIST - MINIMAL MODE
   Wachsendes Programm Variante
   ========================================================================== */
.program-list--minimal .program-item--announced {
    margin-bottom: calc(var(--program-spacing-item) * 0.5);
}

.program-list--minimal .program-group__children .program-item--announced:last-child {
    margin-bottom: 0;
}

/* ==========================================================================
   PROGRAM ITEM COLUMNS
   ========================================================================== */
.program-item__left {
    display: flex;
    flex-direction: column;
}

.program-item__right {
    display: flex;
    flex-direction: column;
}

@media (min-width: 992px) {
    .program-item__right {
        padding-left: 2rem;
    }
    
    .program-item__left {
        padding-left: 15px;
    }
}

/* ==========================================================================
   META ROW
   ========================================================================== */
.program-item__meta {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 100%;
    margin-bottom: 0.5rem;
}

.program-item__ctype,
.program-item__content-type {
    font-weight: 500;
    text-transform: uppercase;
}

.program-item__timing,
.program-item__time {
    text-align: right;
}

/* ==========================================================================
   TITLE
   ========================================================================== */
.program-item__title {
    font-size: var(--program-font-size-title);
    line-height: var(--program-line-height);
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--program-border-color);
    margin-bottom: 1rem;
}

.program-item__title a {
    color: inherit;
    text-decoration: none;
}

.program-item__title a:hover {
    color: var(--program-accent);
}

.program-item--break .program-item__title,
.program-item--end .program-item__title,
.program-item--nonespeaker .program-item__title,
.program-item--break .program-item__header,
.program-item--end .program-item__header,
.program-item--nonespeaker .program-item__header {
    font-size: var(--program-font-size-base);
    padding-bottom: 0;
    border: none;
    margin-bottom: 0;
}

/* ==========================================================================
   MEDIA, TEASER, DESCRIPTION, SPEAKERS
   ========================================================================== */
.program-item__media {
    margin-top: 0.5rem;
}

.program-item__speaker-media {
    padding: 15px 0;
}

.program-item__speaker-media img {
    object-fit: cover;
}

#programBox .speaker-media--single img {
    max-width: 320px;
    height: auto;
}

#programBox .speaker-media--gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

#programBox .speaker-media--gallery .speaker-media__item {
    width: calc(50% - 0.25rem);
}

#programBox .speaker-media--gallery img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.program-item__teaser,
.program-item__desc,
.program-item__description {
    margin-bottom: 1rem;
}

.program-item__speakers {
    margin-bottom: 0;
}

#programBox .speakerhead {
    text-decoration: underline;
    display: block;
    margin-bottom: 0.5rem;
}

#programBox .speakerName {
    display: block;
    line-height: 1.2rem;
    margin-bottom: 10px;
}

#programBox .speaker-link {
    color: inherit;
    text-decoration: none;
}

#programBox .speaker-link:hover {
    color: var(--program-accent);
}

/* ==========================================================================
   GROUP HEADER
   ========================================================================== */
.program-group {
    margin-bottom: 1.5rem;
}

.program-group__header-wrapper {
    margin-bottom: 1rem;
}

.program-group__header {
    font-size: 1.6rem;
    text-transform: uppercase;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--program-border-color);
    margin-bottom: 25px;
}

.program-group__title {
    font-size: 1.6rem;
    text-transform: uppercase;
    margin: 0;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--program-border-color);
}

.program-group__moderation {
    font-size: 0.875rem;
}

.program-group__children .program-item {
    margin-bottom: var(--program-spacing-item);
}

.program-group__children .program-item:last-child {
    margin-bottom: 0;
}

.program-group--compact .program-group__title {
    font-size: 1.2rem;
    padding-bottom: 0.25rem;
}

/* ==========================================================================
   SPEAKER BOX STYLES
   ========================================================================== */
#programBox.speakerBox .row {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

#programBox .card-element {
    height: 100%;
    border: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#programBox .card-element:hover {
    transform: translateY(-2px);
    box-shadow: var(--program-shadow);
}

#programBox .card-type-expertAgendaItem {
    background: #fff;
}

#programBox .card-element .card-img-top {
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

#programBox .card-element .card-body {
    padding: 1rem;
}

#programBox .card-element .card-title {
    font-size: 1rem;
    line-height: 1.3;
    margin-bottom: 0.25rem;
}

#programBox .card-element .card-title a {
    color: inherit;
    text-decoration: none;
}

#programBox .card-element .card-title a:hover {
    color: var(--program-accent);
}

#programBox .card-element .card-text {
    font-size: 0.875rem;
    color: #6c757d;
    line-height: 1.4;
}

#programBox .speaker-meta {
    font-size: 0.875rem;
    color: #6c757d;
    line-height: 1.4;
}

#programBox .speaker-meta--stacked {
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

#programBox .speaker-meta__position {
    font-weight: 500;
}

#programBox .speaker-meta__company {
    color: #6c757d;
}

#programBox .col-card {
    margin-bottom: 1.5rem;
}

@media (min-width: 992px) {
    #programBox .col-card {
        margin-bottom: 0;
    }
}

/* ==========================================================================
   LISTS
   ========================================================================== */
#programBox ul {
    list-style-type: none;
    padding-left: 0;
    margin-left: 0;
}

#programBox ul.bulletsList,
#programBox .program-item__desc ul,
#programBox .program-item__description ul {
    margin-left: 20px;
    margin-bottom: 15px;
    list-style-type: square;
}

/* ==========================================================================
   LEGACY COMPATIBILITY
   ========================================================================== */
#programBox .div-track-list > div {
    margin-right: 0;
}

#programBox .div-track-list [class*="col-"] {
    margin: 0;
    padding: 0;
}

#programBox .div-track-list > [class*="col-"],
#programBox .div-track-list .div-col-group > [class*="col-"] {
    margin-bottom: var(--program-spacing-item);
}

#programBox .div-row {
    display: flex;
    flex-wrap: wrap;
}

#programBox .div-inner {
    padding: var(--program-padding-inner);
}

#programBox .div-col-talk .div-inner,
#programBox .div-col-panel .div-inner,
#programBox .div-col-workshop .div-inner {
    box-shadow: var(--program-shadow);
}

#programBox .ctype {
    font-weight: 500;
    text-transform: uppercase;
}

#programBox .timing {
    text-align: right;
}

#programBox .title {
    font-size: var(--program-font-size-title);
    padding-bottom: 1.5rem;
    border-bottom: 1px solid var(--program-border-color);
}

#programBox .speaker-media {
    padding: 15px 0;
}

#programBox .speaker-media img {
    object-fit: cover;
}

#programBox .description ul {
    margin-left: 20px;
    margin-bottom: 15px;
    list-style-type: square;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 575.98px) {
    :root {
        --program-preview-item-padding: 0.75rem;
        --program-preview-gap: 0.5rem;
    }
    
    .program-preview__group {
        padding: 0.625rem 1rem;
        flex-wrap: wrap;
    }
    
    .program-preview__type {
        font-size: 0.65em;
        padding: 0.15rem 0.4rem;
    }
    
    .program-preview__children {
        padding: 0.5rem;
    }
    
    /* Table: Type-Spalte ausblenden */
    .program-preview--table .program-table__col-type,
    .program-preview--table .program-table__type {
        display: none;
    }
    
    #programBox .card-element .card-title {
        font-size: 0.9rem;
    }
    
    #programBox .card-element .card-text {
        font-size: 0.8rem;
    }
}

@media (min-width: 576px) and (max-width: 767.98px) {
    :root {
        --program-preview-item-padding: 0.875rem;
    }
}

@media (min-width: 768px) {
    #programBox .div-inner .agenda-right,
    #programBox .program-item__right {
        padding-left: 2rem;
    }
    
    #programBox .div-col-talk .agenda-left,
    #programBox .program-item--talk .program-item__left {
        padding-left: 15px;
    }
}

@media (max-width: 991.98px) {
    #programBox.speakerBox .row {
        --bs-gutter-x: 1rem;
        --bs-gutter-y: 1rem;
    }
    
    #programBox .card-element .card-body {
        padding: 0.75rem;
    }
}

/* ==========================================================================
   PROGRAM MINIMAL MODE (Preview/minimal Section)
   Zweizeilige Darstellung: Zeit+Badge oben, Titel darunter
   ========================================================================== */
.program-minimal {
    display: flex;
    flex-direction: column;
    gap: 0;
}

/* Standard Item - Zweizeilig */
.program-minimal__item {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--program-border-color-light);
}

.program-minimal__meta {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-bottom: 0.25rem;
}

.program-minimal__title {
    color: #212529;
    padding-left: 4rem;
}

/* Group Header */
.program-minimal__group {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    padding: 0.75rem 0 0.5rem 0;
    margin-top: 1.25rem;
    border-bottom: 2px solid var(--program-accent-dark);
}

.program-minimal__group:first-child {
    margin-top: 0;
}

.program-minimal__group-title {
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.025em;
    color: #212529;
}

/* Children Container - Echte Einrückung */
.program-minimal__children {
    margin: 0;
    padding: 0.5rem 0 0.5rem 4rem;
    background: #fafafa;
    border-left: 4px solid var(--program-accent);
}

/* Child Item - Zweizeilig */
.program-minimal__child {
    padding: 0.5rem 0;
    border-bottom: 1px solid var(--program-border-color-light);
}

.program-minimal__child:last-child {
    border-bottom: none;
}

.program-minimal__child .program-minimal__meta {
    margin-bottom: 0.2rem;
}

.program-minimal__child .program-minimal__title {
    padding-left: 0;
}

/* Break/Pause - Einzeilig */
.program-minimal__break {
    display: flex;
    align-items: baseline;
    gap: 0.75rem;
    padding: 0.5rem 0;
    margin: 0.75rem 0;
    border-top: 1px dashed var(--program-border-color);
    border-bottom: 1px dashed var(--program-border-color);
    background: var(--program-break-bg);
}

.program-minimal__break-title {
    font-style: italic;
    color: var(--program-preview-break-color);
}

/* Zeit */
.program-minimal__time {
    flex-shrink: 0;
    width: 3.25rem;
    font-weight: 600;
    font-size: 0.9em;
    color: #495057;
}

/* Badge */
.program-minimal__badge {
    flex-shrink: 0;
    display: inline-block;
    padding: 0.125rem 0.5rem;
    font-size: 0.7rem;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-radius: 0.25rem;
    background: #e9ecef;
    color: #495057;
}

/* Badge Varianten nach ContentType */
.program-minimal__badge--keynote {
    background: var(--program-ct-keynote-bg);
    color: var(--program-ct-keynote);
    border: 1px solid var(--program-ct-keynote);
}

.program-minimal__badge--panel,
.program-minimal__badge--discussion {
    background: rgba(102, 16, 242, 0.1);
    color: var(--program-ct-panel);
    border: 1px solid var(--program-ct-panel);
}

.program-minimal__badge--workshop {
    background: rgba(25, 135, 84, 0.1);
    color: var(--program-ct-workshop);
    border: 1px solid var(--program-ct-workshop);
}

.program-minimal__badge--townhall {
    background: rgba(253, 126, 20, 0.1);
    color: var(--program-ct-townhall);
    border: 1px solid var(--program-ct-townhall);
}

/* Responsive */
@media (max-width: 575.98px) {
    .program-minimal__children {
        padding-left: 1.5rem;
    }
    
    .program-minimal__title {
        padding-left: 0;
    }
    
    .program-minimal__time {
        width: 3rem;
        font-size: 0.85em;
    }
    
    .program-minimal__badge {
        font-size: 0.6rem;
        padding: 0.1rem 0.375rem;
    }
}

/* ==========================================================================
   HIGHLIGHT CARDS (Teaser/Landing Page - Must-See Sessions)
   FlexForm: output.partial=Teaser, output.section=highlight
   ========================================================================== */

/* Container */
.programLayout .program-highlights {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

/* Card Base */
.programLayout .highlight-card {
    background: #fff;
    border: 1px solid var(--program-border-color);
    border-radius: var(--program-highlight-radius);
    padding: 1.75rem 2rem;
    position: relative;
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

/* Accent-Border links */
.programLayout .highlight-card::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--program-highlight-accent);
}

.programLayout .highlight-card:hover {
    border-color: var(--program-highlight-accent);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.06);
}

/* Header: Badge + Datetime */
.programLayout .highlight-card__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    margin-bottom: 0.875rem;
    flex-wrap: wrap;
}

.programLayout .highlight-card__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    background: var(--program-highlight-accent-bg);
    color: var(--program-highlight-accent);
    padding: 0.3rem 0.75rem;
    border-radius: 1.25rem;
    font-size: 0.7rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    white-space: nowrap;
}

.programLayout .highlight-card__badge-icon {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
}

.programLayout .highlight-card__datetime {
    font-size: 0.8rem;
    color: #6c757d;
    font-weight: 500;
    white-space: nowrap;
}

/* Title */
.programLayout .highlight-card__title {
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 0.625rem;
    color: #212529;
}

.programLayout .highlight-card__title-link {
    color: inherit;
    text-decoration: none;
    transition: color 0.2s ease;
}

.programLayout .highlight-card__title-link:hover {
    color: var(--program-highlight-accent);
}

/* Teaser / Kernfrage */
.programLayout .highlight-card__teaser {
    font-size: 0.95rem;
    color: #6c757d;
    line-height: 1.6;
    margin-bottom: 1.25rem;
}

/* Speakers */
.programLayout .highlight-card__speakers {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 1rem;
    border-top: 1px solid var(--program-border-color-light);
}

.programLayout .highlight-card__speaker {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.programLayout .highlight-card__speaker-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #1a2340;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.8rem;
    font-weight: 600;
    flex-shrink: 0;
    overflow: hidden;
}

.programLayout .highlight-card__speaker-avatar--img {
    background: none;
    object-fit: cover;
}

.programLayout .highlight-card__speaker-avatar--multi {
    background: var(--program-highlight-accent);
    font-size: 0.75rem;
}

.programLayout .highlight-card__speaker-info {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.programLayout .highlight-card__speaker-name {
    font-size: 0.875rem;
    font-weight: 600;
    color: #212529;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.programLayout .highlight-card__speaker-role {
    font-size: 0.78rem;
    color: #6c757d;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Highlight Card - Responsive */
@media (max-width: 575.98px) {
    .programLayout .highlight-card {
        padding: 1.25rem 1rem 1.25rem 1.25rem;
    }

    .programLayout .highlight-card__header {
        flex-direction: column;
        gap: 0.5rem;
    }

    .programLayout .highlight-card__title {
        font-size: 1.1rem;
    }
}

/* ==========================================================================
   PRINT STYLES
   ========================================================================== */
@media print {
    .program-preview__item {
        border: 1px solid #ccc;
        page-break-inside: avoid;
    }
    
    .program-preview__group {
        background: #333 !important;
        color: #fff !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    .program-preview__item--ct-keynote {
        border-left: 4px solid #000 !important;
    }
    
    .program-item {
        page-break-inside: avoid;
    }
    
    .program-group {
        page-break-before: auto;
    }
    
    .program-group__header {
        page-break-after: avoid;
    }
    
    .programLayout .highlight-card {
        border: 1px solid #ccc;
        page-break-inside: avoid;
    }
    
    .programLayout .highlight-card::before {
        background: #333 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    
    .programLayout .highlight-card__badge {
        border: 1px solid #999;
    }
}

/* ==========================================================================
   BLOCK: .program-slots
   Container für die Slot-Liste innerhalb der Tab-Panes
   ========================================================================== */
.program-slots {
    border: 1px solid var(--program-border-color);
    border-radius: var(--program-highlight-radius, 0.375rem);
    overflow: hidden;
}

/* ==========================================================================
   BLOCK: .program-slot
   Zweizeiliger Kompakt-Eintrag (Zeit links, Content rechts)
   ========================================================================== */
.program-slot {
    display: flex;
    align-items: flex-start;
    padding: 1rem 0;
    padding-left: var(--slot-child-indent);
    border-bottom: 1px solid var(--program-border-color-light);
}

.program-slot:last-child {
    border-bottom: none;
}

/* --------------------------------------------------------------------------
   MODIFIER: Highlighted
   -------------------------------------------------------------------------- */
.program-slot--highlighted {
    background-color: var(--program-highlight-accent-bg);
    border-left: 3px solid var(--program-highlight-accent);
    padding-left: calc(1rem - 3px);
}

/* --------------------------------------------------------------------------
   MODIFIER: Group Header
   -------------------------------------------------------------------------- */
.program-slot--group {
    background-color: var(--program-preview-group-bg);
    color: var(--program-preview-group-color);
    border-bottom: none;
    font-weight: 600;
}

/* --------------------------------------------------------------------------
   MODIFIER: Child (eingerückt)
   -------------------------------------------------------------------------- */

.program-slot--child.program-slot--highlighted {
    padding-left: calc(var(--slot-child-indent) - 3px);
}

/* ==========================================================================
   ELEMENT: Zeit
   ========================================================================== */
.program-slot__time {
    flex: 0 0 80px;
    font-variant-numeric: tabular-nums;
    font-size: 0.9375rem;
    font-weight: 500;
    color: #6c757d;
    padding-top: 0.125rem;
}

.program-slot--group .program-slot__time {
    color: var(--program-preview-group-color);
    opacity: 0.85;
}

/* ==========================================================================
   ELEMENT: Content Block
   ========================================================================== */
.program-slot__content {
    flex: 1;
    min-width: 0;
}

/* Titel */
.program-slot__title {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.4;
    color: #212529;
}

.program-slot__title--group {
    text-transform: uppercase;
    font-size: 0.875rem;
    letter-spacing: 0.025em;
    color: inherit;
}

.program-slot__link {
    color: inherit;
    text-decoration: none;
}

.program-slot__link:hover {
    color: var(--program-highlight-accent);
    text-decoration: underline;
}

.program-slot--group .program-slot__link {
    color: var(--program-preview-group-color);
}

/* Meta-Zeile: Speaker · Dauer */
.program-slot__meta {
    font-size: 0.8125rem;
    color: #6c757d;
    margin-top: 0.125rem;
}

.program-slot__duration {
    /* Interpunkt kommt aus Template */
}

.program-slot__moderator {
    color: var(--program-preview-group-color);
    opacity: 0.75;
}

/* ==========================================================================
   ELEMENT: Highlight-Label
   ========================================================================== */
.program-slot__highlight-label {
    display: inline-flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 0.375rem;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--program-highlight-accent);
}

.program-slot__highlight-label .bi {
    font-size: 0.6875rem;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 767.98px) {
    .program-slot__time {
        flex: 0 0 60px;
        font-size: 0.8125rem;
    }

    .program-slot__title {
        font-size: 0.9375rem;
    }

    :root {
        --slot-child-indent: 0.75rem;
    }
}

@media (max-width: 575.98px) {
    .program-slot {
        padding: 0.75rem 0;
    }

    .program-slot__time {
        flex: 0 0 50px;
    }
}
.adSingle {
	margin: 0px 0px 10px 0px;
	padding: 0px 0px 0px 0px;
}

.adSingleBox {
	padding: 0px 5px 0px 5px;
}

* html .adserverBox {
}

#adbannerSlider, .adSliderBox		{ 
	position: relative; 
	/*height: 75px; */
}

.adSliderBox {
	width: 100%;
	min-height: 80px;
}

.adSliderBox span img {
	width: 98% !important;
	height: auto !important;
}

.adserverBox span, .adSingleBox .logoBox {
	position:relative;
	display: inline-flex;
	/*float: left;*/
	margin: 0px 5px 10px 0px !important;
	padding: 5px 5px 5px 5px !important;
	height: auto;
	border: 1px dotted #D0D0D2;
	overflow: hidden;
	text-align: center;
	background-color: #fff !important;
}


div.twoBox.adserverBox span {
	margin-right: 35px;
}

div.threeBox.adserverBox span {
	margin-right: 34px !important;
}

.adserverBox span.platin {
	margin-top:10px;
	height: 80px;
}

.adserverBox span a {
	
}

.adserverBox span.platin img {
}

.adserverBox span.inline {
	float: left;
	margin-top: 20px;
	margin-bottom: 20px;
	margin-right: 5px;
	display: inline;
}

.adSingle ad_banner img {
	height: auto;
}

/** adserverList **/

.adserverList {
	float:left;
	margin: 5px 5px 0px 5px;
	padding: 0px 5px 0px 5px !important;
	width: 100%;
}

.adserverList div.aditem {
	position:relative;
	display: block;
	margin: 0px 5px 10px 0px !important;
	padding: 5px 5px 5px 5px !important;
	height: auto;
	border: 1px dotted #D0D0D2;
	width: 100%;
	overflow: hidden;
	text-align: center;
}


.adserverList span img {
	height: auto;
	float: left;
}

.adserverList div.aditem div.content {
	text-align: left;
	margin-left: 200px;
}

* html .adserverBox span img.tx_xmsadserver_item {
	position: relative !important;
}

/** Text AdBox **/

.adBox {
	background: url('../../../_assets/66d6279261f96a8781017a1ea6dbbdc3/Css/_images/adBox/bg_adBox.gif') no-repeat top right; 
	padding: 0px 0px 0px 0px !important;
}

.adBox div {
	margin: 15px 5px 0px 0px;
	padding: 0px 0px 10px 10px !important;
	background: url('../../../_assets/66d6279261f96a8781017a1ea6dbbdc3/Css/_images/adBox/bg_adBox_bottom.gif') no-repeat bottom left; 
}

.adBox div p {
	margin-bottom: 10px;
	margin-left: 5px;
}

.adBox div p, .adBox div a {
	font-style: italic;
}

/** Details Page View **/

.adteaserBox {
	float:left;
	margin: 0px 5px 0px 5px;
	padding: 0px 0px 0px 0px !important;
}
* html .adteaserBox {
	margin: 0px 0px 0px 0px;
}

.adteaserBox div {
	position: static;
	margin: 5px 0px 5px 0px;
	padding: 0px 0px 0px 0px;
	border: 1px dotted #D0D0D2;
	min-height: 80px;
}

.adteaserBox div:hover {
	background-color: #F9F7EF;
}

.adteaser_oneBox div.even {
	clear:both;
}

.adteaserBox div img {
	margin: 10px 10px 10px 10px;
	float:left;
}

.adteaserBox h4 {
	visibility:hidden;
}

.adteaserBox div.content {
	border-style: none;
	margin: 15px 15px 15px 15px !important;
	height: auto;
}

#adborderBox {
	width: 200px;
	margin-top:20px;
	margin-left:10px;
	float:right;
	display:inline;
}



.stageTeaserBox {
  max-width: 1400px;
  margin: 0 auto;
}

/** TeaserBox **/

.teaserBox>div,
 .teaserBox>li {
	clear: both;
	position: relative;
	margin-bottom: 20px;
	padding: 10px 10px;
	border: 1px dotted #D0D0D2;
	min-height: 145px;
}

ul.teaserBox {
	list-style-type:none;
	width:526px;
}

ul.teaserBox li {
	width:516px;
	overflow: hidden;
}


.teaserBox img {
	float: left;
	margin-right: 10px;
}

.teaserBox div.category_title {
	position: absolute;
	bottom: 10px;
	right: 10px; 
	font-size: .8em;
}	

.teaserCardBox .card.teaseritem {
	/*height: 100%;*/
	margin-bottom: 0px;
}

.teaserCardBox .card.teaseritem.card-img-left {
	width: 100%;
}

.teaserCardBox .card.teaseritem.card-img-left img {
	width: 30%;
}

.card.imagecard {
	margin-bottom: 15px;
	border: none;
}

.card.with-overlay .card-img-overlay {
  background-color: #4d525766; /*#454a4eab;*/
}

.card.with-overlay .card-img-overlay a {
  color: #fff;
  line-height: 1;
}

.card-img-left {
  width: 30%;
}


.innermenuBox.layout-2 .nav-item {
    margin-bottom: 0.5rem;
}

.media {
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
}

.media-object {
  flex: 1 1 0%;
}

.media-body {
  flex: 4 1 0%;
}

.img-wrap {
  max-width: 100%;
}

h4.media-heading { font-size: 1rem; }


@media (min-width: 992px) {
	.media.img-beside-left .media-body { margin-left: 1rem; }
	.media.img-intext-left .media-body { margin-left: 1rem; }

	.media-left { margin-right: 1rem; }

	.media.img-beside-right .media-body { order: -1; margin-right: 1rem; }
	.media.img-intext-right .media-body { order: -1; margin-right: 1rem; }
}

/* Caption */
figure { position: relative; }
.caption { position: absolute; width: 100%; background-color: white;}

.caption-bottom-center { 
	bottom: 3rem; 
	text-align: center;
	left: 0; 
  	right: 0; 
  	margin-left: auto; 
  	margin-right: auto; 	
}

.caption-bottom-right { 
	bottom: 3rem; 
	text-align: center;
	left: 0; 
  	right: 10%; 
  	margin-left: auto; 
  	margin-right: 0; 	
}

.caption-bottom-left { 
	bottom: 3rem; 
	text-align: center;
	left: 10%; 
  	right: 0; 
  	margin-left: 0; 
  	margin-right: auto; 	
}

@media (max-width: 992px) {
	.caption-bottom-right { right: 0; margin-right: auto; }
	.caption-bottom-left { left: 0; margin-left: auto; }
}

@media (max-width: 518px) {
	.caption { position: relative; }
}


figure { position: relative; }
.image {
  display: block;
}

.image > img,
.image a > img {
  display: block;
  max-width: 100%;
  height: auto;
}

@media (max-width: 767px) {
  .image > img,
  .image a > img {
    margin: 0 auto;
  }
}

.image .caption {
  width:100%;
  margin: 0 auto;
  padding: 1rem 1rem;
}

.image .caption-bottom-right {
  position: absolute;
  bottom: 20%;
  right: 20%;
  max-width: 60%;
  min-height: 30%;
  text-align: center;
}

.caption-bottom-center {
  position: absolute;
  bottom: 2rem;
  margin: 0 auto;
  padding: 0 auto;
}

.col-image {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 992px) {
  
}
.img-wrap {
  max-width: 100%;
}
.img-below .img-wrap {
  margin-top: 20px;
}
.img-center-outer {
  width: 100%;
  position: relative;
  float: right;
  right: 0;
}
.img-center-inner {
  width: 100%;
  position: relative;
  float: right;
  right: 0;
}
.img-center-outer .img-center-inner figure.image img {
  margin: 0px auto;
}
.img-left .img-wrap {
  float: left;
}
.img-left .text {
  clear: left;
}
.img-right .img-wrap {
  float: right;
}
.img-right .text {
  clear: right;
}
.img-wrap:before,
.img-below:before,
.img-above:before,
.img-beside:before,
.img-intext:before,
.img-wrap:after,
.img-below:after,
.img-above:after,
.img-beside:after,
.img-intext:after {
  content: " ";
  display: table;
}
.img-wrap:after,
.img-below:after,
.img-above:after,
.img-beside:after,
.img-intext:after {
  clear: both;
}
.img-beside-left figure.image,
.img-intext-left figure.image {
  float: left;
  margin-left: -15px;
}
.img-beside-right figure.image,
.img-intext-right figure.image {
  float: right;
  margin-right: -15px;
}
.img-beside-left figure.image,
.img-beside-right figure.image,
.img-intext-left figure.image,
.img-intext-right figure.image {
  max-width: 50%;
  padding-left: 15px;
  padding-right: 15px;
}
.img-beside-left figure.image {
  padding-right: 0px;
}
.img-beside-left .text {
  padding-left: 30px;
}
.img-beside-right figure.image {
  padding-left: 30px;
  max-width: calc(50% + 30px);
}
.img-intext-left figure.image {
  float:left;
  padding-right: 30px;
  max-width: calc(50% + 30px);
}
.img-intext-right figure.image {
  float:right;
  max-width: calc(50% + 30px);
  padding-left: 30px;
}
.img-beside-right,
.img-beside-left {
  overflow: hidden;
  zoom: 1;
}
.img-beside-right .text,
.img-beside-left .text {
  overflow: hidden;
  zoom: 1;
}





@media (max-width: 767px) {
  .img-beside-right .img-wrap,
  .img-beside-left .img-wrap {
    margin-left: -15px;
    margin-right: -15px;
    max-width: none;
    float: none;
  }
}
.img-header-1 .img-wrap,
.img-header-2 .img-wrap,
.img-header-3 .img-wrap {
  margin-top: 20px;
}
.img-header-4 .img-wrap,
.img-header-5 .img-wrap,
.img-header-6 .img-wrap {
  margin-top: 10px;
}
.caption-center {
  text-align: center;
}
.caption-right {
  text-align: right;
}

.caption-bottom-center>div {
display:inline-block;
}
ul.uploads {
  list-style-type: none;
  margin-left: 0px;
  padding-left: 0px;
}
ul.uploads li.uploads-element {
  padding-left: 0px;
  margin-left: 0px;
}
ul.uploads li.uploads-element img {
  margin-right: 1em;
}
ul.uploads li.uploads-element span.uploads-fileSize {
  margin-left: 10px;
}
ul.uploads li.uploads-element div.uploads-description {
  float: left;
  display: inline;
  margin-left: 45px;
  margin-bottom: 1em;
}
.formview .csc-form-element-fieldset {
  margin-bottom: 20px;
}
.formview .csc-form-element label {
  width: 10em;
}
.formview .csc-form-element-textarea label {
  width: 100%;
}
.formview .csc-form-element-select .choice label {
  float: left;
}
.formview .csc-form-element-select .choice ul {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}
form.csc-form-confirmation fieldset {
  margin-top: 20px;
}
form.csc-form-confirmation fieldset ol {
  list-style-type: none;
  padding-left: 0;
  margin-left: 0;
}
form.csc-form-confirmation fieldset ol li {
  float: left;
  padding-left: 0;
  margin-left: 0;
  margin-right: 10px;
}

/* Additional Text/Paragraph  Styles */

.size-1 { font-size: 1.1rem;}
.size-2 { font-size: 1.3rem;}
.size-3 { font-size: 1.5rem;}
.size-4 { font-size: 1.7rem;}
.size-5 { font-size: 2rem;}

@media (min-width: 768px) { 
	.size-1 { font-size: 1.3rem;}
	.size-2 { font-size: 1.5rem;}
	.size-3 { font-size: 2rem;}
	.size-4 { font-size: 3rem;}
	.size-5 { font-size: 3.5rem;} 
}

.carousel-item.pseudo { display: block; }

.carousel-caption, .caption-reset .carousel-caption {
	text-align: inherit;
	padding: 1rem 1rem;
	left: 0;
	right: 0;
	bottom: 5%;
	color: inherit;
	margin-left: auto;
	margin-right: auto;
	width: 90%;
}

@media (min-width: 992px) {
.carousel-caption, .caption-reset .carousel-caption {
	width: 60%;
	height: 55%;
}
}

.carousel-caption-outer {
	position: absolute;
	top: 0;
	height: 100%;
	width: 100%;
}
.carousel-caption-outer .container {
	position: relative;
	height: 100%;
}

@media (min-width: 992px) {
	.pseudo-carousel-item .p-normal,
	.carousel-item .p-normal {
		margin: 1rem 1rem;
		padding: 2rem 2rem;
	}
	.pseudo-carousel-item .p-normal h2.teaserHeader,
	.carousel-item .p-normal h2.teaserHeader {
		font-size: 2.2rem;
	}
	.pseudo-carousel-item .p-normal .teaserButton a,
	.carousel-item .p-normal .teaserButton a {
		font-size: 1.3rem;
	}
}


/************ Max Height ****************************/

.h1, .mxh1 {
		min-height: auto !important;
		height:130px;
		overflow:hidden;
}

.h15, .mxh15 {
		min-height: auto !important;
		height:195px;
		overflow:hidden;
}


.h2, .mxh2 {
		min-height: auto !important;
		height:260px;
		overflow:hidden;
}

.h25, .mxh25 {
		min-height: auto !important;
		height:325px;
		overflow:hidden;
}


.h3, .mxh3 {
		min-height: auto !important;
		height:390px;
		overflow:hidden;
}

.h35, .mxh35 {
		min-height: auto !important;
		height:455px;
		overflow:hidden;
}

/* Text Alignment */

.text-left {
    text-align: left;
}
.text-right {
    text-align: right;
}
.text-center {
    text-align: center;
}

/** Fading **/

.item .carousel-caption.fading {
    opacity: 0;
    -webkit-transition: 2s all ease-in-out .1s;
       -moz-transition: 2s all ease-in-out .1s; 
        -ms-transition: 2s all ease-in-out .1s; 
         -o-transition: 2s all ease-in-out .1s; 
            transition: 2s all ease-in-out .1s; 
}
.item.active .carousel-caption.fading {
    opacity: 1;
    -webkit-transition: 2s all ease-in-out .1s;
       -moz-transition: 2s all ease-in-out .1s; 
        -ms-transition: 2s all ease-in-out .1s; 
         -o-transition: 2s all ease-in-out .1s; 
            transition: 2s all ease-in-out .1s;    
}
/** Sizing **/
.w-20 { min-width: 20%; max-width: 20%; }
.w-30 { min-width: 30%; max-width: 30%; }
.w-33 { min-width: 33%; max-width: 33%; }
.w-40 { min-width: 30%; max-width: 40%; }
.w-50 { min-width: 30%; max-width: 50%; }
.w-60 { min-width: 50%; max-width: 60%; }
.w-70 { min-width: 50%; max-width: 70%; }
.w-80 { min-width: 50%; max-width: 80%; }

@media (min-width: 992px) {
.w-20 { width: 20%; }
.w-30 { width: 30%; }
.w-33 { width: 33%; }
.w-40 { width: 40%; }
.w-50 { width: 50%; }
.w-60 { width: 60%; }
.w-70 { width: 70%; }
.w-80 { width: 80%; }
}
@media (max-width: 992px) {
.w-20, .w-25, .w-30, .w-33, .w-40, .w-50, .w-60, .w-70, .w-75, .w-80 {
    margin-left: auto;
    margin-right: auto;
}
}

@media (max-width: 576px) {
.w-xs-grow {
	width: 100% !important; max-width: 100% !important;
}
}

@media (max-width: 768px) {
.w-sm-grow {
	width: 100% !important; max-width: 100% !important;
}
}

.h-10 { height: auto !important; min-height: 10%; max-height: 70%; }
.h-20 { height: auto !important; min-height: 20%; max-height: 70%; }
.h-30 { height: auto !important; min-height: 30%; max-height: 70%; }
.h-40 { height: auto !important; min-height: 40%; max-height: 70%; }
.h-50 { height: auto !important; min-height: 50%; max-height: 70%; }

.minheight1 {
	min-height: 30%; max-height: 70%; }
	

@media (max-width: 992px) {
.h-10, .h-20, .h-30, .h-40, .h-50 {
	margin-top: auto;
	margin-bottom: auto;
}
}


.valign-middle {
	vertical-align: middle;
}

@media (min-width: 992px) {
	/*.valign-middle * { transform: translate(0%,40%); }*/
}

/** Padding Styles **/
.p-normal { padding: .5rem .5rem; }
@media (min-width: 992px) { 
	.p-normal { padding: 1.3rem 1.3rem; }
}

.display-1 { font-size: 1.8rem; }
.display-2 { font-size: 1.5rem; }
.display-3 { font-size: 1.3rem; }
.display-4 { font-size: 1.1rem; }
.display-5 { font-size: 1rem; }

@media (min-width: 992px) {
	.display-1 { font-size: 3rem; }
	.display-2 { font-size: 2.5rem; }
	.display-3 { font-size: 2rem; }
	.display-4 { font-size: 1.5rem; }
	.display-5 { font-size: 1rem; }
}

.horizontal-spacing * { margin-right: .3rem; }


@media (max-width: 767px) {
.bg-xs-white {
	background-color: #fff;
}
}



/** Border Styles **/
.border-rounded, .rounded {
	border-radius: 0.3rem!important;
}

.textpicBox.rounded img {
	border-radius: 0.3rem!important;
}


/** Opacity **/
.opa-20, .child-opa-20 [class*="heading"] { @include opacity(0.2);}
.opa-30, .child-opa-30 [class*="heading"] { @include opacity(0.3);}
.opa-40, .child-opa-40 [class*="heading"] { @include opacity(0.4);}
.opa-50, .child-opa-50 [class*="heading"] { @include opacity(0.5);}
.opa-60, .child-opa-60 [class*="heading"] { @include opacity(0.6);}
.opa-70, .child-opa-70 [class*="heading"] { @include opacity(0.7);}
.opa-80, .child-opa-80 [class*="heading"] { @include opacity(0.8);}
.opa-90, .child-opa-90 [class*="heading"] { @include opacity(0.9);}

.bg-white.opa-20 {opacity: 1.0; background-color:rgba(255,255,255,0.2) !important;}
.bg-white.opa-30 {opacity: 1.0; background-color:rgba(255,255,255,0.3) !important;}
.bg-white.opa-40 {opacity: 1.0; background-color:rgba(255,255,255,0.4) !important;}
.bg-white.opa-50 {opacity: 1.0; background-color:rgba(255,255,255,0.5) !important;}
.bg-white.opa-60 {opacity: 1.0; background-color:rgba(255,255,255,0.6) !important;}
.bg-white.opa-70 {opacity: 1.0; background-color:rgba(255,255,255,0.7) !important;}
.bg-white.opa-80 {opacity: 1.0; background-color:rgba(255,255,255,0.8) !important;}
.bg-white.opa-90 {opacity: 1.0; background-color:rgba(255,255,255,0.9) !important;}

.bg-cta { background-color: #fd7e14 !important; color: #343a40 !important; }


.bold { font-weight: bold; }
.normal { font-weight: normal; }

.form-control-lg { line-height: 1.5; }

@media (max-width: 992px) {
 .carousel h1, .carousel h2, .carousel h3, .carousel h4, .carousel h5 {
	font-size: 1.3rem;
 }
}

@media (max-width: 575px) { 
.activated-hidden-xs .xs-hidden { display: none; }
}


blockquote {
  background: #f9f9f9;
  border-left: 10px solid #ccc;
  margin: 1.5em 10px;
  padding: 0.5em 10px;
  quotes: "\201C""\201D""\2018""\2019";
}
blockquote:before {
  color: #ccc;
  content: open-quote;
  font-size: 4em;
  line-height: 0.1em;
  margin-right: 0.25em;
  vertical-align: -0.4em;
}
blockquote p {
  display: inline;
}
padding-narrow {
	padding: .25rem 1.25rem;
}

/* BC Styles */

.img-rounded { 	border-radius: 6px; }
.no-padding { padding: 0 !important; }
.pull-center { margin: 0 auto; }



/* Additional Form Element Styles */

form.xmsFormObj span.checkbox input {
    margin-right: 20px;
}

.switch {
  position: relative;
  display: inline-block;
  width: 60px;
  height: 34px;
}

.switch input {display:none;}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 26px;
  width: 26px;
  left: 4px;
  bottom: 4px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(26px);
  -ms-transform: translateX(26px);
  transform: translateX(26px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}

form .aradio span.radio {
  display: block;
}

form .aradio span.radio input {
  margin-right: 5px;
}

.has-spinner .fa-spinner {
  opacity: 0;
  max-width: 0;

  -webkit-transition: opacity 0.25s, max-width 0.45s; 
  -moz-transition: opacity 0.25s, max-width 0.45s;
  -o-transition: opacity 0.25s, max-width 0.45s;
  transition: opacity 0.25s, max-width 0.45s; /* Duration fixed since we animate additional hidden width */
}

.has-spinner.active {
  cursor:progress;
}

.has-spinner.active .fa-spinner {
  opacity: 1;
  max-width: 50px; /* More than it will ever come, notice that this affects on animation duration */
}



.card-element {
   min-height: 100%;
}

.card:active, .card:hover {
    box-shadow: 0 4px 8px rgb(0 0 0 / 25%), 0 2px 2px rgb(0 0 0 / 22%);
}

.card-flip {
    position: relative;
    width: 100%;
    height: 100%;
}

.flip-side-elem {
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden; /* Safari */
    width: 100%;
    height: 100%;
    margin: 0;
    display:flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.25rem;
}
  
.flip-side-front {
    transform: rotateY(0deg);
    background-color: #1E264E;
    color: #fff;
    z-index: 2;
    display:block;
    padding-bottom: 1em;
}
  
.flip-side-front div {
    z-index: 4;
}
  
.flip-side-back {
    position: absolute;
    transform: rotateY(180deg);
    color: #1E264E;
    z-index: 1;
}
  
  .card-flip:hover .flip-side-front {
    transition: transform 1s;
    transform-style: preserve-3d;
    transform: rotateY(-180deg);
  }

  .card-flip:hover .flip-side-back {
    transition: transform 1s;
    transform-style: preserve-3d;
    transform: rotateY(0deg);
  }
.card-header small {
    color: var(--mdb-white);
}

.card-green .card-header,
.card-invite .card-header,
.card-gast .card-header,
.card-live .card-header {
    background-color: #93b23c;
}
.card-green .btn,
.card-invite .btn,
.card-gast .btn,
.card-live .btn {
    background-color: #93b23c;
    border-color: #93b23c;
}
.card-green del,
.card-invite del,
.card-gast del,
.card-live del {
    text-decoration: line-through;
   text-decoration-color: #93b23c;
}

.card-green .card-body,
.card-invite .card-body,
.card-gast .card-body,
.card-live .card-body {
    background-color:#cad6e7; 
}
.card-green .card-body.featureBox,
.card-invite .card-body.featureBox,
.card-gast .card-body.featureBox,
.card-live .card-body.featureBox {
    background-color: #93b23c6e;
}


.card-green .list-group-item,
.card-invite .list-group-item,
.card-gast .list-group-item,
.card-live .list-group-item {
    background-color:#cad6e7; 
}
.card-green .card-footer,
.card-invite .card-footer,
.card-gast .card-footer,
.card-live .card-footer {
    background-color:#cad6e7; 
    border-color:#cad6e7; 
    padding-top: 2em;
}
   

.card-red .card-header,
.card-archiv .card-header,
.card-premium:not(.card-green) .card-header {
    background-color: #ce186c;
}
.card-red .btn,
.card-archiv .btn,
.card-premium:not(.card-green) .btn {
    background-color: #ce186c;
    border-color: #ce186c;
}
.card-red .del,
.card-archiv .del,
.card-premium:not(.card-green) del {
text-decoration: line-through;
text-decoration-color: #ce186c;
}

.card-red .card-body,
.card-archiv .card-body,
.card-premium:not(.card-green) .card-body {
background-color:#cad6e7; 
}
.card-red .list-group-item,
.card-archiv .list-group-item,
.card-premium:not(.card-green) .list-group-item {
background-color:#cad6e7; 
}
.card-red .card-footer,
.card-archiv .card-footer,
.card-premium:not(.card-green) .card-footer {
background-color:#cad6e7; 
border-color:#cad6e7; 
padding-top: 2em;
}
.card-red .card,
.card-archiv .card,
.card-premium:not(.card-green) .card {
background-color:#cad6e7 !important; 
}
/* BLUe */
.card-blue .card-header {
    background-color: var(--mdb-blue);
}
.card-blue .btn {
    background-color: var(--mdb-blue);
    border-color: var(--mdb-blue);
}
.card-blue del {
text-decoration: line-through;
text-decoration-color: var(--mdb-blue);
}

.card-blue h2 {
    color: var(--mdb-dark);
}
.card-blue .card-body {
background-color:#cad6e7; 
}
.card-blue .card-body.featureBox {
    background-color: rgb(33, 150, 243, .6);
}

.card-blue .list-group-item {
background-color:#cad6e7; 
}
.card-blue .card-footer {
background-color:#cad6e7; 
border-color:#cad6e7; 
padding-top: 2em;
}
.card-blue .card {
background-color:#cad6e7 !important; 
}

/* Teal */

.card-teal .card-header {
    background-color: var(--mdb-teal);
}
.card-teal .btn {
    background-color: var(--mdb-teal);
    border-color: var(--mdb-teal);
}
.card-teal del {
text-decoration: line-through;
text-decoration-color: var(--mdb-teal);
}
.card-teal h2 {
color: var(--mdb-dark);
}


.card-teal .card-body {
background-color:#cad6e7; 
}
.card-teal .list-group-item {
background-color:#cad6e7; 
}
.card-teal .card-footer {
background-color:#cad6e7; 
border-color:#cad6e7; 
padding-top: 2em;
}
.card-teal .card {
background-color:#cad6e7 !important; 
}

/* Orange */

.card-orange .card-header {
    background-color: var(--mdb-orange);
}
.card-orange .btn {
    background-color: var(--mdb-orange);
    border-color: var(--mdb-orange);
}
.card-orange del {
text-decoration: line-through;
text-decoration-color: var(--mdb-orange);
}
.card-orange h2 {
color: var(--mdb-dark);
}

.card-orange .card-body {
background-color:#cad6e7; 
}
.card-orange .card-body.featureBox {
    background-color: #ff990067 ;
}

.card-orange .list-group-item {
background-color:#cad6e7; 
}
.card-orange .card-footer {
background-color:#cad6e7; 
border-color:#cad6e7; 
padding-top: 2em;
}
.card-orange .card {
background-color:#cad6e7 !important; 
}

.card .card-body.featureBox ul {
    opacity: initial;
}

.card-featured {
    border-color: #e74c3c !important;
    transform: scale(1.01, 1.05);
}

/* Freemium Ticket-Karte */
.card-freemium .card-header {
  background-color: var(--shift-primary, #000a30);
  color: #fff;
}
.card-freemium .btn {
  background-color: var(--shift-primary, #000a30);
  border-color: var(--shift-primary, #000a30);
}
.card-freemium del {
  text-decoration: line-through;
  text-decoration-color: var(--shift-primary, #000a30);
}
.card-freemium h3 {
  color: var(--shift-primary, #000a30);
}
.card-freemium .card-body {
  background-color: var(--cta-card-body, #cad6e7);
}
.card-freemium .list-group-item {
  background-color: var(--cta-card-body, #cad6e7);
}
.card-freemium .card-footer {
  background-color: var(--cta-card-body, #cad6e7);
  border-color: var(--cta-card-body, #cad6e7);
  padding-top: 2em;
}

/* Convention Ticket-Varianten */
.ticketBox.conv .card-berater .card-header { background-color: var(--ticket-conv-berater, #461d67); }
.ticketBox.conv .card-berater .item-header { margin-top: 1em; color: #ffffff; }
.ticketBox.conv .card-berater .btn { background-color: var(--ticket-conv-berater, #461d67); border-color: var(--ticket-conv-berater, #461d67); }
.ticketBox.conv .card-berater del { text-decoration: line-through; text-decoration-color: var(--ticket-conv-berater, #461d67); }
.ticketBox.conv .card-berater .card-body { background-color: var(--cta-card-body, #cad6e7); }
.ticketBox.conv .card-berater .list-group-item { background-color: var(--cta-card-body, #cad6e7); }
.ticketBox.conv .card-berater .card-footer { background-color: var(--cta-card-body, #cad6e7); border-color: var(--cta-card-body, #cad6e7); padding-top: 2em; }
.ticketBox.conv .card-berater .card { background-color: var(--cta-card-body, #cad6e7) !important; }

.ticketBox.conv .card-anwender .card-header { background-color: var(--ticket-conv-anwender, #01011a); }
.ticketBox.conv .card-anwender .item-header { margin-top: 1em; color: #ffffff; }
.ticketBox.conv .card-anwender .btn { background-color: var(--ticket-conv-anwender, #01011a); border-color: var(--ticket-conv-anwender, #01011a); }
.ticketBox.conv .card-anwender del { text-decoration: line-through; text-decoration-color: var(--ticket-conv-anwender, #01011a); }
.ticketBox.conv .card-anwender .card-body { background-color: var(--cta-card-body, #cad6e7); }
.ticketBox.conv .card-anwender .list-group-item { background-color: var(--cta-card-body, #cad6e7); }
.ticketBox.conv .card-anwender .card-footer { background-color: var(--cta-card-body, #cad6e7); border-color: var(--cta-card-body, #cad6e7); padding-top: 2em; }
.ticketBox.conv .card-anwender .card { background-color: var(--cta-card-body, #cad6e7) !important; }
/* header-as-caption.css */
.header-as-caption {
    position: relative;
}

.header-as-caption .container {
    position: relative;
}


.header-as-caption .content-header {
    position: absolute;
    z-index: 1;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
    height: auto;
    width: auto;
}

.header-as-caption .content-header h1,
 .header-as-caption .content-header h2,
 .header-as-caption .content-header h3,
 .header-as-caption .content-header h4,
 .header-as-caption .content-header h5,
 .header-as-caption .content-header h6 {
    font-size: 1.4rem !important;
}

.header-as-caption-left .content-header {
    position: absolute;
    left: 45px;
    bottom: 30%;
}

.header-as-caption-right .content-header {
    position: absolute;
    top: 50%;
    right: 10%;
    max-width: 80%;
    padding: .5rem;
}


.header-as-caption .content-header .subheader {
 display: inline;
}



.header-as-caption.bg-transparent .content-header, .header-as-caption.bg-header-transparent .heading, .header-as-caption.bg-subheader-transparent .subheader {
	background-color: transparent !important;
}

div.header-as-caption[class*=" bg-header-"] .heading, div.header-as-caption[class*=" bg-subheader-"] .subheader {
	padding: .5rem;
}

.header-as-caption.bg-white .content-header, .header-as-caption.bg-header-white .heading, .header-as-caption.bg-subheader-white .subheader {
	background-color: #ffffff !important;
	display: inline;
}

.header-as-caption.bg-yellow .content-header, .header-as-caption.bg-header-yellow .heading, .header-as-caption.bg-subheader-yellow .subheader {
	background-color: #ffed00 !important;
	display: inline;
	color: #000 !important;
}

.header-as-caption.bg-blue .content-header, .header-as-caption.bg-header-blue .heading, .header-as-caption.bg-subheader-blue .subheader {
	background-color: #0068a9 !important;
	display: inline;
	color: #ffffff !important;
}

.header-as-caption.bg-green .content-header, .header-as-caption.bg-header-green .heading, .header-as-caption.bg-subheader-green .subheader {
	background-color: #00903c !important;
	display: inline;
	color: #ffffff !important;
}

.header-as-caption.bg-red .content-header, .header-as-caption.bg-header-red .heading, .header-as-caption.bg-subheader-red .subheader {
	background-color: #e40c2e !important;
	display: inline;
	color: #ffffff !important;
}

.header-as-caption.bg-orange .content-header, .header-as-caption.bg-header-orange .heading, .header-as-caption.bg-subheader-orange .subheader {
	background-color: #ec6702 !important;
	display: inline;
	color: #ffffff !important;
}


.header-as-caption.bg-iomblue .content-header, .header-as-caption.bg-header-iomblue .heading, .header-as-caption.bg-subheader-iomblue .subheader {
	background-color: #0199ff !important;
	display: inline;
	color: #ffffff !important;
}

.header-as-caption.bg-ertblue .content-header, .header-as-caption.bg-header-ertblue .heading, .header-as-caption.bg-subheader-ertblue .subheader {
	background-color: #00aff2 !important;
	display: inline;
	color: #ffffff !important;
}



.header-as-caption.negative .content-header, .header-as-caption.bg-header-negative .heading, .header-as-caption.bg-subheader-negative .subheader {
	color: #ffffff;
	background-color: transparent !important;
	mix-blend-mode: difference;
}

.header-as-caption.wellbox .content-header {
	border-radius: 6px;
	padding: .7rem;
	line-height: 1.2rem;
}

.header-as-caption br {
    /*display: none;*/
}


@media (max-width: 768px) {
    .header-as-caption .content-header  {
	display: none;
    }
}

a:is(.underline) {
  text-decoration: underline;
}

a:not(.underline) {
 text-decoration: none;
}

a:hover:not(.nav-link) {
 text-decoration: underline;
}

a:not(.footerLink):not(.btn):not(.nav-link):not(.text-white):not(.not-bold):first-child {
   color: #343A40;
   font-weight: bolder;
}

.bg-dark.text-white a:not(.footerLink):not(.btn):not(.nav-link):not(.text-white) {
   color: #ffffff;
}


div.articleBody a:not(.btn) {
    color: #0d6efd !important;
}

/* Mega Men�*/

.mega-dropdown-menu a {
    color: #343A40;
    text-decoration: none;
}

.mega-dropdown-menu a:hover {
    	text-decoration: underline;
}


.mega-dropdown-menu li {
	padding: 0.2rem;
	border: 0px;
}


/******* ++ TABBED CONTENT +++ **************/

div.tab-content {
	background-color: #fff;
	position: relative;
	border-top-right-radius: 4px;
}

.nav-tabs li.nav-item > a {
	background: #f2f2f2;
	border-color: #fff #fff #fff;
}

.nav-tabs li.nav-item > a:hover {
	background-color: #eff0f2;
}

.nav-tabs li.nav-item > a.active {
	border-color: #dee2e6 #dee2e6 #fff;
	color: #495057;
	background-color: #fff;
}

.tab-pane {
	padding: 15px 15px;
	min-height: 120px;
}

.no-padding .tab-pane {
	padding: 15px 0px !important;
}


.tab-content {
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
}

.no-border .tab-content {
	border: none !important;
}

ul#tabbedBox {
	margin-bottom: 0px !important;
}

.tabbedBox-content {
	margin-left: 150px;	
	padding-top: 10px;
}

.carousel-control-next, .carousel-control-prev {
    background-color: rgb(37 43 49 / 35%);
}

#agendaBox .carousel-control-next, #agendaBox .carousel-control-prev {
    background-color: rgb(37 43 49 / 35%);
}



.carousel-control-next:hover, .carousel-control-prev:hover {
    background-color: rgba(0,123,255,.5);
}

#agendaBox .carousel-control-next:hover, #agendaBox .carousel-control-prev:hover {
    background-color: rgba(0,123,255,.5);
}


.contentincluder .carousel-control-next, .contentincluder .carousel-control-prev {
    background-color: transparent;
}

#agendaBox .carousel-item .card {
  /*transition: 250ms all;*/
}
#agendaBox .carousel-item .card:hover {
  /*margin 0 10px;*/
  /*transform: scale(1.05);*/
}

#agendaBox .card:active, #agendaBox .card:hover {
    box-shadow: 0 4px 8px rgb(0 0 0 / 25%), 0 2px 2px rgb(0 0 0 / 22%);
    z-index: 101;
}

.del { text-decoration: line-through; }
.highlight { margin-left: 5px; }

.img-rounded figure img { 
	border-radius: .25rem !important;
}

.card figure {
	margin: 0 0;
}


/* ************* ++ Fallback ++ **********/
.float-left { 
  float:left;
  margin-right: 15px;
}

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

/******* ++ Vertical Carousel +++ **************/

.vertical .carousel-inner {
  height: 100%;
}

.carousel.vertical .item {
  -webkit-transition: 0.6s ease-in-out top;
     -moz-transition: 0.6s ease-in-out top;
      -ms-transition: 0.6s ease-in-out top;
       -o-transition: 0.6s ease-in-out top;
          transition: 0.6s ease-in-out top;
}

.carousel.vertical .active {
  top: 0;
}

.carousel.vertical .next {
  top: 100%;
}

.carousel.vertical .prev {
  top: -100%;
}

.carousel.vertical .next.left,
.carousel.vertical .prev.right {
  top: 0;
}

.carousel.vertical .active.left {
  top: -100%;
}

.carousel.vertical .active.right {
  top: 100%;
}

.carousel.vertical .item {
    left: 0;
}


/******* ++ Nav Arrows CONTENT +++ **************/
.arrow {
  border: solid black;
  border-width: 0 3px 3px 0;
  display: inline-block;
  padding: 3px;
}

.arrow-right {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.arrow-left {
  transform: rotate(135deg);
  -webkit-transform: rotate(135deg);
}

.arrow-up {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

.arrow-down {
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

/******* ++ ModalBox +++ **************/

@media (min-width: 992px)
.modal-lg {
    max-width: 1000px;
}


/******* ++ BreakBox Header +++ **************/

.breakboxHeader {
    color: #ffffff;
}

.breakboxHeader .subheader {
    background-color: var(--shift-breakbox, #0068a9) !important;
    display: inline-block;
    color: #ffffff !important;
    font-weight: normal;
    padding: .8rem;
}

/* Spezialagenda — Tab-basierte Agenda-Darstellung
   Zentrale Basis-Styles, projektspezifische Farben via --shift-primary */

.specialagenda .tab-content .tab-pane {
  background-color: #fff !important;
}

.specialagenda .nav-item .nav-link {
  color: var(--shift-primary, #02072c) !important;
  background-color: #c0c0c0 !important;
}

.specialagenda .nav-item .nav-link.active {
  color: var(--shift-primary, #02072c) !important;
  background-color: #fff !important;
}

/**
 * XMS Events - Hero Feature & Timeline Blocks
 * 
 * CSS für Homepage-Darstellungen:
 * - Hero Feature: Prominenter Einzelevent-Teaser
 * - Timeline Blocks: Kompakter Jahresüberblick
 * 
 * Basiert auf Bootstrap 5 Variablen
 * 
 * @package xms_events
 * @version 1.0.0
 */

/* =============================================================================
   HERO FEATURE
   ============================================================================= */

.hero-feature {
    padding: 2rem 0;
}

/* Header Row */
.hero-feature__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
    flex-wrap: wrap;
    gap: 1rem;
}

.hero-feature__meta {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-size: 0.875rem;
    color: var(--bs-secondary, #6c757d);
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.hero-feature__label {
    font-weight: 600;
}

.hero-feature__separator {
    opacity: 0.5;
}

.hero-feature__date {
    font-weight: 500;
}

.hero-feature__type {
    text-transform: uppercase;
}

.hero-feature__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--bs-primary, #0d6efd);
    text-decoration: none;
    font-weight: 500;
    transition: gap 0.2s ease;
}

.hero-feature__cta:hover {
    gap: 0.75rem;
    text-decoration: none;
}

.hero-feature__cta-arrow {
    transition: transform 0.2s ease;
}

.hero-feature__cta:hover .hero-feature__cta-arrow {
    transform: translateX(2px);
}

/* Title & Description */
.hero-feature__title {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    margin-bottom: 0.75rem;
    color: var(--bs-dark, #212529);
}

.hero-feature__description {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--bs-secondary, #6c757d);
    margin-bottom: 2rem;
    max-width: 80ch;
}

/* Section Titles */
.hero-feature__section-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 1.25rem;
    color: var(--bs-dark, #212529);
}

/* =============================================================================
   SPEAKERS
   ============================================================================= */

.hero-feature__speakers {
    margin-bottom: 2.5rem;
}

.hero-feature__speaker-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.speaker-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    width: 140px;
}

.speaker-card__image {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    margin-bottom: 0.75rem;
    filter: grayscale(20%);
    transition: filter 0.2s ease;
}

.speaker-card:hover .speaker-card__image {
    filter: grayscale(0%);
}

.speaker-card__placeholder {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background-color: var(--bs-gray-300, #dee2e6);
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 0.75rem;
}

.speaker-card__placeholder-icon {
    width: 40px;
    height: 40px;
    color: var(--bs-gray-500, #adb5bd);
}

.speaker-card__info {
    line-height: 1.3;
}

.speaker-card__name {
    font-weight: 600;
    font-size: 0.9375rem;
    color: var(--bs-dark, #212529);
}

.speaker-card__position,
.speaker-card__company {
    font-size: 0.8125rem;
    color: var(--bs-secondary, #6c757d);
}

/* =============================================================================
   LEITFRAGEN
   ============================================================================= */

.hero-feature__leitfragen {
    margin-bottom: 2.5rem;
}

.hero-feature__leitfragen-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 1rem;
}

.leitfrage {
    background-color: var(--bs-light, #f8f9fa);
    border-left: 3px solid var(--bs-primary, #0d6efd);
    padding: 1rem 1.25rem;
    font-size: 0.9375rem;
    line-height: 1.5;
    color: var(--bs-dark, #212529);
}

/* =============================================================================
   PARTNERS
   ============================================================================= */

.hero-feature__partners {
    padding-top: 1.5rem;
    border-top: 1px solid var(--bs-border-color, #dee2e6);
}

.hero-feature__partner-label {
    display: block;
    font-size: 0.75rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    color: var(--bs-secondary, #6c757d);
    margin-bottom: 1rem;
}

.hero-feature__partner-logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2rem;
}

.partner-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
}

.partner-logo__img {
    max-height: 40px;
    width: auto;
    filter: grayscale(100%);
    opacity: 0.7;
    transition: all 0.2s ease;
}

.partner-logo:hover .partner-logo__img {
    filter: grayscale(0%);
    opacity: 1;
}

.partner-logo__name {
    font-size: 0.875rem;
    color: var(--bs-secondary, #6c757d);
    font-weight: 500;
}

.partner-logo:hover .partner-logo__name {
    color: var(--bs-primary, #0d6efd);
}

/* =============================================================================
   TIMELINE BLOCKS
   ============================================================================= */

.timeline-blocks {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.timeline-block {
    display: grid;
    grid-template-columns: 100px 1fr auto;
    gap: 1.5rem;
    align-items: center;
    padding: 1.25rem;
    border: 1px solid var(--bs-border-color, #dee2e6);
    border-radius: 0.5rem;
    background-color: var(--bs-white, #fff);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.timeline-block:hover {
    border-color: var(--bs-gray-400, #ced4da);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

/* Next Event Highlight */
.timeline-block--next {
    border-color: var(--bs-primary, #0d6efd);
    border-left-width: 3px;
    background-color: rgba(var(--bs-primary-rgb, 13, 110, 253), 0.02);
}

.timeline-block--next:hover {
    border-color: var(--bs-primary, #0d6efd);
}

/* Date Column */
.timeline-block__date {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    line-height: 1.1;
}

.timeline-block__month {
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
    color: var(--bs-primary, #0d6efd);
    letter-spacing: 0.05em;
}

.timeline-block__day {
    font-size: 1.75rem;
    font-weight: 700;
    color: var(--bs-dark, #212529);
    line-height: 1.1;
}

.timeline-block__year {
    font-size: 0.75rem;
    color: var(--bs-secondary, #6c757d);
}

/* Content Column */
.timeline-block__content {
    min-width: 0; /* Prevent overflow */
}

.timeline-block__title {
    font-size: 1.125rem;
    font-weight: 600;
    margin-bottom: 0.25rem;
    color: var(--bs-dark, #212529);
    line-height: 1.3;
}

.timeline-block__description {
    font-size: 0.9375rem;
    color: var(--bs-secondary, #6c757d);
    margin-bottom: 0;
    line-height: 1.5;
}

/* CTA Column */
.timeline-block__cta {
    flex-shrink: 0;
}

.timeline-block__link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--bs-primary, #0d6efd);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.9375rem;
    white-space: nowrap;
    transition: gap 0.2s ease;
}

.timeline-block__link:hover {
    gap: 0.75rem;
    text-decoration: none;
}

.link-arrow {
    transition: transform 0.2s ease;
}

.timeline-block__link:hover .link-arrow {
    transform: translateX(2px);
}

/* =============================================================================
   RESPONSIVE
   ============================================================================= */

@media (max-width: 767.98px) {
    /* Hero Feature */
    .hero-feature__header {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .hero-feature__title {
        font-size: 1.5rem;
    }
    
    .hero-feature__speaker-grid {
        justify-content: center;
    }
    
    .speaker-card {
        width: 120px;
    }
    
    .speaker-card__image,
    .speaker-card__placeholder {
        width: 80px;
        height: 80px;
    }
    
    .hero-feature__leitfragen-grid {
        grid-template-columns: 1fr;
    }
    
    .hero-feature__partner-logos {
        gap: 1.5rem;
    }
    
    /* Timeline Blocks */
    .timeline-block {
        grid-template-columns: 80px 1fr;
        grid-template-rows: auto auto;
    }
    
    .timeline-block__date {
        grid-row: span 2;
    }
    
    .timeline-block__cta {
        grid-column: 2;
        justify-self: start;
        margin-top: 0.5rem;
    }
    
    .timeline-block__day {
        font-size: 1.5rem;
    }
}

@media (max-width: 575.98px) {
    /* Timeline noch kompakter */
    .timeline-block {
        grid-template-columns: 70px 1fr;
        gap: 1rem;
        padding: 1rem;
    }
    
    .timeline-block__day {
        font-size: 1.25rem;
    }
    
    .timeline-block__title {
        font-size: 1rem;
    }
    
    .timeline-block__description {
        font-size: 0.875rem;
    }
}

/* =============================================================================
   XMS Events — Stage / Masthead
   Einbinden in: EXT:xms_events/Resources/Public/Css/EventStage.css
   ============================================================================= */

/* -----------------------------------------------------------------------------
   Badge: Titel | Typ | Datum
   ----------------------------------------------------------------------------- */
.xms-event-stage__badge {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    padding: 5px 14px;
}

.xms-event-stage__badge-title {
    font-size: 0.75rem;
    font-weight: 500;
    color: rgba(255, 255, 255, 0.85);
    white-space: nowrap;
}

.xms-event-stage__badge-sep {
    font-size: 0.75rem;
    color: rgba(255, 255, 255, 0.25);
    margin: 0 8px;
}

.xms-event-stage__badge-meta {
    font-size: 0.75rem;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.55);
    white-space: nowrap;
}


/* -----------------------------------------------------------------------------
   Storyline — Hero-Headline
   ----------------------------------------------------------------------------- */
.xms-event-stage__storyline {
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.2;
    color: #ffffff;
}

@media (min-width: 992px) {
    .xms-event-stage__storyline {
        font-size: 2.5rem;
    }
}


/* -----------------------------------------------------------------------------
   Teaser — CTA Begleittext
   ----------------------------------------------------------------------------- */
.xms-event-stage__teaser {
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.75);
    max-width: 560px;
}

/* =============================================================================
   XMS Events — Social Proof Bar
   Einbinden in: EXT:xms_events/Resources/Public/Css/EventSocialProof.css
   ============================================================================= */


/* -----------------------------------------------------------------------------
   Wrapper
   ----------------------------------------------------------------------------- */
.xms-social-proof {
    border-top: 0.5px solid var(--bs-border-color, #dee2e6);
    border-bottom: 0.5px solid var(--bs-border-color, #dee2e6);
}


/* -----------------------------------------------------------------------------
   Stats Bar
   ----------------------------------------------------------------------------- */
.xms-social-proof__stats {
    background-color: var(--bs-light, #f8f9fa);
    padding: 1.5rem 0;
    border-bottom: 0.5px solid var(--bs-border-color, #dee2e6);
}

.xms-social-proof__stats-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0;
}

/* Trennlinie zwischen Stats */
.xms-social-proof__sep {
    width: 1px;
    height: 2.5rem;
    background-color: var(--bs-border-color, #dee2e6);
    flex-shrink: 0;
}

/* Einzelne Stat */
.xms-social-proof__stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 0 2.5rem;
}

.xms-social-proof__stat-value {
    font-size: 1.75rem;
    font-weight: 500;
    line-height: 1;
    color: var(--bs-body-color, #212529);
}

.xms-social-proof__stat-label {
    font-size: 0.7rem;
    color: var(--bs-secondary-color, #6c757d);
    margin-top: 0.3rem;
    white-space: nowrap;
}

/* Responsive: Stats untereinander auf kleinen Screens */
@media (max-width: 575.98px) {
    .xms-social-proof__stats-inner {
        gap: 1rem;
    }

    .xms-social-proof__sep {
        display: none;
    }

    .xms-social-proof__stat {
        padding: 0 1rem;
        flex-direction: row;
        gap: 0.5rem;
        align-items: baseline;
    }
}


/* -----------------------------------------------------------------------------
   Quote Row
   ----------------------------------------------------------------------------- */
.xms-social-proof__quote {
    background-color: #fff;
    padding: 1.25rem 0;
}

.xms-social-proof__quote-inner {
    display: flex;
    align-items: center;
    gap: 1.25rem;
}

/* Initialen-Avatar */
.xms-social-proof__avatar {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: var(--bs-primary-bg-subtle, #cfe2ff);
    color: var(--bs-primary-text-emphasis, #052c65);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 500;
    flex-shrink: 0;
}

/* Blockquote */
.xms-social-proof__blockquote {
    margin: 0;
    padding: 0;
    border-left: 2px solid var(--bs-border-color, #dee2e6);
    padding-left: 1rem;
}

.xms-social-proof__quote-text {
    font-size: 0.875rem;
    line-height: 1.6;
    color: var(--bs-body-color, #212529);
    font-style: italic;
    margin-bottom: 0.25rem;
}

.xms-social-proof__quote-author {
    font-size: 0.7rem;
    color: var(--bs-secondary-color, #6c757d);
    font-style: normal;
}

/* Responsive */
@media (max-width: 575.98px) {
    .xms-social-proof__quote-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
    }
}
/* shiftfinance — Projekt-Theme (Neu-Stack KON-004) */
/* Nur seiten- und element-spezifische Ausnahmen. */
/* Token-Basis: --shift-* werden perspektivisch nach xms-tokens.css/.theme-shiftfinance verschoben. */

:root {
  --shift-primary: #01aeff;
  --shift-accent: #069aa2;
  --shift-btn: #01aeff;
  --shift-subheader: #e94a86;
  --shift-secondary: #f2f5f7;
  --shift-breakbox: #e94a86;
}

/* Stage-Hintergründe */
#page-904 #slide1, #page-904 #slide4, #page-904 #slide6, #page-904 #slide8,
#page-10776 #slide4,
#page-11393 #slide3, #page-11393 #slide4 {
  background: url(/fileadmin/images/event_banner/shift-finance/plattform/shift-finance.background.2000x600.jpg) no-repeat center center fixed;
  background-size: cover;
}

/* Event.Net Navigationseintrag */
#nav-item-11779 {
  background-color: #e3212f !important;
  font-weight: bold;
}

/* Highlight-Navigation */
#navlink11411 {
  background: #00aff2;
  color: #fff;
  font-weight: bold;
}

#drop907, #drop907 a {
  background-color: #00aff2;
  color: #fff;
  font-weight: bold;
}

#drop10296, #drop10296 a {
  background-color: #00aff2;
  color: #fff;
}

/* Mediathek-Tabelle (#c49938) */
div#c49938 table.table td:first-child,
div#c49938 table.table th:first-child { width: 40%; }
div#c49938 table.table td:nth-child(2),
div#c49938 table.table th:nth-child(2) { width: 20%; text-align: center; }
div#c49938 table.table td:nth-child(3),
div#c49938 table.table th:nth-child(3) { width: 20%; text-align: center; }
div#c49938 table.table td:nth-child(4),
div#c49938 table.table th:nth-child(4) { width: 20%; text-align: center; }
div#c49938 table.table thead tr { background-color: #00aff2; color: #fff; }
div#c49938 table.table tbody tr:nth-child(4),
div#c49938 table.table tbody tr:nth-child(9) { background-color: #dee2e6; }
div#c49938 table.table tbody tr:nth-child(3) td { vertical-align: bottom; }
div#c49938 table.table tbody tr:nth-child(3) td:nth-child(1) { vertical-align: top; }

/* Webinare-Tabelle (#c48659) */
div#c48659 table.table td:first-child,
div#c48659 table.table th:first-child { width: 25%; }
div#c48659 table.table td:nth-child(2),
div#c48659 table.table th:nth-child(2) { width: 15%; }
div#c48659 table.table td:nth-child(3),
div#c48659 table.table th:nth-child(3) { width: 15%; text-align: center; }
div#c48659 table.table td:nth-child(4),
div#c48659 table.table th:nth-child(4) { width: 15%; text-align: center; }
div#c48659 table.table td:nth-child(5),
div#c48659 table.table th:nth-child(5) { width: 15%; text-align: center; }
div#c48659 table.table td:nth-child(6),
div#c48659 table.table th:nth-child(6) { width: 15%; text-align: center; }
div#c48659 table.table thead tr { background-color: #00aff2; color: #fff; }
