:root {
  --bezier: cubic-bezier(0.25, 0.1, 0.25, 1);
}
body {
  overflow-x: hidden;
}
a,
.btn-link {
  text-decoration: none;
}
a,
.btn,
.cursor-pointer {
  cursor: pointer;
}
a.notlink {
  cursor: default;
}
a.notlink:hover {
  text-decoration: none;
}
.text-xxs {
  font-size: xx-small;
}
.text-xs {
  font-size: x-small;
}
.text-sm {
  font-size: smaller;
}
.text-lg {
  font-size: larger;
}
.text-xl {
  font-size: x-large;
}
.text-xxl {
  font-size: xx-large;
}
.text-shadow {
  text-shadow: 0 0 3px #636363;
}
.text-white {
  color: white;
}
.rounded-5 {
  border-radius: 16px !important;
}
h2,
.h2 {
  font-size: 1.5rem;
}
.container-fluid {
  max-width: 1854px;
}
.fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
}
.btn-xl {
  font-weight: bold;
  text-transform: uppercase;
  padding: 14px 72px !important;
  font-size: 1.3rem;
}

/********** ANIMATIONS **************/

.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms;
}

.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

@media (print), (prefers-reduced-motion: reduce) {
  .animated {
    -webkit-animation-duration: 1ms !important;
    animation-duration: 1ms !important;
    -webkit-transition-duration: 1ms !important;
    transition-duration: 1ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
  }
}

@-webkit-keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

@keyframes pulse {
  from {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }

  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    -webkit-transform: scale3d(1, 1, 1);
    transform: scale3d(1, 1, 1);
  }
}

.pulse {
  -webkit-animation-name: pulse;
  animation-name: pulse;
}

.animate-spin {
  -moz-animation: spin 2s infinite linear;
  -o-animation: spin 2s infinite linear;
  -webkit-animation: spin 2s infinite linear;
  animation: spin 2s infinite linear;
  display: inline-block;
}
@-moz-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-webkit-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-o-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@-ms-keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}
@keyframes spin {
  0% {
    -moz-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }

  100% {
    -moz-transform: rotate(359deg);
    -o-transform: rotate(359deg);
    -webkit-transform: rotate(359deg);
    transform: rotate(359deg);
  }
}

/********** CUSTOM RESPONSIVE EMBED SIZES **********/

.ratio-3x4 {
  --bs-aspect-ratio: calc(4 / 3 * 100%);
}

.ratio-9x16 {
  --bs-aspect-ratio: calc(16 / 9 * 100%);
}

/********** ERROR PAGE **********/

body.body-error:before {
  content: "";
  background: url(/files/broken.png);
  width: 300px;
  height: 245px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 999;
}

body.body-error header {
  transform: rotate(10deg) translate(0%, 187%);
}

/********** CATALOG *************/

.catalog {
  display: table;
  line-height: 0;
}
/* .catalog-random{
  background-color: rgba(255,255,0,0.5);
} */
.catalog-center {
  margin: 0 auto;
}
.catalog-header {
  width: 100%;
  width: -webkit-fill-available;
}

.catalog-item {
  padding: 0;
  transition: all 0.6s ease;
  transition-property: transform;
  display: inline-block;
  margin: 5px;
  box-sizing: content-box;
  position: relative;
  overflow: hidden;
  vertical-align: text-top;
}

.catalog-masonry {
  /* margin: 0 auto; */
  width: 100%;
  display: grid;
  grid-template-columns: repeat(auto-fill, 100px);
  grid-auto-flow: row dense;
  grid-gap: 5px 10px;
  gap: 5px 10px;
  /* justify-items: center;
  justify-content: center; */
  /* justify-content: space-evenly; */
  justify-content: space-between;
  padding: 0 5px;
}

.catalog-item .catalog-item {
  margin: 0;
}

.catalog-masonry .catalog-item-2x {
  grid-column: span 2;
  grid-row: span 2;
}

.catalog-masonry .catalog-item-v1x {
  grid-row: span 1;
}

.catalog-masonry .catalog-item-bnr {
  display: none;
}

.catalog-game {
  padding: 0 5px;
}

#catalog-random-pool {
  justify-content: space-between;
  display: flex;
  flex-flow: wrap;
  margin-top: 20px;
  margin-bottom: 20px;
}

#catalog-random-pool:after {
  content: "";
  flex: auto;
}

@media (max-width: 575px) {
  .catalog-masonry {
    justify-content: space-evenly;
  }
}

@media (min-width: 768px) {
  .catalog-masonry .catalog-item-bnr {
    display: inline-block;
    grid-column-start: -4;
    grid-row-start: 1;
    width: 100%;
    height: 100%;
    grid-column-end: span 3;
    grid-row-end: span 3;
    text-align: center;
  }
  .catalog-masonry .catalog-item-bnr > ins {
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
  }
}

.game-item {
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.24);
  border-radius: 16px;
}

.game-item::after {
  content: "";
  opacity: 0;
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  height: 100%;
  background: linear-gradient(transparent 25%, rgba(0, 0, 0, 0.3) 100%);
  z-index: 2;
  transition: box-shadow 0.6s var(--bezier), opacity 0.3s var(--bezier);
  box-shadow: rgb(0 0 0 / 24%) 0px 6px 12px 0px;
  border-radius: 16px;
  contain: strict;
}

.game-item:hover::after {
  opacity: 1;
  box-shadow: rgb(0 0 0 / 20%) 0px 12px 12px 0px;
}

.game-item > span {
  --fontSize: 12px;
  --lineHeight: 14px;
  position: absolute;
  right: 0px;
  bottom: 0px;
  left: 0px;
  padding: 6px;
  color: rgb(255, 255, 255);
  font-weight: 700;
  text-align: center;
  z-index: 3;
  transition: transform 0.3s var(--bezier) 0.1s, opacity 0.3s var(--bezier) 0.1s;
  transform: translate(0px, 8px);
  opacity: 0;
  -webkit-font-smoothing: antialiased;
  line-height: var(--lineHeight);
  font-size: var(--fontSize);
}

.game-item:hover > span {
  opacity: 1;
  transform: translate(0px, 0px);
}

.game-item-new .corner-ribbon {
  text-transform: lowercase;
}

.catalog-item:hover {
  /* z-index: 10; */
  transition-duration: 0.3s;
}

.game-item:hover,
.category-item:hover {
  transform: translate3d(0, -4px, 0);
}

.game-item:hover {
  box-shadow: 0 12px 12px 0 rgba(0, 0, 0, 0.2);
}

.game-item img {
  width: 100%;
  height: 100%;
}

.catalog-random .catalog-item {
  width: 110px;
  height: 110px;
}

.catalog-header .catalog-item {
  margin-top: 0;
  margin-bottom: 0;
}

.horizontal-cat-wrapper {
  position: relative;
}

.horizontal-cat-wrapper .arrow {
  position: absolute;
  top: 0;
  bottom: 0;
  background-position: 50% center;
  background-repeat: no-repeat;
  width: 50px;
  color: transparent;
  border: 0px;
  z-index: 4;
  outline: none 0px;
  transition: opacity 0.25s ease 0s, background-color 0.25s ease 0s;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
}

.horizontal-cat-wrapper:hover .arrow {
  opacity: 1;
}

.horizontal-cat-wrapper .arrow-left {
  left: 0;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTMuMjM3IDE3LjIzN3YtMi40NzRsMTQgMTRjLjY4NC42ODMuNjg0IDEuNzkgMCAyLjQ3NGExLjc0OCAxLjc0OCAwIDAxLTIuNDc0IDBsLTE0LTE0YTEuNzQ4IDEuNzQ4IDAgMDEwLTIuNDc0bDE0LTE0YTEuNzQ4IDEuNzQ4IDAgMDEyLjQ3NCAwYy42ODQuNjgzLjY4NCAxLjc5IDAgMi40NzRsLTE0IDE0eiIgZmlsbD0iI0VGRjFGMSIvPjwvc3ZnPg==);
}

.horizontal-cat-wrapper .arrow-right {
  right: 0;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTgiIGhlaWdodD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0Ljc2MyAxNy4yMzd2LTIuNDc0bC0xNCAxNGExLjc0OCAxLjc0OCAwIDAwMCAyLjQ3NGMuNjgzLjY4NCAxLjc5LjY4NCAyLjQ3NCAwbDE0LTE0YTEuNzQ4IDEuNzQ4IDAgMDAwLTIuNDc0bC0xNC0xNEExLjc1IDEuNzUgMCAwMC43NjMgMy4yMzdsMTQgMTR6IiBmaWxsPSIjRUZGMUYxIi8+PC9zdmc+);
}

.horizontal-cat-catalog {
  overflow-x: scroll;
  display: grid;
  grid-template-columns: 114px;
  grid-template-rows: 114px;
  grid-gap: 0;
  grid-auto-flow: column;
  justify-content: start;
}

.no-scrollbar::-webkit-scrollbar {
  display: none;
}

.no-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.horizontal-cat-catalog .catalog-item {
  display: block;
}

.horizontal-cat-catalog .catalog-item-2x {
  grid-column-end: span 2;
  grid-row-end: span 2;
}

/* categories */

.categories .category-item {
  width: 228px;
  min-width: 215px;
  min-height: 82px;
}

#categories-top,
#categories-bottom {
  display: flex;
  flex-flow: wrap;
  justify-content: center;
}

.category-item,
.catalog-item-h1 {
  background-size: 100% 100%;
  background-repeat: no-repeat;
}

.category-item {
  background-image: url(/files/categories-btn.svg);
}

/*body.webp .category-item{
  background-image: url(/files/categories-btn.webp);
}

body.nowebp .category-item{
  background-image: url(/files/categories-btn.png);
}

@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
  body.webp .category-item{
    background-image: url(/files/categories-btn2x.webp);
  }

  body.nowebp .category-item{
    background-image: url(/files/categories-btn2x.png);
  }
}*/

/* body.webp .catalog-item-h1{
  background-image: url(/files/h1-btn.webp);
}

body.nowebp .catalog-item-h1{
  background-image: url(/files/h1-btn.png);
}

@media
(-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
  body.webp .catalog-item-h1{
    background-image: url(/files/h1-btn2x.webp);
  }

  body.nowebp .catalog-item-h1{
    background-image: url(/files/h1-btn2x.png);
  }
} */

.catalog-item-h1 {
  background-image: url(/files/h1-btn.svg);
}

.catalog-item-h1 h1 {
  padding: 0 15px 8px;
}

.category-item a {
  display: flex;
  display: -ms-flexbox;
  -ms-flex-wrap: wrap;
  flex-wrap: nowrap;
  color: #fff;
  position: relative;
  z-index: 0;
  height: 100%;
  white-space: nowrap;
  width: 100%;
  padding-right: 15%;
}

.category-item a:hover {
  color: #fff !important;
}

img.rollevered {
  height: max-content;
  margin-top: auto;
  margin-bottom: auto;
  margin-left: 10px;
  height: 60px;
  width: auto;
}

.category-item span {
  white-space: normal;
  width: 100%;
  margin: auto 10px;
  line-height: 1.3rem;
  text-align: left;
}

/*** masonry catalog header item ***/

.catalog-item-header {
  line-height: initial;
  overflow: visible;
}

.catalog-item-header .btn {
  padding-left: 0.4rem;
  padding-right: 0.4rem;
  border-radius: 0 0.25rem 0.25rem 0;
}

#catalog-item-header-search {
  border-radius: 1rem 0 0 1rem;
}

/* #catalog-item-header-menu, */
#catalog-item-header-homeLink {
  border-radius: 0 1rem 1rem 0;
}

.dropdown-menu-search {
  width: 250px;
}

h1.h1logo {
  margin: 0 !important;
  padding: 0 !important;
  display: inherit;
}

/********* ADS ************/

/* .bnr {
    min-height: 120px;
} */

/* .bnr.bnr-right {
    min-height: 600px;
} */

/********* GAME PAGE ***********/

.game-object object {
  margin: 0 auto;
}

.game-object.fullscreen {
  background: #000;
  transform: translate3d(0px, 0px, 2px);
}

.mobile .game-object:not(.fullscreen) {
  --bs-aspect-ratio: 100% !important;
}

.mobile .game-object:not(.fullscreen) img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  z-index: 0;
}

.mobile #preplay {
  background: transparent !important;
}

.game-object-back {
  display: block;
  background: #fff;
  position: absolute;
  top: 24px;
  left: 0;
  width: 62px;
  height: 46px;
  z-index: 1000;
  border-radius: 0 16px 16px 0;
  overflow: hidden;
  padding: 9px 0;
}

.backBtn {
  height: 3rem;
  width: 9rem;
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
}

#fb-comments[data-colorscheme="dark"] span {
  border-radius: 4px;
  overflow: hidden;
}

#fb-comments > span > iframe {
  width: 100% !important;
}

#prevideo .ytp {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  cursor: pointer;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

#prevideo .ytp-button {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 68px;
  height: 48px;
  margin-left: -34px;
  margin-top: -24px;
  transition: all 0.25s cubic-bezier(0, 0, 0.2, 1);
  z-index: 63;
}

#prevideo:hover .ytp-large-play-button-bg {
  fill: #f00;
  fill-opacity: 1;
}

.game-preplay-flash {
  background-color: #14a5f1;
  background-image: url(/files/flash-background.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.sidebar-flex {
  flex-flow: column;
}

.sidebar-flex > .bnr-right {
  flex: 0 1 auto;
}

.sidebar-flex > .catalog-random {
  flex: 1 1 auto;
  display: block;
}

@media (max-width: 575px) {
  #preplay img {
    width: 100px;
    height: 100px;
  }
}

@media (max-width: 767px) {
  .game-name {
    font-size: 1.3rem !important;
  }
  .game-description-back img {
    max-height: 2rem;
  }
  .game-description-back a {
    font-size: 1.3rem;
  }
}

/******** PAGINATION *********/

.ias {
  margin-top: 1em;
  width: 100%;
  clear: both;
}

/********** BREADCRUMBS *************/

.breadcrumb {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0;
  margin-bottom: 1rem;
  list-style: none;
}

.breadcrumb-item.active {
  color: #6c757d;
}

.breadcrumb-item + .breadcrumb-item {
  padding-left: 0.5rem;
}

.breadcrumb-item + .breadcrumb-item::before {
  float: left;
  padding-right: 0.5rem;
  color: #6c757d;
  content: var(--bs-breadcrumb-divider, ">");
}

/********** TEXTS *************/

#pagetext:empty {
  display: none;
}

#pagetext img {
  max-width: 100%;
  height: auto;
}

#pagetext iframe {
  max-width: 100%;
}

#pagetext iframe[src*="youtu"] {
  height: auto;
  aspect-ratio: 16/9;
}

/********** HEADER ************/

.navbar-dark {
  background: dimgrey;
}

#headernav h1,
.h1 {
  font-size: unset;
  color: unset;
}

.navbar-brand > img {
  max-height: 2.8em;
}

.navbar-text {
  display: inline-block;
}

/******** FOOTER *******/
footer {
  background: inherit;
}

footer .dropup {
  float: right;
  margin: 0.1rem 0.3rem;
}

/******** LNGMENU *********/

.lngmenu * {
  text-decoration: none !important;
}

.lngflags .dropdown-item {
  /* display: inline-block;
  width: fit-content;
  padding: 0.25rem; */
  font-size: 0.7rem;
  padding: 0.2rem 0.5rem;
}

.country-flag {
  height: 1rem;
  width: 1rem;
  display: inline-block;
  background-size: contain;
  border-radius: 100%;
  vertical-align: middle;
}

.lngflags img.country-flag-selector {
  margin-bottom: 4px;
}

.dropdown-menu {
  min-width: unset;
}

/* alert-cc */

.alert-cc {
  position: fixed;
  bottom: 10px;
  right: 10px;
  z-index: 99999;
}

@media (max-width: 575px) {
  .alert-cc {
    left: 10px;
    width: unset;
  }
}

/* modal */

.modal {
  color: var(--bs-dark);
}

.modal-content {
  border-radius: 10px;
}

@media (max-width: 575px) {
  .modal-dialog-xs-bottom {
    display: flex;
    align-items: flex-end;
    min-height: calc(100% - 1rem);
  }
  .modal-dialog-xs-bottom .modal-content {
    max-height: 50%;
  }
}

/* The ribbons */

.corner-ribbon {
  width: 6rem;
  background: #e43;
  position: absolute;
  top: 0.4rem;
  left: -2rem;
  text-align: center;
  line-height: 1.3rem;
  letter-spacing: 1px;
  color: #f0f0f0;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
  font-size: 0.8rem;
}

.corner-ribbon.sticky {
  position: fixed;
}

.corner-ribbon.shadow {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5) !important;
}

.corner-ribbon.top-left {
  top: 0.4rem;
  left: -2rem;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

.corner-ribbon.top-right {
  top: 0.4rem;
  right: -2rem;
  left: auto;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.corner-ribbon.bottom-left {
  top: auto;
  bottom: 0.4rem;
  left: -2rem;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}

.corner-ribbon.bottom-right {
  top: auto;
  right: -1.5rem;
  bottom: 0.9rem;
  left: auto;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

/* Colors */

.corner-ribbon.white {
  background: #f0f0f0;
  color: #555;
}
.corner-ribbon.black {
  background: #333;
}
.corner-ribbon.grey {
  background: #999;
}
.corner-ribbon.blue {
  background: #39d;
}
.corner-ribbon.green {
  background: #2c7;
}
.corner-ribbon.turquoise {
  background: #1b9;
}
.corner-ribbon.purple {
  background: #95b;
}
.corner-ribbon.red {
  background: #e43;
}
.corner-ribbon.orange {
  background: #e82;
}
.corner-ribbon.yellow {
  background: #ec0;
}

/* catsList */

@media (min-width: 576px) {
  #catsList {
    columns: 2;
  }
}

@media (min-width: 768px) {
  #catsList {
    columns: 3;
  }
}

@media (min-width: 992px) {
  #catsList {
    columns: 3;
  }
}

@media (min-width: 992px) {
  #catsList {
    columns: 4;
  }
}

/* IE fix */

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .visually-hidden {
    display: none;
  }
}
