:root{
    --black: #141414;
    --dark-grey: #1f1f1f;
    --light-grey: #333333;
    --white: #e6e6e6;
    --highlight: #8d3dc2;
    --transition-speed: 0.4s;
}
body{
    background-color: var(--black);
    color: var(--white);
    transition: color var(--transition-speed), background-color var(--transition-speed);
    font-family: "Balthazar", serif;
}
a{
    color: var(--highlight);
}
h1, h2, h3, h4, h5, h6{
    text-align: center;
    margin-bottom: 5px;
    color: var(--highlight);
    font-family: "Germania One", system-ui;
}
h1{
    font-size: 36px;
}
h2{
    font-size: 28px;
}
h3{
    font-size: 22px;
}
h4{
    font-size: 19px;
}
h5{
    font-size: 16px;
}
h6{
    font-size: 13px;
}
header{
    position: fixed;
    top: 0px;
    left: 0px;
    right: 0px;
    background-color: var(--dark-grey);
    display: flex;
    flex-direction: row;
    height: 8%;
    align-items: center;
    transition: background-color var(--transition-speed);
}
hr{
    border-color: var(--highlight);
    width: 90%;
}
p{
    margin: 5px;
    padding: 5px;
    font-size: 18px;
}
.pixel{
    image-rendering:pixelated;
}
.box{
    background-color: var(--dark-grey);
    border-radius: 15px;
    margin: auto;
    transition: background-color var(--transition-speed);
}
.hflex{
    display: flex;
    flex-direction: row;
    align-items: center;
}
.vflex{
    display: flex;
    flex-direction: column;
    align-items: center;
}
canvas{
    flex-shrink: 10;
}
.button{
    background-color: var(--light-grey);
    color: var(--white);
    height: 35px;
    padding: 10px;
    margin: 5px;
    text-decoration: none;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 20px;
    transition: var(--transition-speed);
}
.button:hover{
    background-color: var(--black);
    color: var(--highlight);
    transition: var(--transition-speed);
}
.header-button{
    background-color: var(--light-grey);
    color: var(--white);
    height: 50%;
    margin: auto;
    margin-left: 10px;
    text-decoration: none;
    border-radius: 10px;
    display: flex;
    flex-direction: row;
    align-items: center;
    font-size: 20px;
    transition: var(--transition-speed);
}
.header-button:hover{
    background-color: var(--black);
    color: var(--highlight);
    transition: var(--transition-speed);
}
.inline-logo{
    height: 30px;
    width: 30px;
    margin-right: 10px;
    border-radius: 10px;
    transition-duration: var(--transition-speed);
}
.logo{
    height: 80%;
    margin: 5px;
    position: absolute;
    transition: var(--transition-speed);
}
.logo:hover{
    height: 90%;
    margin: 2px;
    transition: var(--transition-speed);
}
.header-logo{
    height: 100%;
    border-radius: 10px;
}
.center-flex{
    margin: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.small{
    font-size: 11px;
    font-weight: normal;
}
.site-icon{
    margin: auto;
}
.icon-image{
    border-radius: 5px;
}
.left{
    display: block;
    width: 70%;
    margin: auto;
    margin-left: 7px;
    text-align: left;
}
.right{
    display: block;
    width: 70%;
    margin: auto;
    margin-right: 7px;
    text-align: right;
}
.about-image-v{
    width: 100px;
    padding: 10px;
    border-radius: 20px;
}
.about-image-h{
    width: auto;
    height: 150px;
    padding: 10px;
    border-radius: 20px;
}
.lfloat{
    position: static;
    float: left;
}
.rfloat{
    position: static;
    float: right;
}
.donut{
    width: 60%;
    padding: 0px;
    margin: auto;
    /* display: inline-block; */
    margin-left: -5%;
    margin-right: -5%;
}

#brightness{
    flex-basis: 0%;
    height: 100%;
    background-color: transparent;
    border-width: 0px;
}
#brightness-icon{
    height: 100%;
    border-radius: 10px;
}

@media screen and (max-width: 700px){
    .button{
        width: 60%;
    }
    .header-button{
        padding: 5px 10px 5px 60px;
    }
    .thin{
        width: 90%;
    }
    .spacer{
        height: 80px;
    }
    .site-icon{
        height: 40px;
    }
    .icon-image{
        height: 34px;
        margin: 3px;
    }
}
@media screen and (max-width: 1100px) and (min-width: 700px){
    .button{
        width: 52%;
    }
    .header-button{
        padding: 5px 10px 5px 70px;
    }
    .thin{
        width: 60%;
    }
    .spacer{
        height: 90px;
    }
    .site-icon{
        height: 44px;
    }
    .icon-image{
        height: 38px;
        margin: 3px;
    }
}
@media screen and (max-width: 1600px) and (min-width: 1100px){
    .button{
        width: 50%;
    }
    .header-button{
        padding: 5px 10px 5px 80px;
    }
    .thin{
        width: 35%;
    }
    .spacer{
        height: 90px;
    }
    .site-icon{
        height: 50px;
    }
    .icon-image{
        height: 40px;
        margin: 5px;
    }
}
@media screen and (max-width: 2000px) and (min-width: 1600px){
    .button{
        width: 45%;
    }
    .header-button{
        padding: 5px 10px 5px 80px;
    }
    .thin{
        width: 25%;
    }
    .spacer{
        height: 100px;
    }
    .site-icon{
        height: 50px;
        margin: auto;
    }
    .icon-image{
        height: 40px;
        margin: 5px;
    }
}
@media screen and (min-width: 2000px){
    .button{
        width: 45%;
    }
    .header-button{
        padding: 5px 10px 5px 100px;
    }
    .thin{
        width: 20%;
    }
    .spacer{
        height: 120px;
    }
    .site-icon{
        height: 60px;
    }
    .icon-image{
        height: 44px;
        margin: 8px;
    }
}
