:root
{
	--e-global-color-secondary: #EBEBEB;
	--e-global-color-text: #D8D8D8;
	--e-global-color-accent: #5BD7F2;
	--e-global-color-0441731: #5BD7F2;
	--e-global-color-c90a210: #07142D;
	--e-global-color-695b4d2: #007DD2;
	--e-global-color-e446dfa: #091621;
	--e-global-typography-primary-font-family: "Bai Jamjuree";
	--e-global-typography-primary-font-weight: 600;
	--e-global-typography-secondary-font-family: "Mulish";
	--e-global-typography-secondary-font-weight: 300;
	--e-global-typography-secondary-line-height: 1.4;
	--e-global-typography-text-font-family: "Mulish";
	--e-global-typography-text-font-weight: 300;
	--e-global-typography-text-line-height: 1.4;
	--e-global-typography-accent-font-family: "Mulish";
	--e-global-typography-accent-font-weight: 500;
	--e-global-typography-4788e97-font-family: "Bai Jamjuree";
	--e-global-typography-4788e97-font-size: 80px;
	--e-global-typography-4788e97-font-weight: 600;
	--e-global-typography-4788e97-line-height: 1.05;
	--e-global-typography-73c628f-font-family: "Bai Jamjuree";
	--e-global-typography-73c628f-font-size: 60px;
	--e-global-typography-73c628f-font-weight: 600;
	--e-global-typography-73c628f-line-height: 1.1;
	--e-global-typography-cae2dd7-font-family: "Bai Jamjuree";
	--e-global-typography-cae2dd7-font-size: 40px;
	--e-global-typography-cae2dd7-font-weight: 600;
	--e-global-typography-cae2dd7-line-height: 1.15;
	--e-global-typography-30c5d28-font-family: "Bai Jamjuree";
	--e-global-typography-30c5d28-font-size: 32px;
	--e-global-typography-30c5d28-font-weight: 600;
	--e-global-typography-30c5d28-line-height: 1.12;
	--e-global-typography-ff350f8-font-family: "Bai Jamjuree";
	--e-global-typography-ff350f8-font-size: 24px;
	--e-global-typography-ff350f8-font-weight: 600;
	--e-global-typography-ff350f8-line-height: 1.25;
	--e-global-typography-33ba38f-font-family: "Red Rose";
	--e-global-typography-33ba38f-font-size: 18px;
	--e-global-typography-33ba38f-font-weight: 500;
	--e-global-typography-33ba38f-line-height: 1.4;
	--e-global-typography-e81b388-font-family: "Mulish";
	--e-global-typography-e81b388-font-size: 18px;
	--e-global-typography-e81b388-font-weight: 300;
	--e-global-typography-e81b388-line-height: 1.4;
	--e-global-typography-ca48592-font-family: "Mulish";
	--e-global-typography-ca48592-font-size: 16px;
	--e-global-typography-ca48592-font-weight: 300;
	--e-global-typography-ca48592-line-height: 1.4;
	font-family: "Kumbh Sans", Sans-serif;
	font-weight: 400;
	line-height: 1.4;

	--bs-primary: #5BD7F2;
	--bs-secondary: #07142D;
	--bs-third: #007dd2;
	--bs-font-primary: "Mulish";
	--bs-font-secondary: "Bai Jamjuree"
}

html
{
	scroll-padding-top: 160px;
}

body
{
	color: #d8d8d8;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.4;
	background: #01060c;
	font-family: var(--bs-font-primary);
	overflow-x: hidden;
}

.hr-glow
{
	border: 2px solid #22d3ee;
	box-shadow: 0 0 3px 3px rgba(34, 211, 238, 0.8);
}

/* ==========================================
   LOGO
   ========================================== */
/* #region LOGO */
.logo-wrapper
{
	position: relative;
	display: inline-block;
	width: 350px;
	cursor: pointer;
}

.logo-wrapper img,
.logo-wrapper video
{
	width: 100%;
	height: 100%;
	display: block;
}

.logo-wrapper video
{
	position: absolute;
	top: 0;
	left: 0;
	object-fit: contain;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.3s ease;
}

/* #endregion LOGO */


/* ==========================================
   VIDEO
   ========================================== */
/* #region VIDEO */
#videoOverlay
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	z-index: 100000;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: opacity 1s ease;
	/* fade transition */
}

#videoOverlay.hidden
{
	opacity: 0;
	pointer-events: none;
	/* allow interactions with page underneath */
}

#videoOverlay video
{
	max-width: 100%;
	max-height: 100%;
}

/* #endregion VIDEO */


/* ==========================================
   HEADER
   ========================================== */
/* #region HEADER */
header
{
	position: sticky;
	top: 0;
	z-index: 1000;
	background-color: #000;
	box-shadow: 0 0 1px 1px #222;
}

header .row
{
	padding: 15px 100px;
}

.navbar
{
	position: relative;
	display: grid;
	grid-template-columns: 1fr auto 1.3fr;
	align-items: center;
	z-index: 5;
	flex-wrap: wrap;
	padding: 10px 0;
}

.navbar-left
{
	justify-self: start;
}

.navbar-center
{
	justify-self: center;
}

.navbar-right
{
	justify-self: end;
	display: flex;
	align-items: center;
	text-align: right;
}

.navbar-right button
{
	margin-left: 10px;
}

/* ==========================================
   HEADER - MENU
   ========================================== */
/* #region HEADER - MENU */
.navbar .navbar-nav
{
	position: relative;
	display: inline-block;
	border-radius: 16px;
	padding: 7px 25px 10px 25px;
	background: linear-gradient(180deg, var(--bs-secondary) 0%, #00060B 100%)
}

.navbar .navbar-nav::before
{
	content: "";
	position: absolute;
	z-index: -1;
	top: -1px;
	left: -1px;
	border-radius: 16px;
	opacity: 1;
	background: linear-gradient(to bottom, #333 0%, #0f0 49%, #333 100%);
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

.navbar .navbar-nav>li
{
	display: inline-block;
	list-style: none;
}

.navbar .navbar-nav>li
{
	padding: 5px 12px
}

.navbar .navbar-nav>li:first-child
{
	margin-left: 0
}

.navbar .navbar-nav>li:last-child
{
	margin-left: 0;
	margin-right: 0
}

.navbar .navbar-nav a
{
	color: #d8d8d8
}

.navbar .navbar-nav li a
{
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

.navbar .navbar-nav li a:hover
{
	color: var(--bs-primary);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

/* this is needed for scrolling highlight */
.navbar .navbar-nav li a.active
{
	color: var(--bs-primary);
	text-decoration: underline;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}
/* #endregion HEADER - MENU */
/* #endregion HEADER */


h1
{
	line-height: 1;
}

h2
{
	line-height: 1.1;
}

h3
{
	line-height: 1.26;
}

h4
{
	line-height: 1.23;
}

h5
{
	line-height: 1.3;
}

h6
{
	letter-spacing: 1.3;
}

a:link,
a:visited
{
	text-decoration: none;
	color: #ebebeb;
	outline: none;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

a:hover
{
	color: var(--bs-primary);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

h1,
h2,
h3,
h4,
h5,
h6,
p
{
	margin-top: 0
}

h1,
h2,
h3,
h4,
h5,
h6
{
	font-family: var(--bs-font-secondary);
	color: #ebebeb
}



h1
{
	margin-bottom: 12px;
	font-size: 80px;
	font-weight: 600;
	line-height: 1.05;
	padding-top: 0;
	-ms-word-wrap: break-word;
	word-wrap: break-word
}


h2
{
	margin-bottom: 30px;
	font-size: 60px;
	font-weight: 600;
	line-height: 1.1;
	padding-top: 0;
	-ms-word-wrap: break-word;
	word-wrap: break-word
}

h3
{
	margin-bottom: 12px;
	font-size: 40px;
	line-height: 1.15;
	padding-top: 0;
	font-weight: 600
}

h4
{
	margin-bottom: 12px;
	font-size: 32px;
	line-height: 1.2;
	font-weight: 600;
	padding-top: 0
}

h5
{
	margin-bottom: 12px;
	font-size: 24px;
	font-weight: 600;
	line-height: 1.25;
	padding-top: 0
}

h6
{
	margin-bottom: 12px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
	padding-top: 0
}



.form-website
{
	position: absolute;
	left: -9999px;
}

.button-top
{
	position: fixed;
	z-index: 1000;
	bottom: 30px;
	right: 30px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	opacity: 1;
	cursor: pointer;
	width: 20px;
	height: 40px;
	border-bottom: 3px solid #ebebeb;
	color: #ebebeb;
	font-size: 25px;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

.button-top::before
{
	font-weight: 900;
	content: "";
	font-family: "Font Awesome 5 Free"
}

.button-top:hover
{
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease;
	padding-bottom: 15px
}

#banner
{
	background-image: url("../img/aihand.jpg");
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 600px;

	transition: background 3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s !important;
}

#banner .row
{
	width: 55%;
}

#banner .sub-heading
{
	margin-top: 10px;
	width: 50%;
}

#banner p
{
	margin-bottom: 50px;
}

.padding-animation
{
	padding: 0px 0px 60px 0px;
}

.title
{
	font-family: "Bai Jamjuree", Sans-serif;
	font-size: 80px;
	font-weight: 600;
	line-height: 1.05;
}

.small-title
{
	font-family: "Bai Jamjuree", Sans-serif;
	font-size: 16px;
	font-weight: 400;
	text-transform: uppercase;
	margin-bottom: 10px;
}

section
{
	margin: 50px 100px;
}

.section-title
{
	padding-top: 50px;
	margin-bottom: 50px;
}





.modal-content
{
	background: rgba(0, 0, 0, 0.8);
	box-shadow: 0 0 3px 3px var(--bs-third);
	z-index: 1000000;
}

.modal-backdrop.show
{
	background-color: rgba(0, 0, 0, 0.5);
	opacity: 0.8;
	backdrop-filter: blur(10px) !important;
	-webkit-backdrop-filter: blur(10px) !important;
}

.btn-close
{
	filter: invert(100%) brightness(200%);
}




/* ==========================================
   SERVICES
   ========================================== */
/* #region SERVICES */
.services-row
{
	display: flex;
	gap: 50px;
	margin-bottom: 50px;
}

.services
{
	position: relative;
	overflow: hidden;
	border-radius: 25px;
	height: 500px;
	width: 33.333%;

	background:
		linear-gradient(180deg, var(--bs-secondary) 0%, #00060B 100%) padding-box,
		linear-gradient(to bottom, #000 0%, var(--bs-third) 50%, #000 100%) border-box;

	border: 1px solid white;
}

.services a
{
	position: relative;
	display: block;
	height: 100%;

}

/* Arrow */
.services .arrow
{
	position: absolute;
	top: 28px;
	right: 32px;
	transition: transform 0.4s ease, opacity 0.4s ease;
	z-index: 3;
	font-size: 30px;
	transform: rotate(-45deg);
}

/* Icon */
.services .icon
{
	position: relative;
	display: flex;
	justify-content: center;
	transition: all 0.4s ease;
	margin: 0 auto;
	padding-top: 80px;
}

.services .icon img
{
	width: 190px;
}

/* Content */
.services .content h3
{
	transition: all 0.4s ease;
	font-size: 36px;
	margin-top: 50px;
	margin-left: 20px;
}

.services .content p
{
	font-size: 20px;
	opacity: 0;
	transition: opacity 0.4s ease, transform 0.4s ease;
	margin: 0 20px;
}

/* HOVER EFFECTS */
.services:hover .arrow
{
	transform: translate(60px, -60px) rotate(-45deg);
	opacity: 0;
}

.services:hover .icon
{
	transform: translateY(-65px) scale(0.7);
	margin-bottom: 0px;
}

.services:hover .content h3
{
	transform: translateY(-130px);
	font-size: 30px;
}

.services:hover .content p
{
	opacity: 1;
	transform: translateY(-100px);
}

/* #endregion SERVICES */


/* ==========================================
   INDUSTRIES
   ========================================== */
/* #region INDUSTRIES */
.industries
{
	position: relative;
	width: 100%;
	text-align: center;
	border-radius: 24px;
	padding: 0;
	background: linear-gradient(180deg, var(--bs-secondary) 0%, #00060B 100%);
	display: flex;
	justify-content: space-between;
	margin-bottom: 24px;
}

.industries::before
{
	content: "";
	position: absolute;
	z-index: -1;
	top: -1px;
	left: -1px;
	opacity: 0.7;
	background: linear-gradient(to bottom, #000 0%, var(--bs-third) 50%, #000 100%);
	width: calc(100% + 2px);
	height: calc(100% + 2px);
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

.industries h3
{
	margin-bottom: 0;
	font-size: 32px;
	color: #ebebeb
}

.industries button
{
	display: block;
	width: 100%;
	height: 100%;
	padding: 30px;
	border: none;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
}

.industries:hover
{
	background: linear-gradient(45deg, var(--bs-primary), #fff)
}

.industries:hover h3,
.industries:hover p,
.industries:hover i
{
	color: #08132e;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	transition: all 0.4s ease
}

.industries:hover p
{
	font-weight: 400
}

.industries-animation:hover
{
	-webkit-animation: industriesAnimation1 3s linear infinite;
	animation: industriesAnimation2 3s linear infinite
}

.industries-animation:hover img
{
	display: block;
	position: relative;
	transform-style: preserve-3d
}

@keyframes industriesAnimation1
{
	from
	{
		transform: rotateZ(0)
	}

	to
	{
		transform: rotateZ(-15deg)
	}
}

@keyframes industriesAnimation2
{
	0%
	{
		transform: rotateY(0deg) rotateX(0);
		-webkit-animation-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
		animation-timing-function: cubic-bezier(0.61, 1, 0.88, 1)
	}

	25%
	{
		transform: rotateY(20deg) rotateX(10deg)
	}

	50%
	{
		transform: rotateY(0deg) rotateX(10deg);
		-webkit-animation-timing-function: cubic-bezier(0.61, 1, 0.88, 1);
		animation-timing-function: cubic-bezier(0.61, 1, 0.88, 1)
	}

	75%
	{
		transform: rotateY(-20deg) rotateX(10deg)
	}

	100%
	{
		transform: rotateY(0deg) rotateX(10deg)
	}
}

/* #endregion INDUSTRIES */


/* ==========================================
   CONTACT
   ========================================== */
/* #region CONTACT */
#contact form .row
{
	margin-bottom: 20px;
}

#contact p
{
	color: #ccc;
}

#contact .session-list
{
	display: flex;
	align-items: flex-start;
}

#contact .session-list h3
{
	display: inline-block;
	margin-bottom: 0;
	font-size: 16px;
	font-weight: 600;
	line-height: 20px
}

#contact .session-list i
{
	margin-right: 8px;
	rotate: -45deg;
	color: var(--bs-primary)
}
/* #endregion CONTACT */


/* ==========================================
   FOOTER
   ========================================== */
/* #region FOOTER */
footer
{
	padding: 50px 100px 10px;
	background: var(--bs-secondary);
}

footer .row
{
	margin-bottom: 20px;
}

footer h5
{
	margin-bottom: 25px;
}

footer p
{
	margin-bottom: 0;
}

footer input
{
	background-color: #000 !important;
}

footer .contact
{
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}

footer .contact i
{
	width: 31px;
	font-size: 20px;
	opacity: 0.8;
	background-image: linear-gradient(45deg, var(--bs-primary), #fff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

footer .copyright
{
	font-size: 14px;
}

footer .copyright i
{
	font-size: 11px;
}

/* #endregion FOOTER */


















/* Container */
.custom-checkbox
{
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 16px;
	user-select: none;
	position: relative;
}

/* Hide default checkbox */
.custom-checkbox input
{
	position: absolute;
	opacity: 0;
	cursor: pointer;
}

/* Custom box */
.checkmark
{
	width: 20px;
	height: 20px;
	border-radius: 6px;
	border: 2px solid #cbd5e1;
	background: #fff;
	display: inline-block;
	position: relative;
	transition: all 0.15s ease;
	overflow: hidden; /* needed for ripple */
}

/* Hover effect */
.custom-checkbox:hover .checkmark
{
	border-color: #2563eb;
}

/* Checked state */
.custom-checkbox input:checked + .checkmark
{
	background: #2563eb;
	border-color: #2563eb;
}

/* Check icon */
.checkmark::after
{
	content: "";
	position: absolute;
	left: 6px;
	top: 2px;
	width: 5px;
	height: 10px;
	border: solid #fff;
	border-width: 0 2px 2px 0;
	transform: rotate(45deg) scale(0);
	transition: transform 0.15s ease;
}

/* Show check */
.custom-checkbox input:checked + .checkmark::after
{
	transform: rotate(45deg) scale(1);
}

/* Focus ring (keyboard accessibility) */
.custom-checkbox input:focus + .checkmark
{
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25);
}

/* Active (press) effect */
.custom-checkbox:active .checkmark
{
	transform: scale(0.8);
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.15);
}

/* Active when checked */
.custom-checkbox:active input:checked + .checkmark
{
	background: #1d4ed8;
	border-color: #1d4ed8;
}

/* Ripple effect */
.checkmark::before
{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background: rgba(37, 99, 235, 0.25);
	border-radius: 50%;
	transform: scale(0);
	opacity: 0;
}

/* Trigger ripple on click */
.custom-checkbox:active .checkmark::before
{
	animation: ripple 0.4s ease;
}

@keyframes ripple
{
	0%
	{
		transform: scale(0);
		opacity: 0.5;
	}
	100%
	{
		transform: scale(2.2);
		opacity: 0;
	}
}