/* --- Core Layout & Theme Styles --- */

:root {
    --header-image: url('https://cooldragongames.neocities.org/Website%20Icons/Group%2011.png');
    --content: #43256E;
}

@font-face {
    font-family: Nunito;
    src: url('https://cooldragongames.neocities.org/Fonts/Minecraft.ttf');
}

@font-face {
    font-family: Nunito;
    src: url('https://cooldragongames.neocities.org/Fonts/upheavtt.ttf');
    font-weight: bold;
}

body {
    font-family: 'Nunito', sans-serif;
    margin: 0;
    background-color: #08031A;
    color: #FFF0E2;
    overflow-x: hidden;
    font-size: 1.5rem; /* Makes all standard text 50% larger globally */
}

* {
    box-sizing: border-box;
}

#container {
    max-width: 900px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

#container a {
    color: #00D3FF;
    font-size: inherit;
}

#header {
    width: 100%;
    background-color: #FFE1C4;
    height: 150px;
    background-image: var(--header-image);
    background-size: 100%;
}

#navbar {
    height: auto;
    background-color: rgba(0, 57, 109, 0.85); /* Semi-transparent blue */
    width: 100%;
    padding: 5px 0;
}

#navbar ul {
    display: flex;
    padding: 0;
    margin: 0;
    list-style-type: none;
    justify-content: space-evenly;
}

#navbar li {
    padding-top: 5px;
    padding-bottom: 5px;
}

#navbar li a {
    color: #FFE1C4;
    font-weight: 800;
    text-decoration: none;
    font-size: 1.25rem;
}

#navbar li a:hover {
    color: #a49cba;
    text-decoration: underline;
}

#flex {
    display: flex;
}

aside {
    background-color: rgba(0, 96, 156, 0.85); /* Semi-transparent blue */
    width: 220px;
    padding: 20px;
    font-size: 1.25rem;
}

main {
    background-color: rgba(0, 105, 170, 0.85); /* Semi-transparent blue */
    flex: 1;
    padding: 20px;
}

aside ul {
    padding-left: 15px;
    margin-top: 5px;
    margin-bottom: 20px;
}

aside li {
    margin-bottom: 8px;
}

footer {
    background-color: rgba(0, 32, 62, 0.85); /* Semi-transparent dark blue */
    width: 100%;
    min-height: 40px;
    padding: 10px;
    text-align: center;
    font-size: 1.25rem;
}

h1, h2, h3 {
    color: #F6CA9F;
}

h1 {
    font-size: 38px;
}

h2 {
    font-size: 30px;
}

h3 {
    font-size: 24px;
}

strong {
    color: #F6CA9F;
}

.box {
    background-color: rgba(0, 32, 62, 0.85); /* Semi-transparent dark blue */
    border: 1px solid #00D3FF;
    padding: 10px;
}

@media only screen and (max-width: 800px) {
    #flex {
        flex-wrap: wrap;
    }
    aside {
        width: 100%;
    }
    #navbar ul {
        flex-wrap: wrap;
    }
}


/* --- Normalize Blog and Content Images --- */

#blog-posts img, main img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 15px auto;
    border: 1px solid #00D3FF;
}

/* --- Quick Rotation Classes (Constrained to fit bounds) --- */
.rotate-90, .rotate-270 {
    max-height: 500px;
    width: auto;
    object-fit: contain;
    transform: rotate(90deg);
}

.rotate-270 {
    transform: rotate(270deg);
}

.rotate-180 {
    transform: rotate(180deg);
}


/* --- Scrolling Background Animation Styles --- */

#scrolling-bg-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: -1;
    pointer-events: none;
    overflow: hidden;
    opacity: 0.25;
}

.bg-row {
    display: flex;
    white-space: nowrap;
    position: absolute;
    width: 200%;
}

.slide-left {
    animation: scrollLeft 40s linear infinite;
}

.slide-right {
    animation: scrollRight 40s linear infinite;
}

.bg-row img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    margin-right: 40px;
    flex-shrink: 0;
}

@keyframes scrollLeft {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

@keyframes scrollRight {
    0% { transform: translateX(-50%); }
    100% { transform: translateX(0); }
}