/* Universal Style */

html {
    font-family: "Poppins", sans-serif;
    font-weight: 400;
    font-size: 16px;
  }

h1 {
    font-family: 'Bodoni Moda', serif;
  }

.main-content {
    position: relative;
    top: 6.3125rem;
  }
  
.center {
  text-align: center;
}

.button {
  border-radius: 4px;
  background-color: #FFEFD9;
  text-align: center;
  color: #495D6A;
}

.image-container {
  overflow: hidden;
}

.image-container img {
  display: block;
}

@media only screen and (max-width: 760px) {
  .main-content {
    top: 2.5625rem;
  } 
}

/* Header */

header {
  position: fixed;
  z-index: 100;
  width: 100%;
  border-bottom: solid 1px #FFEFD9;
  background-color: #5F8FAD;
}

header .header-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.875rem;
}

/* header img {
  margin-left: 150px;
} */

header .title {
  font-size: 2rem;
  font-family: "Bodoni Moda", serif;
  font-weight: 400;
}

header .subtitle {
  line-height: 1.75rem;
  font-size: 0.75rem;
  font-family: "Poppins", serif;
  font-weight: 400;
}

header .desktop-logo {
  color: #FFEFD9;
  margin-left: 1.875rem;
  text-decoration: none;
}

header .logo {
  flex: 1;
}

header nav ul {
  max-height: 5.313rem;
  display: flex;
  right: 1.875rem;
}

nav li {
  padding-left: 3.5rem;
  list-style-type: none;
}

nav .last-link {
  padding-right: 0rem;
}

nav a {
  vertical-align: bottom;
  line-height: 1.6;
  font-size: 1rem;
  color: #FFEFD9;
  font-weight: 400;
  text-decoration: none;
}

header .mobile {
  display: none;
}

@media only screen and (max-width: 760px) {

  .main-content {
    top: 0rem;
  }

  header {
    position: static;
  }

  header .header-nav{
    flex-direction: column;
  }

  header nav ul {
    margin-block-start: 0em;
    margin-block-end: 0em;
    padding-inline-start: 0px;
  }

  header nav li {
    width: 100%;
    text-align: center;
    padding: 0;
  }

  header .desktop {
    margin-top: 1rem;
    width: 100%;
    /* display: none; */
  }

  header .content {
    padding: .5rem 0;
  }

  header .desktop-logo {
    font-size: 2rem;
    margin: 0;
  }
}

/* Hero Banner */

#hero-banner {
  background-image: url(./images/laura-benny-sit-2-1200.jpg);
  background-position: bottom;
  background-size: cover;
  background-repeat: no-repeat;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  height: 43.5rem;
}

#meet-and-greet {
  padding: 0 5rem 2.5rem 5rem;
  border: solid .5px #FFEFD9;
  border-radius: 4px;
  background-color: rgba(95, 143, 173,.9);
  margin-top: 8.75rem;
  margin-left: 6.25rem;
  text-align: center;
}

#meet-and-greet .content-center {
  width: 25.625rem;
  margin-top: 2rem;
  font-size: 1.25rem;
  line-height: 1.4;
  color: #FFEFD9;
}

#meet-and-greet a:hover {
  background-color: #495D6A;
  color: #FFEFD9;
}

/* #meet-and-greet a:active {
  box-shadow: 2px 2px 5px black;
} */

#meet-and-greet h1 {
  margin: 0.25em;
  font-size: 3.125rem;
  font-family: 'Bodoni Moda', serif;
  font-weight: 400;
}

#meet-and-greet h2 {
  font-size: 2.25rem;
  font-family: 'Bodoni Moda', serif;
  padding-bottom: .75rem;
  font-weight: 200;
  color:#FFEFD9;
}
#meet-and-greet span {
  font-weight: 200;
}

#meet-and-greet .button {
  text-decoration: none;
  display: block;
  margin-top: 1.625rem;
  padding: 1.25rem 7.25rem;
}

@media only screen and (max-width: 760px) {
  #hero-banner {
    background-image: url(./images/laura-benny-sit-2-800.jpg);
    align-items: center;
    justify-content: center;
    height: 28rem;
  }

  #meet-and-greet {
    position: static;
    margin-top: 0;
    margin-left: 0;
    padding: 20px;
    border-radius: 0px;
    width: auto;
    height: auto;
    border: solid .5px #FFEFD9;
    /* background-color: rgba(95, 143, 173,.8); */
    /* background-color: transparent; /* this is why the box dissapears */
  }

  #meet-and-greet .content {
    display: flex;
    width: auto;
    margin-top: 0;
    align-items: center;
    justify-content: center; 
  }

  #meet-and-greet .content-center {
    width: 100%;
  }

  #meet-and-greet .email {
    display: none;
  }

  #meet-and-greet h1 {
    font-size: 3.125rem;
  }

  #meet-and-greet h2 {
    font-size: 2.25rem;
  }
}

@media only screen and (max-width: 450px) {
  #hero-banner {
    background-image: url(./images/laura-benny-sit-2-450.jpg);
    /* height: 20rem; */
  }

  #meet-and-greet h1 {
    font-size: 2.25rem;
  }

  #meet-and-greet h2 {
    font-size: 2rem;
  }
}

/* About */

#about-section {
  display: flex;
  justify-content: center;
  align-content: center;
  padding: 4rem 5%;
  background-color: white;
}

.about {
  flex: 1;
  padding: 2rem;
  margin: 0px 1.25rem;
  background-color: #5F8FAD;
}

.about .image-container {
  width: 100%;
  height: 600px;
  margin: 0 auto;
  display: flex;
}

.about .images {
  width: 100%;
  height: 100%;
  /* max-width: 100%; */
  object-fit: cover;
  display: block;
}

.about h2 {
  padding-top: 2.5rem;
  padding-bottom: .5rem;
  font-size: 2.25rem;
  font-weight: 400;
  color: #FFEFD9;
}

.about h3 {
  font-size: 1rem;
  line-height: 1.2;
  font-weight: 300;
  color: #FFEFD9;
}

@media only screen and (max-width: 890px) {
  .about h2 {
    font-size: 1.125rem;
    line-height: 1.3;
    font-weight: normal;
  }

  .about h3 {
    font-size: .875rem;
    line-height: 1.4;
  }
}

@media only screen and (max-width: 760px) {
  #about-section {
    flex-flow: column;
    padding: 0;
  }

  .about {
    margin: 0;
    padding: 1.25rem 1rem 0 1rem;
  }

  .about .content {
    padding: 1.25rem 0 1.875rem 0;
  }
}

/* Services */

#services-section {
  padding: 1rem 0;
  background-color: #FFEFD9;
}

#services-section .content {
  padding: 0.625rem;
  margin-bottom: 1rem;
}

#services-section a:hover {
  background-color: #5F8FAD;
}

#services-section .content h2 {
  font-size: 2.25rem;
  font-weight: 400;
  color: #495D6A;
}

#services-section .content h3 {
  font-size: 1rem;
  font-weight: 400;
  color: #495D6A;
}

#services-section h3 {
  font-size: 1rem;
  line-height: 1.4;
  font-weight: bold;
  color: #495D6A;
}

#services-section h4 {
  font-size: 1rem;
  font-weight: 400;
  color: #495D6A;
}

.service-image1 {
  grid-area: service-image1;
}
.service-image2 {
  grid-area: service-image2;
}
.service-image3 {
  grid-area: service-image3;
}
.service-content1 { 
  grid-area: service-content1;
}
.service-content2 { 
  grid-area: service-content2;
}
.service-content3 { 
  grid-area: service-content3;
}
.service-button1 {
  grid-area: service-button1;
}
.service-button2 {
  grid-area: service-button2;
}
.service-button3 {
  grid-area: service-button3;
}

#services-section .services {
  display: grid;
  grid-column-gap: 10px;
  margin: 0px 10px;
  align-items: start;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-areas:
  "service-image1 service-image2 service-image3"
  "service-content1 service-content2 service-content3"
  "service-button1 service-button2 service-button3"
}

#services-section .service {
  width: auto;
  padding: 0 1%;
  color: #495D6A;
}

.service-button1, .service-button2, .service-button3 {
  text-decoration: none;
  display: block;
  width: 100%;
  margin: 1.625rem 0rem;
  padding: 1.25rem 0rem;
  border-radius: 4px;
  background-color: #495D6A;
  text-align: center;
  color: #FFEFD9;
}

.service-image1, .service-image2, .service-image3 {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.service-content1, .service-content2, .service-content3 {
  color: #495D6A;
}

@media only screen and (max-width: 760px) {
  #services-section {
    padding: 1.5rem 0 0.313rem 0;
  }

  #services-section .content {
    margin-bottom: 1rem;
  }

  #services-section .content h2 {
    padding-bottom: .625rem;
    font-size: 1.125rem;
    line-height: 1.3;
    font-weight: normal;
  }

  #services-section .content h3 {
    font-size: .875rem;
    line-height: 1.4;
  }

  #services-section .content h4 {
    font-size: 1rem;
    font-weight: 400;
    color: #495D6A;
  }

  #services-section .services {
    display: block;
  } 

  #services-section .service {
    width: auto;
    padding: 0.3rem;
  }

  #services-section .button {
    margin-bottom: 1.625rem;
  }

  #services-section .extra {
    display: none;
  }
}

/* Reviews */

#reviews-section {
  background-color: white;
  overflow-x: hidden;
}

#reviews-section .content {
  padding: 5rem 0;
}

#reviews-section h2 {
  color: #495D6A;
}

#reviews-section .quote {
  display: block;
  margin: 0rem 10rem;
  font-family: "Bodoni Moda", serif;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.4;
  color: #495D6A;
}

#reviews-section .quote-citation {
  height: 1.875rem;
}

.review-slider {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  min-height: 22rem;
}

.reviews {
  display: flex;
  flex-wrap: nowrap; /* prevent reviews from wrapping to new line */
  overflow: hidden; /* hide the reviews that are outside the container */
  width: 100%;
}

.review {
  flex-basis: 100%; 
  max-width: 100%; 
  transition: transform 0.3s ease;
  padding: 5rem 0;
  color: #495D6A; /* apply the color to .review instead of #reviews-section */
  text-align: center;
}

.review h2 {
  text-align: center;
}

.review .quote {
  display: block;
  margin: 0rem 10rem;
  font-family: "Bodoni Moda", serif;
  font-size: 1.125rem;
  font-style: italic;
  line-height: 1.4;
  color: #495D6A; /* apply the color to .quote inside .review instead of #reviews-section */
}

.prev, .next {
  position: absolute;
  top: 50%;
  font-size: 2rem;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #495D6A;
}

.prev {
  left: 5px;
}

.next {
  right: 5px;
}


@media only screen and (max-width: 760px) {
  #reviews-section .content {
    padding: 1.875rem .625rem;
  }

  .review .quote {
    margin: 0rem 5rem;
    font-size: 1.5rem;
    line-height: 1.4;
  }

  #reviews-section .quote-citation {
    display: block;
    padding-top: 1rem;
    margin: auto;
  }

  .review-slider {
    min-height: 30rem;
  }

  @media only screen and (max-width: 375px) {
    .review {
      padding: 2rem 0;
    }
  
    .review h2 {
      font-size: 1.5rem;
    }
  
    .review .quote {
      margin: 0 2rem;
      font-size: 1rem;
    }

    .review-slider {
      min-height: 22rem;
    }
  }
}

/* Footer */

footer {
  background-color: #5F8FAD;
  padding: 1.5rem 2rem;
}

footer .content {
  color: #FFEFD9;
  display: flex;
  font-size: .75rem;
  flex-direction: column; /* Stack elements vertically */
  justify-content: space-between;
  align-items: center; /* Vertically center the content */
}

footer .left,
footer .center,
footer .right {
  flex-basis: 33.33%; /* Equal width for the three sections */
  text-align: center;
}

footer .left {
  text-align: left; /* Align text to the left within the left section */
}

footer .right {
  text-align: right; /* Align text to the right within the right section */
}

@media only screen and (min-width: 760px) {
  footer .content {
    font-size: .75rem;
    flex-direction: row; /* Stack elements vertically */
  }
}

@media only screen and (min-width: 375px) {
  footer .content {
    font-size: .675rem; /* Reduce font size for smaller screens */
    padding: 0.5rem; /* Add padding to create space between elements */
  }  
}