html, body{
    margin: 0;
    padding: 0;
    overflow-x: hidden;

    font-family: 'Quattrocento', serif;
    background-color: #b0becc;
}

.navbar{
    width: 100vw;
    height: 2.25rem;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    position: fixed;
    top: 0;
    z-index: 2;
    font-size: 1.75rem;

    font-family: 'Playfair Display', serif;
    color: white;
}

.navbarLogoLink{
    text-decoration: none;

    color: #ffffff;
}

.navbarScrolled{
    height: 1.75rem !important;
    padding-top: 0.25rem !important;
    padding-bottom: 1rem !important;

    color: #09131d;
    background-color: #ffffff;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);

    transition: all ease-in 0.1s;
}

.navbarScrolled .navbarLinks a{
    font-size: 1.5rem;

    color: #09131d;
}

.navbarScrolled .navbarLogoLink{
    color: #09131d;
}

.navbarLinks{
    text-align: right;
}

.navbarLinks a{
    margin-left: 2rem;

    color: white;
    text-decoration: none;

    transition: all ease-in 0.1s;
}

.navbarLinks a:hover{
    opacity: 0.75;
}

.homeHero{
    background-image: url('./images/hero\ \(Small\).png'), url('./images/hero\ \(Medium\).png'), url('./images/hero\ \(Large\).png');
}

.aboutHero{
    background-image: url('./images/aboutHero\ \(Small\).jpg'), url('./images/aboutHero\ \(Medium\).jpg'), url('./images/aboutHero\ \(Large\).jpg');
}

.bookingHero{
    background-image: url('./images/bookingHero\ \(Small\).jpg'), url('./images/bookingHero\ \(Medium\).jpg'), url('./images/bookingHero\ \(Large\).jpg');
}

.hero{
    height: 100vh;
    width: 100vw;
    max-width: 100vw;
    overflow: hidden;

    background-color: black;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.hero h1{
    text-align: right;
    margin: 0;
    margin-right: 10rem;
    font-size: 4rem;
    padding-top: 15%;

    font-family: 'Playfair Display', serif;
    color: white;
}

.heroLogo{
    filter: brightness(0) invert(1);
    width: 10rem;
    margin-top: 1rem;
}

.block{
    margin-top: 10rem;
}

h2{
    font-size: 2rem;

    color: #09131d;
    font-family: 'Playfair Display', serif;
}

h2{
    font-family: 'Playfair Display', serif;
}

p{
    font-size: 1.5rem;
    line-height: 2rem;

    color: #09131d;
}

.ourHorseImages{
    gap: 10rem;
}

.ourHorseImage{
    width: 100%;
    height: 20rem;
    margin-left: auto;
    margin-right: auto;
    object-fit: cover;
    border-radius: 1rem;
}

.ourHorseName{
    text-align: center;
    margin-top: 2rem;
    font-size: 1.5rem;
}

.meetNaomi{
    gap: 5rem;
    margin-top: 5rem;
}

.meetNaomi img{
    height: 25rem;
    float: right;
    border-radius: 3rem;
}

.meetNaomi p{
    width: 20rem;
    margin-top: 0;

    color: #09131d;
}

.homeContent{
    background-image: url('./images/backgroundAssets/stacked-waves-haikei.svg');
    background-size: cover;
    background-repeat: no-repeat;
    padding-bottom: 10rem;
    padding-top: 5rem;
}

.photoGrid{
    gap: 2rem;
}

.photoGrid img{
    width: 100%;
    height: 10rem;
}

.calendly{
    margin-bottom: 10rem;
    margin-top: 5rem;
}

.marginBottom{
    margin-bottom: 10rem;
}

.whiteImg{
    filter: brightness(0) invert(1);
}

.footer{
    color: #ffffff;
    background-color: #12589b;
}

.footer p{
    color: #ffffff;
}

.footerCopy{
    text-align: center;
    margin: 0;
    padding: 2rem;
}

.footer{
    padding-top: 2rem;
    padding-left: 5rem;
    padding-right: 5rem;
}

.footerImg{
    height: 15rem;
    float: right;
}

.footerSiteLinks a{
    text-decoration: none;
    color: #ffffff;
    display: block;
    margin: 1rem;
}

.socialIcon{
    text-decoration: none;
    color: #09131d;
    margin: 1rem;
    background-color: #ffffff;
    padding: 1.25rem;
    border-radius: 5rem;
    text-align: center;
}

/* Re-usable classes */

.grid-2{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
}

.grid-3{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2rem;
}

.grid-4{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 2rem;
}

.grid-5{
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 2rem;
}

.grid-6{
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 2rem;
}

.container{
    max-width: 64rem;
    margin-right: auto;
    margin-left: auto;
}

.inline{
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
}

.facebook-embeded{
    max-width: 315px;
    overflow: hidden;
}

.paper {
    width: auto;
    height: auto;
    padding: 2rem;
    transform: rotate(-1deg);
    margin: 2em auto;
    background: #fff;
    box-shadow: 4px 4px 0 #00486B;
    background-image:
      linear-gradient(
        90deg,
        #fff 12px, 0,
        #00486B 15px, 0,
        #1373A9 20px, 0,
        #fff 100%
      ),
      radial-gradient(
        circle closest-side,
        rgba(255,255,255,0) 88%,
        #fff 100%
      ),
      radial-gradient(
        circle at 22px 8px,
        #1373A9 40%,
        #00486B 40%,
        #00486B 100%
      );
    background-size: 32px 8px, 32px 16px, 32px 16px;
    background-repeat: space no-repeat;
    background-position: center top, center 6px, center 6px;
    
    &--alt {
      background-image: linear-gradient(90deg, #fff 12px, 0, #00486B 15px, 0 ,#1373A9 20px, 0,#fff 100%),radial-gradient(circle closest-side,rgba(255,255,255,0) 88%,#fff 100%),radial-gradient(circle at 22px 8px,#1373A9 40%,#00486B 40%,#00486B 100%);
      background-image: url("data:image/svg+xml,%3Csvg fill='none' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 21'%3E%3Cpath d='M20 0h-7v6.9a7.5 7.5 0 107 0V0z' fill='%231373A9'/%3E%3Cpath d='M13 0h3v6.9a7.5 7.5 0 002 14 7.5 7.5 0 01-9-7.4c0-2.9 1.6-5.4 4-6.6V0z' fill='%2300486B'/%3E%3C/svg%3E");
      background-size: 2em 1.3125em;
    }

    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
  }

  .horseshoeLeft{
    margin-right: 15rem;
    float: right;
    transform: rotate(-10deg);
  }

  .horseshoeLeft svg{
    height: 5rem;
  }

  .navbarHambergerMenu{
    display: none;
    margin-top: 0.25rem;
  }

  .navbarHambergerMenu svg{
    height: 2rem;
    float: right;
    filter: brightness(0) invert(1);
  }

  .navbarScrolled .navbarHambergerMenu svg{
    filter: none;
  }

  .navbar-grid{
    display: grid;
    grid-template-columns: repeat(2, auto);
    gap: 2rem;
  }

.navbarHambergerMenu:hover + .navbarLinks {
    display: block;
}

.navbarLinkDivider{
    display: none;
}

/* Mobile-specific styles */
@media (max-width: 775px) {
    .grid-3{
        grid-template-columns: repeat(1, 1fr);
    }

    .ourHorseImages{
        padding: 5rem;
    }

    .container{
        max-width: 30rem!important;
   }

   .navbarHambergerMenu{
    display: block;
   }

   .navbarLinkDivider{
    display: block;
    border-top: 1px solid #09131d;
    }

   .navbarLinks{
    display: none;
    position: absolute;
    left:0;
    top: 3rem;
    padding: 1rem;
    background-color: #ffffff;
    width: calc(100% - 2rem);
   }

   .navbarLinks a{
    display: block;
    text-align: center;
    padding: 1rem;
    color: #000000;
    margin-left: 0;
   }

   .navbarLinks:hover{
        display: block
   }

}

@media(max-width: 1100px){
   .container{
        max-width: 40rem;
   }

   .grid-3{
        grid-template-columns: repeat(1, 1fr);
   }

   .footer .grid-3{
    grid-template-columns: repeat(3, 1fr)!important;
   }

   /* .meetNaomi{
        grid-template-columns: repeat(1, 1fr)!important;
   } */

   .meetNaomi img{
        height: 12rem;
    }

    .partners .grid-2{
        grid-template-columns: repeat(1, 1fr);
        gap: 3rem;
        margin-top: 5rem;
    }

    .partners img{
        width: auto;
        height: 6rem;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

    .map .grid-2{
        grid-template-columns: repeat(1, 1fr);
        gap: 3rem;
        margin-top: 5rem;
        display: flex;
        flex-direction: column-reverse;
    }

    .grid-4{
        grid-template-columns: repeat(3, 1fr);
    }
}

@media(max-width: 600px){
    .grid-2{
        grid-template-columns: repeat(1, 1fr);
    }

    .grid-4{
        grid-template-columns: repeat(2, 1fr);
    }

    .container{
        width: calc(100vw - 4rem)!important;
    }

    .meetNaomi div img{
        display: block!important;
        margin-left: auto!important;
        margin-right: auto!important;
        float: none;
    }

    .meetNaomi div p{
        width: auto;
    }

    .partners img{
        height: 4rem;
    }

    .hero{
        height: 50vh;
    }

    .hero h1{
        font-size: 2rem;
        margin-top: 5rem;
        width: 100%;
        text-align: center;
    }

    .homeHero h1{
        margin-top: 0rem !important;
        padding-top: 0rem !important;
    }

    .ourHorseImages{
        padding: 0;
    }

    .footer .grid-3{
        grid-template-columns: repeat(1, 1fr)!important;
    }

    .grid-4{
        grid-template-columns: repeat(1, 1fr);
    }

    .footerImg{
        float: none;
        height: 7rem;
        display: block;
        margin-left: auto;
        margin-right: auto;
    }

    .navbar .navbar-grid{
        width: calc(100vw - 4rem)!important;
    }
}