@font-face {
	font-family: "bootstrap-icons";
	font-display: swap;
	src: url("../icons/bootstrap-icons.woff2?e34853135f9e39acf64315236852cd5a") format("woff2"),
		url("../icons/bootstrap-icons.woff?e34853135f9e39acf64315236852cd5a") format("woff");
}

/* Global layout resets for stability when Bootstrap is deferred */
*,
::after,
::before {
	box-sizing: border-box;
}

/* Default theme */
:root {
	--theme-color: #F23536;
	--theme-gradient: linear-gradient(135deg, #f47676, #F23536);
	--theme-light: #FFF1F1;
}

body {
	margin: 0;
	font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	background-color: #fff;
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
}

.container {
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto;
}

@media (min-width: 576px) {
	.container {
		max-width: 540px;
	}
}

@media (min-width: 768px) {
	.container {
		max-width: 720px;
	}
}

@media (min-width: 992px) {
	.container {
		max-width: 960px;
	}
}

@media (min-width: 1200px) {
	.container {
		max-width: 1140px;
	}
}

@media (min-width: 1400px) {
	.container {
		max-width: 1320px;
	}
}

/* UTILITIES */

.d-flex {
	display: flex !important;
}

.d-block {
	display: block !important;
}

.d-none {
	display: none !important;
}

.flex-column {
	flex-direction: column !important;
}

.flex-lg-row {
	flex-direction: row !important;
}

@media(min-width:576px) {
	.d-sm-block {
		display: block !important;
	}
}

@media(min-width:768px) {
	.d-md-none {
		display: none !important;
	}

	.d-md-flex {
		display: flex !important;
	}
}

/* ========= FLEX ========= */

.justify-content-end {
	justify-content: flex-end !important;
}

.align-items-center {
	align-items: center !important;
}

.mx-auto {
	margin-left: auto !important;
	margin-right: auto !important;
}

.gap-0 {
	gap: 0 !important;
}


.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
	margin-top: 0;
	margin-bottom: .5rem;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}

.h4,
h4 {
	font-size: calc(1.275rem + .3vw);
}

.h6,
h6 {
	font-size: 1rem;
}

.text-uppercase {
	text-transform: uppercase !important;
}

button {
	font-family: inherit;
}

.btn {
	display: inline-block;
	padding: .375rem 0.75rem;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: #212529;
	text-align: center;
	text-decoration: none;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	border: 1px solid transparent;
	border-radius: 0.375rem;
	background-color: transparent;
	transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}


/*============================================================================
===============================USING BOOTSTRAP CSS============================
==============================================================================*/
/* ==========================
BOOTSTRAP NAVBAR MINIMAL
========================== */


/* ========= POSITION ========= */

.sticky-top {
	position: sticky;
	top: 0;
	z-index: 1020;
}

.bg-white {
	background: #fff;
}

/* ========= NAVBAR ========= */

.navbar {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	padding: .5rem 0;
}

.navbar>.container {
	display: flex;
	flex-wrap: inherit;
	align-items: center;
	justify-content: space-between;
}

/* BRAND */

.navbar-brand {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	white-space: nowrap;
	padding-top: 0.3125rem;
	padding-bottom: 0.3125rem;
	margin-right: 1rem;
	font-size: 1.25rem;
	color: rgb(0, 0, 0);
}

.navbar-brand img {
	display: block;
	height: auto;
}

/* TOGGLER */

.navbar-toggler {
	padding: .25rem .75rem;
	font-size: 1.25rem;
	line-height: 1;
	background: transparent;
	color: rgba(0, 0, 0, 0.65);
	border: 1px solid rgba(0, 0, 0, .15);
	cursor: pointer;
	border-radius: 0.375rem;
	transition: box-shadow 0.35s ease-in-out;
}

.navbar-toggler:focus {
	text-decoration: none;
	outline: 0;
	box-shadow: 0 0 0 0.25rem;
}

.navbar-toggler-icon {
	display: inline-block;
	width: 1.5em;
	height: 1.5em;
	vertical-align: middle;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100%;
}


/* COLLAPSE */

/* COLLAPSE WITH SMOOTH TRANSITION */

.navbar .collapse:not(.show) {
	display: none;
}

.navbar .collapsing {
	height: 0;
	overflow: hidden;
	transition: height .35s ease;
}

@media (prefers-reduced-motion: reduce) {
	.navbar .collapsing {
		transition: none;
	}
}


.navbar-collapse {
	flex-grow: 1;
	align-items: center;
	flex-basis: 100%;
}

.navbar-nav {
	display: flex;
	flex-direction: column;
	padding-left: 0;
	margin: 0;
	list-style: none;
}

.nav-item {
	list-style: none;
}

.nav-link {
	display: block;
	text-decoration: none;
	padding: 0.5rem 0;
	color: rgba(0, 0, 0, .65);
	background: transparent;
	border: 0;
	transition:
		color .15s ease-in-out,
		background-color .15s ease-in-out,
		border-color .15s ease-in-out;
}

@media (min-width: 768px) {
	.navbar-expand-md {
		flex-wrap: nowrap;
	}

	.navbar-expand-md .navbar-toggler {
		display: none;
	}

	.navbar-expand-md .navbar-nav {
		flex-direction: row;
	}

	.navbar-expand-md .navbar-nav .nav-link {
		padding-right: 0.5rem;
		padding-left: 0.5rem;
	}
}

/* Desktop navbar should always stay visible */
@media (min-width: 768px) {
	.navbar-expand-md .collapse {
		height: auto !important;
		opacity: 1 !important;
		overflow: visible;
		display: flex !important;
	}

	.navbar-expand-md .navbar-collapse {
		flex-basis: auto;
	}
}


/* Reserve space to prevent layout shift (CLS) for fetched components */
#section-for-navigation-bar {
	min-height: 66px;
	/* standard mobile/tablet nav height */
}


@media (min-width: 768px) {
	#section-for-navigation-bar {
		min-height: 80px;
		/* standard desktop nav height */
	}

	#section-for-contact-details-header {
		min-height: 40px;
		/* contact details header on desktop */
	}
}

/* Reserve height for dynamic sections to eliminate layout shifts (CLS) */
.what-we-offer {
	min-height: 450px;
}

.what-we-provide {
	min-height: 450px;
}

#section-for-achievements {
	min-height: 400px;
}

#section-for-blog {
	min-height: 480px;
}

#section-for-collection {
	min-height: 350px;
}

#section-for-info-display-box {
	min-height: 400px;
}

#section-for-testimonial-carousel {
	min-height: 550px;
}

#section-for-testimonial {
	min-height: 550px;
}

#section-for-video-testimonial {
	min-height: 500px;
}

#section-for-clients {
	min-height: 300px;
}

#section-for-faqs {
	min-height: 350px;
}

#section-for-box-based-faqs {
	min-height: 350px;
}

#section-for-link-to-contact-us {
	min-height: 300px;
}

#section-for-footer {
	min-height: 400px;
}

.mobile-feature-section {
	min-height: 450px;
}

.web-feature-section {
	min-height: 450px;
}

#section-for-business-models {
	min-height: 450px;
}

#section-for-solution-deliverables {
	min-height: 450px;
}

#section-for-app-like-clone {
	min-height: 340px;
}

#section-for-technology-stack {
	min-height: 450px;
}

#section-for-youtube-videos {
	min-height: 450px;
}

#section-for-talk-to-us-form {
	min-height: 450px;
}