/* user styles */

/* styles are what change the color and sizes of stuff on your site. */

/* these are variables that are being used in the code
these tended to confuse some people, so I only kept 
the images as variables */

:root {
    --header-image: url('');
    --body-bg-image: url('assets/starry night glitter 2.jpg');
    --navbar-image: url('assets/website layout top.png');
    --leftsidebar-image: url('assets/website layout left.png');
    --rightsidebar-image: url('assets/website layout right.png');

    /* colors */
    --content: #f8ea9d;
}

/* if you have the URL of a font, you can set it below */
/* feel free to delete this if it's not your vibe */

/* this seems like a lot for just one font and I would have to agree 
but I wanted to include an example of how to include a custom font.
If you download a font file you can upload it onto your Neocities
and then link it! Many fonts have separate files for each style
(bold, italic, etc. T_T) which is why there are so many!

*/

/* Google Fonts - Jersey 10 loaded via link tag */

body {
    font-family: 'Jersey 10', sans-serif;
    margin: 0;
    background-color: transparent;
    color: #000000;
    overflow-x: hidden;
}

/* Parallax Background Container */
#parallax-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    overflow: hidden;
}

.parallax-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.parallax-layer img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* Background Layer - Scale 1.2 for parallax effect */
#bg-layer img {
    transform: scale(1.2);
    transition: transform 0.1s ease-out;
}

/* Character Layers */
#char-layer {
    z-index: 2;
}

#char2-layer {
    z-index: 3;
}

#char-layer img,
#char2-layer img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    transition: transform 0.1s ease-out;
}

* {
    box-sizing: border-box;
}

/* below this line is CSS for the layout */

/* this is a CSS comment
to uncomment a line of CSS, remove the * and the /
before and after the text */


/* the "container" is what wraps your entire website */
/* if you want something (like the header) to be Wider than
the other elements, you will need to move that div outside
of the container */
#container {
    max-width: 1000px;
    /* this is the width of your layout! */
    /* if you change the above value, scroll to the bottom
  and change the media query according to the comment! */
    margin: 0 auto;
    /* this centers the entire page */
}

/* the area below is for all links on your page
EXCEPT for the navigation */
#container a {
    color: #ED64F5;
    font-weight: bold;
    /* if you want to remove the underline
  you can add a line below here that says:
  text-decoration:none; */
}

#header {
    width: 100%;
    min-height: 140px;
    height: auto;
    background-image: var(--header-image);
    background-size: 60%;
    background-repeat: no-repeat;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: -2rem;
}

#header img {
    filter: drop-shadow(0 0 2px #00ff00) drop-shadow(0 0 4px #00ff00);
}

/* header area section */
#headerArea {
    width: 100%;
    height: auto;
    min-height: 75px;
    background-image: var(--navbar-image);
    background-color: transparent;
    background-size: cover;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* navigation section!! */
#navbar {
    height: auto;
    min-height: 75px;
    background-image: var(--navbar-image);
    background-color: transparent;
    border: 0px solid transparent;
    /* navbar color */
    width: 100%;
}

#navbar ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style-type: none;
    justify-content: space-evenly;

}

#navbar li {
    padding-top: 0px;

}

/* navigation links*/
#navbar li a {
    color: #ED64F5;
    /* navbar text color */
    font-weight: 800;
    text-decoration: none;

    /* this removes the underline */
}

/* navigation link when a link is hovered over */
#navbar li a:hover {
    color: #a49cba;
    text-decoration: underline;

}

#flex {
    display: flex;
}

/* this colors BOTH sidebars
if you want to style them separately,
create styles for #leftSidebar and #rightSidebar */
aside {
    background-color: transparent;
    width: 212px;
    height: 569px;
    padding: 0px;
    font-size: smaller;
    background-image: var(--leftsidebar-image);
    /* this makes the sidebar text slightly smaller */
}


/* this is the color of the main content area,
between the sidebars! */
main {
    background-color: #6aa1a600;
    flex: 1;
    border: 0px solid;
    padding: 0px;
    order: 2;
}

/* what's this "order" stuff about??
allow me to explain!
if you're using both sidebars, the "order" value
tells the CSS the order in which to display them.
left sidebar is 1, content is 2, and right sidebar is 3! */

*/ #leftSidebar {
    order: 1;

}

.box2.border-btm {
    /* border-bottom: inset; */
    border-bottom: 3px solid black;
}

#rightSidebar {
    order: 3;
    height: 613px;
    width: 212px;
    background-image: var(--rightsidebar-image);
    padding: 3px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

#rightSidebar .box {
    /* border: 3px solid #d9d9d9; */
    border-radius: 10px;
    padding: 3px;
    background-color: #c0c0c0;
}

/* Windows 98 Box Style */
.win98-box {
    border: 2px outset #c0c0c0 !important;
    border-radius: 0 !important;
    background-color: #c0c0c0 !important;
    padding: 2px !important;
    box-shadow:
        inset 1px 1px 0px #ffffff,
        inset -1px -1px 0px #808080,
        1px 1px 0px #ffffff,
        -1px -1px 0px #808080;
    position: relative;
}

.win98-box::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid #808080;
    pointer-events: none;
}

#rightSidebar .box video,
#rightSidebar .box img {
    border-radius: 8px;
    width: 100%;
    height: auto;
}

.win98-box video,
.win98-box img {
    border-radius: 0 !important;
    width: 100%;
    height: auto;
    display: block;
}

#leftSidebar .box img {
    border-radius: 8px;
    width: 100%;
    height: auto;
    display: block;
}

footer {
    background-color: #13092D;
    /* background color for footer */
    width: 100%;
    height: 40px;
    padding: 10px;
    text-align: center;

    /* this centers the footer text */
}

h1 {
    color: #ffffff;
}

h2 {
    color: #ffffff;
}

h3 {
    color: #0004fb;
}

h1 {
    font-size: 20px;
}

strong {
    /* this styles bold text */
    color: #99fd31;
}

/* this is just a cool box, it's the darker colored one */
.box {
    background-color: transparent;
    border: 2px solid transparent;
    padding: 10px;
}

.box2 {
    background-color: #d2c993;
    border: 0px solid #000674;
    padding: 0px;
}

.box3 {
    background-color: #007966;
    border: 0px solid #000674;
    padding: 15px;
}


/* CSS for extras */

#topBar {
    width: 100%;
    height: 30px;
    padding: 10px;
    font-size: smaller;
    background-color: #3e00fa;
}


/* TV Button Hover Effect */
#tv-button {
    transition: all 0.3s ease;
}

#tv-button:hover {
    transform: scale(1.05);
    filter: brightness(1.1);
}

/* BELOW THIS POINT IS MEDIA QUERY */

/* so you wanna change the width of your page? 
by default, the container width is 900px.
in order to keep things responsive, take your new height,
and then subtrack it by 100. use this new number as the 
"max-width" value below
*/

@media only screen and (width: 900px) {
    #flex {
        flex-wrap: wrap;
    }

    aside {
        width: 100%;
    }

    /* the order of the items is adjusted here for responsiveness!
  since the sidebars would be too small on a mobile device.
  feel free to play around with the order!
  */
    main {
        order: 1;

    }

    #leftSidebar {
        order: 2;
    }

    #rightSidebar {
        order: 3;
    }

    #navbar ul {
        flex-wrap: wrap;
    }
}

/* Mobile-specific styles */
@media only screen and (max-width: 768px) {
    #flex {
        flex-direction: column;
    }

    aside,
    main {
        width: 100%;
        height: auto;
    }

    #leftSidebar,
    #rightSidebar {
        order: 0;
        /* Reset order for column layout */
        margin: 0;
        padding: 10px;
    }

    main {
        order: 0;
    }

    #parallax-container {
        display: none;
        /* Disable parallax on mobile for performance */
    }

    body {
        background-color: #000;
        background-image: var(--body-bg-image);
        background-size: cover;
        background-attachment: fixed;
    }

    #header {
        margin-bottom: 0;
    }

    .box2 img {
        width: 100% !important;
    }

    .box2 a img {
        width: 15.5% !important;
        /* Keep social icons size */
        margin-left: 2px !important;
    }

    #ca-text {
        font-size: 16px !important;
    }

    .fa-copy {
        font-size: 24px !important;
    }
}

/* Preloader Styles */
.preloader-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 9999;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    transition: opacity 0.5s ease-out;
}

.preloader-background {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    transform: translate(-50%, -50%);
    object-fit: cover;
    z-index: 1;
}

.preloader-content {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    align-items: center;
    animation: logoFadeIn 2s ease-in-out;
}

.preloader-logo {
    width: 300px;
    height: auto;
    filter: drop-shadow(0 0 20px rgba(255, 255, 255, 0.5));
}

@keyframes logoFadeIn {
    0% {
        opacity: 0;
        transform: scale(0.8);
    }

    100% {
        opacity: 1;
        transform: scale(1);
    }
}

/* Hide main content while preloader is active */
body.preloading #container {
    display: none;
}

/* Mobile responsiveness for preloader */
@media (max-width: 768px) {
    .preloader-logo {
        width: 200px;
    }
}

@media (max-width: 480px) {
    .preloader-logo {
        width: 150px;
    }
}