/* assets/css/custom.css */ :root { --primary-color: #C87E67; --background-color: #F4F1DE; --text-color: #3D405B; --accent-color: #A3624D; --heading-font: "Great Vibes", cursive; --body-font: "Lato", sans-serif; } body { font-family: var(--body-font); background-color: var(--background-color); color: var(--text-color); padding-top: 70px; /* Adjusted for fixed-top navbar */ } /* Typography */ h1, h2, h3, h4, h5, h6 { font-family: var(--heading-font); color: var(--accent-color); font-weight: bold; } .section-title { text-align: center; margin-bottom: 4rem; font-size: 3.5rem; } /* Navbar */ .navbar { background-color: rgba(244, 241, 222, 0.9); backdrop-filter: blur(10px); transition: background-color 0.3s ease; } .navbar-brand { font-family: var(--heading-font); font-size: 2.5rem; color: var(--accent-color); } .nav-link { color: var(--text-color); margin-left: 15px; font-weight: 500; transition: color 0.3s ease; } .nav-link:hover, .nav-link.active { color: var(--accent-color); } /* Hero Section */ #hero { height: 80vh; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; background-color: var(--primary-color); color: var(--background-color); } #hero .illustration { max-height: 40vh; margin-bottom: 1rem; } #hero h1 { font-size: 4.5rem; /* Further reduced */ color: var(--background-color); margin-bottom: 0.5rem; } #hero h2 { font-family: var(--body-font); font-size: 1.75rem; font-weight: 400; color: var(--background-color); margin-bottom: 2rem; } #hero p { font-size: 1.5rem; font-family: var(--body-font); color: var(--background-color); } #hero .btn { background-color: var(--background-color); color: var(--text-color); font-weight: bold; } /* Page Hero (for sub-pages) */ .page-hero { padding: 6rem 0; text-align: center; background-color: #f8f5e8; /* Lighter than main bg */ } .page-hero h1 { font-size: 5rem; margin-bottom: 1rem; } /* Sections */ .section { padding: 6rem 0; } .section.bg-light { background-color: #f8f5e8; } /* Buttons */ .btn-primary { background-color: var(--primary-color); border-color: var(--primary-color); padding: 0.75rem 2rem; font-size: 1rem; font-weight: 500; border-radius: 50px; transition: background-color 0.3s, border-color 0.3s, transform 0.2s; } .btn-primary:hover { background-color: #d46a4d; border-color: #d46a4d; transform: translateY(-2px); } /* RSVP Form */ #rsvp form { background-color: white; padding: 2.5rem; border-radius: 15px; box-shadow: 0 10px 30px rgba(0,0,0,0.05); } /* Footer */ footer { background-color: var(--text-color); color: var(--background-color); text-align: center; padding: 2rem 0; } /* Timeline for Programme Page */ .timeline { position: relative; } .timeline::before { content: ''; position: absolute; top: 0; left: 20%; height: 100%; width: 4px; background-color: var(--primary-color); transform: translateX(-50%); } .timeline-item { position: relative; margin-bottom: 50px; } .timeline-item:last-child { margin-bottom: 0; } .timeline-time { position: absolute; left: 0; top: 5px; width: 20%; text-align: right; padding-right: 30px; font-size: 1.2rem; font-weight: bold; color: var(--text-color); } .timeline-content { padding-left: 25%; } .timeline-content h3 { font-size: 2rem; color: var(--text-color); font-family: var(--body-font); font-weight: 600; } .timeline-content p { margin-bottom: 0; } .timeline-item::after { content: ''; position: absolute; top: 10px; left: 20%; width: 20px; height: 20px; background-color: var(--background-color); border: 4px solid var(--primary-color); border-radius: 50%; transform: translateX(-50%); }