/* Website Color Scheme */
:root {
    
    --text:white;

    --accent: #9f131b;
    --background-accent: #4d1e20;

    --text-depressed:#909096;
    --background-depressed: #404048;

    --background1: #232020;
    --background2: #353540;
    --background3: #262631;
    --background4: #303042;
    --background-tile-gradient: linear-gradient(0deg, var(--background3) 0%, var(--background4) 100%);
	--background-row-gradient: linear-gradient(90deg, var(--background3) 20%, var(--background4) 40%, var(--background4) 60%, var(--background3) 80%);
    
}



/* ------------ Core Page Structure -------- */

* {
	padding: 0px;
	margin: 0px;

	font-family: arial;
	font-size: 28px;

	color: var(--text);
	background: transparent;
}

body {
	display: flex;
	flex-direction: column;
    min-height:100vh;

	background: var(--background1);
}

main {
	display: flex;
    flex:1;
    height:100%;
    /* overflow:auto; */  /* causes havoc on mobile */
}



/* ------------ Common Classes ------------- */

.unselectable {
	-webkit-touch-callout: none;
	-webkit-user-select: none;
	-khtml-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}

/* overrides other styles if depressed with !important */
.depressed {
	color: var(--text-depressed) !important;
    text-decoration:line-through !important;
}
.depressed:hover {
    background:var(--background-depressed) !important;
}

.hidden {
	display: none !important;
}

.tile-img {
    aspect-ratio: 1;
    width:inherit;
}

.tile-title {
	font-size:25px;
	color: #ff6000;
	font-weight:bold;
}

hr {
	background:red;
	margin-top:10px;
	margin-bottom:15px;
}

.szoveg {
	font-family: Georgia;
	font-size:18px;
	text-align:left;
	padding:10px;
}

.inset {
    background: rgb(0,0,0,20%);
    border-radius: 6px;
    box-shadow: inset 0px 0px 10px rgb(0,0,0,60%);
}

.beta-icon {
    font-size: 0.65em;
    font-weight: bold;
    background: #0059b3;
    padding:4px;
    margin-left:5px;
    border-radius:4px;
    vertical-align:middle;
}

/* ----------- Titlebar & Navbar ----------- */

#site-icon {
    width:2em;
    padding:0px 14px;
}

#title-image-div {
    display:flex;
    align-items: center;
}

.titlebar {
	padding: 10px;
	margin: 0;
	background: var(--background-row-gradient);
    
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.titlebar h1 {
    font-size: 1.1em;
    font-weight: bold;
    margin:2px;
    align-items:center;
    display:flex;
}

.navbar-btn {
	display: none;
}

.navbar {
	z-index: 2;
	overflow: hidden;
	display: flex;

}

.navbar a {
    background: linear-gradient(0deg, #353540 0%, #383850 100%);

	display: inline-flex;
    align-items:center;
	text-decoration: none;
	padding: 9px 12px;
	margin: 0px 10px 0px 10px;
	font-size: 0.65em;
	border-radius:5px;
}

.navbar a.active {
	background: var(--background-accent);
}

.navbar-btn.active {
	background: #653540;
}

.navbar a:hover {
	background: rgba(101, 53, 64, 0.5);
}


/* -------------- Footer ------------------- */

footer {
	background: var(--background3);
	width: 100%;
	padding-top: 20px;
	padding-bottom: 10px;
}

footer p, footer a {
	display: block;
	font-size: 18px;
	margin-bottom: 4px;
	text-indent: 5px;
	font-weight: 300;
	text-decoration: none;
}

footer a {
	display: inline;
}

footer a:hover {
	text-decoration: underline;
}

#footer-title {
	font-size: 24px;
	margin-bottom: 10px;
	text-indent: 0px;
}

.footer-grid {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	margin-left: 20%;
	margin-right: 20%;
}

.grid {
    display: grid;
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: space-evenly;
}


/*------------------------------------*/

@media screen and (max-width: 1200px) {
	footer p, footer a {
		font-size: 14px;
		margin-bottom: 3px;
		text-indent: 2px;
	}
	#footer-title {
		font-size: 20px;
		margin-bottom: 6px;
	}
}

@media screen and (max-width: 1024px) {
	.navbar a {
		margin: 0px 5px 0px 5px;
	}
	footer p, footer a {
		font-size: 12px;
		margin-bottom: 2px;
		text-indent: 1px;
	}
	#footer-title {
		font-size: 18px;
		margin-bottom: 4px;
	}
}

@media screen and (max-width: 768px) {
    #site-icon {
        display: none;
    }

	.titlebar {
        flex-direction:column;
        align-items: stretch;
        padding-left: 20px;
        padding-right: 20px;
	}

	.titlebar h1 {
        font-size: 1.00em;
        max-width:60vw;
        text-align:right;
	}

    #title-image-div {
        display:inline-flex;
        justify-content:space-between;
        width:100%;
        
    }

	.navbar-btn {
        display:flex;
		text-align: center;
		background: #353540;
		border-radius:4px;

		width: 1.5em;
		height: 1.5em;
	}

	.navbar-btn img {
        width: inherit;
	}

	.navbar {
        margin-top:0;
        flex-direction:column;
	}
	.navbar.active {
        margin-top:8px;
        flex-direction:column;
	}

	.navbar a {
		display: flex;
		flex-direction: row;
		list-style: none;
		text-decoration: none;

		padding: 0;
		margin: 0;
		font-size: 0;
        height:0;

        background: linear-gradient(0deg, #353540 0%, #383850 100%);
        box-shadow: 0px 0px 15px rgb(0,0,0,30%);

        transition-duration: 0.25s;
	}

	.navbar.active a {
		padding: 10px 14px;
		margin: 06px 0px;
		font-size: 0.8em;
        height:unset;
	}

	.btn {
		padding: 50px 50px;
		font-size: 32px;
	}
	.footer-grid {
		display: grid;
		grid-template-columns: 1fr;
		text-align: center;
	}

	#grid-div {
		margin-bottom: 10px;
	}
}
