@import url("https://fonts.googleapis.com/css?family=Spectral&display=swap");
@import url("https://fonts.googleapis.com/css?family=Open+Sans&display=swap");

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: normal;

  margin: auto;
  position: relative;
}

@media only screen and (min-width: 768px) {
  h1 {
    font-family: "Spectral", serif;
    font-size: 48px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1em;
  }

  h2 {
    font-family: "Spectral", serif;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1em;
  }

  h3 {
    font-family: "Spectral", serif;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1em;
  }

  h4 {
    font-size: 22px;
    font-weight: normal;
  }

  h5 {
    font-weight: 600;
    font-size: 18px;
  }
}

@media only screen and (max-width: 767px) {
  h1 {
    font-family: "Spectral", serif;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1em;
  }

  h2 {
    font-family: "Spectral", serif;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1em;
    text-align: center;
  }

  h3 {
    font-family: "Spectral", serif;
    font-size: 28px;
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1em;
  }

  h4 {
    font-size: 16px;
    font-weight: normal;
  }

  h5 {
    font-weight: 600;
    font-size: 18px;
  }

  p {
    font-size: 14px;
    line-height: 22px;
  }
}

.pt-75 {
  padding-top: 75px;
}

.mt-25 {
  margin-top: 25px;
}

.mt-50 {
  margin-top: 50px;
}

.mt-100 {
  margin-top: 100px;
}

.mb-25 {
  margin-bottom: 25px;
}

.mb-50 {
  margin-bottom: 50px;
}

.mb-100 {
  margin-bottom: 100px;
}

.mtb-50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.mtb-100 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.text-blue {
  color: #273661;
}

/* Header Section */
/*                */
/*                */

@media only screen and (min-width: 768px) {
  .header-container {
    position: fixed;
    width: 100%;
    height: 96px;

    z-index: 100;
    left: 0;
    top: 0;

    background: #ffffff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.15);
  }

  .logo {
    position: absolute;
    left: 152px;
    top: 26px;
    width: 126px;
    height: 43px;
  }

  .rsvp {
    position: absolute;
    right: 152px;
    top: 28px;
    width: 174px;
    height: 44px;

    background-color: #124bdd;
    color: white;
    border: none;
    border-radius: 2px;

    font-family: Open Sans;
    font-size: 20px;
  }
}

@media only screen and (max-width: 767px) {
  .header-container {
    position: fixed;
    width: 100%;
    height: 64px;

    z-index: 100;
    left: 0;
    top: 0;

    background: #ffffff;
    box-shadow: 0 2px 16px rgba(0, 0, 0, 0.15);
  }

  .logo {
    position: absolute;
    left: 16px;
    top: 16px;
    width: 100px;
    height: 36px;
  }

  .rsvp {
    position: absolute;
    right: 16px;
    top: 16px;
    width: 96px;
    height: 32px;

    background-color: blue;
    color: white;
    border: none;
    border-radius: 5px;

    font-family: Open Sans;
    font-size: 20px;
  }
}

/*  Body Section  */
/*                */
/*                */
@media only screen and (min-width: 1550px) {
  .upper-container {
    position: relative;
    height: 1600px;
  }

  .upper-bg {
    position: relative;
    width: 62%;
    height: 571.28px;
    z-index: 1;
    left: 0;
    top: 0;
  }

  .upper-img {
    position: absolute;
    width: 49.3%;
    z-index: 2;
    left: 5.9%;
    top: 166px;
  }

  .dots-header-img {
    position: relative;
    width: 66px;
    height: 114px;
    left: 5%;
    top: 0;
  }

  .header-img-bg {
    position: absolute;
    width: 114px;
    height: 66px;
    right: 9%;
    top: 190px;
  }

  .upper-text {
    position: absolute;
    z-index: 3;
    right: 10.6%;
    top: 229px;

    width: 37.3%;
    padding: 50px;
    background: #ffffff;
    box-shadow: 4px 8px 16px rgba(0, 0, 0, 0.2);
    border-radius: 2px;
  }

  .upper-text h1 {
    margin-bottom: 20px;
  }

  .upper-text h4 {
    color: #303030;
  }

  .lower-bg {
    position: absolute;
    width: 42%;
    height: 660px;
    z-index: 0;
    right: 0;
    top: 674px;
  }

  .lower-img {
    position: absolute;
    width: 31.8%;
    z-index: 2;
    right: 12.6%;
    top: 893px;
  }

  .lower-header {
    position: absolute;
    width: 31.8%;
    left: 12.7%;
    top: 911px;
  }

  .lower-icon {
    position: absolute;
    width: 18.2%;
    left: 11.6%;
    top: 963px;
  }

  .lower-text {
    position: absolute;
    width: 30.5%;
    left: 12.7%;
    top: 1034px;
  }
}
@media only screen and (min-width: 768px) and (max-width: 1549px) {
  .upper-container {
    position: relative;
    height: 1300px;
  }

  .upper-bg {
    position: relative;
    width: 62%;
    height: 571.28px;
    z-index: 1;
    left: 0;
    top: 0;
  }

  .upper-img {
    position: absolute;
    width: 49.3%;
    z-index: 2;
    left: 5.9%;
    top: 166px;
  }

  .dots-header-img {
    position: relative;
    width: 66px;
    height: 114px;
    left: 5%;
    top: 0;
  }

  .header-img-bg {
    position: absolute;
    width: 114px;
    height: 66px;
    right: 9%;
    top: 190px;
  }

  .upper-text {
    position: absolute;
    z-index: 3;
    right: 10.6%;
    top: 229px;

    width: 37.3%;
    padding: 50px;
    background: #ffffff;
    box-shadow: 4px 8px 16px rgba(0, 0, 0, 0.2);
    border-radius: 2px;
  }

  .upper-text h1 {
    margin-bottom: 20px;
  }

  .upper-text h4 {
    color: #303030;
  }

  .lower-bg {
    position: absolute;
    width: 42%;
    height: 660px;
    z-index: 0;
    right: 0;
    top: 574px;
  }

  .lower-img {
    position: absolute;
    width: 31.8%;
    z-index: 2;
    right: 12.6%;
    top: 793px;
  }

  .lower-header {
    position: absolute;
    width: 31.8%;
    left: 12.7%;
    top: 811px;
  }

  .lower-icon {
    position: absolute;
    width: 18.2%;
    left: 11.6%;
    top: 863px;
  }

  .lower-text {
    position: absolute;
    width: 30.5%;
    left: 12.7%;
    top: 934px;
  }
}

@media only screen and (max-width: 767px) {
  .upper-container {
    position: relative;
  }

  .upper-bg {
    position: absolute;
    width: 100%;
    z-index: 1;
    top: 45px;
  }

  .upper-img {
    position: relative;
    width: 79.3%;
    z-index: 2;
    top: 41px;
    margin: 0 auto;
  }

  .dots-header-img {
    display: none;
  }

  .header-img-bg {
    position: relative;
    width: 14%;
    left: 82.7%;
    top: 12px;
  }

  .upper-text {
    position: relative;
    z-index: 3;
    top: 20px;
    margin: 0 auto;

    width: 89.3%;
    padding: 20px;
    background: #ffffff;
    box-shadow: 4px 8px 16px rgba(0, 0, 0, 0.2);
    border-radius: 2px;
  }

  .upper-text h1 {
    margin-bottom: 20px;
  }

  .upper-text h4 {
    color: #303030;
  }

  .lower-bg {
    display: none;
  }

  .lower-img {
    display: none;
  }

  .lower-header {
    position: relative;
    text-align: center;
    margin-top: 50px;
  }

  .lower-icon {
    position: relative;
    width: 62.5%;
    margin: 0 auto;
  }

  .lower-text {
    position: relative;
    margin: 30px 20px 0;
  }
}

/*               */
/* Video Section */
/*               */
@media only screen and (min-width: 768px) {
  .video-section {
    position: relative;
    top: 0px;
    left: 10.6%;
    width: 78.9%;
  }

  .video-responsive {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
  }
  .video-responsive iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
  }
}

@media only screen and (max-width: 767px) {
  .video-section {
    position: relative;
    top: 0px;
    width: 100%;
  }
  .video-responsive {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
  }
  .video-responsive iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
  }
}

/*                    */
/* Activities Banner  */
/*                    */
.activities-container {
  position: relative;
  top: 25px;
  background-color: #effaff;
  padding: 50px;
  margin-bottom: 25px;
}

.activities-container h3 {
  margin-bottom: 50px;
  text-align: center;
}

@media only screen and (min-width: 1440px) {
  .activities-container h4 {
    margin: 25px 55px;
    text-align: center;
  }
}

@media only screen and (max-width: 1439px) {
  .activities-container h4 {
    margin: 15px 5px;
    text-align: center;
  }
}

/*                        */
/*  Testimonials Section  */
/*                        */

.testimonials-section {
  position: relative;
  height: auto;
}

@media only screen and (min-width: 768px) {
  .testimonials-section h2 {
    position: relative;
    text-align: center;
    margin-top: 80px;
  }

  .testimonial-header-underline {
    position: relative;
    width: 292px;
    margin: 0 auto;
  }

  .testimonial-1-bg {
    position: absolute;
    width: 66px;
    left: -5px;
    top: 185px;
    z-index: -1;
  }

  .testimonial-quote {
    position: absolute;
    width: 45px;
    left: -50px;
    top: -10px;
  }

  .testimonial-2-bg {
    position: absolute;
    width: 66px;
    left: 5px;
    top: -30px;
    z-index: -1;
  }

  .testimonial-bg-icon {
    position: absolute;
    width: 228px;
    left: -28px;
    top: 157px;
  }
}

@media only screen and (max-width: 767px) {
  .testimonials-section h2 {
    position: relative;
    text-align: center;
    margin-top: 50px;
  }

  .testimonial-header-underline {
    position: relative;
    width: 238px;
    margin: 0 auto;
  }

  .testimonial-quote {
    position: absolute;
    width: 45px;
  }

  .testimonial-text {
    margin: 35px;
  }

  .testimonial-1 {
    display: block;
    width: 60%;
    margin: 0 auto;
  }

  .testimonial-1-bg {
    position: absolute;
    width: 28px;
    right: 90px;
    top: -10px;
    z-index: -1;
  }

  .testimonial-2 {
    display: block;
    width: 60%;
    margin: 0 auto;
  }

  .testimonial-2-bg {
    position: absolute;
    width: 31px;
    left: 97px;
    top: -14px;
    z-index: -1;
  }

  .testimonial-bg-icon {
    position: absolute;
    width: 139px;
    left: -28px;
    top: 157px;
  }

  .row.mtb-100 {
    margin-top: 50px;
    margin-bottom: 0px;
  }
}

/*                    */
/*     Map Section    */
/*                    */
.map-section {
  width: 100%;
  margin-top: 50px;
  background: #ededed;
  border-bottom: 5px solid #fa6e65;
}

.map-container {
  margin-left: 15px;
  margin-right: 15px;
}

@media only screen and (min-width: 1440px) {
  .location-info {
    padding: 75px 100px 100px 175px;
  }
}

@media only screen and (max-width: 1439px) {
  .location-info {
    padding: 50px 75px 0 100px;
  }
}

@media only screen and (min-width: 768px) {
  .location-header-1 {
    display: none;
  }
  .map-padding {
    padding-right: 0;
  }
}

@media only screen and (max-width: 767px) {
  .location-info {
    padding: 25px 15px 15px 25px;
  }

  .location-header-1 {
    color: #273661;
    margin-bottom: 25px;
  }

  .location-header-2 {
    display: none;
  }

  .map-padding {
    padding-right: 15px;
  }

  #map {
    height: 200px;
  }
}

.location-info h3 {
  color: #273661;
  line-height: normal;
  margin-bottom: 50px;
}

/*                    */
/*  Sign Up Section   */
/*                    */

.signUp-header-underline {
  position: relative;
  width: 292px;
}

.signUp-bg {
  position: relative;
}
.signUp-img-bg {
  position: absolute;
  top: -50px;
  left: -50px;
  z-index: -1;
}

@media only screen and (max-width: 767px) {
  .signUp-bg {
    display: none;
  }
  .signUp-img-bg {
    display: none;
  }
}
