:root {
    --maxTextWidth: 1000px;
    --line-height:1.28em;
    --marginTop:clamp(16px, 10vw, 28px);
}

* {
    box-sizing:border-box;
    hyphens: auto;
    -ms-hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    
    font-weight:normal;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    position:relative;
    margin:0;
    padding:0;
    /* overflow: hidden; */

    font-size: clamp(12px, 16px, 32px);
    line-height:var(--line-height);
    background: black;
    color:white;

    display:flex;
    flex-flow: row wrap;
    justify-content: center;
}

img, video, iframe {
    max-width:100%;
}

img {
    width:100%;
}

div, img {
    margin:0;
    padding:0;
}

iframe {
    width:100%;
    height:1000px;
    /* aspect-ratio: 16 / 9; */
}

.pdf {
    width:100%;
    margin: 0 0 1em 0;
}

a {
    color: cyan;
    text-decoration: none;
}

a:hover {
    color:lightgrey;
}

.icon a, .header a {
    text-decoration:none;
}

.header a:visited {
    color:lightgray;
}

p {
    width:100%;
    margin: 1em 0;
}

.project:first-of-type, p:first-of-type, .icons + p, .projects p {
    margin: 0 0 1em 0;
}

.constant p:last-of-type {
    margin-bottom:0;
}

/*!temporarily nullifying italics since runic.otf doesn't have italics!*/
i, em {
    font-style:normal;
}

/* SECTIONS */
.popup {
    position:fixed;
    z-index:10;
    left:1em;
    top: 1em;
}

.main {
    width:100%;
    display:flex;
    flex-flow: row wrap;
    justify-content: center;
}

.header {
    position: fixed;
    right: var(--marginTop);
    top: var(--marginTop);
    z-index:10;
}

footer {
    background:white;
    padding-bottom:.75em;
}