@import url('https://fonts.googleapis.com/css2?family=Geist+Pixel&family=Metal+Mania&family=Montenegrin+Gothic+One&family=Titillium+Web:ital,wght@0,200;0,300;0,400;0,600;0,700;0,900;1,200;1,300;1,400;1,600;1,700&display=swap');
/* ---------------- RESET ---------------- */

:root{

    --bg:#1d2021;
    --panel: 7, 8, 8;
    --panel-light:#1e1d1b;

    --accent:#98971a;
    --accent-red:#cc241d;
    --accent-yellow:#d79921;
    --accent-aqua: #689d6a;

    --text:#fbf1c7;
    --text-muted:#a89984;

    --border: #d65d0e;

    --shadow:rgba(0,0,0,.08);

}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

p{
    font-family: "Geist Pixel", sans-serif;
    font-size:clamp(12px,1vw + 6px,16px);
}

a{

    color:var(--accent-aqua);

    transition:.2s;

}

a:hover{

    color:var(--accent-yellow);

}

::selection{

    background:var(--accent-yellow);

    color:var(--bg);

}

::-webkit-scrollbar{

    width:10px;

}

::-webkit-scrollbar-track{

    background:var(--bg);

}

::-webkit-scrollbar-thumb{

    background:var(--border);

}

::-webkit-scrollbar-thumb:hover{

    background:var(--accent);

}

body{

    background:var(--bg);
    background:
        linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.9)),
        url("../images/background_test.jpg");
    
    background-repeat: repeat;
    background-size: auto, 1024px;
    background-position: top left;

    color:var(--text);

    font-family: "Titillium Web", sans-serif;

    line-height:1.6;

    letter-spacing:.03em;
    font-size:clamp(12px,1vw + 12px,20px);

}

/* ---------------- PAGE ---------------- */

.page-container{

    width:min(1450px,96%);

    margin:30px auto;

    background:transparent;

    border:none;

    box-shadow:none;

}

/* ---------------- BANNER ---------------- */

.banner{
    text-align:center;
    padding:10px 0;
}

.banner img{
    width:min(500px,90%);
    height:auto;
}

/* ---------------- 3 COLUMN LAYOUT ---------------- */

.layout{
    display:grid;
    grid-template-columns:minmax(180px,220px) 1fr minmax(180px,220px);
    gap:2vw;
    align-items:start;
}
/* ---------------- SIDEBARS ---------------- */

.sidebar{

    width:100%;

    background: rgba(var(--panel), 0.9);
    /*opacity: 90%;*/

    border:1px solid var(--border);

    color:var(--text);

    padding:15px;

    border-radius:4px;


}

.sidebar h2{

    background:var(--panel-light);

    color:var(--accent);

    border:1px solid var(--border);

    padding:8px;

    font-family: "Titillium Web", sans-serif;

    font-size:22px;

    font-weight:bold;

    text-align:center;

    margin-bottom:15px;

}

.sidebar ul{

    list-style:none;

}

.sidebar li{

    margin:10px 0;

}

.sidebar a{

    color:var(--accent-aqua);

    font-size: 16px;

    font-weight:bold;

    text-decoration:none;

    transition:.2s;

}

.sidebar a:hover{

    background:var(--accent-aqua);

    color:var(--bg);

}

/* ---------------- MAIN ---------------- */

.center{
    display:flex;
    flex-direction:column;
}

.content{

    background: rgba(var(--panel), 0.9);

    color:var(--text);

    border:2px solid var(--border);

    padding:clamp(20px,3vw,50px);

    border-radius:4px;

}

.content h1{

    font-family: "Titillium Web", sans-serif;

    font-size:48px;

    /*text-align:center;*/

    margin-bottom:25px;

    color:var(--accent-yellow);

}

.content h2{

    font-family: "Titillium Web", sans-serif;

    font-size:30px;

    color:var(--accent);

    margin-top:35px;

    margin-bottom:15px;

}

.content p{

    color:var(--text);

    line-height:1.8;

    margin-bottom:20px;

}

.main-image{
    float:left;
    width:350px;
    max-width:60%;
    height:auto;
    margin:0 25px 20px 0;
    display:block;
}


.gallery{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;  
    align-items:center;
    gap:8px;
    margin-top:20px;
}

.gallery img{
    height:32px;         
    max-width:256px;      
    width:auto;
    display:block;
    image-rendering:pixelated;
    transition:transform .15s ease;
}

.gallery img:hover{
    transform:translateY(-2px);
}

/* ---------------- BLOG ---------------- */

.blogpost{
    border-bottom: 4px white dotted; 
    margin-top:10px; 
    margin-bottom: 10px;
    text-align: justify;
}

.blogpost_grid{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 20px;
}

.blogpost_image{
    width: 180px;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    border: 1px solid var(--border);
    transition: transform .15s;
}

.blogpost_image:hover {
    transform: scale(1.05);
}

.blogpost_thumbnail{
    float: left;
    width: clamp(180px, 30vw, 320px);
    height: auto;
    border: 1px solid var(--border);
    margin-right: 10px;
}

/* ---------------- WIDGETS ---------------- */

.widget{

    margin-bottom:25px;

    color:var(--text);

}

.widget img{

    width:100%;

    border:1px solid var(--border);

}

/* ---------------- NAVIGATION ---------------- */

.topnav{

    display:flex;

    justify-content:center;

    align-items:flex-end;

    flex-wrap:wrap;

    gap:20px;

    margin-bottom:-2px;

    border-bottom:2px solid var(--border);

}

.topnav a{

    color:var(--accent-aqua);

    text-decoration:none;

    font-style:italic;

    padding:8px 18px;

    transition:.2s;

}

.topnav a:hover{

    color:var(--accent-yellow);

}

.topnav .active{

    background: rgb(var(--panel));

    color:var(--text);

    border:2px solid var(--border);

    border-bottom:2px solid var(--panel);

    border-radius:10px 10px 0 0;

    transform:translateY(2px);

}

/* ---------------- FOOTER ---------------- */

footer{

    font-family: "Geist Pixel", sans-serif;
    font-size:12px;

    margin-top:40px;

    padding:20px;
    padding-bottom: 0px;

    border-top:1px solid var(--border);

    color:var(--text-muted);

    text-align:center;

}

/* ---------------- RESPONSIVE ---------------- */

@media (max-width:1000px){

.layout{
    grid-template-columns:220px 1fr;
}

.right{
    grid-column:1 / 3;
}

}

@media (min-width:701px){

    .left,
    .right{
        position:relative;
        top:-45px;
    }

}

@media (max-width:700px){

.layout{

    display:flex;
    flex-direction:column;

    gap:20px;

}

.center{
    order:1;
}

.left{
    order:2;
    position:static;
    top:auto;

    padding-left: 1rem;
    padding-right: 1rem;

    text-align: center;
}

.right{
    order:3;
    position:static;
    top:auto;

    padding-left: 1rem;
    padding-right: 1rem;

    text-align: center;
}

.main-image{

    float: none;

    display: block;

    margin: 0 auto 1rem;

}

.content{

    padding:20px;

    padding-left: 1rem;
    padding-right: 1rem;

    text-align: center;

}

.banner img{

    width:75%;

}

.topnav{

    gap:6px;

    flex-wrap:wrap;

}

.topnav a{

    padding:4px 2px;

    letter-spacing:6;

    font-size:1.0rem;

}

}
