:root{
    --bg-main: #CADC9F;
    --fg-main: #306230;
    --fg-light: #CADC9F;
    --fg-main-shadow: #0F380F;
    --font-main: #306230;
    --font-header: #0F380F;
    --font-bold: #0F380F;
    --link-bg: #0F380F;
    --link-colour: #0F380F;
    --link-highlight: #CADC9F;
    --border-colour: #306230;
    --border-shadow: #00000080;
}

html {
  scrollbar-color: #0F380F #00000000;
  scrollbar-width: auto;
}


a{
    text-decoration: none;
    text-align: center;
    color: var(--link-colour);
    background: var(--bg-main);
    padding: 0px 8px;
}

a:hover{
	color: var(--link-highlight);
	background-color: var(--link-bg);
	cursor: url('imgs/img_cursor_pointer.png'), auto;
}

button:hover{
	cursor: url('imgs/img_cursor_pointer.png'), auto;
}

b{
	color: var(--font-bold);
}

body{
    background: #000000;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 100vh;
    max-height: 100vh;
    user-select: none;
    color: var(--font-main);
    font-family: "font main";
    overflow: hidden;
    cursor: url('imgs/img_cursor_default.png'), auto;
}

h1, h2, h3, h4, h5, h6{
	color: var(--font-header);
	text-align: center;
    padding-left: 40px;
    margin: 0;
}

hr{
	color: var(--border-colour);
	border: 1px solid var(--border-colour);
}

p{
	font-size: 24px;
    padding-left: 30px;
}

li{
	list-style: "~";
}

# links-list li{
	list-style: none;
}

#container{
	background: var(--bg-main);	
	padding: 50px;
	min-width: 50vw;
	max-width: 50vw;
	max-height: 75vh;
	height: 75vh;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	box-shadow: inset 5px 5px 10px var(--border-shadow),
	inset -5px -5px 10px var(--border-shadow);
}

#content{
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
	animation: load-site 4s steps(10, end) both;
}

#content:not(.started){
	justify-content: center;
}

#content.started .start-only{
	display: none;
}

#content:not(.started) #gb-pages,
#content:not(.started) .gb-menu-item[data-target="home"]{
	display: none;
}

#gb-header{
	text-align: center;
}

#gb-pic{
	width: clamp(96px, 28vh, 256px);
	height: auto;
	border-radius: 100%;
	image-rendering: pixelated;
	border: 3px solid var(--border-colour);
}

.tagline{
	font-size: 16px;
	padding-left: 0;
}

#gb-screen{
	display: flex;
	align-items: stretch;
	gap: 28px;
	margin-top: 16px;
	text-align: left;
	min-height: 0;
}

#content:not(.started) #gb-screen{
	justify-content: center;
}

#content.started #gb-screen{
	flex: 1;
	margin-top: 0;
}

#gb-menu{
	flex: 0 0 150px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.gb-menu-item{
	all: unset;
	display: block;
	cursor: pointer;
	font-family: inherit;
	font-size: 20px;
	color: var(--font-main);
	padding: 4px 8px 4px 24px;
	position: relative;
}

.gb-menu-item::before{
	content: "~";
	position: absolute;
	left: 6px;
	opacity: 0;
}

.gb-menu-item.active{
	color: var(--font-header);
}

.gb-menu-item.active::before{
	opacity: 1;
}

.gb-menu-item:hover,
.gb-menu-item:focus-visible{
	color: var(--link-highlight);
	background-color: var(--link-bg);
	outline: none;
}

#gb-pages{
	flex: 1;
	min-width: 0;
	min-height: 0;
	font-size: 20px;
}

#gb-pages ul{
	padding-left: 24px;
	margin: 4px 0;
}

.page{
	display: none;
}

.page.active{
	display: block;
	height: 100%;
	min-height: 0;
	overflow-y: auto;
	animation: page-in 2s steps(10, end) both;
}

#page-profile.active{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 24px;
	align-content: start;
}

#page-profile .wide{
	grid-column: 1 / -1;
}

#page-profile ul{
	column-count: 2;
	column-gap: 24px;
}

.page.project.active{
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.project .image{
	flex: 1 1 0;
	min-height: 60px;
	width: 100%;
	box-sizing: border-box;
	object-fit: cover;
}

.project .desc{
	font-size: 18px;
}

#gb-links a{
	display: inline-block;
	margin: 4px 6px 4px 0;
}

.sprite{
	max-width: 128px;
	max-height: 128px;
	image-rendering: pixelated;
	filter: drop-shadow(2px 2px 0px var(--fg-main-shadow));
}

.image{
	width: 100%;
	image-rendering: pixelated;
	padding: 3px;
	background-color: var(--border-colour);
	border: 3px solid var(--border-colour);
}

@media (max-width: 900px){
	body{
		display: block;
		height: 100dvh;
		max-height: 100dvh;
		overflow: hidden;
		background: var(--bg-main);
	}
	#container{
		box-sizing: border-box;
		padding: 12px;
		box-shadow: none;
		min-width: unset;
		max-width: unset;
		width: 100%;
		height: 100dvh;
		max-height: none;
	}
	#gb-screen{
		flex-direction: column;
		gap: 12px;
	}
	#gb-menu{
		flex-direction: row;
		flex-wrap: wrap;
		flex-basis: auto;
		width: 100%;
		justify-content: center;
	}
	#gb-pages{
		flex: 1 1 0;
	}
	.project .image{
		padding: 0;
		border: none;
	}
}

@font-face{
	font-family: "font main";
	src: url("fonts/gb.ttf");
}

@keyframes load-site{
	0%{
		opacity: 0%;
	}
	25%{
		opacity: 0%;
	}
	100%{
		opacity: 100%;
	}
}

@keyframes page-in{
	from{
		opacity: 0;
	}
	to{
		opacity: 1;
	}
}
