/* ------
    CORE
   ------*/

* {
  margin: 0;
  padding: 0;
  top: 0;
  left: 0;
}

body {
  height: 100vh;
  width: 100%;
  overflow-x: hidden;
  overflow-y: hidden;
  background-color: #FEFDF9;
  display: flex;
  justify-content: center;
  align-items: center;
  background-image: url("https://www.transparenttextures.com/patterns/beige-paper.png");
}

h1, h2, h3, p {
  color: #557691;
  line-height: 1;
  text-shadow: 0.3px 0.3px 0.3px #999999;
}

h1 {
  font-family: 'Nautica', script;
  font-size: 8.375rem;
  text-align: center;
  position: relative;
  padding-bottom: 0.5rem;
}

h2 {
  font-family: 'Plantin MT Pro', 'Georgia', serif;
  font-weight: lighter;
  font-size: 2.625rem;
  text-align: center;
  position: relative;
  letter-spacing: 0.03em;
  padding-bottom: 1.5rem;
  padding-top: 1.5rem;
}

h3 {
  font-family: 'Nautica', script;
  font-size: 2.625rem;
  text-align: center;
  position: relative;
  letter-spacing: 0.04em;
  padding-bottom: 0.05rem;
}

p {
  font-family: 'Platin MT Pro', 'Georgia', serif;
  font-size: 1.5626rem;
  text-align: center;
  position: relative;
  letter-spacing: 0.04em;
  padding-bottom: 3rem;
}

p sup {
  font-size: 0.8rem;
}

.date {
  font-weight: bolder;
  padding-top: 4rem;
}

.button-box {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 10px;
}

.button {
  border-radius: 15px;
  background-color: #557691;
  color: white;
  padding: 15px 32px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 16px;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
  font-family: 'Plantin MT Pro', 'Georgia', serif;
  font-weight: lighter;
  cursor: pointer;
}

.save-the-date {
  max-height: 90vh;
}

/* ------------------
      SCREEN SIZES
  ------------------- */


  @media (max-width: 360px) {
    html {
      font-size: 50%;
    }

    .save-the-date {
      margin: auto 30px;
    }
  }

  @media (min-width: 375px) {
    html {
      font-size: 60%;
    }

    .save-the-date {
      margin: auto 30px;
    }
  }

@media (min-width: 411px) {
  html {
    font-size: 70%;
  }
}

@media (min-width: 768px) {
  html {
    font-size: 90%;
  }
}

@media (min-width: 1024px) {
  html {
    font-size: 100%;
  }
}

@media (min-width: 1600px) {
  html {
    font-size: 110%;
  }
}

/* ------------
      LOADER
   ------------ */

.loader-wrapper {
  width: 100%;
  height: 100%;
  margin: auto;
  padding: 0;
}

#monogram {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -6rem;
  margin-left: -6rem;
  width: 12rem;
  height: 12rem;
  z-index: 2500;
  color: #FEFDF9;
  filter: drop-shadow(0 0 2px #FEFDF9);
}

#loader {
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -7rem;
  margin-left: -7rem;
  width: 14rem;
  height: 14rem;
  background-color: #557691;
  color: #557691;
  border:0px solid #557691;
  border-radius: 50%;
  border-top: 2px solid #FEFDF9;
  filter: drop-shadow(0px 0px 5px #FEFDF9);
  animation: spinner 4s linear infinite;
  z-index: 2000;
}

@keyframes spinner {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

#loader-wrapper .loader-section {
    position: fixed;
    left: 0;
    width: 100%;
    height: 55%;
    background: #557691;
    z-index: 1000;
}

#loader-wrapper .loader-section.section-left {
    top: 0;
}

#loader-wrapper .loader-section.section-right {
    top: 45%;
}

/* --------------------
      LOADER - LOADED
   -------------------- */

.loaded #loader-wrapper .loader-section.section-left {
   -webkit-transform: translateY(-100%);
   -ms-transform: translateY(-100%);
   transform: translateY(-100%);
   -webkit-transition: all 2s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
           transition: all 2s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader-wrapper .loader-section.section-right {
   -webkit-transform: translateY(100%);
   -ms-transform: translateY(100%);
   transform: translateY(100%);
   -webkit-transition: all 2s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
           transition: all 2s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader {
   opacity: 0;
   -webkit-transition: all 0.5s ease-out;
           transition: all 0.5s ease-out;
}

.loaded #monogram {
   opacity: 0;
   -webkit-transition: all 0.5s ease-out;
           transition: all 0.5s ease-out;
}

.loaded #loader-wrapper {
    visibility: hidden;
}

/*
.loaded #loader-wrapper .loader-section.section-right,
.loaded #loader-wrapper .loader-section.section-left {
  -webkit-transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
          transition: all 0.7s 0.3s cubic-bezier(0.645, 0.045, 0.355, 1.000);
}

.loaded #loader-wrapper {
        -webkit-transform: translateY(-100%);
            -ms-transform: translateY(-100%);
                transform: translateY(-100%);

        -webkit-transition: all 0.3s 1s ease-out;
                transition: all 0.3s 1s ease-out;
} */

/* Commented out whilst placeholder

  /* ------------
      NAVIGATION
     ------------*/

     .header {
         position: fixed;
         top: 0;
         width: 100%;
         background: #333;
         color: white;
         display: flex;
         justify-content: space-between;
         align-items: center;
         padding: 10px 20px;
         z-index: 1000;
     }

     .burger {
        display: block;
         font-size: 30px;
         cursor: pointer;
     }

     .nav ul {
         list-style: none;
         margin: 0;
         padding: 0;
         display: flex;
     }

     .nav ul li {
         margin: 0 15px;
     }

     .nav ul li a {
         color: white;
         text-decoration: none;
         font-size: 18px;
     }

     .logo {
         font-size: 24px;
     }

     .rsvp {
         padding: 10px 20px;
         font-size: 18px;
         background: #61dafb;
         border: none;
         border-radius: 5px;
         cursor: pointer;
         color: #333;
     }

     .rsvp:hover {
         background: #21a1f1;
     }

     /* Mobile View */
     /* @media (max-width: 768px) {
         .burger {
             display: block;
         }

         .nav {
             display: none;
             position: absolute;
             top: 60px;
             left: 0;
             width: 100%;
             background: #333;
         }

         .nav ul {
             flex-direction: column;
         }

         .nav ul li {
             margin: 10px 0;
             text-align: center;
         }
     } */



  /* -----------
      HOME PAGE
     -----------



  .home-main {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: 3fr 4fr 2fr 2fr 1fr;
    height: 100vh;
    align-content: space-evenly;
    align-items: center;
    justify-items: center;
  }

  .home-info {
    grid-column-start: 2;
    grid-row-start: 2;
    align-items: center;
    text-align: center;
  }

  .home-rsvp-btn {
    grid-column-start: 2;
    grid-row-start: 4;
    align-items: end;
    font-weight: bolder;
    border-radius: 100px;
    padding: 1em 2em;
  }

*/
