
:root {
    --font-sans: "Arial Black", "Arial Bold", Gadget, sans-serif;
    --font-display: Tahoma, Verdana, Segoe, sans-serif;
    --font-body: Arial, "Helvetica Neue", Helvetica, sans-serif;
    --text: #dddddd;
    --text-muted: #9ca3af;

    --primary: #F4893A;
    --primary-muted: #a07338;
    --secondary: #7b5cff;
    --highlight: #f4a33a;

    --background: #111111;
    --surface: #1a1a1a;
    --surface-mid: #2a2a2a;
}
/* ----------------
   Base
---------------- */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    font-size: 16px;
}


body {
    font-family: var(--font-body);
    line-height: 1.5;
    color: var(--text);
    margin: 0;
    padding: 0;
    font-family: var(--font-body);
    color: var(--text);
}


p {
    margin-bottom: 1rem;
    line-height: 1.75rem;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--font-display);
    line-height: 1.2;
    margin-bottom: .75rem;
    color: var(--primary)
}


h1 { font-size: 2rem; }
h2 { font-size: 1.5rem; }
h3 { font-size: 1.5rem; }
h4 { font-size: 1.25rem; }
h5 { font-size: 1.125rem; }
h6 { font-size: 1rem; }


ul,
ol {
    margin-top: 1rem;
    margin-bottom: 1rem;
    padding-left: 2rem;
}


img {
    max-width: 100%;
    display: block;
}


a {
    color: var(--primary);
    text-decoration: none;
}
a:hover {
    color: var(--highlight);
}



.text-primary {
    color: var(--primary)
}

.text-muted {
    color: var(--text-muted)
}
.text-normal {
    color: var(--text)
}
.text-small {
    line-height: 1.1rem;
}

.background-extra-dark {
    background-color: var(--background);
}
.background-dark {
    background-color: var(--surface);
}

.header-logo,
.panel-title {
    font-family: var(--font-sans);
}
/* ----------------
   Layout
---------------- */

.centered {
    margin: 0 auto;
    text-align: center;
}

.container {
    max-width:1280px;
    margin:0 auto;
    padding:0 1.25rem;
}


@media(min-width:1280px) {
    .container {
        padding-left:10rem;
        padding-right:10rem;
    }
}


.site-body {
    margin:0;
    background:var(--background);
}


/* ----------------
   Header
---------------- */


.site-header {
    background:var(--surface);
    color:var(--text);
}

.header-content {
    display:flex;
    flex-direction:column;
    align-items:center;
    padding:1.25rem 0;
}


.header-logo img {
    width:300px;
}


.header-nav {
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    justify-content:center;
    margin-top:1rem;
}


.header-nav a {
    color:var(--text-muted);
    margin-right:1.25rem;
}


.header-nav a:hover {
    color:var(--primary);
}


.header-nav img {
    width:30px;
}


@media(min-width:768px) {

    .header-content {
        flex-direction:row;
    }

    .header-nav {
        margin-left:auto;
        margin-top:0;
    }
}



/* ----------------
   Grids
---------------- */


.content-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:2.5rem;

    margin-top:3.5rem;
    margin-bottom:3.5rem;
}


@media(min-width:1024px) {

    .content-grid.five-column {
        grid-template-columns:repeat(5,1fr);
    }

    .content-grid.two-column {
        grid-template-columns:repeat(2,1fr);

    }
    .content-grid.three-column {
        grid-template-columns:repeat(3,1fr);
    }

}


.five-column .wide {
    grid-column:span 3;
}


.five-column .narrow {
    grid-column:span 2;
}


.three-column .wide {
    grid-column:span 2;
}


.three-column .blog-content {
    grid-column:span 2;
}


@media(max-width:1023px) {

    .content-grid > * {
        grid-column:span 1 !important;
    }

}


.side-stack {
    display:grid;
    gap:2.5rem;
}



/* ----------------
   Panels
---------------- */


.panel {
    width:100%;
    background:var(--background);
}


.panel-title {
    margin:1rem;
    margin-left: 0;
    color:var(--primary);
    font-size: 1.25rem;
}

.panel-title-small {
    margin: 0;
    color:var(--primary);
    font-size: 1.1rem;
}

.project-description {
    padding:.5rem;
    text-align:center;
    color:var(--text);
}



/* ----------------
   Games
---------------- */


.game-grid {
    display:grid;
    grid-template-columns:1fr;
    gap:1rem;
    margin:1.2rem 0 1.5rem 0;
}


@media(min-width:640px) {
    .game-grid {
        grid-template-columns:repeat(2,1fr);
    }
}


.game-card {
    display:flex;
    background:var(--surface-mid);
    border-radius:.125rem;
    overflow:hidden;
    box-shadow:0 10px 15px rgba(0,0,0,.2);
}

.sidebar .game-card {
    margin: .75rem 0 .75rem 0;
}


.game-card:hover h5 {
    color:var(--highlight);
}

.game-card:hover p {
    color:var(--text);
}


.game-link {
    text-decoration:none;
}


.game-image {
    width:33.333%;
    flex-shrink:0;
}


.game-image img {
    width:100%;
    height:100%;
    object-fit:cover;
}


.game-content {
    padding:.5rem;
}


.game-content h5 {
    margin:0;
    color:var(--text);
    font-size:.875rem;
}

.game-content p {
    margin:0;
    color:var(--text-muted);
    font-size:.875rem;
}

.game-card.large {
    background:var(--background);
    margin-bottom: 2rem;
}

.game-card.large .game-content p {
    margin:1rem 0;
    color:var(--text-muted);
    font-size:1.0rem;
}

.game-card.large .game-content h5 {
    margin:1rem 0;
    color:var(--primary);
    font-size:1.25rem;
}

.cover-image {
    max-height: 200px;
}
.game-cover-image {
    object-fit: fill !important;
}

.game-images{
    display: block;
    margin: 0 0 1rem 0;
}

.game-window {
    min-height: 620px;
    display: block;
    position: relative;
    align-items: center;
}

.button-container {
    display: block; 
    position: relative;
}

.game-play-button {
    bottom:80px;
    background-color: var(--primary);
    border: 4px double var(--primary-muted);
    color: white;
    padding: 15px 64px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    cursor: pointer;
    margin: 0 auto;
    position: absolute;

    bottom: 1rem;
    left: 50%;

    transform: translateX(-50%);
}
.game-play-button:hover {
    background-color: var(--highlight);
    color: var(--text)
}

/* ----------------
   About
---------------- */


.about-panel {
    background:var(--surface-mid);
    border:8px double var(--primary-muted);
}


.about-panel-content {
    margin:1rem;
}


.about-panel h5 {
    color:var(--primary);
}


.about-panel p {
    color:var(--text-muted);
}



/* ----------------
   Posts
---------------- */


.post-link {
    display:block;
}


.post-card {
    display:flex;
    margin:1.5rem auto;

    overflow:hidden;

    background:var(--surface-mid);

    border-radius:.125rem;

    box-shadow:0 10px 15px rgba(0,0,0,.2);

    transition:.3s;
}


.post-card:hover h3{
    color:var(--highlight);
}

.post-card:hover p{
    color:var(--text);
}

.post-card:hover .post-tags{
    color:var(--primary);
}

.post-image {
    width:25%;
    min-height:80px;

    background-size:cover;
    background-position:center;

    flex-shrink:0;
}


.post-content {
    width:75%;
    padding:0.5rem 1.5rem 0.5rem 1rem;
}


.post-content h3 {
    margin:.5rem 0;
    color:var(--text);
    font-size:1rem;
}


.post-content p {
    margin:.5rem 0;
    line-height: 1.2rem;
    color:var(--text-muted);
    font-size:.875rem;
}


.post-tags {
    color:var(--primary-muted);
    font-size:.875rem;
}

.post-list {
    margin-top:1rem;
    padding-left: 0;
    list-style-type: none;
}

.post-list li{
    margin: 1rem 0;
}

.post-list-link {
    color: var(--text);
    text-decoration: underline;
}