:root { --primary-color: #4e54c8; --primary-dark: #3a3fa0; --secondary-color: #6a3093; --dark-color: #1a1a2e; --light-color: #f8f9fa; --text-color: #333; --text-light: #6c757d; } body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; color: var(--text-color); line-height: 1.6; } /* Improved Loader */ #loader-wrapper { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: var(--dark-color); z-index: 9999; display: flex; justify-content: center; align-items: center; transition: opacity 0.5s ease-out; } #loader-wrapper.fade-out { opacity: 0; pointer-events: none; } .loader-spinner { width: 50px; height: 50px; border: 5px solid rgba(255, 255, 255, 0.1); border-radius: 50%; border-top-color: var(--primary-color); animation: spin 1s ease-in-out infinite; } @keyframes spin { to { transform: rotate(360deg); } } /* Modern Hero Section */ .hero-section { height: 100vh; min-height: 600px; background: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), url('https://source.unsplash.com/random/1920x1080/?developer,coding') no-repeat center center; background-size: cover; position: relative; padding-top: 80px; } .hero-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url('images/bg.png') no-repeat center center; opacity: var(--dark-color); } .hero-content { position: relative; z-index: 1; } /* Gallery Section */ .gallery-section { padding: 100px 0; background-color: var(--light-color); } .section-header { margin-bottom: 60px; text-align: center; } .section-header h2 { font-weight: 700; margin-bottom: 15px; position: relative; display: inline-block; } .section-header h2:after { content: ''; position: absolute; width: 60px; height: 3px; background: var(--primary-color); bottom: -10px; left: 50%; transform: translateX(-50%); } .section-header p { color: var(--text-light); max-width: 700px; margin: 0 auto; } .gallery-item { margin-bottom: 30px; border-radius: 8px; overflow: hidden; box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08); transition: all 0.3s ease; position: relative; } .gallery-item:hover { transform: translateY(-10px); box-shadow: 0 15px 30px rgba(0, 0, 0, 0.15); } .gallery-item img { width: 100%; height: 250px; object-fit: cover; transition: transform 0.5s ease; } .gallery-item:hover img { transform: scale(1.05); } .gallery-item .gallery-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity 0.3s ease; } .gallery-item:hover .gallery-overlay { opacity: 1; } .gallery-item .gallery-overlay i { color: white; font-size: 40px; cursor: pointer; } /* Video Section */ .video-section { padding: 100px 0; background-color: #fff; } .video-thumbnail { position: relative; cursor: pointer; border-radius: 8px; overflow: hidden; } .video-thumbnail img { width: 100%; height: 200px; object-fit: cover; } .video-thumbnail .play-icon { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 50px; color: white; opacity: 0.8; transition: all 0.3s ease; } .video-thumbnail:hover .play-icon { opacity: 1; transform: translate(-50%, -50%) scale(1.1); } /* Professional Card Styles */ .pro-card { border: none; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); transition: all 0.3s ease; height: 100%; } .pro-card:hover { transform: translateY(-5px); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); } .pro-card .card-body { padding: 20px; } .pro-card .card-title { font-weight: 600; margin-bottom: 10px; } .pro-card .card-text { color: var(--text-light); font-size: 0.9rem; } /* Buttons */ .btn { font-weight: 500; padding: 10px 25px; border-radius: 30px; transition: all 0.3s ease; } .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); } .btn-primary:hover { background-color: var(--primary-dark); border-color: var(--primary-dark); transform: translateY(-2px); } .btn-outline-primary { color: var(--primary-color); border-color: var(--primary-color); } .btn-outline-primary:hover { background-color: var(--primary-color); color: white; } /* Modal Styles */ .modal-content { border: none; border-radius: 10px; overflow: hidden; } .modal-header { border-bottom: none; padding: 15px 20px; } .modal-body { padding: 0; } /* Contact Section */ .contact-section { padding: 100px 0; background-color: var(--light-color); } /* Footer */ footer { padding: 30px 0; background-color: var(--dark-color); color: white; } /* Responsive Adjustments */ @media (max-width: 768px) { .hero-section { height: auto; padding: 120px 0 80px; } .hero-content h1 { font-size: 2.5rem; } .section-header { margin-bottom: 40px; } }