/*============ 1. Body and Core Css ============*/
@font-face
{
	font-family:Jost-SemiBold;
	src: local('Jost-SemiBold'), url('../fonts/Jost/Jost-SemiBold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face
{
	font-family:Jost-Medium;
	src: local('Jost-Medium'), url('../fonts/Jost/Jost-Medium.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face
{
	font-family:Jost-Regular;
	src: local('Jost-Regular'), url('../fonts/Jost/Jost-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face
{
	font-family:OpenSans-Bold;
	src: local('OpenSans-Bold'), url('../fonts/OpenSans/OpenSans-Bold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face
{
	font-family:OpenSans-SemiBold;
	src: local('OpenSans-SemiBold'), url('../fonts/OpenSans/OpenSans-SemiBold.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face
{
	font-family:OpenSans-Medium;
	src: local('OpenSans-Medium'), url('../fonts/OpenSans/OpenSans-Medium.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}
@font-face
{
	font-family:OpenSans-Regular;
	src: local('OpenSans-Regular'), url('../fonts/OpenSans/OpenSans-Regular.ttf') format('truetype');
	font-weight: normal;
	font-style: normal;
}

*
{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	padding: 0;
	margin: 0;
	outline: none !important;
}
*:after, *:before
{
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
h1, h2, h3, h4, h5, h6
{
	margin: 0;
	padding: 0;
}
i, em
{
	font-style: normal;
}
a
{
	color: #fff;
	display: inline-block;
}
a:hover
{
	text-decoration: none;
	color: #fff;
}
a,button,.btn
{
	text-decoration: none;
	-webkit-transition:all .2s ease-in-out;
	-o-transition:all .2s ease-in-out;
	transition:all .2s ease-in-out;
}
a:hover,a:focus, button:hover,button:focus, .btn:hover, .btn:focus
{
	outline:none;
	box-shadow: none;
	text-decoration: none;
	-webkit-transition:all .2s ease-in-out;
	-o-transition:all .2s ease-in-out;
	transition:all .2s ease-in-out;
}
html, body
{
	height: 100%;
	width: 100%;
	font-family: 'OpenSans-Regular';
	overflow: hidden;
}
body
{
	background-color: #1e1e1e;
	color: #fff;
	overflow-x: hidden;
	-webkit-user-select: none; /* Chrome, Safari */
	-moz-user-select: none;    /* Firefox */
	-ms-user-select: none;     /* IE/Edge */
	user-select: none;         /* Standard */
}
#canvas-container canvas
{
	-webkit-transform: translate(calc(-50% + var(--debug-bg-scroll-x, 0px)), calc(-50% + var(--debug-bg-scroll-y, 0px))) scale(var(--debug-bg-scale, 1.2)) !important;
	transform: translate(calc(-50% + var(--debug-bg-scroll-x, 0px)), calc(-50% + var(--debug-bg-scroll-y, 0px))) scale(var(--debug-bg-scale, 1.2)) !important;
	will-change: transform;
}
h1, h2, h3, h4, h5, h6
{
	color: #fff;
	font-weight: 600;
}
h3
{
	line-height: 42px;
}
p
{
	font-size: 16px;
	line-height: 28px;
	color: #8f8f8f;
}
img
{
	border: 0 none;
	max-width: 100%;
	vertical-align: middle;
	height: auto;
}
.mt-0
{
	margin-top: 0 !important;
}
.mt-5
{
	margin-top: 5px !important;
}
.mt-10
{
	margin-top: 10px !important;
}
.mt-15
{
	margin-top: 15px !important;
}
.mt-20
{
	margin-top: 20px !important;
}
.mt-25
{
	margin-top: 25px !important;
}
.mt-30
{
	margin-top: 30px !important;
}
.mt-35
{
	margin-top: 35px !important;
}
.mt-40
{
	margin-top: 40px !important;
}
.mt-45
{
	margin-top: 45px !important;
}
.mt-50
{
	margin-top: 50px !important;
}
.mt-55
{
	margin-top: 55px !important;
}
.mt-60
{
	margin-top: 60px !important;
}
.mt-62
{
	margin-top: 62px !important;
}
.mt-65
{
	margin-top: 65px !important;
}
.mt-70
{
	margin-top: 70px !important;
}
.mt-75
{
	margin-top: 75px !important;
}
.mt-80
{
	margin-top: 80px !important;
}
.mt-85
{
	margin-top: 85px !important;
}
.mt-90
{
	margin-top: 90px !important;
}
.mt-95
{
	margin-top: 95px !important;
}
.mt-100
{
	margin-top: 100px !important;
}
/* Custom Margin Bottom */
.mb-0
{
	margin-bottom: 0 !important;
}
.mb-5
{
	margin-bottom: 5px !important;
}
.mb-10
{
	margin-bottom: 10px !important;
}
.mb-15
{
	margin-bottom: 15px !important;
}
.mb-20
{
	margin-bottom: 20px !important;
}
.mb-25
{
	margin-bottom: 25px !important;
}
.mb-30
{
	margin-bottom: 30px !important;
}
.mb-35
{
	margin-bottom: 35px !important;
}
.mb-40
{
	margin-bottom: 40px !important;
}
.mb-45
{
	margin-bottom: 45px !important;
}
.mb-50
{
	margin-bottom: 50px !important;
}
.mb-55
{
	margin-bottom: 55px !important;
}
.mb-60
{
	margin-bottom: 60px !important;
}
.mb-62
{
	margin-bottom: 62px !important;
}
.mb-65
{
	margin-bottom: 65px !important;
}
.mb-70
{
	margin-bottom: 70px !important;
}
.mb-75
{
	margin-bottom: 75px !important;
}
.mb-80
{
	margin-bottom: 80px !important;
}
.mb-85
{
	margin-bottom: 85px !important;
}
.mb-90
{
	margin-bottom: 90px !important;
}
.mb-95
{
	margin-bottom: 95px !important;
}
.mb-100
{
	margin-bottom: 100px !important;
}
.m-0
{
	margin: 0px !important;
}
/* Custom Padding top */
.pt-0
{
	padding-top: 0 !important;
}
.pt-5
{
	padding-top: 5px !important;
}
.pt-10
{
	padding-top: 10px !important;
}
.pt-15
{
	padding-top: 15px !important;
}
.pt-20
{
	padding-top: 20px !important;
}
.pt-25
{
	padding-top: 25px !important;
}
.pt-30
{
	padding-top: 30px !important;
}
.pt-35
{
	padding-top: 35px !important;
}
.pt-40
{
	padding-top: 40px !important;
}
.pt-45
{
	padding-top: 45px !important;
}
.pt-50
{
	padding-top: 50px !important;
}
.pt-55
{
	padding-top: 55px !important;
}
.pt-60
{
	padding-top: 60px !important;
}
.pt-65
{
	padding-top: 65px !important;
}
.pt-70
{
	padding-top: 70px !important;
}
.pt-75
{
	padding-top: 75px !important;
}
.pt-80
{
	padding-top: 80px !important;
}
.pt-85
{
	padding-top: 85px !important;
}
.pt-90
{
	padding-top: 90px !important;
}
.pt-95
{
	padding-top: 95px !important;
}
.pt-100
{
	padding-top: 100px !important;
}
/* Custom Padding top */
.pb-0
{
	padding-bottom: 0 !important;
}
.pb-5
{
	padding-bottom: 5px !important;
}
.pb-10
{
	padding-bottom: 10px !important;
}
.pb-15
{
	padding-bottom: 15px !important;
}
.pb-20
{
	padding-bottom: 20px !important;
}
.pb-25
{
	padding-bottom: 25px !important;
}
.pb-30
{
	padding-bottom: 30px !important;
}
.pb-35
{
	padding-bottom: 35px !important;
}
.pb-40
{
	padding-bottom: 40px !important;
}
.pb-45
{
	padding-bottom: 45px !important;
}
.pb-50
{
	padding-bottom: 50px !important;
}
.pb-55
{
	padding-bottom: 55px !important;
}
.pb-60
{
	padding-bottom: 60px !important;
}
.pb-65
{
	padding-bottom: 65px !important;
}
.pb-70
{
	padding-bottom: 70px !important;
}
.pb-75
{
	padding-bottom: 75px !important;
}
.pb-80
{
	padding-bottom: 80px !important;
}
.pb-85
{
	padding-bottom: 85px !important;
}
.pb-90
{
	padding-bottom: 90px !important;
}
.pb-95
{
	padding-bottom: 95px !important;
}
.pb-100
{
	padding-bottom: 100px !important;
}
.p-0
{
	padding: 0 !important;
}
.pt-row
{
	padding-top: 8vw;
}
.pb-row
{
	padding-bottom: 8vw;
}
div.item-sub-cat p a, div.item-sub-cat ul li a {
	text-decoration: underline;
}
@media only screen and (max-width: 576px)
{
	.pt-row
	{
		padding-top: 12vw;
	}
	.pb-row
	{
		padding-bottom: 12vw;
	}
}

/*============ 2. Helper Css ============*/
/* Common Css */
.main-btn
{
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.3);
	letter-spacing: 1px;
	font-weight: 600;
	color: #000;
	padding: 10px 20px;
	font-size: 14px;
	text-transform: uppercase;
	-webkit-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
	background-color: transparent;
	color: #fff;
}
.main-btn:hover
{
	background: #fff;
	color: #000;
	text-decoration: none;
}
.link-underline:after
{
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background-color: #fff;
	margin-top: 2px;
}
.link-underline:hover:after
{
	-webkit-animation: swipe-line 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) forwards;
	animation: swipe-line 1.25s cubic-bezier(0.475, 0.425, 0, 0.995) forwards;
}
@-webkit-keyframes swipe-line
{
	0%
	{
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	33%
	{
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
	}
	66%
	{
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
	}
	to
	{
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
@keyframes swipe-line
{
	0%
	{
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
	33%
	{
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
	}
	66%
	{
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
	}
	to
	{
		-webkit-transform-origin: left;
		transform-origin: left;
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}
.fade-up
{
	opacity: 0.01;
	-webkit-transform: translateY(80px);
	-ms-transform: translateY(80px);
	transform: translateY(80px);
}
.smooth-scroll #scroll-content
{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

/* Custom Cursor Css */
#custom-cursor
{
	position: absolute;
	top: 0;
	left: 0;
	width: 30px;
	height: 30px;
	pointer-events: none;
	z-index: 10000;
}
#custom-cursor #cursor-outer
{
	position: fixed;
	width: 40px;
	height: 40px;
	border: 2px solid #eee;
	border-radius: 50%;
	pointer-events: none;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#custom-cursor #cursor-loading
{
	position: absolute;
	top: -10px;
	left: -10px;
	height: 56px;
	width: 56px;
	-webkit-animation: circ-anim .7s linear infinite;
	animation: circ-anim .7s linear infinite;
	display: none;
	border-width: 0px;
	border-radius: 50%;
	border-top: 2px solid #fff;
	border-right: 2px solid transparent;
}
#custom-cursor #cursor-inner
{
	position: fixed;
	height: 5px;
	width: 5px;
	border-radius: 50%;
	background-color: #fff;
	-webkit-transform: translate3d(-50%, -50%, 1px);
	transform: translate3d(-50%, -50%, 1px);
}
@-webkit-keyframes circ-anim
{
	from
	{
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	to
	{
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
@keyframes circ-anim
{
	from
	{
		-webkit-transform: rotate(0);
		transform: rotate(0);
	}
	to
	{
		-webkit-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}
#cursor-outer i
{
	font-size: 10px;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.page-is-changing #cursor-outer #cursor-loading
{
	display: block;
}
.parallax-wrap
{
	width: 60px;
	height: 60px;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	position: relative;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	z-index: 10;
	cursor: pointer;
}
.parallax-icon
{
	height: 30px;
	width: 30px;
	color: #fff;
	text-align: center;
	line-height: 30px;
	font-size: 24px;
}

/* Preloader Css */
.preloader
{
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	background-color: #000;
	z-index: 1000;
}
.preloader .loader-wrap
{
	position: fixed;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.preloader .loader-wrap .loader
{
	height: 2px;
	width: 70vw;
	background-color: #222;
	overflow: hidden;
}
.preloader .loader-wrap .loader .loader-percent
{
	height: 100%;
	margin: auto;
	background-color: #fff;
	width: 0%;
}
.preloader .loader-wrap #percent
{
	text-align: center;
	font-size: 28px;
	font-weight: 600;
	margin-top: 10px;
}
.ajax-preloader
{
	position: fixed;
	top: 0;
	left: 0;
	height: 100vh;
	width: 100%;
	background-color: #000;
	opacity: 0;
	visibility: hidden;
	z-index: 1000;
	-webkit-transition: all .4s ease-in;
	-o-transition: all .4s ease-in;
	transition: all .4s ease-in;
	-webkit-transition-delay: .2s;
	-o-transition-delay: .2s;
	transition-delay: .2s;
}
.ajax-preloader .loading
{
	position: fixed;
	top: 50%;
	left: 50%;
	height: 50px;
	width: 50px;
	display: none;
	-webkit-animation: ajax-circ .7s linear infinite;
	animation: ajax-circ .7s linear infinite;
	border-width: 0px;
	border-radius: 50%;
	border-top: 2px solid #fff;
	border-right: 2px solid transparent;
}
.page-is-changing .ajax-preloader
{
	opacity: 1;
	visibility: visible;
	-webkit-transition: opacity .3s ease-in;
	-o-transition: opacity .3s ease-in;
	transition: opacity .3s ease-in;
}
@-webkit-keyframes ajax-circ
{
	from
	{
		-webkit-transform: translate(-50%, -50%) rotate(0);
		transform: translate(-50%, -50%) rotate(0);
	}
	to
	{
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	}
}
@keyframes ajax-circ
{
	from
	{
		-webkit-transform: translate(-50%, -50%) rotate(0);
		transform: translate(-50%, -50%) rotate(0);
	}
	to
	{
		-webkit-transform: translate(-50%, -50%) rotate(360deg);
		transform: translate(-50%, -50%) rotate(360deg);
	}
}

/* Animation Related Css */
.text-fadeIn[data-splitting] .word
{
	opacity: 0;
	-webkit-transition: all 0.4s ease-out;
	-o-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
	-webkit-transition-delay: calc(0.05s * var(--word-index));
	-o-transition-delay: calc(0.05s * var(--word-index));
	transition-delay: calc(0.05s * var(--word-index));
}
.text-fadeIn[data-splitting].is-active .word, [data-splitting].animate .word
{
	opacity: 1;
}
.text-fadeInUp[data-splitting] .word
{
	color: transparent;
	overflow: hidden;
	position: relative;
	line-height: 1.2em;
}
.text-fadeInUp[data-splitting] .word:after
{
	content: attr(data-word);
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	opacity: 0;
	-webkit-transform: translateY(30px);
	-ms-transform: translateY(30px);
	transform: translateY(30px);
	-webkit-transition: all 0.4s ease-out;
	-o-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
	-webkit-transition-delay: calc(0.05s * var(--word-index));
	-o-transition-delay: calc(0.05s * var(--word-index));
	transition-delay: calc(0.05s * var(--word-index));
}
.text-fadeInUp[data-splitting].is-active .word:after, [data-splitting].animate .word:after
{
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}
.text-fadeInDown[data-splitting] .word
{
	color: transparent;
	overflow: hidden;
	position: relative;
	line-height: 1.2em;
}
.text-fadeInDown[data-splitting] .word:after
{
	content: attr(data-word);
	position: absolute;
	top: 0;
	left: 0;
	color: #fff;
	opacity: 0;
	-webkit-transform: translateY(-30px);
	-ms-transform: translateY(-30px);
	transform: translateY(-30px);
	-webkit-transition: all 0.4s ease-out;
	-o-transition: all 0.4s ease-out;
	transition: all 0.4s ease-out;
	-webkit-transition-delay: calc(0.05s * var(--word-index));
	-o-transition-delay: calc(0.05s * var(--word-index));
	transition-delay: calc(0.05s * var(--word-index));
}
.text-fadeInDown[data-splitting].is-active .word:after, [data-splitting].animate .word:after
{
	opacity: 1;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
}

/* Scroll Icon Css */
.icon-scroll
{
	position: relative;
}
.icon-scroll:before
{
	position: absolute;
	left: 50%;
}
.icon-scroll
{
	width: 30px;
	height: 45px;
	border: 2px solid #fff;
	border-radius: 25px;
	-webkit-transition: .5s all ease;
	-o-transition: .5s all ease;
	transition: .5s all ease;
}
.icon-scroll:hover
{
	-webkit-transform: translateY(-5px);
	-ms-transform: translateY(-5px);
	transform: translateY(-5px);
}
.icon-scroll:before
{
	position: absolute;
	content: '';
	width: 5px;
	height: 8px;
	background: #fff;
	-webkit-transform: translate(-50%, 0%);
	-ms-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
	top: 8px;
	left: 50%;
	border-radius: 4px;
	-webkit-animation-duration: 1.5s;
	animation-duration: 1.5s;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-name: scroll;
	animation-name: scroll;
}
@-webkit-keyframes scroll
{
	0%
	{
		opacity: 1;
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translate(-50%, 20px);
		transform: translate(-50%, 20px);
	}
}
@keyframes scroll
{
	0%
	{
		opacity: 1;
	}
	100%
	{
		opacity: 0;
		-webkit-transform: translate(-50%, 20px);
		transform: translate(-50%, 20px);
	}
}

/* Forms Css */
.input__field
{
	width: 100%;
	background: none;
	border: none;
	color: #fff;
	padding-left: 10px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
.input__field::-webkit-input-placeholder
{
	color: #fff;
	font-size: 14px;
}
.input__field::-moz-placeholder
{
	color: #fff;
	font-size: 14px;
}
.input__field:-ms-input-placeholder
{
	color: #fff;
	font-size: 14px;
}
.input__field::-ms-input-placeholder
{
	color: #fff;
	font-size: 14px;
}
.input__field::placeholder
{
	color: #fff;
	font-size: 14px;
}
input.input__field[type="text"]
{
	height: 45px;
	margin-bottom: 40px;
}
textarea.input__field
{
	height: 150px;
	resize: none;
	margin-bottom: 40px;
}
.input__field.cf-error
{
	border-bottom-color: #ff0000;
}

/*============ 3. Layout Css ============*/

/* Header Css */
header
{
	max-width: calc(100% - 100px);
	height: 80px;
	margin: 0 auto;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 201;
	pointer-events: none;
}
header .logo-container
{
	font-size: 28px;
	font-weight: 800;
	pointer-events: all;
}

header .menu-burger
{
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	pointer-events: all;
}
header .menu-burger .parallax-icon
{
	height: 22px;
}
header .menu-burger .burger-text
{
	position: relative;
	height: 25px;
	width: 50px;
}
header .menu-burger .text-menu, header .menu-burger .text-open, header .menu-burger .text-close
{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}
header .menu-burger .text-menu
{
	opacity: 1;
}
.burger-box
{
	position: relative;
	display: inline-block;
	width: 30px;
	height: 22px;
}
.burger-inner
{
	top: 50%;
	display: block;
	margin-top: -2px;
	-webkit-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	-o-transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
	-webkit-transition-duration: 75ms;
	-o-transition-duration: 75ms;
	transition-duration: 75ms;
}
.burger-inner, .burger-inner:after, .burger-inner:before
{
	position: absolute;
	width: 30px;
	height: 3px;
	-webkit-transition-timing-function: ease;
	-o-transition-timing-function: ease;
	transition-timing-function: ease;
	-webkit-transition-duration: .15s;
	-o-transition-duration: .15s;
	transition-duration: .15s;
	-webkit-transition-property: -webkit-transform;
	transition-property: -webkit-transform;
	-o-transition-property: transform;
	transition-property: transform;
	transition-property: transform, -webkit-transform;
	border-radius: 4px;
	background-color: #fff;
}
.burger-inner:after, .burger-inner:before
{
	display: block;
	content: "";
}
.burger-inner:before
{
	top: -10px;
	-webkit-transition: top 75ms ease .12s, opacity 75ms ease;
	-o-transition: top 75ms ease .12s, opacity 75ms ease;
	transition: top 75ms ease .12s, opacity 75ms ease;
}
.burger-inner:after
{
	bottom: -10px;
	-webkit-transition: bottom 75ms ease 0.12s, -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
	transition: bottom 75ms ease 0.12s, -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
	-o-transition: bottom 75ms ease 0.12s, transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
	transition: bottom 75ms ease 0.12s, transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
	transition: bottom 75ms ease 0.12s, transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 75ms cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.menu-burger.is-active .burger-inner
{
	-webkit-transition-delay: .12s;
	-o-transition-delay: .12s;
	transition-delay: .12s;
	-webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	-o-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}
.menu-burger.is-active .burger-inner:before
{
	top: 0;
	-webkit-transition: top 75ms ease, opacity 75ms ease .12s;
	-o-transition: top 75ms ease, opacity 75ms ease .12s;
	transition: top 75ms ease, opacity 75ms ease .12s;
	opacity: 0;
}
.menu-burger.is-active .burger-inner:after
{
	bottom: 0;
	-webkit-transition: bottom 75ms ease, -webkit-transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
	transition: bottom 75ms ease, -webkit-transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
	-o-transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
	transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
	transition: bottom 75ms ease, transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s, -webkit-transform 75ms cubic-bezier(0.215, 0.61, 0.355, 1) 0.12s;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}

/* Menu Overlay Css */
#menu-overlay
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 200;
	overflow: hidden;
	background-color: #1e1e1e;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: opacity ease 0.4s 0.6s;
	-o-transition: opacity ease 0.4s 0.6s;
	transition: opacity ease 0.4s 0.6s;
}
#menu-overlay.active
{
	opacity: 1;
	-webkit-transition-delay: 0s;
	-o-transition-delay: 0s;
	transition-delay: 0s;
	pointer-events: all;
}
#menu-overlay .container
{
	height: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	position: relative;
}
#menu-overlay .content-wrapper
{
	width: 100%;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
	-ms-flex-pack: justify;
	justify-content: space-between;
	-webkit-box-align: end;
	-webkit-align-items: flex-end;
	-ms-flex-align: end;
	align-items: flex-end;
}
#menu-overlay .primary-nav li
{
	overflow: hidden;
}
#menu-overlay .primary-nav li a
{
	font-size: 64px;
	color: rgba(255, 255, 255, 0.65);
	font-weight: 700;
	display: block;
	-webkit-transform: translateY(100%);
	-ms-transform: translateY(100%);
	transform: translateY(100%);
	-webkit-transition: color .2s ease-in-out, -webkit-transform ease 0.4s 0.0s;
	transition: color .2s ease-in-out, -webkit-transform ease 0.4s 0.0s;
	-o-transition: transform ease 0.4s 0.0s, color .2s ease-in-out;
	transition: transform ease 0.4s 0.0s, color .2s ease-in-out;
	transition: transform ease 0.4s 0.0s, color .2s ease-in-out, -webkit-transform ease 0.4s 0.0s;
}
#menu-overlay .primary-nav li:hover a
{
	color: white;
}
#menu-overlay .company-info
{
	-webkit-align-self: flex-end;
	-ms-flex-item-align: end;
	align-self: flex-end;
	position: relative;
	z-index: 22;
	margin-bottom: -60px;
}
.company-info .info-email, .company-info .info-tel, .company-info .info-address, .company-info .sm-links
{
	-webkit-transform: translateY(25px);
	-ms-transform: translateY(25px);
	transform: translateY(25px);
	opacity: 0;
	-webkit-transition: all ease 0.4s 0.3s;
	-o-transition: all ease 0.4s 0.3s;
	transition: all ease 0.4s 0.3s;
}
.company-info .info-email, .company-info .info-tel
{
	display: inline-block;
	color: #fff;
	font-size: 16px;
	margin-bottom: 20px;
}
.company-info .info-address
{
	max-width: 250px;
	margin-top: 20px;
}
.company-info .info-address p
{
	font-size: 16px;
}
.company-info .sm-links
{
	margin-top: 35px;
}
.company-info .sm-links li
{
	display: inline-block;
	margin-right: 22px;
}
.company-info .sm-links li a
{
	color: #8f8f8f;
	font-size: 20px;
}
#menu-overlay.active .primary-nav li a
{
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	-webkit-transition: -webkit-transform ease 0.7s 0.5s;
	transition: -webkit-transform ease 0.7s 0.5s;
	-o-transition: transform ease 0.7s 0.5s;
	transition: transform ease 0.7s 0.5s;
	transition: transform ease 0.7s 0.5s, -webkit-transform ease 0.7s 0.5s;
}
#menu-overlay.active .company-info .info-email
{
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
	-webkit-transition: all ease 0.7s 1.0s;
	-o-transition: all ease 0.7s 1.0s;
	transition: all ease 0.7s 1.0s;
}
#menu-overlay.active .company-info .info-tel
{
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
	-webkit-transition: all ease 0.7s 1.2s;
	-o-transition: all ease 0.7s 1.2s;
	transition: all ease 0.7s 1.2s;
}
#menu-overlay.active .company-info .info-address
{
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
	-webkit-transition: all ease 0.7s 1.4s;
	-o-transition: all ease 0.7s 1.4s;
	transition: all ease 0.7s 1.4s;
}
#menu-overlay.active .company-info .sm-links
{
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
	-webkit-transition: all ease 0.7s 1.6s;
	-o-transition: all ease 0.7s 1.6s;
	transition: all ease 0.7s 1.6s;
}

/* Pages Hero Css */
.hero
{
	position: relative;
	z-index: 0;
}
.hero .hero-content
{
	padding-top: 140px;
	padding-bottom: 20px;
}
.hero .hero-title
{
	margin: 20px 0 0 0px;
	font-weight: 700;
	font-size: 56px;
	line-height: 90px;
}
.hero .hero-subtitle
{
	text-transform: uppercase;
	font-size: 16px;
	letter-spacing: .4em;
}
.section-heading .title
{
	line-height: 36px;
}
.section-heading .sub-title
{
	font-size: 14px;
	margin-bottom: 10px;
	line-height: 28px;
	color: rgba(255, 255, 255, 0.5);
}
.project-hero
{
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.project-hero .hero-content
{
	height: 100vh;
	overflow: hidden;
}
.project-hero .hero-inner
{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.project-hero .project-title
{
	margin: 20px 0 0 0px;
	font-weight: 700;
	font-size: 56px;
	line-height: 90px;
}
.project-hero .project-subtitle
{
	text-transform: uppercase;
	font-size: 16px;
	letter-spacing: .4em;
}
.project-hero .hero-image-wrapper
{
	position: absolute;
	height: 100vh;
	width: 100%;
}
.project-hero .hero-image-wrapper .hero-bg-image
{
	position: absolute;
	height: 100%;
	width: 100%;
	background-size: cover;
	background-position: center center;
}
.project-hero .hero-image-wrapper::after
{
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	background: rgba(0, 0, 0, 0.2);
	bottom: 0;
	left: 0;
	pointer-events: none;
}
.project-hero .btn-down
{
	position: absolute;
	bottom: 10%;
	cursor: pointer;
}

/* Footer Css */
footer p
{
	font-size: 14px;
}
footer .back-top
{
	position: relative;
	font-size: 14px;
	top: -19px;
	right: -22px;
	color: #8f8f8f;
	text-align: right;
}
footer .arrow-up
{
	display: inline-block;
}
footer .arrow-up i
{
	font-size: 16px;
	color: #8f8f8f;
}

/*============ 4. Index Page Css ============*/
#canvas-container
{
	position: fixed;
	height: 100vh;
	min-width: 100vw;
	top: 0;
	left: 0;
}
#canvas-container:after
{
	content: '';
	position: absolute;
	height: 100%;
	width: 100%;
	background: rgba(0, 0, 0, 0.2);
	bottom: 0;
	left: 0;
	pointer-events: none;
}
#canvas-container.slide-image-changing canvas
{
	-webkit-animation: common-slide-image-change 1.15s cubic-bezier(0.22, 1, 0.36, 1);
	animation: common-slide-image-change 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}
.slide-item__image.bg-image-wobble-active
{
	-webkit-animation: bg-image-wobble 1.15s cubic-bezier(0.22, 1, 0.36, 1);
	animation: bg-image-wobble 1.15s cubic-bezier(0.22, 1, 0.36, 1);
	-webkit-transform-origin: center center;
	transform-origin: center center;
	will-change: transform, filter;
}
body.debug-bg-continuous #canvas-container canvas
{
	-webkit-transform-origin: center center;
	transform-origin: center center;
}
@-webkit-keyframes bg-image-wobble
{
	0%
	{
		-webkit-transform: scale(1.08) translateX(0);
		transform: scale(1.08) translateX(0);
		-webkit-filter: brightness(1.18) contrast(1.06);
		filter: brightness(1.18) contrast(1.06);
	}
	45%
	{
		-webkit-transform: scale(1.045) translateX(1.5%);
		transform: scale(1.045) translateX(1.5%);
		-webkit-filter: brightness(1.08) contrast(1.04);
		filter: brightness(1.08) contrast(1.04);
	}
	100%
	{
		-webkit-transform: scale(1.01) translateX(0);
		transform: scale(1.01) translateX(0);
		-webkit-filter: brightness(1) contrast(1);
		filter: brightness(1) contrast(1);
	}
}
@keyframes bg-image-wobble
{
	0%
	{
		-webkit-transform: scale(1.08) translateX(0);
		transform: scale(1.08) translateX(0);
		-webkit-filter: brightness(1.18) contrast(1.06);
		filter: brightness(1.18) contrast(1.06);
	}
	45%
	{
		-webkit-transform: scale(1.045) translateX(1.5%);
		transform: scale(1.045) translateX(1.5%);
		-webkit-filter: brightness(1.08) contrast(1.04);
		filter: brightness(1.08) contrast(1.04);
	}
	100%
	{
		-webkit-transform: scale(1.01) translateX(0);
		transform: scale(1.01) translateX(0);
		-webkit-filter: brightness(1) contrast(1);
		filter: brightness(1) contrast(1);
	}
}
@-webkit-keyframes common-slide-image-change
{
	0%
	{
		-webkit-transform: translate(-50%, -50%) scale(1.08);
		transform: translate(-50%, -50%) scale(1.08);
		-webkit-filter: brightness(1.18) contrast(1.06);
		filter: brightness(1.18) contrast(1.06);
	}
	45%
	{
		-webkit-transform: translate(-48.5%, -50%) scale(1.045);
		transform: translate(-48.5%, -50%) scale(1.045);
		-webkit-filter: brightness(1.08) contrast(1.04);
		filter: brightness(1.08) contrast(1.04);
	}
	100%
	{
		-webkit-transform: translate(-50%, -50%) scale(1.01);
		transform: translate(-50%, -50%) scale(1.01);
		-webkit-filter: brightness(1) contrast(1);
		filter: brightness(1) contrast(1);
	}
}
@keyframes common-slide-image-change
{
	0%
	{
		-webkit-transform: translate(-50%, -50%) scale(1.08);
		transform: translate(-50%, -50%) scale(1.08);
		-webkit-filter: brightness(1.18) contrast(1.06);
		filter: brightness(1.18) contrast(1.06);
	}
	45%
	{
		-webkit-transform: translate(-48.5%, -50%) scale(1.045);
		transform: translate(-48.5%, -50%) scale(1.045);
		-webkit-filter: brightness(1.08) contrast(1.04);
		filter: brightness(1.08) contrast(1.04);
	}
	100%
	{
		-webkit-transform: translate(-50%, -50%) scale(1.01);
		transform: translate(-50%, -50%) scale(1.01);
		-webkit-filter: brightness(1) contrast(1);
		filter: brightness(1) contrast(1);
	}
}
.slider-wrapper .slider-item .slide-image
{
	display: none;
}
.slider-wrapper .slider-item
{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0 auto;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
	z-index: 1;
	min-height: 100vh;
	padding: clamp(96px, 12vh, 140px) 4% clamp(60px, 10vh, 60px);
	display: flex;
	align-items: center;
	pointer-events: none;
}
.slider-wrapper .slider-item.active
{
	pointer-events: auto;
}
.slider-wrapper .slider-item:not(.active) .site-slide-footer
{
	pointer-events: none;
}
.slider-wrapper .slide-content .slide-content-inner
{
	display: none;
}
.slider-wrapper .slide-content
{
	width: 100%;
}
.slider-wrapper .slide-content .item-cat, .slider-wrapper .slide-content .item-link
{
	opacity: 0;
}
.slider-wrapper .slide-content .item-title
{
	font-family:Jost-SemiBold;
	margin: 30px 0;
	font-size: 60px;
	line-height: 76px;
	color: #ffffff;
	overflow: hidden;
	text-transform: uppercase;
}
.slider-wrapper .slide-content .item-cat
{
	font-family:OpenSans-Regular;
	font-size: 24px;
	line-height: 38px;
	color: #ffffff;
}
.slider-wrapper .slider-item:first-child .slide-content-inner
{
	display: block;
}
.slider-wrapper .slider-item:first-child .slide-content-inner .item-cat, .slider-wrapper .slider-item:first-child .slide-content-inner .item-title, .slider-wrapper .slider-item:first-child .slide-content-inner .item-link
{
	opacity: 1;
}
#pixi-slider .arrows-wrap
{
	display: none;
	position: fixed;
	bottom: 5%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
	z-index: 1;
	width: 300px;
}
#pixi-slider .arrows-wrap .slider-nav
{
	width: 80px;
	height: 80px;
	float: left;
}
#pixi-slider .arrows-wrap .slider-nav--next
{
	float: right;
}
#pixi-slider .arrows-wrap .progress-bar
{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	height: 3px;
	width: 150px;
	background-color: rgba(255, 255, 255, 0.3);
	border-radius: 10px;
}
#pixi-slider .arrows-wrap .progress-bar .progress
{
	position: absolute;
	top: 0;
	left: 0;
	height: 3px;
	width: 0;
	background-color: #fff;
	z-index: 1;
	-webkit-transition: width 2s ease-in-out;
	-o-transition: width 2s ease-in-out;
	transition: width 2s ease-in-out;
}
#pixi-slider .slider-count
{
	display: none;
	position: absolute;
	z-index: 1;
	top: 50%;
	right: 10vw;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	pointer-events: none;
}
#pixi-slider .slider-count .current, #pixi-slider .slider-count .total
{
	display: inline-block;
	position: relative;
}
#pixi-slider .slider-count .total
{
	font-size: 16px;
	top: -24px;
}
#pixi-slider .slider-count .total:before
{
	position: absolute;
	content: '';
	height: 15px;
	width: 2px;
	background-color: #fff;
	left: -7px;
	top: 4px;
	-webkit-transform: rotate(25deg);
	-ms-transform: rotate(25deg);
	transform: rotate(25deg);
}
#pixi-slider .slider-count .current
{
	font-size: 52px;
	margin-right: 30px;
	font-weight: 600;
}

/*============ 5. About Page Css ============*/
.service-item
{
	margin-top: 50px;
}
.service-item .icon
{
	width: 20%;
	float: left;
}
.service-item .icon i
{
	margin-left: 5px;
	font-size: 36px;
}
.service-item .content
{
	width: 80%;
	float: right;
}
.service-item .content h6
{
	letter-spacing: .03em;
	margin-bottom: 10px;
}
.clients .client
{
	display: block;
	text-align: center;
	border: solid 1px #2a2a2a;
	height: 150px;
	margin-top: 30px;
	text-align: center;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: center;
	-webkit-justify-content: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-transition: all .4s ease;
	-o-transition: all .4s ease;
	transition: all .4s ease;
}
.clients .client:hover
{
	border: solid 1px #aaa;
}
.clients .client:hover img
{
	opacity: 1;
}
.clients .client img
{
	opacity: .5;
	-webkit-transition: opacity .4s ease;
	-o-transition: opacity .4s ease;
	transition: opacity .4s ease;
	max-height: 100%;
	max-width: 100%;
}
.contact-section a
{
	font-size: 32px;
	font-weight: 700;
}

/*============ 6. Contact Page Css ============*/
.contact-area .contact-info h4
{
	line-height: 36px;
	font-size: 22px;
	font-weight: 600;
}
.contact-area .contact-info .phone, .contact-area .contact-info .address, .contact-area .contact-info .email
{
	position: relative;
	margin-top: 20px;
}
.contact-area .contact-info .phone .icon, .contact-area .contact-info .address .icon, .contact-area .contact-info .email .icon
{
	position: absolute;
	left: 0;
	top: 3px;
	font-size: 18px;
}
.contact-area .contact-info .phone a, .contact-area .contact-info .address a, .contact-area .contact-info .email a
{
	display: inline-block;
	line-height: 32px;
	margin-left: 50px;
}
.contact-area .contact-info .phone p, .contact-area .contact-info .address p, .contact-area .contact-info .email p
{
	display: inline-block;
	font-size: 16px;
	margin-left: 50px;
}
#contact-form .alert-container
{
	text-align: center;
}
#contact-form .alert-container .alert
{
	font-size: 14px;
	border-radius: 0;
}
.google-map #map
{
	width: 100%;
	height: 400px;
}

/*============ 7. Projects Page Css ============*/
.project-info .project-sectionTitle
{
	font-size: 22px;
	margin-bottom: 30px;
}
.project-info .project-servicesList li
{
	color: #8f8f8f;
	font-size: 16px;
	line-height: 28px;
}
.project-info .project-period p
{
	margin-bottom: 0;
}
.bg-parallax
{
	overflow: hidden;
	max-height: 90vh;
}
.bg-parallax img
{
	min-width: 100%;
	width: 100vw;
}
.next-project .next-title
{
	margin: 20px 0 0 0px;
	font-weight: 700;
	font-size: 56px;
	line-height: 78px;
}
.next-project .next-subtitle
{
	text-transform: uppercase;
	font-size: 16px;
	letter-spacing: .4em;
}
.navbar
{
	background-color: transparent;
	pointer-events: all;
	border: none;
	border-radius: 50px;
}
.navbar .navbar-nav .nav-link
{
	font-family: OpenSans-Regular;
	font-size: 18px;
	line-height: 16px;
	color: #fff;
	padding: 0 15px;
}
.logo-container img
{
	width: 100%;
}
.navbar .navbar-nav .nav-link:hover, .navbar .navbar-nav .nav-link:focus, .navbar .navbar-nav .nav-link.active
{
	color: #ffffff;
	font-weight: bold;
}
.navbar .navbar-nav .nav-link.btn-location
{
	background-color: #FFC009;
	color: #2D2D2D;
	border: 1px solid #FFC009;
	border-radius: 30px;
}
.navbar .navbar-nav .nav-link.btn-location:hover, .navbar .navbar-nav .nav-link.btn-location:focus, .navbar .navbar-nav .nav-link.btn-location.active
{
	background-color: #9D001E;
	color: #ffffff;
	border: 1px solid #9D001E;
}
.item-sub-title
{
	font-family: Jost-SemiBold !important;
	font-size: 32px !important;
	line-height: 40px !important;
	color: #FFFFFF !important;
	text-transform: capitalize !important;
	font-weight: bold;
}
.item-sub-title .fa-solid
{
	font-size: 32px !important;
	color: #9D001E !important;
	font-family: "Font Awesome 5 Free" !important;
}
.item-sub-cat, div.item-sub-cat p, div.item-sub-cat ul li, div.item-sub-cat a
{
	font-family:OpenSans-Regular !important;
	font-size: 16px !important;
	line-height: 28px !important;
	color: #FFFFFF !important;
	margin-bottom: 6px;
}
div.item-sub-cat ul
{
	padding-left: 20px;
	list-style: disc !important;
}
.overviewImageSec
{
	position: relative;
	overflow: hidden;
	border-top-right-radius: 50px;
}
.overviewImageSec img
{
	width: 100%;
	display: block;
	clip-path: polygon(0 100%, 0 100%, 0 100%, 0 100%);
	transition: clip-path 1s cubic-bezier(.77,0,.18,1);
}
.slider-item.active .overviewImageSec img
{
	clip-path: polygon(0 100%, 0 0, 100% 0, 100% 100%);
	border-radius: 10px;
}

.row
{
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: calc(-1 * var(--bs-gutter-y));
	margin-right: calc(-.5 * var(--bs-gutter-x));
	margin-left: calc(-.5 * var(--bs-gutter-x));
}
/* ===============================
BOOTSTRAP 5 GAP & GUTTER CSS
================================= */

/* Base row setup */
.row {
	--bs-gutter-x: 1.5rem;
	--bs-gutter-y: 0;
	display: flex;
	flex-wrap: wrap;
	margin-top: calc(-1 * var(--bs-gutter-y));
	margin-right: calc(-0.5 * var(--bs-gutter-x));
	margin-left: calc(-0.5 * var(--bs-gutter-x));
}

/* ===== Combined Gutters (.g-*) ===== */
.g-0 { --bs-gutter-x: 0; --bs-gutter-y: 0; }
.g-1 { --bs-gutter-x: 0.25rem; --bs-gutter-y: 0.25rem; }
.g-2 { --bs-gutter-x: 0.5rem; --bs-gutter-y: 0.5rem; }
.g-3 { --bs-gutter-x: 1rem; --bs-gutter-y: 1rem; }
.g-4 { --bs-gutter-x: 1.5rem; --bs-gutter-y: 1.5rem; }
.g-5 { --bs-gutter-x: 3rem; --bs-gutter-y: 3rem; }

/* ===== Horizontal Gutters (.gx-*) ===== */
.gx-0 { --bs-gutter-x: 0; }
.gx-1 { --bs-gutter-x: 0.25rem; }
.gx-2 { --bs-gutter-x: 0.5rem; }
.gx-3 { --bs-gutter-x: 1rem; }
.gx-4 { --bs-gutter-x: 1.5rem; }
.gx-5 { --bs-gutter-x: 3rem; }

/* ===== Vertical Gutters (.gy-*) ===== */
.gy-0 { --bs-gutter-y: 0; }
.gy-1 { --bs-gutter-y: 0.25rem; }
.gy-2 { --bs-gutter-y: 0.5rem; }
.gy-3 { --bs-gutter-y: 1rem; }
.gy-4 { --bs-gutter-y: 1.5rem; }
.gy-5 { --bs-gutter-y: 3rem; }

/* ===== Flex/Grid Gap Utilities ===== */
.gap-0 { gap: 0; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-3 { gap: 1rem; }
.gap-4 { gap: 1.5rem; }
.gap-5 { gap: 3rem; }

/* Row Gap */
.row-gap-0 { row-gap: 0; }
.row-gap-1 { row-gap: 0.25rem; }
.row-gap-2 { row-gap: 0.5rem; }
.row-gap-3 { row-gap: 1rem; }
.row-gap-4 { row-gap: 1.5rem; }
.row-gap-5 { row-gap: 3rem; }

/* Column Gap */
.column-gap-0 { column-gap: 0; }
.column-gap-1 { column-gap: 0.25rem; }
.column-gap-2 { column-gap: 0.5rem; }
.column-gap-3 { column-gap: 1rem; }
.column-gap-4 { column-gap: 1.5rem; }
.column-gap-5 { column-gap: 3rem; }
.text-white
{
	color: #fff !important;
}
.card-matrics
{
	background-color: transparent;
	border: none;
	border-radius: 10px;
}
.card-matrics .card-body
{
	padding: 15px;
	text-align: left;
}
.card-matrics .card-body h4
{
	font-family: Jost-SemiBold;
	font-size: 24px;
	line-height: 24px;
	margin-bottom: 10px;
	color: #ffffff;
}
.card-matrics .card-body p
{
	font-family: OpenSans-Regular;
	font-size: 16px;
	line-height: 28px;
	color: #2D2D2D;
	margin-bottom: 0;
}
.matrics-list
{
	column-count: 2;
	text-align: left;
	gap: 50px;
}
.matrics-carousel,
.news-carousel
{
	position: relative;
}

@media only screen and (min-width: 768px)
{
	#slide3 .slide-content
	{
		position: absolute;
		top: 50%;
		left: 4%;
		right: 4%;
		width: auto;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}
}

.owl-theme .owl-nav
{
	position: absolute;
	top: -62px;
	right: 0;
	display: flex;
	gap: 8px;
	z-index: 20;
	pointer-events: auto;
}
.owl-carousel .owl-nav button.owl-next, .owl-carousel .owl-nav button.owl-prev
{
	background-color: transparent !important;
	border: 1px solid #ffffff !important;
	font-size: 21px !important;
	color: #ffffff !important;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1;
	margin: 0;
	pointer-events: auto;
}
.owl-carousel .owl-nav button.owl-next span, .owl-carousel .owl-nav button.owl-prev span
{
	line-height: 1;
}

.card-news
{
	background-color: transparent;
	border: none;
	border-radius: 10px;
}
.card-news .card-body
{
	padding: 15px;
	text-align: left;
}
.card-news .card-body h5, .card-news .card-body h5 a
{
	font-family:OpenSans-SemiBold;
	font-size: 16px;
	line-height: 22px;
	margin-bottom: 10px;
	color: #2D2D2D;
}
.card-news .card-body h5 a:hover, .card-news .card-body h5 a:focus
{
	color: #98061F !important;
}
.card-news .card-body p
{
	font-family: OpenSans-Regular;
	font-size: 16px;
	line-height: 28px;
	color: #2D2D2D;
}
.card-news .card-body .badge
{
	font-family: OpenSans-Bold;
	font-size: 14px;
	line-height: 20px;
	background-color: #98061F;
	color: #ffffff;
	border-radius: 5px;
	margin-bottom: 10px;
	padding: 5px 15px;
}
.card-news .card-body i
{
	margin-right: 10px;
}
.card-news .card-body .text-muted
{
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
.card-news .card-body .text-muted div
{
	font-family: OpenSans-Regular;
	font-size: 16px;
	line-height: 16px;
	color: #dddddd;
	margin-bottom: 0;
}
.card-news .card-body .text-muted div i
{
	margin-right: 10px;
	color: #dddddd;
	font-size: 16px;
}
.btn-yellow
{
	background-color: #FEC108;
	color: #2D2D2D;
	border: 1px solid #FEC108;
	border-radius: 15px;
	padding: 5px 15px;
	font-family: OpenSans-Regular;
	font-size: 14px;
	line-height: 26px;
}
.btn-yellow i
{
	margin-left: 10px;
	margin-right: 0;
}
.btn-yellow:hover, .btn-yellow:focus
{
	background-color: #9D001E;
	color: #ffffff !important;
	border: 1px solid #9D001E;
}
.card-location
{
	background-color: transparent;
	border: none;
	height: 100%;
	border-radius: 0;
}
.card-location .card-body
{
	padding: 0;
	text-align: left;
}
.card-location .card-body h5
{
	font-family: Jost-Regular;
	font-size: 22px;
	line-height: 30px;
	margin-bottom: 10px;
	color: #FFFFFF;
	font-weight: 500;
}
.card-location .card-body p
{
	font-family: OpenSans-Regular;
	font-size: 16px;
	line-height: 28px;
	color: #2D2D2D;
}
.card-location .card-body p a
{
	font-family: OpenSans-Regular;
	font-size: 16px;
	line-height: 28px;
	color: #2D2D2D;
	text-decoration: underline;
}
.card-location .card-body p a:hover, .card-location .card-body p a:focus
{
	color: #9D001E;
}
.right-line
{
	border-right: 1px solid #D0C8BF!important;
}

.site-slide-footer
{
	position: fixed;
	left: auto;
	right: clamp(48px, 5vw, 96px);
	bottom: clamp(24px, 0vh, 48px);
	width: min(390px, calc(100vw - 96px));
	z-index: 210;
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-end;
	justify-content: flex-start;
	gap: 8px;
	text-align: right;
	pointer-events: auto;
}

.site-slide-footer--hero
{
	justify-content: flex-end;
}

.site-slide-footer--standard
{
	min-height: 92px;
}

.site-slide-footer__left
{
	max-width: 48%;
}

.site-slide-footer--standard .site-slide-footer__left
{
	max-width: 100%;
}

.site-slide-footer__left p
{
	font-family: OpenSans-Regular;
	font-size: 12px;
	line-height: 18px;
	color: rgba(255, 255, 255, 0.58);
	margin-bottom: 4px;
}

.site-slide-footer__right
{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
	width: 100%;
}

.site-slide-footer__links
{
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 14px;
	width: 100%;
}

.site-slide-footer__links a
{
	font-family: OpenSans-SemiBold;
	font-size: 13px;
	line-height: 18px;
	color: rgba(255, 255, 255, 0.92);
	text-decoration: none;
}

.site-slide-footer__links a:hover,
.site-slide-footer__links a:focus
{
	color: #ffffff;
	text-decoration: underline;
}

.site-slide-footer__registrations
{
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 14px;
}

.site-slide-footer__registrations a
{
	opacity: 0.68;
}

.site-slide-footer__registrations a:hover,
.site-slide-footer__registrations a:focus
{
	opacity: 1;
}

.site-slide-footer__registrations img
{
	width: auto;
	max-width: 72px;
	max-height: 28px;
	object-fit: contain;
}

.legal-slide-heading
{
	scroll-margin-top: 110px;
}

#cc-main
{
	--cc-font-family: OpenSans-Regular, Arial, sans-serif;
	--cc-bg: #ffffff;
	--cc-primary-color: #4a4a4a;
	--cc-secondary-color: #4f4f4f;
	--cc-btn-primary-bg: #111111;
	--cc-btn-primary-color: #ffffff;
	--cc-btn-primary-border-color: #111111;
	--cc-btn-primary-hover-bg: #000000;
	--cc-btn-primary-hover-color: #ffffff;
	--cc-btn-primary-hover-border-color: #000000;
	--cc-btn-secondary-bg: #ffffff;
	--cc-btn-secondary-color: #333333;
	--cc-btn-secondary-border-color: #b9b9b9;
	--cc-btn-secondary-hover-bg: #f4f4f4;
	--cc-btn-secondary-hover-color: #111111;
	--cc-btn-secondary-hover-border-color: #8d8d8d;
	--cc-separator-border-color: transparent;
	--cc-footer-bg: #ffffff;
	--cc-footer-color: #5a5a5a;
	--cc-footer-border-color: transparent;
	--cc-toggle-on-bg: #111111;
	--cc-toggle-off-bg: #a8a8a8;
	--cc-toggle-readonly-bg: #d8d8d8;
	--cc-cookie-category-block-bg: #f5f5f5;
	--cc-cookie-category-block-border: #e2e2e2;
	--cc-modal-border-radius: 8px;
}

#cc-main .cm,
#cc-main .pm
{
	border: 1px solid rgba(0, 0, 0, 0.12);
	box-shadow: 0 18px 54px rgba(0, 0, 0, 0.22);
}

#cc-main .cm__btn,
#cc-main .pm__btn
{
	border-radius: 4px;
	font-family: OpenSans-SemiBold;
}

#cc-main .cm
{
	max-width: 374px;
	margin-left: 10px;
	margin-bottom: 58px;
}

#cc-main .cm__texts
{
	padding-top: 18px;
}

#cc-main .cm__title
{
	font-family: OpenSans-Bold;
	font-size: 16px;
	line-height: 22px;
	color: #555555;
}

#cc-main .cm__title + .cm__desc
{
	margin-top: 8px;
}

#cc-main .cm__desc
{
	font-family: OpenSans-SemiBold;
	font-size: 12px;
	line-height: 18px;
	color: #555555;
	padding-bottom: 8px;
}

#cc-main .cm__btns
{
	border-top: 0;
	display: flex;
	flex-direction: row;
	gap: 10px;
	padding: 7px 18px 8px;
}

#cc-main .cm__btn-group
{
	display: contents;
}

#cc-main .cm__btn,
#cc-main .cm--box .cm__btn
{
	flex: 1 1 0;
	min-width: 0;
	min-height: 29px;
	padding: 4px 12px;
	font-size: 12px;
	line-height: 18px;
}

#cc-main .cm__btn + .cm__btn,
#cc-main .cm__btn-group + .cm__btn-group
{
	margin-top: 0;
}

#cc-main .cm__footer
{
	padding: 0 18px 15px;
}

#cc-main .cm__links
{
	padding: 0;
}

#cc-main .cm__link-group
{
	font-family: OpenSans-SemiBold;
	font-size: 12px;
	line-height: 18px;
}

#cc-main .cm__link-group > * + *
{
	margin-left: 0;
}

#cc-main .cm__link-group a
{
	color: #6a6a6a;
	text-decoration: underline;
	background-image: none;
}

#cc-main .cc-policy-separator
{
	color: #777777;
}
.scroll-content
{
	overflow-y: auto;
	height: 68vh;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-right: 20px !important;
}
.scroll-content::-webkit-scrollbar
{
	display: none;
}
.scroll-content p, .scroll-content ul li, .scroll-content ol li, .scroll-content a
{
	font-family: OpenSans-Regular;
	font-size: 16px;
	line-height: 28px;
	color: #2D2D2D;
}
.scroll-content ul, .scroll-content ol
{
	padding-left: 20px;
	list-style: disc !important;
}

.privacyScrollNav
{
	position: absolute;
	top: 30px;
	right: 0;
	display: flex;
	flex-direction: column;
}
.privacyScrollNav .btn
{
	padding: 5px 8px;
	background-color: transparent;
	font-size: 10px;
	border-radius: 2px;
	border: 1px solid #ffffff;
	color: #ffffff;
	margin-bottom: 6px;
}
.legalScrollNav
{
	position: absolute;
	top: 30px;
	right: -20px;
	display: flex;
	flex-direction: column;
}
.legalScrollNav .btn
{
	padding: 5px 8px;
	background-color: transparent;
	font-size: 10px;
	border-radius: 2px;
	border: 1px solid #ffffff;
	color: #ffffff;
	margin-bottom: 6px;
}

/*============ 8. Mobile Responsive Css ============*/
@media only screen and (min-width: 1024px)
{
	#menu-overlay .container
	{
		max-width: 1000px;
	}
	.hero .hero-title
	{
		width: 80%;
	}
}
@media only screen and (max-width: 1024px)
{
	.parallax-wrap
	{
		-webkit-transform: none !important;
		-ms-transform: none !important;
		transform: none !important;
	}
	.parallax-wrap .parallax-icon
	{
		-webkit-transform: none !important;
		-ms-transform: none !important;
		transform: none !important;
	}
	.ajax-preloader .loading
	{
		display: block;
	}
	#custom-cursor
	{
		display: none !important;
	}
	#pixi-slider .slider-wrapper .slider-item
	{
		left: 0;
		padding-left: 7vw;
		padding-right: 7vw;
	}
	#pixi-slider .slider-count
	{
		right: 7vw;
	}
	.hero .hero-title
	{
		width: 90%;
		font-size: 48px;
		line-height: 68px;
	}
	.project-hero .project-title
	{
		font-size: 48px;
		line-height: 68px;
	}
}
@media only screen and (max-width: 767px)
{
	header
	{
		max-width: calc(100% - 40px);
	}
	#menu-overlay .content-wrapper
	{
		-webkit-box-pack: center;
		-webkit-justify-content: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
	#menu-overlay .content-wrapper .primary-nav li
	{
		text-align: center;
	}
	#menu-overlay .content-wrapper .primary-nav li a
	{
		font-size: 48px;
	}
	#menu-overlay .company-info
	{
		display: none;
	}
	#pixi-slider .slider-wrapper .slider-item .item-title
	{
		margin: 20px 0;
		font-size: 42px;
		line-height: 58px;
	}
	#pixi-slider .slider-count
	{
		display: none;
	}
	.hero .hero-title
	{
		width: 100%;
		font-size: 38px;
		line-height: 48px;
	}
	.project-hero .project-title
	{
		font-size: 42px;
	}
	.next-project .next-title
	{
		font-size: 42px;
		line-height: 56px;
	}
	.contact-area #contact-form
	{
		margin-top: 30px;
	}
	.project-services .project-servicesList
	{
		margin-bottom: 50px;
	}
	.project-period p
	{
		margin-bottom: 50px;
	}
}
@media only screen and (max-width: 576px)
{
	footer .back-top
	{
		top: -19px;
		right: 0px;
	}
	footer .back-top span
	{
		display: none;
	}
}

.legalContent h2
{
    font-family: Jost-SemiBold !important;
    font-size: 32px !important;
    line-height: 40px !important;
    color: #FFFFFF !important;
    text-transform: capitalize !important;
    font-weight: bold;
	margin-bottom: 20px;
}
.legalContent table
{
    width: 100%;
    margin-bottom: 1rem;
    border-collapse: collapse;
    vertical-align: middle;
    background-color: transparent;
	border: 1px solid #dee2e6;
}

.legalContent table thead tr th {
    padding: 14px 16px;
    font-size: 15px;
    font-weight: 600;
    color: #ffffff;
    text-align: left;
    background-color: transparent;
    border: 1px solid #dee2e6;
}
.legalContent table tbody tr td
{
    padding: 12px 16px;
    font-size: 14px;
    color: #FFFFFF;
    text-align: left;
    background-color: transparent;
    border: 1px solid #dee2e6;
}
.legalContent table tbody tr:nth-child(even) td {
    background-color: transparent;
}
.legalContent table tbody tr:hover td
{
    background-color: transparent;
}

.site-slide-footer.is-hidden
{
	display: none;
}
