@import url('https://fonts.googleapis.com/css2?family=Merriweather:ital,opsz,wght@0,18..144,300..900;1,18..144,300..900&family=Neuton:ital,wght@0,200;0,300;0,400;0,700;0,800;1,400&family=Special+Gothic&family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');

:root {
  --body-font: "Lato", sans-serif;
  --body-font-color: #222222;
  --body-bg-color: #2c2b2b;
  --heading-font: "Merriweather";
  --content-bg-color: #f5f5f5;
  --white: #fff;
  --font-size: 14pt;
  --font-size-heading: 5rem;

  /* Banner */
  --banner-bg-color: #E0777D;
  --banner-font-color: #F2F7F2;
  --banner-font-size: var(--font-size);

  /* Landing page */
  --landing-height: 800px;

  /* Featured products */
  --feature-bg-color: #9CAC3C;
  --feature-font-color: #fff;

  /* Footer */
  --footer-bg-color: #4C4C4C;
  --footer-text-color: #ffffff;
  --footer-text-size: 1.2rem;

  /* Misc colors */
  --color-highlight: #E0777D;
  --color-bg-light: #DAF0EE;
  --color-cta: #5299D3;
  --color-cta-text: #fff;
}

body {
  font-family: var(--body-font) !important;
  font-size: var(--font-size) !important;
  margin: 0px;
  padding: 0px;
  font-weight: 400;
  font-style: normal;
  background-color: var(--body-bg-color) !important;
}

h1, h2, h3, h4, h5 {
  font-family: var(--heading-font), serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  margin-bottom: 1em !important;
}

#banner {
  background-color: var(--banner-bg-color);
  color: var(--banner-font-color);
  font-size: var(--banner-font-size);
  padding: 1rem;
  text-align: center;
  font-weight: 500;


  a {
    color: var(--banner-font-color);
  }
}

#banner:not(:has(> .view-content)) {
  display: none;
}

#thingamajig {
  display: none;
}

#headerimage {
  background-color: white;
}


#topnav {

  background-color: var(--footer-bg-color);

  button.navbar-toggler {
    /* display: inline-block; */
    z-index:100;
  }

}

.mobile-cta {
  display: flex;
  text-align: center;
  align-content: center;
}

.btn-cta {
  display: block;
  border-radius: 2rem;
  background-color: var(--color-cta);
  background-image: none;
  padding: 1rem;
  padding-left: 3rem;
  padding-right: 3rem;
  color: var(--color-cta-text) !important;
  margin-left: 1rem;
  margin-right: 3rem;

  text-align: center;

  a {
    color: white;
    text-decoration: none;
  }
}
.skew-right {
  background-image: url("../assets/img/herobg.png");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  justify-content: center;


  .logo {
    justify-content: center;
    background-color: rgba(76,76,76,0.6);
    text-align: center;
    margin-bottom: 1rem;


    img {
      height: 150px;
    }
  }



  .landing-text {
    padding-left: 2rem;

    .navbar {
      justify-content: center;
    }



    h1 {
      font-size: var(--font-size-heading);
      color: white;
      max-width: 80%;
    }

    #navbarNav {
      background-color: var(--footer-bg-color);

      #mainnav {


        .nav-item {
          font-size: 1em;
          height: auto;

          a.nav-link {
            color: white;
          }

        }
        .btn-cta {
          display: none;
        }
      }

    }

    .nav-link:hover {
      text-decoration: underline;
    }

    .nav-pills .nav-link.active, .nav-pills .media-library-view--widget .view-header a.active, .nav-pills .media-library-view--widget .view-header a.is-active, .media-library-view--widget .view-header .nav-pills a.active, .media-library-view--widget .view-header .nav-pills a.is-active, .nav-pills .show > .nav-link, .nav-pills .media-library-view--widget .view-header .show > a, .media-library-view--widget .view-header .nav-pills .show > a {
      background-color: none !important;
    }

  }
}
#topnav {
  background-color: var(--footer-bg-color);
  justify-items: center;

  .offset-1 {
    margin: 0px;
  }

  #toplogo {
    justify-content: center;

    img {
      width: 200px;
      justify-self: center;
    }
  }
}
.navbar {
  flex-direction: column;
  align-self: start;

  #navbarNav {
    margin: auto;
    /* width: 100vw; */

    #mainnav  {
      padding: 2rem;
      margin: 0px;
      z-index: 100;

      .navbar-collapse .navbar-expand{
       flex-direction: column;
      }

      .nav-item {
        font-size: 1rem;
        height: 4rem;

        a.nav-link {
          color: white;

        }
      }
      .btn-cta {
        display: block;
        border-radius: 2rem;
        background-color: var(--color-cta);
        background-image: none;
        padding: 1rem;
        padding-left: 3rem;
        padding-right: 3rem;
        color: var(--color-cta-text) !important;
        /* margin-left: 1rem; */

        a {
          color: white;
          text-decoration: none;
        }

    }


    }

  }


.landing-text {
  .justify-content-end {
    justify-content: flex-start !important;

  }



}





}

#featured-products {
  padding: 2rem;
  text-align: center;
  background-color: var(--feature-bg-color);

  h2 {
    text-align: left;
    margin-bottom: 1.5em;
    color: white;
  }

  .product {
    max-width: 250px;
    background-color: #fff;
    padding: 0px;

    .product-image {
      text-align: center;

      img {
        margin: 1em;
        height: 200px;
        width: auto;
      }
    }

    .product-title {
      background-color: var(--color-bg-light);
      padding: 0.25em;
      font-weight: bold;
      min-height: 95px;
      text-align: center;
      align-content: center;

      a {
        text-decoration: none;
        color: black;
      }

    }

    .product-price {
      font-size: 1rem;
    }
  }


}

#products {

  .product-row:last-child {
    margin-bottom: 2rem;
  }

  h3 {
    margin-top: 3rem;
    margin-bottom: 1rem;
  }

  .product {
    margin-bottom: 0.5rem;

    .product-image {
      text-align: center;
      background-color: white;

      img {
        margin: 1em;
        height: auto;
        width: auto;
        min-height: 175px;
      }
    }

    .product-title {
      background-color: var(--color-bg-light);
      padding: 0.25em;
      padding-top: 1em;
      font-weight: bold;
      min-height: 80px;
      text-align: center;

      a {
        text-decoration: none;
        color: black;
      }

    }

    .product-price {
      font-size: 1rem;
    }
  }
}
.product-details {
  .product-image {
    text-align: center;

      img {
        margin: 1em;
        width: 100%;
      }
    }

  .product-title {
    padding-top: 1em;
    font-weight: bold;
    min-height: 80px;

    a {
      text-decoration: none;
      color: black;
    }
  }

  .product-description {


    .book-button {
      margin-top: 3rem;
      margin-bottom: 2rem;
      max-width: 240px;
    }
  }

  .product-price {
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2rem;
  }
}

#services {

  h3 {
    margin-top: 2em;
    margin-bottom: 1rem;
  }
  .service-title {
    font-weight: bold;

    a {
      text-decoration: none;
      color: var(--body-font-color);
    }
  }

  .service-price {
    text-align: right;
    font-weight: bold;
  }

  .cta-button {
    margin-top: 3rem;
    margin-bottom: 3rem;
    padding: 0px;

  }

}

#maincontent {
  min-height: 400px;
  background-color: var(--content-bg-color);

  #contactembeds {

    padding-top: 3rem;


    #bookingform {

      iframe {
        width: 100%;
        min-height: 700px;
        padding: 1em;
      }
    }

    .map {

      iframe {
        width: 100%;
        height: 700px;
      }
  }




  }


}

#footer {
  background-color: var(--footer-bg-color);
  color: var(--footer-text-color);
  font-size: var(--footer-text-size);
  padding: 1rem;

  div {
    margin-bottom: 2rem;
  }

  a {
    color: white;
    text-decoration: none;
    padding-top: 0px;
  }

  a:hover {
    text-decoration: underline;
  }

  #navbarNav {

    width: 100vw;
    background-color: var(--color-bg-light);
    position: absolute;
    top: 0px;
    left: 0px;
    z-index: 100;

    #mainnav .nav-link {
      padding: 0px;
      margin: 0px;
    }
    #mainnav .nav-item a {
      color: var(--footer-text-color);
      text-decoration: underline;
    }
  }
}


@media (min-width: 900px) {

  .skew {
    clip-path: polygon(0 0, 80% 0, 100% 100%, 20% 100%);
    background-color: var(--color-bg-light);
    min-width: 430px;
  }

  .mobile-cta {
    display: none;
  }

  .btn-cta {
    display: block;
    border-radius: 2rem;
    background-color: var(--color-cta);
    background-image: none;
    padding: 1rem;
    padding-left: 3rem;
    padding-right: 3rem;
    color: var(--color-cta-text) !important;
    margin-left: 1rem;
    width: 300px;
    text-align: center;

    a {
      color: var(--color-cta-text) !important;
      text-decoration: none;

    }
  }

  .navbar-nav {
    flex-direction: row;
  }

  .skew-right {
    clip-path: polygon(0 0, 80% 0%, 100% 100%, 0% 100%);
    background-image: none;
    background-color: var(--white);
    min-height: var(--landing-height);
    min-height: var(--landing-height);
    color: black;

    .logo {
      background: none;
      justify-content: flex-start;
      text-align: left;
      margin-top: 1rem;

      img {
        margin: 0px;
        margin-left: 1.5rem;
      }
    }

    .landing-text {
      #navbarNav {
        background-color: var(--white);
      }

      .mobile-cta {
        display: none;
      }

      .navbar {

        .container-fluid {
          justify-content: center !important;
        }

        #navbarNav {
          #mainnav {
            padding-left: 0px;
            margin-left: 0px;
            justify-content: flex-start !important;

            .navbar-toggler-icon {
              justify-self: center;
            }

            .nav-item {

              a {
                color: black;
              }
            }

            .btn-cta {
              display: block;
              width: auto;
            }

          }
        }
      }

      #mainnav {

        .navbar {
          flex-direction: row;
          justify-self: start;
        }
      }


      color: black;
      padding-left: 6rem;


      h1 {
        margin-top: 2rem;
        font-size: var(--font-size-heading);
        color: black;
      }

    }
  }

   .herobg {
     min-height: var(--landing-height);
     min-height: var(--landing-height);
   }

   #hero {
     background-image: url("../assets/img/herobg.png");
     background-size: cover;
     background-repeat: no-repeat;
     background-position: center right;
   }


  #topnav {
    background-color: var(--color-bg-light);
    background-image: url("../assets/img/toplogo-bg2.png");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top right;


    /* button.navbar-toggler {
      display: none;
    } */



    #thingamajig {
      display: block;
      clip-path: polygon(0 0, 100% 0, 100% 150px, 30% 90px, 0 150px);
      background-color: var(--color-bg-light);
      z-index: 0;
      height: 150px;
      position: absolute;
      top: 0;
      left: 0;
      margin: initial;

     }

    #toplogo {
      background-color: white;
      vertical-align: middle;
      z-index: 1;
      margin-left: 4rem;
      position: relative;
      min-height: 275px;

        img {
          width: 350px;
          height: auto;
          margin-left: 60px;
          vertical-align: middle;
        }
      }

    .navbar {
    flex-direction: row;
    align-self: start;


    #navbarNav {
      margin-top: -1rem;

      #mainnav {
        text-align: right;
        color: black;
        position: absolute;
        padding: 1rem;
        margin-top: 1em;




        .navbar-collapse .navbar-expand{
         flex-direction: row;
        }
        .nav-item {
          font-size: 1rem;
          height: auto;
        }

        a {
          color: black;
        }

        a:hover {
          color: var(--color-cta);
        }
      }
    }
  }

   #maincontent {
    background-color: var(--content-bg-color);
    min-height: 500px;

   }



}

}

@media (min-width: 1000px) {

  .landing-text {
    .logo {

      img {
        margin: 0px;
      }
    }
  }

  .logo img {
    width: 20vw;
    margin-left: 5rem;
    margin-top: 2rem;
  }

  .landing-text {
    padding-left: 10rem;
    color: black;

  }


}
