* {
    font-family: consolas;
}

::selection {
    background: rgba(148, 243, 107, 0.726);
}

a, button{
    color:black;
}

.background{
    position: absolute;
    
    top: 0;
    left: 0;
    width: 100%;
    bottom: 0;
    margin: 0;
    padding: 0;
    z-index: -1; /* Pushes the entire layer behind everything else */
    overflow-x: hidden;
}

#star_01 { top: 50px; left: 5%;}
#star_02 { top: 700px; right: 40%;}
#star_03 { top: 1300px; left: 4%;}

.ascii{
    font-family: Arial, Helvetica, sans-serif;
    
    user-select: none;
    
    line-height: 1.25em;
    letter-spacing: -0.05em;
    text-wrap-mode: nowrap;
    
    transform-origin:center;
    transform: rotate(deg);
    font-size: 25px;
    color:rgb(0, 0, 0);
    
    width: 300px;
    height: auto;
    
    transition: color .5s;
    
    text-shadow: 4px 4px 10px #cccbcb;
    
    position: absolute;
    
    opacity: 0.2;
}

.ascii:hover{
    color:rgb(194, 194, 194);
}

html, body{
    cursor: crosshair;
    min-height: 100vh;
    width: 100%;
    flex-direction: column;
    display: flex;
    
    margin: 0;
    padding: 0;
    
    font-size: 120%;
}

h1, h2, h3, h4, h5, h6, p{
    cursor: text;
}

body {
    position: relative;
}

.content{
    min-height: 75vh;
    margin: 10px;
    margin-top: 1.3%;
}

.content>*{
    margin-left: 1.3%;
    margin-right: 1.3%;
}

h1, h2, h3, h4, h5, h6{
    margin: auto;
}

.info>*{
    margin-bottom: 10px;
    font-size: inherit;
    background-color: transparent;
    transition: font-size 0.15s, background-color 0.15s;
    padding-top: 3px;
    padding-bottom: 0px;
    transition: padding-top ease 0.1s, padding-bottom ease 0.1s;
}

.info>*:hover{
    font-size: 100%;
    padding-top: 0px;
    padding-bottom: 3px;
    cursor:text;
}

.info>*> :is(.name, .age, .pronouns) {
    transition: background-color 0.2s;
}

.info>*:hover > :is(.name, .age, .pronouns){
    background-color: rgba(255, 255, 138, 0.555);
    border-radius: 7px;
}

.col_container{
    display: flex;
    flex-direction: row;
}

.col_container>.panel{
    margin-left: auto;
}

.left_panel, .right_panel, .panel{
    margin-top: 25px; 
    margin-bottom: 25px; 
    background-color: rgba(169, 169, 169, 0.35);
    padding: 20px;
    cursor: text;
}

#donut-ascii{
    height:40%;
    width:40%;
    margin:auto;
    text-align: center;
}

.shake{
    background:none;
    border-style: none;
    padding: 0px;
}

@keyframes fade_out {
    0% {opacity: 0%;}
    15% {opacity: 100%;}
    30% {opacity: 100%;}
    60% {opacity: 0%;}
    100% {opacity: 0%;}
}

@keyframes confetti-fall {
    0% {
        transform: rotate(0deg);
    }
    100% {
        top: 30%;
        transform: rotate(360deg);
    }
}

.confetti{
    cursor: pointer;
}

.confetti_particle{
    position: absolute;
    width: 10px;
    height: 10px;
    animation: fade_out 2s, confetti-fall 2s;
}

footer {
    width: 100%;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: darkgrey;
    border-radius: 0px;
    opacity: .5;
    text-align: center;
}

.links{
    margin-left: auto;
    margin-right: auto;
    font-size: 100%;
}

.links>th, td{
    width: 175px;

    text-align: center;
    text-decoration: underline;
}

hr{
    border-style: double;
}

.link_icon{
    transition: opacity ease 0.2s;
    opacity: 0.0;  
}

.md-header{
    display: flex;
    flex-direction: row;
}

.md-header>*{
    margin: 0px;
}

.md-header:hover> .link_icon{
    opacity: 1.0;
}

.link_icon {
    height: 30px;
    padding: 0px;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: 10px;
}

.expandable-image{
    cursor: pointer;
}

.expandable-button-background{
    border-style: none;
    position:sticky;
    overflow: hidden;
    height: 100vh;
    width: 100%;
}

.expandable-button-image{
    
}

@media only screen and (max-width: 12.99in) /* Mobile */
{
    footer{
        font-size: 80%;
    }
    
    .links>th, td{
        width: 145px;
    }
    
    .left_panel, .right_panel{
        margin-bottom: 40px; 
    }

    .col_container{
        flex-direction: column;
    }

    .col_container>*{
        margin-left: 0px;
        margin-right: 0px;
    }

    .col_container>.panel{
        margin-left: 0%;
    }

    .right_panel .copy, .left_panel .copy{
        right: calc(40px + 10px + 1px);
    }

    #donut-ascii {
        height:100%;
        width:100%;
        order: 1;
    }
}

@media only screen and (min-width: 13in) 
{
    .left_panel{
        margin-right:49%; 
    }

    .left_panel .copy{
        right: calc(49% + (30px + 1px));
    }

    .right_panel .copy{
        right: calc(40px + 20px + 1px);
    }
    
    .right_panel{
        margin-left:49%; 
    }
    
    .half-width{
        width: 50%;
    }
}