Spaces:
Sleeping
Sleeping
| /* ====== Base Styles ====== */ | |
| :root { | |
| --primary: #0891B2; | |
| --primary-dark: #155E75; | |
| --primary-light: #22D3EE; | |
| --secondary: #155E75; | |
| --dark: #082F49; | |
| --light: #F0F9FF; | |
| --gray: #64748B; | |
| --danger: #DC2626; | |
| --success: #059669; | |
| --warning: #D97706; | |
| --transition: all 0.3s ease; | |
| --shadow: 0 5px 15px rgba(0, 0, 0, 0.1); | |
| --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.15); | |
| } | |
| body { | |
| font-family: 'Open Sans', sans-serif; | |
| color: #333; | |
| overflow-x: hidden; | |
| background-color: #fff; | |
| } | |
| h1, h2, h3, h4, h5, h6 { | |
| font-family: 'Poppins', sans-serif; | |
| font-weight: 600; | |
| } | |
| section { | |
| position: relative; | |
| padding: 80px 0; | |
| } | |
| .section-title { | |
| font-weight: 700; | |
| position: relative; | |
| margin-bottom: 15px; | |
| color: var(--dark); | |
| } | |
| .section-divider { | |
| height: 4px; | |
| width: 70px; | |
| background: var(--primary); | |
| margin: 0 auto 40px; | |
| border-radius: 2px; | |
| } | |
| .btn { | |
| border-radius: 50px; | |
| padding: 12px 25px; | |
| font-weight: 500; | |
| transition: var(--transition); | |
| text-transform: uppercase; | |
| letter-spacing: 0.5px; | |
| font-size: 14px; | |
| } | |
| .btn-primary { | |
| background-color: var(--primary); | |
| border-color: var(--primary); | |
| box-shadow: 0 4px 15px rgba(8, 145, 178, 0.3); | |
| } | |
| .btn-primary:hover, .btn-primary:focus { | |
| background-color: var(--primary-dark); | |
| border-color: var(--primary-dark); | |
| transform: translateY(-2px); | |
| box-shadow: 0 6px 20px rgba(8, 145, 178, 0.4); | |
| } | |
| .btn-lg { | |
| padding: 14px 30px; | |
| font-size: 16px; | |
| } | |
| /* ====== Particles Background ====== */ | |
| #particles-js { | |
| position: fixed; | |
| width: 100%; | |
| height: 100%; | |
| top: 0; | |
| left: 0; | |
| z-index: -1; | |
| background: linear-gradient(135deg, #0C4A6E, #082F49); | |
| } | |
| /* ====== Navbar ====== */ | |
| .navbar { | |
| padding: 20px 0; | |
| transition: var(--transition); | |
| z-index: 1000; | |
| } | |
| .navbar.scrolled { | |
| background-color: rgba(8, 47, 73, 0.9); | |
| padding: 10px 0; | |
| box-shadow: var(--shadow); | |
| } | |
| .navbar-brand { | |
| font-family: 'Poppins', sans-serif; | |
| font-weight: 700; | |
| font-size: 24px; | |
| color: var(--light) ; | |
| } | |
| .wave-icon { | |
| animation: waveAnimation 2s infinite; | |
| display: inline-block; | |
| } | |
| @keyframes waveAnimation { | |
| 0% { transform: rotate(0deg); } | |
| 25% { transform: rotate(-10deg); } | |
| 50% { transform: rotate(0deg); } | |
| 75% { transform: rotate(10deg); } | |
| 100% { transform: rotate(0deg); } | |
| } | |
| /* Unique Nav styling */ | |
| .custom-nav { | |
| display: flex; | |
| gap: 15px; | |
| } | |
| .custom-nav .nav-item { | |
| position: relative; | |
| } | |
| .custom-nav .nav-link { | |
| display: flex; | |
| flex-direction: column; | |
| align-items: center; | |
| padding: 8px 15px; | |
| color: var(--light) ; | |
| background: rgba(255, 255, 255, 0.05); | |
| border-radius: 12px; | |
| overflow: hidden; | |
| transition: all 0.3s ease; | |
| } | |
| .custom-nav .nav-icon { | |
| font-size: 1.2rem; | |
| margin-bottom: 3px; | |
| transition: all 0.3s ease; | |
| } | |
| .custom-nav .nav-text { | |
| font-size: 0.85rem; | |
| font-weight: 500; | |
| opacity: 0.8; | |
| } | |
| .custom-nav .nav-link:hover, | |
| .custom-nav .nav-link.active { | |
| background: rgba(255, 255, 255, 0.15); | |
| transform: translateY(-3px); | |
| box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2); | |
| } | |
| .custom-nav .nav-link:hover .nav-icon, | |
| .custom-nav .nav-link.active .nav-icon { | |
| color: var(--primary-light); | |
| transform: scale(1.2); | |
| } | |
| .custom-nav .nav-link::after { | |
| content: ''; | |
| position: absolute; | |
| bottom: 5px; | |
| left: 50%; | |
| width: 0; | |
| height: 2px; | |
| background: var(--primary-light); | |
| transform: translateX(-50%); | |
| transition: width 0.3s ease; | |
| } | |
| .custom-nav .nav-link:hover::after, | |
| .custom-nav .nav-link.active::after { | |
| width: 50%; | |
| } | |
| /* ====== Hero Section ====== */ | |
| .hero { | |
| height: 100vh; | |
| min-height: 700px; | |
| display: flex; | |
| align-items: center; | |
| position: relative; | |
| overflow: hidden; | |
| background-color: transparent; | |
| padding-bottom: 100px; | |
| } | |
| .hero h1 { | |
| font-size: 56px; | |
| font-weight: 700; | |
| margin-bottom: 20px; | |
| text-shadow: 0 2px 10px rgba(0, 0, 0, 0.2); | |
| } | |
| .hero .lead { | |
| font-size: 18px; | |
| margin-bottom: 30px; | |
| } | |
| .hero-image { | |
| position: relative; | |
| z-index: 1; | |
| text-align: center; | |
| } | |
| .hero-img { | |
| max-width: 90%; | |
| box-shadow: var(--shadow-lg); | |
| border: 5px solid rgba(255, 255, 255, 0.2); | |
| animation: float 6s ease-in-out infinite; | |
| } | |
| @keyframes float { | |
| 0% { transform: translateY(0px); } | |
| 50% { transform: translateY(-20px); } | |
| 100% { transform: translateY(0px); } | |
| } | |
| .wave { | |
| position: absolute; | |
| bottom: -10px; | |
| left: 0; | |
| width: 100%; | |
| z-index: 2; | |
| } | |
| /* ====== About Section ====== */ | |
| .about { | |
| background-color: #fff; | |
| } | |
| .feature-card { | |
| background: #fff; | |
| border-radius: 15px; | |
| padding: 30px; | |
| text-align: center; | |
| box-shadow: var(--shadow); | |
| height: 100%; | |
| transition: var(--transition); | |
| } | |
| .feature-card:hover { | |
| transform: translateY(-10px); | |
| box-shadow: var(--shadow-lg); | |
| } | |
| .icon-wrapper { | |
| width: 80px; | |
| height: 80px; | |
| margin: 0 auto 20px; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| background-color: rgba(8, 145, 178, 0.1); | |
| border-radius: 50%; | |
| } | |
| .icon-wrapper i { | |
| font-size: 36px; | |
| } | |
| .feature-card h4 { | |
| margin-bottom: 15px; | |
| color: var(--dark); | |
| } | |
| .img-wrapper { | |
| border-radius: 15px; | |
| overflow: hidden; | |
| } | |
| .floating-badge { | |
| position: absolute; | |
| top: 20px; | |
| right: -15px; | |
| background: var(--primary); | |
| color: white; | |
| padding: 10px 20px; | |
| border-radius: 30px; | |
| box-shadow: var(--shadow); | |
| font-weight: 600; | |
| } | |
| .parameters-grid { | |
| display: grid; | |
| grid-template-columns: repeat(3, 1fr); | |
| gap: 10px; | |
| margin-top: 20px; | |
| } | |
| .parameter { | |
| background-color: rgba(8, 145, 178, 0.1); | |
| padding: 10px; | |
| border-radius: 5px; | |
| text-align: center; | |
| font-weight: 500; | |
| transition: var(--transition); | |
| } | |
| .parameter:hover { | |
| background-color: var(--primary); | |
| color: white; | |
| transform: scale(1.05); | |
| } | |
| /* ====== Water Test Section ====== */ | |
| .water-test { | |
| background-color: #f9f9f9; | |
| position: relative; | |
| overflow: hidden; | |
| } | |
| .test-bg { | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: url('https://source.unsplash.com/1600x900/?water,pattern') no-repeat center center; | |
| background-size: cover; | |
| opacity: 0.05; | |
| z-index: 0; | |
| } | |
| .test-card { | |
| background: white; | |
| border-radius: 20px; | |
| box-shadow: var(--shadow-lg); | |
| padding: 40px; | |
| position: relative; | |
| z-index: 1; | |
| } | |
| .form-floating .form-control { | |
| border-radius: 10px; | |
| height: 60px; | |
| border: 2px solid #e1e1e1; | |
| } | |
| .form-floating .form-control:focus { | |
| border-color: var(--primary); | |
| box-shadow: 0 0 0 0.25rem rgba(8, 145, 178, 0.25); | |
| } | |
| .result-box { | |
| background: white; | |
| border-radius: 15px; | |
| box-shadow: var(--shadow); | |
| overflow: hidden; | |
| border: 1px solid #e9e9e9; | |
| } | |
| .result-header { | |
| padding: 15px 25px; | |
| background: var(--primary); | |
| color: white; | |
| } | |
| .result-body { | |
| padding: 25px; | |
| } | |
| .gauge-container { | |
| padding: 20px 0; | |
| } | |
| .gauge { | |
| width: 150px; | |
| height: 75px; | |
| border-radius: 75px 75px 0 0; | |
| background-color: #e0e0e0; | |
| position: relative; | |
| overflow: hidden; | |
| margin: 0 auto; | |
| } | |
| .gauge-fill { | |
| position: absolute; | |
| bottom: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 0%; | |
| background: linear-gradient(to top, var(--danger), var(--warning), var(--success)); | |
| transition: height 1s cubic-bezier(0.34, 1.56, 0.64, 1); | |
| } | |
| .gauge-center { | |
| position: absolute; | |
| bottom: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| font-weight: bold; | |
| font-size: 24px; | |
| color: #333; | |
| } | |
| .gauge-label { | |
| margin-top: 10px; | |
| font-weight: 600; | |
| color: var(--gray); | |
| } | |
| .result-info { | |
| padding: 0 20px; | |
| } | |
| #result-status { | |
| margin-bottom: 15px; | |
| font-weight: 700; | |
| } | |
| #result-status.safe { | |
| color: var(--success); | |
| } | |
| #result-status.unsafe { | |
| color: var(--danger); | |
| } | |
| #recommendations-list li { | |
| margin-bottom: 8px; | |
| } | |
| /* ====== Contact Section ====== */ | |
| .contact { | |
| background-color: white; | |
| } | |
| .contact-info { | |
| text-align: center; | |
| padding: 40px; | |
| border-radius: 20px; | |
| box-shadow: var(--shadow-lg); | |
| height: 100%; | |
| background-color: #fff; | |
| position: relative; | |
| z-index: 1; | |
| overflow: hidden; | |
| } | |
| .contact-info::before { | |
| content: ''; | |
| position: absolute; | |
| top: 0; | |
| left: 0; | |
| width: 100%; | |
| height: 100%; | |
| background: linear-gradient(135deg, rgba(8, 145, 178, 0.05), rgba(21, 94, 117, 0.1)); | |
| z-index: -1; | |
| } | |
| .profile-img { | |
| width: 180px; | |
| height: 180px; | |
| margin: 0 auto 20px; | |
| border-radius: 50%; | |
| overflow: hidden; | |
| border: 5px solid rgba(8, 145, 178, 0.1); | |
| position: relative; | |
| } | |
| .profile-img::after { | |
| content: ''; | |
| position: absolute; | |
| top: -10px; | |
| left: -10px; | |
| right: -10px; | |
| bottom: -10px; | |
| border-radius: 50%; | |
| border: 2px solid var(--primary-light); | |
| animation: pulseRing 2s infinite; | |
| } | |
| @keyframes pulseRing { | |
| 0% { | |
| transform: scale(0.95); | |
| opacity: 1; | |
| } | |
| 70% { | |
| transform: scale(1.1); | |
| opacity: 0.7; | |
| } | |
| 100% { | |
| transform: scale(0.95); | |
| opacity: 1; | |
| } | |
| } | |
| .profile-img img { | |
| width: 100%; | |
| height: 100%; | |
| object-fit: cover; | |
| border-radius: 50%; | |
| } | |
| .social-links { | |
| display: flex; | |
| justify-content: center; | |
| gap: 15px; | |
| margin-top: 25px; | |
| } | |
| .social-icon { | |
| display: flex; | |
| align-items: center; | |
| justify-content: center; | |
| width: 45px; | |
| height: 45px; | |
| border-radius: 50%; | |
| color: white; | |
| transition: var(--transition); | |
| box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15); | |
| } | |
| .social-icon:hover { | |
| transform: translateY(-5px) rotate(10deg); | |
| box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2); | |
| } | |
| .facebook { | |
| background-color: #3b5998; | |
| } | |
| .linkedin { | |
| background-color: #0077b5; | |
| } | |
| .github { | |
| background-color: #333; | |
| } | |
| .instagram { | |
| background: linear-gradient(45deg, #f09433, #e6683c, #dc2743, #cc2366, #bc1888); | |
| } | |
| .student-id { | |
| background-color: var(--primary-light); | |
| color: var(--dark); | |
| padding: 5px 15px; | |
| border-radius: 20px; | |
| font-weight: 600; | |
| display: inline-block; | |
| margin-top: -5px; | |
| margin-bottom: 10px; | |
| } | |
| /* ====== Footer ====== */ | |
| .footer { | |
| background-color: var(--dark); | |
| color: var(--light); | |
| } | |
| /* ====== Responsive Styles ====== */ | |
| @media (max-width: 991px) { | |
| .hero h1 { | |
| font-size: 42px; | |
| } | |
| .hero-image { | |
| margin-top: 50px; | |
| } | |
| .test-card { | |
| padding: 30px 20px; | |
| } | |
| .custom-nav { | |
| gap: 5px; | |
| } | |
| .custom-nav .nav-link { | |
| padding: 8px 10px; | |
| } | |
| } | |
| @media (max-width: 767px) { | |
| section { | |
| padding: 60px 0; | |
| } | |
| .hero h1 { | |
| font-size: 36px; | |
| text-align: center; | |
| } | |
| .hero .lead { | |
| text-align: center; | |
| } | |
| .hero .btn { | |
| display: block; | |
| margin: 0 auto; | |
| } | |
| .feature-card { | |
| margin-bottom: 30px; | |
| } | |
| .test-card { | |
| padding: 25px 15px; | |
| } | |
| .custom-nav { | |
| flex-wrap: wrap; | |
| justify-content: center; | |
| } | |
| .custom-nav .nav-item { | |
| width: calc(50% - 10px); | |
| } | |
| .custom-nav .nav-link { | |
| margin-bottom: 10px; | |
| } | |
| } | |
| /* ====== Animation Classes ====== */ | |
| .fade-in { | |
| animation: fadeIn 1s ease forwards; | |
| } | |
| .slide-up { | |
| animation: slideUp 0.8s ease forwards; | |
| } | |
| @keyframes fadeIn { | |
| from { opacity: 0; } | |
| to { opacity: 1; } | |
| } | |
| @keyframes slideUp { | |
| from { | |
| opacity: 0; | |
| transform: translateY(50px); | |
| } | |
| to { | |
| opacity: 1; | |
| transform: translateY(0); | |
| } | |
| } | |
| @keyframes waterRipple { | |
| 0% { | |
| box-shadow: 0 0 0 0 rgba(34, 211, 238, 0.5); | |
| } | |
| 70% { | |
| box-shadow: 0 0 0 20px rgba(34, 211, 238, 0); | |
| } | |
| 100% { | |
| box-shadow: 0 0 0 0 rgba(34, 211, 238, 0); | |
| } | |
| } |