body {
    width: min(90vw, 80ch);
}

h2 {
    font-size: 1.25rem;
}



nav {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    
    padding: .5rem 3rem 1rem 3rem;
}

nav > a {
    color: var(--text);
    border-bottom: .1rem solid var(--text);
    
    padding: .3rem 1rem;
    margin: 1rem 2rem;

    font-size: .85rem;
    text-decoration: none;
    
    transition: color .3s, border-bottom .3s;
}

nav > a:hover {
    color: var(--primary);
    border-bottom: .1rem solid var(--primary);
}



.presentation {
    display: flex;
    flex-direction: column;
    align-items: center;

    padding: 2rem 3rem;
    margin: 1rem auto;
    width: min(65ch, 90%);
    
    background-color: var(--grey3);
    border-radius: .5rem;
    box-shadow: 0 1rem 2rem var(--grey1);
}

.presentation > img {
    grid-area: logo;
    width: min(20ch, 35vmin);

    margin: 1rem 0;
    box-shadow: none;
}

.presentation > header {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.qwik-explained {
    width: min(45ch, 80%);
}



.services-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.service {
    width: min(35ch, 80%);
    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 1rem auto;
    padding: 1rem 1.5rem;

    background-color: var(--grey3);
    border-radius: .5rem;
    box-shadow: 0 1rem 2rem var(--grey1);
}

.service > h2 {
    text-align: center;
    margin: 0;
}

.service > p {
    margin: 1rem auto;
}

.buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    
    margin-top: auto;
}

.buttons > a {
    color: var(--primary);
    background-color: transparent;
    
    border: .1rem solid var(--primary);
    border-radius: .5rem;
    /* box-shadow: 0 -5rem 20rem transparent; */
    
    margin: .5rem;
    padding: .5rem 1.5rem;
    display: block;

    font-size: .75rem;
    text-decoration: none transparent;
    text-align: center;

    transition: color .3s, background-color .3s, box-shadow .3s;
}

.buttons > a:hover, .buttons > a:focus {
    color: var(--surface);
    background-color: var(--primary);
    /* box-shadow: 0 .25rem 2rem var(--primary); */
}

.buttons > a.onion {
    color: var(--purple);
    border-color: var(--purple);
}

.buttons > a.onion:hover, .buttons > a.onion:focus {
    color: var(--text);
    background-color: var(--purple);
}



.maintainer-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.maintainer {
    display: flex;
    flex-direction: column;
    align-items: center;
    
    padding: 1rem 2rem;
    margin: 1rem auto;

    background-color: var(--grey3);
    border-radius: .5rem;
    box-shadow: 0 1rem 2rem var(--grey1);
}

.maintainer > h2 {
    margin: 0;
}

.contact-options {
    display: grid;
    grid-template-columns: auto auto;
}

.contact-type {
    font-size: .85rem;
    color: var(--accent);
    margin-right: 1rem;
}

.contact-options > p {
    padding: .5rem 0;
}



footer {
    display: flex;
    flex-direction: column;
    align-items: center;

    margin: 15vh 0;
    padding: 1rem auto;
    
    width: 100%;
    border-top: .1rem solid var(--accent);
}

footer > p, footer > p > a {
    font-size: .65rem;
    width: max-content;
}

.love {
    font-size: .85rem;
    margin-top: 2rem;
}

.heart {
    color: var(--accent2);
    font-size: 1.15rem;
}