/* 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("../Images/bannerImage.JPG");
    --body-bg-image: url("../Images/white_dots.gif");

    --bg-body: #f0f8ff;
    --bg-container: #fefefe;
    --bg-sidebar: #f8f8f8;
    --bg-navbar: #f8f8f8;
    --bg-header: #87ceeb;
    --bg-footer: #f5f9fc;
    --bg-box: #e1f0ff;
    --bg-topbar: #f0f8ff;

    --text-main: #2c3e50;
    --text-navbar: #1e3a8a;
    --text-footer: #64748b;
    --text-white: #ffffff;

    --blue-primary: #4682b4;
    --blue-hover: #5b9bd5;
    --blue-strong: #1e40af;
    --blue-header-border: #87ceeb;

    --border-light: #cdd4df;
    --border-medium: #93c5fd;
    --border-container: #bfdbfe;

    --shadow-light: rgba(70, 130, 180, 0.08);
    --shadow-medium: rgba(70, 130, 180, 0.15);
    --shadow-blue: rgba(91, 155, 213, 0.25);
}

/* 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!
    
    */

@font-face {
    font-family: Nunito;
    src: url("https://sadhost.neocities.org/fonts/Nunito-Regular.ttf");
}

@font-face {
    font-family: Nunito;
    src: url("https://sadhost.neocities.org/fonts/Nunito-Bold.ttf");
    font-weight: bold;
}

@font-face {
    font-family: Nunito;
    src: url("https://sadhost.neocities.org/fonts/Nunito-Italic.ttf");
    font-style: italic;
}

@font-face {
    font-family: Nunito;
    src: url("https://sadhost.neocities.org/fonts/Nunito-BoldItalic.ttf");
    font-style: italic;
    font-weight: bold;
}

@font-face {
    font-family: Comfortaa;
    src: url("../Fonts/fonts/Comfortaa-Regular.ttf");
}

@font-face {
    font-family: Comfortaa;
    src: url("../Fonts/fonts/Comfortaa-Light.ttf");
    font-weight: light;
}

@font-face {
    font-family: Comfortaa;
    src: url("../Fonts/fonts/Comfortaa-Bold.ttf");
    font-weight: bold;
}

@font-face {
    font-family: Lollipoptron;
    src: url("../Fonts/fonts/Lollipoptron-7GPD.ttf");
}

@font-face {
    font-family: Emoji Font;
    src: url("../Fonts/dingbatFonts/EmojiFont.ttf");
}

@font-face {
    font-family: SimpleDirectionArrows;
    src: url("../Fonts/dingbatFonts/SimpleDirectionArrows.ttf");
}

@font-face {
    font-family: Star Things;
    src: url("../Fonts/dingbatFonts/starthings.ttf");
}

@font-face {
    font-family: Burnstown Dam Back;
    src: url("../Fonts/fonts/Burnstown\ Dam\ Back.otf");
}

@font-face {
    font-family: Burnstown Dam;
    src: url("../Fonts/fonts/Burnstown\ Dam.otf");
}

@font-face {
    font-family: Chintzy;
    src: url("../Fonts/fonts/chintzy.ttf");
}

@font-face {
    font-family: EHSMB;
    src: url("../Fonts/fonts/EHSMB.TTF");
}

@font-face {
    font-family: Gothica;
    src: url("../Fonts/fonts/Gothica-Bold.ttf");
}

@font-face {
    font-family: Hypik;
    src: url("../Fonts/fonts/hypik.otf");
}

@font-face {
    font-family: Metal Lord;
    src: url("../Fonts/fonts/Metal\ Lord.otf");
}

@font-face {
    font-family: RobloxFont;
    src: url("../Fonts/fonts/RobloxFont-Regular.ttf");
}

@font-face {
    font-family: TimesNewArial;
    src: url("../Fonts/fonts/timesnewarial.ttf");
}

@font-face {
    font-family: ZeroAnd;
    src: url("../Fonts/fonts/zero&.ttf");
}

body {
    padding-top: 40px;
    font-family: Comfortaa, sans-serif;
    font-weight: bold;
    margin: 0;
    background-color: var(--bg-body);
    background-image: var(--body-bg-image);
    /* you can delete the line below if you'd prefer to not use an image */
    background-size: 300px;
    color: var(--text-main);
    border-radius: 25px;
    padding: 40px 20px;
    animation: scrollBackground 25s linear infinite;
}

@keyframes scrollBackground {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: 300px 300px;
    }
}

* {
    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: 900px;
    /* 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;
    background-color: var(--bg-container);
    border-radius: 35px;
    /* this centers the entire page */
    border: 3px solid var(--border-container);
    box-shadow: 0 10px 30px var(--shadow-medium);
    overflow: hidden;
}

/* the area below is for all links on your page
    EXCEPT for the navigation */
#container a {
    color: var(--blue-primary);
    font-weight: bold;
    /* if you want to remove the underline
      you can add a line below here that says:
      text-decoration:none; */
    text-decoration: none;
    transition: all 0.3s ease;
}

#container a:hover {
    color: var(--blue-hover);
    font-weight: bold;
    transform: translateY(-1px);
}

#header {
    /* width: 100%;
    background-color: var(--bg-header);
    height: 200px;

    background-image: var(--header-image);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    border-bottom: 2px solid var(--blue-header-border); */
}

#headerImage {
    width: 100%;
    background-color: var(--bg-header);
    /* header color here! */
    height: 200px;
    /* this is only for a background image! */
    /* if you want to put images IN the header, 
      you can add them directly to the <div id="header"></div> element! */
    background-image: var(--header-image);
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
    border-bottom: 2px solid var(--blue-header-border);
}

#navbar {
    height: 40px;
    /* padding-top: 10px;
    padding-bottom: 10px;
    height: auto; */
    background-color: var(--bg-navbar);
    /* navbar color */
    width: 100%;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--border-medium);
}

#navbar ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style-type: none;
    justify-content: space-evenly;
    width: 100%;
    height: 100%;
    align-items: center;
}

#navbar li {
    padding: 0;
    height: 100%;
    display: flex;
    align-items: center;
    flex: 1;
}

/* navigation links*/
#navbar li a {
    color: var(--text-navbar);
    /* navbar text color */
    font-weight: 1000;
    text-decoration: none;
    /* this removes the underline */
    padding: 0 15px;
    height: 100%;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    /* border-radius: 15px; */
    /* margin: 5px; */

    border-color: #333333;
    border-right: 2px dashed var(--border-medium);

    font-family: Lollipoptron, sans-serif;
}

/* navigation link when a link is hovered over */
#navbar li a:hover {
    color: var(--text-white);
    text-decoration: none;
    background-color: var(--blue-hover);
    box-shadow: 0 4px 8px var(--shadow-blue);
    transform: scale(0.95);
}

#flex {
    display: flex;
}

/* this colors BOTH sidebars
    if you want to style them separately,
    create styles for #leftSidebar and #rightSidebar */
aside {
    background-color: var(--bg-sidebar);
    width: 200px;
    padding: 20px;
    font-size: smaller;
    /* this makes the sidebar text slightly smaller */
    border-left: 2px dashed var(--border-light);
    border-right: 2px dashed var(--border-light);
}

/* this is the color of the main content area,
    between the sidebars! */
main {
    background-color: var(--bg-container);
    flex: 1;
    padding: 30px;
    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;
}

#rightSidebar {
    order: 3;
}

footer {
    background-color: var(--bg-footer);
    /* background color for footer */
    width: 100%;
    height: 50px;
    padding: 15px;
    padding-top: 10px;
    text-align: center;
    /* this centers the footer text */
    border-top: 1px solid var(--border-container);
}

footer p {
    color: var(--text-footer);
    font-family: var(--font-main);
    margin: 0;
}

.glightbox {
    cursor: pointer;
    transition: all 0.3s ease;
    /* border-radius: 8px; */
}

.glightbox:hover {
    transform: scale(1.05);
    filter: brightness(1.1);
}

h1,
h2,
h3 {
    color: var(--blue-primary);
    font-family: Lollipoptron, sans-serif;
}

h1 {
    font-size: 25px;
}

strong {
    /* this styles bold text */
    color: var(--blue-strong);
}

/* this is just a cool box, it's the darker colored one */
.box {
    background-color: var(--bg-box);
    border: 2px solid var(--border-container);
    padding: 20px;
    border-radius: 20px;
    box-shadow: 0 4px 8px var(--shadow-light);
    margin: 15px 0;
}

/* CSS for extras */

#topBar {
    width: 100%;
    height: 40px;
    padding: 15px;
    font-size: smaller;
    background-color: var(--bg-topbar);
    border-bottom: 1px solid var(--border-medium);
}

.gallery-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
    gap: 10px;
    margin-top: 20px;
}

.gallery-item {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border: 2px dashed var(--border-medium);
    cursor: pointer;
    transition: transform 0.2s;
}

.gallery-item:hover {
    transform: scale(1.05);
}

details {
    overflow: hidden;
    /* Hide content beyond the initial max-height */
    transition: max-height 0.4s ease-out;
    /* Animate max-height over 0.4 seconds */
    max-height: 2rem;
    /* Set a max-height for the closed state (enough for summary) */
}

details summary:hover {
    cursor: pointer;
    background-color: var(--bg-header);
}

details[open] {
    max-height: 100%;
}

/* 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 (max-width: 800px) {
    #flex {
        flex-wrap: wrap;
    }

    aside {
        width: 100%;
        border-left: none;
        border-right: none;
        border-top: 1px solid var(--border-light);
        border-bottom: 1px solid var(--border-light);
    }

    /* 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 {
        height: auto;
        padding: 10px 0;
    }

    #navbar ul {
        flex-direction: column;
        gap: 5px;
        height: auto;
    }

    #navbar li {
        width: 100%;
        height: auto;
    }

    #navbar li a {
        border-left: 2px dashed var(--border-medium);
        border-bottom: 2px dashed var(--border-medium);
        padding: 10px;
    }

    #container {
        margin: 20px;
        border-radius: 25px;
    }

    body {
        padding: 20px 10px;
    }
}