/* GENERAL */

.bg-white {
	background-color: #FCFCFC;
	box-shadow: 0px 1px 1px grey;
}

.bxshadow {
	box-shadow: 0px 1px 1px grey;
}

.bxshadow-top {
	box-shadow: 0 -3px 3px -3px #BDBDBD;
}

.c-gray {
	color: #D8DADB !important;
	font-size: 14px;
}

.bg-white-ns {
	background-color: #FCFCFC;
}

.bg-footer {
	background-color: #1C1E23;
}


.rounded {
	-moz-border-radius: 7px 7px 7px 7px;
	/* rounds corners for firefox*/
	border-radius: 7px 7px 7px 7px;
	/*rounds corners for other browsers*/
	border: solid 1px #E85F28;
	background-color: #7F7F7F;
	padding: 7px;
	color: white;
}

.bg-gray-ns {
	background-color: #F9F9F9;
}

.bg-green-ns {
	background-color: #55B89C;
}

.bg-viola-ng {
	background-color: #915DB0;
}

.bg-orange-ng {
	background-color: #E85F28;
}

.bg-white-logo {
	background-color: #F9F9FA;
	box-shadow: 0px 1px 1px #BDBDBD;
}

.bg-slider {
	background-color: #1C222B;
}

.img-mh {
	max-height: 60px;
	margin: 15px;
}

.divider-dashed {
	height: 0px;
	width: 100%;
	margin: 20px 0 20px 0;
	border-top: 2px dashed #eee;
}


/* Extra small devices (portrait phones, less than 576px)*/
@media (max-width: 575px) {
	.cars-colored {
		margin-left: 45px;
	}

	.align-left-mobile {
		text-align: left !important;
	}

	.inline-mobile {
		display: inline !important;
		margin-left: 3px;
	}

	.margin-mobile {
		margin-top: 30px;
	}
}



.bg-azure {
	background-color: #5A8FDC;
}

.scard {
	position: relative;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-direction: column;
	flex-direction: column;
	min-width: 0;
	word-wrap: break-word;
	background-clip: border-box;

}

.scard-border {
	border: 1px solid rgba(0, 0, 0, .125);
}

.margin-slider {
	padding-top: 80px !important;
	padding-bottom: 80px !important;
}

.c-azure {
	color: #477ED2 !important;
}

.c-white {
	color: #F9F9FA !important;
}

.card-margin {
	margin-top: 4px !important;
	margin-left: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}

.mts-10 {
	margin-top: 90px;
}

.no-m {
	margin-bottom: 0px;
}

.same-line {
	display: inline;
}

.c-orange {
	color: #E85F28;
}

.a-no {
	text-decoration: none;
}

.container-slider {
	padding-left: 0px;
	padding-right: 0px;
	margin-left: 0px;
	margin-right: 0px;
}

.opacityh {
	opacity: 0.5;
	/* how much transparent you want image to be*/
	filter: alpha(opacity=40);
	/* browser fix*/
	-webkit-opacity: 0.5;
	/*vendor prefixes for website browsers*/
	-moz-opacity: 0.5;
	/* same as above, edited thankx to @ Daniel_Lisik  */
	transition: 0.3s ease;
}

.opacityh:hover {
	filter: alpha(opacity=40);
	/* browser fix*/
	-webkit-opacity: 1;
	/*vendor prefixes for website browsers*/
	-moz-opacity: 1;
	/* same as above, edited thankx to @ Daniel_Lisik  */
	transition: 0.3s ease;
	opacity: 1;
	/* how much transparent you want image to be*/
}

.txtcenter {
	text-align: center;
}

table {
	color: rgb(6, 6, 6);
}

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

.topic-spoiler {
	margin-bottom: 20px;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 6px;
	background-color: #ffffff;
	padding: 12px 16px;
	transition: box-shadow 0.2s ease-in-out;
}

.topic-spoiler[open] {
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}

.topic-spoiler summary {
	display: flex;
	align-items: baseline;
	gap: 8px;
	cursor: pointer;
	list-style: none;
}

.topic-spoiler summary::-webkit-details-marker {
	display: none;
}

.topic-spoiler summary::after {
	content: '+';
	margin-left: auto;
	font-weight: 700;
}

.topic-spoiler[open] summary::after {
	content: '-';
}

.topic-label {
	min-width: 16%;
	text-transform: uppercase;
}

.topic-title {
	min-width: 80%;
	font-weight: 600;
}

.topic-description {
	margin-top: 12px;
	margin-bottom: 12px;
}

.topic-subtopics {
	padding-left: 20px;
	margin-bottom: 0;
}

.topic-spoiler.committee {
	background-color: transparent;
	border-color: rgba(255, 255, 255, 0.4);
	color: #F9F9FA;
}

.topic-spoiler.committee summary {
	color: #F9F9FA;
}

.topic-spoiler.committee .topic-description,
.topic-spoiler.committee .topic-subtopics li {
	color: #F9F9FA;
}

/* COLORED-DIV */

.colorme-azure {
	background-color: #FCFCFC;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #5a5a5a !important;
}

.colorme-azure:hover {
	background-color: #5A8FDC;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #FFFFFF !important;
}


.colorme-green {
	background-color: #FCFCFC;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #5a5a5a !important;
}

.colorme-green:hover {
	background-color: #55B89C;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #FFFFFF !important;
}

.colorme-viola {
	background-color: #FCFCFC;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #5a5a5a !important;
}

.colorme-viola:hover {
	background-color: #915DB0;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #FFFFFF !important;
}

.colorme-orange {
	background-color: #FCFCFC;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #5a5a5a !important;
}

.colorme-orange:hover {
	background-color: #E85F28;
	-webkit-transition: 0.3s ease;
	transition: 0.3s ease;
	color: #FFFFFF !important;
}

/* NAVBAR */

.navbar-light .navbar-nav .active>.nav-link,
.navbar-light .navbar-nav .nav-link.active,
.navbar-light .navbar-nav .nav-link.show,
.navbar-light .navbar-nav .show>.nav-link a {
	color: #007bff;
	text-decoration: underline;
}

/* open sans font */
.ops {
	font-family: "Open Sans";
	font-style: normal;
	font-variant: normal;
	font-weight: 500;
	line-height: 26.4px;
}

.ops-tt {

	font-family: "Open Sans";
	font-style: normal;
	font-variant: normal;
	font-weight: 300;
	line-height: 26.4px;
}

.ops-t {
	color: #323933;
	font-family: "Open Sans";
	font-style: normal;
	font-variant: normal;
	font-weight: 300;
	line-height: 26.4px;
}

.ops-2t {
	color: #323933;
	font-family: "Open Sans";
	font-style: normal;
	font-variant: normal;
	font-weight: 200;
	line-height: 26.4px;
}

/* PARTICLES */
#particles-js {
	position: absolute;
	width: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-color: #b61924;
	background-position: 50% 50%;
	opacity: 0.9;
}


/* ---- stats.js ---- */
.count-particles {
	background: #000022;
	position: absolute;
	top: 48px;
	left: 0;
	width: 80px;
	color: #13E8E9;
	font-size: .8em;
	text-align: left;
	text-indent: 4px;
	line-height: 14px;
	padding-bottom: 2px;
	font-family: Helvetica, Arial, sans-serif;
	font-weight: bold;
}

.js-count-particles {
	font-size: 1.1em;
}


/* PARTICLES */
#particles-js canvas {
	max-height: 550px;
	z-index: -1;
}


/* ================ The Timeline ================ */

.timeline {
	position: relative;
	max-width: 800px;
	width: 100%;
	margin: 0 auto;
	margin-top: 20px;
	padding: 1em 0;
	list-style-type: none;
}

.timeline:before {
	position: absolute;
	left: 50%;
	top: 0;
	content: ' ';
	display: block;
	width: 6px;
	height: 100%;
	margin-left: -3px;
	background: rgb(80, 80, 80);
	background: -moz-linear-gradient(top, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(30, 87, 153, 1)), color-stop(100%, rgba(125, 185, 232, 1)));
	background: -webkit-linear-gradient(top, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
	background: -o-linear-gradient(top, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
	background: -ms-linear-gradient(top, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);
	background: linear-gradient(to bottom, rgba(80, 80, 80, 0) 0%, rgb(80, 80, 80) 8%, rgb(80, 80, 80) 92%, rgba(80, 80, 80, 0) 100%);

	z-index: 5;
}

.timeline li {
	padding: 1em 0;
}

.timeline li:after {
	content: "";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

.direction-l {
	position: relative;
	width: 48%;
	float: left;
	text-align: right;
	clear: left;
}

.direction-r {
	position: relative;
	width: 48%;
	float: right;
	text-align: left;
	clear: right;
}

.flag-wrapper {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-align: center;
}

.direction-l .flag-wrapper::before {
	content: '';
	position: absolute;
	left: 100%;
	top: 50%;
	transform: translate(calc((100vw - 2 * max(50vw - 400px, 0px)) * 0.02 - 6px), -50%);
	width: 12px;
	height: 12px;
	background: #fff;
	border-radius: 50%;
	border: 4px solid rgb(255, 80, 80);
	z-index: 10;
}

.direction-r .flag-wrapper::before {
	content: '';
	position: absolute;
	right: 100%;
	top: 50%;
	transform: translate(calc(-1 * (100vw - 2 * max(50vw - 400px, 0px)) * 0.02 + 6px), -50%);
	width: 12px;
	height: 12px;
	background: #fff;
	border-radius: 50%;
	border: 4px solid rgb(255, 80, 80);
	z-index: 10;
}

.flag {
	position: relative;
	display: inline-block;
	background: rgb(248, 248, 248);
	padding: 6px 10px;
	border-radius: 5px;
	font-weight: 600;
	box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.15), 0 0 1px rgba(0, 0, 0, 0.15);
}

/* Triangle pointers */
.direction-l .flag:after {
	content: "";
	position: absolute;
	left: 100%;
	top: 50%;
	height: 0;
	width: 0;
	margin-top: -8px;
	border: solid transparent;
	border-left-color: rgb(248, 248, 248);
	border-width: 8px;
	pointer-events: none;
}

.direction-r .flag:after {
	content: "";
	position: absolute;
	right: 100%;
	top: 50%;
	height: 0;
	width: 0;
	margin-top: -8px;
	border: solid transparent;
	border-right-color: rgb(248, 248, 248);
	border-width: 8px;
	pointer-events: none;
}

.time-wrapper {
	display: inline-flex;
	align-items: center;
	line-height: 1em;
	font-size: 0.66666em;
	color: rgb(250, 80, 80);
}

.direction-l .time-wrapper {
	order: -1;
}

.direction-r .time-wrapper {
	order: 1;
}

.time {
	display: inline-block;
	padding: 4px 6px;
	background: rgb(248, 248, 248);
}

.desc {
	margin-top: 1em;
	font-size: 0.77777em;
	font-style: italic;
	line-height: 1.5em;
}

.direction-l .desc {
	margin-right: 0.75em;
}

.direction-r .desc {
	margin-left: 0.75em;
}

/* ================ Timeline Media Queries ================ */

@media screen and (max-width: 660px) {

	.timeline {
		width: 100%;
		padding: 4em 0 1em 0;
	}

	.timeline li {
		padding: 2em 0;
	}

	.direction-l,
	.direction-r {
		float: none;
		width: 100%;

		text-align: center;
	}

	.flag-wrapper {
		text-align: center;
	}

	.flag {
		background: rgb(255, 255, 255);
		z-index: 15;
	}

	/* Hide desktop dots in mobile view */
	.direction-l .flag-wrapper::before,
	.direction-r .flag-wrapper::before {
		display: none;
	}

	/* Show mobile dots */
	.direction-l .flag:before,
	.direction-r .flag:before {
		position: absolute;
		top: -30px;
		left: 52%;
		content: ' ';
		display: block;
		width: 12px;
		height: 12px;
		margin-left: -9px;
		background: #fff;
		border-radius: 10px;
		border: 4px solid rgb(255, 80, 80);
		z-index: 10;
	}

	.direction-l .flag:after,
	.direction-r .flag:after {
		content: "";
		position: absolute;
		left: 50%;
		top: -8px;
		height: 0;
		width: 0;
		margin-left: -8px;
		border: solid transparent;
		border-bottom-color: rgb(255, 255, 255);
		border-width: 8px;
		pointer-events: none;
	}

	.time-wrapper {
		display: block;
		position: relative;
		margin: 4px 0 0 0;
		z-index: 14;
	}

	.direction-l .time-wrapper {
		float: none;
	}

	.direction-r .time-wrapper {
		float: none;
	}

	.desc {
		position: relative;
		margin: 1em 0 0 0;
		padding: 1em;
		background: rgb(245, 245, 245);
		-webkit-box-shadow: 0 0 1px rgba(0, 0, 0, 0.20);
		-moz-box-shadow: 0 0 1px rgba(0, 0, 0, 0.20);
		box-shadow: 0 0 1px rgba(0, 0, 0, 0.20);

		z-index: 15;
	}

	.direction-l .desc,
	.direction-r .desc {
		position: relative;
		margin: 1em 1em 0 1em;
		padding: 1em;

		z-index: 15;
	}

}

@media screen and (min-width: 400px) and (max-width: 660px) {

	.direction-l .desc,
	.direction-r .desc {
		margin: 1em 4em 0 4em;
	}
}

/* Carousel Inner */
.carousel-inner {
	max-width: 1400px;
	/* Maximum width of the carousel */
	max-height: 450px;
	/* Maximum height of the carousel */
	width: 100%;
	height: auto;
	margin: auto;
	/* Centers the carousel */
	position: relative;
	overflow: hidden;
	/* Ensures no image overflow */
}

/* Carousel Images */
.carousel-item img {
	width: 100%;
	/* Ensures images scale to fit the width of the carousel */
	max-height: 650px;
	/* Ensures images don’t exceed the height of the carousel */
	object-fit: cover;
	/* Fills the carousel area while maintaining aspect ratio */
	object-position: center;
	/* Centers the image if cropped */
	display: block;
}


.keynote-container {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
    border: 1px solid #ddd;
    padding: 20px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.keynote-left {
    width: 30%;
    text-align: left;
    padding-right: 20px;
    box-sizing: border-box;
}

.keynote-image {
    width: 80%;
    border-radius: 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    margin-bottom: 10px;
}

.speaker-info h3 {
    margin-top: 10px;
    font-size: 1.2em;
}

.speaker-info p {
    margin: 5px 0;
    font-size: 0.9em;
}

.keynote-right {
    width: 70%;
    text-align: left;
    padding-left: 0px;
    box-sizing: border-box;
}

.keynote-right h4 {
    margin-bottom: 5px;
    color: #333;
}

.keynote-right p {
    line-height: 1.6;
}

.keynote-details {
    width: 100%;
    margin-top: 20px;
    text-align: left;
}

.keynote-details h4 {
    margin-bottom: 5px;
    font-weight: bold;
}

.keynote-details p {
    margin-bottom: 15px;
    line-height: 1.6;
}


/*Registration Page*/
.registration-section ul {
    text-align: left;
    margin: 0 auto;
    max-width: 800px;
    padding: 0;
    list-style-type: disc;
}

.registration-section ul li {
    margin-bottom: 10px;
    line-height: 1.5;
}


.banner {
	background-color: #ffcc00;
	color: #000;
	text-align: center;
	padding: 15px;
	font-size: 18px;
	font-weight: bold;
	border-bottom: 3px solid #d18b00;
}
.banner a {
	color: #d10000;
	text-decoration: none;
	font-weight: bold;
}
.banner a:hover {
	text-decoration: underline;
}