*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Roboto', sans-serif;
	transition: background-color 0.5s ease, color 0.5s ease;
}

/* Image loading and animations */
img {
	transition: opacity 0.5s ease-in-out, transform 0.5s ease-in-out;
}

.img-loading {
	opacity: 0;
	transform: scale(0.95);
}

.img-loaded {
	opacity: 1;
	transform: scale(1);
}

html{
	scroll-behavior: smooth;
	
	/* Variables For Light Mode */
	--primary-clr: #6366f1;
	--primary-medium-clr: #e0e7ff;
	--primary-light-clr: #eef2ff;
	--bg-clr-1: #ffffff;
	--bg-clr-2: #f9fafb;
	--bg-clr-3: #f3f4f6;
	--dark-heading-clr: #1e293b;
	--dark-text-clr: #64748b;
	--light-heading-clr: #f1f5f9;
	--light-text-clr: #e2e8f0;
	--shadow-clr: rgba(0, 0, 0, 0.1);
	--border-clr: #e5e7eb;
}

/* Dark Mode Variables */
html.dark-mode {
	--primary-clr: #818cf8;
	--primary-medium-clr: #1e1b4b;
	--primary-light-clr: #1e1b4b;
	--bg-clr-1: #0f172a;
	--bg-clr-2: #1e293b;
	--bg-clr-3: #334155;
	--dark-heading-clr: #f1f5f9;
	--dark-text-clr: #cbd5e1;
	--light-heading-clr: #f1f5f9;
	--light-text-clr: #cbd5e1;
	--shadow-clr: rgba(0, 0, 0, 0.5);
	--border-clr: #475569;
}

/* Quick transition on theme switch */
html.theme-transition,
html.theme-transition *,
html.theme-transition *:before,
html.theme-transition *:after {
	transition-delay: 0 !important;
	transition-duration: 0.3s !important;
}

/*   === Global Styling Starts ===   */
body {
	width: 100%;
	min-height: 100vh;
	background-color: var(--bg-clr-1);
	color: var(--dark-text-clr);
}

/* Theme Toggle Switch */
.theme-switch-container {
	display: flex;
	align-items: center;
	background-color: var(--bg-clr-2);
	padding: 5px 10px;
	border-radius: 30px;
	box-shadow: 0 2px 4px var(--shadow-clr);
	transition: all 0.3s ease;
	margin-right: 15px;
}

.theme-switch-container:hover {
	box-shadow: 0 4px 8px var(--shadow-clr);
	transform: translateY(-2px);
}

.theme-switch {
	position: relative;
	width: 40px;
	height: 20px;
	margin: 0 5px;
}

.theme-switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: var(--bg-clr-3);
	transition: 0.4s;
	border-radius: 30px;
}

.slider:before {
	position: absolute;
	content: "";
	height: 14px;
	width: 14px;
	left: 3px;
	bottom: 3px;
	background-color: var(--light-heading-clr);
	transition: 0.4s;
	border-radius: 50%;
}

input:checked + .slider {
	background-color: var(--primary-clr);
}

input:checked + .slider:before {
	transform: translateX(20px);
}

.theme-icon {
	color: var(--dark-text-clr);
	font-size: 18px;
	margin: 0 8px;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 10px;
	border-radius: 50%;
}

.theme-icon:hover {
	transform: rotate(15deg) scale(1.1);
	background-color: rgba(99, 102, 241, 0.1);
}

.theme-icon i {
	transition: transform 0.3s ease, color 0.3s ease;
}

.theme-icon:hover i {
	color: var(--primary-clr);
}

/* Active theme icon styles */
html:not(.dark-mode) #light-mode-toggle {
	background-color: var(--primary-medium-clr);
	color: var(--light-heading-clr);
	animation: pulse 2s infinite;
}

html.dark-mode #dark-mode-toggle {
	background-color: var(--primary-medium-clr);
	color: var(--light-heading-clr);
	animation: pulse 2s infinite;
}

button.btn{
	padding: 12px 20px;
	background-color: var(--primary-clr);
	color: var(--light-heading-clr);
	font-size: 15px;
	border: 1px solid transparent;
	border-radius: 8px;
	cursor: pointer;
	transition: all 0.3s;
	box-shadow: 0 4px 6px var(--shadow-clr);
}
button.btn:hover{
	background-color: transparent;
	color: var(--primary-clr);
	border: 1px solid var(--primary-clr);
	transform: translateY(-3px);
	box-shadow: 0 10px 15px var(--shadow-clr);
}
.section-header h1{
	position: relative;
	font-size: 36px;
	letter-spacing: 1px;
	color: var(--dark-heading-clr);
	margin-bottom: 25px;
	font-weight: 700;
}
.section-header h1::before{
	position: absolute;
	content: '';
	width: 100px;
	height: 1px;
	left: 0;
	top: calc(100% + 5px);
	background-color: var(--dark-text-clr);
}
.section-header h1::after{
	position: absolute;
	content: '';
	width: 50px;
	height: 3px;
	left: 0;
	top: calc(100% + 4px);
	background-color: var(--primary-clr);
}
.section-header p{
	color: var(--dark-text-clr);
	margin-bottom: 40px;
	max-width: 700px;
	line-height: 1.6;
}
/*   === Global Styling Ends ===   */

.website-container{
	width: 100%;
	min-height: 100vh;
	margin: 0px auto;
	background-color: var(--bg-clr-1);
}

/* Animation Classes */
.fade-in {
	opacity: 0;
	transition: opacity 1s ease-in;
}

.slide-in-left {
	opacity: 0;
	transform: translateX(-100px);
	transition: opacity 1s ease-out, transform 1s ease-out;
}

.slide-in-right {
	opacity: 0;
	transform: translateX(100px);
	transition: opacity 1s ease-out, transform 1s ease-out;
}

.slide-in-bottom {
	opacity: 0;
	transform: translateY(50px);
	transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.bounce {
	animation: bounce 1s ease infinite;
}

.pulse {
	animation: pulse 2s ease infinite;
}

.scale-in {
	opacity: 0;
	transform: scale(0.8);
	transition: opacity 0.5s ease, transform 0.5s ease;
}

/* Animation trigger class */
.animate, 
.fade-in.animate, 
.slide-in-left.animate, 
.slide-in-right.animate, 
.slide-in-bottom.animate,
.scale-in.animate {
	opacity: 1;
	transform: translate(0) scale(1);
}

@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

@keyframes slideInLeft {
	from {
		transform: translateX(-100px);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideInRight {
	from {
		transform: translateX(100px);
		opacity: 0;
	}
	to {
		transform: translateX(0);
		opacity: 1;
	}
}

@keyframes slideInBottom {
	from {
		transform: translateY(100px);
		opacity: 0;
	}
	to {
		transform: translateY(0);
		opacity: 1;
	}
}

@keyframes bounce {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-10px);
	}
}

@keyframes pulse {
	0% {
		transform: scale(1);
	}
	50% {
		transform: scale(1.05);
	}
	100% {
		transform: scale(1);
	}
}

@keyframes scaleIn {
	from {
		transform: scale(0.8);
		opacity: 0;
	}
	to {
		transform: scale(1);
		opacity: 1;
	}
}

/* Button hover animations */
button.btn {
	position: relative;
	overflow: hidden;
	z-index: 1;
}

button.btn::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.2);
	transition: all 0.3s;
	z-index: -1;
}

button.btn:hover::before {
	left: 0;
}

/* Card hover effects */
.course-card, .category-item, .service-box {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.course-card:hover, .category-item:hover, .service-box:hover {
	transform: translateY(-10px);
	box-shadow: 0 15px 30px var(--shadow-clr);
}

/* Theme switch animation */
.theme-switch-container {
	transition: background-color 0.5s ease, box-shadow 0.5s ease;
}

.theme-switch-container:hover {
	box-shadow: 0 4px 8px var(--shadow-clr);
	transform: translateY(-2px);
}

.slider:before {
	transition: 0.4s cubic-bezier(0.68, -0.55, 0.27, 1.55);
}

/*   === Home Section Styling Starts ===   */
section.home{
	position: relative;
	width: 100%;
	min-height: 100vh;
	background-color: var(--primary-light-clr);
	overflow: hidden;
}
.home .main-navbar{
	position: absolute;
	width: 100%;
	height: 30vh;	
	max-height: 80px;
	background-color: var(--primary-clr);
	padding: 0px 8%;
	margin: 0px auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	z-index: 100;
	box-shadow: 0 4px 6px var(--shadow-clr);
	backdrop-filter: blur(10px);
}
.home.active .main-navbar{
	position: fixed;
	top: 0;
	margin: 0px auto;
	box-shadow: 0 4px 10px var(--shadow-clr);
	animation: showMenu 0.6s ease-in;
}
@keyframes showMenu{
	from{
		transform: translateY(-100px);
	}
	to{
		transform: translateY(0px);
	}
}
.main-navbar .logo{
	text-decoration: none;
	margin-right: auto;
}
.main-navbar .logo img{
	width: 120px;
	height: auto;
	transition: transform 0.3s ease;
	margin-left: 0;
}
.main-navbar .logo img:hover {
	transform: scale(1.05);
}
.main-navbar .nav-list{
	list-style: none;
}
.main-navbar .nav-list li{
	display: inline-block;
	margin: 0px 15px;
}
.main-navbar .nav-list li a{
	position: relative;
	color: var(--light-heading-clr);
	font-weight: 500;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 1px;
	padding: 5px 0;
	transition: all 0.3s ease;
}
.main-navbar .nav-list li a::after{
	position: absolute;
	content: '';
	width: 100%;
	height: 2px;
	background-color: var(--light-heading-clr);
	left: 0;
	top: calc(100% + 2px);
	transition: all 0.3s;
	transform: scaleX(0);
}
.main-navbar .nav-list li a:hover::after{
	transform: scaleX(1);
}
.main-navbar .get-started-btn{
	background-color: var(--bg-clr-1);
	color: var(--primary-clr);
	font-weight: 600;
	box-shadow: 0 4px 6px var(--shadow-clr);
}
.main-navbar .get-started-btn:hover{
	background-color: transparent;
	color: var(--light-heading-clr);
	border: 1px solid var(--light-heading-clr);
	transform: translateY(-3px);
}
.main-navbar .menu-btn{
	min-width: 30px;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	cursor: pointer;
	display: none;
}
.main-navbar .menu-btn span{
	position: relative;
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--light-heading-clr);
	border-radius: 5px;
	transition: all 0.4s;
}
.main-navbar .menu-btn span::before,
.main-navbar .menu-btn span::after{
	position: absolute;
	content: '';
	top: 0;
	left: 0;
	width: 80%;
	height: 100%;
	background-color: var(--light-heading-clr);
	transition: all 0.4s;
}
.main-navbar .menu-btn span::before{
	transform: translateY(-9px);
}
.main-navbar .menu-btn span::after{
	transform: translateY(9px);
}
.home .banner{
	width: 100%;
	min-height: 100vh;
	padding: 100px 8% 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.home .banner .banner-desc{
	position: relative;
	flex-basis: 50%;
	max-width: 700px;
	z-index: 2;
}
.banner .banner-desc h2{
	font-size: 48px;
	color: var(--dark-heading-clr);
	letter-spacing: 1px;
	line-height: 1.4;
	margin-bottom: 10px;
}
.banner .banner-desc p{
	color: var(--dark-text-clr);
	line-height: 1.4;
	margin-bottom: 50px;
}
.banner .banner-desc .search-bar{
	position: relative;
	width: 400px;
	height: 50px;
	display: flex;
	align-items: center;
	overflow: hidden;
}
.banner-desc .search-bar input{
	width: 100%;
	height: 100%;
	padding: 0px 60px 0px 10px;
	font-size: 17px;
	letter-spacing: 1px;
	background-color: var(--primary-light-clr);
	color: var(--dark-text-clr);
	border: 2px solid #c1dbcc;
	border-radius: 5px;
	outline-color: var(--primary-clr);
}
.banner-desc .search-bar i{
	position: absolute;
	height: 100%;
	width: 50px;
	background-color: var(--primary-clr);
	right: 0;
	color: var(--light-heading-clr);
	border-radius: 0px 5px 5px 0px;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
}
.home .banner .banner-img{
	position: relative;
	flex-basis: 50%;
	display: flex;
	justify-content: flex-end;
	z-index: 1;
}
.banner-img .banner-img-container{
	position: relative;
	width: 400px;
	z-index: 2;
}
.banner-img .banner-img-container img{
	width: 100%;
	height: auto;
}
.banner-img .banner-img-container .states{
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.banner-img-container .states .total-courses{
	position: absolute;
	padding: 6px 10px 6px 6px;
	background-color: var(--light-heading-clr);
	border-radius: 5px;
	bottom: 15%;
	left: -80px;
	display: flex;
	align-items: center;
	box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
}
.states .total-courses .icon{
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--primary-clr);
	margin-right: 7px;
}
.states .total-courses .icon i{
	font-size: 22px;
	color: var(--light-heading-clr);
}
.states .total-courses .desc{
	display: flex;
	flex-direction: column;
}
.states .total-courses .desc span:nth-child(1){
	font-size: 24px;
	font-weight: 600;
	letter-spacing: 1px;
	margin-bottom: 2px;
	color: black;
}
.states .total-courses .desc span:nth-child(2){
	font-size: 15px;
	color: black;
}
.banner-img-container .states .courses-ratings{
	position: absolute;
	width: 90px;
	height: 90px;
	padding: 10px;
	border-radius: 50%;
	background-color: var(--light-heading-clr);
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	top: 80px;
	right: 5px;
	box-shadow: 0px 0px 15px 0px rgba(0,0,0,0.3);
}
.states .courses-ratings span:nth-child(1){
	color: black;
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}
.states .courses-ratings span:nth-child(1) i{
	color: gold;
	font-size: 14px;
}
.states .courses-ratings span:nth-child(2){
	color: black;
	font-size: 15px;
	text-align: center;
}
.banner-img .banner-img-container .pattern{
	position: absolute;
	top: 20px;
	left: -40px;
	z-index: -1;
}
.banner-img-container .pattern img{
	width: 150px;
	height: auto;
	opacity: 0.4;
}
/*   === Home Section Styling Ends ===   */

/*   === Partners Section Styling Starts ===   */
section.partners{
	width: 100%;
	padding: 30px 8%;
	background-color: var(--primary-medium-clr);
}
.partners h3{
	margin-bottom: 40px;
	color: var(--dark-heading-clr);
	font-size: 22px;
}
.partners .partners-slider .brand-item{
	text-align: center;
	background-color: var(--light-heading-clr);
	padding: 5px;
}
.partners .partners-slider .brand-item img{
	width: 120px;
	display: inline-block;
}
.owl-carousel .owl-nav{
	position: absolute;
	right: 0;
	top: -80px;
}
.owl-carousel .owl-nav button{
	border-radius: 5px !important;
}
.owl-carousel .owl-nav .owl-prev i,
.owl-carousel .owl-nav .owl-next i{
	padding: 8px 14px !important;
	border-radius: 5px;
	font-size: 16px !important;
	background-color: var(--primary-clr) !important;
	color: var(--light-heading-clr);
	border: 1px solid transparent;
	cursor: pointer;
	transition: 0.3s;
}
.owl-carousel .owl-nav .owl-prev i:hover,
.owl-carousel .owl-nav .owl-next i:hover{
	background-color: var(--light-heading-clr) !important;
	color: var(--primary-clr);
	border: 1px solid var(--primary-clr);
}
.owl-carousel .owl-dots{
	margin-top: 20px;
}
.owl-carousel .owl-dots .owl-dot span{
	padding: 4px !important;
}
.owl-carousel .owl-dots .owl-dot.active span{
	background-color: var(--primary-clr) !important;
}
/*   === Partners Section Styling Ends ===   */

/*   === Services Section Styling Starts ===   */
section.services{
	width: 100%;
	padding: 100px 8% 20px;
}
.services .services-contents{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.services-contents .service-box{
	flex-basis: calc(calc(100% / 3) - 2%);
	padding: 25px 20px;
	cursor: pointer;
	transition: all 0.3s;
}
.services-contents .service-box:hover{
	box-shadow: 0px 0px 25px rgba(0,0,0,0.2);
}
.service-box .service-icon{
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	background-color: var(--primary-clr);
	outline: 1px solid var(--primary-medium-clr);
	outline-offset: 10px;
}
.service-box .service-icon i{
	font-size: 24px;
	color: var(--light-heading-clr);
}
.service-box .service-desc{
	margin-top: 25px;
}
.service-box .service-desc h2{
	margin-bottom: 10px;
	color: var(--dark-heading-clr);
	font-size: 22px;
}
.service-box .service-desc p{
	line-height: 1.4;
	color: var(--dark-text-clr);
}
.service-box:nth-child(1) .service-icon{
	background-color: #fef0ef;
	outline-color: #fef0ef;
}
.service-box:nth-child(1) .service-icon i{
	color: #f76250;
}
.service-box:nth-child(2) .service-icon{
	background-color: #e8f9ef;
	outline-color: #e8f9ef;
}
.service-box:nth-child(2) .service-icon i{
	color: #2f9355;
}
.service-box:nth-child(3) .service-icon{
	background-color: #f1f0fe;
	outline-color: #f1f0fe;
}
.service-box:nth-child(3) .service-icon i{
	color: #5a49f3;
}
/*   === Services Section Styling Ends ===   */

/*   === Courses Section Styling Starts ===   */
section.courses{
	width: 100%;
	padding: 100px 8% 20px;
}
.courses .section-header{
	position: relative;
	display: flex;
	justify-content: space-between;
}
.courses .section-header .courses-btn{
	position: absolute;
	right: 0;
	bottom: 40px;
	padding: 10px 26px;
}
.courses .course-contents{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.courses .course-contents .course-card{
	flex-basis: calc(calc(100% / 3) - 1.2%);
	border: 1px solid #eee;
	padding: 10px;
	border-radius: 5px;
	margin-bottom: 20px;
	cursor: pointer;
	transition: all 0.3s;
}
.courses .course-contents .course-card:hover{
	box-shadow: 0px 0px 15px rgba(0,0,0,0.1), 0px 0px 25px rgba(0,0,0,0.2);
}
.course-contents .course-card img{
	width: 100%;
	height: 250px;
	object-fit: cover;
	border-radius: 5px;
}
.course-contents .course-card .category{
	position: relative;
	display: flex;
	justify-content: space-between;
	padding: 10px 0px;
}
.course-card .category img{
	position: absolute;
	width: 50px;
	height: 50px;
	object-fit: cover;
	border-radius: 50%;
	right: 15px;
	top: -50%;
	outline: 1px solid var(--primary-clr);
	outline-offset: 3px;
}
.course-card .category .subject{
	padding: 8px 10px;
	background-color: var(--primary-light-clr);
	border-radius: 5px;
}
.course-card .category .subject h3{
	font-size: 18px;
	font-weight: 500;
	color: var(--primary-clr);
}
.course-card .course-title{
	font-size: 20px;
	color: var(--dark-heading-clr);
}
.course-card .course-desc{
	margin: 20px 0px;
	display: flex;
	justify-content: space-between;
}
.course-card .course-desc span{
	font-size: 14px;
	font-weight: 500;
	color: var(--dark-text-clr);
}
.course-card .course-desc span i{
	color: var(--primary-clr);
}
.course-card .course-ratings{
	padding: 15px 0px 0px;
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #ccc;
}
.course-card .course-ratings span{
	color: var(--primary-clr);
	font-size: 18px;
	font-weight: bold;
}
.course-card .course-ratings span:nth-child(1) i{
	color: gold;
	font-size: 14px;
}
.course-card .course-ratings span b{
	font-size: 24px;
}
/*   === Courses Section Styling Ends ===   */

/*   === Courses Categories Section Styling Starts ===   */
section.categories{
	width: 100%;
	padding: 100px 8% 20px;
}
.categories .categories-contents{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.categories-contents .category-item{
	flex-basis: calc(calc(100% / 4) - 1%);
	background-color: var(--primary-light-clr);
	padding: 25px 15px;
	border-radius: 5px;
	display: flex;
	flex-direction: column;
	align-items: center;
	cursor: pointer;
	transition: all 0.3s;
}
.categories-contents .category-item:hover{
	box-shadow: 0px 0px 10px rgba(32, 130, 69, 0.2);
	transform: translateY(-3px);
}
.category-item .category-icon{
	width: 50px;
	height: 50px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--primary-clr);
}
.category-item .category-icon i{
	color: var(--light-heading-clr);
	font-size: 20px;
}
.category-item .category-desc{
	margin-top: 20px;
	text-align: center;
}
.category-item .category-desc h3{
	color: var(--dark-heading-clr);
	font-size: 20px;
	margin-bottom: 10px;
}
.category-item .category-desc p{
	color: var(--dark-text-clr);
	font-size: 15px;
	line-height: 1.4;
}
/*   === Courses Categories Section Styling Ends ===   */

/*   === Teacher Section Styling Starts ===   */
section.instructor{
	width: 100%;
	padding: 100px 8% 20px;
}
.instructor .instructor-container{
	width: 100%;
	padding: 70px 8%;
	background-color: var(--primary-light-clr);
	border-radius: 0px 100px 0px 100px;
}
.instructor-container h2{
	font-size: 24px;
	color: var(--dark-heading-clr);
}
.instructor-container p{
	margin: 20px 0px 35px;
	color: var(--dark-text-clr);
}
/*   === Teacher Section Styling Ends ===   */

/*   === Testimonials Section Styling Starts ===   */
section.testimonials{
	width: 100%;
	padding: 100px 8%;
}
.testimonials .section-header{
	width: 70%;
	max-width: 700px;
}
.testimonials-slider .testimonials-item{
	position: relative;
	padding: 20px 25px;
	background-color: var(--primary-light-clr);
}
.testimonials-item .profile{
	display: flex;
	align-items: center;
}
.testimonials-item .profile .profile-image{
	width: 55px;
	height: 55px;
	border-radius: 50%;
	overflow: hidden;
	margin-right: 15px;
}
.testimonials-item .profile .profile-image img{
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}
.testimonials-item .profile .profile-desc{
	display: flex;
	flex-direction: column;
}
.profile .profile-desc span:nth-child(1){
	font-size: 24px;
	font-weight: bold;
	color: var(--primary-clr);
}
.profile .profile-desc span:nth-child(2){
	font-size: 15px;
	color: var(--dark-heading-clr);
}
.testimonials-item > p{
	margin: 15px 0px;
	font-size: 14px;
	line-height: 1.5;
	color: var(--dark-text-clr);
}
.testimonials-item .quote{
	text-align: center;
}
.testimonials-item .quote i{
	font-size: 25px;
	color: var(--dark-text-clr);
	margin-right: 20px;
}
.testimonials-item .ratings{
	margin-top: 20px;
}
.testimonials-item .ratings i{
	font-size: 17px;
	color: gold;
	cursor: pointer;
}
/*   === Testimonials Section Styling Ends ===   */

/*   === Footer Section Styling Starts ===   */
section.footer{
	width: 100%;
	padding: 70px 8% 30px;
	background-color: var(--primary-clr);
}
.footer .footer-contents{
	width: 100%;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 50px;
}
.footer-contents .footer-col{
	flex-basis: calc(calc(100% / 4) - 20px);
}
.footer-contents .footer-col .col-title{
	min-height: 60px;
	display: flex;
	align-items: flex-end;
	margin-bottom: 30px;
}
.footer-col .col-title h3{
	font-size: 24px;
	color: var(--light-heading-clr);
}
.footer-col .col-contents{
	display: flex;
	flex-direction: column;
}
.footer-col-1 .col-title img{
	width: 120px;
}
.footer-col-1 .col-contents p{
	color: var(--light-text-clr);
	font-size: 15px;
	line-height: 1.3;
	margin-bottom: 15px;
}
.footer-col-2 .col-contents .contact-row{
	margin-bottom: 15px;
	display: flex;
	flex-direction: column;
}
.footer-col-2 .col-contents .contact-row span{
	color: var(--light-text-clr);
	font-size: 16px;
}
.footer-col-2 .col-contents .contact-row span:nth-child(1){
	color: var(--light-heading-clr);
	font-size: 17px;
	font-weight: 500;
	margin-bottom: 2px;
}
.footer-col-3 .col-contents a{
	text-decoration: none;
	color: var(--light-text-clr);
	margin-bottom: 20px;
	align-self: flex-start;
	transition: all 0.3s;
}
.footer-col-3 .col-contents a:hover{
	letter-spacing: 2px;
}
.footer-col-4 .col-contents input{
	width: 100%;
	padding: 15px;
	background-color: var(--light-heading-clr);
	color: var(--dark-text-clr);
	border: none;
	border-radius: 5px;
}
.footer-col-4 .col-contents .newsletter-btn{
	background-color: var(--light-heading-clr);
	color: var(--primary-clr);
	margin-top: 20px;
}
.footer-col-4 .col-contents .newsletter-btn:hover{
	background-color: transparent;
	color: var(--light-heading-clr);
	border: 1px solid var(--light-heading-clr);
}
.footer .copy-rights{
	padding: 30px 0px 0px;
	border-top: 1px solid var(--light-text-clr);
	text-align: center;
}
.footer .copy-rights p{
	color: var(--primary-light-clr);
}
.footer .copy-rights p b{
	color: yellow;
}
/*   === Footer Section Styling Ends ===   */

/*   === Media Query Starts ===   */
@media(max-width: 968px){
	.nav-actions {
		position: absolute;
		right: 80px;
		top: 50%;
		transform: translateY(-50%);
	}
	
	.theme-switch-container {
		margin-right: 10px;
	}

	.main-navbar .get-started-btn {
		padding: 8px 12px;
		font-size: 14px;
	}
	
	/* Home Section */
	.main-navbar .menu-btn{
		display: flex;
		margin-left: 40px;
		z-index: 101;
	}
	.main-navbar .menu-btn.active span,
	.main-navbar .menu-btn.active span::before,
	.main-navbar .menu-btn.active span::after{
		width: 100%;
	}
	.main-navbar .menu-btn.active span::before{
		transform: rotate(45deg) translateY(0px);
	}
	.main-navbar .menu-btn.active span::after{
		transform: rotate(-45deg) translateY(0px);
	}
	.main-navbar .menu-btn.active span{
		background-color: transparent;
	}
	.main-navbar .nav-list{
		position: fixed;
		width: 100%;
		height: 100vh;
		top: 0;
		/*right: 0;*/
		right: -100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		background-color: var(--primary-clr);
		transition: right 0.3s cubic-bezier(.15, .61, .94, .25);
		z-index: 100;
	}
	.main-navbar .nav-list.active{
		right: 0;
	}
	.main-navbar .nav-list li{
		margin: 25px 0px 0px;
	}
	.main-navbar .nav-list li:nth-child(1){
		margin-top: 180px;
	}
	.main-navbar .nav-list li a{
		font-size: 20px;
		letter-spacing: 1px;
	}
	.main-navbar .get-started-btn-container{
		margin-left: auto;
	}
	.home .banner{
		flex-direction: column-reverse;
		justify-content: flex-start;
		align-items: flex-start;
	}
	.home .banner .banner-desc,
	.home .banner .banner-img{
		flex-basis: 100%;
	}
	.home .banner .banner-img{
		align-self: center;
		margin-bottom: 50px;
	}
	/* Services Section */
	.services-contents .service-box{
		flex-basis: calc(calc(100% / 2) - 2%);
	}
	.services-contents .service-box:not(:last-child){
		margin-bottom: 20px;
	}
	/* Courses Section */
	.courses .course-contents .course-card{
		flex-basis: calc(calc(100% / 2) - 1.2%);
	}
	.courses .section-header{
		flex-direction: column;
	}
	.courses .section-header .courses-btn{
		position: relative;
		align-self: flex-start;
		margin-top: 20px;
	}
	/* Courses Categories Section */
	.categories-contents .category-item{
		flex-basis: calc(calc(100% / 2) - 1%);
		margin-bottom: 15px;
	}
	/* Footer Section */
	.footer-contents .footer-col{
	flex-basis: calc(calc(100% / 2) - 20px);
	}
}

@media(max-width: 768px){
	.nav-actions {
		right: 70px;
	}
	
	.theme-switch {
		width: 36px;
		height: 18px;
	}
	
	.slider:before {
		height: 12px;
		width: 12px;
	}
	
	input:checked + .slider:before {
		transform: translateX(18px);
	}
	
	/* Home Section */
	.banner-img-container .states .total-courses{
		left: 5px;
		bottom: 10%;
	}
	.banner .banner-desc h2{
		font-size: 42px;
	}
	/* Testimonials Section */
	.testimonials .section-header{
		width: 100%;
		margin-bottom: 70px;
	}
}

@media(max-width: 668px){
	/* Partners Section */
	.partners h3{
		margin-right: 150px;
	}
	/* Services Section */
	.services-contents .service-box{
		flex-basis: 100%;
	}
	/* Courses Section */
	.courses .course-contents .course-card{
		flex-basis: 100%;
	}
}

@media(max-width: 568px){
	/* Courses Categories Section */
	.categories-contents .category-item{
		flex-basis: 100%;
	}
	/* Footer Section */
	.footer-contents .footer-col{
		flex-basis: 100%;
	}
}

@media(max-width: 468px){
	.nav-actions {
		position: fixed;
		top: auto;
		bottom: 20px;
		right: 20px;
		z-index: 1000;
		background-color: var(--bg-clr-2);
		border-radius: 30px;
		padding: 5px;
		box-shadow: 0 4px 10px var(--shadow-clr);
	}
	
	.banner-img .banner-img-container{
		width: 100%;
	}
	.banner .banner-desc .search-bar{
		width: 100%;
	}
	.banner-img-container .states .courses-ratings{
		top: 30px;
		right: -10px;
	}
	.banner .banner-desc h2{
		font-size: 32px;
	}
	.main-navbar .get-started-btn-container{
		display: none;
	}
	/* Partners Section */
	.partners h3{
		margin-right: 0px;
		margin-bottom: 80px;
	}
}
/*   === Media Query Ends ===   */

.nav-actions {
	display: flex;
	align-items: center;
	margin-left: auto;
}

.theme-icon i {
	transition: transform 0.3s ease, color 0.3s ease;
}

.theme-icon:hover i {
	transform: rotate(15deg);
	color: var(--primary-clr);
}

/* Scroll to top button */
.scroll-to-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: var(--primary-clr);
    color: var(--light-heading-clr);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px var(--shadow-clr);
    z-index: 999;
}

.scroll-to-top.active {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-to-top:hover {
    background-color: var(--primary-medium-clr);
    transform: translateY(-5px);
}

.scroll-to-top i {
    font-size: 20px;
}

/* Dark mode specific style */
html.dark-mode .scroll-to-top {
    background-color: var(--primary-clr);
    color: var(--dark-heading-clr);
}

/* Responsive styles for scroll to top button */
@media(max-width: 768px) {
    .scroll-to-top {
        width: 40px;
        height: 40px;
        bottom: 20px;
        right: 20px;
    }
    
    .scroll-to-top i {
        font-size: 16px;
    }
}

/* Add a pulse animation for the scroll-to-top button */
@keyframes buttonPulse {
    0% {
        box-shadow: 0 0 0 0 rgba(var(--primary-clr-rgb), 0.7);
        transform: scale(1);
    }
    70% {
        box-shadow: 0 0 0 10px rgba(var(--primary-clr-rgb), 0);
        transform: scale(1.05);
    }
    100% {
        box-shadow: 0 0 0 0 rgba(var(--primary-clr-rgb), 0);
        transform: scale(1);
    }
}

.scroll-to-top.clicked {
    animation: buttonPulse 0.8s ease-out;
}

/*   === Blog Section Styling Starts ===   */
section.blog {
    width: 100%;
    padding: 100px 8% 20px;
    background-color: var(--bg-clr-1);
}

.blog .blog-contents {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 30px;
    margin-top: 50px;
}

.blog-post {
    background-color: var(--bg-clr-2);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 6px var(--shadow-clr);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.blog-post:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 15px var(--shadow-clr);
}

.post-image {
    width: 100%;
    height: 200px;
    overflow: hidden;
}

.post-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s ease;
}

.blog-post:hover .post-image img {
    transform: scale(1.05);
}

.post-content {
    padding: 20px;
}

.post-content h2 {
    color: var(--dark-heading-clr);
    font-size: 20px;
    margin-bottom: 15px;
    line-height: 1.4;
}

.post-meta {
    display: flex;
    gap: 20px;
    margin-bottom: 15px;
    color: var(--dark-text-clr);
    font-size: 14px;
}

.post-meta span {
    display: flex;
    align-items: center;
    gap: 5px;
}

.post-meta i {
    color: var(--primary-clr);
}

.post-content p {
    color: var(--dark-text-clr);
    line-height: 1.6;
    margin-bottom: 20px;
}

.read-more {
    display: inline-block;
    color: var(--primary-clr);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.3s ease;
}

.read-more:hover {
    color: var(--primary-medium-clr);
}

.loading-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 200px;
    color: var(--primary-clr);
    font-size: 24px;
}

.error-message {
    text-align: center;
    padding: 40px;
    color: var(--dark-text-clr);
}

.error-message i {
    font-size: 48px;
    color: var(--primary-clr);
    margin-bottom: 20px;
}

/* Responsive styles for blog section */
@media(max-width: 768px) {
    .blog .blog-contents {
        grid-template-columns: 1fr;
    }
    
    .post-image {
        height: 180px;
    }
}

/*   === Blog Section Styling Ends ===   */

/* Search highlight styles */
.course-card.highlight {
    border: 2px solid var(--primary-color);
    transform: scale(1.02);
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.course-card.highlight .course-title {
    color: var(--primary-color);
}

/* Responsive Design Styles */
@media screen and (max-width: 1200px) {
    .website-container {
        width: 95%;
    }
    
    .banner {
        flex-direction: column;
        text-align: center;
    }
    
    .banner-desc {
        width: 100%;
        margin-bottom: 2rem;
    }
    
    .banner-img {
        width: 100%;
    }
    
    .services-contents {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .course-contents {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 768px) {
    .main-navbar {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 70px;
        background-color: var(--primary-clr);
        padding: 0 1rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        z-index: 1000;
        box-shadow: 0 2px 10px var(--shadow-clr);
    }

    .main-navbar .logo img {
        width: 100px;
        height: auto;
    }

    .menu-btn {
        display: block;
        width: 30px;
        height: 30px;
        position: relative;
        cursor: pointer;
        z-index: 1001;
    }

    .menu-btn span {
        display: block;
        width: 100%;
        height: 2px;
        background-color: var(--light-heading-clr);
        position: absolute;
        left: 0;
        transition: all 0.3s ease;
    }

    .menu-btn span:nth-child(1) {
        top: 0;
    }

    .menu-btn span:nth-child(2) {
        top: 50%;
        transform: translateY(-50%);
    }

    .menu-btn span:nth-child(3) {
        bottom: 0;
    }

    .menu-btn.active span:nth-child(1) {
        transform: rotate(45deg);
        top: 14px;
    }

    .menu-btn.active span:nth-child(2) {
        opacity: 0;
    }

    .menu-btn.active span:nth-child(3) {
        transform: rotate(-45deg);
        bottom: 14px;
    }

    .nav-list {
        position: fixed;
        top: 70px;
        left: -100%;
        width: 100%;
        height: calc(100vh - 70px);
        background-color: var(--bg-clr-1);
        padding: 2rem 0;
        transition: all 0.3s ease-in-out;
        z-index: 1000;
        overflow-y: auto;
        box-shadow: 0 4px 10px var(--shadow-clr);
    }

    .nav-list.active {
        left: 0;
    }

    .nav-list li {
        display: block;
        margin: 0;
        padding: 0 1rem;
    }

    .nav-list li a {
        display: block;
        padding: 1rem 0;
        font-size: 1.1rem;
        color: var(--dark-heading-clr);
        border-bottom: 1px solid var(--border-clr);
    }

    .nav-list li a:hover {
        color: var(--primary-clr);
        background-color: var(--bg-clr-2);
    }

    .nav-list li a::after {
        display: none;
    }

    /* Hide desktop theme toggle and nav actions */
    .theme-switch-container,
    .nav-actions {
        display: none;
    }

    /* Mobile theme toggle button */
    .mobile-theme-toggle {
        display: flex;
        align-items: center;
        justify-content: center;
        position: fixed;
        bottom: 20px;
        right: 20px;
        width: 60px;
        height: 60px;
        background-color: var(--primary-clr);
        border-radius: 50%;
        box-shadow: 0 4px 15px var(--shadow-clr);
        z-index: 1000;
        cursor: pointer;
        transition: all 0.3s ease;
    }

    .mobile-theme-toggle i {
        font-size: 24px;
        color: var(--light-heading-clr);
    }

    /* Dark mode specific styles */
    html.dark-mode .nav-list {
        background-color: var(--bg-clr-2);
    }

    html.dark-mode .nav-list li a {
        color: var(--light-heading-clr);
        border-bottom-color: var(--border-clr);
    }

    html.dark-mode .nav-list li a:hover {
        background-color: var(--bg-clr-3);
    }
}

/* Additional mobile optimizations */
@media screen and (max-width: 480px) {
    .main-navbar {
        padding: 0 0.8rem;
    }

    .main-navbar .logo img {
        width: 90px;
    }

    .nav-list {
        padding: 1.5rem 0;
    }

    .nav-list li a {
        padding: 0.8rem 0;
        font-size: 1rem;
    }

    .mobile-theme-toggle {
        width: 50px;
        height: 50px;
        bottom: 15px;
        right: 15px;
    }

    .mobile-theme-toggle i {
        font-size: 20px;
    }
}

/* Unique Features Section Styles */
.unique-features {
    padding: 80px 0;
    background: var(--primary-light-clr);
    position: relative;
    overflow: hidden;
}

html.dark-mode .unique-features {
    background: var(--primary-medium-clr);
}

.unique-features .section-header {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 40px;
    text-align: left;
}

.unique-features .section-header h1 {
    font-size: 36px;
    color: var(--dark-heading-clr);
    margin-bottom: 20px;
    font-weight: 700;
}

html.dark-mode .unique-features .section-header h1 {
    color: var(--light-heading-clr);
}

.unique-features .section-header p {
    color: var(--dark-text-clr);
    font-size: 18px;
    line-height: 1.6;
    max-width: 800px;
}

html.dark-mode .unique-features .section-header p {
    color: var(--light-text-clr);
}

.features-container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    padding: 40px 20px;
    max-width: 1200px;
    margin: 0 auto;
}

.feature-card {
    background: var(--primary-light-clr);
    border-radius: 15px;
    padding: 30px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    height: 100%;
}

html.dark-mode .feature-card {
    background: var(--primary-medium-clr);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.feature-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.15);
}

html.dark-mode .feature-card:hover {
    box-shadow: 0 15px 40px rgba(0, 0, 0, 0.4);
}

.feature-icon {
    width: 80px;
    height: 80px;
    background: var(--primary-clr);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
    position: relative;
    z-index: 1;
}

.feature-icon i {
    font-size: 32px;
    color: var(--light-heading-clr);
}

.feature-content {
    position: relative;
    z-index: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.feature-content h3 {
    font-size: 24px;
    color: var(--dark-heading-clr);
    margin-bottom: 15px;
    font-weight: 600;
    text-align: center;
}

html.dark-mode .feature-content h3 {
    color: var(--light-heading-clr);
}

.feature-content p {
    color: var(--dark-text-clr);
    line-height: 1.6;
    margin-bottom: 20px;
    text-align: center;
    max-width: 90%;
}

html.dark-mode .feature-content p {
    color: var(--light-text-clr);
}

.feature-highlights {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 25px;
    width: 100%;
    align-items: center;
}

.feature-highlights span {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--dark-heading-clr);
    font-weight: 500;
    text-align: center;
}

html.dark-mode .feature-highlights span {
    color: var(--light-heading-clr);
}

.feature-highlights i {
    color: var(--primary-clr);
}

.feature-btn {
    background: var(--primary-clr);
    color: var(--light-heading-clr);
    border: none;
    padding: 12px 30px;
    border-radius: 30px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
    margin-top: auto;
}

.feature-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

@media screen and (max-width: 1200px) {
    .features-container {
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
    }
}

@media screen and (max-width: 900px) {
    .features-container {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
}

@media screen and (max-width: 600px) {
    .features-container {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    
    .feature-card {
        padding: 25px;
    }
    
    .feature-icon {
        width: 60px;
        height: 60px;
    }
    
    .feature-icon i {
        font-size: 24px;
    }
    
    .feature-content h3 {
        font-size: 20px;
    }
}

@media screen and (max-width: 480px) {
    .unique-features {
        padding: 60px 0;
    }
    
    .feature-card {
        padding: 20px;
    }
    
    .feature-icon {
        width: 50px;
        height: 50px;
    }
    
    .feature-icon i {
        font-size: 20px;
    }
    
    .feature-content h3 {
        font-size: 18px;
    }
    
    .feature-btn {
        padding: 10px 20px;
    }
}

/* AI Pathfinder Page Styles */
.ai-pathfinder-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--primary-light-clr);
    padding: 20px;
}

html.dark-mode .ai-pathfinder-container {
    background: var(--primary-medium-clr);
}

.coming-soon-content {
    text-align: center;
    padding: 40px;
    background: var(--bg-clr-1);
    border-radius: 15px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
    max-width: 500px;
    width: 100%;
}

html.dark-mode .coming-soon-content {
    background: var(--bg-clr-2);
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.coming-soon-content i {
    font-size: 64px;
    color: var(--primary-clr);
    margin-bottom: 20px;
}

.coming-soon-content h1 {
    font-size: 36px;
    color: var(--dark-heading-clr);
    margin-bottom: 15px;
}

html.dark-mode .coming-soon-content h1 {
    color: var(--light-heading-clr);
}

.coming-soon-content p {
    font-size: 24px;
    color: var(--dark-text-clr);
}

html.dark-mode .coming-soon-content p {
    color: var(--light-text-clr);
}