@import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;600&family=Montserrat&display=swap');
html {
  font-size: 100%;
}

:root {
    /* colors */
    --primary-100: #e2e0ff;
    --primary-200: #c1beff;
    --primary-300: #a29dff;
    --primary-400: #837dff;
    --primary-500: #645cff;
    --primary-600: #504acc;
    --primary-700: #3c3799;
    --primary-800: #282566;
    --primary-900: #141233;
  
    /* grey */
    --grey-50: #f8fafc;
    --grey-100: #f1f5f9;
    --grey-200: #e2e8f0;
    --grey-300: #cbd5e1;
    --grey-400: #94a3b8;
    --grey-500: #64748b;
    --grey-600: #475569;
    --grey-700: #334155;
    --grey-800: #1e293b;
    --grey-900: #0f172a;
    /* rest of the colors */
    --black: #222;
    --white: #fff;
    --red-light: #f8d7da;
    --red-dark: #842029;
    --green-light: #d1e7dd;
    --green-dark: #0f5132;
  
    /* fonts  */
    --headingFont: 'Roboto', sans-serif;
    --bodyFont: 'Nunito', sans-serif;
    --smallText: 0.7em;
    /* rest of the vars */
    --backgroundColor: var(--grey-50);
    --textColor: var(--grey-900);
    --borderRadius: 0.25rem;
    --letterSpacing: 1px;
    --transition: 0.3s ease-in-out all;
    --max-width: 1120px;
    --fixed-width: 600px;
  
    /* box shadow*/
    --shadow-1: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --shadow-2: 0 4px 6px -1px rgba(0, 0, 0, 0.1),
      0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-3: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
      0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-4: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
      0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
  
  body {
    background: var(--backgroundColor);
    font-family: var(--bodyFont);
    font-weight: 400;
    line-height: 1.75;
    color: var(--textColor);
  }
  
  p {
    margin-top: 0;
    margin-bottom: 1.5rem;
    max-width: 40em;
  }
  
  h1,
  h2,
  h3,
  h4,
  h5 {
    margin: 0;
    margin-bottom: 1.38rem;
    font-family: var(--headingFont);
    font-weight: 400;
    line-height: 1.3;
    text-transform: capitalize;
    letter-spacing: var(--letterSpacing);
  }
  
  h1 {
    margin-top: 0;
    font-size: 3.052rem;
  }
  
  h2 {
    font-size: 2.441rem;
  }
  
  h3 {
    font-size: 1.953rem;
  }
  
  h4 {
    font-size: 1.563rem;
  }
  
  h5 {
    font-size: 1.25rem;
  }
  
  small,
  .text-small {
    font-size: var(--smallText);
  }
  
  a {
    text-decoration: none;
  }
  ul {
    list-style-type: none;
    padding: 0;
  }
  
  .img {
    width: 100%;
    display: block;
    object-fit: cover;
  }
  /* buttons */
  
  .btn {
    cursor: pointer;
    color: var(--white);
    background: var(--primary-500);
    border: transparent;
    border-radius: var(--borderRadius);
    letter-spacing: var(--letterSpacing);
    padding: 0.375rem 0.75rem;
    box-shadow: var(--shadow-1);
    transition: var(--transition);
    text-transform: capitalize;
    display: inline-block;
  }
  .btn:hover {
    background: var(--primary-700);
    box-shadow: var(--shadow-3);
  }
  .btn-hipster {
    color: var(--primary-500);
    background: var(--primary-200);
  }
  .btn-hipster:hover {
    color: var(--primary-200);
    background: var(--primary-700);
  }
  .btn-block {
    width: 100%;
  }
  
  /* alerts */
  .alert {
    padding: 0.375rem 0.75rem;
    margin-bottom: 1rem;
    border-color: transparent;
    border-radius: var(--borderRadius);
  }
  
  .alert-danger {
    color: var(--red-dark);
    background: var(--red-light);
  }
  .alert-success {
    color: var(--green-dark);
    background: var(--green-light);
  }
  /* form */
  
  .form {
    width: 90vw;
    max-width: var(--fixed-width);
    background: var(--white);
    border-radius: var(--borderRadius);
    box-shadow: var(--shadow-2);
    padding: 2rem 2.5rem;
    margin: 3rem auto;
  }
  .form-label {
    display: block;
    font-size: var(--smallText);
    margin-bottom: 0.5rem;
    text-transform: capitalize;
    letter-spacing: var(--letterSpacing);
  }
  .form-input,
  .form-textarea {
    width: 100%;
    padding: 0.375rem 0.75rem;
    border-radius: var(--borderRadius);
    background: var(--backgroundColor);
    border: 1px solid var(--grey-200);
  }
  
  .form-row {
    margin-bottom: 1rem;
  }
  
  .form-textarea {
    height: 7rem;
  }
  ::placeholder {
    font-family: inherit;
    color: var(--grey-400);
  }
  .form-alert {
    color: var(--red-dark);
    letter-spacing: var(--letterSpacing);
    text-transform: capitalize;
  }
  /* alert */
  
  @keyframes spinner {
    to {
      transform: rotate(360deg);
    }
  }
  
  .loading {
    width: 6rem;
    height: 6rem;
    border: 5px solid var(--grey-400);
    border-radius: 50%;
    border-top-color: var(--primary-500);
    animation: spinner 0.6s linear infinite;
  }
  .loading {
    margin: 0 auto;
  }
  /* title */
  
  .title {
    text-align: center;
  }
  
  .title-underline {
    background: var(--primary-500);
    width: 7rem;
    height: 0.25rem;
    margin: 0 auto;
    margin-top: -1rem;
  }



.navbar {
    display: flex;
    justify-content: center;
    align-items: center;
    
}

.nav-center {
    width: 90vw;
    max-width: var(--max-width);
    
}

.nav-header {
    height: 6rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.nav-logo {

    display: flex;
    align-items: center;
}

.nav-header img {
    width: 200px;
}

.nav-btn {
    padding: 0.15rem 0.75rem;
}

.nav-btn i {
    font-size: 1.25rem;
}

.nav-links {
    display: flex;
    flex-direction: column;
    height: 0;
    overflow: hidden;
    transition: var(--transition);
}

.show-links {
  height: 310px;
}
.nav-link {
    display: block;
    text-align: center;
    text-transform: capitalize;
    color: var(--grey-900);
    letter-spacing: var(--letterSpacing);
    padding: 1rem 0;
    border-top: 1px solid var(--grey-500);
    transition: var(--transition);
}

.nav-link:hover {
    color: var(--primary-500);
}

.contact-link a {
    padding: 0.15rem 1rem;
}

@media screen and (min-width:992px) {
  .nav-btn {
    display: none;
  }
  .navbar {
    height: 6rem;
  }

  .nav-center {
    display: flex;
    align-items: center;

  }

  .nav-header {
    height: auto;
    margin-right: 2rem;
  }

  .nav-links {
    height: auto;
    flex-direction: row;
    align-items: center;
    width: 100%;
  }

  .nav-link {
    padding: 0;
    border-top: none;
    margin-right: 1rem;
    font-size: 1rem;

  }

  .contact-link {
    margin-left: 0;
    margin-right: 0;
  }
}


.page {
  width: 90vw;
  max-width: var(--max-width);
  margin: 0 auto;
  padding-top: 2rem;
  min-height: cal(100vh - (6rem + 4rem));
}

.page-footer {
  height: 4rem;
  text-align: center;
  background: var(--black);
  color: var(--white);
  display: flex;
  align-items: center;
  justify-content: center;

}

.page-footer p {
  margin-bottom: 0;
}

.footer-logo,
.page-footer a {
  color: var(--primary-500);
}

.hero {
  height: 40vh;
  background: url(cat-dog.jpg) center/cover no-repeat;
  margin-bottom: 2rem;
  border-radius: var(--borderRadius);
  position: relative;
}

.hero-about {
  
    height: 40vh;
    background: url(darkcat.jpg) center/cover no-repeat;
    margin-bottom: 2rem;
    border-radius: var(--borderRadius);
    position: relative;
  
}

.hero-food  {
  height: 40vh;
  background: url(jackrussell.jpeg) center/cover no-repeat;
  margin-bottom: 2rem;
  border-radius: var(--borderRadius);
  position: relative;
}

.hero-contact {
  height: 40vh;
  background: url(cat-on-phone.jpeg) center/cover no-repeat;
  margin-bottom: 2rem;
  border-radius: var(--borderRadius);
  position: relative;
}

.hero-products {
  height: 40vh;
  background: url(dogtoys.jpeg) center/cover no-repeat;
  margin-bottom: 2rem;
  border-radius: var(--borderRadius);
  position: relative;
}

.hero-container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  border-radius: var(--borderRadius);
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-about-container {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero-text {
  text-align: center;
  color: var(--white);
}

.portfolio {
  display: grid;
  
  
}

@media screen and (min-width: 770px) {
  .hero-text h1 {
    font-size: 4rem;
    margin: 0;
  }

}


.about_me {
  max-width: 1000px;
  margin: 0 auto;
}

.about_img {
  box-shadow: var(--bs);
  z-index: 2;
  max-width: 100%;
  padding: 1rem;
}

.about_me_body {
  margin: 0 auto;
}

@media (min-width: 600px) {
  .about_me {
      display: grid;
      grid-template-columns: 1fr 200px;
      grid-template-areas: "title img" "subtitle img" "text img";
  }

  .about_img {
      grid-area: img;
  }
}

.our_food {
  background-color: rgb(64, 64, 56);
  color: white;
  text-align: center;
  
}

.item {
  padding: 2rem;
}

.subtitle_food {
  margin-bottom: .5em;
  font-size: 2.25rem;
  font-weight: bold;
  color: var(--clr-accent);
}

.body_food {
  font-size: 1.5rem;
  font-weight: bold;
  
  
}

.description {
  font-size: 1rem;
  font-weight: light;
  
}

.portfolio {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  row-gap: 10rem;
  
}

.portfolio_item {
  background: var(--clr-accent);
}

.portfolio_img {
  max-width: 500px;
  max-height: 400px;
}

.product_container {
  background-color: rgb(237, 237, 229);
  color: var(--green-dark);
  
}

.sub_products {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}

.sub_products > li {
  flex-basis: 350px;
  cursor: pointer;
  position: relative;
  flex-grow: 1;
}

.sub_products li img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  vertical-align: middle;
  border-radius: 5px;
}


.contact_info {
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
  font-family: var(--headingFont);

}


.contacting {
  background: rgb(237, 237, 229);
  color: var(--clr-accent);
  text-align: center;
  padding: 2.5em 0;
  font-size: 2rem;
  
}

.contacting a {
  color: inherit;
  text-decoration: none;
  
}

.contacting_link {

  font-weight: bold;
}

.contacting_link:hover, 
.social_link:hover,
.product_img:hover {
  opacity: .5;
}

.social {
  list-style: none;
  display: flex;
  justify-content: center;
  margin: 2em 0 0;
  padding: 0;
}

.social_item {
  margin: 0 0.5em;
  font-size: 3rem;
}

.contacting_link:hover {
  text-decoration: underline;
}