/* box-sizing*/
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: white;
}

html {
  background-color: #224455;
}

/* add padding for top and bottom bar */
main {
  padding: 4vh 0px 10vh 0px;
}

ul,
li {
  list-style: none;
}

h2 {
  margin-left: 3%;
  margin-bottom: 20px;
}

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

.icon {
  width: 19px;
  height: 19px;
}

.sr-only {
  position: absolute;
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* HOME */
/* Header */
header  {
  background-color: white;
  border-radius: 0px 0px 20px 20px;
  position: sticky;
  top: 0;
  width: 100%;
  height: 8vh;
  min-height: 60px;
  align-items: center;
  padding: 5px;

  @media (min-width: 798px) {
    height: 10vh;
    min-height: 70px;
  }

  nav {
    display: flex;
    justify-content: space-around;
    gap: 10px;
    width: 100%;
    align-items: center;
    margin-bottom: 0px;
    height: 100%;

    ul {
      display: grid;
      grid-template-rows: repeat(1, 1fr);
      grid-auto-flow: column;
      grid-auto-columns: fit-content;
      gap: 10px;
      width: 90%;
      padding: 0;

      img.svg {
        display: none;

        @media (min-width: 798px) {
          display: flex;
          width: 25px;
          height: auto;
        }
      }

      li {
        display: flex;
        align-items: center;
        justify-content: center;

        &.logo {
          justify-content: flex-start;
        }

        &.grid-view {
          justify-content: flex-end;
        }

        &.menu-links,
        &.search-bar,
        &.account-icon {
          display: none;

          @media (min-width: 798px) {
            display: flex;
          }
        }

        svg {
          width: 20px;
          height: auto;
        }

        a,
        h4 {
          color: #224455;
        }

        .header-text-icon {
          display: flex;
          align-items: center;
          gap: 10px;
        }

        .grid-list-toggle {
          display: flex;
          background-color: #224455;
          padding: 5px;
          border-radius: 50px;
          gap: 10px;
          align-items: center;
          cursor: pointer;

          @media (min-width: 798px) {
            padding: 15px;
          }
        }

        .button-tekst {
          color: white;
        }

        .dropdown-menu {
          display: none;

          @media (min-width: 798px) {
            display: flex;
            flex-direction: row;
            overflow: hidden;
            width: 10vw;
          }
        }

        button>img {
          width: 15px;
          height: auto;
        }

        .gridselector {
          cursor: pointer;
          background: none;
          border: none;
          padding: 0;
        }

        input {
          display: none;
          border: 3px #224455 solid;
          color: #224455;
          font-family: sans-serif;
          width: 80vw;
          max-width: 20vw;
          border-radius: 50px;
          height: 8vh;
          max-height: 50px;
          min-height: 20px;

          @media (min-width: 798px) {
            display: flex;
          }

          &::placeholder {
            font-size: .8rem;
            padding-left: 10%;
            color: #224455;
          }

          &::-webkit-textfield-decoration-container {
            padding-left: 10%;
          }
        }

        .gridselector .list-icon {
          display: none;
        }
      }
    }
  }
}

/* Main */
.main-home {
  .inline-group {
    padding: 20px;
  }

  figure:nth-of-type(1) {
    display: flex;
    gap: 20px;

    figcaption {
      font-size: 1rem;
    }
  }
}


/* Grid View */

.images-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 90vw;
  margin: 0 auto;
  gap: 10px;

  @media (min-width: 498px) {
    grid-template-columns: 1fr 1fr 1fr;
  }

  @media (min-width: 798px) {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  @media (min-width: 1000px) {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  }
  
  figure > article {
      display: none;
    }

  li {
    figure {
      border-radius: 20px;
    }

    img {
      border-radius: 20px;
    }
  }
}

/* List view */

ul.images-list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 24px;
  width: 90vw;
  margin: 0 auto;
  align-items: start;

  @media (min-width: 598px) {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  @media (min-width: 1000px) {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  

  li > figure {
    display: grid;               
    grid-template-columns: 29vw 1fr;        
    column-gap: 16px;
    align-items: center;
    background: #fff;
    border-radius: 20px;
    
    @media (min-width: 598px) {
      grid-template-columns: 20vw 1fr;    
    }

    @media (min-width: 1000px) {
      grid-template-columns: 15vw 1fr;     
    } 

    img {
      border-radius: 20px 0px 0px 20px;
    }
    
    article {
      display: flex;
      flex-direction: column;
      gap: 10px;

      h5 {   
        color: #224455;
      }
    }
    
    ul {
      display: flex;
      gap: 10%;

      li {
        display: flex;
        justify-content: center;
        align-items: center;

        svg {
          width: 25px;
          height: 25px;
        }
      }
    }

    img {
      width: 19vh;

      @media (min-width: 798px) {
        grid-template-columns: repeat(3, minmax(0, 1fr));
      }
    }

    figure *:not(img) {
      color: #224455;
    }
  
    h4 {
      color: #224455;
    }
  }
}




/* animations */

.images-list,
.images-grid {
  transition:
    all 1s ease-in-out;
}


/* Footer */
footer {
  background-color: white;
  border-radius: 20px 20px 0px 0px;
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;

  @media (min-width: 798px) {
    display: none;
  }

  nav {
    ul {
      display: grid;
      grid-template-rows: repeat(1, 1fr);
      grid-auto-flow: column;
      width: 100%;
      padding: 10px 0px;

      li {
        display: flex;
        justify-content: center;
        flex-direction: column;

        figure {
          display: flex;
          justify-content: center;
        }

        figure>svg {
          width: 25px;
          height: 25px;
          aspect-ratio: 1/1;
        }

        svg.active > path {
          fill: green;
        }
        
        p {
          color: #224455;
          font-size: .9rem;
          text-align: center;
        }
      }
    }
  }
}

/* Zoekpagina */
.main-zoeken {
  section {
    display: flex;
    flex-direction: column;
    padding: 20px 0px;

    h1 {
      color: white;
      height: 8vh;
      text-align: center;
    }

    label {
      display: none;
    }

    input {
      margin: 0 auto;
      background-color: white;
      color: black;
      font-family: sans-serif;
      width: 80vw;
      max-width: 80vw;
      border-radius: 20px;
      min-height: 20px;
      height: 6vh;

      &::placeholder {
        font-size: .8rem;
        padding-left: 10%;
        color: black;
      }

      &::-webkit-textfield-decoration-container {
        padding-left: 10%;
      }
    }
  }
}

/* Detailpagina */

/* header detailpagina */

.details-header {

  nav {

    ul {
      display: flex;
      justify-content: space-between;
      width: 90vw;
      
      ul.like-tomato-star {
        display: flex;
        justify-content: space-between;
        width: 40vw;
        align-items: center;
        gap: 20px;
        
        svg {
          width: 25px;
          height: auto;
        }
      }

      li.back-button {
        display: flex;
        justify-content: flex-start;

        svg {
          width: 25px;
          height: auto;
        }
        
        a {

        }
      }
    }
  }
}

.detail-page {

  article {
    display: flex;
    align-items: center;
    margin-bottom: 20px;
    gap: 20px;
    
    svg {
      width: 20px;
      height: auto;
    }

    h3 {
      color: white;
    }
  }

  img {
    display: flex;
    width: 90vw;
    border-radius: 20px;
  }

  figure {
    display: flex;
    place-self: center;
    flex-direction: column;
    width: 90vw;
    border-radius: 20px;
  }

  figcaption {
    display: flex;
    gap: 20px;
    margin-top: 20px;

    p {
      font-size: .8rem;
      background-color: rgba(0, 255, 51, 0.60);
      padding: 10px 20px;
      border-radius: 20px;
    }
  }
}

