/* style.css */
/*
 * Table of contents:
 *
 * 1.Preloader
 * 2.Primary style
 * 3.Popover
 * 4.Social fixed & logo
 * 5.Countdown
 * 6.Pages
 * 7.Media
 *
 */


/* Page Loader */
.loader {
	content: '';
	position: fixed;
	z-index: 100000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #000;
}

.loader__figure {
	content: '';
	position: fixed;
	z-index: 100001;
	top: 50%;
	left: 50%;
	width: 40px;
	height: 40px;
	margin: -20px 0 0 -20px;
	pointer-events: none;
	border-radius: 50%;
	opacity: 0.4;
	border: 4px solid #de2d3e;
	background: transparent;
	animation: loaderAnim 0.7s linear infinite alternate forwards;
}

@keyframes loaderAnim {
	to {
		opacity: 1;
		transform: scale3d(0.5,0.5,1);
	}
}


body {
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	font-size: .95rem;
	line-height: 1.55;
	color: #f1f1f1;
	overflow-x: hidden;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	margin-bottom: 0;
	line-height: 1.25;
	color: #fff;
}

h1, .h1 {
	font-size: 6rem;
	font-weight: 500;
	letter-spacing: 2px;
	line-height: 1;
}

h2, .h2 {
	font-size: 4.5rem;
	letter-spacing: 2px;
	line-height: 1;
}

h3, .h3 {
	font-size: 3.75rem;
	letter-spacing: 1px;
	line-height: 1;
}

h4, .h4 {
	font-size: 2.4rem;
	line-height: 1.1;
}

h5, .h5 {
	font-size: 1.6rem;
	font-weight: 500;
}

h6, .h6 {
	font-size: 0.9rem;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 1px;
}

::selection {
	background-color: rgba(0,0,0,0.7);
}

::-moz-selection {
	background-color: #rgba(0,0,0,0.7);
}

::selection {
	color: #fff;
}

::-moz-selection {
	color: #fff;
}

mark {
	color: #fff;
}

p {
	margin-top: 0;
	margin-bottom: 0;
}

/* #Primary style
================================================== */

.section {
	position: relative;
	width: 100%;
	display: block;
}

.relative {
	position: relative;
}

.over-hide {
	overflow: hidden;
}

.over-y-scroll {
	overflow-y: scroll;
	z-index: 2099;
}

.full-height {
	height: 100vh;
}

.half-height {
	height: 50vh;
}

.big-55-height {
	height: 55vh;
}

.big-60-height {
	height: 60vh;
}

.big-65-height {
	height: 65vh;
}

.big-70-height {
	height: 70vh;
}

.big-75-height {
	height: 75vh;
}

.big-80-height {
	height: 80vh;
}

.max-width-80 {
	max-width: 80%;
}

.background-white {
	background-color: #ffffff;
}

.background-grey {
	background-color: #fbfbfb;
}

.background-grey-1 {
	background-color: #f9f9f9;
}

.background-dark {
	background-color: #212121;
}

.background-dark-1 {
	background-color: #323232;
}

.background-dark-2 {
	background-color: #1b1b1b;
}

.background-black {
	background-color: #000000;
}

.img-wrap {
	position: relative;
	width: 100%;
}

	.img-wrap img {
		width: 100%;
		display: block;
	}

.z-bigger {
	z-index: 10;
}

.padding-page-top {
	padding-top: 180px;
}

.padding-top-bottom {
	padding-top: 80px;
	padding-bottom: 80px;
}

.padding-top {
	padding-top: 80px;
}

.padding-bottom {
	padding-bottom: 80px;
}

.padding-top-bottom-big {
	padding-top: 110px;
	padding-bottom: 110px;
}

.padding-top-big {
	padding-top: 110px;
}

.padding-bottom-big {
	padding-bottom: 110px;
}

.padding-top-bottom-small {
	padding-top: 50px;
	padding-bottom: 50px;
}

.padding-top-small {
	padding-top: 50px;
}

.padding-bottom-small {
	padding-bottom: 50px;
}

/* #Popover
================================================== */

#ticket-wrap {
	display: none;
	padding: 10px;
}

	#ticket-wrap p {
		color: #fff;
		letter-spacing: 1px;
		font-weight: 300;
		font-size: 14px;
		line-height: 32px;
		text-transform: uppercase;
	}

		#ticket-wrap p em {
			opacity: 0.3;
		}

		#ticket-wrap p span:first-of-type {
			color: #e86c9a;
			font-weight: 400;
			font-size: 18px;
		}

		#ticket-wrap p span:nth-of-type(2) {
			color: #07d89d;
			font-weight: 400;
			font-size: 18px;
		}

		#ticket-wrap p span:nth-of-type(3) {
			color: #f8ae2c;
			font-weight: 400;
			font-size: 18px;
		}

		#ticket-wrap p span:nth-of-type(4) {
			color: #de2d3e;
			font-weight: 400;
			font-size: 18px;
		}

	#ticket-wrap a {
		display: block;
		margin-top: 33px;
		color: #fff;
		border-radius: 3px;
		padding: 11px 0;
		text-align: center;
		font-size: 14px;
		text-transform: uppercase;
		line-height: 14px;
		letter-spacing: 3px;
		background-color: #3a3d98;
		-webkit-transition: all 300ms linear;
		transition: all 300ms linear;
	}

		#ticket-wrap a:hover {
			text-decoration: none;
			background-color: #9d316e;
		}

.webui-popover {
	top: 70px !important;
	left: auto !important;
	right: 30px;
	background-color: #212121 !important;
	border: 1px solid transparent !important;
}


/* #Social fixed & logo
================================================== */


.logo {
	position: absolute;
	top: 22px;
	left: 40px;
	display: block;
	z-index: 3002;
}

	.logo img {
		display: block;
		height: 30px;
		width: auto;
	}

a.ticket-link .pulse {
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear;
}

a.ticket-link:hover .pulse {
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear;
	color: #f8ae2c;
}

a.ticket-link:focus .pulse,
a.ticket-link:active .pulse {
	-webkit-transition: all 300ms linear;
	transition: all 300ms linear;
	color: #f8ae2c;
}

.ticket {
	position: absolute;
	top: 22px;
	right: 40px;
	display: block;
	z-index: 3002;
	height: 36px;
	line-height: 36px;
}

	.ticket p {
		line-height: 36px;
		color: #fff;
		display: inline-block;
		margin: 0;
		padding: 0;
		font-size: 14px;
		letter-spacing: 1px;
		text-transform: uppercase;
		height: 36px;
		vertical-align: top;
		margin-right: 10px;
	}

	.ticket:hover {
		color: #fff;
	}

	.ticket svg * {
		fill: none;
		stroke: currentColor;
	}

.pulse {
	display: inline-block;
	height: 36px;
	-webkit-animation: pulse 1s linear infinite;
	9 animation: pulse 1s linear infinite;
}

@keyframes

"pulse" {
	0%

{
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}

50% {
	-webkit-transform: scale(0.9);
	-moz-transform: scale(0.9);
	-o-transform: scale(0.9);
	-ms-transform: scale(0.9);
	transform: scale(0.9);
}

100% {
	-webkit-transform: scale(0.95);
	-moz-transform: scale(0.95);
	-o-transform: scale(0.95);
	-ms-transform: scale(0.95);
	transform: scale(0.95);
}

}
@-webkit-keyframes

"pulse" {
	0%

{
	-webkit-transform: scale(1);
	transform: scale(1);
}

50% {
	-webkit-transform: scale(0.9);
	transform: scale(0.9);
}

100% {
	-webkit-transform: scale(0.95);
	transform: scale(0.95);
}

}

.social-fixed {
	position: fixed;
	bottom: 30px;
	left: 20px;
	display: block;
	z-index: 3001;
	-webkit-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
}

	.social-fixed a {
		position: relative;
		text-align: center;
		margin-top: 10px;
		margin-bottom: 10px;
		font-family: 'Poppins', sans-serif;
		font-size: 13px;
		font-weight: 500;
		letter-spacing: 1px;
		padding: 5px 0;
		padding-left: 3px;
		padding-right: 1px;
		color: #fff;
		display: inline-block;
		-webkit-transition: all 300ms linear;
		transition: all 300ms linear;
	}

		.social-fixed a:after {
			position: absolute;
			content: '';
			height: 100%;
			width: 3px;
			left: 0;
			bottom: 0;
			z-index: -1;
			background: linear-gradient(45deg, #0947db, #07d89d);
			-webkit-transition: all 300ms linear;
			transition: all 300ms linear;
		}

		.social-fixed a:hover:after {
			width: 100%;
		}

		.social-fixed a:hover {
			text-decoration: none;
			color: #fff;
		}

		.social-fixed a:nth-child(2):after {
			background: linear-gradient(45deg, #ee2d29, #f8ae2c);
		}

		.social-fixed a:nth-child(3):after {
			background: linear-gradient(45deg, #3a3d98, #6f22b9);
		}

.location-fixed {
	position: fixed;
	bottom: 30px;
	right: 25px;
	display: block;
	z-index: 3001;
	-webkit-writing-mode: vertical-lr;
	writing-mode: vertical-lr;
	transform: rotate(180deg);
}

	.location-fixed p {
		position: relative;
		margin: 0;
		padding: 0;
		padding-top: 35px;
		font-size: 13px;
		line-height: 20px;
		letter-spacing: 1px;
	}

		.location-fixed p:before {
			position: absolute;
			content: '';
			top: 0;
			left: 0;
			background-position: left center;
			background-repeat: no-repeat;
			background-size: 20px 20px;
			background-image: url('../img/pin.svg');
			width: 20px;
			height: 20px;
			z-index: 1;
			transform: rotate(90deg);
		}


body {
	min-height: 100vh;
	color: #fff;
	color: var(--color-text);
	background-color: #fff;
	background-color: var(--color-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Color schemes */
.aoide {
	--color-text: #fff;
	--color-bg: #000;
	--color-link: #fff;
	--color-link-hover: #5d5050;
	--color-info: #5d5050;
	--color-menu: #fff;
	--color-menu-hover: #fff;
	--color-title: #fff;
	--color-subtitle: #ededed;
	--color-deco: #161616;
}

/* Fade effect */

.js body {
	opacity: 0;
	transition: opacity 0.3s;
}

	.js body.render {
		opacity: 1;
	}



a {
	text-decoration: none;
	color: var(--color-link);
	outline: none;
}

	a:hover {
		text-decoration: none;
	}

	a:hover,
	a:focus {
		color: var(--color-link-hover);
		outline: none;
	}

.hidden {
	position: absolute;
	overflow: hidden;
	width: 0;
	height: 0;
	pointer-events: none;
}

/* Icons */
.icon {
	display: block;
	width: 1.5em;
	height: 1.5em;
	margin: 0 auto;
	fill: currentColor;
}

main {
	position: relative;
	width: 100%;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
	background-image: url('../img/background.png');
}

.content {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto;
	height: 100vh;
	overflow: hidden;
	z-index: 2; /* Ensure content is above the overlay */
}


.content--reveal {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1002;
	width: 100%;
	pointer-events: none;
}

.content__inner {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	background-color: #000;
}

.js .content__inner {
	opacity: 0;
	transition: opacity 0.5s ease;
}

.content__title {
	width: 100%;
	margin: 0;
	color: var(--color-title);
	text-transform: lowercase;
	letter-spacing: -0.05em;
	text-indent: -0.05em;
	font-family: 'Poppins', sans-serif;
	font-weight: 400;
	text-align: left;
}

.content__subtitle {
	text-align: left;
	font-size: 1.25em;
	line-height: 1.25;
	font-weight: 400;
	margin: 0 auto;
	color: var(--color-subtitle);
}

.content__close {
	position: absolute;
	top: 70px;
	left: 40px;
	overflow: hidden;
	background-color: transparent;
	color: var(--color-link);
	padding: 0;
	display: block;
	width: 48px;
	height: 48px;
	opacity: 0;
	cursor: pointer;
	z-index: 4003;
	border: none;
	-webkit-transition: all 200ms linear;
	transition: all 200ms linear;
}

	.content__close:focus {
		outline: none;
	}

	.content__close:before {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 1;
		background-image: url('../img/arrow.svg');
		background-size: 48px 48px;
		background-position: center center;
		background-repeat: no-repeat;
		-webkit-transition: all 200ms linear;
		transition: all 200ms linear;
	}

	.content__close:hover:before {
		left: -100%;
		opacity: 0;
	}

	.content__close:after {
		content: '';
		position: absolute;
		top: 0;
		left: 100%;
		width: 100%;
		height: 100%;
		opacity: 0;
		background-image: url('../img/arrow.svg');
		background-size: 48px 48px;
		background-position: center center;
		background-repeat: no-repeat;
		-webkit-transition: all 200ms linear;
		transition: all 200ms linear;
	}

	.content__close:hover:after {
		left: 0;
		opacity: 1;
	}

.deco-title {
	font-size: 50vw;
	margin: 0;
	pointer-events: none;
	position: absolute;
	color: var(--color-deco);
}

.empty-space {
	color: transparent;
}

.menu {
	position: relative;
	z-index: 4;
	display: flex;
	flex-direction: column;
	margin: 0 40vw 0 0;
	font-size: 2.8vw;
	padding: 0;
	margin-top: -50px;
	align-items: flex-start;
}

.menu__item {
	color: var(--color-menu);
	line-height: 1.1;
	text-transform: lowercase;
	letter-spacing: -0.025em;
	text-indent: -0.025em;
	font-family: 'Poppins', sans-serif;
	font-weight: 300;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
	padding: 0;
	margin: 12px 0;
}

	.menu__item:hover,
	.menu__item:focus {
		color: var(--color-menu-hover);
	}

	.menu__item::before {
		content: '';
		position: absolute;
		bottom: -2px;
		left: 0;
		width: 40%;
		height: 8px;
		background: #3eb4e3;
		opacity: 0;
		transform: scale3d(0,1,1);
		transition: transform 0.3s, opacity 0.3s;
		transform-origin: 0 50%;
	}

	.menu__item:hover::before {
		opacity: 1;
		transform: scale3d(1,1,1);
	}

	.menu__item span {
		display: block;
		position: relative;
	}

/* Event-time section styling */
.event-time {
	position: absolute;
	z-index: 2;
	top: 55%;
	left: 65%;
	width: 100%;
	max-width: 480px;
	transform: translate(-50%, -50%);
	text-align: left;
}

.hero-main-title {
	color: #3eb4e3;
	font-weight: bold;
	text-align: left;
	font-size: 2.8rem;
	letter-spacing: 1px;
	margin-bottom: 20px;
}

.hero-title {
	text-align: left;
	font-size: 1.1rem;
	line-height: 1.6;
	font-weight: 300;
	color: #fff;
	max-width: 100%;
}

	.hero-title strong {
		color: #3eb4e3;
		font-weight: 500;
	}

		.hero-title strong:nth-of-type(2),
		.hero-title strong:nth-of-type(3),
		.hero-title strong:nth-of-type(4) {
			border: 1px solid #3eb4e3;
			padding: 2px 5px;
			border-radius: 3px;
		}

	.hero-title i {
		color: #3eb4e3;
	}

.hero-date {
	margin-top: 30px;
	font-size: 1.2rem;
	font-weight: bold;
	color: whitesmoke;
	border: 1px solid #3eb4e3;
	display: inline-block;
	padding: 5px 10px;
	text-align: left;
}

.hero-subtitle {
	position: relative;
	width: 100%;
	text-align: left;
	font-size: 4vw;
	line-height: 0.8;
	font-family: 'Pinyon Script', cursive;
	font-weight: 400;
	z-index: 1;
	-webkit-transform: translate(-3px, -10px);
	-ms-transform: translate(-3px, -10px);
	transform: translate(-3px, -10px);
}

	.hero-subtitle span {
		background: linear-gradient(45deg, #0947db, #07d89d);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
	}

		.hero-subtitle span:nth-child(2) {
			background: linear-gradient(45deg, #0947db, #07d89d);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
		}

		.hero-subtitle span:nth-child(3) {
			background: linear-gradient(45deg, #0947db, #07d89d);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
		}

		.hero-subtitle span:nth-child(4) {
			background: linear-gradient(45deg, #0947db, #07d89d);
			-webkit-background-clip: text;
			-webkit-text-fill-color: transparent;
		}

.robot-image {
	position: fixed;
	bottom: 0;
	right: 2vw;
	height: 80vh;
	max-height: 700px;
	width: auto;
	z-index: 3;
	pointer-events: none;
}


/* #Countdown
================================================== */

ul.countdown {
	position: relative;
	width: 100%;
	max-width: 360px;
	list-style: none;
	margin: 0 auto;
	padding: 20px;
	padding-bottom: 0;
	padding-top: 25px;
	display: block;
	text-align: center;
	border-radius: 10px;
	background: linear-gradient(135deg, rgba(22,22,22,.6), rgba(33,33,33,.7));
	box-shadow: 1px 6px 5px rgba(0,0,0,0.3);
}

	ul.countdown:after {
		content: '';
		display: block;
		clear: both;
	}

	ul.countdown li {
		position: relative;
		float: left;
		display: inline-block;
		width: 80px;
		min-height: 1px;
		margin: 0;
		padding: 0;
		padding-bottom: 30px;
		text-align: center;
		transition: all 300ms linear;
	}

		ul.countdown li span {
			position: relative;
			width: 100%;
			text-align: center;
			font-size: 40px;
			line-height: 0.9;
			letter-spacing: 1px;
			font-weight: 400;
			padding: 0;
			margin: 0;
			-webkit-text-fill-color: transparent;
			background: -webkit-linear-gradient(transparent, transparent), url('../img/let.jpg') repeat;
			background: -o-linear-gradient(transparent, transparent);
			-webkit-background-clip: text;
			background-position: center center;
			background-size: cover;
			transition: all 300ms linear;
		}

		ul.countdown li p {
			color: #fff;
			font-size: 11px;
			line-height: 11px;
			font-weight: 300;
			text-transform: uppercase;
			text-align: center;
			letter-spacing: 1px;
			text-shadow: 1px 3px 2px rgba(0,0,0,0.06);
			padding: 0;
			margin: 0;
			margin-top: 15px;
		}

/* #Pages
================================================== */
/* #Speakers
================================================== */

.speaker-image {
	position: relative;
	width: 100%;
}

	.speaker-image img {
		width: 100%;
		max-width: 150px;
		border: 5px solid rgba(255,255,255,0.5);
		height: auto;
		display: block;
		border-radius: 50%;
		box-shadow: 1px 6px 5px rgba(0,0,0,0.1);
	}

	.speaker-image h6 {
		position: absolute;
		top: 0;
		left: -10px;
		background-color: #212121;
		padding: 14px 6px;
		border-radius: 3px;
		margin: 0;
		display: block;
		transform: rotate(180deg);
		-webkit-writing-mode: vertical-rl;
		writing-mode: vertical-rl;
		z-index: 4;
	}

.title-page-line {
	position: relative;
	width: 100%;
	border-bottom: 1px solid rgba(255,255,255,0.2);
}


.social-team {
	position: relative;
	display: block;
}

	.social-team a {
		position: relative;
		text-align: center;
		min-width: 30px;
		margin-right: 15px;
		font-family: 'Poppins', sans-serif;
		font-size: 14px;
		font-weight: 500;
		letter-spacing: 1px;
		padding: 0 5px;
		color: #fff;
		display: inline-block;
		-webkit-transition: all 300ms linear;
		transition: all 300ms linear;
	}

		.social-team a:after {
			position: absolute;
			content: '';
			height: 3px;
			width: 100%;
			left: 0;
			bottom: 0;
			z-index: -1;
			-webkit-transition: all 300ms linear;
			transition: all 300ms linear;
		}

		.social-team a:hover:after {
			height: 100%;
		}

		.social-team a:hover {
			text-decoration: none;
			color: #fff;
		}

		.social-team a:first-of-type:after {
			background: linear-gradient(45deg, #0947db, #07d89d);
		}

		.social-team a:nth-of-type(2):after {
			background: linear-gradient(45deg, #ee2d29, #f8ae2c);
		}

		.social-team a:nth-of-type(3):after {
			background: linear-gradient(45deg, #3a3d98, #6f22b9);
		}

		.social-team a:nth-of-type(4):after {
			background: linear-gradient(45deg, #9d316e, #de2d3e);
		}

		.social-team a:nth-of-type(5):after {
			background: linear-gradient(45deg, #00ac53, #23c3e0);
		}

/* #Schedule & pass
================================================== */

.schedule-time {
	position: relative;
	display: block;
}

	.schedule-place p,
	.schedule-time p {
		position: relative;
		margin: 0;
		padding: 0;
		padding-left: 35px;
		font-size: 15px;
		line-height: 24px;
		letter-spacing: 1px;
		text-transform: uppercase;
	}

		.schedule-place p:before,
		.schedule-time p:before {
			position: absolute;
			content: '';
			top: 0;
			left: 0;
			background-position: left center;
			background-repeat: no-repeat;
			background-size: 24px 24px;
			background-image: url('../img/time.svg');
			width: 24px;
			height: 24px;
			z-index: 1;
		}

.schedule-place p {
	text-transform: none;
}

	.schedule-place p:before {
		background-image: url('../img/pin.svg');
	}

.pass-wrap {
	position: relative;
	display: block;
	border-radius: 5px;
	border: 5px solid rgba(255,255,255,.5);
	padding: 30px;
	background: linear-gradient(45deg, rgba(255,255,255,.04), rgba(255,255,255,.3));
}

	.pass-wrap p {
		position: relative;
		display: block;
		padding-left: 35px;
	}

		.pass-wrap p em {
			position: absolute;
			top: 0;
			left: 0;
			display: block;
			width: 20px;
			height: 100%;
			background-image: url('../img/yes.svg');
			background-size: 18px 18px;
			background-repeat: no-repeat;
			background-position: center center;
		}

			.pass-wrap p em.no {
				background-image: url('../img/no.svg');
			}

	.pass-wrap a {
		position: absolute;
		display: block;
		bottom: 30px;
		right: 30px;
		z-index: 2;
		padding: 7px 22px;
		border-radius: 3px;
		background: linear-gradient(45deg, #0947db, #07d89d);
		box-shadow: 1px 4px 3px rgba(0,0,0,0.1);
		-webkit-transition: all 300ms linear;
		transition: all 300ms linear;
	}

		.pass-wrap a:hover {
			color: #fff;
			box-shadow: 0 2px 1px rgba(0,0,0,0.2);
		}

		.pass-wrap a.btn-pass-2 {
			background: linear-gradient(45deg, #ee2d29, #f8ae2c);
		}

		.pass-wrap a.btn-pass-3 {
			background: linear-gradient(45deg, #3a3d98, #6f22b9);
		}

		.pass-wrap a.btn-pass-4 {
			background: linear-gradient(45deg, #9d316e, #de2d3e);
		}

.socgfg {
	background: linear-gradient(45deg, #00ac53, #23c3e0);
}

/* #Gallery & sponsors
================================================== */

.gallery {
	position: relative;
	display: block;
	cursor: pointer;
}

	.gallery:after {
		position: absolute;
		display: block;
		content: '';
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,.6);
		background-position: center center;
		background-repeat: no-repeat;
		background-size: 26px 26px;
		background-image: url('../img/gallery.svg');
		opacity: 0;
		-webkit-transition: all 300ms linear;
		transition: all 300ms linear;
	}

	.gallery:hover:after {
		opacity: 1;
	}

.sponsors-title-block {
	text-align: left;
	width: 100%;
}

	.sponsors-title-block h4 {
		text-transform: uppercase;
		letter-spacing: 2px;
		font-weight: 600;
	}

	.sponsors-title-block h6 a {
		color: #fff;
		text-transform: uppercase;
		letter-spacing: 2px;
		font-weight: 300;
		font-size: 0.9rem;
		transition: all 200ms linear;
	}

		.sponsors-title-block h6 a:hover {
			color: #3eb4e3;
		}

.sponsors-grid {
	--sponsor-size-ratio: 3; /* ADJUST THIS VALUE (e.g., 2, 3, 4) TO CHANGE THE SIZE */
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	align-items: center;
	justify-content: center;
	padding-top: 30px;
}

	.sponsors-grid img {
		height: calc(60px * var(--sponsor-size-ratio));
		width: calc(60px * var(--sponsor-size-ratio));
		object-fit: contain;
		padding: 15px;
		border-radius: 12px;
		background-color: white;
		box-shadow: 0 5px 20px rgba(0,0,0,0.1);
		border: none;
	}

/* #Press
================================================== */

/* #Blog
================================================== */

.blog-wrap {
	position: relative;
	width: 100%;
	display: block;
	border-radius: 5px;
	border: 5px solid rgba(255,255,255,.5);
	background: linear-gradient(45deg, rgba(255,255,255,.04), rgba(255,255,255,.3));
}

	.blog-wrap img {
		width: 100%;
		display: block;
		height: auto;
		-webkit-filter: grayscale(70%);
		filter: grayscale(70%);
		transition: all 200ms linear;
	}

		.blog-wrap img:hover {
			-webkit-filter: grayscale(0);
			filter: grayscale(0);
		}

	.blog-wrap a h6 {
		transition: all 200ms linear;
	}

	.blog-wrap a:hover {
		text-decoration: none;
	}

.go-post {
	position: relative;
	display: inline-block;
}

	.go-post i {
		position: relative;
		display: block;
		color: #f8ae2c;
		font-family: FontAwesome;
		font-size: 24px;
		text-align: left;
		transition: all 200ms linear;
	}

/* #Contact Page
================================================== */

#ajax-form {
	width: 100%;
	font-family: 'Poppins', sans-serif;
	font-size: 10px;
	line-height: 14px;
	color: #fff;
	margin: 0 auto;
	text-align: left;
}

	#ajax-form label {
		display: block;
		font-family: 'Poppins', sans-serif;
		font-size: 14px;
		line-height: 30px;
	}

	#ajax-form input {
		position: relative;
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		font-family: 'Poppins', sans-serif;
		font-weight: 400;
		letter-spacing: 1px;
		font-size: 13px;
		line-height: 24px;
		padding-bottom: 15px;
		background: transparent;
		border: none;
		color: #fff;
		text-align: left;
		-webkit-transition: border-bottom 0.3s, color 0.3s;
		transition: border-bottom 0.3s, color 0.3s;
	}

	#ajax-form textarea {
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		font-family: 'Poppins', sans-serif;
		font-weight: 400;
		letter-spacing: 1px;
		font-size: 13px;
		line-height: 24px;
		text-align: left;
		background: transparent;
		height: 100px;
		border: none;
		color: #fff;
		-webkit-transition: border-bottom 0.3s, color 0.3s;
		transition: border-bottom 0.3s, color 0.3s;
	}

	#ajax-form textarea,
	#ajax-form input {
		border-bottom: 1px solid rgba(255,255,255,.7);
	}

.error {
	font-family: 'Poppins', sans-serif;
	font-size: 13px;
	line-height: 30px;
	letter-spacing: 1px;
	display: none;
	color: #ff5353;
	font-weight: 400;
	text-align: left;
}

#ajaxsuccess {
	background: #f2f2f2;
	color: #101010;
	font-family: 'Poppins', sans-serif;
	line-height: 60px;
	height: 60px;
	display: none;
	text-align: left;
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	margin-top: 30px;
}

#ajax-form textarea:active,
#ajax-form input:active {
	color: #ccc;
}

#ajax-form textarea:active,
#ajax-form input:hover {
	color: #ccc;
}

#ajax-form textarea:focus,
#ajax-form input:focus {
	outline: none !important;
}

#ajax-form input:-ms-input-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form input::-moz-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form input:-moz-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form input::-webkit-input-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form textarea:-ms-input-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form textarea::-moz-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form textarea:-moz-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form textarea::-webkit-input-placeholder {
	font-size: 12px;
	letter-spacing: 1px;
	color: #ccc;
}

#ajax-form button {
	position: relative;
	color: #fff;
	cursor: pointer;
	font-size: 14px;
	border-radius: 3px;
	padding: 12px 35px;
	letter-spacing: 1px;
	background-color: #212121;
	border: none;
	outline: none;
	margin: 0;
	text-align: left;
	display: inline-block;
	-webkit-transition: all 250ms linear;
	-moz-transition: all 250ms linear;
	-o-transition: all 250ms linear;
	-ms-transition: all 250ms linear;
	transition: all 250ms linear;
}

	#ajax-form button:focus,
	#ajax-form button:active {
		border: none;
		outline: none;
	}

	#ajax-form button:hover {
		box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
	}

#ajax-form textarea:focus,
#ajax-form input:focus,
#ajax-form textarea:active,
#ajax-form input:active,
.subscribe input:active,
.subscribe input:focus {
	border-bottom: 1px solid #f8ae2c;
}

#ajax-form button:hover {
	background-color: #f8ae2c;
}

.subscribe {
	position: relative;
	width: 100%;
	display: block;
}

	.subscribe input {
		position: relative;
		width: 100%;
		padding-left: 20px;
		padding-right: 20px;
		font-family: 'Poppins', sans-serif;
		font-weight: 400;
		letter-spacing: 1px;
		font-size: 13px;
		line-height: 24px;
		padding-bottom: 15px;
		background: transparent;
		text-align: left;
		border: none;
		color: #fff;
		-webkit-transition: border-bottom 0.3s, color 0.3s;
		transition: border-bottom 0.3s, color 0.3s;
	}

	.subscribe input {
		border-bottom: 1px solid rgba(255,255,255,.2);
	}

		.subscribe input:focus {
			outline: none !important;
		}

		.subscribe input:focus {
			outline: none !important;
		}

		.subscribe input:-ms-input-placeholder {
			font-size: 14px;
			letter-spacing: 1px;
			color: #ccc;
			opacity: .5;
		}

		.subscribe input::-moz-placeholder {
			font-size: 14px;
			letter-spacing: 1px;
			color: #ccc;
			opacity: .5;
		}

		.subscribe input:-moz-placeholder {
			font-size: 14px;
			letter-spacing: 1px;
			color: #ccc;
			opacity: .5;
		}

		.subscribe input::-webkit-input-placeholder {
			font-size: 14px;
			letter-spacing: 1px;
			color: #ccc;
			opacity: .5;
		}

	.subscribe button {
		position: absolute;
		font-family: 'FontAwesome';
		width: 30px;
		right: 0;
		top: 0;
		height: 30px;
		font-size: 26px;
		line-height: 30px;
		text-align: center;
		border-radius: 50%;
		background-color: transparent;
		padding: 0;
		margin: 0;
		border: none;
		cursor: pointer;
		color: #fff;
		z-index: 2;
		-webkit-transition: all 300ms linear;
		-moz-transition: all 300ms linear;
		-o-transition: all 300ms linear;
		-ms-transition: all 300ms linear;
		transition: all 300ms linear;
	}

		.subscribe button:hover {
			color: #f8ae2c;
		}

		.subscribe button:focus,
		.subscribe button:active {
			border: none;
			outline: none;
		}

.subscribe-text {
	position: relative;
	width: 100%;
	display: block;
	padding-top: 10px;
}

	.subscribe-text p {
		text-align: left;
		font-size: 13px;
		line-height: 23px;
		opacity: .7;
		font-weight: 400;
	}



/* #Footer
================================================== */

.footer {
	margin: 0 auto;
	text-align: center;
}

	.footer img {
		display: block;
		height: 30px;
		width: auto;
		margin: 0 auto;
		text-align: center;
	}

	.footer p small {
		letter-spacing: 1px;
		font-weight: 300;
	}

	.footer .title-page-line {
		opacity: 0.6;
	}


/* #Media
================================================== */

@media (max-width: 1500px) {
}

@media (max-width: 1300px) {
	.social-fixed,
	.location-fixed {
		z-index: 15;
	}
}

@media (max-width: 1199px) {
	h1, .h1 {
		font-size: 4rem;
	}

	h2, .h2 {
		font-size: 2.5rem;
	}

	h3, .h3 {
		font-size: 2rem;
	}

	h4, .h4 {
		font-size: 1.8rem;
	}

	h5, .h5 {
		font-size: 1.3rem;
	}

	ul.countdown {
		max-width: 330px;
		padding: 15px;
		padding-top: 20px;
		padding-bottom: 0;
	}

		ul.countdown li {
			width: 75px;
			padding-bottom: 30px;
		}

			ul.countdown li span {
				font-size: 30px;
				line-height: 0.9;
				font-weight: 500;
			}

			ul.countdown li p {
				font-size: 11px;
				line-height: 11px;
				font-weight: 300;
				letter-spacing: 1px;
				margin-top: 15px;
			}

	.content__close {
		top: 20px;
		left: 50%;
		margin-left: -18px;
		width: 36px;
		height: 36px;
	}

		.content__close:before {
			background-size: 36px 36px;
		}

		.content__close:after {
			background-size: 36px 36px;
		}
}

/* NEW STYLES ADDED HERE */

.background-overlay {
	--overlay-opacity: 0.8; /* Change this value from 0.0 to 1.0 to adjust transparency */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color: #0B1D2D;
	opacity: var(--overlay-opacity);
	z-index: 1; /* Ensure overlay is above robot on medium screens */
	pointer-events: none;
}

/* Styles for the new mobile info button */
.mobile-info-btn {
	display: none; /* Hidden by default */
	padding: 10px 20px;
	background-color: #3eb4e3;
	color: white;
	border: none;
	border-radius: 5px;
	font-size: 1rem;
	font-weight: bold;
	cursor: pointer;
	margin-top: 20px; /* Space below the menu */
	z-index: 5; /* Ensure it's clickable */
}

/* Styles for the mobile pop-up */
.mobile-popup {
	display: none; /* Hidden by default */
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.85); /* Darker backdrop */
	z-index: 10005; /* Higher than other content */
	justify-content: center;
	align-items: center;
	padding: 20px;
	box-sizing: border-box;
}

.mobile-popup-inner {
	background-color: #1a2b38; /* Dark background for popup content */
	padding: 25px;
	border-radius: 8px;
	max-width: 90%;
	max-height: 85vh;
	overflow-y: auto;
	position: relative;
	text-align: left; /* Or center, if you prefer */
	box-shadow: 0 5px 15px rgba(0,0,0,0.5);
}

.mobile-popup-close {
	position: absolute;
	top: 10px;
	right: 15px;
	background: transparent;
	border: none;
	color: #fff;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1;
	cursor: pointer;
	opacity: 0.7;
}

	.mobile-popup-close:hover {
		opacity: 1;
	}

.mobile-popup-content .hero-main-title {
	font-size: 1.8rem; /* Adjust for popup */
	text-align: center;
	margin-bottom: 15px;
}

.mobile-popup-content .hero-title {
	font-size: 0.9rem; /* Adjust for popup */
	line-height: 1.5;
	margin-bottom: 15px;
}

.mobile-popup-content .hero-date {
	font-size: 1rem; /* Adjust for popup */
	display: block; /* Make it block to center easily */
	text-align: center;
	margin-bottom: 10px;
}

.mobile-popup-content .hero-subtitle {
	font-size: 7vw; /* Adjust for popup */
	text-align: center;
	transform: none; /* Reset transform if any */
	margin-bottom: 0;
}

@media (max-width: 991px) {
	.robot-image {
		display: none;
	}

	.content {
		flex-direction: column;
		justify-content: center;
		padding-top: 30px;
		padding-bottom: 30px;
		height: auto;
		min-height: 100vh;
	}

	.menu {
		margin: 20px 0 0 0;
		font-size: 5vw;
		align-items: center;
		width: 100%;
		text-align: center;
		order: 1;
		flex-shrink: 0;
	}
	/* Show the mobile button and hide original event time */
	.mobile-info-btn {
		display: block;
		order: 2;
	}

	.event-time {
		display: none !important; /* Hide the original event-time on mobile */
	}

	.hero-main-title {
		font-size: 2.5rem;
	}

	.hero-title {
		font-size: 1rem;
		line-height: 1.5;
	}

	.hero-date {
		font-size: 1.1rem;
		margin-top: 25px;
	}

	.hero-subtitle {
		font-size: 8vw;
		transform: translate(-3px, -8px);
	}

	.sponsors-grid img {
		--sponsor-size-ratio: 2.5;
	}
}


/* For medium screens where robot is visible but might overlap */
@media (min-width: 992px) and (max-width: 1399px) {
	.event-time {
		left: 60%;
		max-width: 45%;
	}

	.robot-image {
		height: 70vh;
		right: 1vw;
		max-height: 600px;
		z-index: 0; /* Make robot go behind the overlay */
	}

	.menu {
		font-size: 2.6vw;
		margin-right: 38vw;
	}
}

/* More aggressive for the smaller end of medium screens */
@media (min-width: 992px) and (max-width: 1199px) {
	.event-time {
		left: 55%;
		max-width: 40%;
	}

	.menu {
		font-size: 2.4vw;
		margin-right: 35vw;
	}

	.robot-image {
		height: 65vh;
		max-height: 550px;
		z-index: 0; /* Ensure it's also set here */
	}
}


@media (max-width: 767px) {
	.menu {
		font-size: 6vw;
		margin-top: 20px;
	}

	.menu__item {
		margin: 8px 0;
	}

	.mobile-info-btn {
		font-size: 0.9rem;
		padding: 8px 16px;
	}

	.ticket p {
		display: none;
	}

	.sponsors-grid img {
		--sponsor-size-ratio: 2;
	}
}

@media (max-width: 575px) {
	.pass-wrap a {
		left: 30px;
		right: auto;
	}

	.pass-wrap {
		padding-bottom: 45px;
	}

	.social-fixed,
	.location-fixed {
		display: none;
	}

	.menu {
		margin-top: 0;
		font-size: 7vw;
	}

	.mobile-popup-inner {
		padding: 20px;
	}

	.mobile-popup-content .hero-main-title {
		font-size: 1.6rem;
	}

	.mobile-popup-content .hero-title {
		font-size: 0.8rem;
	}

	.mobile-popup-content .hero-date {
		font-size: 0.9rem;
	}

	.mobile-popup-content .hero-subtitle {
		font-size: 8vw;
	}

	.event-time {
		padding-left: 10px;
		padding-right: 10px;
	}

	.hero-main-title {
		font-size: 1.8rem;
	}

	.hero-title {
		font-size: 0.85rem;
		line-height: 1.45;
	}

	.hero-date {
		font-size: 0.9rem;
		padding: 4px 8px;
	}

	.hero-subtitle {
		font-size: 9vw;
	}
}
