/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
html,
button,
input,
select,
textarea {
  color: #222;
}
html {
  font-size: 1em;
  line-height: 1.4;
}
/*
        * Remove text-shadow in selection highlight: h5bp.com/i
        * These selection rule sets have to be separate.
        * Customize the background color to match your design.
        */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}
::selection {
  background: #b3d4fc;
  text-shadow: none;
}
/*
        * A better looking default horizontal rule
        */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}
/*
        * Remove the gap between images, videos, audio and canvas and the bottom of
        * their containers: h5bp.com/i/440
        */
audio,
canvas,
img,
video {
  vertical-align: middle;
}
/*
        * Remove default fieldset styles.
        */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}
/*
        * Allow only vertical resizing of textareas.
        */
textarea {
  resize: vertical;
}

/* ==========================================================================
          Rug Strike styles
          ========================================================================== */

@font-face {
  font-family: "Roboto";
  src: url("fonts/Roboto.eot");
  src: url("fonts/Roboto.eot?#iefix") format("embedded-opentype"),
    url("fonts/Roboto.woff2") format("woff2"),
    url("fonts/Roboto.woff") format("woff"),
    url("fonts/Roboto.ttf") format("truetype"),
    url("fonts/Roboto.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  -webkit-user-select: none;
  -webkit-touch-callout: none;
  background: #000;
}

/*-- Percent Loader -- */
#mainLoader {
  position: absolute;
  z-index: 5;
  display: none;
  font-size: 50px;
  line-height: 50px;
  color: #fff;
  text-align: center;
  width: 100%;
  font-family: Roboto;
}

/*-- Content Wrapper -- */
#mainHolder {
  position: absolute;
  width: 100%;
  height: 100%;
}

/*-- Browser Not Support -- */
#notSupportHolder {
  width: 90%;
  margin: 5% auto;
  position: relative;
  color: #fff;
  text-align: center;
  font-size: 25px;
  font-family: "Roboto";
  display: none;
}
.notSupport {
  margin-top: 200px;
}

/*-- Mobile Rotate Instruction -- */
#rotateHolder {
  position: absolute;
  width: 100%;
  height: 100%;
  background-color: #0a1529;
  z-index: 1000;
  display: none;
}
.mobileRotate {
  width: 200px;
  height: auto;
  position: absolute;
  text-align: center;
}
.rotateImg {
  -webkit-animation: spin 0.5s linear infinite;
  -moz-animation: spin 0.5s linear infinite;
  animation: spin 0.5s linear infinite;
  margin-bottom: 10px;
}
.rotateDesc {
  color: #fff;
  font-size: 15px;
  line-height: 15px;
  font-family: "Roboto";
}

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

/*-- Canvas Wrapper -- */
#canvasHolder {
  display: none;
  width: 100%;
  max-width: 1024px;
  height: 100%;
  margin: auto;
  position: relative;
}
canvas {
  position: fixed;
}

@-webkit-viewport {
  width: device-width;
}
@-moz-viewport {
  width: device-width;
}
@-ms-viewport {
  width: device-width;
}
@-o-viewport {
  width: device-width;
}
@viewport {
  width: device-width;
}

/* ==========================================================================
          Helper classes
          ========================================================================== */
/*
        * Image replacement
        */
.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  text-indent: -9999px; /* Standard way, without the IE hack */
}

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%;
}

/*
        * Hide from both screenreaders and browsers: h5bp.com/u
        */
.hidden {
  display: none !important;
  visibility: hidden;
}

/*
        * Hide only visually, but have it available for screenreaders: h5bp.com/v
        */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*
        * Extends the .visuallyhidden class to allow the element to be focusable
        * when navigated to via the keyboard: h5bp.com/p
        */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/*
        * Hide visually and from screenreaders, but maintain layout
        */
.invisible {
  visibility: hidden;
}

/*
        * Clearfix: contain floats
        *
        * For modern browsers
        * 1. The space content is one way to avoid an Opera bug when the
        *    `contenteditable` attribute is included anywhere else in the document.
        *    Otherwise it causes space to appear at the top and bottom of elements
        *    that receive the `clearfix` class.
        * 2. The use of `table` rather than `block` is only necessary if using
        *    `:before` to contain the top-margins of child elements.
        */
.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}

/*
        * For IE 6/7 only
        * Include this rule to trigger hasLayout and contain floats.
        */
.clearfix {
  display: block;
  zoom: 1; /* Only include this if it's absolutely necessary */
}

/* ==========================================================================
          EXAMPLE Media Queries for Responsive Design.
          These examples override the primary ('mobile first') styles.
          Modify as content requires.
          ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
  (-o-min-device-pixel-ratio: 5/4),
  (-webkit-min-device-pixel-ratio: 1.25),
  (min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
          Print styles.
          Inlined to avoid required HTTP connection: h5bp.com/r
          ========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group;
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}

#walletModal {
  z-index: 101;
}

.modal-dialog {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  height: 100%;
  margin: auto !important;
  padding-bottom: 1.25rem !important;
}

.socials-section {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  z-index: 100;
  width: 100%;
  top: 10px;
  padding: 1vh 0; /* Add padding to avoid touching the edges */
}

.bottom {
  top: auto !important;
  bottom: 2vh !important;
}

.socials-section .buy {
  color: #fff;
  font-family: Roboto;
  font-size: calc(10px + 1vw); /* Responsive font size */
  letter-spacing: 0.1vw;
  text-align: center; /* Center text for smaller screens */
}

#social {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 1vh; /* Add some margin on top for spacing */
}

#socialTop {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  margin-top: 1vh; /* Add some margin on top for spacing */
}

#social img,
#socialTop img {
  height: 5vh; /* Use vh to keep consistent height relative to viewport */
  width: auto;
  object-fit: contain;
  cursor: pointer;
  margin: 0 2vw; /* Use viewport width for margin */
}

#socialTop img {
  margin: 0;
  margin-left: 1vw;
}

/* Specific adjustments for mobile devices in landscape */
@media (max-width: 768px) {
  /* Targeting smaller screens */
  .socials-section .buy {
    font-size: calc(8px + 1.5vw); /* Smaller font size */
  }

  #social img,
  #socialTop {
    height: 3.5vh; /* Smaller images */
    margin: 0 1vw; /* Smaller margins */
  }
}

/* Further adjustments for very small screens */
@media (max-width: 480px) {
  .socials-section .buy {
    font-size: calc(6px + 1.5vw); /* Even smaller font size */
  }

  #social img,
  #socialTop img {
    height: 3vh; /* Even smaller images for very small devices */
  }
}

.modal-content {
  background-color: #2a2a2a !important;
  color: #ffffff !important;
}

#walletAddressInput {
  background-color: #2a2a2a;
  color: #ffffff;
}

.close {
  color: #ffffff !important;
}

.toast {
  position: absolute;
  top: 5px;
  left: 5px;
  color: #fff;
  transition-duration: 3ms;
}

.toast .btn-close {
  border: none;
  color: #fff;
  background-color: transparent;
}

.game-info {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: end;
}

.game-info-container {
  position: absolute;
  z-index: 102;
  right: 50px;
  top: 20px;

  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-start;
  align-items: start;
}

.disnone {
  display: none !important;
}

.info-row {
  margin-top: 5px;
  color: #fff;
  font-size: 1rem;
}

.info-row span {
  margin-left: 5px;
}

#leaderboard {
  font-size: 20px;
  font-family: Roboto;
  padding: 10px 14px;
  background-color: #2a2a2a;
  color: #fff;
}
