:root {
    --background-blue: #3498db;
}

body {
    height: 100%;
    width: 100%;
    margin: 0;
    background: #3498db;
    overflow: hidden;
    font-family: "Courier New";
    font-size: 4vh;
}

body:before {
    content: "";
    position: absolute;
    background: transparent;
    width: 100%;
    height: 100%;
    top: -30%;
    right: -50%;
    transform: rotate(30deg);
    background: rgba(255, 255, 255, 0.1);
    pointer-events: none;
    mix-blend-mode: overlay;
    box-shadow: inset 0 0 50px #fff;
    backdrop-filter: blur(20px);
}

header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
}

header > audio {
    position: fixed;
    right: 0;
    width: 30%;
    height: 5vh;
    margin-top: 10px;
    margin-right: 10px;
}

.footer {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    background-color: transparent;
    color: black;
    text-align: left;
    padding-inline: 5vw;
    padding-block: 5vh;
}

.footer a{
    text-decoration: none;
}

.footer a:hover, .footer a > svg:hover{
    fill: whitesmoke;
    color: whitesmoke;
}

.footer a > svg {
    fill: black;
    margin-right: 1.5vw;
    width: 4vh;
    height: 4vh;
}

#ciao{
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

    /* Animation */
    border-right: .15em solid black;
    white-space: nowrap;
    overflow: hidden;
    margin: 0 auto;
    letter-spacing: .15em;
    animation: typing 2.5s steps(25, end), blink-caret .75s step-end infinite;
}

@keyframes typing {
    from { width: 0 }
    to { width: 300px }
}

@keyframes blink-caret {
    from, to { border-color: transparent }
    50% { border-color: black; }
}