@import url("components/server-explorer.css");

:root {
  --text-color-7: #ffffff;
  --text-color-8: #cecece;
  --text-color-9: #ebebeb;

  --gradient-1: linear-gradient(180deg, var(--color-1) 0%, var(--color-2) 100%);
  --gradient-2: linear-gradient(135deg, var(--color-3) 0%, var(--color-4) 100%);

  --gradient-1-reverted: linear-gradient(
    -180deg,
    var(--color-2) 0%,
    var(--color-1) 100%
  );
  --gradient-2-reverted: linear-gradient(
    -135deg,
    var(--color-3) 0%,
    var(--color-4) 100%
  );

  --gradient-1-vertical: linear-gradient(
    90deg,
    var(--color-1) 0%,
    var(--color-2) 100%
  );
  --gradient-2-vertical: linear-gradient(
    180deg,
    var(--color-3) 0%,
    var(--color-4) 100%
  );

  --text-size-sm: 13px;
  --text-size-md: 15px;
  --text-size-lg: 20px;
  --text-size-xl: 25px;
  --text-size-xxl: 35px;

  --sidebar-expand-width: 250px;
  --sidebar-width: 90px;
  --sidebar-start-img-width: 40px;

  --button-text-size: var(--text-size-md);
  --mini-button-text-size: var(--text-size-sm);
  --title-text-size: var(--text-size-lg);
  --mini-title-text-size: var(--text-size-md);
  --paragraphe-text-size: var(--text-size-sm);
  --content-padding: 40px;

  --button-padding: 15px 20px;
}
::-webkit-scrollbar {
  height: 12px;
  width: 7px;
  background: rgba(255, 255, 255, 0.178);
}

::-webkit-scrollbar-thumb {
  background: var(--text-color-3);
}
*::selection {
  background: #b3b3b386;
}
.table {
  --bs-table-bg: transparent !important;
}
body {
  overflow: hidden;
}
#app {
  display: flex;
  height: 100vh;
  overflow: hidden;
  color: var(--text-color-1);
  font-family: "Nunito", sans-serif;
}
#content {
  background: var(--gradient-2);
  margin-left: var(--sidebar-width);
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  background-attachment: fixed;
  background-size: cover;
}
#content .content-wrapper {
  min-height: 100vh;
  padding: calc(var(--content-padding) / 2) var(--content-padding);
  background: linear-gradient(
      0deg,
      var(--color-3) 0%,
      var(--color-3) 30%,
      var(--color-3) 40%,
      var(--color-5) 100%
    ),
    var(--settings-background);
  background-attachment: fixed;
  background-size: cover;
}
#socialLinks {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-bottom: 10px;
}
#socialLinks .social-item {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 10px;
  background: var(--color-4);
  border-radius: 50px;
  font-size: 20px;
  transition: all ease 0.3s;
}
#socialLinks .social-item:hover {
  transform: scale(1.15);
  transition: all ease 0.3s;
}
#socialLinks .social-item i {
  line-height: 0;
}
#bigfooter {
  min-height: 200px;
  border-radius: 0 !important;
}
#bigfooter .bigfooter-image {
  width: 70%;
  align-self: center;
  transition: all ease 0.3s;
}
#bigfooter .bigfooter-image:hover {
  transform: scale(1.1);
  transition: all ease 0.3s;
}
#bigfooter .bigfooter-link {
  color: var(--text-color-1);
  transition: all ease 0.3s;
}
#bigfooter .bigfooter-link:hover {
  color: var(--text-color-2);
  font-weight: bold;
  transition: all ease 0.3s;
  text-decoration: none;
}
#bigfooter .bigfooter-link i {
  display: inline-block;
  color: var(--text-color-2);
  transform: scale(1.2);
  transition: all ease 0.3s;
}
#footer {
  border-top: 2px dashed rgba(255, 255, 255, 0.089);
  position: relative;
  font-weight: bold;
  color: var(--text-color-1);
}
#footer .sloyni-copyright {
  text-decoration: none;
  color: var(--text-color-1);
}
#footer .sloyni-copyright:hover {
  color: var(--text-color-2);
}
.btn-outline-primary {
  color: var(--text-color-1);
  border-color: var(--color-1);
}
.btn-outline-primary:hover {
  color: var(--text-color-1);
  background-color: var(--color-1);
  border-color: var(--color-1);
}
.badge {
  white-space: normal !important;
}
.deluxe-apex-modal .modal-content {
  box-shadow: 0 18px 60px rgba(0, 0, 0, 0.45);
}
.deluxe-apex-modal .modal-body {
  padding: 18px;
}
.deluxe-apex-modal .modal-footer {
  gap: 10px;
}
.deluxe-apex-modal .apex-popup-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 10px 20px;
  border: 0;
  border-radius: 12px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
  box-shadow: none;
  text-decoration: none !important;
  transition:
    background-color 0.2s ease-in-out,
    border-color 0.2s ease-in-out,
    color 0.2s ease-in-out,
    transform 0.2s ease-in-out;
}
.deluxe-apex-modal .apex-popup-btn:hover {
  transform: translateY(-2px);
  box-shadow: none;
  text-decoration: none !important;
}
.deluxe-apex-modal .apex-popup-btn-light {
  background-color: #f8f9fa;
  color: #000 !important;
}
.deluxe-apex-modal .apex-popup-btn-light:hover {
  background-color: #fff;
  color: #000 !important;
}
.deluxe-apex-modal .apex-popup-btn-light:focus,
.deluxe-apex-modal .apex-popup-btn-light:visited {
  color: #000 !important;
}
.deluxe-apex-modal .apex-popup-btn-black {
  background-color: #050505;
  color: #fff;
}
.deluxe-apex-modal .apex-popup-btn-black:hover {
  background-color: #000;
  color: #fff;
}
.deluxe-apex-video {
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 12px;
  background: #000;
}
.deluxe-apex-video iframe {
  border: 0;
}

.currency-display {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 12px;
    font-weight: bold;
    white-space: nowrap;
    color: var(--text-color-1);
}

.currency-display span {
    font-size: 0.9rem;
}
/* ===========================
   YouTube Showcase
=========================== */

.youtube-card{
    overflow:hidden;
    border-radius:18px;
    transition:.25s ease;
    border:0;
}

.youtube-card:hover{
    transform:translateY(-6px);
    box-shadow:0 15px 40px rgba(0,0,0,.35);
}

.youtube-preview{

    position:relative;

    overflow:hidden;

    cursor:pointer;

    background:#000;

}

.youtube-preview img{

    width:100%;

    transition:.35s ease;

    display:block;

}

.youtube-card:hover img{

    transform:scale(1.06);

}

.youtube-overlay{

    position:absolute;

    inset:0;

    display:flex;

    justify-content:center;

    align-items:center;

    background:rgba(0,0,0,.25);

    transition:.25s;

}

.youtube-overlay i{

    font-size:64px;

    color:white;

    transition:.25s;

    text-shadow:0 0 20px rgba(0,0,0,.5);

}

.youtube-card:hover .youtube-overlay{

    background:rgba(0,0,0,.15);

}

.youtube-card:hover .youtube-overlay i{

    transform:scale(1.15);

    color:#ff3333;

}

.youtube-title{

    font-weight:600;

    line-height:1.35;

    display:-webkit-box;

    -webkit-line-clamp:2;

    -webkit-box-orient:vertical;

    overflow:hidden;

    min-height:3.2rem;

}
/* YouTube Widget */

.youtube-card {
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease;
    cursor: pointer;
}

.youtube-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 25px rgba(0,0,0,.35);
}


.youtube-preview {
    position: relative;
    overflow: hidden;
}


.youtube-preview img {
    width: 100%;
    transition: transform .35s ease;
}


.youtube-card:hover .youtube-preview img {
    transform: scale(1.08);
}


.youtube-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;

    background: rgba(0,0,0,.35);

    opacity: 0;
    transition: opacity .25s ease;
}


.youtube-card:hover .youtube-overlay {
    opacity: 1;
}


.youtube-overlay i {
    font-size: 4rem;
    color: white;

    filter: drop-shadow(0 3px 5px rgba(0,0,0,.7));

    transform: scale(.8);
    transition: transform .25s ease;
}


.youtube-card:hover .youtube-overlay i {
    transform: scale(1);
}


.youtube-title {
    font-weight: 600;
    line-height: 1.3;
}
/* YouTube Section */

.youtube-card {
    overflow: hidden;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    border-radius: 12px;
}

.youtube-card:hover {
    transform: translateY(-6px);
    box-shadow: 0 12px 25px rgba(0,0,0,0.35);
}


.youtube-preview {
    position: relative;
    cursor: pointer;
    overflow: hidden;
}


.youtube-preview img {
    width: 100%;
    transition: transform 0.35s ease, filter 0.35s ease;
}


.youtube-preview:hover img {
    transform: scale(1.08);
    filter: brightness(0.65);
}


.youtube-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}


.youtube-overlay i {
    font-size: 70px;
    color: rgba(255,255,255,0.9);
    opacity: 0.85;
    transition: transform 0.25s ease, opacity 0.25s ease;
    text-shadow: 0 3px 12px rgba(0,0,0,0.6);
}


.youtube-preview:hover .youtube-overlay i {
    transform: scale(1.15);
    opacity: 1;
}


.youtube-title {
    font-weight: 600;
    line-height: 1.4;
}
/* YouTube Shorts Vertical Cards */

.youtube-preview {
    aspect-ratio: 9 / 16;
    background: #000;
    overflow: hidden;
    position: relative;
}


.youtube-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.youtube-preview iframe {
    width: 100%;
    height: 100%;
    border: 0;
}


.youtube-card {
    border-radius: 14px;
}

.youtube-card .card-body {
    min-height: auto;
    padding: 0;
}

.youtube-title {
    font-size: 0.95rem;
}


/* Make play button slightly smaller for vertical cards */

.youtube-overlay i {
    font-size: 60px;
}
/*
 Temporary full-width layout (sidebar disabled)
*/

#content {
    margin-left: 0 !important;
}

/*
 Compact social footer
*/

#bigfooter {
    min-height: unset !important;
    padding: 5px 0 0 !important;
    margin-bottom: 0 !important;
}

#bigfooter .row {
    display: none !important;
}

#bigfooter #socialLinks {
    margin: 0 auto !important;
    padding: 0 !important;
}

#footer {
    margin-top: 0 !important;
}
/*
 i85.net Custom Footer Adjustments
*/

#bigfooter {
    background: #000 !important;
    background-image: none !important;
    box-shadow: none !important;
    border: 0 !important;
    min-height: 0 !important;
}

#bigfooter #socialLinks {
    padding: 10px 0;
}

#footer {
    margin-top: 0 !important;
}
/* Vote Ranking Section */
.ranks-section {
  background:
    linear-gradient(
      rgba(5,5,14,0.82),
      rgba(5,5,14,0.82)
    ),
    url('/storage/img/minecraft-voting-bg.webp');

  background-size: cover;
  background-position: center;

  border: 1px solid rgba(171,222,185,0.35);
  border-radius: 12px;

  box-shadow: 0 0 20px rgba(0,0,0,0.45);

  margin-bottom: 25px;
}

.servermap-card {

    padding:18px;

    border-radius:18px;

    background:rgba(5,5,14,.75);

    border:1px solid rgba(88,101,242,.25);

    box-shadow:
        0 0 18px rgba(88,101,242,.20),
        0 0 45px rgba(88,101,242,.10),
        inset 0 0 30px rgba(0,0,0,.45);

}
/*
 Hide mobile sidebar logo
*/

@media (max-width: 768px) {

    #sidebar-mobile .sidebar-image {
        display:none !important;
    }

}
@media (max-width:768px) {

    #homebanner .homebanner-logo {
        display:none !important;
    }

}
@media (max-width:768px) {
    .homebanner-logo.mobile-hide-logo {
        display:none !important;
    }
}

/* Hide home banner logo on mobile */
@media (max-width: 768px) {
    #homebanner .homebanner-logo {
        display: none !important;
        position: absolute !important;
        left: -9999px !important;
    }
}
/* Center footer copyright */
#footer .card-body {
    justify-content: center !important;
    text-align: center;
}

#footer .card-body > div {
    width: 100%;
}
/* Compact centered footer */
#footer .card-body {
    display: block !important;
    text-align: center;
    padding: 12px 20px !important;
}

#footer .card-body > div {
    width: 100%;
}

/* =========================================================
   MOBILE LANDSCAPE VIEWPORT FIX
   Prevent profile bar clipping after phone rotation
   ========================================================= */

@media (orientation: landscape) and (max-height: 600px) {

    #app {
        height: 100dvh;
        min-height: 100dvh;
    }

    #content {
        min-height: 0;
        padding-top: env(safe-area-inset-top, 0);
    }

    #content .content-wrapper {
        min-height: 100%;
        padding-top: max(
            calc(var(--content-padding) / 2),
            env(safe-area-inset-top, 0px)
        );
    }

}

