/* Core Stuff */

@font-face {
  font-family: "titlefont";
  src: url("../fonts/ShareTech-Regular.ttf");
}

@font-face {
  font-family: "mainfont";
  src: url("../fonts/JosefinSans-Regular.ttf");
}

@font-face {
  font-family: "headerfont";
  /* Use a relative path like this so it works everywhere */
  src: url("../fonts/vinca_stencil.ttf"); 
  
}

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    font-family: 'mainfont', sans-serif;
}



html {
    overflow-x: hidden;
    margin: 0;
    padding: 0;
}

body {
    margin: 0;
    padding: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    overflow: hidden;

    background: #21425b;
}

body[data-style="1"]{
}

body[data-style="2"]{
}

body[data-style="3"]{
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'headerfont';
    text-transform: lowercase;
    margin: 0;
    line-height: initial;
    color: black;
    font-weight: normal;
    /* THE STUBBY EFFECT */
    transform: scaleY(0.8);          /* Squishes the height to 80% */
    transform-origin: bottom left;
    /*-webkit-text-stroke: 1px #d34a58;*/
    /*text-shadow: 1px 1px 0 #d34a58, -1px -1px 0 #d34a58, 1px -1px 0 #d34a58, -1px 1px 0 #d34a58, 1px 1px 0 #d34a58;*/
}

h3 {
    padding-top: 15px;
    margin-top: 40px;
    font-size: 1.4em;
}

a {
    color: #ee2a64;
    text-decoration: underline;
    font-weight: bold;
    transition: color 0.3s;
}

a:hover {
    color: #425d66;
}

pre {
    background: #F0F0F0;
    margin: 1rem 0;
    border-radius: 2px;
}

blockquote {
    border-left: 10px solid #eee;
    margin: 0;
    padding: 0 2rem;
}

/* Utility Classes */
.wrapper {
    margin: 60px 260px 0px 60px !important;
    max-width: 1000px;
}

.main {
    /* Update borders and shadows to new colors */
    border: 5px solid #6c6e72; /* Dark grey line */
    box-shadow: 0px 0 0px 5px #b0b0bb; /* Midtone grey shadow */ 
    color: black;
    
    /* Apply background colors and the multiple corner icons */
    background-color: #b0b0bb; /* Light grey panel color */
    background-image: 
        /* TL Corner Icon - dark elements lightened to #6c6e72 */
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Crect width='20' height='20' fill='%23b0b0bb' stroke='%236c6e72' stroke-width='2'/%3E%3Crect x='5' y='5' width='10' height='10' fill='%236c6e72'/%3E%3C/svg%3E"), 
        /* TR Corner Icon - dark elements lightened to #6c6e72 */
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Crect width='20' height='20' fill='%23b0b0bb' stroke='%236c6e72' stroke-width='2'/%3E%3Crect x='5' y='5' width='10' height='10' fill='%236c6e72'/%3E%3C/svg%3E"), 
        /* BL Corner Icon - dark elements lightened to #6c6e72 */
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Crect width='20' height='20' fill='%23b0b0bb' stroke='%236c6e72' stroke-width='2'/%3E%3Crect x='5' y='5' width='10' height='10' fill='%236c6e72'/%3E%3C/svg%3E"), 
        /* BR Corner Icon - dark elements lightened to #6c6e72 */
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Crect width='20' height='20' fill='%23b0b0bb' stroke='%236c6e72' stroke-width='2'/%3E%3Crect x='5' y='5' width='10' height='10' fill='%236c6e72'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    /* Position with an offset from the main border */
    background-position: top 10px left 10px, top 10px right 10px, bottom 10px left 10px, bottom 10px right 10px;
    background-size: 20px 20px;
    
    /* Substantial padding to clear the icons */
    padding: 50px 70px;
    position: relative; /* ensure absolute positioning inside works */
    
    padding-bottom: 50px; /* Blocks off the bottom 150px so text can't go there */
}



/* Original logic for logo and credits remains */
.main .credits-container {
    content: "";
    display: block;
    width: 80px;
    height: 48px;
    background-size: 100%;
    margin: auto;
}

.credits-container:hover {
    cursor: pointer;
}

.credits {
    display: block;
    /* 1. Change anchor to 'center top' so the top is never cut off */
    background: url(../images/hammer_screenv2.png) no-repeat center top;
    
    /* 2. Switch to 'contain' so the full image height fits in our 100vh box */
    background-size: contain; 
    
    /* 3. Make the container wider than the screen to allow the 'real estate' look */
    width: 140vw; 
    height: 100vh;
    
    position: fixed;
    /* 4. Use a negative bottom to pull the 'empty' bottom of the image off-screen */
    bottom: -15vh; 
    left: 50%;
    z-index: 10000;
    
    /* START STATE */
    transform: translate(-50%, 100%);
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
    pointer-events: none;
}

.credits-container.open .credits {
    /* OPEN STATE */
    transform: translate(-50%, 0%);
    pointer-events: auto;
}

/* Updated Dimmer to ensure it's deep enough for the oversized image */
.credits-container.open {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.85); /* Slightly darker for the overflow look */
    z-index: 9998;
    transition: background-color 0.5s ease;
}

@keyframes sciFiReveal {
    from { opacity: 0; transform: translate(-50%, -50%) scale(0.9); }
    to { opacity: 1; transform: translate(-50%, -50%) scale(1); }
}
@keyframes dark {
  from {opacity: 0;}
  to {opacity: 1;}
}

.left {
    float: left;
}

.right {
    float: right
}

.text-center {
    text-align: center;
}

.text-right {
    text-align: right;
}

.text-left {
    text-align: left;
}

/* Content Styling */

/*

.loader {
    z-index: 9999;
    position: fixed;
    width: 100vw;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: stretch;
    align-content: stretch;
    animation-name: destroy;
    -webkit-animation: destroy 0s 1.5s forwards; 
    animation: destroy 0s 1.5s forwards;
} 



.mask-container {
    transition: all 2s;
    width: 0%;
    display: flex;
    justify-content: center;
    align-items: stretch;
    align-content: stretch;
    flex-direction: column;
    transform: scale(1);

    animation-name: load;
    -webkit-animation: load 2s 0.5s forwards; 
    animation: load 2s 0.5s forwards
}

.mask {
    transition: all 2s;
    align-self: center;
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
    position: relative;
}

.fill {
    background: black;
    width: 100%;
    flex: 1;
    box-shadow: 0px 0px 0px 1px black;
}

*/

.logo:hover {
    cursor: pointer;
}

.main-logo {
    width: auto;
    height: 80px;
    transform: none;
    z-index: 999;
    position: relative;
    transition: 0.3s all;
}

.main-logo-background {
    position: absolute;
    top: 120px;
    left: 130px;
    width: 170px;
    height: 130px;


}

@keyframes load {
    0% { width: 0; }
    20% { transform: scale(1); }
    40% { width: 100%; }
    100% { width: 100%; }
    100% { transform: scale(5); }
}

@keyframes destroy {
  from {top: 0;}
  to {
    top: -1000vh;
    opacity: 0;
    }
}

.header .padding {
    padding: 1rem 0;
}

.header {
    display: flex;
    align-items: center; /* Vertically centers logo and nav */
    justify-content: space-between;
    width: 100%;
    padding: 10px 40px; /* Adjust padding to your liking */
    color: #eee;
}

.header a {
    color: #fff;
}

.header .logo {
    font-size: 1.7rem;
    text-transform: uppercase;
    z-index: 999;
    
    /* Resets the positioning so it sits normally in the header */
    position: relative; 
    top: 0;
    left: 0;
    padding: 10px 20px; /* Add a little normal breathing room */
    
    /* Strips away the brown box, the rotation, and the borders */
    background-color: transparent;
    transform: none;
    border: none;
    box-shadow: none;
    
    /* Aligns it neatly with your new navigation */
    display: flex;
    align-items: center; 
    
}


.header .logo:hover .main-logo {
    transform: scale(1.08); /* Grows the logo by 8% */
    filter: drop-shadow(0 0 15px #36c1e0); /* Applies the neon pink glow to the actual shape */
}

.header .logo .main-logo {
    max-height: 60px; /* Start here and adjust up or down! */
    width: auto;      /* Keeps the aspect ratio perfect so it doesn't stretch */
    
    /* This makes sure the 8% growth on hover happens smoothly */
    transition: all 0.3s ease; 
}

#body {
    position: relative;
    flex-grow: 1;
    width: 100%;
    overflow: hidden;
    padding-bottom: 10px;
}

.creators {
    font-size: 0.8em;
    padding: 20px;
    
    /* New CRT Scanline Background */
    background-color: #21425b; /* Dark blue base */
    background-image: repeating-linear-gradient(
        0deg,
        rgba(0, 0, 0, 0.2), /* Darker line */
        rgba(0, 0, 0, 0.2) 2px,
        transparent 2px, /* Gap */
        transparent 4px
    );
    color: #ffffff; /* white text to contrast the dark background */
    
    border: 5px solid #6c6e72; /* Dark grey line */
    box-shadow: 0px 0 0px 5px #b0b0bb;
}

.tile {
    width: 150px;
    height: 150px;
}

.footer {
    min-height: 50px;
    /*background-color: #35305d;*/
    /*flex-grow: 1;*/
    position: relative;
}

.bottom-container {
    position: absolute;
    width: 200vw;
}

.grav-youtube {
    background: #533110;
    padding-top: 0 !important;
    padding-bottom: 56% !important;
    margin-bottom: 1em !important;
    border: 3px solid #dbcbb9;
    box-shadow: 0px 0 0px 3px #533110;
}

.main p>img {
    margin-bottom: 1em !important;
    border: 3px solid #b0b0bb;
    box-shadow: 0px 0 0px 3px #6c6e72;
    width: 100%;
}

/*Game Start SCreen */


/* #game-start-overlay {
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    z-index: 50; 
    cursor: pointer; 
    background: url('../images/start-screen.png') center/cover no-repeat;
}
*/
#game-iframe {
    position: absolute; 
    top: 0; 
    left: 0; 
    width: 100%; 
    height: 100%; 
    border: none; 
    z-index: 10;
}

/*Full screen button for the game iframe*/
#fullscreen-btn {
    position: absolute;
    bottom: 20px;
    right: 20px;
    z-index: 9997;
    cursor: pointer;
    opacity: 0.3;
    transition: 0.2s all ease;
    
    /* NEW: Image Background */
    background: url('../images/enlarge.svg') center center no-repeat;
    background-size: contain; /* Ensures the SVG fits perfectly inside the button */
    
    /* NEW: Explicit Size (Adjust these numbers to make the icon bigger or smaller) */
    width: 40px;
    height: 40px;
    
    /* Removing the old terminal box and text styles */
    border: none;
    background-color: transparent;
    box-shadow: none;
    padding: 0;
    
    /* This hides the text just in case you left "[ ] Fullscreen" in your HTML */
    color: transparent;
    font-size: 0;
}

/* Keep your hover effect! */
#fullscreen-btn:hover {
    opacity: 1; /* Makes the icon fully visible on hover */
    transform: scale(1.1); /* Slight bump in size */
}

/*Gallery*/
/* The Square Grid Container */
.custom-gallery {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
    margin: 30px 0;
}

/* The Link Wrapper */
.custom-gallery a {
    display: block; /* Makes the link fill the grid cell */
    width: 100%;
    height: 100%;
}

/* The Square Thumbnails */
.custom-gallery img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Crops the image from the center */
    aspect-ratio: 1 / 1; /* Forces the perfect square shape */
    
    /* Terminal Aesthetic */
    border: 2px solid #21425b; 
    border-radius: 4px;
    box-shadow: 0 0 5px rgba(54, 193, 224, 0.1);
    transition: 0.3s all ease;
    cursor: pointer;
}

/* Hover Effect */
.custom-gallery img:hover {
    border-color: #36c1e0;
    box-shadow: 0 0 15px rgba(54, 193, 224, 0.6);
    transform: translateY(-5px); /* Slight lift effect */
}

.overlay-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 90%;
}

.gallery-caption {
    margin-top: 15px;
    color: #36c1e0;
    font-family: "titlefont", monospace; /* Uses your new font! */
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: 2px;
    background: rgba(0, 0, 0, 0.6);
    padding: 5px 15px;
    border-left: 3px solid #36c1e0;
}

/* 1. The Full-Screen Dark Overlay */
.gallery-overlay {
    display: none; /* Hidden by JS until click */
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.95);
    z-index: 999999 !important; /* Makes sure it's above the GUN image and header */
    justify-content: center;
    align-items: center;
    cursor: default;
}

/* 2. The Big Image */
.overlay-img {
    max-width: 85%;
    max-height: 80vh;
    border: 2px solid #36c1e0;
    box-shadow: 0 0 30px rgba(54, 193, 224, 0.4);
    object-fit: contain;
}

/* 3. The Navigation Buttons (Arrows) */
.close-overlay, .prev-overlay, .next-overlay {
    position: absolute;
    color: #36c1e0;
    font-size: 50px;
    font-weight: bold;
    cursor: pointer;
    z-index: 1000000;
    transition: 0.2s ease;
    user-select: none;
}

.close-overlay { top: 20px; right: 40px; }
.prev-overlay { left: 30px; top: 50%; transform: translateY(-50%); }
.next-overlay { right: 30px; top: 50%; transform: translateY(-50%); }

.close-overlay:hover, .prev-overlay:hover, .next-overlay:hover {
    color: #fff;
    text-shadow: 0 0 15px #36c1e0;
}

/* --- 1. Main Nav Container & The Cyan Laser Line --- */

/*BSKY label*/
/* Size the SVG to match your navigation text */
/* Navigation Rocket Icon */
.nav-rocket {
    height: 1.2em;      /* This keeps it the same size as your text */
    width: auto;
    vertical-align: middle; 
    transition: 0.3s all ease;
    
    /* Optional: If the original PNG is black and you want it 
       to be white to match your nav: */
    filter: brightness(0) invert(1); 
}

/* Hover style */
.nav-social a:hover .nav-rocket {
    transform: scale(1.1); /* Keeps your slight zoom effect */
    
    /* Optional: Since 'color' won't work on a PNG, use a filter 
       if you want it to turn black or glow on hover */
    filter: brightness(0); /* This turns the image black on hover */
    /* filter: drop-shadow(0 0 8px #36c1e0); <- Use this for a cyan glow instead! */
}

.bsky-icon {
    height: 1.2em;      
    width: auto;
    vertical-align: middle; 
    transition: 0.3s all ease;
}

/* Base style for the link */
.nav-social a {
    color: inherit; /* Inherits the default text color of your nav */
    display: inline-block;
}

/* Hover style */
.nav-social a:hover .bsky-icon {
    color: #000000; /* Changes the icon to black */
    filter: none;   /* Removes the previous cyan glow */
    transform: scale(1.1); /* Keeps the slight zoom effect */
}


.main-nav {
    flex-grow: 1; /* Tells the nav to take up all available middle space */
    display: flex;
}

.main-nav ul {
    display: flex;
    align-items: center;
    margin: 0; 
    padding: 0;
    height: 80px;
    width: 100%; 
    list-style: none;
    max-width: 1366px;
    
    /* REQUIRED: This allows our infinite tail to anchor precisely to the edge */
    position: relative;
}

/* This creates the pink bar that starts from the left and feeds into the buttons */
.main-nav ul::before {
    content: "";
    flex-grow: 1; /* Pushes the buttons to the right naturally */
    height: 4px; 
    background-color: #36c1e0; 
    box-shadow: 0 0 10px #36c1e0; 
    margin-right: 30px; /* Space before the first button */
    
    /* REMOVED negative margins entirely so it stays stable in the flexbox */
    margin-left: 0; 
    z-index: 0;
}/* --- 3. The Infinite Tail (Outside the Container) --- */
.main-nav ul::after {
    content: "";
    position: absolute;
    width: 100vw; /* Massive length guaranteed to go off-screen */
    height: 4px;
    background-color: #36c1e0;
    box-shadow: 0 0 10px #36c1e0;
    z-index: 0;
    
    /* THE MAGIC ANCHOR: Attaches exactly to the left edge of the UL, shooting backwards */
    right: 100%; 
    
    /* Vertically centers it to perfectly kiss the bridge line */
    top: 50%;
    transform: translateY(-50%);
}



/* --- 3. The Infinite Tail (Outside the Container) --- */
.main-nav ul::after {
    content: "";
    position: absolute;
    width: 100vw; /* Massive length guaranteed to go off-screen */
    height: 4px;
    background-color: #36c1e0;
    box-shadow: 0 0 10px #36c1e0;
    z-index: 0;
    
    /* THE MAGIC ANCHOR: Attaches exactly to the left edge of the UL, shooting backwards */
    right: 100%; 
    
    /* Vertically centers it to perfectly kiss the bridge line */
    top: 50%;
    transform: translateY(-50%);
}

/* --- 2. The Navigation Buttons --- */
.main-nav ul li {
    position: relative;
    margin: 0 5px;
    display: block;
}

/* The actual link text */
.main-nav ul li a {
    position: relative;
    display: block;
    padding: 15px 30px;
    color: #ffffff;
    text-decoration: none;
    font-family: 'titlefont', sans-serif;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 2px;
    z-index: 2; /* Keeps text above the background */
    transition: color 0.3s ease;
}

/* The Parallelogram Background (Transparent by default) */
.main-nav ul li::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background-color: transparent;
    border: 2px solid #36c1e0; /* Pink outline defines the shape */
    transform: skewX(-30deg); /* Angles the box into a parallelogram */
    transition: all 0.3s ease;
    z-index: 1;
}

/* --- 3. Hover States --- */
.main-nav ul li:hover::before {
    background-color: #36c1e0;
    box-shadow: 0 0 15px #36c1e0; /* Glow effect on hover */
}

.main-nav ul li:hover a {
    color: #000000; /* Dark text on pink background for contrast */
}



/* --- 4. The "Up to Selected" Logic --- */

/* Step A: If ANY button is selected, make ALL buttons pink by default */
.main-nav ul:has(.selected) li::before {
    background-color: #36c1e0;
    box-shadow: 0 0 15px #36c1e0;
    animation: neon-pulse 2s infinite ease-in-out; /* <-- PLUG THIS LINE IN HERE */
}

/* Step B: Override Step A for any buttons that come AFTER the selected button */
.main-nav ul li.selected ~ li::before {
    background-color: transparent; 
    box-shadow: none;
    animation: none; /* <-- PLUG THIS LINE IN HERE TO STOP THE PULSE */
}

/* Step C: Ensure hover still works on the transparent buttons after the selection */
.main-nav ul li.selected ~ li:hover::before {
    background-color: #36c1e0;
    box-shadow: 0 0 15px #36c1e0;
}
.main-nav ul li.selected ~ li:hover a {
    color: #000000;
}

/* --- 5. The "Up to Hover" Logic (The Preview Effect) --- */

/* When hovering over any button, light up EVERYTHING before it */
.main-nav ul li:has(~ li:hover)::before,
.main-nav ul li:hover::before {
    background-color: #36c1e0 !important;
    box-shadow: 0 0 20px #36c1e0 !important;
}

/* Make text black when it's "inside" the glowing bar */
.main-nav ul li:has(~ li:hover) a,
.main-nav ul li:hover a,
.main-nav ul li.selected a,
.main-nav ul li:has(~ li.selected) a {
    color: #000000 !important;
}

/* Ensure the Rocket lights up if you hover over it or anything after it */
.main-nav ul li:has(~ li:hover) .nav-rocket,
.nav-social a:hover .nav-rocket {
    filter: drop-shadow(0 0 15px #36c1e0) brightness(1.5) !important;
}


/* --- 5. Basic Dropdown Reset (Prevents visual breaks if you use sub-menus) --- */
.main-nav ul li ul {
    position: absolute;
    top: 100%;
    left: 0;
    display: none;
    flex-direction: column;
    min-width: 200px;
    padding-top: 10px;
}
.main-nav ul li:hover > ul {
    display: flex;
}

/* Dropdown CSS */
.main-nav ul li ul ul {
    left: 100%;
    top: 0;
}

/* Active on Hover */
.main-nav li:hover > ul {
    display: block;
}

/* Child Indicator */
.main-nav .has-children > a {
    padding-right: 30px;
}
.main-nav .has-children > a:after {
    font-family: FontAwesome;
    content: '\f107';
    position: absolute;
    display: inline-block;
    right: 8px;
    top: 0;
}

.main-nav .has-children .has-children > a:after {
    content: '\f105';
}


@keyframes neon-pulse {
    0% {
        box-shadow: 0 0 10px #36c1e0, 0 0 20px #36c1e0;
        background-color: #36c1e0;
    }
    50% {
        /* Pushes a wider, brighter glow and slightly lighter core color */
        box-shadow: 0 0 15px #36c1e0, 0 0 35px #36c1e0, 0 0 50px #36c1e0;
        background-color: #5dd3e8; 
    }
    100% {
        box-shadow: 0 0 10px #36c1e0, 0 0 20px #36c1e0;
        background-color: #36c1e0;
    }
}

@keyframes jiggle {
    0% { transform: rotate(5deg); }
    100% {transform: rotate(0deg); } 
}

/*

.plaque {
    background: url(../images/plaque_bg.png);
    background-size: auto 100%;
    position: relative;
    font-size: 25px;
    font-family: 'titlefont', sans-serif;
    display: inline-block;
    padding: 10px 0;
    color: #533110;
    margin: auto;
}

.plaque:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: -18px;
    width: 19px;
    height: 100%;
    background: url(../images/plaque_left.png) no-repeat;
    background-size: auto 100%;
}

.plaque:after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: -19px;
    width: 19px;
    height: 100%;
    background: url(../images/plaque_right.png) no-repeat;
    background-size: auto 100%;
}

.plaque span {
    font-size: 25px;
    font-family: 'titlefont', sans-serif;
    position: relative;
    z-index: 2;
    white-space: nowrap;
}

.plaque .shine {
    height: 53px;
    width: 30px;
    background: #fed77d;
    display: block;
    position: absolute;
    top: 5px;
    transform: skewX(-35deg);
    right: 50px;
    z-index: 1;
}

.door-library {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-evenly;
    align-items: center;
    padding: 20px;
    border: 3px solid #533110;
    margin: 20px 0;
    position: relative;

    margin-top: 40px;
    padding-top: 50px;
}

.door-library>p {
    display: none;
}

.anthology {
    position: absolute;
    top: -34px;
}

.door-container {
    position: relative;
    max-width: 180px;
    width: 100%;
    box-shadow: 0px 0px 0px 1px #533110;
    margin: 0 5px 35px;
}

.door {
    background: url(../images/door.png) no-repeat;
    background-size: 100%;
    height: 0;
    padding-top: 144%;
    position: relative;
    width: 100%;
}

.door[data-style="GLITCHED"]{
    background: url(../images/doors/Achievement_GLITCHED.png) no-repeat;
    background-size: 100%;
}

.door-description {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(219 203 185 / 80%);
    display: flex;
    justify-content: center;
    align-items: start;
    text-align: center;
    color: #533110;
    padding: 20px;
    font-weight: 400;
    font-size: 1.3em;
    line-height: 1.3em;
    transition: 0.3s all;
    opacity: 0;
}

.door-container:hover .door-description {
    cursor: pointer;
    opacity: 1;
}

.door-title {
    position: absolute;
    bottom: -15px;
    z-index: 9;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'titlefont', sans-serif;
    color: #dbcbb9;
    background: #533110;
    padding: 0px 5px;
    font-size: 20px;
    text-align: center;
    white-space: nowrap;
}

.door-container.GLITCHED {
    position: absolute;
    bottom: -100px;
    left: -140px;
    box-shadow: none;
}

.door-container.GLITCHED .door[data-style="GLITCHED"]{
    transition: 0.3s all;
    background: url(../images/doors/glitch.png) no-repeat;
    background-size: 100%;
}

.door-container.GLITCHED:hover .door[data-style="GLITCHED"]{
    background: url(../images/doors/glitch_cover.png) no-repeat;
    background-size: 100%;
    animation: shake 0.82s cubic-bezier(.36,.07,.19,.97) infinite;
}

.door-container.GLITCHED .door-title {
    bottom: 40px;
}

.door-container.GLITCHED .door-description {
    background: none;
    font-size: 1em;
    padding: 60px;
    line-height: 1em;
    padding: 0;
    width: 140px;
    text-align: center;
    margin: 70px 21px;
}

.door-container.GLITCHED .door-description,
.glitch-text{
    text-shadow: 0.08em -0.05em 0 rgb(255 0 0 / 75%), -0.05em -0.08em 0 rgb(0 255 0 / 75%), 0.05em 0.08em 0 rgb(0 0 255 / 75%);
    color: #7a4f69;
}

.glitch-text {
    position: relative;
    display: inline-block;
    width: calc(100% - 240px);
}

.door-container.GLITCHED .door-description span,
.glitch-text span {
    position: absolute;
    top: 0;
    left: 0;
}

.door-container.GLITCHED .door-description,
.glitch-text {
    animation: glitch 550ms infinite;
}

.door-container.GLITCHED .door-description span:nth-child(1),
.glitch-text span:nth-child(1) {
    animation: glitch 650ms infinite;
    clip-path: polygon(8% 5%, 100% 5%, 90% 25%, 2% 45%);
    transform: translate(-1.25em, 0.875em) scale(-1, 1);
    
    opacity: 1;
}

.door-container.GLITCHED .door-description span:nth-child(2),
.glitch-text span:nth-child(2) {
    animation: glitch 375ms infinite;
    clip-path:polygon(111% 4%, 2% 20%, 110% 93%, -16% 91%);
    transform: translate(-0.25em, -0.125em);
    
    opacity: 1;
}

.door-container.GLITCHED .door-description span:nth-child(3),
.glitch-text span:nth-child(3) {
    animation: glitch 575ms infinite;
    clip-path: ppolygon(5% 133%, -10% 20%, 100% 50%, 20% 110%);
    transform: translate(0.225em, 0.05em);
    
    opacity: 1;
}

.door-container.GLITCHED .door-description span:nth-child(4),
.glitch-text span:nth-child(4) {
    animation: glitch 275ms infinite;
    clip-path: polygon(0 50%, 80% -20%, 80% 110%, 230% 100%);
    transform: translate(0.025em, -0.15em) scale(-1, 1);
   
    opacity: 1;
}

.door-container.GLITCHED .door-description span:nth-child(5),
.glitch-text span:nth-child(5) {
    animation: glitch 1075ms infinite;
    clip-path: polygon(0 50%, 90% 30%, 96% 100%, 7% 70%);
    transform: translate(-0.225em, -0.25em) scale(-1, 1);
 
    opacity: 1;
}

.door-open[data-content="GLITCHED"] .door-open-description img {
    box-shadow: none;
}

@keyframes glitch {
  0% {
    text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75),
      -0.05em -0.025em 0 rgba(0, 255, 0, 0.75),
      -0.025em 0.05em 0 rgba(0, 0, 255, 0.75);
  }
  14% {
    text-shadow: 0.05em 0 0 rgba(255, 0, 0, 0.75),
      -0.05em -0.025em 0 rgba(0, 255, 0, 0.75),
      -0.025em 0.05em 0 rgba(0, 0, 255, 0.75);
  }
  15% {
    text-shadow: -0.05em -0.025em 0 rgba(255, 0, 0, 0.75),
      0.025em 0.025em 0 rgba(0, 255, 0, 0.75),
      -0.05em -0.05em 0 rgba(0, 0, 255, 0.75);
  }
  49% {
    text-shadow: -0.05em -0.025em 0 rgba(255, 0, 0, 0.75),
      0.025em 0.025em 0 rgba(0, 255, 0, 0.75),
      -0.05em -0.05em 0 rgba(0, 0, 255, 0.75);
  }
  50% {
    text-shadow: 0.025em 0.05em 0 rgba(255, 0, 0, 0.75),
      0.05em 0 0 rgba(0, 255, 0, 0.75), 0 -0.05em 0 rgba(0, 0, 255, 0.75);
  }
  99% {
    text-shadow: 0.025em 0.05em 0 rgba(255, 0, 0, 0.75),
      0.05em 0 0 rgba(0, 255, 0, 0.75), 0 -0.05em 0 rgba(0, 0, 255, 0.75);
  }
  100% {
    text-shadow: -0.25em 0 0 rgba(255, 0, 0, 0.75),
      -0.25em -0.25em 0 rgba(0, 255, 0, 0.75),
      -0.25em -0.5em 0 rgba(0, 0, 255, 0.75);
  }
}

/*@keyframes glitch-img {
  0% {
    transform: translate(0.128em, 0.15em);
  }
  14% {
    transform: translate(0.1em, -0.5em);
  }
  15% {
    transform: translate(0.15em, 0.25em);
  }
  49% {
    transform: translate(-0.125em, 0.35em);
  }
  50% {
    transform: translate(0.125em, -0.25em);
  }
  99% {
    transform: translate(0.225em, -0.15em);
  }
  100% {
    transform: translate(0.125em, 0.25em);
  }
}*/

@keyframes shake {
    10%, 90% {
        transform: translate3d(-1px, -4px, 1px) /*rotate3d(1, 1, 1, 15deg)*/ scale3d(1.2, 1.1, 0.9);
    }

    20%, 80% {
        transform: translate3d(2px, -1px, 0) /*rotate3d(2, -1, -1, -25deg)*/ scale3d(1.1, 1, 1);
    }

    66% {
        transform: translate3d(-4px, -5px, 0px) rotate3d(0, -1, -0.5, 15deg) scale3d(1.5, 1.2, 0.9);
    }

    30%, 50%, 70% {
        transform: translate3d(-4px, 0, 3px) /*rotate3d(0, 1, 0.5, 35deg)*/ scale3d(1.2, 1, 1);
    }

    40%, 60% {
        transform: translate3d(4px, -2px, -3px) /*rotate3d(-1, -1, 1, -15deg)*/ scale3d(1, 1, 1);
    }
}

.door-open {
    left: 120px;
    width: calc(100vw - 500px);
    max-width: 950px;
    position: absolute;
    top: -40px;
    left: 0px;
    z-index: 999;
    background: #dbcbb9;
    /*box-shadow: 0px 0px 0px 10px #dbcbb9;*/
    text-align: center;
}

.door-open:after {
    content: "";
    background: rgb(0 0 0 / 80%);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;

}

.door-open-container{
    background: #dbcbb9;
    border: 3px solid #533110;
    padding: 20px 40px;
    min-height: 450px;
}

.door-open-description {
    text-align: left;
    font-size: 1em;
    line-height: 1em;
}

.door-open-description ul {
    overflow: hidden;
}

.door-open-description img {
    max-width: 200px;
    float: right;
    margin: 10px 0 20px 30px;
    box-shadow: 0px 0px 0px 2px #533110;
}

.close {
    position: absolute;
    right: 0;
    top: 0;
    background: url(../images/corner.png) no-repeat;
    width: 50px;
    height: 50px;
    background-size: 100%;
    color: #533110;
    font-family: 'titlefont', sans-serif;
    font-family: Arial;
    text-align: right;
    padding: 2px 7px;
    font-weight: bold;
    font-size: 0.8em;
}

.close:hover {
    cursor: pointer;
}

/* Partners */

/*
.partners {
    position: absolute;
    left: 20px;
    top: 200px;
}

.partners a:nth-of-type(2) {
    top: 60px;
}

.partners a:nth-of-type(3) {
    top: 120px;
}

.partners a:nth-of-type(4) {
    top: 180px;
}

.partners a {
    display: block;
    width: 140px;
    position: absolute;
    transition: all 0.3s;
}

.partners a.no-ref img {
    background: none !important;
}

.partners a:hover {
    cursor: pointer;
    transform: scale(1.2) !important;
}

.partners a.no-ref:hover {
    cursor: default !important;
    transform: inherit !important;
}

.partners a.long {
    height: 92px;
    height: auto;
    width: 250px;
}

.partners a img {
    width: 100%;
    background-size: 100% 100% !important;
}
    */

/*
#logo_uom {
    transform: rotate(5deg);
}

#logo_venice{
    transform: rotate(-10deg);
    top: 100px;
}

#logo_skovde{
    transform: rotate(8deg);
    top: 200px;
}

#logo_phi{
    transform: rotate(-5deg);
    top: 300px;
}

#logo_phi img {
    background: none !important;
}

#logo_phi:hover {
    cursor: default !important;
    transform: rotate(-5deg) !important;
}


#logo_erasmus {
    width: 120px;
    top: -70px;
    left: 640px;
}
*/

/* 1. Turn the wrapper into a bounding box */
.wrapper.padding.main {
    position: relative;      /* Makes this the anchor for the logos */
    padding-bottom: 120px;   /* Creates an empty "safe zone" at the bottom so content never overlaps the logos */
    
    /* Optional: If you want the grey box to always look substantial even on empty pages */
    min-height: 60vh;        
}

/* 2. Lock the logos to the bottom of the wrapper */
.logo-trio {
    position: absolute;      /* Takes it out of the normal document flow */
    bottom: 30px;            /* Pins it exactly 30px from the bottom inside edge of the wrapper */
    left: 0;
    width: 100%;             /* Required to make centering work when positioned absolutely */
    /* Change the fixed pixel gap to a fluid percentage so it shrinks! */
    gap: 5%; 
    height: 80px;           /* Set a fixed height for the logos */
    
    
    /* Give it a solid top margin so it never naturally hits the content */
    margin-top: 60px; 
    margin-bottom: 40px;

    /* THE CENTER-ALIGN FIX */
    margin-left: auto;
    margin-right: auto;
    /* Ensure it doesn't try to be wider than the wrapper allows */
    max-width: 1200px;
    
    display: flex;
    flex-direction: row;        
    justify-content: center;    
    align-items: center;             
    margin: 0;        
}
/* The Masking Magic */
.logo-item {
    flex: 1 1 80px;
    max-width: 150px;
    width: 100%;
    height: 80px;
    
    /* YOUR EXACT HEX CODE GOES HERE */
    background-color: #6c6e72; 
    
    /* The Cookie Cutter Setup */
    -webkit-mask-image: var(--logo-url);
    mask-image: var(--logo-url);
    
    /* Makes sure the logo fits inside the box and stays centered */
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}

.button {
    text-align: center;
    background: #f4c878;
    display: inline-block;
    border-radius: 20px;
    padding: 10px 20px;
    border-bottom: 3px solid #a47a4f;
    border-right: 3px solid #a47a4f;
    font-family: 'Montserrat', sans-serif;
    -webkit-text-stroke: 1px #a47a4f;
    color: white;
    text-shadow: 3px 3px 0 #a47a4f, -1px -1px 0 #a47a4f, 1px -1px 0 #a47a4f, -1px 1px 0 #a47a4f, 1px 1px 0 #a47a4f;
    font-size: 1.5rem;
    transition: all 0.3s;

}

.button:hover {
    color: white !important;
    background: #cda163;
    transform: scale(1.05);
    cursor: pointer;
    box-shadow: 2px 5px 0px 0px #87996c;
}

.button.download {
    max-width: 380px;
    padding: 0;
}

.button.download h3 {
    border-bottom: 3px solid #a47a4f;
    padding: 10px;
    -webkit-text-stroke: 1px #a47a4f;
    color: white;
    text-shadow: 3px 3px 0 #a47a4f, -1px -1px 0 #a47a4f, 1px -1px 0 #a47a4f, -1px 1px 0 #a47a4f, 1px 1px 0 #a47a4f;
}

.button.download .download-img {
    background: #d3e7bf;
    position: relative;
    overflow: hidden;
    padding: 0;
}

.button.download:hover .download-img {
    background: #a5bb84
}

.button.download .download-img img {
    width: 180px;
}

.button.download h4 {
    border-top: 3px solid #b2c68f;
    background: #87996c;
    padding: 5px;
    border-bottom: 3px solid #a47a4f;
    -webkit-text-stroke: 1px #5b7662;
    color: white;
    text-shadow: 3px 3px 0 #5b7662, -1px -1px 0 #5b7662, 1px -1px 0 #5b7662, -1px 1px 0 #5b7662, 1px 1px 0 #5b7662;
}

.button.download h5 {
    text-shadow: none;
    -webkit-text-stroke: 0;
    color: #a47a4f;
    text-transform: none;
    font-size: 0.75em;
    padding: 10px 20px;
}

.button.download h3:before {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    content: "\f019";
    margin-right: 10px;
}

#haze-button:hover {
    cursor: pointer;
}

/* --- 1. The Main CC Container (Matched to Wrapper) --- */
.cc-window.cc-floating.cc-type-info.cc-theme-block.cc-bottom.cc-right.cc-color-override-530831885,
.cc-window.cc-floating.cc-type-info.cc-theme-edgeless.cc-bottom.cc-right.cc-color-override-530831885 {
    background-color: #b0b0bb !important; /* Light grey panel color */
    color: black !important;
    box-shadow: 0px 0 0px 5px #b0b0bb !important; /* Midtone grey shadow */
    

}

/* --- 2. The Inner Border --- */
.cc-floating.cc-theme-edgeless .cc-message {
    border: 5px solid #6c6e72 !important; /* Matched to dark grey line */
    padding: 2em;
    padding-bottom: 1.5em;
    margin: 5px !important;
}

/* --- 3. The Links --- */
.cc-color-override-530831885 .cc-link, 
.cc-color-override-530831885 .cc-link:active, 
.cc-color-override-530831885 .cc-link:visited {
    color: #4a4b4e !important; /* Slightly darker grey so it stands out */
    text-decoration: underline;
    font-weight: bold;
}

.cc-color-override-530831885 .cc-link:hover {
    color: black !important;
}

/* --- 4. The Chunky 3D Button --- */
.cc-color-override-530831885 .cc-btn {
    z-index: 999;
    text-transform: uppercase;
    white-space: nowrap;
    font-family: 'Montserrat', sans-serif;
    
    /* New Greyscale Colors */
    background-color: #6c6e72 !important; /* Main button color */
    color: white !important;
    font-weight: bold;
    
    /* 3D Greyscale Borders */
    border-top: 5px solid #8d8f93 !important; /* Highlight */
    border-left: 5px solid #8d8f93 !important; /* Highlight */
    border-right: 5px solid #4a4b4e !important; /* Shadow */
    border-bottom: 5px solid #4a4b4e !important; /* Shadow */
    
    padding: 10px 20px;
    transition: 0.3s all;
    text-align: center;
}

/* 3D Button Hover State */
.cc-color-override-530831885 .cc-btn:hover {
    cursor: pointer;
    background-color: #8d8f93 !important; /* Lighten on hover */
    color: white !important;
    
    /* Shift borders to make it look "pressed" */
    border-top-color: #b0b0bb !important;
    border-left-color: #b0b0bb !important;
    border-right-color: #6c6e72 !important;
    border-bottom-color: #6c6e72 !important;   
}

.cc-compliance a {
    text-decoration: none;
}

.cc-window.cc-invisible {
    display: none;
}

.hazeContainer {
    position: relative;
}

.hazeContainer:hover {
    cursor: pointer;
}

.hazeContainer .planetImg {
    opacity: 1;
}

.hazeContainer .hazeImg {
    opacity: 0;
}

.hazeContainer .hazeBg {
    transition: 3s all;
    opacity: 0;
}

.hazeContainer.haze .planetImg {
    opacity: 0;
}

.hazeContainer.haze .hazeImg {
    opacity: 1;
}

.hazeContainer.haze .hazeBg {
    opacity: 1;
}

.hazeContainer img {
    width: 100%;
    transition: 1s all;
}

.hazeImg, .planetImg {
    position: absolute;
    z-index: 999;
}

.shipContainer {
    display: flex;
    justify-content: space-between;
}

.shipContainer div {
    background: none !important;
    height: 100px;
    margin-top: 20px;
    width: 30%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.shipContainer div img {
    width: 80%;
    transition: 0.3s all;
}

.shipContainer div:hover img {
    transform: rotate(-5deg);
}

.shipContainer div:first-of-type:hover img {
    transform: rotate(0deg);
}

.shipContainer div:last-of-type:hover img {
    transform: rotate(0deg);
}

.shipContainer div:first-of-type img {
    transform: rotate(5deg);
}

.shipContainer div:last-of-type img {
    transform: rotate(-5deg);
}

.download-button {
    display: flex;
    max-width: 500px;
    margin: auto;
}

.download-win {
    background: #35305d;
    text-align: center;
    border-left: 6px solid #d34a58;
    border-bottom: 6px solid #d34a58;
    border-top: 6px solid #d34a58;
    border-right: 3px solid #d34a58;
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
    transition: 0.3s all;
}

.download-mac {
    background: #35305d;
    text-align: center;
    border-right: 6px solid #d34a58;
    border-bottom: 6px solid #d34a58;
    border-top: 6px solid #d34a58;
    border-left: 3px solid #d34a58;
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
    transition: 0.3s all;
}

.download-win h3, .download-mac h3 {
    border-top: 3px solid #d34a58;
    padding: 20px 10px;
    transition: 0.3s all;
    font-size: 1.17em;
    margin: 0;
    border-radius: 0;
}

.download-win img, .download-mac img {
    width: 100%;
    margin-bottom: -40px;
    transition: 0.3s all;
}

.download-win:hover, .download-mac:hover {
    background: #26214a;
    transform: scale(1.05);
    cursor: pointer;
}

.download-win:hover h3, .download-mac:hover h3 {
    color: #d34a58;
}

.download-win:hover img {
    transform: rotate(5deg);
}

.download-mac:hover img {
    transform: rotate(-5deg);
}

.download-manual,
.spoilers-button-container {
    display: flex;
    justify-content: center;
    align-items: stretch;
}

.download-manual a,
.spoilers-button {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
}

.country-flag {
    width: 30px;
}

.english-manual,
.spoilers-button:first-of-type {
    background-color: #d4b56c;
    color: #603813;
    border-bottom: 5px solid #a28357;
    border-left: 5px solid #e8ca84;
    border-right: 1px solid #a28357;
    border-top: 5px solid #f3e3be;
    padding: 10px 20px;
    transition: 0.3s all;
}

.english-manual .country-flag{
    margin-right: 10px
}

.maltese-manual .country-flag{
    margin-left: 10px
}

.maltese-manual,
.spoilers-button:last-of-type {
    background-color: #d4b56c;
    color: #603813;
    border-bottom: 5px solid #a28357;
    border-right: 5px solid #e8ca84;
    border-left: 1px solid #a28357;
    border-top: 5px solid #f3e3be;
    padding: 10px 20px;
    transition: 0.3s all;
}

.english-manual:hover, .maltese-manual:hover, .spoilers-button:hover {
    background-color: #fcb612;
    color: #603813;
    border-bottom-color: #c6932c;
    border-left-color: #fed77f;
    border-right-color: #fed77f;
    border-top-color: #f7e0b0;
    transform: scale(1.05);
    cursor: pointer;
    z-index: 99;
}

.spoilers-container {
    width: 100%;
}

.spoilers-content {
    width: 100%;
    position: fixed;
    z-index: 9999;
    border: 5px solid #533110;
    box-shadow: 0px 0 0px 5px #dbcbb9;
    background: #dbcbb9;
    color: black;
    padding: 20px 30px;
    max-width: 800px;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.spoilers-container:after {
    content: "";
    background: rgb(0 0 0 / 80%);
    width: 1000vw;
    height: 1000vh;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 999;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 1s all;
    animation-name: dark;
    -webkit-animation: dark 1s 0s forwards; /* for less modern browsers */
    animation: dark 1s 0s forwards;
}

.spoilers-container.no-spoiler {
    display: block
}
.spoilers-container.spoiler {
    display: none
}

.door-library.no-spoiler {
    opacity: 0;
}
.door-library.spoiler {
    opacity: 1;
}

/* Container styling to act as the ship's panel and window */
.canvas-container {
    width: 100% !important;
    height: 0px !important;
    padding-top: 56%;
    position: relative;
    
    /* Deep space/screen dark background */
    background: #0f0a1c; 
    
    /* The rounded spaceship window shape */
    border-radius: 24px; 
    
    /* The bright inner purple rim */
    border: 6px solid #a37ebf; 
    
    /* Layer 1: The thick dark purple frame
       Layer 2: A dark shadow to sink it into the page 
    */
    box-shadow: 
        0 0 0 16px #5c3b7a,
        0 8px 20px 16px rgba(0, 0, 0, 0.6);
        
    /* Increased margin to make room for the thick 16px box-shadow */
    margin: 40px 0; 
    
    /* Keeps the canvas inside the rounded corners */
    overflow: hidden; 
}

/* Optional: Adds a subtle diagonal glass glare over the canvas */
.canvas-container::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    /* Creates a diagonal light streak */
    background: linear-gradient(105deg, transparent 40%, rgba(255, 255, 255, 0.03) 45%, rgba(255, 255, 255, 0.08) 50%, transparent 54%);
    /* Ensures clicks pass right through the glare to your Unity canvas */
    pointer-events: none; 
    z-index: 10;
}

canvas#unity-canvas,
#unity-container {
    width: 100% !important;
    position: absolute;
    top: 0;
    height: 100% !important;
}

#unity-container {
    display: flex;
    justify-content: center;
    align-items: center;
}



@media (max-width: 1200px) {
    .main-nav ul {
        height: auto; 
    }
}

canvas#unity-canvas,
#unity-container {
    width: 100% !important;
    position: absolute;
    top: 0;
    height: 100% !important;
}

#unity-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

#unity-play-button {
    z-index: 999;
    background-color: #d4b56c;
    font-weight: bold;
    color: #603813;
    border-bottom: 5px solid #a28357;
    border-left: 5px solid #e8ca84;
    border-right: 5px solid #a28357;
    border-top: 5px solid #f3e3be;
    padding: 10px 20px;
    transition: 0.3s all;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}

#unity-play-button i {
    font-size: 2em;
    padding-left: 20px;
}

#unity-play-button.hidden {
    z-index: -1;
    display: none;
}

#unity-play-button:hover{
    cursor: pointer;
    background-color: #fcb612;
    color: #603813;
    border-bottom-color: #c6932c;
    border-left-color: #fed77f;
    border-right-color: #fed77f;
    border-top-color: #f7e0b0;
    transform: scale(1.05);
}

#unity-fullscreen-button {
    background: url(../images/enlarge.svg) no-repeat;
    background-size: 100%;
    position: absolute;
    width: 30px;
    height: 30px;
    display: none;
    bottom: 5px;
    right: 5px;
    opacity: 0.5;
    transition: 0.3s all;
    z-index: 1;
}

#unity-fullscreen-button:hover{
    cursor: pointer;
    opacity: 1;
}

#unity-progress-bar-empty {
    width: 100%;
    height: 10px;
    background: #dbcbb9;
    border: 3px solid #533110;
    display: none;
    position: absolute;
    left: 0;
    bottom: 0;
}

#unity-progress-bar-full {
    width: 0;
    position: absolute;
    height: 4px;
    left: 1px;
    bottom: 0px;
    background: #ad4e42;
    border-radius: 2px;
    transition: 0.5s all;
}

@media (max-width: 1200px) {
        .main-nav ul {
        height: auto; /* Allow height to adjust and prevent downward shifting */
    }
}

/* Early Stacking for Logos */

@media (max-width: 1100px) {
    .logo-trio {
        flex-direction: column !important; /* Added semicolon and override */
        gap: 10px !important;              /* Adds space between them when stacked */
        margin-top: 50px !important;
        min-height: 180px;
   
    }

    .wrapper.main {
    /* Since the logos are stacked on mobile, the barrier needs to be MUCH taller! */
        padding-bottom: 200px !important; 
    }

   
}


/* --- MOBILE RESPONSIVE STYLES (Phones & Tablets) --- */
@media (max-width: 768px) {
    body {
        position: relative;
    }
    /* 1. Stack the Header (Logo on top, Nav underneath) */
    .header {
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
        padding-top: 20px; 
    }
    
    .header .logo {
        margin-bottom: 20px; /* Space between logo and the nav buttons */
        float: none;         /* Overrides the "left" class in your HTML */
    }

    /* 2. Stack the Navigation Parallelograms */
    .main-nav {
        width: 100%;
        justify-content: center;
        display: flex;
    }

    .main-nav ul {
        flex-direction: column; 
        height: auto;           
        padding: 0;
        align-items: center;    
    }

    /* Hide the horizontal cyan lines on mobile */
    .main-nav ul::before,
    .main-nav ul::after {
        display: none; 
    }

    /* Space out the buttons and give them a mobile-friendly width */
    .main-nav ul li {
        margin: 10px 0; 
        width: 80%;     
        max-width: 300px; 
        display: flex;
        justify-content: center;
    }

    .main-nav ul li a {
        width: 100%;
        text-align: center;
    }

/* 3. Move and scale the Scholar Gun to the bottom of the PAGE */
    .scholar {
        /* Change from fixed (screen) to absolute (document) */
        position: absolute !important; 
        
        top: auto !important;
        bottom: 0 !important;
        
        /* Centers it horizontally at the bottom */
        right: 50% !important;
        transform: translateX(50%) !important; 
        
        /* Scale it down for mobile */
        width: 300px !important; 
        height: 168px !important; 
        
        /* Optional: If you want it to sit ON TOP of the footer instead of behind it, 
           change z-index from -1 to 1 */
        z-index: 1 !important; 
    }

    /* 4. Remove margins from the main content wrapper on mobile */
    .wrapper.padding.main {
        margin: 0 !important;
        
        /* Optional: If the "padding" class is also adding unwanted inner space, 
           you can reduce or remove it here too: */
        padding-left: 10px !important;
        padding-right: 10px !important;
    
    }
    /* 5. Create an empty docking bay in the footer for the Scholar Gun */
    .footer {
        padding-bottom: 200px !important; 
        
        /* Optional: If you need to make sure the footer's background color 
           doesn't hide the gun, add position: relative and adjust z-index */
        position: relative;
        z-index: 0; 
    }

    .logo-trio {
        flex-direction: column !important; /* Added semicolon and override */
        gap: 10px !important;              /* Adds space between them when stacked */
        margin-top: 50px !important;
        min-height: 300px;       
    

    }

    .wrapper.main {
    /* Since the logos are stacked on mobile, the barrier needs to be MUCH taller! */
        padding-bottom: 350px !important; 
    }

    .logo-spacer {
        height: 30px; 
    }

    .credits {
        /* Force the image to be much wider than the phone screen */
        width: 180vh; 
        
        /* 100% means it fills that 250vw width, auto keeps the height proportional */
        background-size: 100% auto; 
        
        /* Position it higher up so the 'screen' content is central */
        bottom: -10vh; 

        /* OFFSET LOGIC: 
           This moves the center of the image 30px to the right.
           Change to -30px if you need to nudge it the other way.
        */
        left: calc(50% -10px);
        
        /* Ensure the top of the image is the anchor point */
        background-position: center top;
    }
}