/*
* Skeleton V2.0.4
* Copyright 2014, Dave Gamache
* www.getskeleton.com
* Free to use under the MIT license.
* http://www.opensource.org/licenses/mit-license.php
* 12/29/2014
*/


/* Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
*/


/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.container {
  position: relative;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

.column,
.columns {
  width: 100%;
  float: left;
  box-sizing: border-box;
}

/* For devices larger than 400px */
@media (min-width: 400px) {
  .container {
    width: 85%;
    padding: 0;
  }
}

/* For devices larger than 550px */
@media (min-width: 550px) {
  .container {
    width: 80%;
  }

  .column,
  .columns {
    margin-left: 4%;
  }

  .column:first-child,
  .columns:first-child {
    margin-left: 0;
  }

  .one.column,
  .one.columns {
    width: 4.66666666667%;
  }

  .two.columns {
    width: 13.3333333333%;
  }

  .three.columns {
    width: 22%;
  }

  .four.columns {
    width: 30.6666666667%;
  }

  .five.columns {
    width: 39.3333333333%;
  }

  .six.columns {
    width: 48%;
  }

  .seven.columns {
    width: 56.6666666667%;
  }

  .eight.columns {
    width: 65.3333333333%;
  }

  .nine.columns {
    width: 74.0%;
  }

  .ten.columns {
    width: 82.6666666667%;
  }

  .eleven.columns {
    width: 91.3333333333%;
  }

  .twelve.columns {
    width: 100%;
    margin-left: 0;
  }

  .one-third.column {
    width: 30.6666666667%;
  }

  .two-thirds.column {
    width: 65.3333333333%;
  }

  .one-half.column {
    width: 48%;
  }

  /* Offsets */
  .offset-by-one.column,
  .offset-by-one.columns {
    margin-left: 8.66666666667%;
  }

  .offset-by-two.column,
  .offset-by-two.columns {
    margin-left: 17.3333333333%;
  }

  .offset-by-three.column,
  .offset-by-three.columns {
    margin-left: 26%;
  }

  .offset-by-four.column,
  .offset-by-four.columns {
    margin-left: 34.6666666667%;
  }

  .offset-by-five.column,
  .offset-by-five.columns {
    margin-left: 43.3333333333%;
  }

  .offset-by-six.column,
  .offset-by-six.columns {
    margin-left: 52%;
  }

  .offset-by-seven.column,
  .offset-by-seven.columns {
    margin-left: 60.6666666667%;
  }

  .offset-by-eight.column,
  .offset-by-eight.columns {
    margin-left: 69.3333333333%;
  }

  .offset-by-nine.column,
  .offset-by-nine.columns {
    margin-left: 78.0%;
  }

  .offset-by-ten.column,
  .offset-by-ten.columns {
    margin-left: 86.6666666667%;
  }

  .offset-by-eleven.column,
  .offset-by-eleven.columns {
    margin-left: 95.3333333333%;
  }

  .offset-by-one-third.column,
  .offset-by-one-third.columns {
    margin-left: 34.6666666667%;
  }

  .offset-by-two-thirds.column,
  .offset-by-two-thirds.columns {
    margin-left: 69.3333333333%;
  }

  .offset-by-one-half.column,
  .offset-by-one-half.columns {
    margin-left: 52%;
  }

}


/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
  font-size: 62.5%;
}

body {
  font-size: 1.5em;
  /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  color: #222;
  background-color: rgb(255, 255, 255);
  scroll-behavior: smooth;
  font-family: "Open Sans", sans-serif;
  font-optical-sizing: auto;
  font-weight: 800;
  font-style: normal;
  font-variation-settings:
    "wdth" 100;
}


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1,
h2,
h3,
h4,
h5,
h6 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-weight: 300;
  color: white;
}

h1 {
  font-size: 4.0rem;
  line-height: 1.2;
  letter-spacing: -.1rem;
}

h2 {
  font-size: 3.6rem;
  line-height: 1.25;
  letter-spacing: -.1rem;
}

h3 {
  font-size: 3.0rem;
  line-height: 1.3;
  letter-spacing: -.1rem;
}

h4 {
  font-size: 2.4rem;
  line-height: 1.35;
  letter-spacing: -.08rem;
}

h5 {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: -.05rem;
}

h6 {
  font-size: 1.5rem;
  line-height: 1.6;
  letter-spacing: 0;
}

/* Larger than phablet */
@media (min-width: 550px) {
  h1 {
    font-size: 5.0rem;
  }

  h2 {
    font-size: 4.2rem;
  }

  h3 {
    font-size: 3.6rem;
  }

  h4 {
    font-size: 3.0rem;
  }

  h5 {
    font-size: 2.4rem;
  }

  h6 {
    font-size: 1.5rem;
  }
}

p {
  margin-top: 0;
}


/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: #8ea47e;
}

a:hover {
  color: #8ea47e;
}


/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #FFF;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  box-sizing: border-box;
}

.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color: #FFF;
  border-color: #888;
  outline: 0;
}

.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  color: #FFF;
  background-color: #f5d1b7;
  border-color: #f5d1b7;
}

.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  color: #FFF;
  background-color: #8ea47e;
  border-color: #8ea47e;
}


/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  height: 38px;
  padding: 6px 10px;
  /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box;
}

/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px;
}

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #33C3F0;
  outline: 0;
}

label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600;
}

fieldset {
  padding: 0;
  border-width: 0;
}

input[type="checkbox"],
input[type="radio"] {
  display: inline;
}

label>.label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal;
}


/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: circle inside;
  list-style-type: disc;
  list-style-position: outside;
  padding-left: 24px;
}


ol {
  list-style: decimal inside;
}

ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%;
}

li {
  margin-bottom: 1rem;

}


/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
  padding: .2rem .5rem;
  margin: 0 .2rem;
  font-size: 90%;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 4px;
}

pre>code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre;
}


/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
  padding: 0 10px;
  text-align: left;
}

th:first-child,
td:first-child {
  padding-left: 0;
}

th:last-child,
td:last-child {
  padding-right: 0;
}


/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
  margin-bottom: 1rem;
}

input,
textarea,
select,
fieldset {
  margin-bottom: 1.5rem;
}

pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
  margin-bottom: 2rem;
}


/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
  width: 100%;
  box-sizing: border-box;
}

.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box;
}

.u-pull-right {
  float: right;
}

.u-pull-left {
  float: left;
}


/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1;
}


/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
  content: "";
  display: table;
  clear: both;
}


/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/


/* Larger than mobile */
@media (max-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (max-width: 550px) {}

/* Larger than tablet */
@media (max-width: 750px) {}

/* Larger than desktop */
@media (max-width: 1000px) {}

/* Larger than Desktop HD */
@media (max-width: 1200px) {}




/* SCROLLBAR 

/* width */
.section ::-webkit-scrollbar {
  width: 5px;
}

/* Track */
.section ::-webkit-scrollbar-track {
  background: #f1f1f1;
}

/* Handle */
.section ::-webkit-scrollbar-thumb {
  background: #bdd3c0;
}

/* Handle on hover */
.section::-webkit-scrollbar-thumb:hover {
  background: green;
}









/* CALL BUTTON */

.callbutton-wrapper {
  display: none;
}

@media (max-width: 550px) {
  .callbutton-wrapper {
    display: block;
  }
}

.callbutton {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 45px;
  height: 45px;
  z-index: 999;
  background-color: #f5d1b7;
  border-radius: 100px;
  margin-right: 30px;
  margin-bottom: 30px
}

.callbuttonicon {
  width: 30px;
  margin: 8px 0 0 7px;
}


/* NAVBAR */

.navbar {
  background-color: white;
  z-index: 99999;
  padding: 20px 0;
  text-align: center;
  position: fixed;
  width: 100%;
  font-weight: 700;
}

/* Mobile */
@media screen and (max-width: 1000px) {
  .navbar {
    flex-direction: column;
    padding: 10px 0;
  }
}

.nav {}

/* Mobile */
@media screen and (max-width: 1000px) {
  .nav {}
}

a.nav-item {
  font-size: 20px;
  margin: 0px 24px;
  padding: 10px;
  text-decoration: none;
  color: #8ea47e;
}

/* Mobile */
@media screen and (max-width: 1000px) {
  a.nav-item {
    font-size: 12px;
    margin: 0 10px;
  }
}




/* SECTIONS */

.section-header {
  padding: 35px 0;
  font-weight: 700;
  font-size: 70px;
  letter-spacing: -7px;
  color: #8ea47e;
}

.section-description {
  margin-bottom: 30px;
  margin-top: -10px;
  font-size: 1.8rem;
  line-height: 1.3;
}


/* INTRO */

.intro {
  height: 500px;
  color: rgb(172, 172, 172);
  background-color: rgb(250, 250, 250);
  background-position: 49.072634960107756% 39.825041972254134%;
  background-size: cover;
  background-image: url("../images/hero-background.png");
  background-attachment: scroll;
  background-repeat: no-repeat;
  padding-top: 130px;
}

.intro h1 {
  margin: 46px 0px;
  font-weight: 700;
  text-shadow: rgb(90, 78, 77) 0px 0px 50px;
  font-size: 70px;
  line-height: 64px;
  letter-spacing: -4px;
}

@media screen and (max-width: 1000px) {
  .intro h1 {}
}

.main-logo {
  max-width: 400px;
  width: 75%;
}



/* TEAM */

.team-card {
  margin-bottom: 48px;
}

.team-card img {
  width: 100%;
}

@media (max-width: 550px) {
  .team-card img {
    max-width: 224px;
  }
}

.team-card h3 {
  color: black;
  font-weight: 800;
  font-size: 68px;
  font-family: "Pacifico", cursive;
  z-index: 2;
  position: relative;
}

.team-book-button {
  font-size: 34px;
  font-weight: 700;
  padding: 12px 46px;
  letter-spacing: -1px;
  border-radius: 10px;
  height: 100%;
  z-index: 1;
  position: relative;
}

.team-card p {
  font-size: 21px;
  font-weight: 600;
}









/* SERVICES */




.services {
  background: linear-gradient(90deg, #f7ead0, #e6f7c9);
  background-repeat: no-repeat;
  background-size: cover;
}



/* Container flex setup */
#anchor-services {
  scroll-margin-top: 100px;
}



/* Container: 2 columns on desktop, 1 on mobile */
.service-groups {
  display: flex;
  gap: 20px;
  /* horizontal spacing between columns */
}

/* Each column stacks cards vertically */
.service-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
  /* vertical spacing between cards */
  flex: 1;
  /* equal column widths */
}

/* Mobile: stack columns */
@media screen and (max-width: 768px) {
  .service-groups {
    flex-direction: column;
  }
}

/* Cards fill their column */
.service-wrap {
  width: 100%;
}

/* Gradient border for each card */
.service-card-border {
  border-radius: 40px;
  padding: 12px;
}

/* Inner white card */
.service-card {
  background-color: white;
  border-radius: 30px;
  padding: 16px;
}

.service-list-heading {
  color: #eab187;
  font-weight: 700;
  left: 12px;
  position: relative;
}

.service-card ul {
  list-style: none;
  /* removes bullets */
}


.card-button-wrap {
  display: flex;
  justify-content: center;
  /* centers horizontally */
  align-items: center;
  /* centers vertically */
}

.card-button {
  font-size: 20px;
  font-weight: 700;
  padding: 6px 40px;
  letter-spacing: -1px;
  border-radius: 10px;
  height: 100%;
  z-index: 1;
  position: relative;
  margin: 16px 0;
}


.coral {
  width: 100%;
  top: 20px;
  position: relative;
}






/* ABOUT US */

#anchor-aboutus {
  scroll-margin-top: 100px;
}

.aboutus-description {
  text-align: justify;
  font-size: 22px;
  font-weight: 600;
}

.exterior-pic {
  max-width: 400px;
  margin: 0 auto;
  display: block;
}


@media screen and (max-width: 750px) {
  .exterior-pic {
    max-width: 100%;
  }
}


/* CONTACT */

#anchor-contact {
  scroll-margin-top: 100px;
}




.map-wrapper {
  width: 100%;
  height: 246px;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 30px;
}

.map-wrapper iframe {
  width: 100%;
  height: 100%;
  border: 0;
  /* remove default iframe border */
}

@media (max-width: 768px) {
  .map-wrapper {
    height: 250px;
    max-width: 100%;
  }
}



.details-section {
  padding: 30px 0;
}

.contact-row {
  display: flex;
  align-items: center;
  gap: 40px;
}

.contact-label {
  width: 206px;
  font-size: 40px;
  font-weight: 700;
  color: #7e926a;
}

.contact-value {
  font-size: 30px;
  font-weight: 600;
  color: #333;
}

/* Hours grid */
.hours-row {
  align-items: flex-start;
}

.hours-grid {
  display: grid;
  grid-template-columns: 200px auto;
  row-gap: 0px;
  column-gap: 40px;
  margin-top: 20px;
}

.hours-grid .day {
  font-size: 30px;
  font-weight: 600;
  color: #333;
}

.hours-grid .time {
  font-size: 30px;
  font-weight: 400;
  color: #333;
}

/* Mobile */
@media screen and (max-width: 768px) {
  .contact-row {
    flex-direction: column;
    gap: 10px;
  }

  .contact-label {
    width: auto;
  }

  .hours-grid {
    grid-template-columns: 1fr 1fr;
  }
}







/* FOOTER */

.footer {
  background-color: #8ea47e;
  color: white;
  padding: 30px;
  text-align: center;
}

.canadian-img {
  width: 50px;
}

.canadian {
  font-weight: 700;
  margin: 5px 0;
  font-size: 26px
}

.tiny-logo {
  margin: 20px 0;
  width: 126px;
}

.copyright {
  font-size: 12px;
}