
/* The following CSS applies on all screen sizes */

/* Colors and fonts */
:root {
    /* Fonts */
    --bodyfont: serif;
    --headerfont: "Creepster",monospace;
	

    /* Main colors */
    --background:#000; /* Page background */
    --color:#4d0010;
    --block:#EDE8DD; /* Background color for the grid blocks in the content */
    --lines:#C9C5BB; /* Color for the background lines */
    --shadow:#E0A838; /* Color for the drop shadow */

    --link:#d6083a;
    --linkhover:#C48810;

    --h1:#4d0010;
    --h2:#4d0010;
    --h3:#4d0010;
    --h4:#4d0010;

    /* Sidebar colors */
    --sidebar:#fff0d1;
    --sidebarcolor:#4d0010;
    --title: #4d0010;
    --sidebarlink: #b63700;
    --sidebarlinkhover:#d6083a;

    /* Menu colors */
    --menucolor:#b63700;
    --menucolorhover:#d6083a;

    /* Tape colors */
    --tape: #C48810;
    --tape-edge: #ec714c;
}

* { margin:0; padding:0; }

/* Main body styling */
body {
    background-color:var(--background);
    background-attachment:fixed;
    font:1rem serif;
    color:var(--color);
}

/* Rounded corners - feel free to get rid of this or change it */

.article-content, #sidebar-content, #main-footer {
    border-radius:5px;
}

/* Sidebar styling */

#sidebar-content {
    background: var(--sidebar);
    color: var(--sidebarcolor);
    padding:10px;
    border:1px solid var(--linkhover);
    box-shadow:5px 5px 0 var(--shadow);
}




#sidebar-content header {
    color:var(--title);
    margin:8px 0 8px 0;
	font-size:1.7rem;
  text-shadow: 0 0 10px #ff6600;
    font-family: "Creepster", system-ui;
  font-weight: 400;
  font-style: normal;
  text-align:center;
}

#sidebar-content p
{
	color:#c0c0c0;
}



.door-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* always 2 doors per row */
  gap: 1rem;
  width: 100%;
  margin: 0 auto;
  text-align:center;
}

/* Door style */
.door {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 120px;
  height: 200px; /* stay tall like a door */
  background: linear-gradient(to bottom, #3c2f2f, #1a0d0d);
  border: 4px solid #000;
  border-radius: 5px;
  font-size: 1rem;
  font-weight: bold;
  color: #eee;
  cursor: pointer;
  transition: transform 0.3s, box-shadow 0.3s;
}

/* "Door knob" */
.door::after {
  content: "";
  position: absolute;
  right: 10px;
  top: 50%;
  width: 12px;
  height: 12px;
  background: gold;
  border-radius: 50%;
  transform: translateY(-50%);
}

/* Hover: subtle spooky effect, but keep door shape */
.door:hover {
  transform: scale(1.05);
  box-shadow: 0 0 20px rgba(255, 200, 100, 0.4);
}


/* Hover effect: creak open */
.door:hover {
  transform: rotateY(-15deg) scale(1.05);
  box-shadow: 5px 5px 15px rgba(0,0,0,0.7);
}

.icon {
    margin:auto;
}

.icon img {
    border-radius:10px;
    width:90px; /* This can be changed to make the icon smaller; you might have to mess with the border radius too */
    height:auto; /* Preserves aspect ratio */
}

/* Styling for the menu */

#main-menu {
    font:1.1em var(--headerfont);
    width:100%;
    margin-top:20px;
}

#main-menu ul {
    list-style:none;
}

#main-menu li {
    display:inline-block;
}

#main-menu li a {
    padding:3px;
    color:var(--menucolor);
    text-decoration:none;
    transition:0.5s ease;
    border-bottom:1px solid;

}

#main-menu li a:hover, #main-menu li a:focus {
    color:var(--menucolorhover);
    transition:0.5s ease;
}

/* Content styling */

main {
    margin-top:20px;
}

/* Styling for blocks */

main .post {
    margin-bottom:50px;
    width:100%;
}

.article-content, #main-footer {
    padding:22px;
    width:calc(100% - 44px);
    border:1px solid var(--linkhover);
    box-shadow:5px 5px 0 var(--shadow);
    background:linear-gradient(var(--block) 0px, var(--block) 30px, var(--lines) 31px);
    background-size:100% 32px;
}

main img.postimage {
    border-radius:5px;
    border:1px solid var(--linkhover);
    margin:0 auto 10px auto;
}

main h1 {
    font:1.8em var(--headerfont);
    color:var(--h1);
	font-size: 2.5rem;
  text-shadow: 0 0 10px #ff6600;
    font-family: "Creepster", system-ui;
  font-weight: 400;
  font-style: normal;
}

main h2 {
    font:1.5em var(--headerfont);
    color:var(--h2);
}

main h3 {
    font:1.3em var(--headerfont);
    color:var(--h3);
}

main h4 {
    font:1em var(--headerfont);
    font-style:italic;
    color:var(--h4);
}

p {
    line-height:1.5;
    margin:10px 0 10px 0;
}

main a {
    color:var(--link);
    transition:0.5s ease;
}

main a:hover, main a:focus {
    color:var(--linkhover);
    transition:0.5s ease;
}

main ul {
    list-style-position: outside;
    margin-left: 25px;
}

main ul li {
    line-height:1.5;
}

main img {
    max-width:100%;
}

main pre {
    background:var(--lines);
    padding:10px;
    margin:5px;
    border-radius:5px;
    max-width:600px;
    max-height:300px;
    overflow:auto;
}

main input, textarea, select, button { 
    background: var(--block);  
    color: var(--color);
    font: 1rem var(--bodyfont); 
    border: 1px solid; 
    padding: 8px; 
    margin: 2px;
}

main details {
    background: var(--lines);
    padding:10px;
    margin:5px;
    border-radius:5px;
}

main details summary {
    cursor: pointer;
}

.article-footer {
    margin-top:15px;
}

.tag, .date {
    display:inline-block;
    background: var(--block);
    padding:5px;
    border-radius:3px;
    box-shadow:2px 2px 0 var(--shadow);
    border:1px solid var(--linkhover);
    margin:0.25em 0 0.25em 0;
}

#main-footer {
    text-align:center;
}

.tape::before {
    content:"";
    display:block;
    height: 30px;
    margin:-28px auto 5px auto;
    width: 50%;
    max-width:150px;
    background-color: var(--tape);
    border-right: 1px dotted var(--tape-edge);
    border-left: 1px dotted var(--tape-edge);
    opacity: 0.5;
    box-shadow:0.5px 0.5px 1px rgb(0,0,0,0.2);
}


/* The following CSS ONLY applies to mobile/small screens */

/* Container styling */
#container {
    width: calc(100% - 40px);
    padding:20px;
    margin-top:10px;
}

#sidebar-content {
    width: calc(100% - 20px);
}

#main-menu li {
    margin-bottom:15px;
    display:inline-block;
}



/* The following CSS ONLY applies to desktop/big screens */

@media screen and (min-width: 800px) {
    #container {
        max-width:1100px;
        width:90%;
        display:flex;
        gap:20px;
        margin:25px auto;
    }

    main {
        margin-top:10px;
    }

    #sidebar {
        flex: 1 1 calc(10% - 20px);
        margin-top:10px;
    }

	.door-grid {gap: 1rem;
  grid-template-columns: repeat(1, 1fr); /* always 2 doors per row */
  }


    .icon {
        margin-top:-35px;
        margin-left:-40px;
    }
    
    /* Remove or comment out this block if you don't want a sticky sidebar */
    #sidebar-content {
        position:sticky;
        top:40px;
    }

    .sidebar-columns {
        display:block;
    }

    main {
        flex: 1 1 calc(70% - 30px);
    }
    
    .article-footer {
        display:flex;
        justify-content:space-between;
        align-items:center;
    }

    .tag, .notes {
        margin:0;
    }
}



@media (max-width: 600px) {
  .door {
  width: 75px;
  height: 120px; /* stay tall like a door */
  border: 2px solid #000;
  border-radius: 3px;
}
  .subtitle {font-size:.8rem;}
  .door-grid {gap: 1rem;
  grid-template-columns: repeat(4, 1fr); /* always 2 doors per row */
  }
  
  .door.jukebox::before {
  font-size: 2rem;
}
}