@property --percent {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 0%;

}
.spectral-sc-light {
  font-family: "Spectral SC", serif;
  font-weight: 300;
  font-style: normal;
}

.spectral-sc-regular {
  font-family: "Spectral SC", serif;
  font-weight: 400;
  font-style: normal;
}

.spectral-sc-medium {
  font-family: "Spectral SC", serif;
  font-weight: 500;
  font-style: normal;
}


:root
{

    --h-font: "Spectral SC", serif;
    --text-font: "Playfair Display", serif;
    --h1: 90px;
    --h2: 60px;
    --title: 80px;
    --h3: 40px;
    --h4: 30px;
    --p: 30px;
    --nav: 20px;
}
body
{
    background-color: black;
    color: white !important;
    width:80%;
    margin:auto;
    padding-top: 100px;
}

* {
  font-family: var(--text-font);
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}
h1,h2,h3,h4,h5, h1 *, h2 *, h3 *, h4 *, h5 *, #topnavbar a {
  font-family: var(--h-font) !important;
  font-weight: 500;
  font-style: normal;
}
h1, h1 *
{
    font-size: var(--h1) !important;
}
h2, h2 *
{
    font-size: var(--h2) !important;
}
.title
{
    font-style:italic;
    font-size: var(--title) !important;
}
h3, h3 *
{
    font-size: var(--h3) !important;
}
h4, h5, h4 *, h5 *
{
    font-size: var(--h4) !important;
}
p, span, a, p *, span *, a *
{
    font-size: var(--p);
}

#topnavbar
{
    position:fixed;
    top:0px;
    right:0px;
    padding: 20px;
    
    border-bottom-left-radius: 10px;
    z-index: 20;
    background: rgba(0, 0, 0, 0.8);
}
#topnavbar > li
{
    position:relative;
    text-transform: lowercase;
    text-align: center;
    display:flex;
    > a
    {
        min-width: 180px;
        text-decoration: none;
        font-size: var(--nav);
        padding-left: 10px;
        padding-right:10px;
        transition: transform 0.2s;
    }
    > a::before
    {
        display:block;
        color: white;
        transform: scale(2);
        transition: transform 0.2s, content 0.5s;
    }
    > a:hover
    {
        transform: scale(1.05);
    }
    > a:hover::before
    {
        content: "●";
        transform: scale(2.2);
        /* color: gray; */
    }
    > a::before
    {
        content: "○";
    }
    > a.past::before
    {
        content: "●";
    }
}

#topnavbar > li:not(:last-child) > a ~ span
{
    --percent: 0%;
    width: 60px;
    margin-top: calc(var(--nav) - 4px);
    transform: scaleX(2);
    height: 2px;
    background: linear-gradient(90deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 1) var(--percent), rgba(255, 255, 255, 0.5) var(--percent), rgba(255, 255, 255, 0.5) 100%);
    transition: --percent 0.1s;
}

section.min-1200
{
    min-height: 1200px;
}
#fin
{
    min-height: 1000px;
}

.horizontal-list
{
    display:flex !important;
    flex-direction: row !important;
    list-style: none !important;
}
section
{
    transition: opacity 0.2s;
}