@charset "utf-8";
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
	text-decoration: none;
	scroll-behavior: smooth;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
a img {
	vertical-align: bottom;
}

body {
	background-color: #1D1D1D;
	cursor: none;
}

.cursor {
	position: fixed;
	z-index: 99;
	pointer-events: none;
}

.cursor-circle {
	width: 11px;
	height: 11px;
	border: 2px solid #fff;
	border-radius: 50%;
	transition: 0.1s;
	box-shadow: 0px 0px 50px black;
}

.cursor-point {
	opacity: 0;
	width: 5px;
	height: 5px;
	background-color: white;
	margin-bottom: 20rem;
	top: 5px;
	left: 5px;
	border-radius: 50%;
	animation-name: stretch;
	animation-duration: 1.0s;
	animation-timing-function: ease-in-out;
	animation-direction: alternate;
	animation-iteration-count: infinite;
	animation-play-state: running;
}

.cursor-hover {
	width: 4px !important;
	height: 4px !important;
}

.cursor-scroll {
	height: 30px !important;
	border-radius: 40% !important;
	transition: width 0.1s, height 0.1s !important;
}

.cursor-point-scroll {
	opacity: 1 !important;
	transition: 0s !important;
}
  
@keyframes stretch {
	0% {
		top: 5px;
	}
	
	100% {
		top: 25px;
	}
}

a {
	cursor: none;
}

.body-home {
	min-height: 100vh;
	position: relative;
	display: flex;
	align-content: center;
	flex-direction: column;
	overflow-x: hidden;
}

.title-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5vw;
	padding-top: 3.5vw;
	padding-bottom: 1vw;
	text-align: center;
}

.title-container h1 {
	font-family: 'Poppins', sans-serif;
	color: #FF0000;
	font-size: 3.75rem;
	font-weight: 600;
	text-shadow: 0px 0px 10px #1D1D1D;
}

.br-hidden {
	display: none;
}

.title-container h2 {
	font-family: 'Poppins', sans-serif;
	color: white;
	font-size: 1.5rem;
	font-weight: 600;
	text-shadow: 0px 0px 10px #1D1D1D;
	line-height: 33px;
}

.home-img-container {
	position: relative;
	padding-top: 725px;
}

.slider-item {
	width: 764px;
	height: auto;
	aspect-ratio: 16/9;
	background-color: red;
	position: relative;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	overflow: hidden;
	transition: all 400ms ease-in-out;
	opacity: 0;
	-webkit-box-shadow: 0px 0px 50px -10px rgba(0,0,0,0.5); 
	box-shadow: 0px 0px 50px -10px rgba(0,0,0,0.5);
	overscroll-behavior: contain;
	transform: translate(-107.5%, -75%);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	gap: 25px;
}

.slider-item.active {
	opacity: 1;
	z-index: 99;
	width: 812px;
	height: auto;
	aspect-ratio: 16/9;
	transform: translate(-50%, -50%);
}

.slider-item.prev {
	z-index: 2;
	transform: translate(-107.5%, -75%);
	opacity: 0.75;
}

.slider-item.next {
	z-index: 2;
	transform: translate(7.5%, -75%);
	opacity: 0.75;
}

.slider-item h1 {
	font-family: 'Poppins', sans-serif;
	color: white;
	font-size: 3.75rem;
	font-weight: 600;
	z-index: 1;
}

.slider-item p {
	font-family: 'Poppins', sans-serif;
	color: white;
	font-size: 1.75rem;
	font-weight: 600;
	line-height: 40px;
	margin-left: 11%;
	margin-right: 11%;
	z-index: 1;
}

.slider-item img {
	position: absolute;
	opacity: 0.25;
	z-index: 0;
	height: 100%;
}

.progress-bar-container {
	position: absolute;
	display: flex;
	top: 87.5%;
	justify-content: center;
	width: 100%;
}

.progress-bar {
	width: 300px;
	height: 15px;
	border: red 1px solid;
	position: relative;
}

.progress-bar-fill {
	height: 7px;
	background-color: red;
	position: absolute;
	top: 28%;
	left: 1.5%;
}

canvas {
    display: block;
	position: fixed;
	z-index: -1;
}

.section-divider {
	width: 100%;
	height: 125px;
	border-top: #FF0000 1px solid;
	border-bottom: #FF0000 1px solid;
	display: flex;
	justify-content: center;
	align-items: center;
}

.section-divider h1 {
	font-family: 'Poppins', sans-serif;
	color: #FF0000;
	font-size: 6rem;
	font-weight: 600;
	text-shadow: 0px 0px 10px #1D1D1D;
}

.section-line-container {
	width: 100%;
	height: 200px;
}

.section-line {
	width: 1px;
	height: 100%;
	background-color: red;
}

.subsection-divider {
	width: 100%;
	height: 230px;
	border-top: #FF0000 1px solid;
	border-bottom: #FF0000 1px solid;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.line-clone-container {
	width: 2920px;
	height: 100%;
	align-items: center;
	gap: 5px;
}

.subsection-divider h1 {
	font-family: 'Poppins', sans-serif;
	color: white;
	font-size: 6rem;
	font-weight: 600;
	padding-left: 2%;
	padding-right: 2%;
	position: absolute;
	left: 2%;
}

.box {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid red;
}

.line {
	display: flex;
	justify-content: center;
}

.first-box {
	width: 536px;
	height: 460px;
	align-self: center;
	background-color: rgba(26,26,26,0.5);
}

.box-text {
	font-family: 'Poppins', sans-serif;
	color: white;
	font-size: 1.375rem;
	margin: 50px;
	line-height: 33px;
	text-shadow: 0px 0px 10px #1D1D1D;
}

.second-box-line-container {
	width: 257px;
	height: 50px;
	align-self: flex-end;
	margin-right: 35.5%;
}

.third-box-container {
	align-self: center;
	display: flex;
}

.third-box  {
	width: 330px;
	height: 290px;
	background-color: rgba(26,26,26,0.5);
}

.third-box-space {
	width: 469px;
	height: 1px;
}

.third-box a {
	text-decoration: underline;
	color: white;
	transition: 0.3s;
}

.third-box a:hover {
	color: red;
}

.centered-line-container {
	width: 950px;
	height: 50px;
	align-self: center;
}

.hidden-line-mid {
	display: none;
}

.centered-img-box {
	width: 812px;
	height: auto;
	aspect-ratio: 16/8.5;
	align-self: center;
	position: relative;
}

.centered-img-box img {
	width: 770px;
	height: 383px;
}

.section-whitespace {
	width: 100%;
	height: 5vw;
}

.chart-box-left  {
	width: 330px;
	background-color: rgba(26,26,26,0.5);
	margin-left: 13%;
}

.text-image-container {
	display: flex;
	align-self: center;
}

.lined-box-container {
	width: 330px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

.lined-box-container .chart-box-left {
	margin-left: 0;
}

.lined-box-container .centered-line-container {
	width: 330px;
	height: 115px;
}

.lined-image-container {
	display: flex;
	float: none;
	position: relative;
}

.lined-image-container .centered-line-container {
	width: 4vw;
	align-items: center;
}

.lined-image-container .centered-line-container .section-line {
	width: 100%;
	height: 1px;
}

.lined-image-container .line-right {
	width: 100vw;
	position: absolute;
	left: 100%;
}

.lined-image-container .centered-img-box {
	width: 389px;
	height: 507px;
	aspect-ratio: auto;
}

.lined-image-container .centered-img-box img {
	width: 354px;
	height: 472px;
}

.site-link-box {
	width: auto;
	height: 100px;
	background-color: rgba(26,26,26,0.5);
	align-self: center;
}

.site-desc-box {
	width: 950px;
	height: auto;
	background-color: rgba(26,26,26,0.5);
	align-self: center;
}

.centered-img-box h1 {
	font-family: 'Poppins', sans-serif;
	color: white;
	font-size: 6rem;
	font-weight: 600;
	padding-left: 2%;
	position: absolute;
	left: 5%;
	top: 20%;
	text-shadow: 0px 0px 100px #1D1D1D;
}

.process-container .centered-img-box img {
	background: #1D1D1D;
}

.process-container .lined-box-container {
	width: auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.goal-wrapper .centered-line-container {
	width: 100%;
}

.link-show {
	display: none;
}

.scrolltop-container {
	width: 100%;
	height: 18vw;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 50px;
}

.scrolltop {
	width: 7.5%;
	height: 40%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.scrolltop img {
	width: 40px;
	transition: 0.2s;
}

.scrolltop:hover img {
	width: 50px;
}

.link-hide, .link-show {
	text-decoration: underline;
	transition: 0.3s;
}

.link-hide:hover {
	color: red;
}

footer a {
	animation: float-v 6s ease-in-out infinite;
}

.linkedin {
	height: 60px;
	width: 60px;
	-webkit-mask: url(https://upload.wikimedia.org/wikipedia/commons/7/76/Font_Awesome_5_brands_linkedin.svg);
	background: white;
	-webkit-mask-size: cover;
	transition: 0.3s ease;
}

.linkedin:hover {
	height: 75px;
	width: 75px;
	background: red;
}

@keyframes float-v {
	0% {
		transform: translatey(0px);
	}
	50% {
		transform: translatey(-20px);
	}
	100% {
		transform: translatey(0px);
	}
}

@media (pointer: coarse) {
	.cursor, .cursor-circle, .cursor-point {
		display: none;
	}
}

@media screen and (max-width: 1800px) {
	.hidden-line-mid {
		display: flex;
		height: 50px;
	}

	.double-box-container-chart .hidden-line-mid, .text-image-container .hidden-line-mid {
		display: none;
	}

	.process-container .lined-image-container .centered-line-container {
		width: 2vw;
	}
}

@media screen and (max-width: 1700px) {
	.home-img-container {
		padding-top: 50vw;
	}

	.slider-item {
		width: 45%;
		gap: 5%;
	}

	.slider-item.active {
		width: 47.5%;
	}

	.slider-item h1 {
		font-size: 4vw;
		font-size: max(1rem, 4vw);
	}

	.slider-item p {
		font-size: max(1rem, 1.9vw);
		line-height: 120%;
	}

	.chart-box-left, .text-image-container {
		margin-left: 3%;
	}

	.horizontal-reverse .lined-image-container {
		flex-direction: row-reverse;
	}
}

@media screen and (max-width: 1500px) {
	.second-box-line-container {
		align-self: center;
		margin: 0;
	}

	.chart-box-left {
		margin-left: 0;
		align-self: center;
	}

	.text-image-container {
		width: 100%;
		margin-left: 0;
		flex-direction: column;
		align-items: center;
	}

	.lined-image-container .centered-line-container {
		display: none;
	}

	.text-image-container .hidden-line-mid {
		display: flex;
	}
	.third-box-space {
		display: none;
	}
}

@media screen and (max-width: 1300px) {
	.double-box-container-chart .hidden-line-mid {
		display: flex;
		height: 50px;
	}
}

@media screen and (max-width: 1200px) {
	.third-box {
		align-self: center;
		margin-left: 0;
		margin-right: 0;
	}
}

@media screen and (max-width: 1100px) {
	.title-container h1 {
		font-size: max(1.5rem, 5.25vw);
	}

	.title-container h2 {
		font-size: max(1rem, 3.5vw);
		line-height: 4vw;
	}

	.section-divider {
		height: 11.5vw;
	}

	.section-divider h1 {
		font-size: 8.75vw;
	}

	.section-line-container {
		height: 19vw;
	}

	.subsection-divider {
		height: 21vw;
	}

	.subsection-divider h1 {
		font-size: 8vw;
	}

	.second-box-line-container, .centered-line-container, .hidden-line-mid {
		height: 8vw !important;
	}
}

@media screen and (max-width: 1000px) {
	.centered-img-box {
		width: 90vw;
	}

	.centered-img-box img {
		width: 85vw;
		height: 42vw;
	}

	.third-box {
		width: auto;
		height: auto;
	}

	.site-desc-box {
		width: 90vw;
		align-self: center;
	}

	.centered-img-box h1 {
		font-size: 10vw;
	}

	.scrolltop-container {
		height: 180px;
	}
}

@media screen and (max-width: 650px) {
	.title-container {
		padding-top: 6vw;
	}

	.home-img-container {
		padding-top: 80vw;
	}

	.slider-item.prev, .slider-item.next {
		opacity: 0.75;
	}

	.slider-item, .slider-item.active {
		width: 70%;
	}

	.title-container .br-hidden {
		display: block;
	}

	span {
		display: none;
	}

	.first-box {
		width: 90vw;
		height: auto;
	}

	.box-text {
		font-size: max(1rem, 3.65vw);
		margin: 8.3vw;
		line-height: 5.5vw;
	}

	.chart-box-left {
		width: auto;
		height: auto;
		min-height: 20vw;
	}

	.lined-box-container {
		width: 100%;
		display: flex;
		flex-direction: column;
	}

	.site-link-box {
		min-width: 68vw;
		height: 16vw;
	}
}

@media screen and (max-width: 500px) {
	.link-hide {
		display: none;
	}

	.link-show {
		display: block;
	}
}

@media screen and (max-width: 420px) {
	.chart-box .box-text {
		line-height: 6vw;
	}
	
	.title-container h2 {
		font-size: max(0.75rem, 3.5vw);
		line-height: 6vw;
	}

	.lined-image-container .centered-img-box {
		width: 90vw;
		height: 118vw;
	}

	.lined-image-container .centered-img-box img {
		width: 80vw;
		height: auto;
	}
}