@font-face {
	font-family: Poppins;
	src: url("../fonts/poppins/Poppins-SemiBold.ttf");
	font-weight: 600;
}

@font-face {
	font-family: Poppins;
	src: url("../fonts/poppins/Poppins-Light.ttf");
	font-weight: 100;
}

@font-face {
	font-family: Poppins;
	src: url("../fonts/poppins/Poppins-Medium.ttf");
	font-weight: 400;
}




* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

body,
html {
	overscroll-behavior: none;
	height: 100vh;
	width: 100%;
}


html {

	background: var(--darkBg);
	color: var(--liteText);
	/* font-size: 16px; */
	font-size: calc(100vw / 1920 * 20);
	/* font-family: "Gilroy", sans-serif; */
	/* font-family: "Quicksand", sans-serif; */
	font-family: "Poppins", sans-serif;
	/* --maxWidth: 1400px; */
	/* --maxWidth: calc(100vw - 2rem); */
	--maxWidth: 1800px;
	--maxPad: max(calc((100vw - var(--maxWidth)) / 2), 6rem);
	--availW: calc(100vw - (var(--maxPad) * 2));
	/* background: var(--darkest); */
}

:root {
	/* --fs: 2.3vh; */
	/* --dt: 1; */
	/* --pad: calc(var(--fs)* 5); */
	--basebg: #1f2228;
	--coreColor: #3BA4FF;
	--coreYellow: #FFCA3B;
	--coreIndigo: #3D68FF;
	--blkbgfilter: brightness(1.1) saturate(0) blur(3px);
	--blkbgclr: rgb(0 0 0 / 50%);
	--darkBg: #1f1f1f;
	--lightest: #fff;
	--coreColorLite: #3b6794;
	--darkest: #0f1012;
	--transdark: #00000033;
	--translite: #88888833;
	/* --liteText: #b3cbe3; */
	--liteText: #ccc;
	/* --baseText: #eee; */
	--baseText: #fff;
	--baseTextStrong: #bedefd;
	--orange: #d17e44;
	--red: #a81d4b;
	--green: #009688;
	--toastgreen: #2fcb5b;
	--warn: #4f2231;
	--pastelgreen: #3CFEC6;
	--pastelpink: #FF3DD2;
	--pastelblue: #3BA4FF;
	--bdrClr: #18181800;

	--lineClr: #2f2f2f;
	/* --bdrClr: var(--coreYellow); */

	/* --bdrClr: #ededed; */
	/* --darkBg: #fff;
--baseText: #1f1f1f;
--liteText: #606060; */
}


html.light {
	--bdrClr: #1f2228;
	--darkBg: #fff;
	--baseText: #1f1f1f;
	--liteText: #606060;

}


main {
	position: fixed;
	width: 100vw;
	height: 100vh;
	overflow: auto;
}

.scrollable {
	overflow-x: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	will-change: transform;
	scroll-snap-type: y;
}

.content>.fullbg {
	--p: 4rem;
	height: calc(100% - var(--ptb) - var(--ptb) + var(--p) + var(--p)) !important;
	margin-top: calc(var(--p) * -1) !important;
	width: calc(var(--availW) + var(--p) + var(--p)) !important;
	align-self: center;
	border-radius: 1rem;
}

.contBg {
	position: absolute;
	margin-bottom: 0 !important;
	height: calc(100% - var(--ptb) - var(--ptb) + var(--p) + var(--p));
	/* background: var(--coreYellow); */
	background: var(--darkBg);
	z-index: -15 !important;
	display: none;
}

.fullVWbg {
	position: absolute;
	height: 100%;
	z-index: -15 !important;

}

.strongBdrTop .content {
	/* border-top: var(--bdr) solid var(--bdrClr); */

}

.strongBdrTop .subBox {
	/* --bdrT: calc(var(--bdr) * 2) !important; */
}

.strongBdrBtm .content {
	/* border-bottom: var(--bdr) solid var(--bdrClr); */
}

.subBox {
	/* padding-top: var(--ptb);
	padding-bottom: var(--ptb); */
	/* border: calc(var(--bdr) * 2) solid var(--bdrClr); */
	/* border-bottom: var(--bdr) solid var(--bdrClr); */
	/* border-top: var(--bdr) solid var(--bdrClr); */
	/* --bdrT: calc(var(--bdr) * 2);
	--bdrB: calc(var(--bdr) * 2);
	--bdrL: calc(var(--bdr) * 2);
	--bdrR: calc(var(--bdr) * 2); */
}

.noBdrTop {
	/* border-top: 0 !important;
	--bdrT: 0 !important; */
}

.noBdrBtm {
	/* border-bottom: 0 !important;
	--bdrB: 0 !important; */
}

.leftBox {
	/* --bdrL: calc(var(--bdr) * 2);
	--bdrR: var(--bdr);
	border-right: var(--bdrR) solid var(--bdrClr); */
}

.rightBox {
	/* --bdrR: calc(var(--bdr) * 2);
	--bdrL: var(--bdr);
	border-left: var(--bdrL) solid var(--bdrClr); */
}

.realCont {
	width: 100%;
	padding: var(--ptb);
	padding-top: var(--ptb);
	padding-bottom: var(--ptb);
	position: relative;
	max-width: var(--tmw);
}

.contBox {
	position: relative;
	justify-content: flex-end;
	/* padding: var(--ptb); */
	/* background: var(--darkBg); */
}


.contBox>* {
	/* background: var(--darkBg); */
}

.imgBox {
	position: relative;
	/* padding: 0; */
	padding: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	/* background: var(--bdrClr); */
}

.noinnerdbr>div {
	/* border-top: 0; */
	/* --bdrT: 0rem !important; */
}

.noinnerdbr>.leftBox {
	border-right: 0;
}

.noinnerdbr>.rightBox {
	border-left: 0;
}

/* .sectionContainer[data-section="2"] .imgBox { */
/* padding-left: 4rem; */
/* background: #8dd2d9; */
/* justify-content: flex-start; */
/* } */

.sectionContainer[data-section="1"] .imgBox {
	padding: 0;
	margin: 0;
}

.sectionContainer[data-section="1"] .realCont {
	padding: 1rem;
}

img.img-s1 {
	height: 30vh;
	width: auto;
	max-height: 400px;
	min-height: 300px;
}

img.soloimg.img-s2 {
	width: 25rem;
	max-width: 600px;
	min-width: 200px;
}

img.soloimg.img-s3 {
	width: 35rem;
	max-width: 700px;
	min-width: 350;
}

img.soloimg.img-s4 {
	width: 32rem;
	max-width: 600px;
	min-width: 350;
}

img.soloimg.img-s5 {
	width: 30vw;
	max-width: 400px;
	min-width: 300px;
}

img.soloimg.img-s6 {
	width: 22vw;
	max-width: 400px;
	min-width: 200px;
}



.fb50 {
	flex-basis: 50%;
}

.content {
	--gap: 1rem;
	width: 100%;
	display: flex;
	justify-content: center;
	flex-direction: column;
	--ptb: 2rem;
	position: relative;
	/* --bdr: 0.5rem; */
	max-width: var(--maxWidth);
	/* --bdrClr: var(--transdark); */
}

.highlight {
	font-weight: 400;
}

.body b {
	color: var(--coreColor);
	font-weight: 400;
}
h3 b {
    font-weight: 100;
}
b {
	color: var(--coreYellow);
	font-weight: 600;
}

.col {
	align-items: center;
	width: 100%;
	display: flex;
	flex-direction: column;
}

.row {
	display: inline-flex !important;
	flex-direction: row;
}



/* .sectionContainer[data-section="1"]>.content {
	background: var(--bdrClr);
} */
.fillerGrp {
	height: 100%;
}

.fillerGrp,
.fillerItem {
	width: 100%;

	display: flex;
	align-items: center;
	flex-direction: column;
}

.fillerItem {
	display: flex;
	justify-content: center;
	flex-basis: 100%;
	margin: 2rem 0;
	height: var(--h, 100%);
}

.fillerItem>img {
	height: var(--h, 4rem);
	max-height: 10rem;
}

.fillerItem+.subDiv,
.subDiv+.fillerItem {
	/* margin-top: 2rem; */
}

.row>.subDiv img,
.row>.fillerGrp .subDiv>img,
.row>.fillerGrp .subDiv {
	width: 1px;
	height: 100%;
}

.col>.subDiv img,
.col>.fillerGrp .subDiv>img,
.col>.fillerGrp .subDiv,
.col>.subDiv {
	height: 1px;
	width: 100%;
}

.sectionContainer:not(:first-child) {
	margin-top: 0vh;
}

.sectionContainer {
	position: relative;
	width: 100vw;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: auto;
	flex-direction: column;
	padding: 0 4rem;
}

.realCont>*:not(:last-child) {
	/* margin-bottom: 2rem; */
}

#s3-subBox {
	margin: auto;
	--prevmw: 1000px;
	/* width: calc(var(--prevmw) + var(--left) - (var(--bdr) * 2)); */
	width: calc(var(--prevmw) + var(--left));
	--left: min(max(30rem, 350px), 600px);
	align-items: center;
	justify-content: center;
	display: flex;
}

#s3-subBox .cards {
	margin-top: 2rem;
	margin-bottom: 0;
	max-width: var(--tmw);
	justify-content: center;
	align-self: center;

}

.chdMb>h1 {
	margin-bottom: 1rem !important;
}

/* h1 {
	color: var(--baseText);
	font-size: 2.5rem;
	line-height: 2.5rem;
	color: var(--coreYellow);
} */
h1 {
	font-size: min(max(2.5rem, 42px), 52px);
	line-height: min(max(2.5rem, 46px), 52px);
	letter-spacing: -.02em;
	/* white-space: nowrap; */
	color: var(--baseText);
	font-family: "Poppins";
	font-weight: 600;
	margin-bottom: 0.6em;
}

h1>span {
	background: var(--coreYellow);
	color: var(--darkBg);
	padding-right: 1rem;
	--y: 16%;
	background: linear-gradient(#ffca3b00 0%, #ffca3b00 var(--y), var(--coreYellow) var(--y), var(--coreYellow) 100%);
}

h2 {
	font-size: 2rem;

}

h3 {
	font-weight: 100;
	font-size: min(max(2rem, 20px), 36px);
	line-height: min(max(3.5rem, 36px), 48px);
	color: var(--baseText);
}

.body {
	font-size: min(max(1.3rem, 16px), 26px);
	line-height: min(max(2.5rem, 26px), 38px);

	font-weight: 100;


}

.cards {
	display: inline-flex;
	--gap: 0rem;
	gap: var(--gap);
	margin-top: 3rem;
	/* max-width: var(--maxWidth); */
	flex-wrap: wrap;
}

.card {
	/* border-radius: 1rem; */
	padding: 1rem;
	/* background: var(--transdark); */
	line-height: 1.5rem;

	border: 1px solid var(--lineClr)
}

.card.mini {
	max-width: 50%;
	/* --mw: var(--availW); */
	/* --maxW: calc((var(--availW) / 5) - (var(--gap)*0.8)); */
	/* --maxW: calc((100% - 2rem) / 3);
	max-width: var(--maxW);
	min-width: var(--maxW); */
}

.card .title {
	/* color: var(--coreColor); */
	font-weight: 400;
	font-size: min(max(1.8rem, 14px), 22px);
	line-height: min(max(2.6rem, 24px), 32px);
	color: var(--coreYellow);
	/* color: var(--baseText); */
}

.card .body {
	font-weight: 100;
	font-size: 1rem;
	line-height: 1.5rem;
	color: var(--liteText);
	font-size: min(max(1.4rem, 14px), 20px);
	line-height: min(max(2.2rem, 20px), 30px);
}


img {
	z-index: 999;
}

img.contBgFull {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;

	visibility: hidden;
	z-index: 0 !important;
}

img.fullbg {
	object-fit: cover;
	position: absolute;
	/* height: calc(100% + var(--bdr) + var(--bdr)); */
	/* height: calc(100% + var(--bdr) * var(--bdtTB, 4));
	width: calc(100% + var(--bdrR) + var(--bdrL)); */
	z-index: -1 !important;
	/* left: calc(var(--bdrL, --bdr) * -1);
	top: calc(var(--bdrT, --bdr) * -1); */
	opacity: 0.5;
	/* visibility: hidden; */
	background: green;
	/* border: 1px solid green; */
}

img.maxbg {
	object-fit: contain;
	position: absolute;
	opacity: 0.5;
	top: 0;
	height: 100%;
	left: 50%;
	transform: translateX(-50%);
	/* width: 100%; */
}

.leftBox img.fullbg {
	/* left: calc(var(--bdr) * -2); */
}

.rightBox img.fullbg {
	/* left: calc(var(--bdr) * -1); */
}


img.soloimg {
	width: max(min(30vw, 400px), 300px);
	/* height: 100%; */
}



canvas {
	position: fixed;
	z-index: -10;
	top: 0;
	left: 0;
}

.fixedTexture.isBg {
	z-index: -1;
	mix-blend-mode: unset;
	opacity: 1;
}

.fixedTexture {
	background-size: cover;
	background-position: center;
	background-image: url("../imgs/v2/texture.jpg");
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 15;
	mix-blend-mode: difference;
	opacity: 0.3;
	pointer-events: none;
}

.filCen {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.fh .content,
.fh .realCont,
.fh .contBox {
	height: 100%;
}



.contBox {
	padding: 0 2rem;
}

.pt0 {
	padding-top: 0 !important
}

;

.pb0 {
	padding-bottom: 0 !important;
}

.sectionContainer.fh.hero {
	/* background-size: cover;
	background-position: center;
	background-image: url("../imgs/v2/bigbox1.jpg");
	--maxWidth: calc(100vw - 2rem); */
	padding: 0;
	--maxWidth: calc(100vw - 2rem);
}

.sectionContainer.fh {

	padding-top: var(--fhpadTB);
	/* --fhpadTB: 6rem; */
	--fhpadTB: 0rem;
	/* height: calc(100vh - var(--fhpadTB) - var(--fhpadTB)) */
	/* height: calc(100vh - var(--fhpadTB)); */
	height: 100vh;
	height: 100dvh;
}

.hero .subBox {
	/* --bdr: 0; */
}

.whiteonyellow {
	background-color: var(--coreYellow);
	color: var(--darkest);
}

.whiteonblack {
	background-color: #000000bf;
	/* color: #FFF; */
}

.hero h1 {
	font-size: min(15rem, 300px);
	line-height: min(11rem, 225px);
	letter-spacing: -.02em;
	/* -webkit-text-fill-color: var(--darkBg); */
	/* -webkit-text-stroke: .014em var(--translite); */
	white-space: nowrap;
	color: #bababa;
	color: #fff;
	position: absolute;
	font-family: "Poppins";
	font-weight: 600;
	/* bottom: 6rem; */
	/* margin-bottom: 0; */
	transform: translatey(-50%);
	top: 0;
}

.hero h1>span {
	background: #04c2c285;
	color: var(--darkBg);
	padding-right: 1rem;
	--y: 16%;
	/* background: linear-gradient(#04c2c200 0%, #04c2c200 var(--y), #04c2c285 var(--y), #04c2c285 100%); */
	background: linear-gradient(#3ba4ff00 0%, #3ba4ff00 var(--y), #3ba4ff85 var(--y), #3ba4ff85 100%);
}

h1 mark {
	background: #04c2c242;
}

.outlineTxt {
	-webkit-text-fill-color: var(--darkBg);
	-webkit-text-stroke: 4px var(----liteText)
}

.hero .cGrp {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	top: 50%;
	/* height: 100%; */

}

.cGrp.mobile {
	display: none;
}

.section-divider .logo {
	position: absolute;
	left: 50%;
	border-radius: 4em;
	--s: 11px;
	text-align: center;
	transform: translateX(-50%);
	filter: brightness(0.5);
}

.section-divider .logo:after {
	content: unset;
}

.mainlogo.logo {
	--s: 32px;
	font-size: calc(var(--s) * 1.2);
	position: absolute !important;
	z-index: 4;
	left: 0rem;
	top: calc(-50vh + 1rem);
}

.mobile>.mainlogo.logo {
	--s: 26px !important;
	top: 1rem;
}

.logo {
	position: relative;
	--s: 12px;
	font-size: calc(var(--s) * 1.2);
	height: calc(var(--s) * 2);

}

.mainlogo.logo:after {
	font-size: 32px;
	color: var(--coreYellow);
	right: -0.3em;
}

.logo:after {
	-webkit-font-smoothing: antialiased;
	content: "®";
	baseline-shift: super;
	position: absolute;
	top: -0.2em;
	font-weight: 100;
}

.hero h3 {
	font-size: min(3rem, 58px);
	line-height: min(4rem, 84px);
	position: absolute;
	/* bottom: 5.5em; */
	width: 100%;
	background: #1f1f1fad;
	color: var(--coreYellow);
	padding: 0.1rem 1rem;
	transform: translatey(-50%);
	top: 1.8em;
}

.hero .body {
	font-size: 1.5rem;
	line-height: 2rem;
}

@media screen and (max-width: 1050px) {
	.content.row {
		flex-direction: column;
	}

	.fillerGrp {
		height: 0px !important;
		display: none !important;
		overflow: hidden !important;
	}

	.row>.subDiv,
	.row>.subDiv img {
		height: 0px !important;
		display: none !important;
		overflow: hidden !important;
	}

	.leftBox {
		/* --bdrL: calc(var(--bdr) * 2); */
		/* --bdrR: calc(var(--bdr) * 2) !important;
		--bdrB: 0 !important;
		border-bottom: var(--bdrB) solid var(--bdrClr) !important; */
	}

	.rightBox {
		/* --bdrL: calc(var(--bdr) * 2) !important;
		--bdrT: 0 !important;
		border-top: var(--bdrT) solid var(--bdrClr) !important; */
		/* border-left: var(--bdrL) solid var(--bdrClr); */
	}

	.leftBox .realCont {
		padding-bottom: 0;
	}

	.rightBox .realCont {
		padding-top: 0;
	}



	.leftBox.imgBox {
		padding-top: var(--ptb);
	}

	.rightBox.imgBox {
		padding-bottom: var(--ptb);
	}
}
mini {
    font-size: 0.8em;
    opacity: 0.8;
}
.mobileOnly {
	display: none;
}

.sectionContainer[data-section="3"] .imgBox.mobileOnly {
	padding-bottom: calc(10rem - var(--ptb));
}

.body>.blurb {
	font-size: min(max(0.7em, 11px), 28px);
}

.blurb {
	font-size: min(max(0.8em, 12px), 28px);
	padding: 0.1em 0.5em;
	border-radius: 0.25em;
	background: var(--coreColor);
	background-color: var(--lineClr);
	opacity: 0.7;
}


a {
	color: var(--coreColor);
	cursor: pointer;
}

a:hover {
	color: #fff;
	background: var(--coreColor);
}

#footer {
	margin-bottom: calc(100vh - 100dvh);
	--s: 10px;
	width: 100%;
	padding: calc(var(--s) * 0.5) calc(var(--s) * 1);
	display: inline-flex;
	opacity: 0.7;
	height: calc(var(--s) * 4);
	font-weight: 100;
	align-items: center;
	justify-content: space-between;
	font-size: calc(var(--s) * 1);
}

.ctaGrp {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1rem;
}

.ctabtn {
	font-size: min(max(1.5rem, 14px), 18px);
	display: flex;
	padding: 1em 2em;
	background: var(--darkest);
	border: 1px solid var(--coreColor);
	color: var(--coreColor);
	cursor: pointer;
	font-family: 'Poppins';
	text-decoration: none !important;
	min-width: 10em;
	justify-content: center;
}

button.ctabtn:hover {
	background: var(--coreYellow);
	color: #000;
	border-color: var(--coreYellow);
}

@media (orientation: portrait) and (max-width: 800px) {
	.cGrp.mobile {
		display: block;
		height: 100%;
		transform: translateY(0%);
		top: 0;

	}

	.cGrp.desktop {
		display: none;
	}
}

@media (max-width: 800px) {
	.ctaGrp {
		gap: 3rem;
	}

	.sectionContainer.fh[data-section="7"] {
		--fhpadTB: 15vh !important;
		padding-top: 0;
		margin-top: var(--fhpadTB);
		margin-bottom: var(--fhpadTB);
	}

	.mobileOnly {
		display: flex;
	}

	.sectionContainer[data-section="3"] .cards {
		justify-content: flex-start;
	}

	.imgBox {
		padding: 10rem 2rem;
	}

	.hero .mobile h1 {
		font-size: min(24vw, 300px);
		line-height: min(22vw, 225px);
		top: unset;
		bottom: 6rem;
		transform: translatey(0%);
		margin-bottom: 0;
		/* margin-bottom: calc(100vh - 100dvh); */
	}

	.hero .mobile h3 span {
		background: #1f1f1ff0;
	}

	.cards {
		margin-top: 8rem;
	}

	.hero .mobile h3 {
		font-size: min(6vw, 300px);
		line-height: min(24vw, 225px);
		bottom: 2.5em;
		background: transparent;
		top: unset;
		bottom: 2.6em;
		transform: translatey(0%);
	}




	.content {
		--ptb: 4rem;
	}

	.contBox {
		padding: 0rem;
	}

	.sectionContainer {
		padding: 0rem;
	}

	.sectionContainer[data-section="7"] .maxbg {
		height: auto;
		width: 100%;
		opacity: 1;
		position: relative;
	}

	.sectionContainer[data-section="5"] .content {
		flex-direction: column-reverse;
	}

	.sectionContainer[data-section="7"] .contBox.subBox {
		/* padding-top: 28vh; */
		height: auto;
		justify-content: unset;

	}

	.sectionContainer[data-section="7"] .content {
		height: auto !important;

	}

	.col>.subDiv {
		padding: 2rem 8rem;
	}

	.card.mini {
		min-width: unset;
		flex-basis: 50%;
	}

	html {
		/* font-size: 12px; */
	}

	© .hero h3 {
		line-height: 3.5rem;
	}

	/* .hero .body {
		line-height: 2.5rem;
	} */

	h3 {

		/* line-height: 2.5rem; */
	}

	img.soloimg.img-s3 {
		margin-top: 2rem;
		width: 60vw;
	}


}






.line-mask {
	z-index: -1;
	mix-blend-mode: difference;
	width: 100%;
	position: relative;
	overflow: hidden;
}

.section-divider {
	position: relative;
	grid-column-gap: 1em;
	grid-row-gap: 1em;
	--clr: #5e5e5e;
	color: var(--clr);
	mix-blend-mode: difference;
	justify-content: space-between;
	align-items: center;
	display: flex;
	padding: 0 2rem;
	margin: 3vh 0;
}

.line {
	background-color: var(--clr);
	opacity: .25;
	width: 100%;
	height: 1px;
}

.icon-12px {
	justify-content: center;
	align-items: center;
	max-width: none;
	height: .75em;
	display: flex;
}

.line-mask>img {
	height: 1px;
	width: 100%;
}

*::-webkit-scrollbar {
	width: 2px;
	height: 2px;
}

*::-webkit-scrollbar-thumb {
	background: var(--coreColor);
	border-radius: 5px;
}

*::-webkit-scrollbar-thumb:hover {
	background: var(--coreYellow);
	border-radius: 5px;
	cursor: grab;
}