* {
  box-sizing: border-box;
}

body {
  font-family: "Lato", Verdana, Geneva, Tahoma, sans-serif;
  min-height: 100vh;
  margin: 0;
  border: 0;
  padding: 0;
  display: grid;
  grid-gap: 2em;
  grid-template-columns: auto;
  grid-template-areas:
    "header header"
    "main main"
    "footer footer";
  background-color: #27282e;
  color: #fff;
}

.container {
  margin: auto;
  padding-top: 3em;
}

.header-nav {
  background-color: #672a6b;
  position: fixed;
  width: 100%;
}

.header-nav_row {
  margin: auto;
  display: flex;
  flex-direction: column;
}

.header-nav-row_div {
  display: flex;
  align-items: center;
  justify-content: center;
}

.logo-list-search {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo {
  display: flex;
}

.logo img {
  width: 104px;
}

.searchbar {
  display: flex;
  background: #fff;
  position: relative;
  width: 150px;
}

.searchbar input {
  display: block;
  padding: 10px 25px;
  width: 150px;
}

.searchbar button {
  background: transparent;
  border: none;
  display: inline-block;
  cursor: pointer;
  font-size: 20px;
  position: absolute;
  top: 0;
  bottom: 0;
}

.icons-container {
  display: flex;
  flex-direction: column;
  padding-left: 5px;
}

.navbar-icons {
  display: flex;
  flex-direction: row;
  gap: 5px;
}

header,
main,
footer {
  background: #27282e;
}

header {
  grid-area: header;
  align-items: center;
  justify-content: space-evenly;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

header a {
  color: #fff;
}

main {
  grid-area: main;
}

footer {
  grid-area: footer;
  text-align: center;
  box-shadow: 0 4px 8px 0 inset rgba(0, 0, 0, 0.4),
    0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.social-icons {
  font-size: 1.5em;
}

header,
footer {
  background: #672a6b;
  color: #fff;
  padding: 5px;
  z-index: 9;
}

.active {
  text-decoration: underline;
}

nav {
  display: none;
  position: absolute;
  text-align: center;
  top: 78px;
  border-radius: 5px;
}

nav ul {
  padding: 0px;
}

nav li {
  display: inline-block;
  padding: 25px;
}

#hamburger-menu {
  display: none;
}

#hamburger-menu:checked ~ nav {
  display: block;
  background-color: #672a6b;
}

img {
  width: 100%;
}

h1 {
  font-size: 1.5em;
}

h2 {
  font-size: 1.4em;
}

h3 {
  font-size: 1.3em;
}

h4 {
  font-size: 1.2em;
}

p {
  font-size: 1em;
}

/* Index */
.highlighted h1 {
  background-color: #672a6b;
  text-align: left;
  padding: 13px 5px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.highlighted-game {
  background-color: #672a6b;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.highlighted-game:hover {
  transform: translateY(-2px);
  transition: all ease 0.2s;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.4), 0 12px 40px 0 rgba(0, 0, 0, 0.2);
}

.highlighted-game h2,
.highlighted-game p {
  text-align: center;
  padding-bottom: 2px;
}

.highlighted-game img {
  object-fit: cover;
  max-width: 1144px;
  max-height: 460px;
}

.categories {
  background-color: #672a6b;
  margin-top: 2em;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.categories ul {
  list-style: none;
  text-align: center;
}

.categories li {
  display: inline-block;
  padding: 5px;
  font-size: 0.9em;
}

.featured-new {
  background-color: #27282e;
  margin-top: 2em;
}

.featured-new h2 {
  padding: 3px 10px;
  background-color: #672a6b;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.featured-popular {
  background-color: #27282e;
  margin-top: 2em;
}

.featured-popular h2 {
  padding: 3px 10px;
  background-color: #672a6b;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.product-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.product-list h3,
.product-list p {
  display: inline;
  vertical-align: text-top;
  font-size: 0.9em;
}

.bestseller-wishlist_list {
  display: flex;
  flex-direction: column;
  margin-top: 3rem;
  background-color: #672a6b;
}

.bestseller-wishlist_list h4 {
  padding-left: 1rem;
}

.bestsellers {
  background-color: #672a6b;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
  border: #bac5cf solid 1px;
  flex: 50%;
}

.bestsellers h4 {
  border-bottom: #bac5cf solid 1px;
  margin: 0;
}

.wishlist {
  background-color: #672a6b;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
  border: #bac5cf solid 1px;
  flex: 50%;
}

.wishlist h4 {
  border-bottom: #bac5cf solid 1px;
  margin: 0;
}

/* About */
.about-us h1 {
  background-color: #672a6b;
  text-align: center;
  padding: 13px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.location-description_map {
  display: flex;
  flex-direction: column;
  gap: 1.5em;
}

.location-description {
  flex: 1;
  background-color: #672a6b;
  padding: 5px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.location-map {
  flex: 1;
  object-fit: cover;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

/* Contact */
.contact-us {
  width: 360px;
  margin: auto;
}

.contact-us h1 {
  background-color: #672a6b;
  text-align: center;
  padding: 13px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.concact-form_parent {
  display: flex;
}

#contactForm {
  display: inline-block;
  margin: 0 auto;
  padding: 2em;
  background: #672a6b;
  border-radius: 1em;
  margin-top: 1em;
  margin-bottom: 1em;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

#contactForm h3 {
  border-bottom: #bac5cf solid 1px;
}

.contact-textarea {
  width: 100%;
  height: 100px;
  margin-bottom: 10px;
  padding: 8px;
  border: 1px solid #bac5cf;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.form-button {
  background-color: #4e8010;
  color: #fff;
  border: none;
  padding: 1em;
  border-radius: 1em;
  cursor: pointer;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.form-error {
  display: none;
  color: red;
}

input[type="textContact"] {
  width: 50%;
  margin-bottom: 10px;
  padding: 8px;
  border: 1px solid #bac5cf;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

label {
  display: block;
}

#contactMessage {
  display: none;
}

#contactMessage.show {
  display: block;
  background-color: #4e8010;
  padding: 1em;
  color: #fff;
  border-radius: 1em;
  margin-bottom: 1em;
  text-align: center;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.contact-back_home {
  display: flex;
  margin: 0 auto;
  background-color: #672a6b;
  border: none;
  color: #fff;
  padding: 1em;
  border-radius: 1em;
  margin-bottom: 1em;
  cursor: pointer;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

/* Product page */
.gameImageContainer {
  position: relative;
}

.topImageSlides {
  padding-top: 25px;
  object-fit: cover;
  max-width: 1144px;
  display: none;
}

.gameImageThumbnailsRow {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 25px;
  max-width: 460px;
  margin: auto;
}

.gameImageThumbnailsColumn:hover {
  box-shadow: 0 0 2px 1px rgba(103, 42, 107);
  opacity: 0.8;
}

.active,
.gameThumbnail:hover {
  opacity: 1;
}

.gameImageThumbnailsColumn {
  cursor: pointer;
}

.slidesNext,
.slidesPrevious {
  cursor: pointer;
  position: absolute;
  top: 45%;
  width: auto;
  padding: 10px;
  margin-top: -50px;
  color: white;
  font-weight: bold;
  font-size: 20px;
  border-radius: 0 3px 3px 0;
  user-select: none;
  background-color: rgb(103, 42, 107, 0.6);
}

.slidesNext {
  right: 0;
  border-radius: 3px 0 0 3px;
}

.slidesNext:hover,
.slidesPrevious:hover {
  background-color: #672a6b;
}

.fade {
  animation-name: fade;
  animation-duration: 1s;
}

@keyframes fade {
  from {
    opacity: 0.5;
  }
  to {
    opacity: 1;
  }
}

.game-specific_name {
  background-color: #672a6b;
  text-align: center;
  margin-bottom: -25px;
}

.game-specific_name h1 {
  padding: 0.4em;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.game-specific_details {
  display: flex;
  flex-direction: column-reverse;
}

.bold-italic {
  font-weight: bold;
  font-style: italic;
}

.game-specific_description {
  display: block;
  background-color: #672a6b;
  margin-top: 25px;
  padding: 10px;
  grid-column: 1;
  font-family: "Lato Light";
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.buy-info {
  display: flex;
  flex-direction: column;
}

.game-specific_info {
  display: flex;
  background-color: #672a6b;
  text-align: center;
  border-top: #bac5cf solid 1px;
  font-family: "Lato Light";
  padding: 0.5em;
  font-size: 0.8em;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.game-price {
  display: flex;
  flex-direction: column;
  text-align: center;
  margin: 25px 0px;
  border: #bac5cf solid 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.buy-cart-wish {
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items: center;
  gap: 0.5em;
}

.buy-now {
  flex: 1;
  background-color: #4e8010;
  text-align: center;
  border: #bac5cf solid 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.add-cart {
  flex: 1;
  background-color: #672a6b;
  text-align: center;
  border: #bac5cf solid 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.add-wishlist {
  flex: 1;
  background-color: #672a6b;
  text-align: center;
  border: #bac5cf solid 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.system-req {
  line-height: 1em;
}

.system-req h2 {
  background-color: #672a6b;
  padding: 1em;
  text-align: center;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.req-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.req-info h3 {
  text-align: center;
  padding: 1em;
  margin-bottom: 0;
  border: #bac5cf solid 1px;
  background-color: #672a6b;
}

.system-req_left {
  border: #bac5cf solid 1px;
  font-family: "Lato Light";
  background-color: #672a6b;
  padding-left: 0.4em;
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.system-req_right {
  border: #bac5cf solid 1px;
  font-family: "Lato Light";
  background-color: #672a6b;
  padding-left: 0.4em;
  box-shadow: 0 0px 0px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.supported-languages {
  font-family: "Lato Light";
  padding: 0.4em;
  background-color: #672a6b;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
  border: #bac5cf solid 1px;
}

.extra-info {
  font-family: "Lato Light";
  font-size: 0.7em;
}

/* Checkout */
.payment-options h1 {
  background-color: #672a6b;
  text-align: center;
  margin-bottom: 0;
  padding-top: 10px;
}

.payment-icons {
  background-color: #672a6b;
  margin-bottom: 10px;
  padding: 8px;
  font-size: 2em;
  text-align: center;
}

.payment-text-icons {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.payment-row {
  display: flex;
  flex-direction: column-reverse;
  margin: 0 10px;
}

.col-large {
  flex: 75%;
}

.col-large_in {
  flex: 50%;
}

.col-small {
  flex: 25%;
  margin-bottom: 5px;
}

.col-large,
.col-large_in,
.col-small {
  padding: 0 10px;
}

.payment-container {
  background-color: #672a6b;
  padding: 10px;
  border: #bac5cf 1px solid;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

input[type="text"] {
  width: 100%;
  margin-bottom: 10px;
  padding: 8px;
  border: 1px solid #bac5cf;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

label {
  margin-bottom: 10px;
}

.button-checkout {
  background-color: #4e8010;
  color: #fff;
  width: 100%;
  border: none;
  border-radius: 1em;
  cursor: pointer;
  padding: 10px;
  font-size: 1em;
  margin-top: 5px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.button-cancel {
  background-color: #af0000;
  color: #fff;
  width: 100%;
  border: none;
  cursor: pointer;
  padding: 10px;
  font-size: 1em;
  margin-top: 5px;
  border: #bac5cf solid 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

hr {
  border: #bac5cf 1px solid;
}

.price {
  float: right;
  padding-right: 1rem;
  font-size: 0.8rem;
}

/* Checkout Success */
.thank-you {
  background-color: #672a6b;
  text-align: center;
  width: 360px;
  padding: 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.order-success {
  background-color: #672a6b;
  text-align: center;
  width: 360px;
  margin-top: 50px;
  margin-bottom: 5px;
  padding: 1px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.summary-container {
  background-color: #672a6b;
  padding: 10px;
  border: #bac5cf 1px solid;
  margin-left: auto;
  margin-right: auto;
  width: 100%;
  margin-bottom: 5px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.back-home_button {
  display: block;
  background-color: #672a6b;
  color: #fff;
  width: 100%;
  border: none;
  cursor: pointer;
  padding: 10px;
  font-size: 1em;
  width: 50%;
  margin: auto;
  border: #bac5cf solid 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

/* Wishlist */
.wishlist-page {
  background-color: #672a6b;
  text-align: center;
  width: 360px;
  padding: 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.your-wishlist {
  background-color: #672a6b;
  text-align: center;
  width: 50%;
  margin-top: 50px;
  margin-bottom: 5px;
  padding: 1px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.your-wishlist_container {
  background-color: #672a6b;
  padding: 10px;
  border: #bac5cf 1px solid;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
  margin-bottom: 20px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

/* Cart */
.cart-page {
  background-color: #672a6b;
  text-align: center;
  width: 360px;
  padding: 1px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.your-cart {
  background-color: #672a6b;
  text-align: center;
  width: 50%;
  margin-top: 50px;
  margin-bottom: 5px;
  padding: 1px;
  margin-left: auto;
  margin-right: auto;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.your-cart_container {
  background-color: #672a6b;
  padding: 10px;
  border: #bac5cf 1px solid;
  margin-left: auto;
  margin-right: auto;
  width: 50%;
  margin-bottom: 20px;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

/* Links */
a {
  text-decoration: none;
  color: #fff;
}

.products {
  background-color: #672a6b;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "image image"
    "name price";
  font-size: 0.8em;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.4), 0 6px 20px 0 rgba(0, 0, 0, 0.2);
}

.products:hover {
  transform: translateY(-5px);
  transition: all ease 0.2s;
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.4), 0 12px 40px 0 rgba(0, 0, 0, 0.2);
}

.products img {
  grid-column: -1/1;
}

.products h2,
.products h3 {
  grid-column: 1;
  margin: 5px;
  float: left;
}

.products p {
  grid-column: 2;
  grid-row: 2;
  margin: 5px;
  float: right;
}
