:root {
  --color-primary: #1c1f2b;
  --color-primary-light: #2d3140;
  --color-primary-medium: #3f4759;
  --color-primary-invert: #f4f6fb;
  --color-accent: #00b7ff;
  --color-accent-dark: #00a1e0;
  --color-accent-inverse: #1c1f2b;
  --bg-default: #0b0c11;
  --bg-default-light: #2c2f3a;
  --bg-section: #151821;
  --bg-header-transparent: rgba(28, 31, 43, 0.9);
  --bg-header: #1c1f2b;
  --bg-banner: #3f475940;
  --bg-reload-page: rgba(30, 60, 90, 0.4);
  --bg-switch: #2c2f3a;
  --text-primary: #f9fafb;
  --text-primary-dark: #d4d6dc;
  --text-secondary: #a0a6b2;
  --text-secondary-dark: #707684;
  --text-light: #f9fafb;
  --text-placeholder: #7f8492;
  --text-link: #00b7ff;
  --text-link-hover: #ffc107;
  --text-game-tile: #f9fafb;
  --text-game-tile-background: #000;
  --btn-close: #a0a6b2;
  --btn-close-invert: #535f6e;
  --btn-tools: #f4f5f7;
  --btn-play: #22c55e;
  --btn-remove: #ef4444;
  --btn-remove-hover: #dc2626;
  --btn-favorite: #ffa2a2;
  --btn-favorite-active: #c10007;
  --progress-bar: #45556c;
  --game-tile-border: #d1d5dc;
  --slider-navigation: #0b0c11;
  --border-divider: #1e2939;
  --scrollbar-thumb: #707684;
  --scrollbar-track: transparent;
  --color-spinner: #707684;
  --color-download-game: #22c55e;
  --color-download-game-hover: #1e9a4c;
  --star-filled: #fbc02d;
  --star-hover: #ff5722;
  --star-empty: #707684;
  --theme-slider: #99a1af;
  --color-theme-icon: #0c4a8c;
}
[data-theme="light"] {
  --color-primary: #cad5e2;
  --color-primary-light: #f8fafc;
  --color-primary-medium: #90a1b9;
  --color-primary-invert: #0f172b;
  --color-accent: #1981c7;
  --color-accent-dark: #0080ca;
  --color-accent-inverse: #fff9f5;
  --bg-default: #e2e8f0;
  --bg-default-light: #eff6ff;
  --bg-section: #eceef1;
  --bg-header-transparent: rgba(209, 213, 220, 0.85);
  --bg-header: #d1d5dc;
  --bg-banner: #eceef195;
  --bg-reload-page: hsla(0, 0%, 39%, 0.4);
  --bg-switch: #eff6ff;
  --text-primary: #314158;
  --text-primary-dark: #1d293d;
  --text-secondary: #45556c;
  --text-secondary-dark: #62748e;
  --text-light: #f9fafb;
  --text-placeholder: #9ca3af;
  --text-link: #3dc2ff;
  --text-link-hover: #4feaff;
  --text-game-tile: #f9fafb;
  --text-game-tile-background: #1c1f2b;
  --btn-close: #8b8f98;
  --btn-close-invert: #d1d4da;
  --btn-tools: #f4f5f7;
  --btn-play: #22c55e;
  --btn-remove: #e54848;
  --btn-remove-hover: #c43232;
  --progress-bar: #45556c;
  --game-tile-border: #9ca3af;
  --border-divider: #d1d5dc;
  --scrollbar-thumb: #b1b5be;
  --scrollbar-track: #f2f3f5;
  --color-spinner: #6e7683;
  --color-download-game: #a6ce39;
  --color-download-game-hover: #22c55e;
  --star-filled: #f4be2c;
  --star-hover: #ff924f;
  --star-empty: #d1d5db;
  --theme-slider: #99a1af;
  --color-theme-icon: #f4be2c;
}
@font-face {
  font-display: swap;
  font-family: Nunito;
  src: url(/css/nunito-bold.b702281e.woff2) format("woff2");
}
html {
  box-sizing: border-box;
  color: var(--text-secondary);
  font-size: 62.5%;
  letter-spacing: 0;
}
*,
:after,
:before {
  box-sizing: inherit;
}
body,
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}
a {
  color: inherit;
  text-decoration: none;
}
:focus {
  outline: none;
}
body {
  font-family: Nunito, Arial, Helvetica Neue, Helvetica, sans-serif;
  font-size: 1.6rem;
}
.u-overflow-hidden {
  overflow: hidden;
}
.section {
  background: var(--bg-section);
  border: 1px solid var(--border-divider);
  border-radius: 1rem;
  padding: 1rem;
}
.loader {
  margin-right: 12px;
  position: relative;
  width: 36px;
}
.loader__container {
  align-items: center;
  display: flex;
  inset: 0;
  justify-content: center;
  position: absolute;
}
.loader__container span {
  animation: wave 1s ease-in-out infinite;
  background: #55566a;
  border-radius: 50%;
  display: inline-block;
  height: 10px;
  margin-right: 2px;
  width: 10px;
}
.loader__container span:first-child {
  animation-delay: 0s;
}
.loader__container span:nth-child(2) {
  animation-delay: 0.1s;
}
.loader__container span:nth-child(3) {
  animation-delay: 0.2s;
}
@keyframes fade-in-from-top {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fade-in-from-left {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-in-from-right {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes make-smaller {
  0% {
    height: 100%;
    width: 100%;
  }
  to {
    height: 75%;
    width: 78%;
  }
}
@keyframes slide-in {
  0% {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slide-out {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes gelatine {
  0%,
  to {
    transform: scale(1);
  }
  25% {
    transform: scale(0.9, 1.1);
  }
  50% {
    transform: scale(1.1, 0.9);
  }
  75% {
    transform: scale(0.95, 1.05);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  to {
    transform: scale(1);
  }
}
@keyframes show-from-none {
  0% {
    opacity: 0;
    transform: scale(0.95);
  }
  50% {
    opacity: 1;
  }
  to {
    transform: scale(1);
  }
}
@keyframes bounce {
  0%,
  20%,
  50%,
  80%,
  to {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-3px);
  }
  60% {
    transform: translateY(-1px);
  }
}
@keyframes animation-scroll-to-top {
  0% {
    transform: scale(1) translateY(0);
  }
  10% {
    transform: scale(1.01, 0.99) translateY(0);
  }
  30% {
    transform: scale(0.99, 1.01) translateY(-5px);
  }
  50% {
    transform: scale(1) translateY(0);
  }
  57% {
    transform: scale(1) translateY(-1px);
  }
  64% {
    transform: scale(1) translateY(0);
  }
  to {
    transform: scale(1) translateY(0);
  }
}
@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  to {
    background-position: -200% 0;
  }
}
@keyframes wave {
  0%,
  60%,
  to {
    opacity: 0.4;
    transform: translateY(0);
  }
  20% {
    opacity: 1;
    transform: translateY(6px);
  }
  40% {
    opacity: 1;
    transform: translateY(-6px);
  }
}
@keyframes bouncing-loader {
  to {
    opacity: 0.1;
    transform: translate3d(0, -16px, 0);
  }
}
.burger-btn {
  align-items: center;
  display: flex;
  height: 3rem;
  justify-content: center;
  margin: 0 0.6rem;
  transition-duration: 0.5s;
  width: 3rem;
}
@media (min-width: 64rem) {
  .burger-btn--mobile {
    display: none;
  }
}
.burger-btn:hover {
  cursor: pointer;
}
.burger-btn span {
  background-color: var(--color-primary-invert);
  border-radius: 1rem;
  height: 3px;
  position: absolute;
  transition-duration: 0.5s;
  width: 25px;
}
.burger-btn span:before {
  top: -7px;
}
.burger-btn span:after,
.burger-btn span:before {
  background-color: var(--color-primary-invert);
  border-radius: 1rem;
  content: "";
  height: 3px;
  position: absolute;
  transition-duration: 0.5s;
  width: 25px;
}
.burger-btn span:after {
  top: 7px;
}
.burger-btn--active span {
  transition: 0.5s;
}
.burger-btn--active span:before {
  transform: rotate(-45deg) scaleX(0.75) translate(-8px, -4px);
}
.burger-btn--active span:after {
  transform: rotate(45deg) scaleX(0.75) translate(-8px, 4px);
}
.control-buttons {
  gap: 0.5rem;
  margin-right: 0.3rem;
}
.control-buttons,
.control-buttons__button {
  align-items: center;
  display: flex;
  justify-content: center;
}
.control-buttons__button {
  background: var(--color-primary-light);
  border: none;
  border-radius: 1rem;
  color: var(--text-primary);
  cursor: pointer;
  font-size: 2.2rem;
  height: 4rem;
  margin: 0;
  overflow: visible;
  padding: 0;
  transition: color 0.3s ease, transform 0.2s ease;
  width: 4rem;
}
@media (hover: hover) {
  .control-buttons__button:hover {
    color: var(--text-secondary);
  }
}
.control-buttons__button:active {
  transform: scale(0.8);
}
.control-buttons .disabled {
  opacity: 0.7;
  pointer-events: none;
}
.games-list {
  display: grid;
  gap: 1.5rem;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  justify-content: center;
  width: 100%;
}
.game {
  cursor: pointer;
  position: relative;
  transition: transform 0.3s;
  width: 100%;
}
.game:active {
  transform: scale(0.95);
}
.game__title {
  background: linear-gradient(transparent 10%, var(--text-game-tile-background));
  bottom: 0;
  color: var(--text-game-tile);
  font-size: 1.6rem;
  left: 0;
  opacity: 1;
  overflow: hidden;
  padding: 4rem 0.5rem 0.7rem;
  position: absolute;
  right: 0;
  text-align: center;
  text-overflow: ellipsis;
  transition: transform 0.3s ease-out, opacity 0.3s;
  white-space: nowrap;
}
@media (min-width: 64rem) {
  .game__title {
    opacity: 0;
    padding-top: 25px;
    transform: translateZ(0);
    white-space: normal;
  }
}
.game__media {
  aspect-ratio: 4/3;
  border-radius: 0.4rem;
  display: flex;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.game__media:focus,
.game__media:hover {
  outline: 2px solid var(--color-accent);
}
.game__media:focus .game__title,
.game__media:hover .game__title {
  opacity: 1;
  z-index: 2;
}
.game__preview {
  display: none;
  left: 0;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  top: 0;
  z-index: 1;
}
.game__image,
.game__image img,
.game__preview {
  height: 100%;
  width: 100%;
}
.game__image img {
  display: block;
  -o-object-fit: cover;
  object-fit: cover;
}
.game__remove {
  align-items: center;
  background-color: var(--btn-remove);
  border: none;
  border-radius: 50px;
  color: #fff;
  cursor: pointer;
  display: flex;
  height: 2.6rem;
  justify-content: center;
  position: absolute;
  right: -0.8rem;
  top: -0.8rem;
  transition: background-color 0.3s ease;
  width: 2.6rem;
  z-index: 3;
}
.game__remove:focus,
.game__remove:hover {
  background-color: var(--btn-remove-hover);
}
.page-list__title {
  color: var(--text-primary);
  display: flex;
  margin: 1rem;
}
.page-list__banner {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-bottom: 1.5rem;
}
.sort {
  display: block;
  font-family: Nunito, sans-serif;
  margin-right: auto;
  min-width: 20rem;
  padding: 1rem 0;
  position: relative;
}
.sort__selected {
  align-items: center;
  background: transparent;
  border: 2px solid var(--color-primary);
  border-radius: 0.8rem;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  font-size: 1.6rem;
  height: 4rem;
  justify-content: space-between;
  padding: 0 1rem;
  transition-duration: 0.2s;
  transition-property: all;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
}
.sort__selected span {
  margin-right: 1rem;
}
.sort__selected:hover {
  border: 2px solid var(--text-primary);
}
.sort__list {
  background: var(--bg-default);
  border: 2px solid var(--color-primary);
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  right: 0;
  top: 5.5rem;
  width: 100%;
  z-index: 8;
}
.sort__list a {
  color: var(--text-secondary);
  cursor: pointer;
  font-size: 1.6rem;
  padding: 1rem 2rem;
  transition: color 0.3s ease;
}
.sort__list a:hover {
  color: var(--text-primary);
}
.banner-container {
  background: var(--bg-banner);
  box-shadow: inset 0 0 0 1px var(--color-primary-light);
}
.banner-top {
  display: block !important;
  height: 50px;
  width: 320px;
}
@media (min-width: 48rem) {
  .banner-top {
    height: 90px;
    width: 728px;
  }
}
@media (min-width: calc(80rem + 1px)) {
  .banner-top {
    display: none !important;
  }
}
@media (max-width: 22rem) {
  .banner-top {
    height: 50px;
    width: 300px;
  }
}
.banner-content {
  display: block !important;
  height: 280px;
  width: 336px;
}
@media (min-width: 48rem) {
  .banner-content {
    height: 90px;
    width: 728px;
  }
}
@media (max-width: 22rem) {
  .banner-content {
    height: 200px;
    width: 300px;
  }
}
.game-bottom {
  display: block !important;
  height: 280px;
  width: 336px;
}
@media (min-width: 48rem) {
  .game-bottom {
    height: 90px;
    width: 728px;
  }
}
@media (max-width: 22rem) {
  .game-bottom {
    height: 200px;
    width: 300px;
  }
}
ins iframe {
  border: none;
  display: block;
  height: 100%;
  margin: 0;
  overflow: hidden;
  padding: 0;
  width: 100%;
}
.sticky {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: center;
  position: sticky;
  top: 7rem;
}
.sticky__top {
  height: 250px;
}
.sticky__bottom,
.sticky__top {
  display: block !important;
  width: 300px;
}
.sticky__bottom {
  height: 600px;
}
@media (max-width: calc(80rem - 1px)) {
  .sticky ins.adsbygoogle {
    display: none !important;
  }
}
.theme-switch {
  align-items: center;
  display: flex;
  justify-content: center;
  margin: 0 1.5rem;
}
.theme-switch__label {
  align-items: center;
  background: var(--bg-switch);
  border-radius: 1rem;
  cursor: pointer;
  display: inline-flex;
  height: 1.6rem;
  justify-content: space-between;
  padding: 0 0.6rem;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 2.8rem;
}
.theme-switch__slider {
  background: var(--theme-slider);
  border-radius: 50%;
  height: 2.4rem;
  left: -1.2rem;
  position: absolute;
  transition: transform 0.4s ease;
  width: 2.4rem;
}
.theme-switch__icons {
  align-items: center;
  display: flex;
  height: 100%;
  justify-content: center;
  position: relative;
  width: 100%;
}
.theme-switch__icons .moon-icon,
.theme-switch__icons .sun-icon {
  align-items: center;
  color: var(--color-theme-icon);
  display: flex;
  font-size: 1.6rem;
  justify-content: center;
  min-width: 2rem;
  position: absolute;
  transition: color 0.1s ease, opacity 0.3s ease;
}
.theme-switch input[type="checkbox"]:checked + label .theme-switch__slider {
  transform: translateX(2.6rem);
}
[data-theme="dark"] .sun-icon,
[data-theme="light"] .moon-icon {
  opacity: 0;
}
.header {
  align-items: center;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: var(--bg-header-transparent);
  display: flex;
  flex-wrap: wrap;
  height: 6rem;
  justify-content: space-between;
  position: fixed;
  width: 100%;
  z-index: 10;
}
@media (min-width: 64rem) {
  .header {
    padding: 0.4rem;
  }
}
.header__open-search-button {
  align-items: center;
  background: transparent;
  border: none;
  color: var(--color-primary-invert);
  cursor: pointer;
  display: flex;
  font-size: 2.3rem;
  justify-content: center;
  margin-left: auto;
  margin-right: 0.4rem;
  overflow: visible;
}
@media (min-width: 64rem) {
  .header__open-search-button {
    display: none;
  }
}
.header__logo {
  align-items: center;
  display: flex;
  height: 100%;
  margin-left: 10px;
}
@media (max-width: 64rem) {
  .header__logo {
    margin: 0 0.4rem;
  }
}
.header__logo a {
  height: 100%;
}
.header__logo a,
.header__logo picture {
  align-items: center;
  display: flex;
  justify-content: center;
}
.header__logo img,
.header__logo picture {
  height: 5rem;
}
.header__search {
  align-items: center;
  border-radius: 1rem;
  display: flex;
  height: 100%;
  justify-content: center;
  position: absolute;
  transform: translateY(-200%);
  transition: background 0.1s, transform 0.1s;
  width: 100vw;
  z-index: 1000;
}
@media (min-width: 37.5rem) {
  .header__search {
    padding: 0 1rem;
  }
}
@media (min-width: 64rem) {
  .header__search {
    display: flex;
    min-width: 68.4rem;
    position: static;
    transform: translate(0);
    width: auto;
  }
}
.header__search--opened {
  background: var(--bg-header);
  transform: translate(0);
}
.header .search-form {
  border-radius: 1rem;
  display: flex;
  position: relative;
  width: 100%;
}
.header .search-form input {
  background: var(--bg-default-light);
  border: 0.1rem solid var(--bg-default-light);
  border-radius: 1rem;
  font-size: 1.6rem;
  height: 4rem;
  padding: 0 1rem;
  transition: border 0.2s ease-in-out;
  width: 100%;
}
.header .search-form input[type="search"] {
  color: var(--text-secondary);
  font-family: Nunito, sans-serif;
}
.header .search-form input[type="search"]::-webkit-search-cancel-button,
.header .search-form input[type="search"]::-webkit-search-decoration,
.header .search-form input[type="search"]::-webkit-search-results-button,
.header .search-form input[type="search"]::-webkit-search-results-decoration {
  display: none;
}
.header .search-form input:focus {
  border: 0.1rem solid var(--color-accent);
  outline: none;
}
.header .search-form input::-moz-placeholder {
  color: var(--text-placeholder);
  font-size: 1.6rem;
}
.header .search-form input::placeholder {
  color: var(--text-placeholder);
  font-size: 1.6rem;
}
.header .search-form__close-button {
  align-items: center;
  background: transparent;
  border: none;
  color: var(--color-primary-invert);
  cursor: pointer;
  display: flex;
  font-size: 2.3rem;
  font-weight: 300;
  justify-content: center;
}
@media (min-width: 64rem) {
  .header .search-form__close-button {
    display: none;
  }
}
.header .search-form__search-button {
  align-items: center;
  background: transparent;
  border: none;
  color: var(--text-placeholder);
  cursor: pointer;
  display: flex;
  font-size: 2.6rem;
  height: 4rem;
  justify-content: center;
  position: absolute;
  right: 0;
  text-align: center;
  top: 0;
  width: 6rem;
}
.header .search-form__spinner {
  color: var(--color-spinner);
  display: none;
  font-size: 2.4rem;
  position: absolute;
  right: 5.5rem;
  top: 50%;
  transform: translateY(-50%);
}
.app {
  background: var(--bg-default);
  display: flex;
  flex-direction: column;
  margin: 0 auto;
  min-height: 100vh;
  position: relative;
  transition: background 0.5s ease;
}
.app::-webkit-scrollbar {
  width: 0.5rem;
}
.app::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
  border-radius: 0.5rem;
}
.app::-webkit-scrollbar-track {
  background-color: var(--scrollbar-track);
}
.app--sidebar-opened {
  overflow: hidden;
}
.app--sidebar-opened .sidebar {
  transform: translateX(0);
  width: 20rem;
}
.app--sidebar-opened .sidebar__item-text {
  opacity: 1;
  visibility: visible;
}
.app--sidebar-opened .app__content:after {
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 1;
}
.app--backdrop-blur {
  overflow: hidden;
}
.app--backdrop-blur:before {
  background-color: rgba(0, 0, 0, 0.5);
  content: "";
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}
.app__content {
  display: block;
  margin-top: 6rem;
}
@media (min-width: 64rem) {
  .app__content {
    margin-left: 6rem;
  }
}
@media (min-width: 120rem) {
  .app__content {
    margin-left: 20rem;
  }
}
.app__content-inner {
  display: flex;
  flex-direction: row;
  padding-bottom: 3rem;
  position: relative;
}
.app__content-main {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  /* justify-content: center; */
  padding: 1rem;
  width: calc(100% - 310px);
}
@media (max-width: calc(80rem - 1px)) {
  .app__content-main {
    width: 100%;
  }
}
.app__content-right {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: 310px;
}
@media (max-width: calc(80rem - 1px)) {
  .app__content-right {
    display: none;
  }
}
.app__h1 {
  align-self: center;
  color: var(--text-primary);
  font-size: 2.8rem;
  line-height: 1;
  margin-right: 2rem;
}
.app__sidebar {
  height: calc(100vh - 6rem);
  position: fixed;
  top: 6rem;
  transform: translateX(-100%);
}
@media (min-width: 64rem) {
  .app__sidebar {
    transform: translateX(0);
  }
}
.app .show {
  display: flex;
}
.app .hidden {
  display: none;
  visibility: hidden;
}
.progress-bar {
  background-color: var(--progress-bar);
  height: 2px;
  position: fixed;
  top: 0;
  z-index: 2000;
}
.sidebar {
  background-color: var(--bg-default);
  border-right: 1px solid var(--border-divider);
  color: var(--text-primary);
  content-visibility: auto;
  left: 0;
  transition: visibility 0s, all 0.15s ease-in-out;
  width: 6rem;
  z-index: 3;
}
.sidebar:hover {
  width: 20rem;
}
.sidebar:hover .sidebar__item-text {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 120rem) {
  .sidebar:hover .sidebar__item-text {
    width: 13rem;
  }
}
@media ((max-width: 120rem) and (min-width:64rem)) {
  .sidebar:not(:hover) .sidebar__footer {
    display: none;
  }
}
@media (min-width: 120rem) {
  .sidebar {
    width: 20rem;
  }
}
.sidebar__content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-top: 1.5rem;
  overflow: auto;
  overflow-anchor: none;
  overflow-x: hidden;
  padding-bottom: 10rem;
  padding-top: 0.5rem;
  scrollbar-width: none;
  width: 100%;
}
@media (min-width: 64rem) {
  .sidebar__content {
    padding-bottom: 4em;
  }
}
.sidebar__content:hover {
  scrollbar-color: #aaadbe transparent;
  scrollbar-width: thin;
  width: 100%;
}
.sidebar__link {
  align-items: center;
  display: flex;
  margin-left: 1.5rem;
  position: relative;
}
.sidebar__link--active:before {
  background-color: var(--color-accent);
  content: "";
  height: 100%;
  left: -15px;
  position: absolute;
  top: 0;
  width: 0.4rem;
}
.sidebar__item {
  display: flex;
  flex-wrap: nowrap;
  height: 3rem;
  width: 18.5rem;
}
.sidebar__item img {
  border-radius: 0.1rem;
  height: 3rem;
  outline: 1px solid var(--color-accent);
  width: 3rem;
}
.sidebar__item:hover {
  color: var(--text-secondary);
  cursor: pointer;
}
.sidebar__item:hover .sidebar__item-text {
  translate: 1rem;
}
.sidebar__item-text {
  font-size: 1.3rem;
  height: 3.5rem;
  line-height: 3.5rem;
  margin-left: 1rem;
  opacity: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  transition: visibility 0s, opacity 0.3s, all 0.2s ease-in-out;
  visibility: visible;
  white-space: nowrap;
  width: 12rem;
}
@media (min-width: 64rem) {
  .sidebar__item-text {
    opacity: 0;
    visibility: hidden;
  }
}
@media (min-width: 120rem) {
  .sidebar__item-text {
    opacity: 1;
    visibility: visible;
  }
}
.sidebar__footer {
  margin-left: 1rem;
  margin-top: auto;
}
.sidebar__divider {
  border-color: var(--border-divider);
  border-style: solid;
  border-width: 0 0 thin;
  flex-shrink: 0;
  margin: 8px 16px;
}
.my-games-sidebar {
  background: var(--bg-section);
  border-radius: 1rem 0 0 1rem;
  display: flex;
  flex-direction: column;
  height: calc(90vh - 6rem);
  overflow: auto;
  padding: 1rem 1rem 3rem;
  position: fixed;
  right: 0;
  scrollbar-color: var(--scrollbar-thumb) transparent;
  scrollbar-width: thin;
  top: calc(6rem + 5vh);
  transform: translate(110%);
  transition: transform 0.3s ease-in-out;
  width: 100%;
  z-index: 1000;
}
.my-games-sidebar--open {
  transform: translate(0);
}
@media (min-width: 37.5rem) {
  .my-games-sidebar {
    padding: 1rem;
    width: 44rem;
  }
}
@media (max-width: 37.5rem) {
  .my-games-sidebar {
    border-radius: 0;
    height: 100vh;
    top: 0;
  }
}
.my-games-sidebar__header {
  align-items: center;
  display: flex;
  justify-content: space-between;
  margin: 0 1rem;
}
.my-games-sidebar__title {
  color: var(--text-primary);
  display: flex;
  font-size: 2rem;
  justify-content: center;
  width: 100%;
}
.my-games-sidebar__content {
  width: 100%;
}
.my-games-sidebar__content .games-list {
  gap: 1rem;
  justify-content: center;
  padding: 0;
}
.my-games-sidebar__close {
  background: none;
  border: none;
  color: var(--btn-close);
  cursor: pointer;
  font-size: 2.4rem;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 1rem;
  transition: color 0.3s ease;
}
.my-games-sidebar__close:hover {
  color: var(--btn-close-invert);
}
.my-games-sidebar__spinner {
  color: var(--color-spinner);
  height: 100%;
  margin-bottom: auto;
}
.my-games-sidebar__empty,
.my-games-sidebar__spinner {
  align-items: center;
  display: flex;
  justify-content: center;
}
.my-games-sidebar__empty {
  color: var(--text-secondary);
  font-size: 1.6rem;
  text-align: center;
  width: 100%;
}
.my-games-sidebar .tabs__content-container {
  margin-top: 1rem;
}
.games {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.games__title {
  color: var(--text-primary);
  font-size: 2.2rem;
  font-weight: 600;
}
.games__more-games-btn {
  align-items: center;
  align-self: center;
  background-color: var(--color-accent);
  border: none;
  border-radius: 1rem;
  color: var(--color-accent-inverse);
  cursor: pointer;
  display: flex;
  font-family: Nunito, sans-serif;
  font-size: 1.6rem;
  justify-content: center;
  margin-top: 0.5rem;
  padding: 0.7rem;
  transition: background-color 0.3s;
  width: 30rem;
}
.games__more-games-btn:hover {
  background-color: var(--color-accent-dark);
}
@media (max-width: 37.5rem) {
  .games__more-games-btn {
    width: 100%;
  }
}
.games__loader {
  align-items: center;
  color: var(--color-spinner);
  display: none;
  height: 100%;
  justify-content: center;
  margin-top: 0.5rem;
}
.page-description {
  color: var(--text-secondary);
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 15px;
  width: 100%;
}
.page-description__title {
  color: var(--text-primary);
  font-size: 2rem;
  font-weight: 600;
}
.parent-link {
  align-self: flex-start;
  color: var(--text-link);
  font-size: 1.6rem;
  transition: color 0.3s;
}
.parent-link:hover {
  color: var(--text-link-hover);
}
.recent {
  align-items: center;
  border-bottom: 1px solid var(--border-divider);
  display: flex;
  height: 55px;
  justify-content: center;
  width: 100%;
}
.recent__container {
  display: flex;
  flex-direction: row;
  height: 45px;
  width: 100%;
}
.recent__game {
  border-radius: 1rem;
  display: flex;
  height: 45px;
  overflow: hidden;
  width: 60px;
}
.recent__game:hover {
  cursor: pointer;
  outline: 2px solid var(--color-accent);
  outline-offset: -2px;
}
.recent .swiper {
  width: 100%;
}
.recent .swiper-wrapper {
  gap: 0.5rem;
}
.recent .swiper-slide {
  width: 60px;
}
.recent .swiper-slide:last-child {
  margin-right: 60px;
}
.recent button {
  align-items: center;
  background: var(--color-primary);
  border: 1px solid var(--color-primary);
  border-radius: 1rem;
  color: var(--text-primary);
  cursor: pointer;
  display: flex;
  flex-direction: row;
  font-family: Nunito, sans-serif;
  font-size: 1.4rem;
  height: 45px;
  justify-content: center;
  line-height: 100%;
  margin-right: 0.5rem;
  max-width: 100px;
  padding: 0.5rem 1rem;
  text-align: start;
  white-space: normal;
  width: 100%;
}
.recent button:hover {
  cursor: pointer;
  outline: 2px solid var(--color-accent);
  outline-offset: -2px;
}
i {
  display: inline-block;
}
.fa-spin {
  animation-delay: var(--fa-animation-delay, 0s);
  animation-direction: var(--fa-animation-direction, normal);
  animation-duration: var(--fa-animation-duration, 2s);
  animation-iteration-count: var(--fa-animation-iteration-count, infinite);
  animation-name: fa-spin;
  animation-timing-function: var(--fa-animation-timing, linear);
}
@media (prefers-reduced-motion: reduce) {
  .fa-spin {
    animation-delay: -1ms;
    animation-duration: 1ms;
    animation-iteration-count: 1;
    transition-delay: 0s;
    transition-duration: 0s;
  }
}
@keyframes fa-beat {
  0%,
  90% {
    transform: scale(1);
  }
  45% {
    transform: scale(var(--fa-beat-scale, 1.25));
  }
}
@keyframes fa-bounce {
  0% {
    transform: scale(1) translateY(0);
  }
  10% {
    transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0);
  }
  30% {
    transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1))
      translateY(var(--fa-bounce-height, -0.5em));
  }
  50% {
    transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0);
  }
  57% {
    transform: scale(1) translateY(var(--fa-bounce-rebound, -0.125em));
  }
  64% {
    transform: scale(1) translateY(0);
  }
  to {
    transform: scale(1) translateY(0);
  }
}
@keyframes fa-fade {
  50% {
    opacity: var(--fa-fade-opacity, 0.4);
  }
}
@keyframes fa-beat-fade {
  0%,
  to {
    opacity: var(--fa-beat-fade-opacity, 0.4);
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(var(--fa-beat-fade-scale, 1.125));
  }
}
@keyframes fa-flip {
  50% {
    transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg));
  }
}
@keyframes fa-shake {
  0% {
    transform: rotate(-15deg);
  }
  4% {
    transform: rotate(15deg);
  }
  24%,
  8% {
    transform: rotate(-18deg);
  }
  12%,
  28% {
    transform: rotate(18deg);
  }
  16% {
    transform: rotate(-22deg);
  }
  20% {
    transform: rotate(22deg);
  }
  32% {
    transform: rotate(-12deg);
  }
  36% {
    transform: rotate(12deg);
  }
  40%,
  to {
    transform: rotate(0deg);
  }
}
@keyframes fa-spin {
  0% {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(1turn);
  }
}
.games-not-found__text,
.games-not-found__title {
  color: var(--text-secondary);
  text-align: center;
}
/* play */
.game-container {
  width: 100%;
}

.game-container__header {
  align-items: center;
  background: var(--bg-section);
  border: 1px solid var(--border-divider);
  border-radius: 1rem 1rem 0 0;
  display: flex;
  justify-content: space-between;
  min-height: 5.5rem;
  padding: 1rem;
}

.game-container__header h1 {
  color: var(--text-primary);
  font-size: 2.6rem;
  font-weight: 900;
  line-height: 1;
}

.game-container__header button {
  align-items: center;
  background-color: var(--color-download-game);
  border: none;
  border-radius: 1rem;
  color: var(--text-primary);
  display: flex;
  font-size: 2rem;
  height: 3.5rem;
  justify-content: center;
  padding: 0.7rem;
  transition: background-color 0.3s;
  visibility: hidden;
  width: 3.5rem;
}

.game-container__header button:hover {
  background-color: var(--color-download-game-hover);
}

.game-container__header button.visible {
  visibility: visible;
}

.game-container__content {
  aspect-ratio: 2/1;
  display: flex;
  flex-direction: column;
  margin: auto;
  position: relative;
}

@media (min-width: 64rem) {
  .game-container__content {
    aspect-ratio: 4/3;
    max-height: calc(100vh - 17rem - 90px);
    min-height: 55rem;
    width: 100%;
  }
}

.game-container__content--expanded {
  aspect-ratio: auto;
  height: calc(100vh - 14rem);
  max-height: none;
}

@media (min-width: 48rem) {
  .game-container__content--expanded {
    height: calc(100vh - 18rem);
  }
}

@media (min-width: calc(80rem + 1px)) {
  .game-container__content--expanded {
    height: calc(100vh - 8rem);
  }
}

.game-container__game {
  border-left: 1px solid var(--border-divider);
  border-right: 1px solid var(--border-divider);
  min-height: 30rem;
  overflow: hidden;
}

.game-container__game,
.game-container__game iframe,
.game-container__placeholder {
  height: 100%;
  width: 100%;
}

.game-container__game-player {
  display: none;
  height: 100%;
  width: 100%;
}

.game-container__game-player--forceFullScreen {
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 10;
}

.game-container__close-game {
  align-items: center;
  background-color: var(--color-primary-light);
  border: none;
  border-radius: 0 10px 10px 0;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
  color: var(--text-primary);
  cursor: pointer;
  display: none;
  font-size: 2.4rem;
  height: 4rem;
  justify-content: center;
  left: 0;
  padding-left: 3px;
  position: absolute;
  top: 4rem;
  transition: color 0.3s ease, background-color 0.3s ease;
  width: 5rem;
  z-index: 1;
}

.game-container__close-game--active {
  display: flex;
}

.game-container__close-game:hover {
  color: var(--text-primary-dark);
}

.game-container--playing .game-container__placeholder {
  display: none;
}

.game-container--playing .game-container__game-player {
  display: block;
}

.game-container .game-placeholder {
  background: rgba(0, 0, 0, 0.3);
  position: relative;
}

.game-container .game-placeholder__content {
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  height: 100%;
  justify-content: center;
  text-align: center;
  width: 100%;
}

.game-container .game-placeholder__info {
  align-items: center;
  background: transparent;
  border-radius: 0.5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.game-container .game-placeholder__info img {
  background: rgba(0, 0, 0, 0.1) no-repeat 50%;
  background-size: cover;
  border-radius: 0.5rem;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  height: 135px;
  transition: transform 0.5s;
  width: 180px;
}

.game-container .game-placeholder__name {
  color: var(--text-light);
  font-size: 2.8rem;
  line-height: 0.9;
  padding: 0 1rem;
  text-align: center;
}

.game-container .game-placeholder__play-button {
  align-items: center;
  background-color: var(--btn-play);
  border-radius: 1rem;
  border-width: 0;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  color: var(--text-light);
  cursor: pointer;
  display: inline-flex;
  font-size: 1.3em;
  font-weight: 800;
  gap: 5px;
  justify-content: center;
  padding: 14px 30px;
  transform: perspective(1px) translateZ(0);
  transition-duration: 0.2s;
  width: 30rem;
}

@media (max-width: 37.5rem) {
  .game-container .game-placeholder__play-button {
    width: 20rem;
  }
}

.game-container .game-placeholder__play-button:hover {
  transform: scale(1.1);
  transition-timing-function: cubic-bezier(0.47, 2.02, 0.31, -0.36);
}

.game-container .game-placeholder__background {
  background-position: 50%;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
  filter: blur(20px);
  height: calc(100% + 50px);
  left: -25px;
  position: absolute;
  top: -25px;
  transition: transform 0.5s;
  width: calc(100% + 50px);
  z-index: -1;
}

.game-container .game-placeholder__background img {
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
}

.game-container .game-placeholder:hover .game-placeholder__background {
  transform: translateX(25px) translateY(25px) scale(1.03);
}

.game-container [data-tooltip] {
  cursor: pointer;
  position: relative;
}

.game-container [data-tooltip]:after {
  background-color: var(--btn-tools);
  border: 1px solid var(--text-secondary-dark);
  border-radius: 5px;
  color: var(--text-secondary-dark);
  content: attr(data-title);
  font-family: Nunito, sans-serif;
  font-size: 12px;
  left: var(--x, 50%);
  opacity: 0;
  padding: 5px 10px;
  pointer-events: none;
  position: fixed;
  top: var(--y, 100%);
  transform: translate(-50%);
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
  visibility: hidden;
  white-space: nowrap;
  z-index: 1;
}

.game-container [data-tooltip]:hover:after {
  opacity: 1;
  visibility: visible;
}

.game-info {
  align-items: center;
  background: var(--bg-section);
  border: 1px solid var(--border-divider);
  border-radius: 0 0 1rem 1rem;
  display: grid;
  gap: 0.1rem;
  grid-template-columns: repeat(2, 1fr);
  padding: 0.5rem 1rem;
}

.game-info__item {
  display: flex;
  gap: 0.5rem;
  padding: 0.5rem;
}

.game-info__left {
  justify-content: flex-end;
}

.game-info__right {
  justify-content: flex-start;
}

.game-info__action {
  align-items: center;
  background: none;
  border: none;
  border-radius: 1rem;
  color: var(--text-secondary);
  display: flex;
  font-size: 2rem;
  justify-content: center;
  padding: 0.7rem;
  transition: color 0.3s ease, background 0.3s ease;
}

.game-info__action:hover {
  background: hsla(0, 0%, 100%, 0.1);
}

.game-info__action.active {
  color: var(--color-accent);
}

.game-info__action--favorite {
  color: var(--btn-favorite);
}

.game-info__action--favorite.active {
  color: var(--btn-favorite-active);
}

.game-info-container {
  display: grid;
  gap: 1rem;
  grid-template-areas: "a b" "a b" "c c";
  grid-template-columns: 2fr 1fr;
}

@media (max-width: 64rem) {
  .game-info-container {
    flex-direction: column;
    grid-template-areas: "b" "c" "a";
    grid-template-columns: 1fr;
  }
}

.game-info-container__games-list {
  overflow: hidden;
}

.game-info-container .recommendation {
  grid-area: b;
  min-width: 525px;
  padding: 1rem;
}

@media (max-width: 64rem) {
  .game-info-container .recommendation {
    max-width: 100%;
    min-width: 100%;
  }
}

.game-info-container .recommendation .serial-games {
  padding: 1rem 1rem 0;
}

.game-info-container .recommendation .serial-games h2 {
  color: var(--text-primary);
  font-size: 1.8rem;
}

.game-info-container .recommendation .tabs__navigation {
  justify-content: flex-start;
  margin-left: 1rem;
  margin-top: 1rem;
}

.game-info-container .game-about {
  color: var(--text-secondary);
  font-size: 1.6rem;
  grid-area: a;
  overflow: hidden;
  width: 100%;
}

.game-info-container .game-about__title {
  align-self: flex-end;
  color: var(--text-primary);
  font-size: 2.2rem;
  font-weight: 900;
  line-height: 1;
  margin-right: 2rem;
}

.game-info-container .game-about #game-breadcrumbs {
  padding-left: 0;
}

.game-info-container .game-about__item {
  display: flex;
  gap: 1rem;
  min-height: 4rem;
}

.game-info-container .game-about__item-title {
  color: var(--text-secondary-dark);
  display: flex;
  flex-shrink: 0;
  font-size: 1.4rem;
  width: 10rem;
}

.game-info-container .game-about__item-value {
  align-items: baseline;
  color: var(--text-primary);
  display: flex;
  font-size: 1.6rem;
}

.game-info-container .game-about__item-value span {
  color: var(--text-secondary);
  font-size: 1.2rem;
}

.game-info-container .game-about__item-value a {
  color: var(--text-link);
  transition: color 0.3s;
}

.game-info-container .game-about__item-value a:hover {
  color: var(--text-link-hover);
}

.game-info-container .game-about__divider {
  border-bottom: 1px solid var(--border-divider);
  margin: 1rem 0;
}

.game-info-container .game-about__section {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.game-info-container .game-about__section-title {
  color: var(--text-primary);
  font-size: 1.8rem;
}

.game-info-container .game-about__section-content {
  font-size: 1.6rem;
  letter-spacing: 0.00938em;
  line-height: 1.5;
}

.game-info-container .controls__list {
  display: flex;
  flex-direction: row;
  gap: 0.5rem;
}

.game-info-container .controls__item {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 0.1rem;
  justify-content: center;
  padding: 0.5rem;
}

.game-info-container .controls__action {
  font-size: 1rem;
  text-align: center;
}

.game-info-container .category-games-list {
  grid-area: c;
}

.game-ad {
  align-items: center;
  display: flex;
  justify-content: center;
  width: 100%;
}

:root {
  --f-button-width: 40px;
  --f-button-height: 40px;
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-color: #374151;
  --f-button-bg: #f8f8f8;
  --f-button-shadow: none;
  --f-button-transition: all 0.15s ease;
  --f-button-transform: none;
  --f-button-outline-width: 1px;
  --f-button-outline-color: rgba(0, 0, 0, 0.7);
  --f-button-svg-width: 20px;
  --f-button-svg-height: 20px;
  --f-button-svg-stroke-width: 1.5;
  --f-button-svg-fill: none;
  --f-button-svg-filter: none;
  --f-button-svg-opacity: 1;
  --f-button-svg-disabled-opacity: 0.5;
  --f-button-svg-transition: opacity 0.15s ease;
  --f-button-svg-transform: none;
}

.f-button {
  align-items: center;
  -webkit-backdrop-filter: var(--f-button-backdrop-filter);
  backdrop-filter: var(--f-button-backdrop-filter);
  background: var(--f-button-bg);
  border: var(--f-button-border);
  border-radius: var(--f-button-border-radius);
  box-shadow: var(--f-button-shadow);
  box-sizing: content-box;
  color: var(--f-button-color);
  cursor: pointer;
  display: flex;
  height: var(--f-button-height);
  justify-content: center;
  margin: 0;
  overflow: hidden;
  padding: 0;
  pointer-events: all;
  position: relative;
  transform: var(--f-button-transform);
  transition: var(--f-button-transition);
  width: var(--f-button-width);
}

@media (hover: hover) {
  .f-button:hover:not([aria-disabled]) {
    background-color: var(--f-button-hover-bg, var(--f-button-bg));
    color: var(--f-button-hover-color, var(--f-button-color));
  }
}

.f-button:active:not([aria-disabled]) {
  background-color: var(--f-button-active-bg, var(--f-button-hover-bg, var(--f-button-bg)));
  color: var(--f-button-active-color, var(--f-button-hover-color, var(--f-button-color)));
}

.f-button:focus {
  outline: none;
}

.f-button:focus-visible {
  outline: var(--f-button-outline-width) solid var(--f-button-outline-color);
  outline-offset: var(--f-button-outline-offset);
  position: relative;
  z-index: 1;
}

.f-button svg {
  height: var(--f-button-svg-height);
  transform: var(--f-button-svg-transform);
  width: var(--f-button-svg-width);
  fill: var(--f-button-svg-fill);
  filter: var(--f-button-svg-filter);
  opacity: var(--f-button-svg-opacity, 1);
  transition: var(--f-button-svg-transition);
  stroke: currentColor;
  stroke-width: var(--f-button-svg-stroke-width);
  stroke-linecap: round;
  stroke-linejoin: round;
  pointer-events: none;
}

.f-button[aria-disabled] {
  cursor: default;
}

.f-button[aria-disabled] svg {
  opacity: var(--f-button-svg-disabled-opacity);
}

:root {
  --f-spinner-color-1: rgba(0, 0, 0, 0.1);
  --f-spinner-color-2: rgba(17, 24, 28, 0.8);
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-border-radius: 50%;
  --f-spinner-border-width: 4px;
}

.f-spinner {
  animation: f-spinner 0.75s linear infinite, f-fadeIn 0.2s ease 0.2s both;
  border: var(--f-spinner-border-width) solid var(--f-spinner-color-1);
  border-radius: var(--f-spinner-border-radius);
  border-top-color: var(--f-spinner-color-2);
  height: var(--f-spinner-height);
  left: 50%;
  margin: calc(var(--f-spinner-width) * -0.5) 0 0 calc(var(--f-spinner-height) * -0.5);
  padding: 0;
  position: absolute;
  top: 50%;
  width: var(--f-spinner-width);
}

@keyframes f-spinner {
  to {
    transform: rotate(1turn);
  }
}

.f-panzoom,
.f-zoomable {
  align-items: center;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}

.f-panzoom:after,
.f-panzoom:before,
.f-zoomable:after,
.f-zoomable:before {
  content: "";
  display: block;
}

.f-panzoom:not(.has-controls):before,
.f-zoomable:not(.has-controls):before {
  margin-bottom: auto;
}

.f-panzoom:after,
.f-zoomable:after {
  margin-top: auto;
}

.f-panzoom__wrapper {
  max-height: 100%;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  position: relative;
}

.f-panzoom__wrapper.will-zoom-out {
  cursor: zoom-out;
}

.f-panzoom__wrapper.can-drag {
  cursor: move;
  cursor: grab;
}

.f-panzoom__wrapper.will-zoom-in {
  cursor: zoom-in;
}

.f-panzoom__wrapper.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.f-panzoom__wrapper.has-error {
  display: none;
}

.f-panzoom__content {
  max-height: 100%;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
}

.f-panzoom__content.has-lazyerror,
.f-panzoom__content.is-lazyloading {
  visibility: hidden;
}

img.f-panzoom__content {
  -o-object-fit: contain;
  object-fit: contain;
  transition: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  vertical-align: top;
}

.f-panzoom__wrapper > img.f-panzoom__content {
  visibility: hidden;
}

.f-panzoom__viewport {
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.f-panzoom__viewport > .f-panzoom__content {
  display: block;
  height: 100%;
  -o-object-fit: fill;
  object-fit: fill;
  width: 100%;
}

picture.f-panzoom__content img {
  height: auto;
  max-height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  transition: none;
  vertical-align: top;
  width: 100%;
}

.f-panzoom__protected,
picture.f-panzoom__content img {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.f-panzoom__protected {
  inset: 0;
  position: absolute;
  z-index: 1;
}

.f-fadeIn {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeIn;
  z-index: 2;
}

.f-fadeOut {
  animation: var(--f-transition-duration, 0.2s) var(--f-transition-easing, ease) var(--f-transition-delay, 0s) both f-fadeOut;
  z-index: 1;
}

@keyframes f-fadeIn {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes f-fadeOut {
  to {
    opacity: 0;
  }
}

.f-crossfadeIn {
  animation: var(--f-transition-duration, 0.2s) ease both f-crossfadeIn;
  z-index: 2;
}

.f-crossfadeOut {
  animation: calc(var(--f-transition-duration, 0.2s) * 0.2) ease calc(var(--f-transition-duration, 0.2s) * 0.8) both
    f-crossfadeOut;
  z-index: 1;
}

@keyframes f-crossfadeIn {
  0% {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes f-crossfadeOut {
  to {
    opacity: 0;
  }
}

.is-horizontal .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNextX;
}

.is-horizontal .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrevX;
}

.is-horizontal .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNextX;
}

.is-horizontal .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrevX;
}

@keyframes f-slideInPrevX {
  0% {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }

  to {
    transform: translateZ(0);
  }
}

@keyframes f-slideInNextX {
  0% {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }

  to {
    transform: translateZ(0);
  }
}

@keyframes f-slideOutNextX {
  to {
    transform: translate(calc(-100% - var(--f-carousel-gap, 0)));
  }
}

@keyframes f-slideOutPrevX {
  to {
    transform: translate(calc(100% + var(--f-carousel-gap, 0)));
  }
}

.is-vertical .f-slideIn.from-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInNextY;
}

.is-vertical .f-slideIn.from-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideInPrevY;
}

.is-vertical .f-slideOut.to-next {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutNextY;
}

.is-vertical .f-slideOut.to-prev {
  animation: var(--f-transition-duration, 0.85s) cubic-bezier(0.16, 1, 0.3, 1) f-slideOutPrevY;
}

@keyframes f-slideInPrevY {
  0% {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }

  to {
    transform: translateZ(0);
  }
}

@keyframes f-slideInNextY {
  0% {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }

  to {
    transform: translateZ(0);
  }
}

@keyframes f-slideOutNextY {
  to {
    transform: translateY(calc(-100% - var(--f-carousel-gap, 0)));
  }
}

@keyframes f-slideOutPrevY {
  to {
    transform: translateY(calc(100% + var(--f-carousel-gap, 0)));
  }
}

.f-zoomInUp {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomInUp;
}

.f-zoomOutDown {
  animation: var(--f-transition-duration, 0.3s) ease both f-zoomOutDown;
}

@keyframes f-zoomInUp {
  0% {
    opacity: var(--f-zoomInUp-opacity, 0);
    transform: scale(var(--f-zoomInUp-scale, 0.975)) translate3d(var(--f-zoomInUp-x, 0), var(--f-zoomInUp-y, 16px), 0);
  }

  to {
    opacity: 1;
    transform: scale(1) translateZ(0);
  }
}

@keyframes f-zoomOutDown {
  to {
    opacity: 0;
    transform: scale(var(--f-zoomOutDown-scale, 0.975)) translate3d(var(--f-zoomOutDown-x, 0), var(--f-zoomOutDown-y, 16px), 0);
  }
}

.f-throwOutUp {
  animation: var(--f-throwOutUp-duration, 0.2s) ease-out both f-throwOutUp;
}

.f-throwOutDown {
  animation: var(--f-throwOutDown-duration, 0.2s) ease-out both f-throwOutDown;
}

@keyframes f-throwOutUp {
  to {
    opacity: 0;
    transform: translate3d(0, calc(var(--f-throwOutUp-y, 150px) * -1), 0);
  }
}

@keyframes f-throwOutDown {
  to {
    opacity: 0;
    transform: translate3d(0, var(--f-throwOutDown-y, 150px), 0);
  }
}

.has-gmap .f-html,
.has-iframe .f-html,
.has-pdf .f-html {
  height: 100%;
  min-height: 1px;
  overflow: visible;
  width: 100%;
}

.has-gmap .f-html,
.has-pdf .f-html {
  padding: 0;
}

.f-html {
  background: var(--f-html-bg);
  box-sizing: border-box;
  color: var(--f-html-color, currentColor);
  margin: var(--f-html-margin, 0);
  padding: var(--f-html-padding, 2rem);
  position: relative;
}

.f-html.is-error {
  text-align: center;
}

.f-iframe {
  border: 0;
  display: block;
  height: 100%;
  margin: 0;
  width: 100%;
}

.f-caption {
  align-self: center;
  background: var(--f-caption-bg);
  color: var(--f-caption-color);
  flex-shrink: 0;
  line-height: var(--f-caption-line-height);
  font: var(--f-caption-font);
  margin: var(--f-caption-margin);
  max-height: calc(80vh - 100px);
  max-width: 100%;
  overflow: auto;
  overflow-wrap: anywhere;
  padding: var(--f-caption-padding, 16px 8px);
}

.has-html5video .f-html,
.has-vimeo .f-html,
.has-youtube .f-html {
  aspect-ratio: var(--f-video-aspect-ratio);
  background: var(--f-video-bg, rgba(0, 0, 0, 0.9));
  height: 100%;
  max-height: var(--f-video-height, 540px);
  max-width: var(--f-video-width, 960px);
  min-height: 1px;
  overflow: visible;
  padding: 0;
  width: 100%;
}

.f-html5video {
  background: transparent;
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.f-button.is-arrow {
  --f-button-width: var(--f-arrow-width, 46px);
  --f-button-height: var(--f-arrow-height, 46px);
  --f-button-svg-width: var(--f-arrow-svg-width, 24px);
  --f-button-svg-height: var(--f-arrow-svg-height, 24px);
  --f-button-svg-stroke-width: var(--f-arrow-svg-stroke-width, 1.75);
  --f-button-border-radius: var(--f-arrow-border-radius, unset);
  --f-button-bg: var(--f-arrow-bg, transparent);
  --f-button-hover-bg: var(--f-arrow-hover-bg, var(--f-arrow-bg));
  --f-button-active-bg: var(--f-arrow-active-bg, var(--f-arrow-hover-bg));
  --f-button-shadow: var(--f-arrow-shadow);
  --f-button-color: var(--f-arrow-color);
  --f-button-hover-color: var(--f-arrow-hover-color, var(--f-arrow-color));
  --f-button-active-color: var(--f-arrow-active-color, var(--f-arrow-hover-color));
  overflow: visible;
}

.f-button.is-arrow.is-next,
.f-button.is-arrow.is-prev {
  position: absolute;
  transform: translate(0);
  z-index: 20;
}

.is-horizontal .f-button.is-arrow.is-next,
.is-horizontal .f-button.is-arrow.is-prev {
  inset: 50% auto auto;
  transform: translateY(-50%);
}

.is-horizontal.is-ltr .f-button.is-arrow.is-prev {
  left: var(--f-arrow-pos, 0);
}

.is-horizontal.is-ltr .f-button.is-arrow.is-next {
  right: var(--f-arrow-pos, 0);
}

.is-horizontal.is-rtl .f-button.is-arrow.is-prev {
  right: var(--f-arrow-pos, 0);
  transform: translateY(-50%) rotateY(180deg);
}

.is-horizontal.is-rtl .f-button.is-arrow.is-next {
  left: var(--f-arrow-pos, 0);
  transform: translateY(-50%) rotateY(180deg);
}

.is-vertical.is-ltr .f-button.is-arrow.is-prev,
.is-vertical.is-rtl .f-button.is-arrow.is-prev {
  bottom: auto;
  left: 50%;
  right: auto;
  top: var(--f-arrow-pos, 0);
  transform: translate(-50%);
}

.is-vertical.is-ltr .f-button.is-arrow.is-next,
.is-vertical.is-rtl .f-button.is-arrow.is-next {
  bottom: var(--f-arrow-pos, 0);
  left: 50%;
  right: auto;
  top: auto;
  transform: translate(-50%);
}

.is-vertical .f-button.is-arrow.is-next svg,
.is-vertical .f-button.is-arrow.is-prev svg {
  transform: rotate(90deg);
}

.f-carousel__toolbar {
  --f-progressbar-height: 100%;
  -webkit-backdrop-filter: var(--f-toolbar-backdrop-filter);
  backdrop-filter: var(--f-toolbar-backdrop-filter);
  background: var(--f-toolbar-bg, none);
  box-shadow: var(--f-toolbar-shadow, none);
  color: var(--f-toolbar-color, currentColor);
  display: grid;
  font-family: var(
    --f-toolbar-font,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI Adjusted",
    "Segoe UI",
    "Liberation Sans",
    sans-serif
  );
  font-size: var(--f-toolbar-font-size, 17px);
  font-variant-numeric: tabular-nums;
  font-weight: var(--f-toolbar-font-weight, inherit);
  grid-template-columns: 1fr auto 1fr;
  line-height: var(--f-toolbar-line-height);
  margin: var(--f-toolbar-margin, 0);
  padding: var(--f-toolbar-padding, 8px);
  position: relative;
  text-align: center;
  text-shadow: var(--f-toolbar-text-shadow);
  z-index: 20;
  -webkit-font-smoothing: subpixel-antialiased;
  pointer-events: none;
  white-space: nowrap;
}

.f-carousel__toolbar.is-absolute {
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.f-carousel__toolbar__column {
  align-content: flex-start;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: var(--f-toolbar-gap, 0);
  pointer-events: none;
}

.f-carousel__toolbar__column.is-left {
  justify-content: flex-start;
  justify-self: flex-start;
}

.f-carousel__toolbar__column.is-middle {
  justify-content: center;
}

.f-carousel__toolbar__column.is-right {
  flex-flow: nowrap;
  justify-content: flex-end;
  justify-self: flex-end;
}

.f-carousel__toolbar__column > * {
  pointer-events: all;
}

.f-carousel:has(.f-carousel__slide.is-fullsize) [data-panzoom-action="toggleFull"] g {
  display: none;
}

[data-autoplay-action="toggle"] svg g:first-child {
  display: flex;
}

.has-autoplay [data-autoplay-action="toggle"] svg g:first-child,
[data-autoplay-action="toggle"] svg g:last-child {
  display: none;
}

.has-autoplay [data-autoplay-action="toggle"] svg g:last-child {
  display: flex;
}

:fullscreen [data-fullscreen-action="toggle"] svg [data-fullscreen-action="toggle"] svg g:first-child {
  display: none;
}

:fullscreen [data-fullscreen-action="toggle"] svg [data-fullscreen-action="toggle"] svg g:last-child {
  display: flex;
}

.f-carousel__counter {
  background: var(--f-counter-bg);
  border-radius: var(--f-counter-border-radius);
  cursor: default;
  display: flex;
  flex-direction: row;
  line-height: var(--f-counter-line-height);
  margin: var(--f-counter-margin, 0);
  padding: var(--f-counter-padding, 4px);
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.f-carousel__counter span {
  padding: 0 var(--f-counter-gap, 4px);
}

:root {
  --f-thumbs-gap: 8px;
  --f-thumbs-margin: 0;
  --f-thumbs-padding-x: 8px;
  --f-thumbs-padding-y: 8px;
  --f-thumbs-z-index: 1;
  --f-thumb-width: 96px;
  --f-thumb-height: 72px;
  --f-thumb-fit: cover;
  --f-thumb-opacity: 1;
  --f-thumb-transition: opacity 0.3s ease, transform 0.15s ease;
  --f-thumb-border: none;
  --f-thumb-border-radius: 4px;
  --f-thumb-transfors: none;
  --f-thumb-shadow: none;
  --f-thumb-bg: linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.05));
  --f-thumb-focus-shadow: inset 0 0 0 0.8px #222, inset 0 0 0 2.25px #fff;
  --f-thumb-selected-shadow: inset 0 0 0 0.8px #222, inset 0 0 0 2.25px #fff;
}

.f-thumbs {
  --f-carousel-slide-width: calc(var(--f-thumb-width) + var(--f-thumbs-gap));
  --f-carousel-slide-height: calc(var(--f-thumb-height) + var(--f-thumbs-gap));
  --f-carousel-gap: 0;
  background: var(--f-thumbs-bg);
  flex-shrink: 0;
  margin: var(--f-thumbs-margin);
  max-height: calc(var(--f-carousel-slide-height) + var(--f-thumbs-padding-y) * 2);
  padding: 0;
  -webkit-tap-highlight-color: transparent;
  overflow: hidden;
  transition: max-height 0.3s ease;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  z-index: var(--f-thumbs-z-index);
}

.f-thumbs__viewport {
  display: grid;
  margin: var(--f-thumbs-padding-y) var(--f-thumbs-padding-x);
  overflow: visible;
}

.f-thumbs__slide {
  align-items: center;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  grid-area: 1/1;
  height: var(--f-carousel-slide-height);
  margin: 0;
  overflow: visible;
  padding: calc(var(--f-thumbs-gap) * 0.5);
  position: relative;
  width: var(--f-carousel-slide-width);
}

.f-thumbs__slide:hover button {
  opacity: var(--f-thumb-hover-opacity, 1);
  transform: var(--f-thumb-hover-transform, none);
}

.f-thumbs__slide:hover button:after {
  border: var(--f-thumb-hover-border, none);
  box-shadow: var(--f-thumb-hover-shadow, var(--f-thumb-shadow));
}

.f-thumbs__slide button {
  all: unset;
  background: var(--f-thumb-bg);
  border-radius: var(--f-thumb-border-radius);
  height: 100%;
  margin: auto;
  opacity: var(--f-thumb-opacity);
  outline: none;
  overflow: visible;
  padding: 0;
  position: relative;
  transform: var(--f-thumb-transform);
  transition: var(--f-thumb-transition);
  width: 100%;
}

.f-thumbs__slide button:after {
  border: var(--f-thumb-border);
  border-radius: inherit;
  box-shadow: var(--f-thumb-shadow);
  content: "";
  inset: 0;
  position: absolute;
  transition: none;
  z-index: 1;
}

.f-thumbs__slide button:focus-within {
  opacity: var(--f-thumb-focus-opacity, 1);
  transform: var(--f-thumb-focus-transform, none);
}

.f-thumbs__slide button:focus-within:after {
  border: var(--f-thumb-focus-border, none);
  box-shadow: var(--f-thumb-focus-shadow, var(--f-thumb-shadow));
}

.f-thumbs__slide:active {
  opacity: var(--f-thumb-active-opacity, 1);
  transform: var(--f-thumb-active-transform, none);
}

.f-thumbs__slide:active:after {
  border: var(--f-thumb-active-border, none);
  box-shadow: var(--f-thumb-active-shadow, var(--f-thumb-shadow));
}

.f-thumbs__slide.is-selected {
  z-index: 2;
}

.f-thumbs__slide.is-selected button {
  opacity: var(--f-thumb-selected-opacity, 1);
  transform: var(--f-thumb-selected-transform, none);
}

.f-thumbs__slide.is-selected button:after {
  border: var(--f-thumb-selected-border, none);
  box-shadow: var(--f-thumb-selected-shadow, var(--f-thumb-shadow));
}

.f-thumbs__slide img {
  border-radius: inherit;
  display: block;
  height: 100%;
  -o-object-fit: var(--f-thumb-fit);
  object-fit: var(--f-thumb-fit);
  pointer-events: none;
  width: 100%;
}

.f-thumbs__slide img.has-lazyerror {
  display: none;
}

.f-thumbs.is-modern {
  --f-thumb-clip-width: 46px;
  --f-thumb-extra-gap: 16px;
  --f-carousel-slide-width: calc(var(--f-thumb-clip-width) + var(--f-thumbs-gap));
  --f-carousel-slide-height: var(--f-thumb-height);
  --width-diff: calc(var(--f-thumb-width) - var(--f-thumb-clip-width));
}

.f-thumbs.is-modern .f-thumbs__viewport {
  margin-left: calc(var(--width-diff) * -1);
  width: calc(100% + var(--width-diff) * 2);
}

.f-thumbs.is-modern .f-thumbs__slide {
  --clip-shift: calc((var(--width-diff) * 0.5) * var(--progress));
  --clip-path: inset(0 var(--clip-shift) round var(--f-thumb-border-radius, 0));
  left: var(--shift, 0);
  overflow: visible;
  padding: 0;
  transition: left var(--f-transition-duration) var(--f-transition-easing);
  will-change: left;
}

.f-thumbs.is-modern .f-thumbs__slide button {
  border: none;
  box-shadow: none;
  clip-path: var(--clip-path);
  display: block;
  margin-left: -50%;
  transition: clip-path var(--f-transition-duration) var(--f-transition-easing),
    opacity var(--f-thumb-transition-duration, 0.2s) var(--f-thumb-transition-easing, ease);
  width: var(--f-thumb-width);
}

.f-thumbs.is-modern .f-thumbs__slide button:after {
  display: none;
}

.f-thumbs.is-modern .f-thumbs__slide:focus:not(:focus-visible) {
  outline: none;
}

.f-thumbs.is-modern .f-thumbs__slide:focus-within:not(.is-selected) button:before {
  border: var(--f-thumb-focus-border, none);
  border-radius: inherit;
  bottom: 0;
  box-shadow: var(--f-thumb-focus-shadow, none);
  content: "";
  left: var(--clip-shift);
  position: absolute;
  right: var(--clip-shift);
  top: 0;
  transition: border var(--f-transition-duration) var(--f-transition-easing),
    box-shadow var(--f-transition-duration) var(--f-transition-easing);
  z-index: 1;
}

.f-thumbs.is-modern {
  --f-transition-duration: 0.25s;
  --f-transition-easing: ease-out;
}

.f-thumbs.is-modern.is-syncing {
  --f-transition-duration: 0s;
}

.f-progressbar {
  animation-name: f-progressbar;
  animation-play-state: running;
  animation-timing-function: linear;
  background: var(--f-progressbar-color, var(--f-carousel-theme-color, #575ad6));
  height: var(--f-progressbar-height, 3px);
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  transform: scaleX(0);
  transform-origin: 0;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  z-index: 30;
}

@keyframes f-progressbar {
  0% {
    transform: scaleX(0);
  }

  to {
    transform: scaleX(1);
  }
}

[data-fullscreen-action="toggle"] svg g:first-child {
  display: flex;
}

[data-fullscreen-action="toggle"] svg g:last-child {
  display: none;
}

:fullscreen [data-fullscreen-action="toggle"] svg g:first-child {
  display: none;
}

:fullscreen [data-fullscreen-action="toggle"] svg g:last-child {
  display: flex;
}

.in-fullscreen-mode > .f-carousel {
  flex: 1;
  min-height: 0 !important;
  min-width: 0 !important;
}

html.with-fancybox {
  overflow: visible;
  scroll-behavior: auto;
  width: auto;
}

html.with-fancybox body {
  touch-action: none;
}

html.with-fancybox body.hide-scrollbar {
  margin-right: calc(var(--f-body-margin, 0px) + var(--f-scrollbar-compensate, 0px));
  overflow: hidden !important;
  overscroll-behavior-y: none;
  width: auto;
}

.fancybox__dialog {
  background: transparent;
  border: 0;
  height: 100vh;
  margin: 0;
  max-height: unset;
  max-width: unset;
  overflow: hidden;
  padding: 0;
  width: 100%;
}

.fancybox__dialog:focus {
  outline: none;
}

.fancybox__dialog::backdrop {
  opacity: 0;
}

@supports (height: 100dvh) {
  .fancybox__dialog {
    height: 100dvh;
  }
}

.fancybox__container {
  --fancybox-color: #dbdbdb;
  --fancybox-backdrop-bg: rgba(24, 24, 27, 0.95);
  --f-toolbar-margin: 0;
  --f-toolbar-padding: 8px;
  --f-toolbar-gap: 0;
  --f-toolbar-color: #ddd;
  --f-toolbar-font-size: 16px;
  --f-toolbar-font-weight: 500;
  --f-toolbar-font: -apple-system, BlinkMacSystemFont, "Segoe UI Adjusted", "Segoe UI", "Liberation Sans", sans-serif;
  --f-toolbar-line-height: var(--f-button-height);
  --f-toolbar-text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.75);
  --f-toolbar-shadow: none;
  --f-toolbar-bg: none;
  --f-counter-margin: 0;
  --f-counter-padding: 0px 10px;
  --f-counter-gap: 4px;
  --f-counter-line-height: var(--f-button-height);
  --f-carousel-gap: 17px;
  --f-carousel-slide-width: 100%;
  --f-carousel-slide-height: 100%;
  --f-carousel-slide-padding: 0;
  --f-carousel-slide-bg: unset;
  --f-html-color: #222;
  --f-html-bg: #fff;
  --f-error-color: #fff;
  --f-error-bg: #333;
  --f-caption-margin: 0;
  --f-caption-padding: 16px 8px;
  --f-caption-color: var(--fancybox-color, #dbdbdb);
  --f-caption-bg: transparent;
  --f-caption-font: inherit;
  --f-caption-line-height: 1.375;
  --f-spinner-color-1: hsla(0, 0%, 100%, 0.2);
  --f-spinner-color-2: hsla(0, 0%, 100%, 0.8);
  --f-spinner-width: 50px;
  --f-spinner-height: 50px;
  --f-spinner-border-radius: 50%;
  --f-spinner-border-width: 4px;
  --f-progressbar-color: hsla(0, 0%, 100%, 0.2);
  --f-button-width: 46px;
  --f-button-height: 46px;
  --f-button-color: #ddd;
  --f-button-hover-color: #fff;
  --f-button-outline-width: 1px;
  --f-button-outline-color: hsla(0, 0%, 100%, 0.75);
  --f-button-outline-offset: 0px;
  --f-button-bg: rgba(54, 54, 54, 0.75);
  --f-button-border: 0;
  --f-button-border-radius: 0;
  --f-button-shadow: none;
  --f-button-transition: all 0.2s ease;
  --f-button-transform: none;
  --f-button-svg-width: 24px;
  --f-button-svg-height: 24px;
  --f-button-svg-stroke-width: 1.75;
  --f-button-svg-filter: drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.01)), drop-shadow(1px 2px 1px rgba(24, 24, 27, 0.05));
  --f-button-svg-fill: none;
  --f-button-svg-disabled-opacity: 0.5;
  --f-arrow-pos: 32px;
  --f-arrow-width: 50px;
  --f-arrow-height: 50px;
  --f-arrow-svg-width: 24px;
  --f-arrow-svg-height: 24px;
  --f-arrow-svg-stroke-width: 2;
  --f-arrow-border-radius: 50%;
  --f-arrow-bg: rgba(54, 54, 54, 0.65);
  --f-arrow-color: #ddd;
  --f-arrow-hover-color: #fff;
  --f-thumbs-margin: 0px;
  --f-thumbs-padding-x: 8px;
  --f-thumbs-padding-y: 8px;
  --f-thumbs-bg: none;
  --f-thumb-transition: all 0.2s ease;
  --f-thumb-width: 94px;
  --f-thumb-height: 76px;
  --f-thumb-opacity: 1;
  --f-thumb-border: none;
  --f-thumb-shadow: none;
  --f-thumb-transform: none;
  --f-thumb-focus-opacity: 1;
  --f-thumb-focus-border: none;
  --f-thumb-focus-shadow: inset 0 0 0 2px hsla(0, 0%, 100%, 0.65);
  --f-thumb-focus-transform: none;
  --f-thumb-hover-opacity: 1;
  --f-thumb-hover-border: none;
  --f-thumb-hover-transform: none;
  --f-thumb-active-opacity: var(--f-thumb-hover-opacity);
  --f-thumb-active-border: var(--f-thumb-hover-border);
  --f-thumb-active-transform: var(--f-thumb-hover-transform);
  --f-thumb-selected-opacity: 1;
  --f-thumb-selected-border: none;
  --f-thumb-selected-shadow: inset 0 0 0 2px #fff;
  --f-thumb-selected-transform: none;
  display: flex;
  flex-direction: column;
  inset: 0;
  outline: none;
  overflow: hidden;
  position: absolute;
}

.fancybox__container[theme="light"] {
  --fancybox-color: #222;
  --fancybox-backdrop-bg: hsla(0, 0%, 100%, 0.97);
  --f-toolbar-color: var(--fancybox-color, #222);
  --f-toolbar-text-shadow: none;
  --f-toolbar-font-weight: 400;
  --f-html-color: var(--fancybox-color, #222);
  --f-html-bg: #fff;
  --f-error-color: #555;
  --f-error-bg: #fff;
  --f-video-bg: #fff;
  --f-caption-color: #333;
  --f-spinner-color-1: rgba(0, 0, 0, 0.2);
  --f-spinner-color-2: rgba(0, 0, 0, 0.8);
  --f-spinner-border-width: 3.5px;
  --f-progressbar-color: hsla(240, 2%, 45%, 0.2);
  --f-button-color: #333;
  --f-button-hover-color: #000;
  --f-button-outline-color: rgba(0, 0, 0, 0.85);
  --f-button-bg: hsla(0, 0%, 100%, 0.85);
  --f-button-svg-stroke-width: 1.3;
  --f-button-svg-filter: none;
  --f-arrow-bg: hsla(0, 0%, 100%, 0.85);
  --f-arrow-color: #333;
  --f-arrow-hover-color: #000;
  --f-arrow-svg-stroke-width: 1.3;
  --f-close-button-color: #555;
  --f-close-button-hover-color: #000;
  --f-thumb-bg: linear-gradient(#ebeff2, #e2e8f0);
  --f-thumb-focus-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #888;
  --f-thumb-selected-shadow: 0 0 0 1.8px #fff, 0px 0px 0px 2.25px #000;
}

.fancybox__container::backdrop {
  background-color: transparent;
}

.fancybox__container
  .fancybox__carousel
  > .fancybox__viewport
  > .fancybox__slide.is-selected
  > :not(.f-html, .f-panzoom__wrapper, .f-spinner),
.fancybox__container .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected),
.fancybox__container .fancybox__carousel > :not(.fancybox__viewport),
.fancybox__container > :not(.fancybox__carousel) {
  opacity: var(--f-drag-opacity, 1);
}

.fancybox__container:not(.is-ready, .is-hiding) {
  visibility: hidden;
}

.fancybox__container.is-revealing
  .fancybox__carousel
  > .fancybox__viewport
  > .fancybox__slide.is-selected
  > :not(.f-html, .f-panzoom__wrapper, .f-spinner),
.fancybox__container.is-revealing .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected),
.fancybox__container.is-revealing .fancybox__carousel > :not(.fancybox__viewport),
.fancybox__container.is-revealing > :not(.fancybox__carousel) {
  animation: var(--f-interface-enter-duration, 0.35s) ease none f-fadeIn;
}

.fancybox__container.is-hiding
  .fancybox__carousel
  > .fancybox__viewport
  > .fancybox__slide.is-selected
  > :not(.f-html, .f-panzoom__wrapper),
.fancybox__container.is-hiding .fancybox__carousel > .fancybox__viewport > .fancybox__slide:not(.is-selected),
.fancybox__container.is-hiding .fancybox__carousel > :not(.fancybox__viewport),
.fancybox__container.is-hiding > :not(.fancybox__carousel) {
  animation: var(--f-interface-exit-duration, 0.35s) ease forwards f-fadeOut;
}

.fancybox__container.is-idle .f-carousel__toolbar {
  opacity: 0;
  pointer-events: none;
}

.fancybox__container.is-idle .f-button.is-arrow {
  opacity: 0;
}

.fancybox__container.is-idle.is-ready .f-carousel__toolbar {
  animation: f-fadeOut 0.15s ease-out both;
  pointer-events: none;
}

.fancybox__container.is-idle.is-ready .f-button.is-arrow {
  animation: f-fadeOut 0.15s ease-out both;
}

.fancybox__backdrop {
  background: var(--fancybox-backdrop-bg);
  inset: 0;
  position: fixed;
  z-index: -1;
}

.fancybox__carousel {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  overflow-x: clip;
  overflow-y: visible;
  position: relative;
  z-index: 10;
}

.fancybox__carousel.is-vertical {
  --f-carousel-slide-height: 100%;
}

.fancybox__carousel.is-ltr {
  direction: ltr;
}

.fancybox__carousel.is-rtl {
  direction: rtl;
}

.fancybox__carousel > .f-button.is-arrow:before {
  content: "";
  inset: -30px;
  position: absolute;
  z-index: 1;
}

.fancybox__carousel > .f-progressbar {
  background-color: var(--fancybox-color);
}

.fancybox__viewport {
  display: grid;
  flex: 1;
  min-height: 0;
  min-width: 0;
  overflow: visible;
  position: relative;
  transform: translate3d(0, var(--f-drag-offset, 0), 0);
}

.fancybox__viewport.is-draggable {
  cursor: move;
  cursor: grab;
}

.fancybox__viewport.is-dragging {
  cursor: move;
  cursor: grabbing;
}

.fancybox__viewport [contenteditable],
.fancybox__viewport [data-selectable] {
  cursor: auto;
}

.fancybox__slide {
  align-items: center;
  backface-visibility: hidden;
  background: var(--f-carousel-slide-bg);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  grid-area: 1/1;
  height: var(--f-carousel-slide-height);
  margin: 0;
  max-width: 100%;
  min-height: 0;
  min-width: 0;
  padding: var(--f-carousel-slide-padding);
  position: relative;
  transform: translateZ(0);
  width: var(--f-carousel-slide-width);
  will-change: transform;
}

.fancybox__slide:after,
.fancybox__slide:before {
  content: "";
  display: block;
}

.fancybox__slide:before {
  margin-bottom: auto;
}

.fancybox__slide:after {
  margin-top: auto;
}

.fancybox__slide.is-selected {
  z-index: 1;
}

.fancybox__slide.f-zoomable {
  overflow: visible;
}

.fancybox__slide.has-error {
  --f-html-color: var(--f-error-color, --f-html-color);
  --f-html-bg: var(--f-error-bg, --f-html-bg);
}

.fancybox__slide.has-html {
  overflow: auto;
  padding: 8px;
}

.fancybox__slide.has-close-btn {
  padding-top: 34px;
}

.fancybox__slide .f-button[data-fancybox-close] {
  --f-button-width: var(--f-close-button-width, 34px);
  --f-button-height: var(--f-close-button-height, 34px);
  --f-button-border-radius: var(--f-close-border-radius, 4px);
  --f-button-color: var(--f-close-button-color, #fff);
  --f-button-hover-color: var(--f-close-button-hover-color, #fff);
  --f-button-bg: var(--f-close-button-bg, transparent);
  --f-button-hover-bg: var(--f-close-button-hover-bg, transparent);
  --f-button-active-bg: var(--f-close-button-active-bg, transparent);
  --f-button-svg-width: var(--f-close-button-svg-width, 22px);
  --f-button-svg-height: var(--f-close-button-svg-height, 22px);
  position: absolute;
  right: 0;
  top: calc(var(--f-button-height) * -1);
  z-index: 40;
}

.fancybox__slide .f-spinner {
  cursor: pointer;
}

.fancybox__container.is-closing .f-caption,
.fancybox__slide.is-loading .f-caption {
  visibility: hidden;
}

.gallery {
  display: block;
}

.gallery .swiper {
  height: 100%;
  width: 100%;
}

.gallery .swiper-slide {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  margin-right: 1rem;
  width: 140px;
}

.gallery .swiper-wrapper {
  padding: 0.5rem;
}

.gallery img {
  border-radius: 0.3rem;
  cursor: pointer;
  height: 100%;
  transition: transform 0.2s ease-in-out;
  width: 140px;
}

.gallery img:hover {
  transform: scale(1.02);
}

[class*="key-"] {
  background: url(/build/images/control-icons.75ec1b15.png) no-repeat;
  height: 22px;
  position: relative;
  top: -2px;
  width: 22px;
}

@media only screen and (min-resolution: 192dpi) {
  [class*="key-"] {
    background: url(/build/images/control-icons-2x.89c08e0e.png) no-repeat;
    background-size: 100px 946px;
  }
}

.keyboard-key {
  display: inline-block;
  margin: 0 1px;
  vertical-align: middle;
}

.key-mouse {
  background-position: -22px -88px;
}

.key-mouse,
.key-mouse1 {
  height: 22px;
  margin: 0;
  width: 22px;
}

.key-mouse1 {
  background-position: -22px -132px;
}

.key-mouse2 {
  background-position: -22px -110px;
}

.key-mouse2,
.key-mouse3 {
  height: 22px;
  margin: 0;
  width: 22px;
}

.key-mouse3 {
  background-position: -22px -154px;
}

.key-mouse4 {
  background-position: -22px -176px;
  height: 22px;
  margin: 0;
  width: 22px;
}

.key-1 {
  background-position: 0 0;
}

.key-2 {
  background-position: 0 -22px;
}

.key-3 {
  background-position: 0 -44px;
}

.key-4 {
  background-position: 0 -88px;
}

.key-5 {
  background-position: 0 -110px;
}

.key-6 {
  background-position: 0 -154px;
}

.key-7 {
  background-position: 0 -220px;
}

.key-8 {
  background-position: 0 -242px;
}

.key-9 {
  background-position: 0 -264px;
}

.key-0 {
  background-position: -22px -484px;
}

.key-32 {
  background-position: 0 -66px;
}

.key-59 {
  background-position: 0 -132px;
}

.key-60 {
  background-position: 0 -176px;
}

.key-62 {
  background-position: 0 -198px;
}

.key-92 {
  background-position: 0 -286px;
}

.key-a {
  background-position: 0 -308px;
}

.key-ad {
  background-position: 0 -330px;
}

.key-al {
  background-position: 0 -352px;
}

.key-ar {
  background-position: 0 -374px;
}

.key-au {
  background-position: 0 -396px;
}

.key-b {
  background-position: 0 -418px;
}

.key-c {
  background-position: 0 -440px;
}

.key-d {
  background-position: 0 -462px;
}

.key-e {
  background-position: 0 -484px;
}

.key-f {
  background-position: 0 -506px;
}

.key-g {
  background-position: 0 -528px;
}

.key-h {
  background-position: 0 -550px;
}

.key-i {
  background-position: 0 -572px;
}

.key-j {
  background-position: -22px 0;
}

.key-k {
  background-position: -22px -22px;
}

.key-l {
  background-position: -22px -44px;
}

.key-m {
  background-position: -22px -66px;
}

.key-n {
  background-position: -22px -198px;
}

.key-o {
  background-position: -22px -220px;
}

.key-p {
  background-position: -22px -242px;
}

.key-q {
  background-position: -22px -264px;
}

.key-r {
  background-position: -22px -286px;
}

.key-s {
  background-position: -22px -308px;
}

.key-t {
  background-position: -22px -330px;
}

.key-u {
  background-position: -22px -352px;
}

.key-v {
  background-position: -22px -374px;
}

.key-w {
  background-position: -22px -396px;
}

.key-x {
  background-position: -22px -418px;
}

.key-y {
  background-position: -22px -440px;
}

.key-z {
  background-position: -22px -462px;
}

.key-comma {
  background-position: -22px -506px;
}

.key-comma,
.key-dot {
  height: 22px;
  width: 22px;
}

.key-dot {
  background-position: -22px -528px;
}

.key-divide {
  background-position: -22px -550px;
}

.key-divide,
.key-ent {
  height: 22px;
  width: 22px;
}

.key-ent {
  background-position: -22px -572px;
}

.key-esc {
  background-position: 0 -594px;
}

.key-ctrl,
.key-esc {
  height: 22px;
  width: 44px;
}

.key-ctrl {
  background-position: 0 -616px;
}

.key-lctrl {
  background-position: 0 -836px;
}

.key-lctrl,
.key-rctrl {
  height: 22px;
  width: 78px;
}

.key-rctrl {
  background-position: 0 -856px;
}

.key-shift {
  background-position: 0 -638px;
  height: 22px;
  width: 44px;
}

.key-lshift {
  background-position: 0 -880px;
  height: 22px;
  width: 78px;
}

.key-rshift {
  background-position: 0 -900px;
}

.key-caps,
.key-rshift {
  height: 22px;
  width: 78px;
}

.key-caps {
  background-position: 0 -922px;
}

.key-pl1 {
  background-position: 0 -660px;
}

.key-pl1,
.key-pl2 {
  height: 22px;
  width: 60px;
}

.key-pl2 {
  background-position: 0 -682px;
}

.key-space {
  background-position: 0 -702px;
  height: 22px;
  width: 66px;
}

.key-keyboard {
  background-position: 0 -726px;
  height: 22px;
  width: 48px;
}

.key-arrow {
  background-position: 0 -748px;
}

.key-arrow,
.key-wasd {
  height: 22px;
  width: 30px;
}

.key-wasd {
  background-position: -30px -748px;
}

.key-f11 {
  background-position: -44px -22px;
  height: 22px;
  width: 31px;
}

.key-colon {
  background-position: 0 -768px;
}

.key-asterisk {
  background-position: -22px -768px;
}

.key-quote {
  background-position: -44px -768px;
}

.key-plus {
  background-position: 0 -790px;
}

.key-minus {
  background-position: -22px -790px;
}

.key-backspace {
  background-position: 0 -814px;
  width: 85px;
}

.game-rating {
  align-items: flex-start;
  color: var(--text-secondary);
  display: flex;
  flex-direction: column;
  font-size: 1.3rem;
  justify-content: center;
}

.game-rating__stars {
  cursor: pointer;
  display: flex;
  flex-direction: row-reverse;
  font-size: 2.5rem;
}

@media (max-width: 22rem) {
  .game-rating__stars {
    font-size: 2rem;
  }
}

.game-rating__star {
  color: var(--star-empty);
  transition: color 0.2s;
}

.game-rating__star.hover,
.game-rating__star.hover ~ .game-rating__star {
  color: var(--star-hover);
}

.game-rating__star.active,
.game-rating__star.active ~ .game-rating__star {
  color: var(--star-filled);
}

.game-rating__reviews {
  color: var(--text-secondary);
  font-size: 1.5rem;
}
