/* ----------------------------------------------------------------
	Custom CSS

	Add all your Custom Styled CSS here for New Styles or
	Overwriting Default Theme Styles for Better Handling Updates
-----------------------------------------------------------------*/
.my-custom-preloader {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #222;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

.my-custom-preloader img {
	width: 350px; /* Set the size of your preloader image */
}

.my-custom-preloader p {
	color: white;
	margin-top: 20px;
	font-size: 24px;
}

.my-custom-seperator {
	font-size: 18px;
	margin: 25px 0px 17px 0px;
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	color: var(--textSecondaryMainColor);
}

.my-custom-seperator::before,
.my-custom-seperator::after {
	content: "";
	width: 140px;
	border-bottom: 1px solid #c3c3c3;
}

.my-custom-seperator::before {
	margin-right: 1em;
}

.my-custom-seperator::after {
	margin-left: 1em;
}

@media (max-width: 767.98px) {
	.my-custom-portfolio-item-center {
		display: flex;
		margin-left: auto;
		margin-right: auto;
	}
	.inline-calendar.component-datepicker {
		justify-items:center;
		display: flex;
		margin-left: auto;
		margin-right: auto;
		font-size: larger;
	}
	
}

.my-custom-hidden {
	display: none;
}

.process-steps li {
	pointer-events: none;
}

.pdfobject-container {
	height: 80vh;
	border: 1px solid #ccc;
}

.chat-container {
	height: 60vh;
	background-color: white;
	border-radius: 8px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	display: flex;
	flex-direction: column;
}
.chat-box {
	flex: 1;
	overflow-y: auto;
	padding: 20px;
	border-bottom: 1px solid #e6e6e6;
}
.message-list {
	list-style: none;
	padding: 0;
}
.message-list li {
	display: flex;
	align-items: flex-end;
	margin-bottom: 15px;
}
.dropdown-menu li {
	margin-bottom: 0px;
}
.message-list li.reverse {
	flex-direction: row-reverse;
}
.chat-img {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	overflow: hidden;
	margin-right: 10px;
}
.chat-img.reverse {
	margin-left: 10px;
	margin-right: 0;
}
.chat-img img {
	width: 100%;
	height: auto;
}
.chat-content {
	background-color: #f1f1f1;
	padding: 10px 15px;
	border-radius: 10px;
	position: relative;
	max-width: 70%;
}
.chat-content h5 {
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 5px;
}
.chat-time {
	font-size: 12px;
	color: #999;
	text-align: right;
	margin-top: 5px;
}
.reverse .chat-content {
	background-color: #dcf8c6;
}
.chat-input {
	display: flex;
	padding: 15px;
	background-color: #f4f4f9;
}
.btn-link .bi-three-dots-vertical {
	font-size: 1rem; /* Adjust the size as needed */
	color: #000; /* Change the color if needed */
}

.inline-calendar.component-datepicker {
	justify-items:center;
	margin: 30px auto;
	margin-right: 5.5%;
	font-size: larger;
}

/* ----------------------------------------------------------------
	Website Landing Page Overhaul Styles
-----------------------------------------------------------------*/
:root {
	--clli-indigo: #0B7CBB;
	--clli-indigo-hover: #0869A0;
	--clli-orange: #3D9735;
	--clli-orange-hover: #2E7628;
	--glass-bg: rgba(255, 255, 255, 0.65);
	--glass-bg-dark: rgba(0, 0, 0, 0.45);
	--glass-border: rgba(255, 255, 255, 0.25);
	--premium-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	--premium-shadow-hover: 0 20px 40px rgba(0, 0, 0, 0.12);
}

/* Glassmorphism Cards */
.glass-panel {
	background: var(--glass-bg);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid var(--glass-border);
	box-shadow: var(--premium-shadow);
	border-radius: 20px;
	transition: all 0.3s ease;
}

.glass-panel-dark {
	background: var(--glass-bg-dark);
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.15);
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
	border-radius: 24px;
}

/* Hero Section */
.hero-glass-card {
	padding: 40px;
	max-width: 650px;
	border-radius: 24px;
}

/* Modern Course Categories */
.recipe-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.recipe-categories .recipe-category {
	flex: 1 1 calc(20% - 20px);
	min-width: 180px;
	height: 140px;
	border-radius: 18px !important;
	overflow: hidden;
	position: relative;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.08);
	border: 1px solid rgba(255,255,255,0.1);
}

@media (max-width: 991px) {
	.recipe-categories .recipe-category {
		flex: 1 1 calc(33.333% - 20px);
	}
}
@media (max-width: 575px) {
	.recipe-categories .recipe-category {
		flex: 1 1 calc(50% - 20px);
	}
}

.recipe-categories .recipe-category:hover {
	transform: translateY(-8px) scale(1.02);
	box-shadow: 0 12px 25px rgba(0, 0, 0, 0.18);
}

.recipe-category-inner {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	padding: 20px;
	background: linear-gradient(to top, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.05) 60%, rgba(0,0,0,0) 100%);
}

.recipe-category-info {
	color: #fff !important;
	font-family: 'Prompt', sans-serif;
	font-weight: 600;
	font-size: 16px;
	text-shadow: 0 1px 3px rgba(0,0,0,0.4);
	transition: transform 0.3s ease;
}

.recipe-categories .recipe-category:hover .recipe-category-info {
	transform: translateX(4px);
}

/* Recommended Course Cards Overhaul */
/* Override recipes.css border rules */
.recipe-items .row {
	border-top: none !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.recipe-items .row [class^="col-"] {
	border-right: none !important;
	border-bottom: none !important;
}


.recipe-items .card {
	border: 0 !important;
	border-radius: 20px !important;
	background: #fff;
	box-shadow: var(--premium-shadow);
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1) !important;
	height: 100%;
	overflow: hidden;
}

.recipe-items .card:hover {
	transform: translateY(-8px);
	box-shadow: var(--premium-shadow-hover);
}

.recipe-items .card .card-header {
	overflow: hidden;
	border-radius: 20px 20px 0 0;
	border: 0 !important;
	padding: 0 !important;
}

.recipe-items .card .card-header img {
	width: 100%;
	aspect-ratio: 1/1 !important;
	object-fit: cover;
	transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.recipe-items .card:hover .card-header img {
	transform: scale(1.06);
}

/* Badge overlay style */
.recipe-items .card-header .badge-overlay {
	position: absolute;
	top: 14px;
	right: 14px;
	z-index: 5;
	font-family: 'Prompt', sans-serif;
	font-size: 14px;
	font-weight: 600;
	padding: 8px 14px;
	border-radius: 10px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(255, 255, 255, 0.2);
}

.recipe-items .card-header .badge-overlay.bg-success {
	background: rgba(40, 167, 69, 0.9) !important;
	color: #fff !important;
}

.recipe-items .card-header .badge-overlay.bg-danger {
	background: rgba(220, 53, 69, 0.9) !important;
	color: #fff !important;
}

.recipe-items .card .badge {
	font-family: 'Prompt', sans-serif;
	font-size: 14px !important;
	font-weight: 600 !important;
	padding: 8px 14px !important;
	border-radius: 10px !important;
	box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.recipe-items .card .badge.bg-success {
	background: rgba(40, 167, 69, 0.85) !important;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(255,255,255,0.2);
}

.recipe-items .card .badge.bg-danger {
	background: rgba(220, 53, 69, 0.85) !important;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(255,255,255,0.2);
}

.recipe-items .card .badge.bg-info {
	background: rgba(23, 162, 184, 0.85) !important;
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border: 1px solid rgba(255,255,255,0.2);
}

.recipe-items .card-body {
	padding: 24px !important;
}

.recipe-items .course-card-category {
	font-size: 14px !important;
	letter-spacing: 0.8px !important;
	font-weight: 700;
	color: #64748B !important;
}

.recipe-items .card-title {
	font-family: 'Prompt', sans-serif;
	font-size: 18px !important;
	line-height: 1.5 !important;
	font-weight: 600 !important;
	margin-top: 10px !important;
	margin-bottom: 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	height: 54px !important; /* Fixed height for 2 lines of text at 18px font and 1.5 line-height */
}

.recipe-items .card-title a {
	color: #1A365D !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

.recipe-items .card-title a:hover {
	color: var(--clli-indigo) !important;
}

.card-stats-row {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 14px !important;
	color: #64748B;
}

.card-stats-row .badge-stat {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
}

.card-stats-row .badge-stat.likes {
	background-color: #FFF5F5;
	color: #E53E3E;
}

.card-stats-row .badge-stat.views {
	background-color: #F0FDF4;
	color: #15803D;
}

/* Feature Spotlight Layout */
.premium-spotlight {
	background: #fff;
	border-radius: 24px;
	box-shadow: var(--premium-shadow);
	padding: 48px;
	transition: box-shadow 0.3s ease;
}

.premium-spotlight:hover {
	box-shadow: var(--premium-shadow-hover);
}

.spotlight-img-wrap {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.spotlight-img-wrap img {
	transition: transform 0.8s ease;
}

.premium-spotlight:hover .spotlight-img-wrap img {
	transform: scale(1.03);
}

/* News Announcements Banners */
.owl-carousel.carousel-widget {
	border-radius: 20px;
	overflow: hidden;
	box-shadow: var(--premium-shadow);
}

.owl-carousel.carousel-widget img {
	transition: transform 0.5s ease;
}

.owl-carousel.carousel-widget a:hover img {
	transform: scale(1.01);
}

/* Satisfaction Survey Banner */
.survey-banner {
	background: linear-gradient(135deg, #EBF5FB 0%, #E8F8E8 100%);
	border-top: 1px solid rgba(11, 124, 187, 0.15);
	border-bottom: 1px solid rgba(11, 124, 187, 0.15);
	padding: 30px 0;
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}

.survey-banner::before {
	content: '';
	position: absolute;
	top: -50%;
	right: -20%;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(11, 124, 187, 0.08) 0%, rgba(11, 124, 187, 0) 70%);
	border-radius: 50%;
	pointer-events: none;
}

.survey-banner:hover {
	background: linear-gradient(135deg, #D6EEF8 0%, #D5F0D5 100%);
}

.survey-banner-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 15px;
	color: #1E3A5F;
	font-family: 'Prompt', sans-serif;
}

.survey-banner-inner strong {
	color: var(--clli-indigo);
}

.survey-banner-inner i {
	transition: transform 0.3s ease;
	color: var(--clli-indigo);
}

.survey-banner:hover .survey-banner-inner i {
	transform: translateX(6px);
}

/* Sticky Sidebar Inner Container */
.sticky-sidebar-inner {
	position: sticky;
	top: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

@media (min-width: 992px) {
	.sticky-sidebar-inner {
		min-height: calc(100vh - 120px);
		padding: 48px;
	}
}
@media (max-width: 991px) {
	.sticky-sidebar-inner {
		min-height: auto;
		padding: 60px 24px;
	}
}

/* Public Course Page Styling Overhaul */
.course-filter-card {
	border-radius: 24px !important;
	border: 1px solid rgba(226, 232, 240, 0.8) !important;
	box-shadow: 0 10px 30px rgba(30, 27, 75, 0.04) !important;
	background: #ffffff;
}

.course-filter-card label {
	font-family: 'Prompt', sans-serif;
	font-weight: 600;
	color: #1A365D;
	font-size: 14px;
	margin-bottom: 8px;
}

.course-filter-card .form-control,
.course-filter-card .form-select {
	border-radius: 12px !important;
	border: 1.5px solid #E2E8F0 !important;
	padding: 10px 16px;
	font-family: 'Prompt', sans-serif;
	font-size: 14px;
	color: #334155;
	transition: all 0.2s ease;
}

.course-filter-card .form-control:focus,
.course-filter-card .form-select:focus {
	border-color: var(--clli-indigo) !important;
	box-shadow: 0 0 0 4px rgba(11, 124, 187, 0.1) !important;
}

/* Category Sidebar Widget */
.category-sidebar-widget {
	background: #F8FAFC;
	border-radius: 20px;
	padding: 24px;
	border: 1px solid #EEF2F6;
}

.category-sidebar-widget ul::-webkit-scrollbar {
	width: 5px;
}

.category-sidebar-widget ul::-webkit-scrollbar-track {
	background: #f8fafc;
	border-radius: 10px;
}

.category-sidebar-widget ul::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 10px;
}

.category-sidebar-widget ul::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}

.category-sidebar-widget h4 {
	font-family: 'Prompt', sans-serif;
	font-weight: 700;
	color: #1A365D;
	font-size: 18px;
	margin-bottom: 20px;
	letter-spacing: 0.5px;
	position: relative;
	padding-bottom: 10px;
	border-bottom: 0 !important;
}

.category-sidebar-widget h4::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 30px;
	height: 3px;
	background: var(--clli-orange);
	border-radius: 2px;
}

.category-sidebar-widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
	max-height: calc(100vh - 240px);
	overflow-y: auto;
	padding-right: 8px; /* space between list items and scrollbar */
}

.category-sidebar-widget ul li {
	margin-bottom: 8px;
}

.category-sidebar-widget ul li a {
	display: flex;
	align-items: center;
	padding: 11px 16px;
	border-radius: 10px;
	color: #475569;
	font-family: 'Prompt', sans-serif;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
	transition: all 0.2s ease;
	line-height: 1.5;
}

.category-sidebar-widget ul li a:hover {
	color: var(--clli-indigo);
	background: rgba(11, 124, 187, 0.05);
	transform: translateX(4px);
}

.category-sidebar-widget ul li.active-tag a {
	color: #ffffff !important;
	background: var(--clli-indigo);
	box-shadow: 0 4px 12px rgba(11, 124, 187, 0.25);
}

.category-sidebar-widget ul li.active-tag a:hover {
	transform: none;
}

/* Feature Spotlight Responsive Styling */
@media (max-width: 991.98px) {
	.premium-spotlight {
		padding: 32px !important;
	}
}

@media (max-width: 767.98px) {
	.premium-spotlight {
		padding: 24px !important;
	}
}

/* Payment Modal Redesign */
.payment-modal-header {
	background: #fff;
	border-bottom: 1px solid #EEF2F6 !important;
	padding: 24px 32px !important;
}

.payment-modal-title {
	font-family: 'Prompt', sans-serif;
	font-weight: 700;
	color: #1A365D;
	font-size: 20px;
}

.payment-bank-card {
	background: #fff;
	border: 1px solid #EEF2F6;
	border-radius: 16px;
	padding: 20px;
	transition: all 0.3s ease;
	position: relative;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02);
}

.payment-bank-card:hover {
	border-color: rgba(11, 124, 187, 0.2);
	box-shadow: 0 10px 25px rgba(11, 124, 187, 0.08);
	transform: translateY(-2px);
}

.payment-bank-logo {
	max-height: 40px;
	max-width: 40px;
	border-radius: 50%;
	object-fit: contain;
	border: 1px solid #F1F5F9;
	background: #fff;
}

.payment-bank-number {
	font-family: 'Prompt', sans-serif;
	font-size: 18px;
	font-weight: 700;
	color: #1A365D;
	letter-spacing: 0.5px;
}

.payment-copy-btn {
	background: #EEF2F6;
	border: none;
	border-radius: 8px;
	color: #64748B;
	font-size: 12px;
	font-weight: 600;
	padding: 6px 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	transition: all 0.2s ease;
	cursor: pointer;
}

.payment-copy-btn:hover {
	background: var(--clli-indigo);
	color: #fff !important;
}

.payment-copy-btn:focus,
.payment-copy-btn:active {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}

.payment-copy-btn.copied {
	background: #3D9735 !important;
	color: #ffffff !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}

.payment-summary-card {
	background: #F8FAFC;
	border-radius: 16px;
	padding: 24px;
	border: 1px dashed #CBD5E1;
}

.payment-summary-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}

.payment-summary-row:last-child {
	margin-bottom: 0;
	padding-top: 16px;
	border-top: 1px solid #E2E8F0;
}

.payment-summary-label {
	font-size: 14px;
	color: #64748B;
	font-weight: 500;
}

.payment-summary-value {
	font-size: 16px;
	font-weight: 600;
	color: #1A365D;
}

.payment-summary-total {
	font-size: 22px;
	font-weight: 700;
	color: var(--clli-indigo);
}

.payment-upload-zone {
	border: 2px dashed #CBD5E1;
	border-radius: 16px;
	padding: 24px;
	text-align: center;
	background: #fff;
	transition: all 0.3s ease;
}

.payment-upload-zone:hover {
	border-color: var(--clli-indigo);
	background: rgba(11, 124, 187, 0.01);
}

/* Premium Recommendation Card Row Styling */
.recom-container {
	border-radius: 24px;
	overflow: visible !important;
}

.recom-sidebar-col {
	align-self: stretch;
	border-top-left-radius: 24px;
	border-bottom-left-radius: 24px;
}

.recom-content-col {
	border-top-right-radius: 24px;
	border-bottom-right-radius: 24px;
}

@media (min-width: 1200px) {
	.recom-sidebar-col .sticky-sidebar-inner {
		padding: 36px 24px;
	}

	.recom-sidebar-col h1 {
		font-size: clamp(1.9rem, 2.25vw, 2.4rem) !important;
		line-height: 1.18;
	}
}

@media (max-width: 991.98px) {
	.recom-sidebar-col {
		border-top-left-radius: 24px;
		border-top-right-radius: 24px;
		border-bottom-left-radius: 0;
	}
	.recom-content-col {
		border-bottom-left-radius: 24px;
		border-bottom-right-radius: 24px;
		border-top-right-radius: 0;
	}
}

@media (max-width: 575.98px) {
	.recom-content-col {
		padding: 18px !important;
	}
}

/* Fix transparent header top gap layout issue */
#header.transparent-header #header-wrap {
	top: 0 !important;
}

/* Custom Language Selector styling to fix overlapping/double arrows and match design aesthetics */
#languageSelect.form-select {
	-webkit-appearance: none !important;
	-moz-appearance: none !important;
	appearance: none !important;
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23475569' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e") !important;
	background-repeat: no-repeat !important;
	background-position: right 10px center !important;
	background-size: 12px 12px !important;
	padding-right: 28px !important;
	padding-left: 12px !important;
	padding-top: 6px !important;
	padding-bottom: 6px !important;
	border-radius: 8px !important;
	border: 1px solid #e2e8f0 !important;
	background-color: #fff !important;
	font-family: 'Prompt', sans-serif !important;
	font-weight: 500 !important;
	color: #475569 !important;
	cursor: pointer !important;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
	transition: all 0.2s ease !important;
}

#languageSelect.form-select:focus {
	border-color: var(--clli-indigo) !important;
	box-shadow: 0 0 0 2px rgba(11, 124, 187, 0.15) !important;
	outline: 0 !important;
}

#languageSelect.form-select:hover {
	border-color: #cbd5e1 !important;
	color: #1e293b !important;
}

