/* Homepage Custom CSS */
:root {
--primary-color: #4f46e5;
--secondary-color: #7c3aed;
--accent-color: #f6c23e;
--danger-color: #e74a3b;
--dark-color: #0a1121;
--light-color: #f8f9fc;
--gradient-primary: linear-gradient(135deg, #4e73df 0%, #224abe 100%);
--gradient-secondary: linear-gradient(135deg, #1cc88a 0%, #13855c 100%);
}
body {
font-family: 'Poppins', sans-serif;
overflow-x: hidden;
background-color: var(--light-color);
}
/* Fix for hero section and navbar */
.navbar {
position: fixed !important;
top: 0;
left: 0;
width: 100%;
z-index: 1050 !important;
transition: background-color 0.3s ease, box-shadow 0.3s ease;
}
.navbar.scrolled {
background-color: rgba(255, 255, 255, 0.95) !important;
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1) !important;
}
/* Hero Section Additional Styles */
.hero-section {
padding-top: 76px;
margin-top: 0;
height: 100vh !important;
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}
#heroSlider,
.carousel-inner,
.carousel-item,
.hero-slide-container {
height: 100% !important;
display: block !important;
visibility: visible !important;
opacity: 1 !important;
}
.slide-image {
width: 100% !important;
height: 100% !important;
object-fit: cover !important;
display: block !important;
}
.carousel-control {
display: flex !important;
align-items: center !important;
justify-content: center !important;
opacity: 0.7 !important;
visibility: visible !important;
}
.carousel-control-prev {
left: 20px !important;
}
.carousel-control-next {
right: 20px !important;
}
.carousel-indicators {
z-index: 10 !important;
bottom: 20px !important;
opacity: 1 !important;
visibility: visible !important;
}
/* Course Card Enhancements */
.course-card {
overflow: hidden;
border-radius: 12px;
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease-in-out;
}
.course-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.course-image {
height: 180px;
overflow: hidden;
}
.course-image img {
width: 100%;
height: 100%;
object-fit: cover;
transition: transform 0.5s ease;
}
.course-card:hover .course-image img {
transform: scale(1.05);
}
/* Animation Keyframes */
@keyframes fadeInUp {
to {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fadeInRight {
to {
opacity: 1;
transform: translateX(0);
}
}
@keyframes fadeIn {
to {
opacity: 1;
}
}
@keyframes float-slow {
0% {
transform: translate(0, 0) rotate(0deg);
}
100% {
transform: translate(30px, 30px) rotate(10deg);
}
}
/* Hero Carousel Styling */
#heroSlider {
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
border-radius: 15px;
overflow: hidden;
}
.carousel-item {
height: 500px;
position: relative;
}
.carousel-item img {
width: 100%;
height: 100%;
object-fit: cover;
filter: brightness(0.85);
}
.carousel-caption {
position: absolute;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(to top, rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0));
padding: 30px;
text-align: left;
}
.carousel-caption h1 {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 15px;
text-shadow: 0 2px 10px rgba(0, 0, 0, 0.5);
}
.carousel-caption p {
font-size: 1.2rem;
margin-bottom: 20px;
text-shadow: 0 2px 5px rgba(0, 0, 0, 0.5);
max-width: 80%;
}
.carousel-indicators {
bottom: 15px;
}
.carousel-indicators button {
width: 12px;
height: 12px;
border-radius: 50%;
margin: 0 5px;
background-color: rgba(255, 255, 255, 0.5);
border: none;
transition: all 0.3s ease;
}
.carousel-indicators button.active {
width: 15px;
height: 15px;
background-color: var(--primary-color);
transform: scale(1.2);
}
.carousel-control-prev,
.carousel-control-next {
display: flex !important;
align-items: center !important;
justify-content: center !important;
opacity: 1 !important;
visibility: visible !important;
width: 50px;
height: 50px;
background: rgba(0, 0, 0, 0.5);
border-radius: 50%;
top: 50%;
transform: translateY(-50%);
margin: 0 20px;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
display: inline-block !important;
width: 24px !important;
height: 24px !important;
background-size: 100% 100% !important;
visibility: visible !important;
opacity: 1 !important;
}
#heroSlider:hover .carousel-control-prev,
#heroSlider:hover .carousel-control-next {
opacity: 1;
}
.stats-card, .cta-card {
border-radius: 15px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.stats-card:hover, .cta-card:hover {
transform: translateY(-5px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
@media (max-width: 992px) {
.carousel-item {
height: 400px;
}
.carousel-caption h1 {
font-size: 2rem;
}
.carousel-caption p {
font-size: 1rem;
}
}
@media (max-width: 768px) {
.carousel-item {
height: 300px;
}
.carousel-caption h1 {
font-size: 1.5rem;
}
.carousel-caption p {
font-size: 0.9rem;
max-width: 100%;
}
.carousel-control-prev,
.carousel-control-next {
display: none;
}
}
/* Animated Background Elements */
.bg-animation-container {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
overflow: hidden;
}
.bg-gradient {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(-45deg, rgba(238, 119, 82, 0.2), rgba(231, 60, 126, 0.2), rgba(35, 166, 213, 0.2), rgba(35, 213, 171, 0.2));
background-size: 400% 400%;
animation: gradient 15s ease infinite;
}
.bg-circle {
position: fixed;
border-radius: 50%;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(10px);
opacity: 0.5;
z-index: -1;
animation: float 15s infinite ease-in-out alternate;
}
.bg-circle:nth-child(1) {
width: 300px;
height: 300px;
top: 10%;
left: 10%;
background: radial-gradient(circle, rgba(78, 115, 223, 0.3) 0%, transparent 70%);
animation-delay: 0s;
}
.bg-circle:nth-child(2) {
width: 500px;
height: 500px;
top: 40%;
right: 5%;
background: radial-gradient(circle, rgba(28, 200, 138, 0.3) 0%, transparent 70%);
animation-delay: 5s;
}
.bg-circle:nth-child(3) {
width: 250px;
height: 250px;
bottom: 10%;
left: 20%;
background: radial-gradient(circle, rgba(246, 194, 62, 0.3) 0%, transparent 70%);
animation-delay: 7s;
}
@keyframes gradient {
0% { background-position: 0% 50%; }
50% { background-position: 100% 50%; }
100% { background-position: 0% 50%; }
}
@keyframes float {
0% { transform: translate(0, 0) scale(1); }
50% { transform: translate(30px, -30px) scale(1.05); }
100% { transform: translate(-30px, 30px) scale(0.95); }
}
/* Navigation Bar */
.navbar-brand img {
height: 40px;
transition: all 0.3s ease;
}
.navbar-brand {
font-weight: 700;
color: var(--primary-color);
}
.nav-link {
color: var(--dark-color);
font-weight: 500;
padding: 8px 16px;
margin: 0 5px;
border-radius: 50px;
transition: all 0.3s ease;
}
.nav-link:hover {
color: var(--primary-color);
/* background: rgba(78, 115, 223, 0.1); */
}
/* .nav-link.active {
color: white !important;
/* background: var(--gradient-primary); */
/* } */
/* Hero Section */
.hero-section {
padding: 120px 0 80px;
position: relative;
overflow: hidden;
background: linear-gradient(rgba(255, 255, 255, 0.8), rgba(255, 255, 255, 0.8)), url('../images/hero/pattern.png');
background-size: cover;
}
.hero-section h1 {
font-size: 3.5rem;
font-weight: 700;
margin-bottom: 20px;
background: var(--gradient-primary);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
line-height: 1.2;
}
.hero-section p {
font-size: 1.2rem;
color: var(--dark-color);
margin-bottom: 30px;
max-width: 600px;
}
/* Buttons */
.btn-primary {
background: var(--gradient-primary);
border: none;
padding: 12px 25px;
border-radius: 50px;
font-weight: 600;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(78, 115, 223, 0.3);
}
.btn-primary:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(78, 115, 223, 0.5);
}
.btn-secondary {
background: var(--gradient-secondary);
border: none;
padding: 12px 25px;
border-radius: 50px;
font-weight: 600;
transition: all 0.3s ease;
box-shadow: 0 4px 15px rgba(28, 200, 138, 0.3);
}
.btn-secondary:hover {
transform: translateY(-3px);
box-shadow: 0 8px 25px rgba(28, 200, 138, 0.5);
}
.btn-outline-primary {
border: 2px solid var(--primary-color);
color: var(--primary-color);
background: transparent;
border-radius: 50px;
padding: 10px 20px;
font-weight: 600;
transition: all 0.3s ease;
}
.btn-outline-primary:hover {
background: var(--gradient-primary);
color: white;
transform: translateY(-3px);
box-shadow: 0 4px 15px rgba(78, 115, 223, 0.3);
}
/* Courses Section */
.course-card {
border: none;
border-radius: 15px;
overflow: hidden;
transition: all 0.3s ease;
margin-bottom: 30px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
height: 100%;
}
.course-card:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.course-image {
height: 200px;
background-size: cover;
background-position: center;
background-repeat: no-repeat;
}
.course-1 {
background-image: url('../images/courses/web-dev.jpg');
}
.course-2 {
background-image: url('../images/courses/data-science.jpg');
}
.course-3 {
background-image: url('../images/courses/marketing.jpg');
}
.course-4 {
background-image: url('../images/courses/design.jpg');
}
.card-title {
font-weight: 600;
margin-bottom: 10px;
color: var(--dark-color);
}
/* Team Section */
.team-member {
text-align: center;
padding: 20px;
margin-bottom: 30px;
background: white;
border-radius: 15px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.team-member:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.team-image {
width: 150px;
height: 150px;
border-radius: 50%;
margin: 0 auto 20px;
background-size: cover;
background-position: center;
border: 5px solid var(--light-color);
box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}
.social-icons a {
display: inline-flex;
align-items: center;
justify-content: center;
width: 36px;
height: 36px;
border-radius: 50%;
background: var(--light-color);
transition: all 0.3s ease;
}
.social-icons a:hover {
background: var(--primary-color);
color: white !important;
transform: translateY(-3px);
}
/* Testimonials */
.testimonial {
background: white;
padding: 30px;
border-radius: 15px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
margin-bottom: 30px;
height: 100%;
transition: all 0.3s ease;
}
.testimonial:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.testimonial-image {
width: 60px;
height: 60px;
border-radius: 50%;
margin-right: 15px;
background-size: cover;
background-position: center;
border: 3px solid var(--light-color);
box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
}
/* Blog Section */
.blog-post {
background: white;
border-radius: 15px;
overflow: hidden;
margin-bottom: 30px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
height: 100%;
}
.blog-post:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.blog-image {
height: 200px;
background-size: cover;
background-position: center;
}
.blog-content {
padding: 20px;
}
/* Contact Section */
.form-control {
border-radius: 10px;
padding: 12px 15px;
border: 1px solid rgba(0, 0, 0, 0.1);
transition: all 0.3s ease;
}
.form-control:focus {
box-shadow: 0 0 0 0.2rem rgba(78, 115, 223, 0.25);
border-color: var(--primary-color);
}
/* Stats Section */
.stats-box {
background: white;
padding: 30px;
border-radius: 15px;
text-align: center;
margin-bottom: 30px;
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
}
.stats-box:hover {
transform: translateY(-10px);
box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}
.stats-icon {
width: 70px;
height: 70px;
border-radius: 50%;
display: flex;
align-items: center;
justify-content: center;
margin: 0 auto 20px;
background: var(--gradient-primary);
color: white;
font-size: 2rem;
box-shadow: 0 5px 15px rgba(78, 115, 223, 0.3);
}
.stats-number {
font-size: 2.5rem;
font-weight: 700;
margin-bottom: 10px;
background: var(--gradient-primary);
-webkit-background-clip: text;
background-clip: text;
color: transparent;
}
/* Animation Classes */
.fade-in {
opacity: 0;
transform: translateY(30px);
transition: opacity 0.8s ease, transform 0.8s ease;
}
.fade-in.active {
opacity: 1;
transform: translateY(0);
}
/* Responsive Styles */
@media (max-width: 992px) {
.hero-section h1 {
font-size: 2.8rem;
}
.hero-section {
padding: 100px 0 60px;
}
}
@media (max-width: 768px) {
.hero-section h1 {
font-size: 2.2rem;
}
.hero-section p {
font-size: 1rem;
}
.navbar-brand img {
height: 32px;
}
.nav-link {
padding: 6px 12px;
margin: 5px 0;
}
}