
  @import url('https://fonts.googleapis.com/css2?family=Catamaran:wght@400;700&family=Grand+Hotel&display=swap');

  *
  {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
  :root
  {
    --slantedText: 'Grand Hotel', cursive;
    --headingFont: 'Catamaran', sans-serif;
    --primaryColor: #698f3f;
    --secondaryColor: #fca311;
    --mainDark: #3a3e3b;
    --mainWhite:#fff;
    --mainGrey:#e5e5e5;
    --mainTransition: all 0.3s ease-in-out;
    --letterSpacing: 0.5rem;
  }
  .header
  {
    min-height: 100vh;
    background: linear-gradient(rgba(0,0,0,0.6),rgba(0,0,0,0.6)), url(./images/main-bcg.jpg) center/cover no-repeat fixed;
  }
  .banner
  {
    position: absolute;
    top: 50%;
    left: 50%;
    text-align: center;
    transform: translate(-50%, -50%);
    letter-spacing: var(--letterSpacing);
  }
  .banner-subtitle
  {
    font-size: 2rem;
    font-family: var(--slantedText);
    color: var(--primaryColor);
    animation: slideFromRight 5s ease-in-out;
 }
 @keyframes slideFromRight
 {
  0%
  {
    transform: translateX(1000px);
  }
  50%
  {
    transform: translateX(-200px);
  }
  75%
  {
    transform: translateX(50px);
  }
  100%
  {
    transform: translateX(0px);
  }
 }
 .banner-title
 {
  text-transform: uppercase;
  font-size: 3.2rem;
  color: var(--mainWhite);
  margin-top: 2.5rem;
  line-height: 1.3;
  animation: slideFromLeft 5s ease-in-out;
 }
 @keyframes slideFromLeft
 {
  0%
  {
    transform: translateX(-1000px);
  }
  50%
  {
    transform: translateX(200px);
  }
  75%
  {
    transform: translateX(-50px);
  }
  100%
  {
    transform: translateX(0px);
  }
}
.main-btn,.banner-btn
{
  background: var(--primaryColor);
  text-transform: uppercase;
  padding: 0.8rem 1.2rem;
  color: var(--mainDark);
  font-weight: bolder;
  outline: 0.2rem solid var(--primaryColor);
  outline-offset: 6px;
  cursor: pointer;
  margin-top: 2rem;
  display: inline-block;
  transition: var(--mainTransition);
  text-decoration: none;
}
.banner-btn
{
  padding: 1.2rem 1.5rem;
  animation: show 5s ease-in-out;
}
@keyframes show
 {
  0%
  {
    transform: scale(2);
    opacity: 0;
  }
  50%
  {
    transform: scale(1.5);
    opacity: 0.5;
  }
  100%
  {
    transform: scale(1);
    opacity: 1;
  }
}
.nav-btn
{
  position: fixed;
  z-index: 1;
  top: 0;
  left: 0;
  color: var(--primaryColor);
  margin: 1rem 1.3rem;
  /* font-size: 2rem; */
  cursor: pointer;
  animation: bounce 2s ease-in-out infinite;
}
@keyframes bounce
 {
  0%
  {
    transform: scale(1);
    
  }
  50%
  {
    transform: scale(1.5);
   
  }
  100%
  {
    transform: scale(1);
    
  }
}
.navbar
{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
  background: var(--mainGrey);
  padding-top: 1rem;
  padding-left: 2rem;
  transition: var(--mainTransition);
  transform: translateX(-100%);
}
.nav-close
{
 font-size: 2rem;
 cursor: pointer;
}
.nav-items
{
  list-style-type: none;
}
.nav-link
{
  display: block;
  font-size: 2rem;
  text-transform: uppercase;
  color: var(--primaryColor);
  transition: var(--mainTransition);
}
.nav-link:hover
{
  color: var(--mainDark);
  padding-left: 0.5rem;
}
@media screen and (min-width: 768px) 
{
  .navbar
  {
   width: 30vw;
   max-width: 20rem;
  }
  
}
.showNav
{
  transform: translateX(0);
}
.content-divider
{
  height: 0.4rem;
  background: linear-gradient(to left, var(--primaryColor),var(--secondaryColor),var(--primaryColor));
}
.skills
{
  background: var(--mainGrey);
}
.skill
{
  padding: 2.5rem 0;
  text-align: center;
  transition: var(--mainTransition);
}
.skills-icon
{
  font-size: 2.5rem;
  transition: var(--mainTransition);
  display: inline-block;
}
.skills-title
{
  font-size: 0.9rem;
  font-weight: bolder;
  text-transform: uppercase;
  letter-spacing: var(--letterSpacing);
  margin-bottom: 1.5rem;
  color: var(--primaryColor);
  transition: var(--mainTransition);
}
.skill-text
{
  max-width: 13rem;
  margin: 0 auto;
  text-align: justify;
}
.skill:hover
{
  background: var(--primaryColor);
}
.skill:hover .skills-title
{
  color: var(--mainWhite);
}
.skill:hover .skills-icon 
{
   transform: translateY(-8px);
}
@media screen and (min-width: 576px) 
{
  .skill
  {
    float: left;
    width: 50%;
  }
}
@media screen and (min-width: 1200px) 
{
  .skill
  {
    width: 25%;
  }
  
}
/* clearfix is a technic to make sure that a box(like a container) wraps around all the stuff */
.clearfix::after,
.clearfix::before
{
  content: "";
  clear: both;
  display: table;
}
/* about */
.about-img,
.about-info
{
  padding: 2rem 0;
}
.about-picture-container
{
  background: var(--primaryColor);
  border: 0.5rem solid var(--primaryColor);
  border-radius: 1rem;
  overflow: hidden;
}
.about-picture
{
  width: 100%;
  display: block;
  transition: var(--mainTransition);
}
.about-picture-container:hover .about-picture
{
  opacity: 0.7;
  transform: scale(1.2);
}
.about-text
{
  margin: 1rem 0;
  max-width: 26rem;
}
@media screen and (min-width: 992px)
{
  .about-img,
  .about-info
  {
    float: left;
    width: 50%;
    padding: 2rem;
  }
  
}
.section-subtitle
{
  font-size: 2rem;
  font-family: var(--slantedText);
  letter-spacing: var(--letterSpacing);
  text-transform: capitalize;
  color: var(--primaryColor);
}
.section-title
{
  font-size: 2rem;
  text-transform: uppercase;
}
.products
{
  background: var(--mainDark);
}
.products-info,
.products-inventory
{
  padding: 2rem 0;
}
.product-img
{
  width: 100%;
  display: block;
  border-radius: 0.4rem;
  margin-bottom: 2rem;
}
.product-title
{
  color: var(--mainWhite);
  text-transform: uppercase;
  letter-spacing: var(--letterSpacing);
  margin-bottom: 1rem;
}
.product-price
{
  color: var(--primaryColor);
  letter-spacing: var(--letterSpacing);
  font-family: var(--slantedText);
}
@media screen and (min-width: 768px) 
{
  .product
  {
    float: left;
    width: 50%;
    padding: 2rem 1rem;
  }
  .products-info
  {
    padding: 2rem 1rem;
  }
  
}
@media screen and (min-width: 992px) 
{
  .product
  {
    width: 33.3%;
  }
  
}
@media screen and (min-width: 1200px) 
{
  .products-info
  {
    float: left;
    width: 30%;
  }
  .product
  {
    padding: 1.5rem 1rem 0 1rem;
  }
  .products-inventory
  {
    float: left;
    width: 70%;
  }
  
}
.services
{
  background: var(--mainGrey);
}
.service-title
{
  padding-top: 4rem;
}
.service-card
{
  border: 0.3rem solid var(--primaryColor);
  padding: 0.2rem;
  border-radius: 1rem;
  margin: 2rem 0;
  /* box shadow styling */
  -webkit-box-shadow:5px 5px 2px 0px rgba(0,0,0,0.75);
  -moz-box-shadow:5px 5px 2px 0px rgba(0,0,0,0.75);
  box-shadow: 5px 5px 2px 0px rgba(0, 0, 0, 0.75);
  transition: var(--mainTransition);
}
.service-card:hover
{
  -webkit-box-shadow:10px 10px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow:10px 10px 5px 0px rgba(0,0,0,0.75);
  box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
}
.service-img
{
  width: 100%;
  display: block;
  /* more styles */
  border-top-left-radius: 0.5rem;
  border-top-right-radius: 0.5rem;
}
.service-info
{
  background: var(--primaryColor);
  border-bottom-left-radius: 0.5rem;
  border-bottom-right-radius: 0.5rem;
  text-align: center;
  font-size: 1.3rem;
  letter-spacing: var(--letterSpacing);
  color: var(--mainWhite);
  text-transform: capitalize;
  padding: 2.5rem 0 1rem 0;
}
.service-btn
{
  display: inline-block;
  background: var(--mainWhite);
  text-decoration: none;
  text-transform: capitalize;
  padding: 0.8rem 2rem;
  color: var(--primaryColor);
  font-weight: bolder;
  border: 0.2rem solid var(--mainWhite);
  border-radius: 0.5rem;
  cursor: pointer;
  margin-top: 1rem;
  transition: var(--mainTransition);
}
.service-btn:hover
{
  background: transparent;
  color: var(--mainWhite);
}
@media screen and (min-width: 992px) 
{
 .service-card
 {
  float: left;
  width: 30%;
  margin-right: 3.333%;
 } 
}
.service.skills-icon
{
  position: absolute;
  bottom: 0;
  left: 50%;
  font-size: 2rem;
  background: var(--secondaryColor);
  padding: 0.25rem 0.6rem;
  border-radius: 50%;
  border: 0.2rem solid var(--primaryColor);
  color: var(--mainDark);
  transform: translate(-50%,50%);
   /* box shadow */
   -webkit-box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
   -moz-box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
   box-shadow: 10px 10px 5px 0px rgba(0, 0, 0, 0.75);
}
.service-img-container
{
  position: relative;
}
.text-center
{
    text-align: center;
}
/* contact */
.contact
{
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.contact-item
{
    margin-bottom: 3rem;
}
.contact-title
{
    color: var(--primaryColor);
    font-family: var(--slantedText);
    text-transform: uppercase;
    letter-spacing: calc(var(--letterSpacing)*2);
    font-size: 1.6rem;
    margin-bottom: 0.5rem;
}
.contact-text
{
    text-transform: uppercase;
}
.form-control
{
  display: block;
  width: 100%;
  border: none;
  border-bottom: 2px solid var(--primaryColor);
  outline: none;
  margin: 2rem 0;
  padding: 1.3rem 0;
  font-size: 0.85rem;
  font-weight: bold;
}
.form-control::placeholder
{
    color: var(--primaryColor);
    text-transform: uppercase;
    letter-spacing: var(--letterSpacing);
}

@media screen and (min-width: 992px)
{
    .contact-info, .contact-form
    {
        float: left;
        width: 50%;
        padding: 0 1rem;
    }

    .contact-info
    {
        padding-top: 5rem;
    }
}
/* footer */
.footer
{
    background: var(--mainDark);
    text-align: center;
    padding-top: 2rem;
}

.social-icon
{
    color: var(--mainWhite);
    font-size: 1.3rem;
    margin-right: 1rem;
    transition: var(--mainTransition);
}

.social-icon:hover
{
    color: var(--primaryColor);
}

.footer-text
{
    text-transform: uppercase;
    color: var(--mainWhite);
    letter-spacing: var(--letterSpacing);
    margin-top: 1rem;
    font-size: 0.85rem;
}

a
{
    text-decoration: none;
}

.text-white
{
    color: var(--mainWhite);
}

.text-primary
{
    color: var(--primaryColor);
}