@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. Fonts
2. Body and some general stuff



******************************/

/***********
1. Fonts
***********/

@import url('https://fonts.googleapis.com/css2?family=Baloo+Chettan+2:wght@400..800&display=swap');

/*********************************
2. Body and some general stuff
*********************************/

:root
{
	--font1: "Baloo Chettan 2", sans-serif;
	--white: #ffffff;
	--black: #000000;
}
*
{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
html
{
	-webkit-font-smoothing: antialiased;
  	-moz-osx-font-smoothing: grayscale;
}
body
{
	font-family: var(--font1);
	font-size: 16px;
	font-weight: 400;
	background: var(--white);
	color: var(--textColor);
}
body.no-scroll
{
    overflow: hidden;
}
div
{
	display: block;
	position: relative;
	-webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
ul
{
	list-style: none;
	margin-bottom: 0px;
	padding-left: 0;
}
p
{
	font-family: var(--font1);
	font-size: 24px;
	line-height: 1.5;
	font-weight: 400;
	color: var(--textColor);
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
	margin-bottom: 0;
}
p a
{
	display: inline;
	position: relative;
	color: inherit;
	border-bottom: solid 1px #ffa07f;
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
p:last-of-type
{
	margin-bottom: 0;
}
a
{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
a, a:hover, a:visited, a:active, a:link
{
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
}
p a:active
{
	position: relative;
	color: #FF6347;
}
p a:hover
{
	
}
p a:hover::after
{
	
}
::selection
{
	
}
p::selection
{
	
}
h1{font-size: 84px;}
h2{font-size: 55px;}
h3{font-size: 24px;}
h4{font-size: 18px;}
h5{font-size: 14px;}
h1, h2, h3, h4, h5, h6
{
	font-family: var(--font1);
	-webkit-font-smoothing: antialiased;
	-webkit-text-shadow: rgba(0,0,0,.01) 0 0 1px;
	text-shadow: rgba(0,0,0,.01) 0 0 1px;
	line-height: 1.1;
	margin-bottom: 0;
	font-weight: 700;
	letter-spacing: 0.006em;
}
img
{
	max-width: 100%;
}
button:active
{
	outline: none;
}
section
{
	display: block;
	position: relative;
	box-sizing: border-box;
}
.clear
{
	clear: both;
}
.clearfix::before, .clearfix::after
{
	content: "";
	display: table;
}
.clearfix::after
{
	clear: both;
}
.clearfix
{
	zoom: 1;
}
.float_left
{
	float: left;
}
.float_right
{
	float: right;
}
.trans_200
{
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
}
.trans_300
{
	-webkit-transition: all 300ms ease;
	-moz-transition: all 300ms ease;
	-ms-transition: all 300ms ease;
	-o-transition: all 300ms ease;
	transition: all 300ms ease;
}
.trans_400
{
	-webkit-transition: all 400ms ease;
	-moz-transition: all 400ms ease;
	-ms-transition: all 400ms ease;
	-o-transition: all 400ms ease;
	transition: all 400ms ease;
}
.trans_500
{
	-webkit-transition: all 500ms ease;
	-moz-transition: all 500ms ease;
	-ms-transition: all 500ms ease;
	-o-transition: all 500ms ease;
	transition: all 500ms ease;
}
.fill_height
{
	height: 100%;
}
.super_container
{
	width: 100%;
	overflow: hidden;
}
.prlx_parent
{
	overflow: hidden;
}
.prlx
{
	height: 130% !important;
}
.parallax-window
{
    min-height: 400px;
    background: transparent;
}
.parallax_background
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.background_image
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}
.nopadding
{
	padding: 0px !important;
}
.owl-carousel,
.owl-carousel .owl-stage-outer,
.owl-carousel .owl-stage,
.owl-carousel .owl-item
{
	height: 100%;
}
.slide
{
	height: 100%;
}
.visually-hidden
{
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
	white-space: nowrap;
}
.light-theme
{
	background-color: #ffffff;
}
.dark-theme
{
	background-color: #000000;
}
.button
{
	display: inline-block;
	height: 72px;
	background-color: #00FF26;
	padding-left: 33px;
	padding-right: 33px;
	border-radius: 20px;
	font-size: 32px;
	font-weight: 400;
	color: #000000;
	line-height: 75px;
	margin-top: 31px;
}
.button:hover
{
	background-color: #000000;
	color: #ffffff;
}
video
{
	/* width: 101%;
	height: 101%;
	object-fit: cover;
	object-position: center;
	-webkit-transform: translateX(-0.5%);
	-moz-transform: translateX(-0.5%);
	-ms-transform: translateX(-0.5%);
	-o-transform: translateX(-0.5%);
	transform: translateX(-0.5%); */
	transform: scale(1.01);
}
.video_container
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.loader-container
{
	position: fixed;
	top: 0;
	right: 0;
	width: 0vw;
	height: 100vh;
	background-color: #000000;
	z-index: 10000;
	transition: all 500ms ease;
}
.loader-container.active
{
	width: 100vw;
	visibility: visible;
}
body.preload-active
{
	overflow: hidden;
}

/*********************************
3. Menu
*********************************/

.menu
{
	position: fixed;
	top: 0;
	right: 0;
	width: 100%;
	height: 100%;
	background-color: #00FF26;
	pointer-events: none;
	opacity: 0;
	z-index: 1001;
	overflow-y: auto;
    overflow-x: hidden;
}
.menu.active
{
	pointer-events: all;
	opacity: 1;
}
.menu_inner
{
	width: 100%;
	height: 100%;
}
.menu_header_inner
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding-left: 64px;
	padding-right: 69px;
	padding-top: 45px;
	padding-bottom: 52px;
}
.close
{
	width: 64px;
	height: 64px;
	padding: 10px;
	background-color: transparent;
	outline: none;
	border: none;
	transform: rotate(45deg);
}
.close > span
{
	position: relative;
	width: 100%;
	height: 100%;
}
.close > span span
{
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	height: 4px;
	background-color: #ffffff;
}
.close > span span:last-child
{
	transform-origin: 50% 50%;
	transform: translateY(-50%) rotate(-90deg);
}
/* .close:hover > span span
{
	background-color: #000000;
} */
.menu_header_inner
{
	z-index: 1;
}
.menu_nav
{
	width: 100%;
	padding-top: 251px;
	padding-bottom: 160px;
}
.menu_nav ul li a
{
	font-size: 84px;
	font-weight: 700;
	letter-spacing: 0.006em;
	color: #000000;
	line-height: 1.1;
}
.menu_nav ul li a:hover
{
	color: #ffffff;
}
.menu_nav ul li:not(:last-child)
{
	margin-bottom: 30px;
}

/*********************************
4. Header
*********************************/

.header
{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 1000;
}
.header-logo
{
	width: 100px;
}
.header-logo a
{
	width: 100%;
}
.header-logo img
{
	width:100%;
}
.header.light .header-logo img
{
  	content: url('../images/logo-vertical-black.png');
}
.header.light .header-logo span
{
	color: black;
}
.header.dark .header-logo img
{
  	content: url('../images/logo-vertical.png');
}
.header.dark .header-logo span
{
	color: white;
}
.header_inner
{
	padding-left: 64px;
	padding-right: 64px;
	padding-top: 46px;
	padding-bottom: 46px;
}
.header-logo span
{
	font-size: 34px;
	font-weight: 700;
	color: #ffffff;
}
.hamburger_container
{
	position: relative;
	width: 74px;
	height: 50px;
	padding: 10px;
	cursor: pointer;
}
.hamburger
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	background-color: transparent;
	border: none;
	outline: none;
}
.hamburger > span
{
	display: block;
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
}
.header.light .hamburger > span
{
	background-color: black;
}
.header.dark .hamburger > span
{
	background-color: white;
}
.hamburger > span:first-child
{
	top: 0;
}
.hamburger > span:nth-child(2)
{
	top: 50%;
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	transform: translateY(-50%);
}
.hamburger > span:last-child
{
	bottom: 0;
}
/* .header.light .hamburger_container:hover .hamburger > span
{
	background-color: #ffffff;
}
.header.dark .hamburger_container:hover .hamburger > span
{
	background-color: #000000;
} */
.header.scrolled .header_social_container
{
	display: none;
}
.header.scrolled .header-logo span
{
	display: none;
}
.header_social
{
	gap: 12px;
	margin-right: 31px;
}
.header_social li a
{
	display: block;
	position: relative;
	width: 32px;
	height: 32px;
	overflow: hidden;
	border-radius: 50%;
	background-color: #00ff26;
	text-align: center;
}
.header_social li a:hover
{
	background-color: #ffffff;
}
.header_social li a i
{
	font-size: 20px;
	line-height: 34px;
	color: #000000;
}

/*********************************
5. Hero
*********************************/

.hero
{
	width: 100%;
	height: 100vh;
	background-color: white;
}
.hero-video
{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.hero_content
{
	text-align: center;
	max-width: 800px;
}
.hero_content h1
{
	font-size: 84px;
	font-weight: 700;
	color: #ffffff;
	line-height: 1.1;
	letter-spacing: 0.006em;
}
.hero_content h1 span
{
	font-size: 64px;
}
.hero_content h1 span span
{
	color: #00FF26;
}
.hero-video > div
{
	width: 100%;
	height: 100%;
}
.hero-video iframe
{
    position: absolute;
    top: 50% !important;
    left: 50% !important	;
	transform: translate(-50%, -50%) scale(1.005);
    width: 100vw;
    height: 100vh;
}
/* If the screen is wider than 16:9, scale by width */
@media (min-aspect-ratio: 16/9)
{
    .hero-video iframe
	{
        height: 56.25vw !important; /* 9/16 * 100 */
    }
}

/* If the screen is taller than 16:9, scale by height */
@media (max-aspect-ratio: 16/9)
{
    .hero-video iframe
	{
        width: 177.78vh !important; /* 16/9 * 100 */
    }
}
.about_slide iframe
{
	pointer-events: none;
}

/*********************************
6. About
*********************************/
.about
{
	padding-top: 116px;
	padding-bottom: 124px;
}
.about_title
{
	font-size: 84px;
	font-weight: 700;
	color: #000000;
}
.about_content
{
	padding-bottom: 109px;
}
.about_text
{
	margin-top: 34px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.about_slider_container
{
	width: 100%;
	padding-left: 24px;
	padding-right: 24px;
}
.about_slide
{
	overflow: hidden !important;
	aspect-ratio: 1920 / 1088;
}
.about_slide a
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.about_slide img,
.about_slide picture
{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: 1;
}
.about_slide iframe
{
	display: block;
	position: relative;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: center !important;
	transform: scale(1.015);
}
.slide-video
{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	background-color: transparent;
	outline: none !important;
	border: none !important;
}
video:focus
{
	outline: none !important;
	border: none !important;
}
.about_slide:hover .slide-img
{
  	display: none;
}
.about_slide:hover .slide-video
{
  	display: block !important;
    visibility: visible;
    opacity: 1;
}
.owl-item.cloned .about_slide:hover .slide-img
{
    display: none;
}

/*********************************
7. Why Choose Us
*********************************/
.why_choose_us
{
	padding-top: 245px;
	padding-bottom: 196px;
}
.dark-theme h2
{
	color: #00FF26;
}
.dark-theme p
{
	color: #ffffff;
}
.why_choose_us h3
{
	color: #ffffff;
}
.why_choose_us h2
{
	max-width: 350px;
	line-height: 1.1;
	margin-bottom: 32px;
}
.what_makes_us_different_row
{
	padding-top: 163px;
}
.callout-statement-row
{
	margin-top: 106px;
}
.callout-statement strong
{
	font-size: 24px;
	font-weight: 700;
	color: #00FF26;
}
.features_content h3:not(:first-child)
{
	margin-top: 4px;
}
.features_content p
{
	margin-top: 3px;
}

/*********************************
8. Services
*********************************/
.services
{
	padding-top: 230px;
	padding-bottom: 129px;
}
.services_reel_container
{
	padding-left: 6.56vw;
	padding-right: 6.56vw;
	overflow: hidden;
}
.services_reel_container video
{
	display: block;
	position: relative;
}
.services_reel
{
	width: 100%;
	height: auto;
	aspect-ratio: 1920/1088;
	overflow: hidden;
	cursor: pointer;
}
.services_reel_logo
{
	position: absolute;
	width: 77px;
	height: 84px;
	bottom: 42px;
	right: 52px;
	z-index: 1;
}
.services_reel_play_button
{
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	-moz-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	-o-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	width: 53px;
	height: 62px;
	outline: none;
	border: none;
	background-color: transparent;
}
.services_reel_play_button svg
{
	display: block;
	width: 100%;
	height: 100%;
}
.services_reel_play_button.hide
{
	display: none !important;
}
.services_video_overlay
{
	position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    cursor: pointer;
    background: rgba(0,0,0,0); /* Transparent but clickable */
}
.services_content_container
{
	padding-top: 126px;
}
.services_title
{
	font-size: 74px;
}
.services_content
{
	margin-top: 79px;
	column-gap: 30px;
}
.service
{
	width: calc((100% - 30px) / 2);
	margin-bottom: 46px;
}
.service:last-child
{
	width: 100%;
	margin-bottom: 0;
}
.services h3
{
	font-size: 28px;
	color: #000000;
	margin-bottom: 45px;
}
.services p
{
	font-size: 28px;
}

/*********************************
9. Work
*********************************/
.work
{
	padding-top: 116px;
	padding-bottom: 196px;
}
.work_title
{
	font-size: 74px;
}
.work_container
{
	margin-top: 116px;
}
.work_item
{
	width: 50%;
	overflow: hidden;
	aspect-ratio: 1920/1072;
	cursor: pointer;
}
.work_item a
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}
.work_item picture
{
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.work_item::after
{
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	content: '';
	background-color: rgba(0,0,0,0.2);
	-webkit-transition: all 200ms ease;
	-moz-transition: all 200ms ease;
	-ms-transition: all 200ms ease;
	-o-transition: all 200ms ease;
	transition: all 200ms ease;
	pointer-events: none;
}
.work_item:hover::after
{
	background-color: rgba(0,0,0,0);
}
.work_item img
{
	max-width: fit-content;
}
.work_cta
{
	padding-top: 187px;
}
.work_cta_title
{
	font-size: 50px;
	color: #00FF26;
}
.work_cta_desc
{
	margin-top: 65px;
	font-weight: 700;
}
.work_cta_button
{
	height: auto;
	max-width: 327px;
	padding-top: 14px;
	padding-bottom: 15px;
	padding-left: 32px;
	padding-right: 32px;
	font-size: 32px;
	line-height: 35px;
	margin-top: 81px;
}
.work_cta_button:hover
{
	background-color: #ffffff;
	color: #00FF26;
}

/*********************************
10. Features
*********************************/

.features
{
	background-color: #00FF26;
	padding-top: 196px;
	padding-bottom: 98px;
}
.features_title
{
	color: #000000 !important;
	max-width: 360px;
	line-height: 50px;
}
.features .features_content
{
	padding-top: 5px;
}
.features .features_content p
{
	color: #000000;
}
.features-callout-statement-row
{
	margin-top: 16px;
}
.features .callout-statement strong
{
	color: #000000;
	text-align: center;
}
.features_cta_button
{
	height: auto;
	max-width: 327px;
	padding-top: 14px;
	padding-bottom: 15px;
	padding-left: 32px;
	padding-right: 32px;
	font-size: 32px;
	line-height: 35px;
	margin-top: 84px;
	background-color: #000000;
	color: #ffffff;
}
.features_cta_button:hover
{
	background-color: #ffffff;
	color: #000000;
}

/*********************************
10. FAQ
*********************************/

.faq
{
	background-color: #00FF26;
	padding-bottom: 98px;
}
.faq_item
{
	background-color: #ffffff;
	border-radius: 20px;
	overflow: hidden;
}
.faq_item:not(:last-child)
{
	margin-bottom: 6px;
}
.faq_item button
{
	display: block;
	position: relative;
	width: 100%;
	text-align: start;
	padding-top: 31px;
	padding-bottom: 26px;
	border: none;
	outline: none;
	background-color: transparent;
	padding-left: 26px;
	padding-right: 96px;
	font-size: 24px;
	font-weight: 700;
	color: #000000;
}
.faq_item button::after
{
	display: block;
	position: absolute;
	top: 24px;
	right: 40px;
	content: url(../images/plus.png);
	color: #000000;
}
.faq_item p
{
	color: #000000;
	padding-left: 26px;
	padding-bottom: 16px;
	padding-right: 26px;
}
.faq_item.acc_active button::after
{
	content: url(../images/minus.png);
}
dl
{
	margin-bottom: 0;
}

/*********************************
11. Footer
*********************************/

.footer
{
	background-color: #00FF26;
	padding-bottom: 113px;
}
.footer_logo span
{
	font-size: 34px;
    font-weight: 700;
    color: #ffffff;
}
.footer_text
{
	font-size: 24px;
	font-weight: 400;
	margin-top: 19px;
}
.copyright
{
	margin-top: 126px;
	text-align: start;
}
.copyright p
{
	font-size: 12px;
	color: #000000;
}
.footer_link a:hover span
{
	color: #000000;
}
.footer_link a img
{
	width: 77px;
	height: 80px;
}
.footer_link a:hover img
{
	content: url(../images/logo_black.svg);
}