@import url('https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:wght@400;500;600&family=Montserrat:wght@300;400;500&display=swap');

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{

font-family:
'Montserrat',
sans-serif;

background:#f6f0e8;

color:#22344f;

}

/* CURSIVE ONLY */

.header-name{

font-family:
'Great Vibes',
cursive;

font-size:4rem;

font-weight:400;
color:#d8a35d;

}

.dark{
color:#22344f;
}

.hero{

height:100vh;

background:
linear-gradient(
rgba(18,31,60,.75),
rgba(18,31,60,.8)
),



url(
https://images.unsplash.com/photo-1506744038136-46273834b3fb
);

background-size:cover;

color:white;

}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

margin-top:25px;

flex-wrap:wrap;

}

.hero-buttons .btn{

margin-top:0;

}

nav{

display:flex;

justify-content:space-between;

align-items:center;

padding:30px 8%;

}

nav ul{

display:flex;

gap:30px;

list-style:none;

}

nav a{

text-decoration:none;

color:#d8a35d;

font-weight:500;

transition:.3s;

}

nav a:hover{

color:#806b4f;

}

/* page headers */

.page-header{

background:#22344f;

color:white;

min-height:220px;

}

.page-title{

text-align:center;

padding-top:20px;

font-size:1.2rem;

letter-spacing:2px;

color:#d8a35d

}

.hero-content{

text-align:center;

padding-top:150px;

}
/* hyperlinks inside body text */

p a{

color:#ffffff;

text-decoration:none;

font-weight:600;

border-bottom:
1px solid
rgba(
196,
138,
58,
0.6
);

transition:.3s;

}

p a:hover{

color:#d8a35d;

border-bottom:
1px solid
#e0ab57;

}

.date{

font-size:2rem;

color:#d8a35d;

letter-spacing:3px;

}

.btn{

display:inline-block;

margin-top:20px;

padding:14px 28px;

background:#22344f;

color:#d8a35d;

text-decoration:none;

border-radius:30px;

}

.btn:hover{

color:#546c94;

border:
1px solid
#e2b772;

}

.details,
.lookup,
.faq-container{

padding:80px 10%;

}

.lookup{

padding:35px;

border-left:
5px solid
#d8a35d;

box-shadow:
0 10px 20px
rgba(0,0,0,.08);

}

.details-card,
.faq-card,
.rsvp-form{

background:white;

padding:35px;

border-left:
5px solid
#d8a35d;

box-shadow:
0 10px 20px
rgba(0,0,0,.08);

}

.rsvp-form{

display:flex;

flex-direction:column;

gap:15px;

margin-top:30px;

}

input,
textarea,
select{

padding:14px;

border-radius:8px;

border:1px solid #ddd;

}

.meal{

padding:12px;

background:#f2f2f2;

border-radius:8px;

margin-top:10px;

}

.page-header{

background:#22344f;

color:white;

text-align:center;

padding:60px;

}

.hidden{

display:none;

}

.guest-section{

padding:80px 10%;

}

footer{

background:#18253b;

color:white;

text-align:center;

padding:25px;

}

/* DINNER MENU */

.menu-description{

font-family:
'Cormorant Garamond',
serif;

background:#22344f;

padding:30px;

border-radius:16px;

border:3px solid #c48a3a;

margin-bottom:25px;

box-shadow:
0 10px 20px
rgba(0,0,0,.15);

}

.menu-description h3{

font-family:
'Cormorant Garamond',
serif;

color:#c48a3a;

font-size:2rem;

text-align:center;

margin-bottom:25px;

letter-spacing:1px;

}

/* MENU SECTIONS */

.course{

background:
rgba(
255,
255,
255,
0.04
);

padding:18px;

margin-top:18px;

border:2px solid #c48a3a;

border-radius:12px;

}

.course h4{

font-family:
'Cormorant Garamond',
serif;

color:#c48a3a;

font-size:1.2rem;

margin-bottom:10px;

text-transform:uppercase;

letter-spacing:1px;

}

.course p{

font-family:
'Cormorant Garamond',
serif;

color:#f5e8d0;

line-height:1.8;

}

.rsvp-form label{

display:block;

color:#c48a3a;

font-weight:600;

margin-bottom:12px;

letter-spacing:.5px;

}

/* GUEST MEALS */

.guest-meal{

display:flex;

justify-content:space-between;

align-items:center;

gap:30px;

background:#22344f;

padding:22px;

margin-top:18px;

border-radius:14px;

border:2px solid #c48a3a;

box-shadow:
0 8px 18px
rgba(
0,
0,
0,
.12
);

}

.guest-meal h3{

flex:1;

color:#c48a3a;

font-size:1.3rem;

margin:0;

padding:0;

border:none;

}

.guest-meal .meal-field{

flex:1;

display:flex;

flex-direction:column;

}

.guest-meal select{

width:100%;

padding:14px;

margin-top:12px;

background:#f7f1e8;

border-radius:8px;

border:none;

}

.lookup input{

width:100%;

margin-bottom:18px;

}

.lookup button{

width:100%;

padding:14px;

background:#22344f;

color:#c48a3a;

border:none;

border-radius:8px;

font-size:1rem;

cursor:pointer;

transition:.3s;

}

.lookup button:hover{

background:#546c94;

}

.decline-message{

margin-top:30px;

padding:30px;

background:#22344f;

border:2px solid #c48a3a;

border-radius:14px;

text-align:center;

}

.decline-message p{

color:#f5e8d0;

font-size:1.05rem;

line-height:1.8;

}

.form-group{

display:flex;

flex-direction:column;

width:100%;

margin-top:20px;

}

.form-group textarea,
.form-group input{

width:100%;

}

.form-group textarea{

resize:none;

min-height:120px;

}

.submit-btn{

width:100%;

padding:14px;

margin-top:20px;

background:#22344f;

color:#c48a3a;

border:none;

border-radius:8px;

font-size:1rem;

cursor:pointer;

transition:.3s;

}

.submit-btn:hover{

background:#546c94;

}

.thank-you{

max-width:700px;

margin:80px auto;

padding:50px;

text-align:center;

background:#22344f;

border:3px solid #c48a3a;

border-radius:16px;

}

.thank-you h2{

font-family:
'Cormorant Garamond',
serif;

font-size:3rem;

color:#c48a3a;

margin-bottom:20px;

}

.thank-you p{

color:#f5e8d0;

line-height:1.8;

margin-bottom:15px;

}

.signature{

font-family:
'Great Vibes',
cursive;

font-size:2rem;

color:#c48a3a;

}

.thank-btn{

display:inline-block;

margin-top:20px;

padding:14px 32px;

background:#22344f;

border:2px solid #c48a3a;

border-radius:8px;

color:#c48a3a;

text-decoration:none;

}

/* MOBILE */

@media (max-width:768px){

nav{

flex-direction:column;

gap:20px;

text-align:center;

}

nav ul{

flex-wrap:wrap;

justify-content:center;

gap:20px;

}

.header-name{

font-size:3rem;

}

/* hero */

.hero-content{

padding-top:100px;

padding-left:20px;

padding-right:20px;

}

.hero-content h2{

font-size:2.5rem;

}

/* cards */

.details,
.lookup,
.guest-section,
.faq-container{

padding:50px 20px;

}

/* meal cards stack */

.guest-meal{

flex-direction:column;

align-items:flex-start;

gap:20px;

}

.guest-meal h3{

width:100%;

padding-bottom:10px;

border-bottom:
1px solid
rgba(
196,
138,
58,
0.4
);

}

.meal-field{

width:100%;

}

/* buttons */

.lookup button,
.submit-btn{

width:100%;

}

/* menu */

.menu-description{

padding:20px;

}

.menu-description h3{

font-size:2rem;

}

.course p{

font-size:1.05rem;

}

}