:root {
	--primary: #C21A30;
	--dark: #081224;
	--text-light: #E2E8F0;
	--text-light-100: #F1F5F9;
	--text-light-200: #F8FAFC;
	--text-dark: #90A1B9;
	--text-dark-gray: #0F172A;
	--text-dark-gray-900: #45556C;
	--text-dark-gray-800: #314158;
	--text-dark-gray-700: #62748E;
	--text-dark-gray-600: #314158;
	--bg-drak: #0C1120;
	--bs-aspect-ratio: 111.26%;
	--blue: #0084D1;
	--green: #009966;

}

.bg-dark {
	background-color: var(--bg-drak) !important;
}

.bg-dark {
	background-color: var(--dark) !important;
}

.dark {
	color: var(--dark) !important;
}

.bg-dark-gray {
	background-color: var(--text-dark-gray) !important;
}

.dark-gray {
	color: var(--text-dark-gray) !important;
}

.dark-color {
	color: var(--text-dark) !important;
}

.light-color {
	color: var(--text-light) !important;
}

.light-100 {
	color: var(--text-light-100);
}

.text-light-200 {
	color: var(--text-light-200) !important;
}

.light-200 {
	background: var(--text-light-200);
}

.text-danger {
	color: var(--primary) !important;
}

.bg-danger {
	background-color: var(--primary) !important;
}

.text-green {
	color: var(--green);
}

.gray-900 {
	color: var(--text-dark-gray-900) !important;
}

.gray-800 {
	color: var(--text-dark-gray-800) !important;
}

.gray-700 {
	color: var(--text-dark-gray-700) !important;
}

.gray-600 {
	color: var(--text-dark-gray-600) !important;
}

.text-blue {
	color: var(--blue);
}

.border-light-100 {
	border-color: var(--text-light-100) !important;
}

.custom-ratio {
	--bs-aspect-ratio: 111.26%;
}

.p-20 {
	padding: 20px !important;
}

.p-40 {
	padding: 40px !important;
}

.px-40 {
	padding-left: 40px !important;
	padding-right: 40px !important;
}

.py-50 {
	padding-top: 50px !important;
	padding-bottom: 50px !important;
}

.p-100 {
	padding: 110px 0px !important;
}

.pb-100 {
	padding-bottom: 100px;
}

.mb-32 {
	margin-bottom: 32px !important;
}

.mb-14 {
	margin-bottom: 14px;
}

.mb-40 {
	margin-bottom: 40px !important;
}

.my-40 { 
	margin-top: 40px !important;
	margin-bottom: 40px !important;
}

.fs-9 {
	font-size: 0.5625rem;
}

.fs-10 {
	font-size: 0.625rem;
}

.fs-11 {
	font-size: 0.625rem;
}

.fs-12 {
	font-size: 0.75rem;
}

.fs-13 {
	font-size: 0.8125rem;
}

.fs-14 {
	font-size: 0.875rem;
}

.fs-15 {
	font-size: 0.9375rem;
}

.fs-18 {
	font-size: 18px !important;
}

.fs-24 {
	font-size: 24px;
}

.fs-30 {
	font-size: 30px !important;
}

.fs-36 {
	font-size: 36px;
}

.fs-48 {
	font-size: 48px !important;
}

.ls-n03 {
	letter-spacing: -0.5px;
}

.ls-n10 {
	letter-spacing: -1px;
}

.ls-n12 {
	letter-spacing: -1.2px;
}

.ls-n15 {
	letter-spacing: -1.5px;
}

.ls-1 {
	letter-spacing: 1px;
}

.ls-n35 {
	letter-spacing: 0.35px;
}

.ls-n07 {
	letter-spacing: 0.7px;
}

.ls-15 {
	letter-spacing: 1.5px;
}

.ls-22 {
	letter-spacing: 2.2px;
}

.ls-26 {
	letter-spacing: 2.6px;
}

.ls-3 {
	letter-spacing: 3px;
}

.fw-800 {
	font-weight: 800;
}

.fw-900 {
	font-weight: 900;
}

.text-break-custom {
	overflow-wrap: break-word;
	word-break: break-word;
}

.mw-300 {
	max-width: 300px;
}

.w-32 {
	width: 32px;
}

.number-badge {
	width: 22px;
	height: 20px;
}

body {
	font-family: Inter, sans-serif !important;
	line-height: 26px;
}

.form-control:focus {
	outline: none;
	box-shadow: none;
	border: none;
}

.navbar {
	background: #fff;
}

.navbar-custom {
	background: #fff;
	border-bottom: 1px solid #e9ecef;
	min-height: 74px;
}


.navbar-nav {
	gap: 20px;
}

.navbar-nav .nav-link {
	font-size: 14px;
	font-weight: 700;
	color: #24344d;
	text-transform: uppercase;
	letter-spacing: .4px;
	padding: 0;
}

.navbar-nav .nav-link:hover,
.navbar-nav .nav-link.active {
	color: #d81f3d;
}

.btn-apply {
	background: #C21A30;
	color: #fff;
	border-radius: 14px;
	padding: 12px 32px;
	font-size: 14px;
	font-weight: 700;
	text-transform: uppercase;
	border: none;
	transition: .3s;
}

.btn-apply:hover {
	background: #C21A30;
	color: #fff;
}

.heading-underline {
	width: 50px;
	height: 2px;
}


.career-hero {
	padding: 145px 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.banner-overlay {
    background: rgba(0, 0, 0, 0.8);
	z-index: 0;
}

.hero-badge {
	background: rgba(255, 255, 255, .08);
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 50px;
	padding: 10px 18px;
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
}

.hero-badge .dot {
	width: 8px;
	height: 8px;
	background: #2dd36f;
	border-radius: 50%;
	margin-right: 10px;
}

.hero-badge .divider {
	width: 1px;
	height: 15px;
	background: rgba(255, 255, 255, .2);
	margin: 0 12px;
}

.hero-title {
	color: #fff;
	font-size: 60px;
	line-height: 63px;
	font-weight: 800;
	letter-spacing: -1.5px;
}

.hero-title span {
	color: #C21A30;
	background: linear-gradient(90deg, #C21A30 0%, #F43F5E 50%, #FFA1AD 100%);
	background-clip: text;
}

.hero-description {
	max-width: 650px;
	color: rgba(255, 255, 255, .85);
	font-size: 1.5rem;
	line-height: 1.7;
	margin-top: 25px;
}

.hero-search {
	max-width: 860px;
	background: rgba(255, 255, 255, .08);
	backdrop-filter: blur(15px);
	border-radius: 18px;
	padding: 10px;
	border: 1px solid rgba(255, 255, 255, .1);
}

.hero-search .form-control {
	background: transparent;
	color: #fff;
	height: 60px;
}

.hero-search .form-control::placeholder {
	color: rgba(255, 255, 255, .65);
}

.btn-find {
	height: 60px;
	border-radius: 14px;
	border: none;
	background: #C21A30;
	color: #fff;
	font-weight: 700;
}

.search-tags a {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	padding: 6px 14px;
	border-radius: 30px;
	border: 1px solid rgba(255, 255, 255, .15);
	margin-right: 7px;
	font-size: 13px;
}

.job-card {
	position: absolute;
	background: rgba(255, 255, 255, .95);
	backdrop-filter: blur(20px);
	border-radius: 20px;
	padding: 25px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}


.career-banner {
	position: absolute;
	top: -80px;
	right: 0;
}

.floating-image {
	position: absolute;
	right: 0;
	bottom: 50px;
}

.text-bg-danger {
	border: 1px solid rgba(194, 26, 48, 0.30);
	background: rgba(194, 26, 48, 0.15) !important;
}

.about-image-wrapper {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 10px 35px rgba(0, 0, 0, .08);
}

.about-image {
	display: block;
	border-radius: 16px;
}


.purpose-card {
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 24px;
	background: #fff;
	padding: 24px;
	border-radius: 16px;
}

.purpose-label {
	display: block;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1px;
	margin-bottom: 8px;
	color: #1d2940;
}

.content-card {
	background: #fff;
	border-radius: 16px;
	padding: 36px;
	border: 1px solid #edf0f4;
	box-shadow: 0 5px 20px rgba(0, 0, 0, .03);
}

.content-card:first-child {
	border-top: 4px solid #1d2940;
}

.video-wrapper {
	border: 4px solid #fff;
}

#playBtn {
	cursor: pointer;
}

.icon-box {
	width: 56px;
	height: 56px;
	border-radius: 12px;
	background: #1d2940;
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
}

.icon-light {
	background: #f3f5f7;
	color: #1d2940;
	border: 1px solid #e5e8ed;
}


.card-number {
	font-size: 3rem;
	font-weight: 800;
	color: #e8edf3;
	line-height: 1;
}


.section-title {
	font-size: 2rem;
	font-weight: 800;
	color: #17233a;
	margin-bottom: 15px;
}

.title-line {
	display: block;
	width: 42px;
	height: 4px;
	background: #1d2940;
	border-radius: 20px;
	margin-bottom: 24px;
}

.content-card p {
	color: #5e6b7f;
	line-height: 1.9;
	margin-bottom: 30px;
}

.btn-dark-custom {
	background: #1d2940;
	color: #fff;
	padding: 14px 28px;
	border-radius: 10px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .5px;
}

.btn-dark-custom:hover {
	background: #111c30;
	color: #fff;
}

.sticky-image {
	bottom: 24px;
}

.bg-shape {
	min-height: 230px;
	background: #060b24;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	z-index: 0;
}

.recognition-title {
	font-size: clamp(2rem, 4vw, 3.5rem);
	line-height: 1.1;
}

.award-icon {
	width: 70px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.card {
	transition: .3s ease;
}

.card:hover {
	transform: translateY(-5px);
}

.card .learn-more {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: all 0.3s ease;
}

.card:hover .learn-more {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.career-cta {
	padding: 144px 0px;
}

.object-fit-cover {
	object-fit: cover;
}

.backdrop-blur {
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}

.diamond {
	width: 6px;
	height: 6px;
	transform: rotate(45deg);
}

/**footer**/
.footer {
	color: #94A3B8;
	font-size: 14px;
	background-color: #020618;
}

.footer a {
	color: inherit;
	text-decoration: none;
}

.footer a:hover {
	color: #CBD5F5;
}

.divider {
	border-top: 1px solid rgba(148, 163, 184, .15);
}

.small-text {
	font-size: 12px;
	color: rgba(148, 163, 184, .6);
	max-width: 900px;
}

/*** about us page ***/

.about-hero {
	padding: 100px 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.about-hero .first-paragraph {
	color: #E2E8F0;
}

.sub-heading {
	background: linear-gradient(90deg, #C21A30 0%, #FF2056 50%, #FF637E 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 60px;
	font-weight: 900;
	line-height: 70px;
}

.high-lighter {
	background: linear-gradient(90deg, #C21A30 0%, rgba(194, 26, 48, 0.00) 100%);
	width: 45px;
	height: 2px;
}

blockquote {
	padding: 15.5px 24px 15.75px 32px;
	border-radius: 0 16px 16px 0;
	border-top: 1px solid rgba(194, 26, 48, 0.05);
	border-right: 1px solid rgba(194, 26, 48, 0.05);
	border-bottom: 1px solid rgba(194, 26, 48, 0.05);
	border-left: 3px solid rgba(194, 26, 48, 0.05);
	background: rgba(194, 26, 48, 0.03);
}

.quote-section {
	padding: 100px 0;
	background: url('../images/blockquote-bg.png') center center/cover no-repeat;
}

.dot {
	width: 6px;
	height: 6px;
	flex-shrink: 0;
}

.title-accent {
	display: inline-block;
	width: 6px;
	height: 42px;
	background: #C21A30;
	border-radius: 50px;
	vertical-align: middle;
}

.icon-box {
	width: 52px;
	height: 52px;
	border-radius: 12px;
	background: #f3f5f7;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #0f172a;
}

.principle-number {
	font-size: 4.5rem;
	line-height: 1;
	font-weight: 800;
	color: #edf1f5;
}

.pillar-icon {
	width: 44px;
	height: 44px;
	min-width: 44px;
	border-radius: 12px;
	background: #f8f9fa;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #6c757d;
}

.giving-percentage {
	background: linear-gradient(135deg, #C21A30 0%, #FF2056 50%, #F6339A 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 144px;
}

.services .card .card-body {
	border: 1px solid #F1F5F9;
	background: #F8FAFC;
	box-shadow: 0 2px 12px 0 rgba(15, 23, 42, 0.04);
}

.green-promise-section {
	background-color: #F8FAFC;
}

.green_promise_heading {
	background: linear-gradient(90deg, #C21A30 0%, #A01222 100%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.green_promise_heading .listing {
	border-color: #F1F5F9;
}

.equal-opportunity-btn {
	border-radius: 8px;
	border: 1px solid rgba(255, 255, 255, 0.20);
	background: rgba(255, 255, 255, 0.10);
}

.quote {
	border-radius: 12px;
	border: 1px solid rgba(194, 26, 48, 0.10);
	background: linear-gradient(90deg, rgba(194, 26, 48, 0.05) 0%, #FFF1F2 100%);
}

#careerTabs .nav-item .nav-link {
	border-radius: 12px;
	border: 1px solid #E2E8F0;
	background: #F8FAFC;
	color: #45556C;
}

#careerTabs .nav-item .nav-link.active,
#careerTabs .nav-item .nav-link:hover {
	background: #C21A30E5;
	color: #fff;

}

.growth-hero {
	padding: 100px 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.benefit-hero {
	padding: 100px 0;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

.card-top-line {
	border-top: 4px solid var(--primary);
}

.card-top-line-blue {
	border-top: 4px solid var(--blue);
}

.card-top-line-greeen {
	border-top: 4px solid var(--green);
}

.feature-item {
	border: 1px solid rgba(241, 245, 249, 0.60);
	background: rgba(248, 250, 252, 0.50);
}

.testimonial-card {
	background:
		linear-gradient(45deg, #020618 0%, #0F172B 50%, #020618 100%);
}

.carousel-indicators {
	gap: 10px;
}

.carousel-indicators [data-bs-target] {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: #d1d8e0;
	border: none;
	opacity: 1;
}

.carousel-indicators .active {
	border-radius: 20px;
	background: #dc3545;
}

.testimonial-banner {
	border-radius: 16px;
	background: linear-gradient(45deg, #020618 0%, #0F172B 50%, #020618 100%);
	box-shadow: 0 20px 50px -12px rgba(15, 23, 42, 0.12), 0 8px 16px -8px rgba(15, 23, 42, 0.04);
}

.job-detail-banner {
	border-bottom: 1px solid rgba(226, 232, 240, 0.80);
	background: linear-gradient(180deg, rgba(194, 26, 48, 0.10) 0%, rgba(255, 32, 86, 0.05) 50%, rgba(255, 32, 86, 0.00) 100%);
}

.list-dot {
	width: 8px;
	height: 8px;
	min-width: 8px;
}
.subscribe {
	border: 1px solid rgba(255, 255, 255, 0.15);
	background: rgba(255, 255, 255, 0.10);
}
.subscribe-input::placeholder {
    color: #fff;
    opacity: 1;
}

.subscribe-input::-webkit-input-placeholder {
    color: #fff;
}

.subscribe-input::-moz-placeholder {
    color: #fff;
}

.subscribe-input:-ms-input-placeholder {
    color: #fff;
}

.subscribe-input::-ms-input-placeholder {
    color: #fff;
}

/***** about us page css *****/

.cms-page-about .feature-one {
    background-color: var(--bg-drak) !important;
}

.cms-page-about .feature-one .row {
	justify-content: center;
}

.cms-page-about .feature-one .row .col-lg-10 {
	text-align: center;
} 
.cms-page-about .feature-one h2 {
	color: rgba(var(--bs-white-rgb)) !important
} 
.cms-page-about .feature-one .heading-underline {
	margin:0 auto;
}
.cms-page-about .feature-one p {
	color: var(--text-light) !important;
} 

/***** benefit page css *****/

.cms-page-benefits .feature-listing ul {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    padding: 0;
    margin: 0;
    list-style: none;
}
.cms-page-benefits .feature-listing li {
    position: relative;
    padding-left: 30px;
    margin-bottom: 12px;
	background-image: url(../images/trick-icon.svg);
    background-repeat: no-repeat;
	background-position-y: 5px;
    font-size: 14px;
	font-weight: 500;
	color: var(--text-dark-gray-800) !important;
}

/***** culture page css *****/

.testimonial-card blockquote {
	line-height: 42px;
}


@media (min-width: 1024px) and (max-width: 1199px) {
	.navbar-nav {
		gap: 8px;
	}
}

@media (max-width: 991.98px) {

	.content-card {
		padding: 30px;
	}

	.section-title {
		font-size: 1.75rem;
	}

	.purpose-card {
		left: 16px;
		right: 16px;
		bottom: 16px;
		padding: 20px;
	}

	.hero-title {
		font-size: 52px;
	}

	.fs-48 {
		font-size: 36px !important;
	}

	.job-card,
	.career-circle {
		display: none;
	}

	.hero-search {
		max-width: 100%;
	}

	.career-banner {
		position: initial;
	}

	.bg-shape {
		min-height: 105px;
	}

	.about-hero {
		min-height: 650px;
	}

	.about-hero .display-2 {
		font-size: clamp(2.5rem, 8vw, 4.5rem);
	}

	.testimonial-text {
		font-size: 1.5rem;
	}

	.quote-icon {
		font-size: 4rem;
	}
}

@media (max-width:767.98px) {

	.testimonial-text {
		font-size: 1.25rem;
	}
	.cms-page-benefits .feature-listing ul {
        grid-template-columns: 1fr;
    }
	.p-100 {
		padding: 55px 0px !important;
	}

	.p-40 {
		padding: 20px !important;
	}
}

@media (max-width: 575.98px) {

	.fs-48 {
		font-size: 30px !important;
	}

	.content-card {
		padding: 24px;
	}

	.card-number {
		font-size: 2.2rem;
	}

	.section-title {
		font-size: 1.5rem;
	}

	.purpose-card h5 {
		font-size: 1rem;
	}
}

/* Jobs listing: AJAX loading spinner, offset below the sort/count bar so it doesn't
   cover the "Showing X Jobs" header while results are being fetched. */
.jobs-ajax-loader {
	display: none;
	position: absolute;
	top: 90px;
	left: 0;
	right: 0;
	z-index: 5;
	justify-content: center;
}

.jobs-ajax-loader.is-active {
	display: flex;
}

.jobs-ajax-loader__spinner {
	width: 40px;
	height: 40px;
	border: 4px solid rgba(194, 26, 48, 0.15);
	border-top-color: #C21A30;
	border-radius: 50%;
	animation: jobs-ajax-spin 0.7s linear infinite;
}

@keyframes jobs-ajax-spin {
	to {
		transform: rotate(360deg);
	}
}

/* Type-ahead suggestion dropdown for the title/location search boxes. Rendered into
   document.body and positioned via JS (see search-typeahead.js) - position: fixed with
   viewport-relative top/left set inline, so a Bootstrap .card ancestor's
   overflow: hidden (border-radius clipping) can't cut it off. */
.search-typeahead-list {
	display: none;
	position: fixed;
	z-index: 1050;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
	max-height: 260px;
	overflow-y: auto;
	text-align: left;
}

.search-typeahead-list.is-active {
	display: block;
}

.search-typeahead-list button {
	display: block;
	width: 100%;
	padding: 10px 16px;
	border: 0;
	background: none;
	text-align: left;
	font-size: 0.85rem;
	color: #333;
	cursor: pointer;
}

.search-typeahead-list button:hover,
.search-typeahead-list button.is-highlighted {
	background: #f1f5f9;
	color: #C21A30;
}

/* Jobs listing sidebar filter toggle (mobile: collapsed by default, see index.blade.php). */
[data-bs-target="#jobFilterOptions"] .bx-chevron-down {
	transition: transform 0.2s ease;
}

[data-bs-target="#jobFilterOptions"][aria-expanded="true"] .bx-chevron-down {
	transform: rotate(180deg);
}

/* Red highlighted word/phrase in any CMS block heading (video, awards, values_grid, etc.)
   — mirrors cms.css's rule of the same name/color, which isn't loaded on these
   block-based pages (they use this stylesheet via landing.blade.php instead). */
body.cms-portal span.red {
	color: #E31837;
}