:root {
    --p: #6a1b9a;
    --pl: #9c4dcc;
    --pd: #38006b;
    --pt: #ffffff;

    --b: #263238;
    --bl: #4f5b62;
    --bd: #000f1b;
    --bd2: #000a12;
    --bt: #ffffff;

    --m: #f5f5f5;
    --ml: #fff;
    --md: #e2e2e2;
    --md2: #d2d2d2;
    --mt: #111;
}

html,
body {
    margin: 0px;
    padding: 0px;
    font-family: "Roboto", sans-serif;
    background-color: var(--m);
}
.bg-left {
    position: fixed;
    top: 0px;
    left: 0px;
    display: inline-block;
    width: 15%;
    height: 100vh;
    z-index: -10;
    background-color: var(--md);
}

.noscroll::-webkit-scrollbar {
    display: none;
}
.noscroll {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
body::-webkit-scrollbar {
    display: none;
}
body {
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.code-header {
    position: fixed;
    top: 0px;
    left: 0px;
    background-color: var(--bd2);
    font-family: monospace;
    display: inline-block;
    width: 100%;
    height: 377px;
    color: var(--bt);
    font-size: 16px;
    overflow-x: auto;
    z-index: -1;
}
.code-header table {
    border-collapse: collapse;
}
.code-header table,
th,
td {
    border: none;
}
.code-header td.number {
    background-color: var(--bd);
    text-align: right;
}
.code-header td {
    padding: 5px;
}

.code {
    white-space: nowrap;
}

/* Syntax Highlighting */
.code .call {
    color: rgb(221, 221, 124);
}
.code .declarator {
    color: lightseagreen;
}
.code .variable {
    color: lightskyblue;
}
.code .literal-string {
    color: rgb(216, 89, 89);
}
.code .literal-int {
    color: lightseagreen;
}
.code .tab {
    margin-right: 50px;
}
.code .comment {
    color: var(--bt);
    opacity: 0.4;
}

#main-page {
    z-index: 10;
    position: absolute;
    top: 0px;
    left: 0px;
    display: inline-block;
    width: 100%;
    height: 100%;
    overflow-y: auto;
}
#main-page * {
    z-index: inherit;
}

#main-page .personal {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 377px;
    background-color: #22222255;
    margin-bottom: -5px;
    user-select: none;
}
@media only screen and (min-width: 801px) {
    #main-page .personal .dax-icon {
        position: absolute;
        top: 35px;
        right: 35px;
        display: inline-block;
        width: 307px;
        height: 307px;
        border-radius: 50%;
        box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
        pointer-events: none;
    }
    .personal .dax-name {
        color: var(--bt);
        font-size: 4em;
        font-weight: 300;
        position: absolute;
        top: 120px;
        right: 377px;
    }
    .personal .dax-summary {
        color: var(--bt);
        opacity: 0.7;
        font-size: 1.3em;
        font-weight: 300;
        position: absolute;
        top: calc(150px + 2em);
        right: 377px;
        font-family: "Courier New", Courier, monospace;
    }
}
@media only screen and (max-width: 800px) {
    #main-page .personal .dax-icon {
        position: absolute;
        top: 70px;
        left: 50%;
        transform: translate(-50%, 0);
        display: inline-block;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
    }
    .personal .dax-name {
        color: var(--bt);
        font-size: 2.3em;
        font-weight: 400;
        position: absolute;
        top: 180px;
        left: 50%;
        transform: translate(-50%, 0);
        white-space: nowrap;
    }
    .personal .dax-summary {
        color: var(--bt);
        opacity: 0.7;
        font-size: 1em;
        font-weight: 400;
        position: absolute;
        top: calc(200px + 2.3em);
        left: 50%;
        transform: translate(-50%, 0);
        white-space: nowrap;
        font-family: "Courier New", Courier, monospace;
    }
}

.content > div {
    display: inline-block;
    position: relative;
    width: calc(100% - 20px);
    margin: 10px;
    margin-bottom: 0px;
    margin-top: 0px;
    height: fit-content;
    padding-top: 10px;
    box-sizing: border-box;
}
.content .container {
    padding: 10px;
    margin-bottom: 0px;
    border-radius: 10px;
    display: inline-block;
    height: fit-content;
    width: 100%;
    box-sizing: border-box;
    /*border-bottom: 3px solid var(--md);*/
    box-shadow: rgba(0, 0, 0, 0.1) 0px 6px 10px -3px,
        rgba(0, 0, 0, 0.05) 0px 2px 4px -2px;
}
.content .container > .title {
    font-size: 1.8em;
    font-family: "Courier New", Courier, monospace;
    user-select: none;
}
.content .container > .sep {
    margin: 10px;
    margin-left: 0px;
    position: relative;
    display: block;
    width: 40%;
    height: 2px;
    background-color: var(--p);
}
.content .container > .section-content {
    font-size: 1.2em;
    padding: 5px;
}
.content .whoami .container > .section-content .subheading {
    position: relative;
    padding: 5px;
    border-bottom: 2px solid var(--pl);
    width: 40%;
    height: fit-content;
    display: block;
    font-size: 1.3em;
    box-sizing: border-box;
    border-radius: 5px;
}
.content .whoami .container > .section-content .contact-links {
    position: relative;
    display: inline-block;
    width: 100%;
    height: 48px;
    text-align: center;
}
.content .whoami .container > .section-content .contact-links .link-container {
    position: relative;
    text-align: center;
    display: inline-block;
    height: fit-content;
    width: fit-content;
}
@media only screen and (min-width: 800px) {
    .content
        .whoami
        .container
        > .section-content
        .contact-links
        .link-container
        .link {
        position: relative;
        display: inline-block;
        height: 48px;
        width: auto;
        max-width: 48px;
        background-color: var(--md);
        overflow: hidden;
        border-radius: 24px;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
        padding: 10px;
        padding-right: 0px;
        padding-left: 48px;
        margin-right: 15px;
        box-sizing: border-box;
        transition: background-color 0.6s ease-in-out,
            max-width 0.6s ease-in-out;
        cursor: pointer;
    }
}
@media only screen and (max-width: 799px) {
    .content
        .whoami
        .container
        > .section-content
        .contact-links
        .link-container
        .link {
        position: relative;
        display: inline-block;
        height: 48px;
        width: fit-content;
        background-color: var(--md);
        overflow: hidden;
        border-radius: 24px;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
        padding: 10px;
        padding-right: 0px;
        padding-left: 48px;
        margin-right: 15px;
        box-sizing: border-box;
        margin-bottom: 15px;
    }
}
.content
    .whoami
    .container
    > .section-content
    .contact-links
    .link-container
    .link:hover,
.content
    .whoami
    .container
    > .section-content
    .contact-links
    .link-container
    .link:focus {
    background-color: var(--md2);
    max-width: 400px;
}
.content
    .whoami
    .container
    > .section-content
    .contact-links
    .link-container
    .link
    .icon {
    position: absolute;
    top: 8px;
    left: 8px;
    display: inline-block;
    width: 32px;
    height: 32px;
    font-size: 32px;
    user-select: none;
    opacity: 0.8;
}
.content
    .whoami
    .container
    > .section-content
    .contact-links
    .link-container
    .link
    .value {
    margin-right: 15px;
    text-decoration: none;
    color: var(--mt);
    font-family: "Courier New", Courier, monospace;
    white-space: nowrap;
    vertical-align: middle;
}

@media only screen and (min-width: 1000px) {
    .sections {
        position: sticky;
        position: -webkit-sticky;
        top: 0px;
        display: inline-block;
        width: 15%;
        height: 377px;
        background-color: var(--md);
        margin: 0px;
        vertical-align: top;
    }
    .content {
        position: relative;
        display: inline-block;
        width: 85%;
        height: fit-content;
        min-height: calc(100vh - 377px);
        padding: 4px;
        background-color: var(--m);
        margin: 0px;
        margin-left: -5px;
        vertical-align: top;
        box-sizing: border-box;
    }
}
@media only screen and (max-width: 999px) {
    .sections {
        display: none;
    }
    .content {
        position: relative;
        display: inline-block;
        width: 100%;
        height: fit-content;
        min-height: calc(100vh - 377px);
        padding: 4px;
        background-color: var(--m);
        margin: 0px;
        margin-left: 0px;
        vertical-align: top;
        box-sizing: border-box;
    }
}

.sections .section {
    margin: 10px;
    margin-bottom: 0px;
    background-color: var(--m);
    padding: 5px;
    border-radius: 5px;
    display: inline-block;
    width: calc(100% - 20px);
    height: fit-content;
    box-sizing: border-box;
    user-select: none;
    position: relative;
    transition: background-color 0.2s, color 0.2s;
    cursor: pointer;
}
.sections .section:last-child {
    margin-bottom: 10px;
}
.sections .section:hover,
.sections .section.selected {
    background-color: var(--p);
    color: var(--pt);
}
.sections .section.selected:hover {
    background-color: var(--pd);
}
.sections .section span:not(.material-icons) {
    position: absolute;
    top: 50%;
    left: 34px;
    transform: translate(0, -50%);
}

@media only screen and (min-width: 1650px) {
    .content .projects .container .section-content .item {
        padding: 10px;
        display: inline-block;
        position: relative;
        width: calc((100% / 2) - 40px);
        height: fit-content;
        margin: 10px;
        border-radius: 10px;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
        background-color: var(--md);
        vertical-align: top;
    }
}
@media only screen and (max-width: 1649px) {
    .content .projects .container .section-content .item {
        padding: 10px;
        display: inline-block;
        position: relative;
        width: calc(100% - 40px);
        height: fit-content;
        margin: 10px;
        border-radius: 10px;
        box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
        background-color: var(--md);
        vertical-align: top;
    }
}
.content .projects .container .section-content .item .image {
    position: relative;
    display: inline-block;
    width: 50%;
    height: auto;
}
.content .projects .container .section-content .item .title {
    display: block;
    font-size: 1.2em;
    border-bottom: 2px solid var(--pl);
    margin-bottom: 10px;
    font-family: "Courier New", Courier, monospace;
}
.content .projects .container .section-content .item .description {
    position: relative;
    display: inline-block;
    width: calc(50% - 10px);
    margin-left: 10px;
    vertical-align: top;
    height: auto;
}
.content .projects .container .section-content .item .link {
    position: absolute;
    top: 10px;
    right: 10px;
    color: var(--p);
}

.content .experience .container .section-content .item {
    padding: 10px;
    display: inline-block;
    position: relative;
    width: calc(100% - 40px);
    height: fit-content;
    margin: 10px;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    background-color: var(--md);
    vertical-align: top;
}
.content .experience .container .section-content .item .title .material-icons {
    position: absolute;
    display: inline-block;
    top: 50%;
    left: 5px;
    transform: translate(0, -50%);
}
.content .experience .container .section-content .item .title {
    padding-left: 34px;
    display: block;
    font-size: 1.2em;
    border-bottom: 2px solid var(--pl);
    margin-bottom: 10px;
    font-family: "Courier New", Courier, monospace;
    position: relative;
}
.content .experience .container .section-content .item .description {
    position: relative;
    display: inline-block;
    width: calc(100% - 10px);
    margin-left: 10px;
    vertical-align: top;
    height: auto;
}

.pronoun-page {
    position: absolute;
    top: 10px;
    right: 10px;
    color: var(--p);
    display: inline-block;
    width: 48px;
    height: 48px;
    border-radius: 24px;
    background-color: var(--md);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
    transition: background-color 0.2s;
}
.pronoun-page:hover {
    background-color: var(--md2);
}
.pronoun-page span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
