* {
  font-family: "Libre Baskerville", Times, serif;
  text-align: center;
  color: #545454;
}

a {
  text-decoration: none;
}

h1 {
  font-size: 28px;
  font-weight: 900;
}

h2 {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 20px;
}

h3 {
  font-size: 16px;
  font-weight: 700;
}

p {
  font-size: 16px;
}

/* MEDIA */
img {
  width: 70%;
}

video {
  width: 100%;
}

footer {
  height: 128px;
  padding-top: 64px;
}

/* NAV */
nav {
  position: fixed;
  bottom: 0;
  width: 100%;
  height: 64px;
  display: flex;
  justify-content: space-around;
  align-items: center;
  background-color: #59839f;
}

nav * {
  color: white;
}

.nav-btn:hover *,
.nav-btn:focus * {
  color: #f0ebe2;
  cursor: pointer;
}

nav p {
  font-size: 12px;
  margin: 4px;
}

/* BACKDROP */
.red-flower-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 30%;
  z-index: 2;
}

.yellow-flower-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  width: 30%;
  z-index: 999;
}

/* CONTAINER */
.container,
.gallery-flex-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: #f0ebe2;
}

.content {
  padding: 40px 0;
}

.video-container,
.calendar-container {
  background-color: white;
}

.paper-bg {
  background-image: url(assets/paper-backdrop.png);
}

.fullscreen {
  height: calc(100vh - 64px);
}

/* LOCATION */
.location-container img {
  width: 80%;
}

.location-container h3 {
  margin-top: 30px;
  margin-bottom: 30px;
}

/* GALLERY */
.gallery-img-container {
  display: block;
  width: 300px;
  padding-bottom: 80px;
}

.gallery-img-container img {
  width: 100%;
}

.mockup-image {
  margin-bottom: 20px;
}

/* VIDEO */
.video-container .content {
  width: 80%;
}

/* RSVP FORM */
.form-container .content {
  padding: 40px 0;
  width: 90%;
}

.form-container iframe {
  width: 100%;
}

/* FOOTER */
#dev-contact-btn {
  text-decoration: underline;
}

#dev-contact-btn:hover,
#dev-contact-btn:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

/* MODAL */
.modal {
  display: none;
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0, 0, 0);
  background-color: rgba(0, 0, 0, 0.4);
}

.modal-content {
  background-color: #f0ebe2;
  padding: 20px 20px 50px 20px;
  width: 80%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.modal-content p {
  margin-top: 10px;
}

.modal-content-icon {
  margin-top: 40px;
  margin-bottom: 5px;
  font-size: 56px;
}
modal-content-icon:hover,
.modal-content-icon:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.close-btn {
  display: block;
  text-align: right;
  color: #545454;
  font-size: 28px;
  font-weight: bold;
}

.close-btn:hover,
.close-btn:focus {
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.btn-style {
  padding: 14px 28px;
  margin-top: 10px;
  border: none;
  background-color: white;
}

.btn-style:hover,
.btn-style:focus {
  background-color: #545454;
  color: #f0ebe2;
  cursor: pointer;
}

/* ENABLE MUSIC MODAL */
#enable-music-modal {
  display: block;
}

#enable-music-modal .modal-content {
  height: 50vh;
}

#enable-music-modal h2 {
  margin-top: 20vh;
}

.music-btn-container {
  display: flex;
  justify-content: center;
  gap: 40px;
}

/* CALENDAR MODAL */
#calendar-modal h2 {
  margin-top: 40px;
  margin-bottom: 0;
}

#calendar-modal h2:first-of-type {
  margin-top: 0;
}

/* LOCATION MODAL */
#location-modal .close-btn {
  margin-bottom: 20px;
}

/* CONTACT MODAL */
.contact-info {
  height: 130px;
}

.contact-person {
  font-weight: 700;
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
  img {
    width: 40%;
  }

  .red-flower-backdrop,
  .yellow-flower-backdrop {
    width: 20%;
  }

  .calendar-container .content {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 40px;
    justify-content: center;
  }

  .gallery-img-container {
    margin-top: 40px;
  }

  .gallery-flex-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 50px;
  }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
  img {
    width: 30%;
  }

  .video-container .content {
    width: 40%;
  }

  .gallery-img-container {
    width: 400px;
  }

  .gallery-flex-container {
    gap: 100px;
  }

  .location-container img {
    width: 40%;
  }

  .red-flower-backdrop,
  .yellow-flower-backdrop {
    width: 10%;
  }
}
