@import url(./sections.css);
@import url(./headlines.css);
@import url(./footer.css);
@import url(./restaurantpage.css);

* {
  margin: 0;
  padding: 0;
  word-spacing: 3px;
  box-sizing: border-box;
}

html {
  font-size: 100%;
}

/*--------------------------------- Index ---------------------------------*/

body {
  background-color: #ffffff;
  font-family: "segoe UI", sans-serif, Verdana, "Geneva";
  display: grid;
  font-size: 1rem;
  grid-template-columns: 1fr;
  grid-template-rows: min-content 1fr auto min-content;
  grid-template-areas:
    " Gnav "
    " Bild "
    " Main "
    "Footer ";
}

/*--------------------------------- Href ---------------------------------*/

a {
  color: white;
  text-decoration: none;
}

/*--------------------------------- Main Page Section ---------------------------------*/

.SectionStyle {
  width: 100%;
  font-weight: 100;
}

#MainPageSection {
  grid-area: Main;
  z-index: 5;
}

#RestaurantTypeSection {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 0 3.5% 0 3.5%;

  #TypesHeader {
    color: rgb(62, 62, 62);
    font-weight: 400;
    width: 90vw;
    align-self: center;
    text-shadow: none;
  }

  #RestaurantTypes {
    display: flex;
    color: #141414;
    align-self: center;
    justify-content: center;
    border-radius: 5px;
    width: 90vw;
    gap: 20px;
    margin-top: 30px;

    .RestaurantTypeBox {
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      width: 100%;
      color: #141414;
      height: max-content;

      .emblem-text {
        position: relative;
        color: rgb(62, 62, 62);
        font-weight: 500;
        margin: 20px 0;
        text-align: center;
      }

      img {
        position: relative;
        align-self: center;
        width: 95%;
        height: 95%;
        object-fit: contain;
        transition: all 0.8s ease;
        cursor: pointer;

        &.active {
          transform: scale(1.15);
        }

        &:hover {
          transform: scale(1.15);
        }
      }
    }
  }

}

#SortingSection {
  margin: 0px 80px;
  display: flex;
  justify-content: center;
  padding: 40px 0 30px 0;
  border-top: solid 1px rgb(62, 62, 62);

  .SortingOptions {
    display: flex;
    width: 90vw;
    gap: 3px;
  }

  .Sort-btn {
    padding: 9px 1.1rem;
    margin: 3px;
    font-size: 1rem;
    font-weight: 600;
    color: rgb(62, 62, 62);
    border: 1px solid rgb(62, 62, 62);
    background-color: #ffffff;
    border-radius: 10px;
    text-align: center;
    cursor: pointer;
    transition: all 0.4s ease;
    word-spacing: 0px;
  }

  .Sort-btn.active {
    color: #ffffff;
    background-color: rgb(62, 62, 62);
  }

  .Sort-btn:hover {
    color: #ffffff;
    background-color: rgb(62, 62, 62);
  }
}

/*--------------------------------- Picture Section/Row/Container ---------------------------------*/

.RestaurantPictureSection {
  position: relative;
  left: 0;

  .Cuisine-Header {
    display: flex;
    flex-direction: column;
    padding: 10px;

    .Cuisine-Text {
      left: 0;
      max-width: 60%;
      line-height: 1.5;
    }
  }
}

.PictureRow {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  padding: 20px 10px;

  .PicWrapper {
    box-shadow: 0 0 10px 2px rgba(0, 0, 0, 0.2);
    height: 19vw;
    display: flex;
    flex-direction: column;

    .RestaurantPicDescription {
      padding: 0.2rem 0.7rem 0.7rem 0.7rem;
      display: flex;
      flex-direction: column;
      gap: 4px;

      .info {
        padding: 0.1rem 0;
        display: flex;
        flex-direction: column;
        gap: 4px;

        .RestaurantName {}

        .RestaurantType {
          font-style: italic;
        }

        .RestaurantPrice {
          font-style: italic;
          font-weight: 200;
        }
      }

      .RatingBox {

        .Rating {}

        .AmountOfRating {}

      }
    }

    &.hidden {
      display: none;
    }
  }
}

/*--------------------------------- Main Image ---------------------------------*/

.MainImageWrapper {
  position: relative;
  grid-area: Bild;
  overflow: hidden;
}

#MainImage {
  width: 100%;
  opacity: 1;
  mask-image: linear-gradient(to bottom, black 60%, transparent 100%);
}

#MainImageText {
  color: #FFF8DC;
  z-index: 100;
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translate(-50%, -50%);

  h2 {
    color: inherit;
    font-family: 'Georgia', 'Garamond', serif;
    font-style: italic;
    font-size: 6rem;
    text-shadow:
      0 0 8px rgba(0, 0, 0, 0.5),
      2px 2px 6px rgba(0, 0, 0, 0.6);
    width: max-content;
    z-index: 100;
  }

  p {
    color: inherit;
    font-size: 1.5rem;
    font-style: italic;
    text-align: center;
    text-shadow:
      0 0 8px rgba(0, 0, 0, 0.5),
      2px 2px 6px rgba(0, 0, 0, 0.6);
    margin: 20px auto 50px auto;
    width: 80%;
    z-index: 100;
  }

}

/*--------------------------------- Pictures ---------------------------------*/

.RestaurantPicBox {
  display: block;
  overflow: hidden;
  height: 100%;
  width: 100%;
  background-position: center;
  background-size: cover;
}

/*--------------------------------- Queries ---------------------------------*/

@media (max-width: 1200px) {
  html {
    font-size: 80%;
  }
}

@media (max-width: 1025px) {
  html {
    font-size: 70%;
  }

  .PictureRow {
    grid-template-columns: repeat(3, 1fr);

    .PicWrapper {
      height: 25vw;
    }

  }
}

@media (max-width: 769px) {
  html {
    font-size: 60%;
  }

  .PictureRow {

    .PicWrapper {
      height: 25vw;
    }
  }

}