*,
*::after,
*::before {
	box-sizing: border-box;
}
@font-face {
	font-family: "HG";
	src: url('../font/NHaasGrotesk.otf') format("truetype");
}
:root {
	font-size: 16px;
	--color-text: #fff;
	--color-bg: #29005A;
	--color-title: #FC33FF;
	--color-content: #676767;
	--color-btn: #6205d0;
	--color-weak: #FF8100;
	--color-menu: #5E00E6;
	--color-commercial-bg: #5E00E6;
	--color-commercial-grey-bg: #676767;
	--perspective: 1500px;
	--grid-item-ratio: 1.5;
	--grid-width: 100%;
	--grid-height: auto;
	--grid-gap: 2vw;
	--grid-columns: 4;
	--grid-inner-scale: 1;
	--circle-size: 36px;
	--circle-size-active: 54px;
}

body { -webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */
	margin: 0;
	color: var(--color-text);
	background-color: var(--color-bg);
	font-family: "HG", Arial, sans-serif;
	font-variation-settings: "ital" 0, "wght" 300;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
/*-----menu------*/
.big-menu-wrap{
	background-color: var(--color-menu);
	display: none;
	position: fixed;
	top:0;
	left:0;
	right: 0;
	bottom:0;
	z-index: 99;
	justify-content: center;
	align-items: center;
	height: 100vh;
	flex-direction: column;
}
.big-menu-wrap.expanded{
	display: flex;
}
.big-menu{
	list-style: none;
	padding: 0;
	margin: 0;
	text-align: center;
}
.big-menu li{
	margin: 1rem 0;
}
.big-menu li a{
	text-decoration: none;
	font-size:4rem;
	text-align: center;
	place-items: center;
	position: relative;
	display: grid;
	color: var(--color-text);
}
.big-menu li a .lineParent {
	overflow: hidden;padding-bottom: 5px;
	max-width: max-content;
}
.big-menu li a .lineParent::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px; /* Adjust the thickness of the underline */
	width: 100%;
	background-color: var(--color-text); /* Adjust the underline color */
	transform: scaleX(0); /* Initially hidden */
	transform-origin: right; /* Starts the animation from the right */
	transition: transform 0.3s ease-out; /* Smooth transition */
}

.big-menu li a .lineParent:hover::after {
	transform: scaleX(1); /* On hover, reveal the underline */
	transform-origin: left; /* Starts the animation from the left when hovering */
}
.menu-toggle {
	float: right;
	text-align: right;
}
.menu-toggle {
	gap: 8px;
	display: flex;
	flex-direction: column;
	position: relative;
}

.menu-toggle .line {
	width: 44px;
	height: 4px;
	display: block;
	background-color: var(--color-text);
	transition: opacity .3s ease-in-out,transform .3s ease-in-out;
	position: relative
}

.menu-toggle .triangle {

	opacity: 0;
	border: solid var(--color-text);
	border-width: 0 4px 4px 0;
	display: inline-block;
	padding: 8px;
	position: absolute;
	right: 0;
	transform: rotate(313deg);
	bottom: calc(50% - 8px);
	transition: opacity .3s ease-in-out
}

.menu-toggle.expanded .triangle {
	opacity: 1
}

.menu-toggle.expanded .line.first {
	transform: translateY(4px);
}

.menu-toggle.expanded .line.second {
	opacity: 0
}
/* Page Loader */
.js .loading::before,
.js .loading::after {
	content: '';
	position: fixed;
	z-index: 1000;
}

.js .loading::before {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--color-bg);
}

.js .loading::after {
	top: 50%;
	left: 50%;
	width: 60px;
	height: 60px;
	margin: -30px 0 0 -30px;
	border-radius: 50%;
	opacity: 0.4;
	background: var(--color-text);
	animation: loaderAnim 0.7s linear infinite alternate forwards;

}

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

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

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

/*!* Better focus styles from https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible *!*/
/*a:not(.card__image):focus {*/
	/*!* Provide a fallback style for browsers*/
	 /*that don't support :focus-visible *!*/
	/*outline: none;*/
	/*background: lightgrey;*/
/*}*/

/*a:not(.card__image):focus:not(:focus-visible) {*/
	/*!* Remove the focus indicator on mouse-focus for browsers*/
	 /*that do support :focus-visible *!*/
	/*background: transparent;*/
/*}*/

/*a:not(.card__image):focus-visible {*/
	/*!* Draw a very noticeable focus style for*/
	 /*keyboard-focus on browsers that do support*/
	 /*:focus-visible *!*/
	/*outline: 2px solid red;*/
	/*background: transparent;*/
/*}*/

.unbutton {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	cursor: pointer;
}

.unbutton:focus {
	outline: none;
}

main {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.frame {
	position: relative;
	width: 100%;
	padding: 1rem;
	display: grid;
	grid-template-columns: 100%;
	grid-template-areas: 'back' 'prev' 'sponsor';
	grid-gap: 0.5rem;
	justify-items: start;
	align-self: start;
	justify-self: start;
	pointer-events: none;
	align-items: center;
	text-transform: uppercase;
	font-size: 0.85rem;
	background: var(--color-bg-alt);
}

body #cdawrap {
    justify-self: start;
}

.frame a {
	pointer-events: auto;
}

.frame a:not(.frame__title-back) {
	white-space: nowrap;
	overflow: hidden;
	position: relative;
}

.frame a:not(.frame__title-back)::before {
	content: '';
	height: 1px;
	width: 100%;
	background: currentColor;
	position: absolute;
	top: 90%;
	transition: transform 0.3s;
	transform-origin: 0% 50%;
}

.frame a:not(.frame__title-back):hover::before {
	transform: scaleX(0);
	transform-origin: 100% 50%;
}

.frame__title {
	grid-area: title;
	display: flex;
}

.frame__title-main {
	font-size: inherit;
	margin: 0;

}

.frame__title-back {
	position: relative;
	display: flex;
	align-items: flex-end;
	margin-bottom: 0.15rem;
}

.frame__title-back span {
	display: none;
}

.frame__title-back svg {
	fill: currentColor;
}

.frame__prev {
	grid-area: prev;
}

.intro-titles {
	width: 100vw;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	/*position: static;*/
	display: flex;
	justify-content: center;
	align-items: center;
}
.intro-titles .lineParent
{
	overflow: hidden;
	max-width: max-content;
}

.intro-titles .mask
{
	overflow: hidden;
}.top-sects-title .lineParent
{
	overflow: hidden;
	max-width: max-content;
}

.top-sects-title .mask
{
	overflow: hidden;
}
.intro__title {
	place-items: center;
	margin: 0;
	line-height: 1.2;
	display: grid;
	position: fixed;
	text-align: center;
	/*opacity: 0;*/
	left:0;
	top:40vh;
	right:0;
	width: 100vw;
}
.intro-video {
    /*height: calc(100vh - 3rem);*/
    /*text-align: center;*/
    /*place-items: center;*/
    /*display: grid;*/
    /*margin-bottom: 30vh;*/
    /*background: linear-gradient(0deg, transparent, var(--color-bg-alt));*/
	text-align: center;
	place-items: center;
	display: grid;
	/*margin-bottom: 30vh;*/
	position: relative;
}

#v0::-webkit-media-controls {
    display: none !important;
    opacity: 0;
}

#v0::-webkit-media-controls-panel {
    display: none!important;
    -webkit-appearance: none;
}
#v0::--webkit-media-controls-play-button {
    display: none!important;
    -webkit-appearance: none;
}

#v0::-webkit-media-controls-start-playback-button {
    display: none!important;
    -webkit-appearance: none;
}
.intro{
	/*height: calc(100vh - 3rem); */
	/* text-align: center; */
	/* place-items: center; */
	/* display: grid; */
	/* margin-bottom: 30vh; */
	/* background: linear-gradient(0deg, transparent, var(--color-bg-alt)); */
text-align: center;
	place-items: center;
	display: grid;
	/* margin-bottom: 30vh; */
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}


.intro__title-pre {
	text-align: center;
    font-size: 4rem;

}

.intro__title-sub {
    font-size: 4rem;
	padding-top: 20px;
	text-align: center;
 /*color: var(--color-title);*/
}

.intro__info {
	max-width: 15ch;
    opacity: .6;
    margin-bottom: 3rem;
    padding-bottom: 1rem;
    line-height: 1.2;
    position: relative;
    align-self: end;
	font-size: 0.8em;
}

.intro__info::after {
	content: "";
	width: 1px;
	height: 2rem;
	background: #fff;
	position: absolute;
	top: 100%;
	left: 50%;
}

.card-wrap {
	margin-top: 5vh;
	display: grid;
	grid-gap: 2rem;
	grid-auto-flow: row;
	grid-template-columns: 250px;
}

.card__image {
	display: block;
	border-radius: 7px;
	background-size: cover;
	background-position: 50% 50%;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	filter: contrast(0.8);
}

.credits {
	font-size: 1.5rem;
	text-align: center;
	margin: 50vh auto 0;
	padding-bottom: 50vh;
}

.content {
	position: relative;

	background-color: var(--color-bg);
}

/*.content--spacing {*/
	/*margin-bottom: 100vh;*/
/*}*/

.content__title p{
	font-size: 1.3em;
	/*color: var(--color-subtitle);*/
	margin: 0;
}
.content__title h3{
	font-size: 2.5em;
	margin: 0;
}
.content__title {
	position: absolute;
	height: 100vh;
	width: 100vw;
	top: 50%;
	left: 50%;
	margin: -50vh 0 0 -50vw;
	padding: 0 10vw;
	display: grid;
	place-items: center;
	text-align: center;

}

.content__title--top {
	align-items: start;
}

.content__title--bottom {
	align-items: end;
}

.content__title--left {
	justify-items: start;
	text-align: left;
}

.content__title--right {
	justify-items: end;
	text-align: right;
	padding-right: 18vw;
}


.outro {
	display: grid;
	place-items: center;
	margin: 40vh 0;
}

.grid {
	display: grid;
	place-items: center;
	padding: 2rem;
	width: 100%;
	perspective: var(--perspective);
}

.grid-wrap {
	height: var(--grid-height);
	width: var(--grid-width);
	display: grid;
	grid-template-columns: repeat(var(--grid-columns),1fr);
	gap: var(--grid-gap);
	transform-style: preserve-3d;
}

.grid__item {
	aspect-ratio: var(--grid-item-ratio);
	width: 100%;
	height: auto;
	overflow: hidden;
	position: relative;
	border-radius: 8px;
	display: grid;
	place-items: center;
}

.grid__item-inner {
	position: relative;
	width: calc(1 / var(--grid-inner-scale) * 100%);
	height: calc(1 / var(--grid-inner-scale) * 100%);
	background-size: cover;
	background-position: 50% 50%;
	opacity: 0.6;
}
.view-more-btn{
	/* position: fixed; */
	display: inline-block;
	line-height: 2.2;
	padding: 0 20px;
	margin: 12px auto 0 auto;
	text-align: center;
	/* right: 50%; */
	/* transform: translateY(-50%); */
	/* font-size: 1.7em; */
	/* line-height: 1.9em; */
	cursor: pointer;
	z-index: 98;
	/* display: block; */
	/* margin: 0 auto; */
	background-color: var(--color-btn);
	border-radius: 55px;
}
@media screen and (min-width: 53em) {
	.frame {
		grid-template-columns: auto auto auto 1fr;
		grid-template-areas: 'title prev ... sponsor';
		align-content: space-between;
		justify-items: start;
		grid-gap: 2rem;
	}
	.frame__demos {
		justify-self: end;
	}

	.content--outro {
		height: 100vh;
		justify-content: center;
	}

	.card-wrap {
		grid-template-columns: repeat(3,250px);
	}

	body #cdawrap {
	    justify-self: end;
	}
}

/*-----------------------------------*/
.my-spacer	{
	display: block;
	height:20vh;
}
.top-space{
	padding-top: 20vh;
}
.webinar__btn{
	/*position: fixed;*/
	display: table;
	padding: 0 2.6vw;
	margin: 0 auto 0 auto;
	text-align: center;

	/* right: 50%; */
	transform: translateY(-50%);
	font-size: 1.7em;
	line-height: 1.9em;
	cursor: pointer;
	z-index: 98;
	/* display: block; */

	/* margin: 0 auto; */
	background-color: var(--color-btn);
	border-radius: 55px;
}
#webinar__btn.done-btn{
	display: none!important;
}
#static_webinar__btn{

	text-align: center;
	font-size: 2.7em;
	min-width: 612px;
	z-index: 99999;
	display: table;
	padding: 25px;
	margin: 18vh auto 0 auto;
	background-color: var(--color-btn);
	border-radius: 55px;
}
.static_webinar__btn_title{
	padding: 19px 4vw;
	cursor: pointer;
	
}
iframe#form-iframe {
	height: 560px;
	/*height: 500px;*/
}
footer{
	background-color: var(--color-bg);
	text-transform: uppercase;
	font-size:0.9em;
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 25vh 20px 20px 20px;
}
.webinar-date{
	font-size:0.9em;
	float: right;
	text-align: right;
}
.full__text{
	font-size: 2.5em;
	color: var(--color-content);

	margin: auto;
	padding: 7vh 15vw;
	text-align: center;
	box-sizing: border-box;
}
.top-sects-title {


	/*padding: 0;*/
	text-align: center;
    place-items: center;
    display: grid;

    padding: 5vh 50px 20vh 50px;

 }
.top-sects-title h1{
	font-size: 3.5em;
	color: var(--color-text);
	margin: 0;
    padding:0;





 }

.extra-spacer{
	   height: 30vh;
	   display: block;
   }
.full__text span{
	color: var(--color-subtitle);
	text-decoration: underline;
}
header .logo{}
header .logo svg{
	width: 17vw;
	max-width: 300px;
	min-width: 130px;
}
header{
	position: fixed;
	width: 100%;
	padding: 20px;
	z-index: 99;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: space-between;
}

/*--------------------*/
.hero-video-container {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	position: fixed;
	display: flex;
	z-index: -1;
}
.hero-video-container .hero-video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;


	/*filter: opacity(0);*/
}


/*------------*/
.sections{
	background-color: var(--color-bg);
	padding-top: 100px;
	position: relative;
}
.sections-nav  {
	position: fixed;
	top: calc(50vh - 120px);
	right:50px;
	text-align: right;
	z-index: 98;
	opacity:0;
}
.sections-nav a .grid-txt{

}
.sections-nav a .dot{
	height: var(--circle-size);
	width: var(--circle-size);
	margin-left: 20px;
	border: 2px solid #5E00E6;
	border-radius: 50%;
	display: inline-block;
	position: relative;

	transition: all 400ms ease;
	-webkit-transition: all 400ms ease;
}

.sections-nav a.active .dot {

	height: var(--circle-size-active);
	width: var(--circle-size-active);
	background-color: #FC33FF;
	border: 2px solid #FC33FF;
}
.sections-nav a {

text-decoration: none;
	font-size: 0.7em;
	color: var(--color-content);

	text-align: right;
	/* vertical-align: middle; */
	padding: 10px 0;
	display: flex;
	align-items: center;
	justify-content: end;
}
.sections-nav a:hover {
	text-decoration: none;
	/*color: var(--color-text);*/
}

.sections-nav a.active {
	color: var(--color-text);
}
.exp-content{
	overflow:hidden;height: 0px;
}

/*----*/
/*----*/
#cookie-bar {    background: #111111;
    height: auto;
    line-height: 1.6em;
    font-size: 0.8em;
    color: #eeeeee;
    text-align: center;
    padding: 3px 0;
    position: fixed;
    z-index: 99999999;
    bottom: 20px;max-width: 220px;
    right: 20px;
    /* width: 25vw; */
    /* min-width: 350px; */
    padding: 12px 20px;
    border-radius: 25px;}
#cookie-bar.fixed {position:fixed; top:0; left:0; width:100%;}
#cookie-bar.fixed.bottom {bottom:0; top:auto;}
#cookie-bar p {margin:0; padding:0;}
#cookie-bar a {color: #ffffff;
	display: block;
	border-radius: 3px;
	text-decoration: none;
	padding: 0 6px;
	/* margin-left: 8px; */
	margin: 5px;}
#cookie-bar .cb-enable {    background: #fff;  color: #6205d0;}
#cookie-bar .cb-enable:hover { background: #6205d0;  color: #fff;}
#cookie-bar .cb-disable {background:#990000;}
#cookie-bar .cb-disable:hover {background:#bb0000;}
#cookie-bar .cb-policy {background:#6205d0;}
#cookie-bar .cb-policy:hover {background:#29005a;}
/*----*/
/*----*/
@media screen and (max-width: 900px) {
	.view-more-btn{
		font-size:1.5em;
	}
	#cookie-bar {
		line-height: 1.8em;
		font-size: 1.2em;
	}
	.sections-nav {
		top: calc(50vh - 85px);
		right: 30px;
	}
	.sections-nav a .dot {
		height: 24px;
		width: 24px;
		margin-bottom: -6px;
	}
	.sections-nav a {
		padding: 10px 0;
	}
	.sections-nav a.active .dot {
		margin-bottom: -10px;
		height: 34px;
		width: 34px;
	}
	:root {
		font-size: 12px;
	}

	.my-spacer	{
		height:10vh;
	}
	.top-space{
		padding-top: 10vh;
	}

	#static_webinar__btn {
		margin: 10vh auto 0 auto;
		min-width: 55vw;
	}
	iframe#form-iframe {
		height: 600px;
        /*height: 560px;*/
	}
    .top-sects-title {
        padding: 0vh 50px 12vh 50px;

    }
}
@media screen and (max-width: 700px) {
	.menu-toggle .line {

		height: 2px;
	}
	.menu-toggle .triangle {
		border-width: 0 2px 2px 0;
		right: 1px;
	}
	:root {
		font-size: 8px;
	}

	.my-spacer	{
		height:5vh;
	}
	.top-space{
		padding-top: 5vh;
	}
	.webinar-date {
		font-size: 1.2em;
	}
	.sections-nav {

		right: -400px;
	}
	.webinar__btn {

		font-size: 2.4em;
		line-height: 2.6em;
	}
	footer{

		padding: 15vh 20px 20px 20px;
	}
	.content__title--right {
		justify-items: center;
		text-align: center;
		padding-right: 10vw;
	}
	#static_webinar__btn {

		margin: 10vh auto 0 auto;
	}
}
@media screen and (min-width: 1700px) {
	:root {
		font-size: 20px;
	}
}
@media screen and (min-width: 2000px) {
	:root {
		font-size: 24px;
		--circle-size: 40px;
		--circle-size-active: 60px;
	}
}
@media screen and (min-width: 2700px) {
	:root {
		font-size: 28px;
		--circle-size: 44px;
		--circle-size-active: 66px;
	}
	.content__title h3 {
		font-size: 2.8em;
	}
	.content__title p {
		font-size: 1.5em;
	}
	.sections-nav a {
		font-size: 0.9em;
	}

}