/* Potato fonts */
@font-face {
    font-family: "PotatoPixel";
    src: url("/fonts/potato-pixel.eot");
    src: url("/fonts/potato-pixel.eot?#iefix") format("embedded-opentype"),
         url("/fonts/potato-pixel.otf") format("opentype");
}

@font-face {
    font-family: "PotatoBig";
    src: url("/fonts/potato-big.eot");
    src: url("/fonts/potato-big.eot?#iefix") format("embedded-opentype"),
         url("/fonts/potato-big.otf") format("opentype");
}

/* Root */
:root {
    --color0: #000000;
    --color1: #1d2b53;
    --color2: #7e2553;
    --color3: #008751;
    --color4: #ab5236;
    --color5: #5f574f;
    --color6: #c2c3c7;
    --color7: #fff1e8;
    --color8: #ff004d;
    --color9: #ffa300;
    --color10: #ffec27;
    --color11: #00e436;
    --color12: #29adff;
    --color13: #83769c;
    --color14: #ff77a8;
    --color15: #ffccaa;
    --color16: #2463b0;
    --color17: #00a5a1;
    --color18: #654688;
    --color19: #125359;
    --color20: #742f29;
    --color21: #452d32;
    --color22: #a28879;
    --color23: #ffacc5;
    --color24: #b9003e;
    --color25: #e26b02;
    --color26: #95f042;
    --color27: #00b251;
    --color28: #64dff6;
    --color29: #bd9adf;
    --color30: #e40dab;
    --color31: #ff8557;
}

/* Body */
body {
    font-family: "PotatoPixel", sans-serif;
    font-weight: 400;
    color: var(--color1);
    background-color: var(--color7);
	margin: 0;
	min-height: 100vh;
    image-rendering: pixelated;
}

/* Texts */
p {
    font-size: 30px;
	font-weight: 400;
    margin: 0 0 15px 0;
}

h1 {
	font-family: "PotatoBig", sans-serif;
    font-size: 60px;
	font-weight: 400;
	text-shadow: -3px 3px var(--color1);
    margin: 0 0 15px 0;
}

/* Header */
header {
	margin: 0;
	position: inherit;
}

@media (min-width: 800px) {
	header {
		position: sticky;
		top: -120px;
	}
}

/* Hero */
.hero {
    position: relative;
	background-color: var(--color16);
	height: 120px;
	padding: 0 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

.hero::before,
.hero::after {
    content: '';
    width: 20%;
    max-width: 240px;
    height: 96px;
    background: url(/images/cloud.png);
    background-size: cover;
    background-position: right;
    position: absolute;
    bottom: 0;
}

.hero::before {
    left: 0;
}

.hero::after {
    right: 0;
    transform: scaleX(-1);
}

/* Logo */
.logo {
	color: rgb(250, 250, 250);
	line-height: 36px;
    height: 96px;
    margin: 0;
    display: flex;
    align-items: center;
}

@media (min-width: 375px) {
    .logo {
        background: url(/images/lobo.png);
        background-size: 48px;
        background-repeat: no-repeat;
        background-position: right;
        height: 96px;
        width: min-content;
        margin: 0;
        padding-right: 48px;
    }
}

@media (min-width: 640px) {
    .logo {
        width: max-content;
    }
}

/* Main menu */
.main-menu {
	list-style: none;
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 33px 33px 6px 6px;
	background-color: var(--color7);
    box-shadow: -3px 0 var(--color6);
	height: calc(100vh - 36px);
	max-width: 258px;
	position: fixed;
	top: 0;
	right: -300px;
	overflow: auto;
	transition: right .3s;
}

.menu-toggle {
	position: fixed;
	top: 0;
	right: 0;
	width: 33px;
	height: 33px;
	margin: 0;
	opacity: 0;
	z-index: 2;
}

.menu-icon {
	position: fixed;
	top: 0;
	right: 0;
	padding: 9px;
	background-color: var(--color7);
	z-index: 1;
	box-shadow: 0 0 0 3px var(--color6);
	transition: box-shadow .3s;
}

.menu-toggle:checked ~ .menu-icon {
	box-shadow: none;
}

.menu-toggle:checked ~ .main-menu {
	right: 0;
}

.main-menu li {
    position: relative;
	margin-top: 6px;
}

.main-menu > li:first-child {
	margin-top: 0;
}

.main-menu a,
.main-menu span {
    display: block;
    color: var(--color1);
    font-size: 30px;
    padding: 6px 12px;
    text-align: left;
    text-decoration: none;
    background-color: var(--color7);
    box-shadow: inset 0 0 transparent;
    transition: box-shadow .15s;
}

.main-menu li:focus > a,
.main-menu li:hover > a,
.main-menu li:focus > span,
.main-menu li:hover > span {
    background-color: var(--color6);
    box-shadow: inset -3px 3px var(--color13);
}

.main-menu ul {
    padding: 0;
    list-style: none;
}

.main-menu ul a,
.main-menu ul span {
	padding-left: 30px;
}

.main-menu ul a::before,
.main-menu ul span::before {
	content: '';
	width: 6px;
	height: 6px;
	position: absolute;
	left: 12px;
	top: 18px;
	background-color: var(--color6);
}

@media (min-width: 800px) {
	.main-menu {
		position: inherit;
		height: auto;
    	max-width: none;
		flex-direction: row;
		justify-content: center;
		padding: 6px 0;
		overflow: visible;
		box-shadow: 0 3px rgba(5, 5, 5, .15);
	}

	.menu-toggle {
		display: none;
	}

	.menu-icon {
		display: none;
	}
	
	.main-menu li {
		margin: 0;
	}

	.main-menu > li ~ li {
		margin-left: 6px;
	}

	.main-menu ul {
		position: absolute;
		left: -6px;
		width: max-content;
		min-width: 100%;
		padding: 6px;
		background: var(--color7);
		box-shadow: 0 3px rgba(5, 5, 5, .15);
		visibility: hidden;
		transform: translateY(-6px);
		transition: transform .15s;
	}

	.main-menu li:focus ul,
	.main-menu li:hover ul {
		visibility: visible;
		transform: translateY(0);
	}

	.main-menu ul li ~ li {
		margin-top: 6px;
	}

	.main-menu ul a {
		padding-left: 12px;
	}

	.main-menu ul a::before {
		content: none;
	}
}

/* Content */
.content {
    margin: 24px auto;
    width: calc(100% - 72px);
    max-width: 1200px;
}

/* Cards */
.card {
    background-color: rgb(250, 250, 250);
    box-shadow: -6px 6px rgba(5, 5, 5, .15);
    transition: box-shadow .3s, transform .3s;
}

.card:focus,
.card:hover {
    transform: translateY(-6px);
    box-shadow: -6px 12px rgba(5, 5, 5, .15);
}