h1, h2, h3, h4, h5, h6, p, span, ul, li, a, .btn-default, textarea {
	margin: 0;
	padding: 0;
}

* {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	transition: all 0.4s ease;
}

a, a:hover {
	text-decoration: none;
}

a:focus {
	text-decoration: none;
}

body {
	font-family: 'Montserrat', sans-serif;
	overflow-x: hidden;
	background: #e7e7e7;
}

::-webkit-scrollbar {
	width: 13px;
}

::-webkit-scrollbar-track {
	background: #fff;
}

::-webkit-scrollbar-thumb {
	background: #d4d4d4;
	border-radius: 8px;
	border: 3px solid #fff;
	cursor: pointer;
}

::-webkit-scrollbar-thumb:hover {
	background: #E77A2E;
	transition: background 0.6s ease;
}

.container {
	max-width: 1140px;
}

/*************GENRAL CLASSES START*************/
@font-face {
	font-family: 'dyno font';
	src: url(../fonts/dynoBold.ttf);
}

@font-face {
	font-family: 'Pakeham';
	src: url(../fonts/pakenhamr-reg.ttf);
}

@font-face {
	font-family: 'Gomme';
	src: url(../fonts/Gomme_Sans_Bold.otf);
}

@font-face {
	font-family: 'Mocha';
	src: url(../fonts/Mocha-Demo.ttf);
}

@font-face {
	font-family: 'rightous';
	src: url(../fonts/Righteous-Regular.ttf);
}

@font-face {
	font-family: 'poppins';
	src: url(../fonts/Poppins-Regular.ttf);
}

@font-face {
	font-family: 'poppinsBold';
	src: url(../fonts/Poppins-Bold.ttf);
}

@font-face {
	font-family: 'outfit';
	src: url(../fonts/Outfit-SemiBold.ttf);
}

.title {
	text-align: center;
	text-transform: capitalize;
	font-size: 1.5em;
	font-weight: 700;
	font-family: "Pakeham";
	color: #222222;
	letter-spacing: 0.15rem;

	@media only screen and (max-width: 768px) {
		font-size: 1.8em;
	}
}

.semiTitle {
	text-align: center;
	text-transform: uppercase;
	font-size: 0.8em;
	font-weight: bold;
	font-family: "outfit";
	letter-spacing: 0.5em;
	color: var(--primary-color-dark);
	margin-bottom: 0px;

	@media only screen and (max-width: 768px) {
		font-size: 0.8em;
	}
}

.para {
	font-family: 'poppins';
	color: var(--para-text-color);
	font-size: 0.9em;
	text-align: left;
	line-height: 2.0em;

	@media only screen and (max-width: 768px) {
		text-align: center;
		line-height: 1.5em;
		font-size: 0.8em;
	}
}

.para.left {
	text-align: left;

	@media only screen and (max-width: 768px) {
		text-align: left;
	}
}

.title.left {
	text-align: left;

	@media only screen and (max-width: 768px) {
		text-align: center;
	}
}

.textContent {
	color: var(--primary-color-dark);
}

.relClass {
	position: relative;
}

.absClass {
	position: absolute;
}

.xy-center {
	display: flex;
	justify-content: center;
	align-items: center;
}

.xy-between {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.boxRadius {
	border-radius: 5px;
}

.marginAuto {
	margin: 0 auto;
}

:root {
	--color-1: #000;
	--color-2: #fff;
	--color-3: #282828;
	--mocha-font: 'Mocha';
	--primary-color-light: #f15034;
	--primary-color-dark: #E77A2E;
	--secondary-color-light: #2580ff;
	--secondary-color-dark: #0269FD;
	--para-text-color: #494949;
	--linear-gradient-left-primary: linear-gradient(to left, var(--primary-color-light), var(--primary-color-dark));
	--linear-gradient-right-primary: linear-gradient(to right, var(--primary-color-light), var(--primary-color-dark));
	--linear-gradient-top-primary: linear-gradient(to top, var(--primary-color-light), var(--primary-color-dark));
	--linear-gradient-bottom-primary: linear-gradient(to bottom, var(--primary-color-light), var(--primary-color-dark));
	--linear-gradient-left-secondary: linear-gradient(to left, var(--secondary-color-light), var(--secondary-color-dark));
	--linear-gradient-right-secondary: linear-gradient(to right, var(--secondary-color-light), var(--secondary-color-dark));
	--linear-gradient-top-secondary: linear-gradient(to top, var(--secondary-color-light), var(--secondary-color-dark));
	--linear-gradient-bottom-secondary: linear-gradient(to bottom, var(--secondary-color-light), var(--secondary-color-dark));
	--mobile-size: 600px;
	--tablet-size: 768px;
}

.genBtn {
	width: 205px;
	height: 55px;
	border-radius: 10px;
	background: rgb(193, 5, 5);
	background: linear-gradient(0deg, rgba(193, 5, 5, 1) 0%, rgba(254, 0, 0, 1) 73%);
	color: var(--color-3);
	transition: all .2s ease-in-out;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	border: 0;
}

.genBtn:hover {
	color: var(--color-3);
	box-shadow: rgba(50, 50, 93, 0.25) 0px 30px 60px -12px inset, rgba(0, 0, 0, 0.3) 0px 18px 36px -18px inset;
	transform: scale(1.04);
}

/*************GENRAL CLASSES END*************/
/*HEADER*/
header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background-color: rgba(255, 255, 255, 0.1);
	/* background-image: linear-gradient(180deg, #ffffff85 0%, #FFFFFF00 100%); */
	backdrop-filter: blur(8px);
	border-bottom: 2px solid rgba(238, 238, 238, 0.2);
	border-radius: 0 0 20px 20px;
	z-index: 99;
}

.respo_logo_box {
	display: none;
}

.nav_bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 20px 0px;
}

.close_menu {
	display: none;
}

#toggle_btn {
	display: none;
}

.nav_left_col,
.nav_right_col {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 60%;
}

.nav_middle_col {
	width: 30.33%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.nav_right_col {
	justify-content: center;
}

.nav_item {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	padding: 15px;
	color: #fff;
	transition: all 0.25s;
}

.nav_item:hover {
	color: #E77A2E;
}

.logo_box {
	display: block;
	max-width: 430px;
}

.nav_bar .logo_box img:nth-child(1),
.nav_bar .logo_box img:nth-child(2) {
	display: none;
}

.nav_bar .logo_box img:nth-child(3) {
	display: inline-block;
}

/* header.home .nav_item {
	color: #282828;
} */

header.home {
	background-color: rgba(0, 0, 0, 0.15);
}

/* header.home .respo_logo_box img,
header.home .logo_box img{
	filter: invert(100%);
} */

/*HEADER*/

/*BANNER START*/
.index_banner {
	background: url(../images/banner_img_1.jpg);
	background-size: cover;
	background-position: center;
	height: 100vh;
	position: relative;
	overflow: hidden;
}

.inner_container {
	display: flex;
	align-items: center;
	width: 100%;
	height: 100%;
}

.banner_text_box {
	margin-top: 55px;
}

.banner_text_box .heading {
	font-family: var(--mocha-font);
	font-size: 3.5rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #fff;
	font-weight: 200;
	padding: 10px 20px;
	border-radius: 10px;
	background-color: #00000069;
	max-width: 700px;
	margin-bottom: 20px;
	backdrop-filter: blur(2px);
	line-height: 1;
}

.banner_text_box .heading span {
	color: #E77A2E;
	font-weight: bold;
	font-size: 3.6rem;
	letter-spacing: 0.2rem;
}

.banner_btn {
	font-size: 12px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 5px;
	color: #fff;
	display: flex;
	align-items: center;
	padding: 7px 22px 8px 9px;
	background-color: #00000040;
	width: fit-content;
	gap: 10px;
	transition: all 0.25s;
}

.banner_btn svg {
	max-width: 15px;
	transition: all 0.25s;
}

.banner_btn:hover {
	color: #e77a2e;
}

.banner_btn:hover svg {
	transform: translateX(2px);
}

/*BANNER END*/
.web_loader {
	width: 100vw;
	height: 100vh;
	position: absolute;
	top: 0;
	left: 0;
	background-color: rgba(255, 255, 255, .15);
	backdrop-filter: blur(20px);
	/* Standard syntax */
	-webkit-backdrop-filter: blur(20px);
	/* WebKit prefix */
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 5s;
	z-index: 99999;
	background-image: url(../images/banner_img_1.jpg);
	background-position: center;
	background-size: cover;
}

.web_loader::after {
	content: '';
	position: absolute;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(20px);
	/* Standard syntax */
	-webkit-backdrop-filter: blur(20px);
	/* WebKit prefix */
	z-index: -1;
}

.web_loader::before {
	content: '';
	position: absolute;
	width: 95px;
	height: 95px;
	clip-path: polygon(20% 0%, 0% 20%, 24% 48%, 0% 80%, 20% 100%, 48% 76%, 80% 100%, 100% 80%, 76% 51%, 100% 20%, 80% 0%, 49% 24%);
	z-index: 9999;
	background-image: url(../images/banner_img_1.jpg);
	background-position: center;
	background-size: cover;
	background-attachment: fixed;
	-webkit-background-size: cover;
	-webkit-background-attachment: fixed;
	transition: width 4s cubic-bezier(0.4, 0, 0.2, 1), height 4s cubic-bezier(0.4, 0, 0.2, 1);
	opacity: 0;
}

.web_loader.remove::before {
	width: 250vw;
	height: 250vw;
	opacity: 1;
	transition: width 4s cubic-bezier(0.4, 0, 0.2, 1), height 4s cubic-bezier(0.4, 0, 0.2, 1);
}

.web_loader.remove_2 {
	opacity: 0;
	z-index: -9999;
	transition: all 1s cubic-bezier(0.4, 0, 0.2, 1);
}

.squre {
	width: 300px;
	height: 300px;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(20);
	transition: all 4s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 9999;
}

.squre.animate {
	transform: translate(-50%, -50%) scale(1);
	transition: all 4s ease-out;
}

.squre.animate_2 {
	width: 200px;
	height: 200px;
	transition: all 2s;
}

.squre.animate_3 {
	width: 120px;
	height: 120px;
	transition: all 2s cubic-bezier(0.4, 0, 0.2, 1);
}

.squre.animate_4 {
	opacity: 0;
}

.web_loader .squre img {
	position: absolute;
	z-index: 1;
}

.corner_left {
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}

.corner_top {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

.corner_right {
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

.corner_bottom {
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.skip_btn {
	position: absolute;
	top: 15px;
	right: 15px;
	color: #fff;
	cursor: pointer;
	z-index: 99999;
}

.skip_btn:hover {
	color: #E77A2E;
}

.animation_logo_box {
	position: absolute;
	bottom: 165px;
	left: 50%;
	transform: translateX(-50%);
	transition: all 1s ease-out;
	opacity: 0;
}

.animation_logo_box.show {
	opacity: 1;
}










.story_sec_1 {
	background-image: url(../images/Kitchen-1-scaled.jpg);
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	height: 665px !important;
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	overflow: hidden;
	border-radius: 0 0 20px 20px;
}
.story_sec_20 {
	background-image: url(../images/slide_img_8.jpg);
	background-position: center center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	height: 665px !important;
	position: relative !important;
	z-index: 1 !important;
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	overflow: hidden;
	border-radius: 0 0 20px 20px;
}
.story_sec_1:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* background: #00000075; */
	z-index: -1;
}

.story_sec_20:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* background: #00000075; */
	z-index: -1;
}

.banner_heading {
	color: #FFFFFF;
	font-family: 'dyno font';
	font-size: 45px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	text-shadow: 0 0 2.0rem rgba(0, 0, 0, 0.5);
}

.story_sec_2 {
	/* background: #ffffff; */
	padding-top: 70px;
	position: relative;
}

.common_heading_img {
	max-width: 490px;
	/* filter: invert(1) sepia(100%) grayscale(100%) opacity(0.7); */
}

.common_desc {
	color: #808080;
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	letter-spacing: 0.7px;
}

.story_sec_2 .img_box {
	max-width: 410px;
	position: sticky;
	top: 50px;
	transform: translateY(0%);
	/* margin-left: auto;
	margin-right: auto; */
}

.story_sec_2 .img_box.left {
	margin-left: auto;
}

.story_sec_2 .img_box img {
	border-radius: 20px;
	/* filter: grayscale(1); */
	transition: all 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6);
	cursor: pointer;
	outline: 2px solid #e77b2e00;

	&:hover {
		filter: grayscale(0);
		scale: 0.95;
		/* outline: 2px solid #E77A2E; */
		outline-offset: 10px;
	}
}

.project_sec_1 {
	background: url(../images/projects-banner.png);
}

.contact_sec_1 {
	background-image: url(../images/slide_img_2.jpg) !important;
}

.project_sec_2 {
	padding-top: 70px;
	padding-bottom: 70px;
}

.project_sec_2 .heading {
	font-family: 'Oswald', sans-serif;
	color: #222222;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: center;
}

.project_sec_2 .heading span {
	color: #E77A2E;
	font-weight: 500;
}

.project_sec_2 .sub_heading {
	color: #5a5a5a;
	font-family: 'Oswald', sans-serif;
	font-size: 2.2rem;
	font-weight: 300;
	letter-spacing: 1px;
	text-align: center;
	padding-bottom: 30px;
}

.slider_wrapper {
	position: relative;
}

.slider_wrapper .swiper-slide {
	border-radius: 20px;
	overflow: hidden;
}

.slider_wrapper .swiper-button-next,
.slider_wrapper .swiper-button-prev {
	width: 20px;
	height: 20px;
	color: #858585;
	margin-top: 0;
}

.slider_wrapper .swiper-button-next:after,
.slider_wrapper .swiper-button-prev:after {
	font-size: 25px;
}

.slider_wrapper .swiper-button-next, .slider_wrapper .swiper-rtl .swiper-button-prev {
	right: var(--swiper-navigation-sides-offset, -45px);
}

.slider_wrapper .swiper-button-prev, .slider_wrapper .swiper-rtl .swiper-button-next {
	left: var(--swiper-navigation-sides-offset, -45px);
}

.contact_sec_1 {
	background: #0E0E0E;
	padding: 60px 0px;
}

.footer_sec {
	/* background: #0E0E0E; */
	padding: 70px 0px;
}

.gen_heading {
	color: #E77A2E;
	font-size: 35px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 4px;
	padding-bottom: 30px;
}

.contact_form {
	max-width: 795px;
}

.contact_form .form_group input {
	width: 100%;
	height: 35px;
	border: 1px solid #d1d1d1;
	background: transparent;
	padding: 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	color: #636363;
	outline: 0;
	border-radius: 5px;
	transition: all 0.25s;
}

.contact_form .form_group input:focus,
.contact_form textarea:focus {
	border-color: #E77A2E;
	box-shadow: 0 0 15px rgba(0, 0, 0, 0.1) inset;
}

.contact_form .form_group input::placeholder,
.contact_form textarea::placeholder {
	color: #a7a7a7;
	font-weight: 600;
}

.contact_form textarea {
	width: 100%;
	height: 110px;
	resize: none;
	border: 1px solid #d1d1d1;
	background: transparent;
	padding: 10px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 2px;
	color: #636363;
	border-radius: 0;
	outline: 0;
	border-radius: 5px;
	transition: all 0.25s;
}

.submit_btn {
	background-color: #E77A2E !important;
	color: #ffffff !important;
	border-radius: 5px;
	padding: 7px 25px 7px 25px;
	font-size: 13px;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 2px;
	border: 0;
}

.gen_list li {
	width: 100%;
	padding: 5px 0px;
	border-bottom: 1px solid #d8d8d8;
	margin-bottom: 10px;
}

.gen_info {
	color: #414141;
	font-size: 13px;
	font-weight: 400;
}

.gen_info span {
	font-weight: 500;
	margin-right: 5px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

/* .copyright_sec {
	background: #0E0E0E;
	padding: 10px 0px;
} */

.copyright_sec {
	background: #d1d1d1;
	padding: 10px 0px;
	position: fixed;
	border-radius: 15px 15px 0 0;
	bottom: 0;
	left: 0;
	width: 100%;
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.1);
	z-index: 1;
}

.copyright_sec p {
	text-align: center;
	color: #5a5a5a;
	font-family: "Montserrat", Sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 2.5px;

	@media only screen and (max-width: 768px) {
		font-size: 0.4em !important;
	}
}

.footer_logo {
	/*	max-width: 150px;*/
	margin-bottom: 15px;
	/* filter: invert(1) sepia(100%) grayscale(100%) opacity(0.7); */
}

p.gen_info a {
	color: #444444 !important;
}

.cf_caption {
	text-align: center;
	color: #fff;
	padding: 10px;
}

.social ul li {
	list-style-type: none;
	display: inline-block;
	margin-right: 15px;
}

.social {
	text-align: center;
}

.social ul li a {
	color: #222222;
}

.social ul li a:hover {
	color: #b26027;
}


/* job sites page  */
.Job_site {
	/* background: #ffffff; */
	padding-top: 50px;
	padding-bottom: 30px;
}

.Job_site .heading {
	font-family: 'Oswald', sans-serif;
	color: #222222;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 1px;
	text-align: center;
}

.Job_site .heading span {
	color: #E77A2E;
	font-weight: 500;
}

.Job_site .sub_heading {
	color: #5a5a5a;
	font-family: 'Oswald', sans-serif;
	font-size: 2.2rem;
	font-weight: 300;
	letter-spacing: 1px;
	text-align: center;
	padding-bottom: 25px;
}

.Site_data {
	flex-wrap: wrap;
	background: #181818;
	padding: 0;
	border-radius: 50px;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.Site_data .number {
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E77A2E;
	border-radius: 50%;
	border: 1px solid #E77A2E;
}

.first_data {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

.story_sec_1.site-page {
	background-image: url(../images/slide_img_10.jpg);
}

.second-data {
	width: 60%;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	background: #3D3D3D;
	padding-left: 30px;
	border-radius: 50px;
	box-shadow: inset 0 0 10px #181818;
}

.Site_data span {
	color: #fff;
	font-family: 'Montserrat', sans-serif;
}

.address span {
	/* font-family: ; */
	font-size: 20px;
	line-height: 1.1;
	font-weight: 500;
	font-family: 'Montserrat', sans-serif;

}

.Site_data:nth-child(even) {
	background: #0e0e0e;
}

.Site_data:nth-child(even) .number {
	background: transparent;
	border-color: #fff;
}

.Site_data:nth-child(even) .second-data {
	background: #222222;
}

.name span {
	color: #E77A2E;
	text-transform: uppercase;
}

.row.pb-30 {
	padding-bottom: 50px;
}


section.Job_site .inner-cont {
	text-align: center;
	padding: 20px;
	border: 1px solid #fff;
	box-shadow: inset 0 0 13px #fff;
	border-radius: 10px;
	MARGIN-BOTTOM: 10PX;
	HEIGHT: 130PX;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	transition: all 0.5s ease;
}

section.Job_site .inner-cont h3 {
	color: #e77a2e;
	FONT-SIZE: 16PX;
	TEXT-TRANSFORM: UPPERCASE;
}

section.Job_site .inner-cont span {
	color: #fff;
	FONT-SIZE: 14PX;
}

section.Job_site .inner-cont:hover {
	background: #e77a20;
	color: #fff;
	box-shadow: 0 0 13px #e77a20;
	border: #e77a20;
}

section.Job_site .inner-cont:hover h3 {
	color: #fff;
}

.Job_site .row.row-wrap {
	justify-content: center;
}

.container.cf_list ul li {
	color: #fff;
}

ul.cf_list li i.fas.fa-circle {
	margin-right: 15px;
}

ul.cf_list li {
	margin-bottom: 15px;
}

ul.cf_list li i.fas.fa-circle {
	margin-right: 15px;
	padding-top: 5px;
	font-size: 10px;
}

ul.cf_list li {
	margin-bottom: 15px;
	display: flex;
	align-content: stretch;
}

/* section.project_sec_2 .container {
	margin-bottom: 150px !important;
} */

.container.desk ul li {
	color: #fff;
}

ul.desk li i.fas.fa-circle {
	margin-right: 15px;
}

.container.desk ul li {
	margin-bottom: 15px;
}

ul.desk li i.fas.fa-circle {
	margin-right: 15px;
	padding-top: 5px;
}

.container.desk ul li {
	margin-bottom: 15px;
	display: flex;
	align-content: stretch;
}

section.story_sec_2 ul.list-unstyled.cf_list li {
	color: #3a3a3a !important;
}

/* ============= Re-New Intro ============== */
/* Add this new wrapper element */
/* Modify the safari_blur animation to ensure it completely disappears */
.safari_blur {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 999;
  pointer-events: none;
  background-color: rgba(255, 255, 255, .15);
  -webkit-backdrop-filter: blur(20px);
  backdrop-filter: blur(20px);
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  will-change: backdrop-filter, opacity;
  
  /* Add a final animation that hides the element completely */
  animation: safariBlurFix 0.01s linear forwards, 
             blurFadeInOut 2.8s cubic-bezier(0.87, 0, 0.13, 1) forwards,
             blurFadeInOut 3.8s 15.5s cubic-bezier(0.87, 0, 0.13, 1) reverse forwards,
             hideElement 0.1s 19.3s forwards; /* Add this final step */
}

/* Add this new animation to completely hide elements */
@keyframes hideElement {
  from {
    visibility: visible;
    opacity: 0;
  }
  to {
    visibility: hidden;
    opacity: 0;
    display: none;
  }
}

/* Also add this final hiding animation to the preloader */
.web_preloader {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100vw;
  height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  animation: animLogoContent 2.8s cubic-bezier(0.87, 0, 0.13, 1) forwards, 
             animLogoContent 3.8s 15.5s cubic-bezier(0.87, 0, 0.13, 1) reverse forwards,
             hideElement 0.1s 19.3s forwards; /* Add this final step */
}

/* Add this to ensure everything gets removed properly */
@keyframes hidePreloader {
  to {
    visibility: hidden;
    opacity: 0;
    display: none;
  }
}

.web_preloader .logoBox {
	width: 300px;
	height: 300px;
	position: absolute;
	z-index: 2;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(0deg) scale(20);
	animation: animLogoContainer 6s 0.5s cubic-bezier(0.87, 0, 0.13, 1) forwards, animLogoContainerTransform 7s cubic-bezier(0.87, 0, 0.13, 1) forwards, animLogoContainerExpanded 4s 7s cubic-bezier(0.87, 0, 0.13, 1) forwards;
}

.web_preloader .logoBox img {
	position: absolute;
	z-index: 1;
}

.web_preloader .logoBox .corner_left {
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	animation: animLogoLeftCorner 4.5s 15s cubic-bezier(0.87, 0, 0.13, 1) forwards;
}

.web_preloader .logoBox .corner_top {
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	animation: animLogoTopCorner 4.5s 15s cubic-bezier(0.87, 0, 0.13, 1) forwards;
}

.web_preloader .logoBox .corner_right {
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	animation: animLogoRightCorner 4.5s 15s cubic-bezier(0.87, 0, 0.13, 1) forwards;
}

.web_preloader .logoBox .corner_bottom {
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	animation: animLogoBottomCorner 4.5s 15s cubic-bezier(0.87, 0, 0.13, 1) forwards;
}

.web_preloader .animation_logo_box {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
	transform: translate(-50%, -50%) scale(1);
	opacity: 0;
	width: 50vw;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.3s 4.5s ease;
	animation: animLogoContent 2.5s 8.5s cubic-bezier(0.87, 0, 0.13, 1) forwards, animLogoContent 2.8s 15s cubic-bezier(0.87, 0, 0.13, 1) reverse forwards;
	
	@media only screen and (max-width: 768px) {
		width: 75vw;
		
	}
}

@keyframes animLogoContainer {
	from {
		width: 300px;
		height: 300px;
	}

	to {
		width: 120px;
		height: 120px;
	}
}

@keyframes animLogoContainerTransform {
	from {
		transform: translate(-50%, -50%) rotate(0deg) scale(20);
	}

	to {
		transform: translate(-50%, -50%) rotate(0deg) scale(1.2);
	}
}

@keyframes animLogoContainerExpanded {
	from {
		width: 120px;
		height: 120px;
	}

	to {
		width: 60vw;
		height: 45vh;
	}
}

@keyframes animLogoContent {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes animLogoLeftCorner {
	from {
		left: 0;
		transform: translateY(-50%) scale(1);
	}

	to {
		left: 170%;
		transform: translateY(-50%) scale(25);
	}
}

@keyframes animLogoRightCorner {
	from {
		right: 0;
		transform: translateY(-50%) scale(1);
	}

	to {
		right: 170%;
		transform: translateY(-50%) scale(25);
	}
}

@keyframes animLogoTopCorner {
	from {
		top: 0;
		transform: translateX(-50%) scale(1);
	}

	to {
		top: 400%;
		transform: translateX(-50%) scale(25);
	}
}

@keyframes animLogoBottomCorner {
	from {
		bottom: 0;
		transform: translateX(-50%) scale(1);
	}

	to {
		bottom: 400%;
		transform: translateX(-50%) scale(25);
	}
}

@media only screen and (max-width: 768px) {
	@keyframes animLogoContainerTransform {
		from {
			transform: translate(-50%, -50%) rotate(0deg) scale(20);
		}
	
		to {
			transform: translate(-50%, -50%) rotate(0deg) scale(0.6);
		}
	}

	@keyframes animLogoContainerExpanded {
		from {
			width: 120px;
			height: 120px;
		}
	
		to {
			width: 165vw;
			height: 40vh;
		}
	}
}

/* ======================== Contact Us Design ==================== */
.callToActionSection {
	overflow: hidden;
}

.callToActionSection .threebox2 {
	transform-style: preserve-3d;
}

.callToActionSection h2 {
	text-align: center;
	text-transform: uppercase;
	font-family: 'poppinsBold';
	font-size: 7em;
	font-weight: bold;
	margin-bottom: -10px;
	color: transparent;
	-webkit-text-stroke: 2px rgba(0, 0, 0, 0.2);

	@media only screen and (max-width: 768px) {
		font-size: 2.5em;
		-webkit-text-stroke: 1px rgba(0, 0, 0, 0.2);
	}
}

.callToActionSection h1 {
	text-align: center;
	text-transform: uppercase;
	font-family: 'poppinsBold';
	font-size: 10em;
	font-weight: bold;
	color: rgb(221, 221, 221);

	@media only screen and (max-width: 768px) {
		font-size: 4em;
	}
}

.callToActionSection a {
	display: block;
	position: relative;
	left: 50%;
	width: 250px;
	height: 250px;
	border-radius: 100%;
	border: 5px solid rgb(255, 255, 255);
	transform: translateX(-50%) translateZ(50px);
	display: flex;
	gap: 0.8em;
	align-items: center;
	justify-content: center;
	margin-top: -6.0em;
	background-image: var(--linear-gradient-left-primary);
	color: #fff;
	padding: 3.0em;
	margin-bottom: 5.0em;
	box-shadow: 0 0 0 0 var(--primary-color-dark) inset, 0 5px 3.0rem rgba(0, 0, 0, 0.5);

	@media only screen and (max-width: 768px) {
		margin-top: -3.0em;
		border: 3px solid rgb(255, 255, 255);
		width: 150px;
		height: 150px;
		gap: 0.5em;
		padding: 1.5em;
		margin-bottom: 2.0em;
	}
}

.callToActionSection a span {
	font-family: 'outfit';
	font-size: 1.8em;
	text-transform: capitalize;

	@media only screen and (max-width: 768px) {
		font-size: 1.0em;
	}
}

.callToActionSection a i {
	transform: rotate(-45deg);
	font-size: 1.5em;

	@media only screen and (max-width: 768px) {
		font-size: 1.0em;
	}
}

.callToActionSection a:hover i {
	transform: rotate(0deg);
}

.callToActionSection a:hover {
	box-shadow: 0 0 0 10em var(--primary-color-dark) inset, 0 5px 3.0rem rgba(0, 0, 0, 0.2);
	transform: translateX(-50%) translateZ(50px) scale(0.95);

	@media only screen and (max-width: 768px) {
		box-shadow: 0 0 0 5em var(--primary-color-dark) inset, 0 5px 3.0rem rgba(0, 0, 0, 0.2);
	}
}

/* =================== Our Approaches Section ========================= */
.ourApproachSection img {
	width: 90%;
	object-fit: cover;
	border-radius: 20px;
	outline: 2px solid transparent;
}

.ourApproachSection img:hover {
	outline: 2px solid var(--secondary-color-dark);
	outline-offset: 10px;
}

.ourApproachSection .itemContainer .col-6 {
	position: relative;
}

.ourApproachSection .itemContainer .outline {
	background-color: lightgrey;
	height: 2px;
	margin: 0 0.7rem;
	margin-bottom: 1.5em;
}

.ourApproachSection .itemContainer .item {
	text-align: center;
}

.ourApproachSection .itemContainer .item::after {
	content: '';
	position: absolute;
	top: -2.2em;
	left: 50%;
	transform: translateX(-50%);
	width: 20px;
	height: 20px;
	border-radius: 100%;
	outline: 2px solid #fff;
	outline-offset: -2px;
	background-color: var(--primary-color-dark);
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.1);
}

.ourApproachSection .itemContainer .item h5 {
	font-family: 'outfit';
	color: #333333;
	font-size: 1.2em;
	text-align: center;

	@media only screen and (max-width: 768px) {
		font-size: 1.0em;
	}
}

.ourApproachSection .itemContainer .item p {
	font-family: 'poppins';
	color: var(--para-text-color);
	font-size: 0.9em;
	text-align: center;
	line-height: 2.0em;

	@media only screen and (max-width: 768px) {
		font-size: 0.8em;
		line-height: 1.5em;
	}
}

.ourApproachSection .experianceContainer {
	width: 180px;
	height: 180px;
	background-color: red;
	border-radius: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	background-image: url(https://demo-egenslab.b-cdn.net/html/softconic/preview/assets/img/home-3/rotate-text.png), url(https://demo-egenslab.b-cdn.net/html/softconic/preview/assets/img/home-3/rotate-text.png), var(--linear-gradient-left-primary);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 90%, 90%, cover, cover;
	cursor: pointer;
}

.ourApproachSection .experianceContainer h1 {
	font-family: 'outfit';
	margin-bottom: 0px;
	line-height: 1.0em;
	font-size: 3.5em;
}

.ourApproachSection .experianceContainer span {
	margin-bottom: 0px;
	font-family: "outfit";
	font-size: 1.3em;
}