/* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } html, body { width: 100%; min-height: 100vh; overflow-x: hidden; } body { margin: 0; overflow-y: hidden; overflow-x: hidden; background-color: #203667; /* User requested background image replacement */ background-image: url('../images/home-bg.png'); background-size: cover; background-position: center bottom; background-repeat: no-repeat; font-family: 'Cairo', sans-serif; } /* Container for the hero section */ .hero-container { position: relative; width: 100%; height: 100vh; min-height: 800px; overflow: hidden; } /* ==================== NAVBAR ==================== */ .navbar-landingpage { position: fixed; top: 0; left: 0; right: 0; height: 70px; background-image: url('../images/navbar-bg.jpg'); background-size: auto 100%; background-position: center; background-repeat: repeat-x; /* Contrast: Darker Navy */ box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); z-index: 1000; display: flex; align-items: center; justify-content: space-between; padding: 0 40px; } .logo-navbar { display: flex; flex-direction: column; align-items: flex-start; max-height: 60px; overflow: hidden; } .logo-text { font-family: 'Cairo', sans-serif; font-weight: 900; font-size: 28px; letter-spacing: 4px; color: #FDC554; line-height: 1; } .logo-arabic { font-family: 'Cairo', sans-serif; font-size: 12px; color: #FDC554; letter-spacing: 2px; } .logo-image { height: 75px; max-height: 75px; width: auto; max-width: 250px; object-fit: contain; display: block; } .nav-links { display: flex; align-items: center; gap: 50px; } .nav-item { font-family: 'Cairo', sans-serif; font-weight: 600; font-size: 16px; color: #FFFFFF; text-decoration: none; transition: all 0.3s ease; padding: 8px 20px; background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.3); border-radius: 20px; } .nav-item:hover, .nav-item.active { background: #FDC554; color: #1A3A5C; border-color: #FDC554; opacity: 1; } .mobile-auth-links { display: none; } .nav-toggle { display: none; } .nav-toggle-label { display: none; cursor: pointer; padding: 10px; } .nav-toggle-label span, .nav-toggle-label span::before, .nav-toggle-label span::after { display: block; background: #FDC554; height: 3px; width: 25px; border-radius: 2px; position: relative; transition: all 0.3s ease; } .nav-toggle-label span::before, .nav-toggle-label span::after { content: ''; position: absolute; } .nav-toggle-label span::before { bottom: 8px; } .nav-toggle-label span::after { top: 8px; } .auth-buttons { display: flex; align-items: center; gap: 15px; } .login-btn { padding: 8px 24px; background: transparent; border: 2px solid #FFFFFF; border-radius: 6px; font-family: 'Cairo', sans-serif; font-weight: 600; font-size: 14px; color: #FFFFFF; cursor: pointer; transition: all 0.2s; } .login-btn:hover { background: rgba(255, 255, 255, 0.1); } .signup-btn { padding: 10px 24px; background: #FDC554; border: none; border-radius: 6px; font-family: 'Cairo', sans-serif; font-weight: 700; font-size: 14px; color: #1A3A5C; cursor: pointer; transition: all 0.2s; } .signup-btn:hover { background: #e5b04c; transform: scale(1.02); } /* ==================== HERO CONTENT ==================== */ /* Experience Egypt Text */ .experience-egypt { position: absolute; top: 160px; left: 50%; transform: translateX(-50%); z-index: 100; text-align: center; } .experience-text { font-family: 'Cairo', sans-serif; font-weight: 900; font-size: clamp(60px, 10vw, 120px); color: #FFFFFF; text-transform: uppercase; letter-spacing: 0.05em; white-space: nowrap; text-shadow: none; } /* CTA Button */ .cta-button { position: absolute; top: 450px; left: 50%; transform: translateX(-50%); width: 600px; max-width: 90%; height: 90px; background: #FDC554; border: none; border-radius: 60px; cursor: pointer; z-index: 100; display: flex; align-items: center; justify-content: center; transition: transform 0.2s, box-shadow 0.2s; box-shadow: 0 8px 0px rgba(0, 0, 0, 0.2); } .cta-button:hover { transform: translateX(-50%) scale(1.02); box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); } .cta-text { font-family: 'Cairo', sans-serif; font-weight: 700; font-size: 32px; font-style: normal; color: #1A3A5C; } /* ==================== FLOATING DECORATIONS ==================== */ .floating-crescent { position: absolute; color: #1E9AAD; font-size: 20px; z-index: 60; } .crescent-1 { top: 280px; right: 25%; } .crescent-2 { top: 320px; right: 15%; } .floating-dome { position: absolute; z-index: 60; } .dome-small { width: 20px; height: 25px; background: #1E9AAD; border-radius: 50% 50% 0 0; } .dome-spire { position: absolute; width: 2px; height: 12px; background: #1E9AAD; left: 50%; transform: translateX(-50%); top: -10px; } .dome-crescent-top { position: absolute; width: 8px; height: 8px; top: -18px; left: 50%; transform: translateX(-50%); } .floating-dome-1 { top: 290px; right: 30%; } .floating-dome-2 { top: 310px; right: 20%; } /* ==================== CAIRO TOWER ==================== */ .cairo-tower { position: absolute; width: 250px; height: 700px; left: 18%; transform: translateX(-50%); bottom: 50px; z-index: 20; } .tower-antenna { position: absolute; width: 3px; height: 80px; left: 50%; transform: translateX(-50%); top: 0; background: #FDC554; } .tower-top-small { position: absolute; width: 50px; height: 30px; left: 50%; transform: translateX(-50%); top: 75px; background: #FDC554; border-radius: 3px 3px 0 0; } .tower-top { position: absolute; width: 80px; height: 60px; left: 50%; transform: translateX(-50%); top: 100px; background: #FDC554; border-radius: 5px 5px 0 0; } .tower-platform { position: absolute; width: 130px; height: 25px; left: 50%; transform: translateX(-50%); top: 155px; background: #FDC554; } .tower-platform-line { position: absolute; width: 130px; height: 6px; left: 50%; transform: translateX(-50%); top: 155px; background: #E5A830; } .tower-body { position: absolute; width: 95px; height: 350px; left: 50%; transform: translateX(-50%); top: 180px; background: #E5A830; } .tower-base { position: absolute; width: 140px; height: 15px; left: 50%; transform: translateX(-50%); bottom: 0; background: #FDC554; } /* Tower windows - Teal colored */ .tower-window { position: absolute; width: 16px; height: 35px; background: #1E9AAD; border-radius: 2px; } .tower-window-1 { left: calc(50% - 30px); top: 115px; } .tower-window-2 { left: 50%; transform: translateX(-50%); top: 115px; } .tower-window-3 { left: calc(50% + 14px); top: 115px; } /* ==================== PYRAMIDS (SVG-based) ==================== */ .pyramid-container { position: absolute; bottom: 0; pointer-events: none; } .pyramid-svg { width: 100%; height: 100%; } /* Main Pyramid Container */ .pyramid-main-container { left: 30%; transform: translateX(-50%); width: 900px; height: 600px; bottom: -50px; z-index: 30; } /* Small Pyramid Container */ .pyramid-small-container { left: -100px; width: 500px; height: 400px; bottom: 0px; z-index: 25; } /* ==================== MOHAMED ALI MOSQUE ==================== */ .mosque-css { position: absolute; right: 0; bottom: 0; width: 700px; height: 500px; z-index: 35; pointer-events: none; } /* Base Building */ .mosque-base { position: absolute; bottom: 0; left: 100px; width: 500px; height: 200px; background: #F5E6C8; z-index: 2; box-shadow: inset 0 -20px 0 rgba(0, 0, 0, 0.05); } /* Central Dome */ .mosque-dome { position: absolute; bottom: 200px; left: 200px; width: 300px; height: 150px; background: #1E9AAD; border-radius: 150px 150px 0 0; z-index: 3; box-shadow: inset -20px 10px 0 rgba(0, 0, 0, 0.1); } /* Golden Band on Dome Body */ .mosque-dome::after { content: ''; position: absolute; bottom: -15px; /* On the white body */ left: 40px; width: 220px; height: 30px; background: #FDC554; border-radius: 4px; z-index: 4; } /* Minarets */ .mosque-minaret { position: absolute; bottom: 0; width: 40px; height: 550px; background: #F5E6C8; z-index: 4; box-shadow: inset -5px 0 0 rgba(0, 0, 0, 0.1); } .mosque-minaret::before { /* Balcony 1 */ content: ''; position: absolute; top: 100px; left: -5px; width: 50px; height: 15px; background: #EDD9A8; border-radius: 4px; } .mosque-minaret::after { /* Top Cone */ content: ''; position: absolute; top: -40px; left: 0; width: 40px; height: 50px; background: #1E9AAD; border-radius: 20px 20px 0 0; } .mosque-minaret.left { left: 50px; height: 500px; /* Perspective */ } .mosque-minaret.right { right: 20px; } /* ==================== RESPONSIVE ==================== */ @media (max-width: 1024px) { .navbar-landingpage { padding: 0 20px; } .nav-links { gap: 20px; } .experience-text { font-size: clamp(40px, 8vw, 80px); } .cta-button { width: 450px; } } @media (max-width: 768px) { body { overflow-y: auto; } .navbar-landingpage { padding: 0 15px; } .nav-toggle-label { display: block; z-index: 1001; } .nav-links { display: flex; flex-direction: column; justify-content: center; position: fixed; top: 0; right: -100%; width: 100%; height: 100vh; background: #1A3A5C; padding: 50px; transition: right 0.4s ease-in-out; z-index: 1000; gap: 20px; text-align: center; } .nav-toggle:checked~.nav-links { right: 0; } .nav-toggle:checked~.nav-toggle-label span { background: transparent; } .nav-toggle:checked~.nav-toggle-label span::before { transform: rotate(45deg); bottom: 0; } .nav-toggle:checked~.nav-toggle-label span::after { transform: rotate(-45deg); top: 0; } .nav-item { font-size: 20px; width: 100%; border-radius: 10px; } .auth-buttons { display: none; } .mobile-auth-links { display: flex; flex-direction: column; gap: 15px; width: 100%; margin-top: 20px; } .mobile-auth-links .login-btn, .mobile-auth-links .signup-btn { width: 100%; text-align: center; } .experience-egypt { top: 150px; width: 90%; } .experience-text { font-size: clamp(32px, 12vw, 60px); white-space: normal; line-height: 1.2; } .cta-button { top: 380px; width: 85%; height: 70px; } .cta-text { font-size: 20px; } /* Hide heavy decorations on mobile */ .cairo-tower, .mosque-css, .floating-dome, .floating-crescent { display: none; } .pyramid-main-container { width: 150%; left: 50%; bottom: -20px; } }