@font-face {
  font-family: 'Arial-MT' ;
  src: url('../fonts/ari.ttf') format('truetype');
}

/* Site-Wide Styles */

html {
  font-size: 16px;
}

body {
  font-family: 'Arial-MT', sans-serif;
  color: hsla(0, 0%, 29%, 1);
}

nav a {
  text-align: center;
  padding: 10px;
  font-family: didot;
}

a {
  text-decoration: none;
  transition: .3s;
}

/*a:hover {
  color: hsla(0, 0%, 29%, 1);
}*/


h4 {
  font-weight: 900;
  font-size: 17px;
  font-family: didot;
  font-weight: bold;
}



nav a:hover {
  color: navy;
  font-weight: bold;
}



a:hover {
  opacity:0.5;
}

input,
textarea,
select {
  border-radius: 3px;
  background-color: hsla(0, 0%, 89%, 1);
  padding: 1rem;
}

/* Reusable Component - Button */

.button {
  border-radius: 30px;
  background-color: hsla(0, 0%, 13%, 1);
  text-align: center;
  color: hsla(0, 0%, 93%, 1);
  transition: .25s;
  font-family: didot;
}



/* Reusable Component - Image Container */

.image-container {
  overflow: hidden;
}

.image-container img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* Reusable Component - Product List */

.product-list-section {
  padding: 2rem 5rem 3.75rem 5rem;
}

.product-list-section h2 {
  font-family: didot;
  font-weight: bold;
}

.deals {
  font-size: 30px;
  font-weight: bold;
}

.product-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-bottom: 3.75rem;
  grid-gap:15px;
}

.image-container, .description {
  border: 1px solid black;
}

.product-category {
  border-radius: 2px;
  background-color: hsla(0, 0%, 100%, 1);
  border: solid 1px hsla(0, 0%, 91%, 1);
}

.product-category .description-category {
  padding: 1.5rem;
  text-align: left;
}

.product-category h3 {
  margin-bottom: .75rem;
  color: hsla(0, 0%, 29%, 1);
}

.product-item {
  border-radius: 2px;
  background-color: hsla(0, 0%, 100%, 1);
  border: solid 1px hsla(0, 0%, 91%, 1);
}

.product-item .description {
  padding: 1.5rem;
  text-align: left;
  font-family: didot;
}


.product-item h3 {
  margin-bottom: .75rem;
  color: hsla(0, 0%, 29%, 1);
  position: relative;
  display: block;
}

.product-item .price {
  color: hsla(0, 0%, 29%, 1);
}

.jobs h3 {
  font-family: didot;
  font-weight: bold;
}

.job {
  font-family: didot;
}


/* Reusable Component - Form Field With Label */
.field {
  display: flex;
  flex-direction: column;
  font-family: didot;
}

.field label {
  padding-bottom: .75rem;
  font-family: didot;
  font-weight: bold;
}

input:focus::-webkit-input-placeholder {
    opacity: 0;
}


/* Reusable Component - Navigation Breadcrumbs */
ul.breadcrumb {
    padding: 2rem 4rem;
    list-style: none;
    align-items: left;
}
ul.breadcrumb li {
    display: inline;
    font-size: inherit;
    align-items: left;
    font-family: didot;
    font-weight: bold;
}
ul.breadcrumb li+li:before {
    padding: 2rem;
    color: hsla(0, 0%, 29%, 1);
    content: "/\00a0";
}
ul.breadcrumb li a {
    color: hsla(0, 0%, 29%, 1);
    text-decoration: none;
}


@media only screen and (max-width: 1100px) {
  .product-list {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media only screen and (max-width: 680px) {
  .product-list {
    grid-template-columns: 1fr;
  }
}


/* Site-Wide Grid */

.container {
  display: grid;
  grid-template-areas: 'header'
                       'nav'
                       'main'
                       'footer';
}


/* Header */

header {
  grid-area: header;
  display: grid;
  grid-template-columns: 22rem 1fr 22rem;
  align-items: center;
  padding: .75rem 5rem;
  font-size: inherit;
  background-color: hsla(0, 0%, 93%, 1);
}

.search-bar {
  display: flex;
  border-radius: 33px 53px 33pzx 53px;
  font-family: didot;
  /*width: 20px;
  transition: width 2s;
  -webkit-transition: width 2s;*/
}

.search-bar:hover {
  opacity: 0.4;
}

.search-bar input {
  flex-grow: 1;
  border-top-right-radius: 0;
  border-top-left-radius: 30px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 30px;
}

.search-bar .icon {
  background-color: hsla(0, 0%, 89%, 1);
  border-radius: 0 53px 53px 0;
  padding: 1rem;
}

.search-bar .icon img {
  vertical-align: middle;
}

.cart {
  justify-self: end;
  display: flex;
  align-items: center;
  padding: .875rem 1rem;
  border-radius: 54px;
  transition: width 5s;
  font-family: didot;
}

.cart:hover {
  opacity: .8;
  width: 100px;
}


.cart img {
  padding-left: .625rem;
}

nav {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  justify-items: center;
  grid-area: nav;
  background-color: hsla(0, 0%, 93%, 1);
  border-top: 1px solid hsla(0, 0%, 85%, 1);
  padding: 1.313rem 24.25rem 1.313rem 25rem;
}

nav a:visted {
  color: hsla(0, 0%, 29%, 1);
}

@media only screen and (max-width: 1100px) {
  header {
    grid-template-columns: 1fr;
    justify-items: center;
  }

  .cart {
    justify-self: auto;
  }
}

@media only screen and (max-width: 700px) {
  nav {
    grid-template-columns: 1fr;
  }
}

/* Main Section */

#main {
  grid-area: main;
  display: grid;
  justify-items: center;
  text-align: center;
  background-color: hsla(0, 0%, 98%, 1);
  border-top: 1px solid hsla(0, 0%, 98%, 1);
}

#main h2 {
  margin-bottom: 2rem;
  font-size: inherit;
}

#main .button {
  box-sizing: border-box;
  width: 14.375rem;
  padding: .875rem 0;
}

/* Footer */

footer {
  grid-area: footer;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 1.5rem;
  background-color: hsla(0, 100%, 100%, 1);
  border-top: 2px solid black;
}

footer img {
  align-self: center;
  justify-self: center;
}

footer .links {
  display: grid;
}

hr {
  width: 75%;
  margin-left:0px; 
}

.links h4 {
  font-family: didot;
  font-weight: bold;
}

.links a {
  margin-bottom: 4px;
  font-family: didot;
}

.links a:hover {
  color: navy;
  font-weight: bold;
}

footer a {
  color: hsla(0, 0%, 29%, 1);
  margin-top: 5px;
}

@media only screen and (max-width: 810px) {
  footer {
    grid-template-columns: repeat(3, 1fr);
  }

  footer img {
    grid-column: 1 / span 3;
  }
}

@media only screen and (max-width: 490px) {
  footer {
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
  }

  nav a {
    padding:10px;
  }


  .search-bar {
    margin: 10px;
  }

  hr {
    width: 100%;
  }

  .links a {
    padding-bottom: 20px;
  }


  footer img {
    grid-column: auto;
    margin-bottom: 10px;
  }
}
