37260-vm/assets/css/custom.css
2026-01-04 11:05:49 +00:00

207 lines
4.0 KiB
CSS

/* 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%);
}