/* variables for the colors */
:root {
	--light: #bfab93;
	--blue: #89bae5;
  --darkblue: #377eae;

    --light_menu: white;
    --dark_menu: black;

    --background_light:#ffffff;
    --header_background: #f4f4f4;
    --green: #02a34a;
}


/* reset */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}


body {
  font-family: 'Alpino', sans-serif;
  font-weight: 200;
}

#numquote {
  color: var(--darkblue);
  font-size: 1.7vw;
  & a {
    color: var(--dark_blue);
    padding: 6px;
    font-size: 1em;
  }
}

#textquote {
  color: var(--darkblue);
  font-size: 1.7vw;
  & a {
    color: var(--green);
    padding: 6px;
    border: .25vw solid;
    border-color: var(--green);
    border-radius: 10px;
    font-size: 1em;
  }
  a[x-apple-data-detectors=true] {
  color: var(--darkblue) !important; /* Inherit the text color from the parent element */
  text-decoration: inherit !important; /* Remove the default link underline */
}
}

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

.header {
  display: flex; /* Makes the header a flex container */
  flex-direction: column;
  justify-content: space-between; /* Distributes space between columns */
  padding: 20px 20px 0px 20px; /* Add some padding */
  background-color: var(--background_light); /* Background color */
  position: sticky;
  top: 0;

}

.navbar {
  display: none;
}

.subheader {
  display: flex;
  justify-content: space-between; /* Distributes space between columns */
  align-items: center; /* Aligns columns vertically in the center */
  padding: 20px 20px 0px 20px; /* Add some padding */
}

.h2div {
  display: flex; /* Makes the header a flex container */
  align-items: center; /* Aligns columns vertically in the center */
  justify-content: space-between;
  margin-bottom: 10px;
}

.h2column-left {
  margin-right: 20px;
  font-size: 2vw;
}

.homediv {
  display: flex;
  justify-content: space-around;
}

.homephoto {
  max-width: 45%;
}

.homephoto img {
  height: auto;
  width: 100%;
}

.homecopy {
  max-width: 30%;
  text-align: left;
  font-size: 2.2em;
  margin-top: auto;
  margin-bottom: auto;
  align-items: center;
  padding-right: 15px;
}

.mobilehomecopyheader {
  display: none;
}

.homecerts {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 25px;
  & img {
    width: 85%;
  }
}

/*.column-left,
.column-right {
  flex: 1; /* Allows columns to grow and shrink equally
} */

.column-left {
  margin-right: 20px; /* Add some space between columns */
  margin-left: 45px;
  & img {
    width: 35vw;
  }
}

.column-right {
  margin-right: 45px; /* Add some spacing to the right */
}

/* Additional styling for navigation and other content */
nav ul {
  list-style: none;
  font-size: 1.85vw;
  padding: 20px 0 0 0;
  margin: 0;
  display: flex; /* Make navigation items a flex container */
  justify-content: flex-end; /* Align navigation items to the right */
}

nav ul li {
  margin-right: 15px;
  font-weight: 300;
}

.sights {
  margin-right: 0;
}

.faqdiv {
  display: flex;
  flex-direction: column;
  margin: 25px 80px 35px 80px;
  list-style: none;
  }

.faqheader {
  color: var(--blue);
  font-size: 4em;
  font-weight: 300;
}

.insightheader {
  color: var(--blue);
  font-size: 2em;
  font-weight: 300;
}

.faqsubheader {
  color: var(--light);
  font-size: 1.5em;
  font-weight: 300;
  margin-top: 25px;
}

.faqcopy {
  font-size: 1.5em;
  font-weight: 250;
}

.pshead {
  font-size: 4em;
  font-weight: 300;
  margin: 0 0 0 80px;
}

.headercopy {
  font-size: 2vw;
  margin: 0 80px 80px 80px;
}

.productdiv {
  display: flex;
  justify-content: space-around;
  margin: 40px 90px;
}

.productphoto {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 25%;
  & img {
    width: 100%;
  }
}

.backcopy {
  display: flex;
  flex-direction: column;
}

.pback {
  align-self: center;
  max-width: 40%;
  & img {
    width: 140%;
  }
}

.productcopy {
  display: flex;
  padding-left: 80px;
  min-width: 50%;
}

.productlist {
  font-size: 2vw;
  li::marker {
    color: var(--blue);
  }
}

.serviceslist {
  font-size: 2vw;
  li::marker {
    color: var(--light);
  }
}

.pindent {
  list-style-position: inside;
  padding-left: 30px;
}

.pcustborder {
  border: 2px solid var(--light);
  border-radius: 20px 20px 20px 20px;
  padding: 20px 0;
}

.pcustindent {
  list-style-position: inside;
  padding-left: 28px;
}

.subdent {
  list-style-type: none;
  list-style-position: inside;
  padding-left: 95px;
  & a {
    color: var(--blue);
  }
}

.servicesback {
  display: none;
  padding-left: 20px;
  max-width: 40%;
  & img {
    width: 100%;
  }
}

.servicesphoto {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  max-width: 11%;
  & img {
    width: 80%;
  }
}

.psheadersub {
  font-size: 2.5vw;
  font-weight: 300;
  color: var(--blue);
  list-style-type: none;
}

.sheadersub {
  font-size: 2.5vw;
  font-weight: 300;
  color: var(--light);
  list-style-type: none;
}

.recyclesub {
  font-weight: 300;
  color: var(--green);
  list-style-position: inside;
  padding-left: 30px;
}

.rindent {
  list-style-position: inside;
  list-style-type: none;
  padding-left: 65px;
}

.rubdent {
  list-style-type: none;
  list-style-position: inside;
  padding-left: 105px;
}

.vet {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 2.5em;
  font-weight: 50;
  padding: 40px 0 0 0;
  & img {
    align-items: center;
    width: 5%;
  }
}

.contactheader {
  display: flex;
  justify-content: center;
  color: var(--light);
}

.biodiv {
  display: flex;
  justify-content: flex-start;
}

.biophoto {
  display: flex;
  max-width: 35%;
  padding: 0 0 0 85px;
}

.biophoto img {

  width: 100%;
}

.biocopy {
  max-width: 35%;
  text-align: left;
  font-size: 1.3vw;
  padding-left: 75px;
}

.rbiophoto {
  display: flex;
  flex-direction: column;
  padding: 150px 0 0 85px;
  max-width: 35%;
}

.rbiocopy {
  max-width: 35%;
  text-align: left;
  font-size: 1.3vw;
  padding: 150px 0 0 75px;
}

#buttons input {
	width: 7em;
}

.contactlabel {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    justify-self: center;
    width: 25%;
    text-align: right;
    font-size: 1vw;
    color: var(--darkblue);
}

input, select, textarea {
    margin-left: 1em;
    margin-right: 1em;
    margin-bottom: .5em;
}

fieldset {
    margin-top: 1em;
    margin-bottom: 1em;
    padding-top: .5em;
}

.submitbox {
    display: flex;
    justify-content: space-between;
}

legend {
    font-weight: bold;
    font-size: 90%;
    margin: 0 0 .5em 1em;
    background-color: var(--background_light);
    text-align: left;
}

input:required:invalid {
    background-image: url(../images/required.png);
    background-position: right top;
    background-repeat: no-repeat;
}

input:focus:invalid {
    background-image: url(../images/invalid.png);
    background-position: right top;
    background-repeat: no-repeat;
}
input:required:valid {
    background-image: url(../images/valid.png);
    background-position: right top;
    background-repeat: no-repeat;
}

.mobilebiotitle {
  display: none;
}

.mobilebiocopy {
  display: none;
}

.rmobilebiotitle {
  display: none;
}

.rmobilebiocopy {
  display: none;
}

/* banner */
.none {
  list-style-type: none;
}

#container {
    width: 100%;
    height: 3rem;
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    color: var(--blue);
    background-color: var(--background_light);
}

.scroll {
    display: flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    white-space: nowrap;
    position: relative;
    animation: loop 50s linear infinite;
}
@keyframes loop {
    100% {transform: translateX(-50%);}
}

.item {
    display: flex;
    align-items: center;
    column-gap: 2rem;
    color: var(--blue);
    font-size: 1.3em;
    padding: 1rem 0rem;
    border-radius: 0.4rem;
    white-space: nowrap;
    box-shadow:
    0 0.1rem 0.2rem #00000033,
    0 0.1rem 0.5rem #0000004d,
    0 0.2rem 01.5rem #00000066,
}

#container {
  width: 100%;
  height: 3rem;
  position: relative;
  overflow: hidden;
  background-color: var(--background_light);
  color: var(--blue);
  white-space: nowrap;
}

.scroll {
  display: flex;
  align-items: center;
  width: max-content;
  animation: loop 30s linear infinite;
}

.item {
  display: flex;
  align-items: center;
  padding: 0 .4rem;
  font-size: 1.3em;
  white-space: nowrap;
}

.item.bullet {
  font-size: 1em;
  font-weight: bold;
  padding: 0 .8rem;
}

/* Seamless scroll keyframes */
@keyframes loop {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-50%);
  }
}

footer {
  display: flex;
  justify-content: flex-end;
  font-size: 1em;
  padding: 45px 100px 30px 40px;
}


/* Desktop-only dividers for the .mnavbar menu */
@media (min-width: 769px) {
  /* Keep layout tight and consistent on desktop */
  .mnavbar ul {
    display: flex;
    align-items: center;
  }

  /* Override the global li spacing just for .mnavbar on desktop */
  .mnavbar ul li {
    margin: 0;          /* cancels nav ul li { margin-right: 15px; } */
    padding: 0 14px;    /* clickable breathing room */
  }

  /* Draw a divider before every item except the first */
  .mnavbar ul li + li {
  position: relative;
}
.mnavbar ul li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  height: 60%;                 /* adjust to taste */
  border-left: 1px solid var(--light);

  }

}


/*** media queries ***/
@media only screen and (max-width: 1645px) {
    .homecopy {
      font-size: 2em;
    }

    .mobilehomecopy {
      display: none;
    }

    .mobilebiotitle {
      display: none;
    }

    .mobilebiocopy {
      display: none;
    }

}

@media only screen and (max-width: 1475px) {
    .homecopy {
      font-size: 1.8em;
    }

    .mobilehomecopy {
      display: none;
    }

    .mobilebiotitle {
      display: none;
    }

    .mobilebiocopy {
      display: none;
    }

}

@media only screen and (max-width: 1325px) {
    .homecopy {
      font-size: 1.6em;
    }

    .mobilehomecopy {
      display: none;
    }

    .mobilebiotitle {
      display: none;
    }

    .mobilebiocopy {
      display: none;
    }

}

@media only screen and (max-width: 1175px) {
    .homecopy {
      font-size: 1.4em;
    }

    .mobilehomecopy {
      display: none;
    }

    .mobilebiotitle {
      display: none;
    }

    .mobilebiocopy {
      display: none;
    }

}

@media only screen and (max-width: 1000px) {
    
    .homediv {
      flex-direction: column;
      max-width: 100%;
      align-items: center;
      justify-content: center;
    }

    .mobilehomecopyheader {
      display: flex;
      max-width: 100%;
      font-size: 2em;
      align-items: center;
      justify-content: center;
    } 
  
    .homecopy {
      display: none;
    }

    .mobilehomecopy {
      display: flex;
      max-width: 100%;
      text-align: center;
      align-items: center;
      font-size: 1.5em;
    }

  .biodiv {
    flex-direction: column;
  }

  .biophoto {
    max-width: 90%;
    padding: 0px;
    align-self: center;
  }

  .biocopy {
    display: none;
  }

  .mobilebiotitle {
    display: flex;
    flex-direction: column;
    max-width: 80%;
    text-align: center;
    align-self: center;
    font-size: 1.3em;
    padding-left: 0px;
  }

  .mobilebiocopy {
    display: flex;
      max-width: 80%;
      text-align: center;
      align-self: center;
      font-size: 1.3em;
      padding-left: 0px;
  }

  .rbiophoto {
    max-width: 90%;
    padding: 0px;
    align-self: center;
  }

  .rbiocopy {
    display: none;
  }

  .rmobilebiotitle {
    display: flex;
    flex-direction: column;
    max-width: 80%;
    text-align: center;
    align-self: center;
    font-size: 1.3em;
    padding: 45px 0 0 0;
  }

  .rmobilebiocopy {
    display: flex;
    max-width: 88%;
    text-align: center;
    align-self: center;
    font-size: 1em;
    padding: 25px 0px;
  }

}

@media only screen and (max-width: 768px) {
  body {
    font-weight: 300;
  }

  .header {
    padding: 0;
  }
  .menu {
      position: absolute;
      width: 100%;
      display: none;
      background-color: var(--blue);
      text-align: center;
  } 

  /*** menu styles ***/

  .mnavbar {
    display: none;
  }

  nav ul li {
    margin-right: 0px;
    font-size: 2.5em;
  }

  .navbar {
    display: block;
    border-radius: 0px 0px 0px 0px;
    position: relative;
    width: 100%;
    right: 0;
    align-items: flex-end;
    background-color: var(--blue);
    z-index: 1;
    & a {
        display: block; 
        padding: .25em 1em;
        margin: .25em;
        text-decoration: none; 
        color: var(--background_light);
    }
    & a:hover{ 
        background-color: var(--light);
        transition: 0.5s ease 0.1s;
    }
    & a.current { 
        border: 2px solid;
        border-radius: 10px;
        text-decoration: none;
    }
    & ul { 
        list-style-type: none; 
        margin: 0;
        padding: 0;
    }
}

  /* checkbox and menu button label */
  #checkbox-toggle { display: none; }

  .menu-btn {
      display: block;
      padding: .25em .5em;
      color: var(--light_menu);
      font-size: 24px;
      text-align: center;
  }

  .menu-btn:hover {
      background-color: var(--light);
      color: var(--light_menu);
      border-radius: 0px 0px 0px 0px;
      transition: 0.5s ease 0.1s;
  }

  .menu-btn::after {
      content: "\2630";    /* hamburger icon */
  }

  #checkbox-toggle:checked ~ .menu {
      display: block;
  }
  #checkbox-toggle:checked ~ .menu-btn::after {
      content: "\2716";   /* 'X' icon */
  }

  .subheader {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* Distributes space between columns */
    align-items: center; /* Aligns columns vertically in the center */
    padding: 20px 7px 0px 7px; /* Add some padding */
  }

  .column-left {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    margin: 5px 10px 0px 10px;
    & img {
      width: 100%;
    }
  }

  .column-right {
    display: flex;
    flex-direction: column;
    width: 100%;
    justify-content: center;
    margin:0px 10px 10px 10px;
  }

  .h2div {
    width: 100%;
    height: 30px;
    border: 2px solid var(--light);
    text-align: center;
  }

  .h2column-left {
    width: 50%;
    border-right: 1px solid var(--light);
    margin-right: 0;
  }

  .h2column-right {
    width: 50%;
    border-left: 1px solid var(--light);
  }

  #numquote {
    font-size: 1em;
    & a {
      border: none;
    }
  }

  #textquote {
    font-size: 1em;
    width: 50%;
    & a {
      border: none;
    }
  }

  nav ul {
    justify-content: space-between;
    padding-top: 5px;
  }

  nav ul li {
    margin-left: 0;
  }

  .item {
    font-size: 1em;
  }

.mobilehomecopyheader {
  display: flex;
  max-width: 100%;
  font-size: 1.85em;
  align-items: center;
  justify-content: center;
}

.homediv {
  flex-direction: column;
  max-width: 100%;
  align-items: center;
  justify-content: center;
}

.homephoto {
  max-width: 95%;
}

.homecopy {
  display: none;
}

.mobilehomecopy {
  display: flex;
  max-width: 100%;
  text-align: center;
  align-items: center;
}

.vet {
  font-size: 1.9em;
}

.faqheader {
  font-size: 3.5em;
}

.faqdiv {
  margin: 25px 15px;
}

.biodiv {
  flex-direction: column;
}

.biophoto {
  max-width: 90%;
  padding: 0px;
  align-self: center;
}

.biocopy {
  display: none;
}

.mobilebiotitle {
  display: flex;
  flex-direction: column;
  max-width: 80%;
  text-align: center;
  align-self: center;
  font-size: 1.3em;
  padding-left: 0px;
}

.mobilebiocopy {
  display: flex;
  max-width: 88%;
  text-align: center;
  align-self: center;
  font-size: 1.3em;
  padding: 25px 0px;
}

.rbiocopy {
  display: none;
}

.rmobilebiotitle {
  display: flex;
  flex-direction: column;
  max-width: 80%;
  text-align: center;
  align-self: center;
  font-size: 1.3em;
  padding: 45px 0 0 0;
}

.rmobilebiocopy {
  display: flex;
  max-width: 88%;
  text-align: center;
  align-self: center;
  font-size: 1.3em;
  padding: 25px 0px;
}

.rbiophoto {
  max-width: 90%;
  padding: 0px;
  align-self: center;
}

.backcopy {
  width: 90%;
}

.sheadersub {
  font-size: 1.5em;
  text-align: start;
  padding: 0 0 20px 0;
}

.productdiv {
  margin: 0px;
}

.servicesback {
  display: none;
}

.servicesphoto {
  display: none;
}

.serviceslist {
  display: flex;
  flex-direction: column;
  font-size: 1.2em;
}

.productcopy {
  padding: 0px;
}

.pback {
  display: none;
}

.productphoto {
  display: none;
}

.productlist {
  font-size: 1.2em;
}

.psheadersub {
  font-size: 1.2em;
}

footer {
  display: flex;
  justify-content: center;
  padding: 20px;
  }

}