*{
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	font-family: 'Roboto', sans-serif;
}
html{
	scroll-behavior: smooth;
	
	/* Variables For Storing Colors */
	--primary-clr: #3b82ab;
	--primary-medium-clr: #c6dae0;
	--primary-light-clr: #edfaf1;
	--bg-clr-1: #ffffff;
	--dark-heading-clr: #232d39;
	--dark-text-clr: #6c757d;
	--light-heading-clr: #efefef;
	--light-text-clr: #cecece;
}
/*   === Global Styling Starts ===   */
button.btn{
	padding: 10px 18px;
	background-color: var(--primary-clr);
	color: var(--light-heading-clr);
	font-size: 15px;
	border: 1px solid transparent;
	border-radius: 5px;
	cursor: pointer;
	transition: all 0.3s;
}
button.btn:hover{
	background-color: var(--light-heading-clr);
	color: var(--primary-clr);
	border: 1px solid var(--primary-clr);
}
.section-header h1{
	position: relative;
	font-size: 32px;
	letter-spacing: 1px;
	color: var(--dark-heading-clr);
	margin-bottom: 20px;
}
.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;
}
/*   === Global Styling Ends ===   */
body{
	width: 100%;
	min-height: 100vh;
}
.website-container{
	width: 100%;
	max-width: 1500px;
	min-height: 100vh;
	margin: 0px auto;
}
/*   === Home Section Styling Starts ===   */

.home .main-navbar{
	position: absolute;
	width: 100%;
	max-width: 1500px;
	height: 12vh;
	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;
}
.home.active .main-navbar{
	position: fixed;
	top: 0;
	margin: 0px auto;
	box-shadow: 0px 2px 10px rgba(0,0,0,0.25);
	animation: showMenu 0.6s ease-in;
}
@keyframes showMenu{
	from{
		transform: translateY(-100px);
	}
	to{
		transform: translateY(0px);
	}
}
.main-navbar .logo{
	text-decoration: none;
}
.main-navbar .logo img{
	width: 150px;
	height: auto;
	padding-top: 8px;
}
.main-navbar .nav-list{
	list-style: none;
}
.main-navbar .nav-list li{
	display: inline-block;
	margin: 0px 10px;
}
.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;
}
.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(--light-heading-clr);
	color: var(--primary-clr);
}
.main-navbar .get-started-btn:hover{
	background-color: var(--primary-clr);
	color: var(--light-heading-clr);
	border: 1px solid var(--light-heading-clr);
}
.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);
}

.main-navbar .language-selector img {
	width: 10px;
	height: 20px;
	cursor: pointer;
	margin-left: 10px;
  }
.home .banner{
	width: 100%;
	min-height: 10vh;
	padding: 100px 8% 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.home .banner .banner-desc{
	position: relative;
	margin: 0 auto;
	padding-top: 150px; /* Moves the search bar a bit lower */
	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: 100%; /* Adjust width for responsiveness */
    max-width: 400px; /* Keeps the search bar within a reasonable width */
    height: 50px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.banner-desc .search-bar input {
    width: 100%;
    height: 100%;
    padding: 0px 10px;
    font-size: 17px;
    letter-spacing: 1px;
    background-color: var(--primary-light-clr);
    color: var(--dark-text-clr);
    border: 2px solid #b2c1d8;
    border-radius: 5px;
    outline-color: var(--primary-clr);
    flex-grow: 1; /* Make the input take available space */
}

.banner-desc .search-bar button {
    background-color: var(--primary-clr);
    border: none;
    height: 100%;
    width: 50px;
    color: var(--light-heading-clr);
    border-radius: 0px 5px 5px 0px;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.banner-desc .search-bar i {
    font-size: 20px; /* Adjust size of the icon */
}


.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;
}
.states .total-courses .desc span:nth-child(2){
	font-size: 15px;
	color: var(--dark-text-clr);
}
.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: var(--dark-heading-clr);
	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: var(--dark-text-clr);
	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;
}

/*   === Partners 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);
}
.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(--bg-clr-1);
	outline-offset: 1px;
}
.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: 15px;
	color: var(--dark-heading-clr);
}
.course-card .course-desc{
	margin: 10px 0px;
	display: flex;
	justify-content: space-between;
}
.course-card .course-desc span{
	font-size: 15px;
	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: 15px;
	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 ===   */

/*   === 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: 200px;
}
.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){
	/* 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){
	/* 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){
	.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 ===   */
.pagination {
	text-align: center;
	margin-top: 20px;
  }
  
  .pagination button {
	margin: 0 5px;
	padding: 8px 12px;
	background: var(--primary-clr);
	color: white;
	border: none;
	border-radius: 6px;
	cursor: pointer;
  }
  
  .pagination button:hover {
	background: #0056b3;
  }
  