﻿@keyframes subNav {
  0% {
    opacity: 0;
    -moz-opacity: 0;
    -khtml-opacity: 0;
    filter: alpha(opacity=0);
    margin-top: 5px;
  }
  100% {
    opacity: 1;
    -moz-opacity: 1;
    -khtml-opacity: 1;
    filter: alpha(opacity=100);
    margin-top: -8px;
  }
}
@keyframes floating {
  0% {
    -ms-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-animation-fill-mode: forwards;
  }
  50% {
    -ms-transform: translate(0, 10px);
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
    -webkit-animation-fill-mode: forwards;
  }
}
@keyframes scrolldown {
  0% {
    margin-bottom: 0px;
  }
  50% {
    margin-bottom: 20px;
  }
}
@keyframes swingg {
  0% {
    transform: rotate(20deg);
  }
  50% {
    transform: rotate(-20deg);
  }
  100% {
    transform: rotate(20deg);
  }
}
@keyframes bookFlipOut {
  from {
    -webkit-transform: perspective(600px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(600px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  to {
    -webkit-transform: perspective(600px);
    transform: perspective(600px);
  }
}
@keyframes bookFlipIn {
  from {
    -webkit-transform: perspective(600px);
    transform: perspective(600px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(600px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(600px) rotate3d(0, 1, 0, -20deg);
  }
}
@keyframes sideFlipOut {
  from {
    -webkit-transform: perspective(600px) rotate3d(0, 1, 0, 70deg) translateX(10px);
    transform: perspective(600px) rotate3d(0, 1, 0, 70deg) translateX(10px);
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
  }
  to {
    -webkit-transform: perspective(600px) rotate3d(0, 1, 0, 90deg) translateX(10px);
    transform: perspective(600px) rotate3d(0, 1, 0, 90deg) translateX(10px);
  }
}
@keyframes sideFlipIn {
  from {
    -webkit-transform: perspective(600px) rotate3d(0, 1, 0, 90deg) translateX(10px);
    transform: perspective(600px) rotate3d(0, 1, 0, 90deg) translateX(10px);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }
  to {
    -webkit-transform: perspective(600px) rotate3d(0, 1, 0, 60deg) translateX(10px);
    transform: perspective(600px) rotate3d(0, 1, 0, 60deg) translateX(10px);
  }
}
@keyframes popIn {
  0% {
    -ms-transform: scale(0);
    -webkit-transform: scale(0);
    transform: scale(0);
    -webkit-animation-fill-mode: forwards;
  }
  50% {
    -ms-transform: scale(1.4);
    -webkit-transform: scale(1.4);
    transform: scale(1.4);
    -webkit-animation-fill-mode: forwards;
  }
  75% {
    -ms-transform: scale(0.8);
    -webkit-transform: scale(0.8);
    transform: scale(0.8);
    -webkit-animation-fill-mode: forwards;
  }
  85% {
    -ms-transform: scale(1.15);
    -webkit-transform: scale(1.15);
    transform: scale(1.15);
    -webkit-animation-fill-mode: forwards;
  }
  95% {
    -ms-transform: scale(0.9);
    -webkit-transform: scale(0.9);
    transform: scale(0.9);
    -webkit-animation-fill-mode: forwards;
  }
  100% {
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-animation-fill-mode: forwards;
  }
}
@keyframes selfspin {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.shop-filter {
  position: fixed;
  width: 100%;
  top: 100px;
  left: 0;
  z-index: 5;
  background: #DDDDDD;
  padding: 0;
  white-space: nowrap;
  text-align: center;
}
.shop-filter ul {
  display: block;
}
.shop-filter ul.brand-name {
  text-align: left;
  max-width: 1500px;
  margin: 0 auto;
}
.shop-filter ul.brand-name > li:hover a {
  background: unset;
}
.shop-filter ul.brand-name > li a::before {
  content: "\f053";
  font-family: "fontawesome";
  margin-right: 1rem;
}
.shop-filter ul > li {
  display: inline-block;
}
.shop-filter ul > li > a {
  font-size: 16px;
  height: 50px;
  line-height: 50px;
  color: #333333;
  text-decoration: none;
  padding: 0 18px;
  cursor: pointer;
  display: block;
  margin: 0;
}
.shop-filter ul > li:has(ul) > a:after {
  content: "\f107";
  font-family: "fontawesome";
  margin-left: 0.6rem;
  opacity: 0.5;
}
.shop-filter ul > li.selected > a {
  background: #333333;
  color: #fff;
}
.shop-filter ul > li:hover > a {
  background: #fff;
  color: #333333;
}
.shop-filter ul > li:hover .submenu {
  display: flex;
}
.shop-filter ul > li > .submenu {
  position: absolute;
  left: 0;
  top: 50px;
  width: 100%;
  background: #fff;
  justify-content: center;
  padding: 0 50px;
  display: none;
}
.shop-filter ul > li > .submenu > ul {
  display: flex;
  max-width: 800px;
  flex-wrap: wrap;
}
.shop-filter ul > li > .submenu > ul > li:hover > a {
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
@media screen and (max-width: 900px) {
  .shop-filter {
    padding: 0 0;
    top: 60px;
  }
  .shop-filter ul {
    overflow-x: auto;
  }
  .shop-filter ul > li > a {
    font-size: 14px;
    height: 35px;
    line-height: 35px;
    padding: 0 12px;
  }
  .shop-filter ul > li > .submenu {
    top: 35px;
    padding: 0 25px;
  }
}

.brand-wrapper {
  position: relative;
  padding: 200px 50px 50px;
  max-width: 1500px;
  margin: 0 auto;
}
.brand-wrapper a {
  width: 100%;
  margin-bottom: 20px;
  display: block;
  aspect-ratio: 8/3;
  overflow: hidden;
}
.brand-wrapper a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s;
}
.brand-wrapper a:hover img {
  transform: scale(1.05);
}
@media screen and (max-width: 900px) {
  .brand-wrapper {
    padding: 125px 25px 25px;
  }
}
@media screen and (max-width: 600px) {
  .brand-wrapper {
    padding: 100px 0 0;
    display: block;
  }
  .brand-wrapper a {
    aspect-ratio: 16/9;
    margin-bottom: 10px;
  }
}

.shop-list {
  position: relative;
  padding: 200px 50px 50px;
  max-width: 1500px;
  margin: 0 auto;
  min-height: 100vh;
}
@media screen and (max-width: 900px) {
  .shop-list {
    padding: 125px 25px 25px;
  }
}
@media screen and (max-width: 600px) {
  .shop-list {
    padding: 100px 0 0;
    display: block;
  }
  .shop-list a {
    aspect-ratio: 16/9;
    margin-bottom: 10px;
  }
}
