/* @media */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */

/* credits to https://medium.com/@efficientHacks/how-to-display-different-content-based-on-screen-width-with-css-only-1e1caca5801 for the idea */

@media all and (min-width: 1100px) {
    .desktop {
        display: block;
    }

    .mobile {
        display: none;
    }

    .particle {
        display: block;
    }
}

@media all and (max-width: 1100px) {
    .desktop {
        display: none;
    }

    .mobile {
        display: block;
    }

    .particle {
        display: none;
    }
}

#mcontainer {
    position: absolute;
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;

    max-width: fit-content;
}

#mcontainer p {
    margin: 12px 0;
}

/* BODY */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */

body {
    background-color: #151629;
    overflow-y: hidden;
    overflow-x: hidden;

    font-family: "Manrope", sans-serif;
    font-size: 12pt;

    color: white;
}

div {
    text-wrap: wrap;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Share Tech Mono", monospace;
}

a {
    color: #eee1a6;
    text-decoration: none;
    padding-bottom: 3px;

    position: relative;
    transition:  all 0.25s cubic-bezier(1,0,0.58,0.97);
}

/* UNDERLINE TRANSITION CREDS: https://youtu.be/WgOxqcf6JaQ (CodeNewbies) */

a:before{
    content: '';
    display: block;

    height: 2px;
    width: 0;

    background: #eee1a6;

    position: absolute;
    top: 80%;
    right: 0;

    transition: inherit;
}

a:hover:before{
    left: 0;
    width: 100%;
}

a.disabled, button.disabled {
    pointer-events: none;
    color: lightslategray;
    border-bottom: solid 1px lightslategray;
}

::-moz-selection {
    color: rgb(255, 255, 233);
    background-color: #343696;
}

::selection {
    color: rgb(255, 255, 233);
    background-color: #343696;
}

img {
    pointer-events: none;
    -webkit-touch-callout: none;
}

/* MAIN BODY */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */


#container {
    /* border: red solid 1px; */

    height: 100vh;
}

#heading {
    /* border: green solid 1px; */

    height: 49px;
    margin-top: 5vh;
    padding: 0%;

    display: flex;
}

#heading p{
    /* border: green dashed 1px; */

    color: white;
    /* font-family: 'Times New Roman', Times, serif; */
    text-align: center;
    font-style: italic;
    letter-spacing: 0.5rem;

    margin: auto;
    margin-top: 1%;
    max-width: fit-content;
}

#heading .music {
    float: left;
    height: 100%;
    margin-left: 5%;
}

#heading .music img {
    height: inherit;
}

#heading #crossline {
    width: 50px;
    height: 3px;

    background-color: white;
    transform: rotate(-45deg);

    position: relative;
    top: -58%;

    opacity: 0;
}

#heading #crossline.show {
    opacity: 1;
}

#heading .star {
    float: right;
    height: 100%;
    margin-right: 5%;
}

#heading .star img {
    height: inherit;
}

#subcontainer {
    height: 100vh;
    display: box;
    /* border: solid 5px red; */
}

/* BG FX */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */


#bg-radial-top {
    background: radial-gradient(circle, rgb(250, 238, 197) 5%, transparent 70%);
    width: 2000px;
    height: 2000px;

    position: absolute;
    top: -100%;
    left: 50%;
    transform: translateX(-50%);

    z-index: -99;

    /* border: solid 1px gray; */

    animation: sparkle-bg 10s infinite linear;
    animation-delay: 1000ms;

    opacity: 0.2;
    /* border-radius: 100%; */

    mix-blend-mode: hard-light;
}

#bg-radial-bottom {
    background: radial-gradient(
        circle, 
        rgb(51, 62, 100) 0%, 
        rgb(51, 62, 100) 15%,  
        rgb(67, 76, 109) 30%, 
        rgb(74, 86, 129) 45%,
        transparent 70%);
    width: 2000px;
    height: 2000px;

    position: absolute;
    top: 60%;
    left: 50%;
    transform: translateX(-50%);

    z-index: -99;

    /* border: solid 1px gray; */
    border-radius: 100%;

    mix-blend-mode: lighten;

    animation: sparkle-bg 15s infinite ease-in-out;
    /* opacity: 0; */
}

#bg-radial-bottom-smaller {
    background: radial-gradient(circle, rgb(106, 114, 153) 15%, transparent 70%);

    width: 1700px;
    height: 2000px;

    position: absolute;
    top: 60%;
    left: 50%;
    transform: translateX(-50%);

    /* border: solid 1px gray; */
    border-radius: 100%;

    z-index: 3;
    animation: sparkle-bg 3s infinite ease-in-out;
    /* border: solid 5px blueviolet; */

    mix-blend-mode: color-dodge;
}

/* NOX */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */


#nox {
    /* border: beige solid 1px; */

    max-width: fit-content;

    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -100%);

    height: 75vh;
    margin: auto;
}

#nox img {
    /* border: beige dashed 1px; */

    /* scale: 65%; */
    height: 100%;
}

#nox .star {
    position: absolute;
    left: -10%;
    top: 16%;

    /* z-index: 3; */
    pointer-events: none;
    scale: 0.57;
    /* height: 150px; */
    /* border: 1px solid rgb(174, 0, 255); */

    isolation: isolate;

    animation: bop 1.5s ease-in-out infinite;
}

#nox .star::after {
  content: " ";
  color: white;

  z-index: -1;
  pointer-events: none;

  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgb(255, 231, 124) 0%, transparent 70%);

  border-radius: 100%;
  opacity: 0.6;

  /* border: solid 1px rgb(253, 157, 253); */

  height: 150px;
  width: 150px;

  animation: sparkle 2.5s infinite ease-in-out;
}

@keyframes sparkle {
  0%, 100% { transform: translate(-50%, -50%) scale(1); opacity: 0.7; }
  50% { transform: translate(-50%, -50%) scale(1.2); opacity: 1; }
}

@keyframes sparkle-bg {
  0%, 100% { transform: translateX(-50%) scale(1); opacity: 0.2; }
  50% { transform: translateX(-50%) scale(1.01); opacity: 0.5; }
}

@keyframes bop {
    0%, 100% {
        transform: translateY(0);
    }
    
    50% {
        transform: translateY(-10%);
    }
}

/* the two chunks are gpt-ed */
.particle {
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: radial-gradient(rgb(255, 245, 212), transparent);
  opacity: 0.8;
  pointer-events: none;
  
  /* animation: fadeAndFloat 1.5s ease-in forwards; */
  animation: sparkleRadial 1s ease-out forwards;
  
  mix-blend-mode: hard-light;

  z-index: -999;
}

@keyframes fadeAndFloat {
  0% {
    transform: translateY(0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(70px, 70px) scale(1.2);
    opacity: 0;
  }
}

@keyframes sparkleRadial {
  to {
    transform: translate(var(--dx), var(--dy)) scale(1.5);
    opacity: 0;
  }
}

/* FRTHEATELIER HANDLE (BOTTOM LEFT) */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */


#handle {
    /* border: yellow solid 1px; */

    position: absolute;
    left: 0;
    bottom: 0;
    
    margin-left: 4%;
    margin-bottom: 4%;

    color: white;
    /* font-family: 'Times New Roman', Times, serif; */

    border-left: white solid 2px;
    height: fit-content;
    /* padding-left: 17px; */
    padding: 0 5px 0 17px;
}

#handle p {
    font-size: 3.6rem;
    line-height: 3rem;
    font-weight: 200;
}

#handle ul {
    list-style: none;
    padding: 0;
    font-size: 1.5rem;
    line-height: 2rem;
}

/* MENU LINKS */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */


#menu {
    z-index: 99;
}

#menu a, button {
    /* border: cyan solid 1px; */
    position: absolute;

    border: none;
    border-bottom: white solid 1px;
    text-decoration: none;
    background-color: transparent;

    color: white;
    /* font-family: 'Times New Roman', Times, serif; */
    font-size: 15pt;

    padding-left: 2%;
}

.menu {
    transform-origin: center;
    transition: transform 0.3s ease;

    text-transform: uppercase;
}

#menu #menu1 {
    top: 40%;
    left: 20%;
    transform: translate(20%, -40%);

    width: 25%;
    text-align: start;
}

#menu #menu2 {
    top: 60%;
    right: 20%;
    transform: translate(-11%, -60%);

    /* width: max(250px, 20%); */
    width: 20%;
    text-align: end;
}

#menu #menu3 {
    top: 65%;
    right: 15%;
    transform: translate(-12%, -65%);

    width: 25%;
    text-align: end;
}

#menu #menu4 {
    top: 75%;
    left: 23%;
    transform: translate(23%, -75%);

    width: 18%;
    text-align: start;
}

/* #menu1:hover, #menu4:hover {
    transform: scaleX(1.1);
} */

/* CURRENT BOX (BOTTOM RIGHT) */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */

   
#current {
    /* border: orange solid 1px; */

    position: absolute;

    /* padding: 1%; */
    background-color: aliceblue;
    color: #151629;


    width: 220px;
    height: 150px;

    right: 0;
    bottom: 0;

    margin-right: 4%;
    margin-bottom: 4%;

    transition: 0.3s ease-in-out;

    /* z-index: 99; */
}

#current img {
    width: 220px;
    height: 150px;
    object-fit: cover;

    border: solid 1px #685e3f;
    /* padding: 1px; */
}

#current .title {
    /* border: orange solid 1px; */

    text-align: center;

    position: absolute;
    bottom: 15%;
    left: 50%;
    transform: translate(-50%, 15%);

    width: 75%;
    background-color: #151629;
    color: white;
}

/* CREDIT BOX (TOP RIGHT) */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */

#credits  {
    border-right: solid 3px white;
    padding-right: 10px;
    
    position: absolute;
    top: 12%;
    right: 7.6%;

    height: auto;
    width: 300px;

    /* animation: fade-drop 0.5s linear; */
    opacity: 0;
    transform: translateY(-10%);
    transition: opacity 0.5s linear, transform 0.5s ease-in;
}

#credits.show {
    opacity: 1;
    transform: translateY(0);
}

/* UPSCALE FX */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */

.upscale, .upscale-grand, .glow {
    transition: 0.3s ease-in-out;
}

.upscale:hover {
    scale: 1.05;
}

.upscale-grand:hover {
    scale: 1.3;
}

.glow:hover {
    box-shadow: 0 0 20px 2px rgb(158, 152, 123);
}

/* WINDOWS */
/* --------------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------------- */

.window {
    position: absolute; /* important */

    /* z-index: 2; */
    background-color: #191d2b;
    /* opacity: 0.8; */
    border: 1px solid #43435f;
    /* text-align: center; */

    width: 950px;
    height: 600px;
    box-sizing: border-box;

    overflow-y: hidden;
    overflow-x: hidden;

    top: 0;
    left: 0;

    color: rgb(255, 252, 244);

    /* display: block; */
    /* -webkit-transform: scale(.5, .5); */
    /* scale: 0.5; */
    /* -webkit-transition: all .5s ease-in-out; */
    /* transform: scale(.5, .5); */
    /* transition: all .5s ease-in-out; */

}

.window.show {
    display: block;
    /* transform: scale(1,1); */
    /* -webkit-transform: scale(1,1); */
    scale: 1;
}

.windowhead {
    padding: 10px;
    cursor: grab;
    /* z-index: 3; */
    background-color: #685e3f;
    color: #fff;
    height: 20px;

    position: sticky;
    top: 0;

    display: flex;
    flex-direction: row-reverse;
    align-items: center;

    overflow: hidden;
}

.close-button {
    font-size: 9pt;
    margin-right: 15px;

    /* text-transform: lowercase; */

    border: 1px solid white;
    background: #a3997a94;
    min-width: 50px;
    min-height: 17px;

    padding: 3px 0;

    display: inline-table;
    text-align: center;

    cursor: default;

    transition: 0.2s ease-in-out;
}

.close-button:hover {
    background-color: rgb(255, 55, 41);
    scale: 1.2;
}

/* #content {
    padding: 15px 50px;
} */ 

/* glass morphism from https://hype4.academy/tools/glassmorphism-generator */
.glass {
    /* width: 240px;
    height: 360px; */
    background: rgba(85, 78, 78, 0.226);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    /* border-radius: 20px; */
    border: 1px solid rgba(255, 255, 255, 0.3);
    box-shadow: 
        0 8px 32px rgba(0, 0, 0, 0.1),
        inset 0 1px 0 rgba(255, 255, 255, 0.5),
        inset 0 -1px 0 rgba(255, 255, 255, 0.1),
        inset 0 0 20px 10px rgba(255, 255, 255, 0.1);
}

.glass::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 1px;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.8),
        transparent
    );
}

.glass::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 100%;
    background: linear-gradient(
        180deg,
        rgba(255, 255, 255, 0.3),
        transparent,
        rgba(255, 255, 255, 0.3)
    );
}

.content {
    overflow-y: scroll;
    overflow-x: hidden;

    padding: 15px 50px;
}

/* TOOLTIP - W3schools */
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/

/* Tooltip container */
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted rgb(255, 255, 255); /* If you want dots under the hoverable text */
}

/* Tooltip text */
.tooltip .tooltiptext {
    visibility: hidden;
    width: 200px;

    background-color: rgba(155, 106, 0, 0.726);
    color: #fff2de;
    border: 1px solid rgb(226, 173, 0);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    text-align: center;
    padding: 5px 0;
    border-radius: 1px;

    position: absolute;
    z-index: 1;

    /* bottom: 100%;
    left: 50%;
    margin-left: -100px; */

    top: -5%;
    right: 105%;
}

.tooltip-right .tooltiptext {
    visibility: hidden;
    width: 200px;

    background-color: rgba(155, 106, 0, 0.726);
    color: #fff2de;
    border: 1px solid rgb(226, 173, 0);

    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);

    text-align: center;
    padding: 5px 0;
    border-radius: 1px;

    position: absolute;
    z-index: 1;

    top: -5%;
    left: 105%;
}

/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext, .tooltip-right:hover .tooltiptext {
    visibility: visible;
}


/* CHATGPT HIDE SCROLLBAR FOR SOME RZN */
/*----------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/

/* .content::-webkit-scrollbar {
    display: none;
}
.content {
    -ms-overflow-style: none;  
    scrollbar-width: none;     
} */
