body {
    margin: 0;
}

@font-face {
    font-family: "monospace-sans";
    src: url("/media/fonts/SplineSansMono[wght].ttf");
}

h1 {
    display: flex;
    flex-direction: row;
    align-items: center;
    margin: 0 0.5em 0 0.5em;

    font-size: 2.5em;
    font-family: monospace-sans, monospace, sans;

    height: 2.5em;
}

h1 span {
    display: block;
    transition: font-size 0.3s;
}

h1 span:hover {
    font-size: 140%;
    animation: rainbow 2.5s linear;
    animation-iteration-count: infinite;
}

#content {
    margin-left: 15%;
}

#presentation {
    margin-top: 3em;
    margin-bottom: 3em;
}

nav > div {
    margin-top: 1%;
}

.section-title {
    font-size: 2em;
    text-decoration: none;
    color: black;

    padding: 0.5%;

    transition: background-color 0.3s;
}

.section-title + span {
    padding-left: 2%;

    opacity: 0;
    transition: opacity 0.3s;
}

.section-title:hover {
    background-color: #aaa;
}

nav > div:hover span {
    opacity: 1;
}

.section-title:hover + span {
    opacity: 1;
}

#ugly {
    position: fixed;
    bottom: 0;
    right: 0;

    font-size: 0.7em;
    padding: 0.5em;
}

@keyframes rainbow {
    100%,
    0% {
        color: rgb(255, 0, 0);
    }
    8% {
        color: rgb(255, 127, 0);
    }
    16% {
        color: rgb(255, 255, 0);
    }
    25% {
        color: rgb(127, 255, 0);
    }
    33% {
        color: rgb(0, 255, 0);
    }
    41% {
        color: rgb(0, 255, 127);
    }
    50% {
        color: rgb(0, 255, 255);
    }
    58% {
        color: rgb(0, 127, 255);
    }
    66% {
        color: rgb(0, 0, 255);
    }
    75% {
        color: rgb(127, 0, 255);
    }
    83% {
        color: rgb(255, 0, 255);
    }
    91% {
        color: rgb(255, 0, 127);
    }
}

.swap-on-hover:hover > .show-on-default {
    display: none;
}

.swap-on-hover:hover > .show-on-hover {
    display: block;
}

.show-on-hover {
    display: none;
}
