/*
    Layout
*/

* {
    box-sizing: border-box;
}

html,
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    text-align: center;
}

.container {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}


/* https://www.bram.us/2020/05/06/100vh-in-safari-on-ios/ */

@supports (-webkit-touch-callout: none) {
    html,
    body {
        min-height: -webkit-fill-available;
    }
}

main {
    flex-grow: 1;
    display: flex;
}

.content {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

article,
.group {
    display: flex;
    align-items: center;
    flex-direction: column;
}

.links {
    display: flex;
    flex-direction: row;
}

.links * {
    margin-left: 5px;
    margin-right: 5px;
}

footer {
    margin-top: 100px;
    padding-bottom: calc(1em + env(safe-area-inset-bottom));
}

#stars {
    /* height: 100vh;
    width: 100vw; */
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: black;
}


/*
    Font styling
*/

@font-face {
    font-family: 'Public Sans';
    font-display: swap;
    src: url("PublicSans-VariableFont_wght.ttf") format('truetype')
}

body {
    font-family: Public Sans, sans-serif;
    font-size: 18px;
    color: #fff
}


/*
    Element styling
*/

a:link,
a:visited,
a:hover,
a:active {
    color: white;
    text-decoration-color: rgb(155, 155, 155);
    text-decoration-thickness: 1px;
}

.group {
    margin-top: 10px;
    margin-bottom: 10px;
}

h1 {
    font-size: 3rem;
    margin-bottom: 2.5px;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.5rem;
    margin-top: 2.5px;
    margin-bottom: 2.5px;
}

span {
    font-size: 1rem;
}

p {
    margin-top: 5px;
    font-size: 1rem;
}

p .fa-heart {
    font-size: 1rem;
    vertical-align: middle;
    color: red;
}

.links .fa-twitter {
    color: #1d9bf0;
}

.links .fa-discord {
    color: #5865f2
}

.links .fa-github {
    color: white
}

.links .fa-spotify {
    color: #1ed760
}

.links .fa-heart {
    color: purple
}

aside {
    font-size: 1rem;
}

img {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    border: 1px solid white;
    border-radius: 1px;
}

.heart {
    color: green;
    font-size: 2rem;
    margin-left: 10px;
    margin-right: 10px;
}

.fadeOne {
    animation: fadeOne 2s infinite;
}

.fadeTwo {
    animation: fadeTwo 2s infinite;
}

img {
    color-scheme: only light;
    vertical-align: middle;
}

svg {
    color-scheme: only light;
}

.flag {
    width: 2rem;
}

@keyframes fadeOne {
    0% {
        opacity: 1;
    }
    50% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes fadeTwo {
    0% {
        opacity: 0;
    }
    50% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}