/* roboto-100 - latin */
@font-face {
	font-display: swap;
	/* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "Roboto";
	font-style: normal;
	font-weight: 100;
	src: url("/files/fonts/roboto-v30-latin-100.woff2") format("woff2");
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-regular - latin */
@font-face {
	font-display: swap;
	/* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "Roboto";
	font-style: normal;
	font-weight: 400;
	src: url("/files/fonts/roboto-v30-latin-regular.woff2") format("woff2");
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-700 - latin */
@font-face {
	font-display: swap;
	/* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "Roboto";
	font-style: normal;
	font-weight: 700;
	src: url("/files/fonts/roboto-v30-latin-700.woff2") format("woff2");
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* roboto-900 - latin */
@font-face {
	font-display: swap;
	/* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
	font-family: "Roboto";
	font-style: normal;
	font-weight: 900;
	src: url("/files/fonts/roboto-v30-latin-900.woff2") format("woff2");
	/* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
	--swiper-navigation-color: white;
	--swiper-navigation-sides-offset: 0;
	--color-cx: rgba(123,215,213,1);
	--color-auto: #9c54d8;
	--color-util: #059ad4;
}

.animate__superslow {
	-webkit-animation-duration: 30s;
    animation-duration: 30s;
    -webkit-animation-duration: calc(var(--animate-duration)* 30);
    animation-duration: calc(var(--animate-duration)* 30);
}

.accordion {
	--bs-accordion-btn-bg: black;
	--bs-accordion-btn-color: white;
	--bs-accordion-bg: black;
	--bs-accordion-color: white;
}

.accordion-item {
	--bs-accordion-active-color: white;
}

.container-fluid {
	border-bottom: 3px solid white;
}

h2.boxdeco {
	padding-left: .5em;
	position: relative;
}

h2.boxdeco:before {
	content: "";
	height: 1.5em;
	width: 1em;
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border: 3px solid #059ad4;
	z-index: -1;
}

body {
	background-color: black;
	color: white;
}

#persons {
	height: 550px !important;
	max-height: unset !important;
}

#opener {
	background: url("/files/cronosphere26/assets/pictures/cronosphere-26_header.jpg");
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 600px;
	background-repeat: no-repeat;
}

#persons img {
	border: 1px solid white;
	border-radius: 500px;
}

h2::before {
	display: block;
	border: 1px solid #059ad4;
	width: 1em;
	height: 2em;
}

#intro {
	background: url("/files/cronosphere24/assets/pictures/dotscape_long.jpg");
	background-size: cover;
	background-position: center 86%;
}

#opener .small {
	font-weight: 300;
}
#opener .headline {
	line-height: 1.3em;
	font-size: min(60px, calc(12px + 4vw));
	text-align: center;
	display: inline-block;
	padding: 0.1em 1em;
}
	#opener #header {
		top: 65%;
		left: 50%;
		transform: translate(-50%, -50%);
		position: absolute;
		text-align: center;

	}
	#opener h1.headline {
		font-weight: 100;
	}
.date {
	font-size: 60px;
	margin-top: 1rem;
}
 @media (max-width: 1815px) {
 	#opener #header {
 		top: 58%;
 	}
 }
  @media (max-width: 991px) {
 	#opener {
 		min-height: 400px;
 	}
 }
   @media (max-width: 767px) {
 	.date {
 		font-size: 40px;
 	}
 }
    @media (max-width: 500px) {
 	#opener {
 		min-height: 280px;
 	}
 	 #opener #header {
 		top: 53%;
 	}
 }
     @media (max-width: 450px) {
  .date {
    font-size: 30px;
  }
    #opener #header {
    top: 55%;
  }
 }
button#header-cta {
	background: transparent;
	background: #000000a3;
	border: 1px solid white;
	padding: 0.2em 0.5em;
	font-weight: 900;
	font-size: 1.2rem;
	transition: all 0.3s ease-in-out;
}

button#header-cta:hover {
	background: white;
	color: black;
}

#partner {
	display: flex;
}

html,
body {
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 1rem;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: 700;
}

:root {
	--cronos-color: #059ad4;
}
.container {
	margin: 40px auto;
}

.divider {
	background-size: cover !important;
	background-position: bottom !important;
	height: 25vh;
	min-height: 150px;
	max-height: 400px;
}

.blob {
	background-size: contain;
	display: flex;
	justify-content: center;
	background-position: center;
}

.blob img {
	width: 70%;
}

.highlight {
	color: var(--cronos-color) !important;
	text-transform: uppercase !important;
	background: none !important;
}

.blob-1 {
	background-image: url("/files/cronosphere23/assets/blob_1.png");
}

.blob-2 {
	background-image: url("/files/cronosphere23/assets/blob_2.png");
}

.slim {
	font-weight: 300;
	color: var(--cronos-color);
	margin-bottom: 0;
}
#masterclasses .time, #mainstage .time, #rahmenprogramm .time{
    font-weight: 300;
    margin-right: 1em;
}
#persons {
	color: white;
}

#persons .text-container {
	text-align: center;
}

#persons .highlight {
	display: inline-block;
	padding: 0.1em 0.5em;
	margin: 0.5em;
	background: white !important;
	text-transform: uppercase;
	font-weight: 700;
	font-size: 2rem;
	color: var(--cronos-color);
}

#persons h3 {
	margin-bottom: 0;
}

#persons .position {
	font-weight: 300;
	font-size: 1.4rem;
	line-height: 1.5rem;
}

.accordion-item {
	/** Change these colors for the active state */
	--bs-accordion-active-color: var(--bs-primary-text-emphasis);
	--bs-accordion-active-bg: rgba(5, 154, 212, 0.5);
}

.accordion-item.disabled .accordion-button {
	cursor: auto !important;
}

.accordion-item.disabled .accordion-button::after {
	display: none !important;
}

.accordion-item.disabled .accordion-button:hover {
	border: none !important;
}

#hafen12-divider,
#room-divider {
	background-attachment: fixed !important;
}

#partner {
	border-bottom: 2px solid black;
}

.icon img {
	height: 150px;
}

@media only screen and (max-width: 767px) {
	.mobile-full {
		width: 100%;
	}

	.mobile-hidden {
		display: none;
	}

	#streams {
		display: block;
	}

	#streams .stream-card {
		margin: 20px 0;
	}

	.ios #hafen12-divider,
	.ios #room-divider {
		background-attachment: unset !important;
		background-size: contain;
	}
}
#mountain-wrapper {
	background: url("/files/cronosphere23/assets/mountain_full.jpg");
	background-size: cover;
	background-position: center;
}
#mountain-wrapper .networks {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 100px 0;
}
#mountain-wrapper .networks span {
	display: inline-block;
	padding: 0.1em 0.5em;
	margin: 0.5em;
	background: white;
	color: var(--cronos-color);
	text-transform: uppercase;
	font-weight: 700;
	font-size: 2rem;
}
#cronosphere23-form .invisible {
	display: none;
}
#cronosphere23-form a {
	color: #059ad4;
}
#cronosphere23-form .form-control {
	border-radius: 0px;
}
#cronosphere23-form .form-check-input {
	border-radius: 0px;
}
#cronosphere23-form .form-control {
  background: transparent;
  color: #fff;
  border: #fff 2px solid;
}
#cronosphere23-form .form-control::placeholder {
	color: #ffffff87;
}
.cronosphere-form-daten .row:first-of-type {
	margin-bottom: 1rem;
}
.cronosphere-form-streams .cronosphere-form-stream-auswahl legend {
	font-size: 16px!important;
}
.cronosphere-form-daten, .cronosphere-form-streams, .cronosphere-form-checkboxes, .cronosphere-form-datenschutz {
	margin-bottom: 2rem;
}
.cronosphere-form-eventpartner {
	margin-bottom: 1rem;
}
.cronosphere-form-eventpartner, .cronosphere-form-datenschutz {
	flex: unset!important;
}
.cronosphere-form-btn .submit, #ctrl_1626 {
	border: 2px #fff solid;
    border-radius: 0px;
    background: transparent !important;
}
/*.cronosphere-form-streams span {
	width: 100%;
	display: block;
}*/
#opt_1630_0, #opt_1630_1, #opt_1630_2 {
    width: 5%;
	display: block;
	float: left;
}
#lbl_1630_0, #lbl_1630_1, #lbl_1630_2 {
	width: 95%;
	display: block;
	float: left;
}
#ctrl_1626:hover {
	border: 2px #059ad4 solid;
    color: #059ad4 !important;
}
#registration fieldset {
    margin-bottom: 1rem;
}

#registration .form-control {
    background: black;
    border: 2px solid white;
    border-radius: 0;
    color: white;
}

#registration ::placeholder {
      color: rgb(255,255,255,0.7);
        opacity: 0.7; /* Firefox */
    }

    #registration legend {
        float: none;
    }
    #registration .formbody > .row:first-of-type > * {
        flex: 0 0 auto;
        width: 100%;
    }
    #registration ::-ms-input-placeholder { /* Edge 12 -18 */
        color: rgb(255,255,255,0.7);
    }
    #registration .form-select {
        color: white;
        background: black;
        border: 2px solid white;
        border-radius: 0;
        background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23ffffff'><polygon points='0,0 100,0 50,50'/></svg>") no-repeat!important;
        background-color: black;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        background-size: 20px!important;
        background-position: 95% 80%!important;
    }
#registration .form-check-input[type=checkbox] {
    background: black;
    border: 2px solid white;
    border-radius: 0;
}
#registration .form-check-input[type=checkbox]:checked {
    background: var(--color-auto);
}
#registration .submit[type=submit] {
    border-radius: 0;
    background: black!important;
    border: 2px solid var(--color-auto);
}
#registration .submit[type=submit]:hover {
    background: var(--color-auto) !important;
    color: white:  !important;
}
#registration .error {
    border: 2px solid red;
}
#registration .row {
    margin-bottom: 1.5rem;
}
#registration .invisible {
    display: none;
}
option {
    color: black;
}
#registration .form-label {
    font-weight: bold;
}

#outdated-browser {
    display: none;
}

.foto-hinweis p {
	font-size: 0.9rem;
}
#timetables .stream-card {
    --stream-color: white;
}
#timetables .stream-card.auto {
    --stream-color: var(--color-auto);
}

#timetables .stream-card.cx {
    --stream-color: var(--color-cx);
}

#timetables .stream-card.util {
    --stream-color: var(--color-util);
}

#timetables .stream-card {
	--card-border: 2px solid white;
	--text-color: white;
    --height: 34rem;
    border: var(--card-border);
	padding: 2em;
	color: var(--text-color);
	position: relative;
    height: var(--height);
}

#timetables .stream-card.half-height {
    height: calc((var(--height) - 1.5rem) /2);
    margin-bottom: 1.5rem;
}
#timetables .stram-card.half-height.active button {
    color: black;
}
#timetables .stream-card.active button {
    background: var(--stream-color);
    border-color: var(--stream-color);
}
#timetables .stream-card.active h3 {
    color: var(--stream-color);
}

#timetables .stream-card .headline {
	font-weight: 900;
}

#timetables .more {
	text-align: right;
	position: absolute;
	right: 1rem;
	bottom: 1rem;
}

#timetables .more button {
	background: black;
	color: var(--text-color);
	font-weight: 700;
	border: var(--card-border);
	padding: 0.2em 1em;
	transition: all 0.3s ease;
}
#timetables .stream-card.active.half-height button {
	color: white;
}

#timetables .more button:hover {
    background: var(--text-color);
    color: black;
}
#timetables-tables .timetable[data-stream="automation"] {
    --table-color: var(--color-auto); 
}
#timetables-tables .timetable[data-stream="digital"] {
    --table-color: var(--color-util);
}
#timetables-tables .timetable[data-stream="cx"] {
    --table-color: var(--color-cx);
}
#timetables-tables .time {
    width: 10%;
}

#timetables-tables .title {
	width: 90%;
}

#timetables-tables .timetable {
	display: flex;
}

#timetables-tables .timetable .accordion {
	flex: 1 0 100%;
}

#timetables-tables .timetable.hidden {
	display: none;
}

#timetables-tables .vertical {
	writing-mode: tb-rl;
	transform: rotate(-180deg);
	font-size: 3rem;
	color: var(--table-color);
	text-transform: uppercase;
	letter-spacing: 0.8em;
	font-weight: 900;
}

.stream-card.active .highlight {
	color: black !important;
}
#mainstage .stream-card {
	border: 4px #fff solid;
}
@media only screen and (max-width: 1199px) and (min-width: 768px) {
  .stream-card::after {
      top: 0.5em!important;
      right: 0.5em!important;
      width: 35px!important;
      height: 35px!important;
  }
  	#timetables .stream-card {
		height: 40rem;
	}
}
@media only screen and (max-width: 1199px) and (min-width: 992px) {
	#mainstage .stream-card {
		margin-top: 0px!important;
		height: 25rem !important;
	}
}

#mountain {
	background-image: url("/files/cronosphere23/assets/mountain_full.jpg");
}
.cronosphere-btn {
	border: 2px #fff solid;
	background: transparent;
	border-radius: 0px;
	margin-top: 1rem;
}
.cronosphere-btn:hover {
	border: 2px #fff solid;
	background: #fff;
	color: #000;
}
@media only screen and (max-width: 767px) {
	#timetables-tables .timetable {
		display: block;
	}

	#timetables-tables .vertical {
		transform: none;
		writing-mode: unset;
		letter-spacing: normal !important;
	}

	#timetables-tables .time {
		width: 25%;
	}

	.container-fluid {
		background-size: cover !important;
	}

	#countdown {
		margin: 25px auto;
		display: flex;
		justify-content: center;
		width: 100%;
	}

	#countdown .countdown-number {
		font-size: 1.1rem;
	}

	#opener .btn {
		padding: 0 !important;
	}
	.cronosphere-rueckblick .col-8, .cronosphere-rueckblick .col-4 {
		width: 100%;
    }
    .cronosphere-rueckblick .col-4 {
    	display: none;
    }
    #cronosphere23-form .col {
    	flex: content;
    }
}
@media only screen and (max-width: 991px) and (min-width: 768px) {
	#persons {
		height: 430px !important;
	}
	#timetables .stream-card {
		--height: 30rem;
		margin-bottom: 3rem;
	}
}
@media only screen and (max-width: 767px) and (min-width: 520px) {
	#persons {
		height: 650px !important;
	}#registration .col.mail {
		flex: 1 0 100% !important;
	}
}
@media only screen and (max-width: 519px) {
	#persons {
		height: 600px !important;
	}#registration .col.mail {
		flex: 1 0 100% !important;
	}
}
@media only screen and (min-width: 1400px) {
	#timetables .stream-card {
		--height: 32rem;
	}
}
@media screen and (min-width: 1200px) and (max-width: 1399px) {
	#timetables .stream-card {
		--height: 38rem;
	}
    .stream-card:after {
        width: 50px!important;
        height: 50px!important;
        top: 1.5rem!important;
}
}
@media only screen and (max-width: 1199px) and (min-width: 992px) {
	#timetables .stream-card {
		--height: 32rem;
	}
    #timetables .stream-secondary {
        flex: 0 0 50%;
    }
    #timetables .stream-secondary .stream-card {
        margin-top: 1.5rem;
    }
}
@media screen and (max-width: 767px) {
	#timetables .stream-card {
		--height: auto;
	}
	.stream-card-content {
		margin-bottom: 3rem;
	}
	#registration .col.mail {
		flex: 1 0 100% !important;
	}
}
/*@media screen and (max-width: 992px) {
	#streams {
		flex-wrap: wrap;
		flex-direction: column;
	}
}*/
@media screen and (max-width: 991px) {
  #partner .col-sm-4, #partner .partner {
  	width: 25%!important;
  }
} 
@media screen and (max-width: 400px) {
  #partner .col-sm-4, #partner .partner {
  	width: 50%!important;
  }
} 