/* onclick="showBox('demogorgonABC')" */






html {
padding:0px;
  background-color:black;

}

body, html {
    margin: 0;
    padding: 0;
      cursor: url('https://www.rw-designer.com/cursor-view/11276.png'), pointer; 
}

img {
  display: block;
  margin-left: auto;
  margin-right: auto;
  
}

#starterred {

  color:#B11B1B;
 font-family: gt ;  text-align:center;
  font-size:50px;
  display:flex;
  width:100%;
  margin:0px;
  height:300px;
justify-content:center;
align-self:flex-end;
}

.page-header {
  height: 100vh;
}

.page-header:after {
  animation: grain 8s steps(10) infinite;
  background-image: url(https://s3-us-west-2.amazonaws.com/s.cdpn.io/9632/paper-pattern.png);
  mix-blend-mode:overlay;
  content: "";
  height: 300%;
  left: -50%;
  opacity: 0.8;
  position: fixed;
  top: -110%;
  width: 300%;
  pointer-events: none;
}

@keyframes grain {
  0%, 100% { transform:translate(0, 0) }
  10% { transform:translate(-5%, -10%) }
  20% { transform:translate(-15%, 5%) }
  30% { transform:translate(7%, -25%) }
  40% { transform:translate(-5%, 25%) }
  50% { transform:translate(-15%, 10%) }
  60% { transform:translate(15%, 0%) }
  70% { transform:translate(0%, 15%) }
  80% { transform:translate(3%, 35%) }
  90% { transform:translate(-10%, 10%) }
}


.floats {
    
            animation: float 6s ease-in-out infinite;
        }

        @keyframes float {
            0% {
                transform: translateY(0);
            }

            50% {
                transform: translateY(-10px);
            }

            100% {
                transform: translateY(0);
            }
        }
        
        

.float2 {
    
            animation: float2 10s ease-in-out infinite;
        }

 @keyframes float2 {
  0% {
    transform: translateY(0);
  }

  85% {
    transform: translateY(-200px);
  }

  /* shake at the top */
  88% {
    transform: translateY(-200px) translateX(-2px) rotate(-1deg);
  }

  90% {
    transform: translateY(-200px) translateX(2px) rotate(1deg);
  }

  92% {
    transform: translateY(-200px) translateX(-1px) rotate(-0.5deg);
  }

  94% {
    transform: translateY(-200px) translateX(1px) rotate(0.5deg);
  }

  96% {
    transform: translateY(-200px);
  }

  100% {
    transform: translateY(0);
  }
}
        
        .phone {  -moz-animation: 3s ease 0s normal none infinite swing;
    -moz-transform-origin: center top;
    -webkit-animation:swing 10s infinite ease-in-out;
    -webkit-transform-origin:top;
}

@-moz-keyframes swing{
    0%{-moz-transform:rotate(-3deg)}
    50%{-moz-transform:rotate(3deg)}
    100%{-moz-transform:rotate(-3deg)}
}
@-webkit-keyframes swing{
    0%{-webkit-transform:rotate(-3deg)}
    50%{-webkit-transform:rotate(3deg)}
    100%{-webkit-transform:rotate(-3deg)}
}

#popup {
  padding: 0;               /* remove all inner padding */
  position: fixed;
  bottom: 10px;
  left: 50%;
  height:50px;
  transform: translateX(-50%);
  
  display: flex;
  flex-direction: row;      /* horizontal layout */
  flex-wrap: nowrap;        /* prevent wrapping of the main row */
  align-items: stretch;     /* stretch children to container height */
  
  width: 500px;             /* container width */
  max-width: 90%;           /* responsive on smaller screens */
  background-color: black;
  border: 1px solid red;
  gap: 10px;                /* spacing between image and text */
  border-radius: 8px;       /* optional rounding */
  z-index:9999;
}

#popup img {
height:90px;
  flex-shrink: 0;           /* prevent image from shrinking */
  display: block;
  position:relative;
  bottom:20px;/* remove inline spacing below image */
}

#popup .joyceSpeechText {
  color: #B11B1B;
  flex: 1;                  /* allow text to take remaining space */
  word-wrap: break-word;    /* wrap text nicely inside container */
  display: flex;            /* optional: center text vertically */
  align-items: center;      /* vertical alignment for text */
}

.joyceSpeechText {
  font-family: dos;
   border-left: 1px dotted red;
   padding-left:10px;
   margin-left:10px;
}


#flex2 {
  display: flex;
  flex-direction: row;
  width:80%;
  margin:auto;
  gap: 70px;
  height:350px;
    justify-content:space-between;
      align-items: stretch;
 
      position:relative;
      bottom:30px;
      margin-bottom:20px;
}

.upsidedownimgA, .upsidedownimgAtext {
    flex-grow: 1;
}

.upsidedownimgAtext {
  background-color:black;
  color:#B11B1B;
  font-family: mbytepc;
  overflow:auto;
  padding-right:5px;
}

.upsidedownimgA {
   transition: box-shadow 0.6s ease, transform 0.3s ease;
  cursor: pointer;
}

/* Hover effect: pulsing red glow */
.upsidedownimgA:hover {
  box-shadow: 0 0 40px 10px rgba(255, 0, 0, 0.4);
  animation: pulseB 1s infinite alternate;
}

/* Keyframes for pulsing */
@keyframes pulseB {
  0% {
    box-shadow: 0 0 20px 5px rgba(255, 0, 0, 0.2);
  }
  100% {
    box-shadow: 0 0 40px 15px rgba(255, 0, 0, 0.5);
  }
}


/* Scrollbar width */
::-webkit-scrollbar {
  width: 2px; /* thin scrollbar */
}

/* Track (background) */
::-webkit-scrollbar-track {
  background: #0b0c10; /* match page background */
}

/* Thumb (the draggable part) */
::-webkit-scrollbar-thumb {
  background-color: #ff0000; /* solid red line */
  border-radius: 2px;
}

/* Optional hover effect */
::-webkit-scrollbar-thumb:hover {
  background-color: #ff3333; /* slightly brighter on hover */
  transition: all 0.2s ease-in-out;
}

/* Scrollbar corner */
::-webkit-scrollbar-corner {
  background: #0b0c10;
  
}

.lights  {
  color: #000;
    transition: transform 2s ease-in 0s;
}

.lights span:nth-child(odd) { color: #ff0000; animation-delay: 0s;}
.lights span:nth-child(even) { color: #ffff00; animation-delay: 0.5s;}

@keyframes blink {
  0%, 50%, 100% { opacity: 1; }
  25%, 75% { opacity: 0; }
}
.lights:hover {
  text-shadow:
    0 0 5px #ff0000,
    0 0 10px #ff0000,
    0 0 15px #ff0000;
    
}


.demoA {
    transition: transform 0.3s ease;
}

.demoA:hover {
  transform: translate(-5px, -5px) rotate(-2deg) scale(1.1);
  }
  
  
.phone:hover {
  animation: shake 0.3s infinite;
}


.phone { 
  transition: transform 1s ease;
  transform-origin: top center;
}
/* Keyframes for shake */
@keyframes shake {
  0%   { transform: translate(0, 0) rotate(0deg); }
  20%  { transform: translate(-2px, 0) rotate(-1deg); }
  40%  { transform: translate(2px, 0) rotate(1deg); }
  60%  { transform: translate(-1px, 0) rotate(-0.5deg); }
  80%  { transform: translate(1px, 0) rotate(0.5deg); }
  100% { transform: translate(0, 0) rotate(0deg); }
}



/* Wrapper for marquee */
.marquee-wrapper {
  width: 80%;
  margin: 20px auto;
  overflow: hidden;
  position: relative;
  height: 85px;
  bottom: 20px;
}

/* Scrolling content */
.marquee-content {
  display: flex;
  gap: 2px;
  align-items: center;
  animation: marquee 30s linear infinite;
}

.marquee-wrapper:hover .marquee-content {
  animation-play-state: paused;
}

/* Image wrapper */
.image-wrapper {
  position: relative;
  display: inline-block;
}

/* Images */
.image-wrapper img {
  height: 35px;
  width: auto;
  display: block;
  cursor: pointer;
  z-index: 1;
  border: 1px solid black;
  filter: brightness(0.6) grayscale(100%); /* darken and monochrome */
  transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
  
}

/* Hover effect */
.image-wrapper:hover img {
  transform: scale(1.2);
  box-shadow: 0 0 20px 5px rgba(255,0,0,0.6);
  filter: brightness(1); /* restore brightness on hover */
  z-index:20;
}

/* Marquee animation */
@keyframes marquee {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

.zindexhover:hover {
  z-index:100;
  pointer-events:all;
}
.redoverlayA:hover {  opacity: 0; /* make invisible on hover */ }











 @keyframes flicker {
0% {
opacity: 0.27861;
}
5% {
opacity: 0.34769;
}
10% {
opacity: 0.23604;
}
15% {
opacity: 0.90626;
}
20% {
opacity: 0.18128;
}
25% {
opacity: 0.83891;
}
30% {
opacity: 0.65583;
}
35% {
opacity: 0.67807;
}
40% {
opacity: 0.26559;
}
45% {
opacity: 0.84693;
}
50% {
opacity: 0.96019;
}
55% {
opacity: 0.08594;
}
60% {
opacity: 0.20313;
}
65% {
opacity: 0.71988;
}
70% {
opacity: 0.53455;
}
75% {
opacity: 0.37288;
}
80% {
opacity: 0.71428;
}
85% {
opacity: 0.70419;
}
90% {
opacity: 0.7003;
}
95% {
opacity: 0.36108;
}
100% {
opacity: 0.24387;
}
}
 
 
#wrapperA::after {
content: " ";
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: rgba(18, 16, 16, 0.1);
opacity: 0;
z-index: 2;
pointer-events: none;
animation: flicker 0.15s infinite;
}
#wrapperA::before{
content: " ";
display: block;
position: absolute;
top: 0;
left: 0;
bottom: 0;
right: 0;
background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.06), rgba(0, 255, 0, 0.02), rgba(0, 0, 255, 0.06));
z-index: 2;
background-size: 100% 2px, 3px 100%;
pointer-events: none;
}

    @font-face {
font-family: ink;
src: url(https://dl.dropbox.com/s/tyhvew6jpuzr8zm/BubblegumInk-Regular.ttf);
}
#ink {
font-family: ink;
text-shadow: -1px 0 #F781D8, 0 1px #F781D8, 1px 0 #DF01A5, 0 -1px #DF01A5, 0 0;
font-size:25px;
text-align:center;
color:white;
line-height: 80%;
}

.blurfilter:hover {
    transform: scale(3) ;z-index: 1000;
   
}

.blurfilter {
    transition: transform 0.3s ease-out;  box-shadow: 0 0 10px #B11B1B;   
}
/* hover and effects */
figure.blurfilter{
  margin: 10px;
  padding: 0;
  border-width:8px;

  display: inline-block;
  position: relative;
  align-items: center;
  overflow: visible;
}

figure.blurfilter img{
  display: block;
  width: 80px;
  height: auto;
  transition: all 0.4s 0.4s;
}
.caption-img {
  height:0px
}

/* hover info box */
figure.blurfilter figcaption{
  position: absolute;

  display:flex;              /* allows image + text layout */
  flex-direction:column;

  text-align: left;
  line-height: 1.2;

  box-sizing: border-box;

  border-radius:10px;
  background-color:black;
  font-size: 4px;
  border: 3px double #B11B1B;

  padding: 10px;
  z-index: 100;

  width: 90%;
  height: 90%;

  color: #B11B1B;
  top: 5%;
  left: 5%;

  font-family: 'dos';

  opacity: 0;
  transition: all .4s;

  overflow: visible;          /* prevents box overflow */
}

/* image inside caption stays fixed */
.caption-img{
  flex-shrink:0;
  margin-bottom:4px;
}

/* ONLY the text scrolls */
.caption-text{
  overflow-y:auto;
  flex-grow:1;
}

/* text styling */
figure.blurfilter figcaption h3{
  border-bottom: 1px solid red;
  text-align: left;
  width: 90%;
  margin: 0;
}

figure.blurfilter figcaption p{
  text-align: left;
  margin-top: 10px;
  line-height: 1.5;
}

figure.blurfilter figcaption a{
  text-decoration: none;
}

/* blur only the main image */
figure.blurfilter > #wrapperA img.pinky:hover{
  filter: blur(5px);
  transform: scale(1.3);
  transition: all 0.4s;
}

/* reveal caption */
figure.blurfilter:hover figcaption{
  opacity: 1;
  transition: all .4s .4s;
}

/* slide animation */
figure.slidey figcaption{
  transform: rotateY(90deg);
}

figure.slidey:hover figcaption{
  transform: rotateY(0);
}

/* layout container */
#flexB{
  display:flex;
  margin-bottom:30px;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;

  width:80%;
  margin-left:auto;
  margin-right:auto;

  gap:2px;
}

#centered{
  width:100%;
  margin-left:auto;
  margin-right:auto;
}

/* main image */
.pinky{
  width:400px;
  height:auto;
  border:2px #B11B1B solid;

  image-rendering:pixelated;
  image-rendering:-moz-crisp-edges;
  image-rendering:crisp-edges;
}

#characters {
  color: #B11B1B;
  font-family: mbytepc;
    text-transform: uppercase;
    font-size:20px;
}
#s1 {
  margin-top:20px;
  gap:10px;
  width:80%;
  margin-left:auto;
  margin-right:auto;
  border-radius:5px;
  border: solid 1px #B11B1B;
  flex-wrap:nowrap;
  flex-direction: row;
  display:flex;
    align-items: stretch;  box-shadow: 0px 0px 20px 0px #B11B1B;

}



.lol { text-align:center; background-color: #7e0000; color:black; font-size:13px}


.gumdrop {
overflow:hidden;
color: black;
background-color: transparent;
cursor: pointer;
padding: 0 5px;
width: auto; 
border: none;
vertical-align: top;
text-align: center;
outline: none;
text-align: center;
font-size: 1.5em;
font-family: dos;
}



.gumdrop:after {
text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000, 0 0;
font-family: 'dos';
font-size:1.5em;
candy: '\2665';
color: #ffd8ed;
font-weight: bold;
float: right;
max-height:200px;
overflow:scroll;
}

.cutie:after {
candy: "\2661";
}

.candy {
max-height: 0;
font-size: 100%;
overflow: hidden;
font-family:mbytepc;
transition: max-height 0.2s ease-out;
background-color: transparent;
margin: 0.15em;
color:black;
border-top: black solid 2px;
text-align:left;
}


mark {

font-size:15px;
font-family: dos;

text-align:center;
}

  @keyframes jerky {
      0% {
        transform: rotate(2deg);
      }

      50% {
        transform: rotate(2deg);
      }

      51% {
        transform: rotate(-2deg);
      }

      100% {
        transform: rotate(-2deg);
      }
    }
    
    .starring {   animation: jerky 0.5s infinite;}
#imgsA {
  width:200px;
  overflow:hidden;
  height:200px;
  overflow-y:scroll ;
  display:flex;
  flex-wrap:nowrap;
  gap:5px;
}
#imgsA::-webkit-scrollbar {  
  width:2px;
  height:2px;
}
  
#imgsAA {
 height: 98%; /* makes the image height match the container's height */
}
  
  
  
  
  
  
  /*-------MUSIC PLAYER BY GLENTHEMES-------*/
#glenplayer02 {
position:fixed;
border: solid 2px #B11B1B;
  box-shadow: 0 0 20px 5px rgba(255,0,0,0.6);
background-color:#B11B1B;
top:10px;
margin-bottom:20px;
right:10px;
margin-left:20px;
display:flex;
z-index:99;
width:auto;
padding:5px;
text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000, 0 0;
}
#glenplayer02 a {text-decoration:none;}
 
#glenplayer02 > div {
align-self:center;
-webkit-align-self:center;
}
 
  
.spin { animation: spin 30s linear infinite;
    /* Ensure the image is treated as a circle if it's square */
    border-radius: 50%; 
    position: relative;


}
/* CSS */
.spin{
  position: fixed;
  /* initial position (replace 100px with whatever offset you want) */
  top: calc(100vh - 150px); /* was bottom: -100px; */
  left: -150px;
  z-index: 50;
  width: 300px; /* set a width so movement is predictable */
  transition: top 600ms ease, left 600ms ease, transform 600ms ease;
  cursor: pointer;
}

/* centered state */
.spin.center {
  top: 30%;
  left: 40%;
  /* translate -50%,-50% keeps the element truly centered */
  transform: translate(-50%, -50%) scale(3.0);
  /* optionally scale or rotate while centered */
}
/* Define the animation keyframes */
@keyframes spin {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
} 
.music-controls {
user-select:none;
-webkit-user-select:none;
font-size:13px;
cursor:pointer;
}

.numero {
  font-family:dos; font-size:260px; color:#B11B1B; position:relative; bottom:20px; left:10px
}
 
.playy, .pausee {color:black;} /* color of play & pause buttons */
 
.pausee {display:none;}
 
.sonata {
margin-left:10px;
color:#000; /* color of music note symbol */
}
 
.labeltext {
margin-left:1px;
font-family:courier new;
font-size:9px;
color:#fff; /* color of song title */
}
  
  
  
  .InfoPopup{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 20px 5px rgba(255,0,0,0.6);

  background: black;
  color: #B11B1B;
  text-align:center;
  font-family:dos;
  border: 1px solid red; border-radius:5px;
  padding: 15px 25px;

  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s;
}

.InfoPopup.show{
  opacity: 1;
}