@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap'); :root { --color-navy-dark: #0A1128; --color-navy-primary: #1C2541; --color-navy-light: #3A506B; --color-accent-blue: #0066FF; --color-accent-cyan: #00F2FE; --color-accent-gold: #FFB703; --color-accent-amber: #FB8500; --color-accent-emerald: #10B981; --color-accent-purple: #7C3AED; --color-accent-rose: #F43F5E; --gradient-gold: linear-gradient(135deg, #FFB703 0%, #FB8500 100%); --gradient-blue: linear-gradient(135deg, #0066FF 0%, #00F2FE 100%); --gradient-purple: linear-gradient(135deg, #7C3AED 0%, #C084FC 100%); --gradient-emerald: linear-gradient(135deg, #059669 0%, #10B981 100%); --gradient-rose: linear-gradient(135deg, #F43F5E 0%, #FB7185 100%); --gradient-dark: linear-gradient(135deg, #0A1128 0%, #1C2541 50%, #0066FF 100%); --gradient-banner: linear-gradient(135deg, rgba(10, 17, 40, 0.94) 0%, rgba(0, 102, 255, 0.85) 50%, rgba(124, 58, 237, 0.88) 100%); --color-bg-light: #F8FAFC; --color-bg-surface: #F1F5F9; --color-bg-card: #FFFFFF; --color-text-main: #0F172A; --color-text-muted: #475569; --color-text-light: #94A3B8; --color-border: #E2E8F0; --color-border-hover: #93C5FD; --glass-bg: rgba(255, 255, 255, 0.85); --glass-border: 1px solid rgba(255, 255, 255, 0.6); --shadow-sm: 0 4px 12px rgba(10, 17, 40, 0.05); --shadow-md: 0 10px 25px rgba(10, 17, 40, 0.08); --shadow-lg: 0 18px 40px rgba(10, 17, 40, 0.12); --shadow-hover: 0 22px 50px rgba(0, 102, 255, 0.18); --shadow-gold: 0 10px 30px rgba(255, 183, 3, 0.35); --radius-sm: 10px; --radius-md: 16px; --radius-lg: 24px; --radius-pill: 50px; --transition-fast: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); --transition-normal: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); } html { scroll-behavior: smooth; } body { font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: var(--color-text-main); background: linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 50%, #F8FAFC 100%); line-height: 1.68; overflow-x: hidden; -webkit-font-smoothing: antialiased; } h1, h2, h3, h4, h5, h6, .font-heading { font-family: 'Outfit', sans-serif; font-weight: 700; color: var(--color-navy-dark); letter-spacing: -0.025em; } a { text-decoration: none; transition: var(--transition-normal); } img { max-width: 100%; height: auto; } .scroll-progress-bar { position: fixed; top: 0; left: 0; height: 4px; background: linear-gradient(90deg, #FFB703, #FB8500, #0066FF, #00F2FE); background-size: 200% 200%; animation: gradientShift 3s ease infinite; z-index: 99999; width: 0%; transition: width 0.1s ease-out; } @keyframes gradientShift { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; } } #pagePreloader { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(10, 17, 40, 0.97); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); z-index: 999999; display: flex; flex-direction: column; align-items: center; justify-content: center; transition: opacity 0.5s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.5s cubic-bezier(0.25, 1, 0.5, 1); } #pagePreloader.fade-out { opacity: 0; visibility: hidden; pointer-events: none; } #pagePreloader.active { opacity: 1; visibility: visible; pointer-events: auto; } .preloader-logo { transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.4s ease; transform: scale(1); } .preloader-spinner { width: 60px; height: 60px; border: 4px solid rgba(255, 183, 3, 0.1); border-top-color: var(--color-accent-gold); border-right-color: var(--color-accent-cyan); border-radius: 50%; animation: preloaderSpin 0.8s cubic-bezier(0.4, 0.1, 0.2, 1) infinite; box-shadow: 0 0 35px rgba(0, 242, 254, 0.25); transition: transform 0.5s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.4s ease; } #pagePreloader.fade-out .preloader-logo { transform: scale(0.85); opacity: 0; } #pagePreloader.fade-out .preloader-spinner { transform: scale(0.8); opacity: 0; } @keyframes preloaderSpin { 0% { transform: rotate(0deg); } 50% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } } .page-view-container { transition: opacity 0.35s cubic-bezier(0.4, 0, 0.2, 1), transform 0.35s cubic-bezier(0.4, 0, 0.2, 1); will-change: opacity, transform; } .page-view-container.page-leaving { opacity: 0; transform: translateY(-12px) scale(0.995); } .page-view-container.page-entering { opacity: 0; transform: translateY(18px) scale(0.995); } .page-view-container.page-entered { opacity: 1; transform: translateY(0) scale(1); } .reveal-on-scroll { opacity: 0; transform: translateY(24px); transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1); will-change: opacity, transform; } .reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); } img.lazy-media { opacity: 0; transform: scale(0.98); transition: opacity 0.5s ease-out, transform 0.5s ease-out; will-change: opacity, transform; } img.lazy-media.loaded { opacity: 1; transform: scale(1); } .top-bar { background: linear-gradient(90deg, #0A1128 0%, #1C2541 100%); color: rgba(255, 255, 255, 0.9); font-size: 0.85rem; border-bottom: 1px solid rgba(255, 255, 255, 0.1); padding: 10px 0; } .top-bar a { color: rgba(255, 255, 255, 0.9); } .top-bar a:hover { color: var(--color-accent-gold); } .top-bar i { color: var(--color-accent-gold); margin-right: 6px; } #site-header { position: sticky; top: 0; z-index: 1040; width: 100%; } .navbar-main { position: relative; width: 100%; background: rgba(255, 255, 255, 0.94); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); box-shadow: 0 4px 20px rgba(10, 17, 40, 0.06); border-bottom: 2px solid rgba(226, 232, 240, 0.8); transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1); padding: 16px 0; z-index: 1040; } .navbar-main.scrolled { position: fixed; top: 0; left: 0; right: 0; width: 100%; background: rgba(255, 255, 255, 0.98); box-shadow: 0 12px 35px rgba(0, 102, 255, 0.16), 0 2px 10px rgba(255, 183, 3, 0.25); padding: 10px 0; border-bottom: 3px solid transparent; border-image: linear-gradient(90deg, #0066FF, #00F2FE, #FFB703, #FB8500) 1; animation: navbarFixedSlide 0.3s cubic-bezier(0.16, 1, 0.3, 1) forwards; z-index: 1040; } @keyframes navbarFixedSlide { 0% { transform: translateY(-100%); } 100% { transform: translateY(0); } } .navbar-brand-text { font-family: 'Outfit', sans-serif; font-size: 1.55rem; font-weight: 900; color: var(--color-navy-dark); letter-spacing: -0.5px; background: linear-gradient(135deg, #0A1128 0%, #0066FF 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .navbar-brand-text span { background: var(--gradient-gold); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .navbar-logo-img { height: 54px; width: auto; object-fit: contain; filter: drop-shadow(0 2px 8px rgba(0, 102, 255, 0.15)); transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.3s ease; } .navbar-logo-img:hover { transform: scale(1.06) rotate(1deg); filter: drop-shadow(0 4px 12px rgba(0, 102, 255, 0.25)); } .footer-logo-img { height: 60px; width: auto; object-fit: contain; filter: drop-shadow(0 0 10px rgba(255, 183, 3, 0.35)); transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.3s ease; } .footer-logo-img:hover { transform: scale(1.06) rotate(-1deg); filter: drop-shadow(0 0 15px rgba(255, 183, 3, 0.6)); } .nav-link { font-weight: 700; font-size: 0.935rem; color: var(--color-navy-primary) !important; padding: 8px 16px !important; border-radius: var(--radius-pill); transition: var(--transition-fast); position: relative; } .nav-link:hover { color: var(--color-accent-blue) !important; background: rgba(0, 102, 255, 0.08); transform: translateY(-1px); } .nav-link.active { color: #FFFFFF !important; background: linear-gradient(135deg, #0066FF 0%, #00F2FE 100%); box-shadow: 0 4px 14px rgba(0, 102, 255, 0.35); } .btn-gold-custom { background: var(--gradient-gold); color: var(--color-navy-dark); border: none; font-weight: 800; padding: 12px 28px; border-radius: var(--radius-pill); box-shadow: var(--shadow-gold); transition: var(--transition-normal); display: inline-flex; align-items: center; gap: 8px; position: relative; overflow: hidden; } .btn-gold-custom:hover { color: var(--color-navy-dark); transform: translateY(-3px) scale(1.02); box-shadow: 0 14px 32px rgba(255, 183, 3, 0.5); } .btn-primary-custom { background: var(--gradient-blue); color: #FFFFFF; border: none; font-weight: 700; padding: 12px 28px; border-radius: var(--radius-pill); box-shadow: 0 8px 20px rgba(0, 102, 255, 0.3); transition: var(--transition-normal); display: inline-flex; align-items: center; gap: 8px; } .btn-primary-custom:hover { color: #FFFFFF; transform: translateY(-3px) scale(1.02); box-shadow: 0 14px 32px rgba(0, 102, 255, 0.45); } .btn-outline-custom { background: rgba(255, 255, 255, 0.9); color: var(--color-accent-blue); border: 2px solid var(--color-accent-blue); font-weight: 700; padding: 10px 24px; border-radius: var(--radius-pill); transition: var(--transition-normal); display: inline-flex; align-items: center; gap: 8px; } .btn-outline-custom:hover { background: var(--gradient-blue); color: #FFFFFF; border-color: transparent; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0, 102, 255, 0.3); } .btn-outline-white { background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(8px); color: #FFFFFF; border: 2px solid rgba(255, 255, 255, 0.7); font-weight: 700; padding: 12px 28px; border-radius: var(--radius-pill); transition: var(--transition-normal); display: inline-flex; align-items: center; gap: 8px; } .btn-outline-white:hover { background: #FFFFFF; color: var(--color-navy-dark); border-color: #FFFFFF; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(255, 255, 255, 0.3); } .badge-gold { background: rgba(255, 183, 3, 0.15); color: #B45309; border: 1px solid rgba(255, 183, 3, 0.4); font-weight: 800; padding: 6px 16px; border-radius: var(--radius-pill); } .hero-slider-section { position: relative; background-color: var(--color-navy-dark); } .hero-slide-item { position: relative; padding: 130px 0 110px 0; min-height: 85vh; display: flex; align-items: center; background-size: cover; background-position: center; color: #FFFFFF; } .hero-slide-item::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(10, 17, 40, 0.92) 0%, rgba(28, 37, 65, 0.82) 40%, rgba(0, 102, 255, 0.45) 100%); z-index: 1; } .hero-slide-content { position: relative; z-index: 2; } .hero-slide-item h1 { color: #FFFFFF; font-size: 3.5rem; font-weight: 900; line-height: 1.15; margin-bottom: 22px; text-shadow: 0 4px 20px rgba(0, 0, 0, 0.3); } .hero-slide-item p.lead { font-size: 1.25rem; color: rgba(255, 255, 255, 0.95); max-width: 680px; margin-bottom: 34px; } .hero-carousel-indicators { margin-bottom: 2rem; z-index: 3; } .hero-carousel-indicators [data-bs-target] { width: 12px; height: 12px; border-radius: 50%; background-color: rgba(255, 255, 255, 0.5); border: 2px solid transparent; transition: var(--transition-normal); } .hero-carousel-indicators .active { width: 36px; border-radius: 12px; background: var(--gradient-gold); } .hero-carousel-btn { width: 52px; height: 52px; border-radius: 50%; background: rgba(255, 255, 255, 0.15); backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.3); top: 50%; transform: translateY(-50%); opacity: 0.9; transition: var(--transition-normal); z-index: 3; } .hero-carousel-btn:hover { background: var(--gradient-gold); color: var(--color-navy-dark); border-color: transparent; opacity: 1; box-shadow: var(--shadow-gold); } .hero-carousel-btn-prev { left: 25px; } .hero-carousel-btn-next { right: 25px; } .page-banner { background: var(--gradient-banner), url('../images/page-banner.jpg') center/cover no-repeat; padding: 85px 0; color: #FFFFFF; border-bottom: 5px solid var(--color-accent-gold); position: relative; overflow: hidden; } .page-banner::after { content: ''; position: absolute; top: -50%; right: -10%; width: 400px; height: 400px; background: radial-gradient(circle, rgba(0, 242, 254, 0.3) 0%, rgba(0, 102, 255, 0) 70%); border-radius: 50%; pointer-events: none; } .page-banner h1 { color: #FFFFFF; font-size: 2.75rem; font-weight: 900; margin-bottom: 12px; } .cta-banner { background: linear-gradient(135deg, #0A1128 0%, #1C2541 50%, #0066FF 100%); color: #FFFFFF; position: relative; overflow: hidden; border-top: 3px solid var(--color-accent-gold); border-bottom: 3px solid var(--color-accent-gold); box-shadow: var(--shadow-lg); padding: 60px 0; } .cta-banner::before { content: ''; position: absolute; top: -50%; left: -10%; width: 450px; height: 450px; background: radial-gradient(circle, rgba(255, 183, 3, 0.25) 0%, rgba(10, 17, 40, 0) 70%); border-radius: 50%; pointer-events: none; } .cta-banner::after { content: ''; position: absolute; bottom: -50%; right: -10%; width: 450px; height: 450px; background: radial-gradient(circle, rgba(0, 242, 254, 0.25) 0%, rgba(0, 102, 255, 0) 70%); border-radius: 50%; pointer-events: none; } .cta-banner h2 { color: #FFFFFF !important; font-family: 'Outfit', sans-serif; font-size: 2.5rem; font-weight: 900; letter-spacing: -0.025em; text-shadow: 0 4px 15px rgba(0, 0, 0, 0.3); } .cta-banner p.lead { color: rgba(255, 255, 255, 0.9) !important; font-size: 1.15rem; } .breadcrumb-custom { background: transparent; padding: 0; margin-bottom: 0; } .breadcrumb-custom .breadcrumb-item, .breadcrumb-custom .breadcrumb-item a { color: rgba(255, 255, 255, 0.85); font-size: 0.95rem; font-weight: 600; } .breadcrumb-custom .breadcrumb-item.active { color: var(--color-accent-gold); font-weight: 800; } .section-subtitle { text-transform: uppercase; font-weight: 800; font-size: 0.85rem; letter-spacing: 2.5px; color: var(--color-accent-blue); background: rgba(0, 102, 255, 0.08); padding: 6px 16px; border-radius: var(--radius-pill); margin-bottom: 12px; display: inline-block; border: 1px solid rgba(0, 102, 255, 0.18); } .section-title { font-size: 2.4rem; font-weight: 900; margin-bottom: 18px; color: var(--color-navy-dark); } .section-title-wrapper p { color: var(--color-text-muted); font-size: 1.1rem; max-width: 660px; } .service-card { background: var(--glass-bg); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-radius: var(--radius-lg); padding: 36px 28px; border: 1px solid rgba(255, 255, 255, 0.8); box-shadow: 0 10px 30px rgba(0, 102, 255, 0.06); transition: var(--transition-normal); height: 100%; display: flex; flex-direction: column; position: relative; overflow: hidden; } .service-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--gradient-blue); opacity: 0; transition: var(--transition-normal); } .service-card:nth-child(2n)::before { background: var(--gradient-gold); } .service-card:nth-child(3n)::before { background: var(--gradient-purple); } .service-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-hover); border-color: rgba(0, 102, 255, 0.3); } .service-card:hover::before { opacity: 1; } .service-icon-box { width: 70px; height: 70px; border-radius: var(--radius-md); background: linear-gradient(135deg, #0066FF 0%, #00F2FE 100%); color: #FFFFFF; display: flex; align-items: center; justify-content: center; font-size: 2rem; margin-bottom: 24px; box-shadow: 0 8px 20px rgba(0, 102, 255, 0.28); transition: var(--transition-normal); } .service-card:nth-child(2n) .service-icon-box { background: var(--gradient-gold); box-shadow: 0 8px 20px rgba(255, 183, 3, 0.3); color: var(--color-navy-dark); } .service-card:nth-child(3n) .service-icon-box { background: var(--gradient-purple); box-shadow: 0 8px 20px rgba(124, 58, 237, 0.3); } .service-card:hover .service-icon-box { transform: scale(1.1) rotate(4deg); } .destination-card { position: relative; border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--shadow-md); transition: var(--transition-normal); height: 340px; background-size: cover; background-position: center; } .destination-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(180deg, rgba(10, 17, 40, 0.1) 0%, rgba(10, 17, 40, 0.88) 100%); transition: var(--transition-normal); } .destination-card:hover { transform: translateY(-8px) scale(1.01); box-shadow: var(--shadow-hover); } .destination-card:hover::before { background: linear-gradient(180deg, rgba(0, 102, 255, 0.25) 0%, rgba(10, 17, 40, 0.95) 100%); } .destination-content { position: absolute; bottom: 0; left: 0; right: 0; padding: 26px; color: #FFFFFF; z-index: 2; } .destination-content h3 { color: #FFFFFF; font-size: 1.55rem; font-weight: 800; margin-bottom: 6px; } .destination-badge { display: inline-block; padding: 5px 14px; background: var(--gradient-gold); color: var(--color-navy-dark); font-weight: 800; font-size: 0.75rem; border-radius: var(--radius-pill); text-transform: uppercase; margin-bottom: 10px; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); } .feature-box { display: flex; gap: 20px; margin-bottom: 28px; background: #FFFFFF; padding: 20px; border-radius: var(--radius-md); border: 1px solid var(--color-border); box-shadow: var(--shadow-sm); transition: var(--transition-normal); } .feature-box:hover { transform: translateY(-3px); border-color: var(--color-accent-blue); box-shadow: var(--shadow-md); } .feature-icon { width: 54px; height: 54px; border-radius: var(--radius-md); background: linear-gradient(135deg, rgba(0, 102, 255, 0.12), rgba(0, 242, 254, 0.18)); color: var(--color-accent-blue); display: flex; align-items: center; justify-content: center; font-size: 1.45rem; flex-shrink: 0; } .feature-info h4 { font-size: 1.15rem; font-weight: 800; margin-bottom: 4px; } .feature-info p { color: var(--color-text-muted); font-size: 0.925rem; margin-bottom: 0; } .table-custom-wrapper { background: #FFFFFF; border-radius: var(--radius-lg); box-shadow: var(--shadow-lg); overflow: hidden; border: 1px solid var(--color-border); } .table-custom { margin-bottom: 0; width: 100%; } .table-custom thead { background: linear-gradient(90deg, #0A1128 0%, #1C2541 50%, #0066FF 100%); color: #FFFFFF; } .table-custom thead th { padding: 18px 22px; font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 0.975rem; border: none; } .table-custom tbody tr { transition: var(--transition-fast); } .table-custom tbody tr:hover { background-color: rgba(0, 102, 255, 0.05); } .table-custom tbody td { padding: 18px 22px; vertical-align: middle; border-bottom: 1px solid var(--color-border); font-size: 0.95rem; } .form-card { background: #FFFFFF; border-radius: var(--radius-lg); padding: 36px; border: 1px solid var(--color-border); box-shadow: var(--shadow-lg); } .form-label { font-weight: 700; font-size: 0.9rem; color: var(--color-navy-dark); margin-bottom: 8px; } .form-control, .form-select { padding: 14px 18px; border-radius: var(--radius-md); border: 1.5px solid var(--color-border); font-size: 0.975rem; transition: var(--transition-normal); background-color: #F8FAFC; } .form-control:focus, .form-select:focus { background-color: #FFFFFF; border-color: var(--color-accent-blue); box-shadow: 0 0 0 4px rgba(0, 102, 255, 0.18); } .placeholder-notice { background: linear-gradient(135deg, #FEF3C7 0%, #FDE68A 100%); border-left: 5px solid var(--color-accent-amber); padding: 14px 18px; border-radius: var(--radius-md); font-size: 0.875rem; font-weight: 600; color: #78350F; margin-bottom: 22px; box-shadow: var(--shadow-sm); } .footer-main { background: linear-gradient(180deg, #0A1128 0%, #060B1E 100%); color: rgba(255, 255, 255, 0.82); padding-top: 75px; padding-bottom: 35px; border-top: 5px solid var(--color-accent-gold); } .footer-main h4 { color: #FFFFFF; font-size: 1.25rem; font-weight: 800; margin-bottom: 22px; position: relative; padding-bottom: 12px; } .footer-main h4::after { content: ''; position: absolute; bottom: 0; left: 0; width: 40px; height: 3px; background: var(--gradient-gold); border-radius: 2px; } .footer-links { list-style: none; padding: 0; margin: 0; } .footer-links li { margin-bottom: 12px; } .footer-links a { color: rgba(255, 255, 255, 0.8); font-size: 0.925rem; display: inline-flex; align-items: center; gap: 8px; } .footer-links a:hover { color: var(--color-accent-gold); transform: translateX(6px); } .footer-contact-item { display: flex; gap: 14px; margin-bottom: 16px; font-size: 0.9rem; } .footer-contact-item i { color: var(--color-accent-gold); font-size: 1.25rem; margin-top: 2px; } .footer-bottom { margin-top: 55px; padding-top: 26px; border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.875rem; } @media (max-width: 991.98px) { .hero-slide-item { padding: 90px 0 70px 0; min-height: auto; } .hero-slide-item h1 { font-size: 2.35rem; } .section-title { font-size: 1.95rem; } .navbar-collapse { background: rgba(10, 17, 40, 0.98); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border-radius: var(--radius-md); padding: 20px; margin-top: 12px; box-shadow: var(--shadow-lg); border: 1px solid rgba(255, 255, 255, 0.15); } .navbar-collapse .nav-link { color: rgba(255, 255, 255, 0.9) !important; padding: 10px 16px !important; } .navbar-collapse .nav-link:hover, .navbar-collapse .nav-link.active { background: linear-gradient(135deg, #0066FF 0%, #00F2FE 100%); color: #FFFFFF !important; } .page-banner { padding: 60px 0; } .page-banner h1 { font-size: 2.1rem; } } @media (max-width: 767.98px) { .hero-slide-item { padding: 70px 0 50px 0; text-align: center; } .hero-slide-item h1 { font-size: 1.95rem; line-height: 1.25; } .hero-slide-item p.lead { font-size: 1.05rem; margin-left: auto; margin-right: auto; } .hero-slide-content .d-flex { justify-content: center; } .service-card { padding: 26px 20px; } .form-card { padding: 24px 18px; } .destination-card { height: 280px; } .hero-carousel-btn { width: 40px; height: 40px; } .hero-carousel-btn-prev { left: 10px; } .hero-carousel-btn-next { right: 10px; } .table-custom-wrapper { overflow-x: auto; -webkit-overflow-scrolling: touch; } .table-custom th, .table-custom td { white-space: nowrap; } } @media (max-width: 575.98px) { .hero-slide-item h1 { font-size: 1.7rem; } .section-subtitle { font-size: 0.775rem; letter-spacing: 1.8px; } .section-title { font-size: 1.65rem; } .btn-gold-custom, .btn-primary-custom, .btn-outline-custom, .btn-outline-white { width: 100%; justify-content: center; padding: 12px 20px; } } .flight-search-widget { background: rgba(255, 255, 255, 0.98); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); border: 1px solid rgba(255, 255, 255, 0.9); border-radius: var(--radius-lg); box-shadow: 0 20px 50px rgba(10, 17, 40, 0.15); padding: 30px; margin-top: -50px; position: relative; z-index: 10; } @media (max-width: 991.98px) { .flight-search-widget { margin-top: 20px; padding: 24px 20px; } } @media (max-width: 575.98px) { .flight-search-widget { margin-top: 15px; padding: 18px 14px; border-radius: var(--radius-md); } } .trip-type-pills .btn-check + .btn { border-radius: var(--radius-pill); padding: 8px 20px; font-weight: 600; font-size: 0.875rem; color: var(--color-navy-dark); background: var(--color-bg-surface); border: 1px solid var(--color-border); transition: var(--transition-fast); } .trip-type-pills .btn-check:checked + .btn { background: var(--gradient-blue); color: #FFFFFF; border-color: transparent; box-shadow: 0 4px 15px rgba(0, 102, 255, 0.3); } .route-card { background: #FFFFFF; border-radius: var(--radius-md); border: 1px solid var(--color-border); padding: 24px; transition: var(--transition-normal); position: relative; overflow: hidden; } .route-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: var(--gradient-gold); opacity: 0; transition: var(--transition-fast); } .route-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: var(--color-border-hover); } .route-card:hover::before { opacity: 1; } .route-airport-badge { font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 1.25rem; color: var(--color-navy-dark); } .flight-line { position: relative; flex-grow: 1; height: 2px; background: var(--color-border); margin: 0 15px; } .flight-line i { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) rotate(90deg); color: var(--color-accent-blue); background: #FFFFFF; padding: 0 6px; font-size: 1.1rem; } .airline-chip { display: inline-flex; align-items: center; gap: 8px; background: var(--color-bg-surface); border: 1px solid var(--color-border); padding: 8px 16px; border-radius: var(--radius-pill); font-size: 0.85rem; font-weight: 600; color: var(--color-navy-dark); transition: var(--transition-fast); } .airline-chip:hover { background: #FFFFFF; border-color: var(--color-accent-blue); color: var(--color-accent-blue); box-shadow: var(--shadow-sm); transform: translateY(-2px); } .feature-flight-box { background: #FFFFFF; border-radius: var(--radius-lg); padding: 34px 28px; border: 1px solid var(--color-border); box-shadow: 0 10px 30px rgba(10, 17, 40, 0.05); height: 100%; display: flex; flex-direction: column; justify-content: space-between; position: relative; overflow: hidden; transition: var(--transition-normal); } .feature-flight-box::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--gradient-blue); opacity: 0; transition: var(--transition-fast); } .feature-flight-box:nth-child(2n)::before { background: var(--gradient-gold); } .feature-flight-box:nth-child(3n)::before { background: var(--gradient-purple); } .feature-flight-box:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: rgba(0, 102, 255, 0.3); } .feature-flight-box:hover::before { opacity: 1; } .feature-flight-icon { width: 64px; height: 64px; border-radius: 18px; background: linear-gradient(135deg, rgba(0, 102, 255, 0.12) 0%, rgba(0, 242, 254, 0.18) 100%); color: var(--color-accent-blue); display: flex; align-items: center; justify-content: center; font-size: 1.85rem; margin-bottom: 22px; transition: var(--transition-normal); box-shadow: 0 6px 16px rgba(0, 102, 255, 0.12); } .feature-flight-box.box-amber .feature-flight-icon { background: rgba(255, 183, 3, 0.18); color: #B45309; box-shadow: 0 6px 16px rgba(255, 183, 3, 0.2); } .feature-flight-box.box-purple .feature-flight-icon { background: rgba(124, 58, 237, 0.15); color: #7C3AED; box-shadow: 0 6px 16px rgba(124, 58, 237, 0.2); } .feature-flight-box.box-emerald .feature-flight-icon { background: rgba(16, 185, 129, 0.15); color: #10B981; box-shadow: 0 6px 16px rgba(16, 185, 129, 0.2); } .feature-flight-box.box-rose .feature-flight-icon { background: rgba(244, 63, 94, 0.15); color: #F43F5E; box-shadow: 0 6px 16px rgba(244, 63, 94, 0.2); } .feature-flight-box.box-cyan .feature-flight-icon { background: rgba(6, 182, 212, 0.15); color: #0891B2; box-shadow: 0 6px 16px rgba(6, 182, 212, 0.2); } .feature-flight-box:hover .feature-flight-icon { transform: scale(1.1) rotate(4deg); } .feature-flight-link { font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 0.9rem; color: var(--color-accent-blue); display: inline-flex; align-items: center; gap: 6px; margin-top: 16px; transition: var(--transition-fast); } .feature-flight-box:hover .feature-flight-link { color: var(--color-navy-dark); transform: translateX(4px); } .faq-accordion .accordion-item { border: 1px solid var(--color-border); border-radius: var(--radius-md) !important; margin-bottom: 16px; overflow: hidden; box-shadow: var(--shadow-sm); } .faq-accordion .accordion-button { font-family: 'Outfit', sans-serif; font-weight: 700; color: var(--color-navy-dark); font-size: 1.05rem; padding: 20px 24px; background: #FFFFFF; } .faq-accordion .accordion-button:not(.collapsed) { background: rgba(0, 102, 255, 0.04); color: var(--color-accent-blue); box-shadow: none; } .faq-accordion .accordion-button:focus { box-shadow: none; border-color: var(--color-accent-blue); } .faq-accordion .accordion-body { padding: 20px 24px; color: var(--color-text-muted); font-size: 0.95rem; line-height: 1.7; } .form-card-highlight { animation: formGlow 1.2s ease-in-out 2; } @keyframes formGlow { 0% { box-shadow: 0 0 0 rgba(0, 102, 255, 0); } 50% { box-shadow: 0 0 30px rgba(0, 102, 255, 0.4); border-color: var(--color-accent-blue) !important; } 100% { box-shadow: 0 0 0 rgba(0, 102, 255, 0); } } .visa-country-card { background: #FFFFFF; border-radius: var(--radius-lg); border: 1px solid var(--color-border); padding: 28px 24px; transition: var(--transition-normal); position: relative; overflow: hidden; height: 100%; box-shadow: 0 10px 30px rgba(10, 17, 40, 0.05); } .visa-country-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--gradient-blue); opacity: 0; transition: var(--transition-fast); } .visa-country-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: rgba(0, 102, 255, 0.3); } .visa-country-card:hover::before { opacity: 1; } .visa-flag-icon { font-size: 2.2rem; line-height: 1; display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 50%; background: var(--color-bg-surface); box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08); } .workflow-step-card { background: #FFFFFF; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 30px 20px; text-align: center; transition: var(--transition-normal); height: 100%; position: relative; overflow: hidden; box-shadow: 0 8px 25px rgba(10, 17, 40, 0.04); } .workflow-step-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 3px; background: var(--gradient-gold); opacity: 0; transition: var(--transition-fast); } .workflow-step-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: rgba(255, 183, 3, 0.5); } .workflow-step-card:hover::before { opacity: 1; } .workflow-step-badge { width: 48px; height: 48px; border-radius: 50%; background: var(--gradient-gold); color: var(--color-navy-dark); font-family: 'Outfit', sans-serif; font-weight: 900; font-size: 1.2rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 18px auto; box-shadow: 0 6px 18px rgba(255, 183, 3, 0.4); transition: var(--transition-normal); } .workflow-step-card:hover .workflow-step-badge { transform: scale(1.12) rotate(6deg); } .visa-requirement-list { list-style: none; padding: 0; margin: 0 0 16px 0; } .visa-requirement-list li { font-size: 0.88rem; color: var(--color-text-muted); margin-bottom: 9px; display: flex; align-items: flex-start; gap: 10px; line-height: 1.5; } .visa-requirement-list li i { color: var(--color-accent-emerald); font-size: 1.05rem; margin-top: 1px; flex-shrink: 0; } .visa-cat-card { background: #FFFFFF; border-radius: var(--radius-lg); padding: 34px 28px; border: 1px solid var(--color-border); box-shadow: 0 10px 30px rgba(10, 17, 40, 0.05); transition: var(--transition-normal); position: relative; overflow: hidden; height: 100%; display: flex; flex-direction: column; justify-content: space-between; } .visa-cat-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--gradient-blue); opacity: 0.85; transition: var(--transition-fast); } .visa-cat-card.cat-amber::before { background: var(--gradient-gold); } .visa-cat-card.cat-purple::before { background: var(--gradient-purple); } .visa-cat-card.cat-rose::before { background: var(--gradient-rose); } .visa-cat-card.cat-emerald::before { background: var(--gradient-emerald); } .visa-cat-card.cat-dark::before { background: var(--gradient-dark); } .visa-cat-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: rgba(0, 102, 255, 0.3); } .visa-cat-card:hover::before { opacity: 1; height: 5px; } .visa-cat-icon { width: 64px; height: 64px; border-radius: 18px; background: linear-gradient(135deg, rgba(0, 102, 255, 0.12) 0%, rgba(0, 242, 254, 0.18) 100%); color: var(--color-accent-blue); display: flex; align-items: center; justify-content: center; font-size: 1.85rem; transition: var(--transition-normal); box-shadow: 0 6px 16px rgba(0, 102, 255, 0.12); } .visa-cat-card.cat-amber .visa-cat-icon { background: rgba(255, 183, 3, 0.18); color: #B45309; box-shadow: 0 6px 16px rgba(255, 183, 3, 0.2); } .visa-cat-card.cat-purple .visa-cat-icon { background: rgba(124, 58, 237, 0.15); color: #7C3AED; box-shadow: 0 6px 16px rgba(124, 58, 237, 0.2); } .visa-cat-card.cat-rose .visa-cat-icon { background: rgba(244, 63, 94, 0.15); color: #F43F5E; box-shadow: 0 6px 16px rgba(244, 63, 94, 0.2); } .visa-cat-card.cat-emerald .visa-cat-icon { background: rgba(16, 185, 129, 0.15); color: #10B981; box-shadow: 0 6px 16px rgba(16, 185, 129, 0.2); } .visa-cat-card:hover .visa-cat-icon { transform: scale(1.1) rotate(4deg); } .visa-doc-box { background: linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 100%); border-radius: var(--radius-md); padding: 18px; border: 1px solid rgba(226, 232, 240, 0.9); border-left: 4px solid var(--color-accent-blue); margin-bottom: 22px; } .visa-cat-card.cat-amber .visa-doc-box { border-left-color: var(--color-accent-gold); } .visa-cat-card.cat-purple .visa-doc-box { border-left-color: var(--color-accent-purple); } .visa-cat-card.cat-rose .visa-doc-box { border-left-color: var(--color-accent-rose); } .visa-cat-card.cat-emerald .visa-doc-box { border-left-color: var(--color-accent-emerald); } .fee-stat-badge { display: inline-flex; align-items: center; gap: 8px; background: rgba(255, 255, 255, 0.12); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.25); color: #FFFFFF; padding: 8px 18px; border-radius: var(--radius-pill); font-size: 0.88rem; font-weight: 600; transition: var(--transition-normal); } .fee-stat-badge:hover { background: rgba(255, 255, 255, 0.22); transform: translateY(-2px); } .fee-structure-card { background: #FFFFFF; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 32px 26px; height: 100%; transition: var(--transition-normal); position: relative; overflow: hidden; box-shadow: 0 10px 30px rgba(10, 17, 40, 0.05); display: flex; flex-direction: column; justify-content: space-between; } .fee-structure-card::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--gradient-blue); opacity: 0; transition: var(--transition-fast); } .fee-structure-card:nth-child(2n)::after { background: var(--gradient-gold); } .fee-structure-card:nth-child(3n)::after { background: var(--gradient-purple); } .fee-structure-card:nth-child(4n)::after { background: var(--gradient-emerald); } .fee-structure-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: rgba(0, 102, 255, 0.3); } .fee-structure-card:hover::after { opacity: 1; } .fee-structure-icon { width: 64px; height: 64px; border-radius: 18px; display: flex; align-items: center; justify-content: center; font-size: 1.85rem; margin-bottom: 22px; transition: var(--transition-normal); box-shadow: 0 6px 16px rgba(0, 102, 255, 0.12); } .fee-structure-card:hover .fee-structure-icon { transform: scale(1.1) rotate(4deg); } .filter-pill-btn { background: #FFFFFF; border: 1px solid var(--color-border); color: var(--color-navy-primary); font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 0.9rem; padding: 10px 22px; border-radius: var(--radius-pill); transition: var(--transition-fast); cursor: pointer; box-shadow: var(--shadow-sm); } .filter-pill-btn:hover, .filter-pill-btn.active { background: var(--gradient-blue); color: #FFFFFF; border-color: transparent; box-shadow: 0 8px 20px rgba(0, 102, 255, 0.3); transform: translateY(-2px); } .fee-calculator-box { background: linear-gradient(135deg, #0A1128 0%, #1C2541 100%); border-radius: var(--radius-lg); padding: 36px; color: #FFFFFF; box-shadow: var(--shadow-lg); position: relative; overflow: hidden; } .fee-calculator-box::before { content: ''; position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; border-radius: 50%; background: radial-gradient(circle, rgba(0, 242, 254, 0.15) 0%, rgba(0, 0, 0, 0) 70%); pointer-events: none; } .fee-output-card { background: rgba(255, 255, 255, 0.08); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(255, 255, 255, 0.15); border-radius: var(--radius-md); padding: 24px; } .faq-accordion .accordion-item { border: 1px solid var(--color-border); border-radius: var(--radius-md) !important; margin-bottom: 16px; overflow: hidden; box-shadow: var(--shadow-sm); transition: var(--transition-fast); } .faq-accordion .accordion-item:hover { border-color: var(--color-border-hover); } .faq-accordion .accordion-button { font-family: 'Outfit', sans-serif; font-weight: 700; font-size: 1.05rem; color: var(--color-navy-dark); background: #FFFFFF; padding: 20px 24px; box-shadow: none !important; } .faq-accordion .accordion-button:not(.collapsed) { background: linear-gradient(135deg, rgba(0, 102, 255, 0.04) 0%, rgba(0, 242, 254, 0.08) 100%); color: var(--color-accent-blue); } .faq-accordion .accordion-body { background: #FFFFFF; padding: 0 24px 24px 24px; color: var(--color-text-muted); font-size: 0.95rem; line-height: 1.7; } .payment-method-card { background: #FFFFFF; border: 1px solid var(--color-border); border-radius: var(--radius-md); padding: 24px; text-align: center; transition: var(--transition-fast); height: 100%; } .payment-method-card:hover { transform: translateY(-4px); border-color: var(--color-accent-blue); box-shadow: var(--shadow-sm); } .payment-icon { width: 52px; height: 52px; border-radius: 50%; background: rgba(0, 102, 255, 0.1); color: var(--color-accent-blue); display: flex; align-items: center; justify-content: center; font-size: 1.5rem; margin: 0 auto 16px auto; } .tour-card { background: #FFFFFF; border: 1px solid var(--color-border); border-radius: var(--radius-lg); overflow: hidden; height: 100%; display: flex; flex-direction: column; transition: var(--transition-normal); box-shadow: 0 10px 30px rgba(10, 17, 40, 0.06); position: relative; } .tour-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--gradient-gold); opacity: 0; z-index: 5; transition: var(--transition-fast); } .tour-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-hover); border-color: rgba(0, 102, 255, 0.3); } .tour-card:hover::before { opacity: 1; } .tour-card-img-wrapper { position: relative; height: 230px; overflow: hidden; background-color: var(--color-navy-dark); } .tour-card-img-wrapper img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease; } .tour-card:hover .tour-card-img-wrapper img { transform: scale(1.08); filter: brightness(1.05); } .tour-card-badge { position: absolute; top: 14px; left: 14px; background: rgba(10, 17, 40, 0.88); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--color-accent-gold); font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 0.75rem; padding: 6px 14px; border-radius: var(--radius-pill); border: 1px solid rgba(255, 183, 3, 0.4); text-uppercase: uppercase; letter-spacing: 0.05em; box-shadow: 0 4px 12px rgba(0,0,0,0.2); } .tour-duration-badge { position: absolute; bottom: 14px; right: 14px; background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--color-navy-dark); font-family: 'Outfit', sans-serif; font-weight: 800; font-size: 0.78rem; padding: 5px 14px; border-radius: var(--radius-pill); box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18); } .tour-inclusion-pill { display: inline-flex; align-items: center; gap: 5px; background: linear-gradient(180deg, #F8FAFC 0%, #EFF6FF 100%); color: var(--color-navy-primary); font-size: 0.78rem; font-weight: 700; padding: 5px 12px; border-radius: var(--radius-pill); border: 1px solid rgba(226, 232, 240, 0.9); } .tour-feature-card { background: #FFFFFF; border: 1px solid var(--color-border); border-radius: var(--radius-lg); padding: 34px 28px; height: 100%; transition: var(--transition-normal); position: relative; overflow: hidden; box-shadow: 0 10px 30px rgba(10, 17, 40, 0.05); } .tour-feature-card::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: var(--gradient-blue); opacity: 0; transition: var(--transition-fast); } .tour-feature-card:nth-child(2n)::before { background: var(--gradient-gold); } .tour-feature-card:nth-child(3n)::before { background: var(--gradient-purple); } .tour-feature-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-lg); border-color: rgba(0, 102, 255, 0.3); } .tour-feature-card:hover::before { opacity: 1; } .tour-feature-icon { width: 64px; height: 64px; border-radius: 18px; background: linear-gradient(135deg, rgba(0, 102, 255, 0.12) 0%, rgba(0, 242, 254, 0.18) 100%); color: var(--color-accent-blue); display: flex; align-items: center; justify-content: center; font-size: 1.85rem; margin-bottom: 22px; transition: var(--transition-normal); box-shadow: 0 6px 16px rgba(0, 102, 255, 0.12); } .tour-feature-card:hover .tour-feature-icon { transform: scale(1.1) rotate(4deg); }