@media(prefers-reduced-motion) {
    * {
        animation: none !important;
        transition: none !important
    }
}

:root {
    --lines: #3693;
    --linesdark: rgba(255, 255, 255, 0.1);
    --link: #369;
    --link-dark: #8be;
    --titles: #407076;
    --color1: #50cfb5;
    --color2: #636A7C;
    /* --color3: #4B3C26; */
    --color3: #8B575C;
    --fonts: Raleway, Helvetica, Arial, sans-serif;
}

*:focus {
    outline: 2px dashed var(--link);
    outline-offset: 2px
}

html, body {
    margin: 0;
    padding: 0;
    font-family: var(--fonts);
}

body {
    min-height: 100vh;
    display: flex;
    flex-direction: column
}

a:link {
	color: #2edfda;
	/* unvisited link */
}

a:visited {
    color: #b200b2;
    color: #aC7Af3;
}

a:hover {
	color: #ff6883;
}

a:active {
	color: #ffaf04;
	/*During click*/
}

.max-width img{
    max-width: 100%;
    width: -webkit-fill-available;
    object-fit: cover;
}

.center{
    margin: auto;
    width:fit-content;
}

.auto-resizable-iframe {
    max-width: 560px;
    margin: 0px auto;
}

.auto-resizable-iframe > div {
    position: relative;
    padding-bottom: 75%;
    height: 0px;
}

.auto-resizable-iframe iframe {
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

#video-360 {
    margin: auto;
    width: 500px;
    height: 400px;
    max-width: 100%;
}

svg {
    fill: black;
    cursor: pointer;
}

.dark svg{
    fill: #ccc;
}

svg#moonsun {
    fill: #282828;
    cursor: pointer;
}

.dark svg#moonsun{
    fill: #ffcc00;
}

#fullname {
    background-image: linear-gradient(45deg, #8d6761, #636A7C);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent;
}

pre textarea {
    height: 100px;
    width: 100%;
}

blockquote {
    border-left: .25rem solid var(--lines);
    padding-left: 1rem;
    box-sizing: border-box;
    line-height: 1.5;
    margin: 1rem 0;
}

h1, h2, h3, h4, h5, h6 {
    color: var(--titles);
    font-weight: bold;
    margin: 1.75rem 0 .5rem 0
}

h1 {
    font-size: 3rem
}

h2 {
    font-size: 2.5rem
}

h3 {
    font-size: 1.75rem
}

h4 {
    font-size: 1.5rem;
}

@supports(background-clip: text) {
    h1, h2 {
        background-image: linear-gradient(45deg, #8d6761, #636A7C);
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent
    }
}

@supports(-webkit-background-clip: text) {
    h1, h2 {
        background-image: linear-gradient(45deg, #8d6761, #636A7C);
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent
    }
}

hr {
    width: 200px;
    margin: 2rem auto
}

iframe {
    border: 0;
    width: 100%;
    border-radius: .5rem
}

p, li {
    font-size: 1.125rem;
    line-height: 1.75;
}

code {
    font-size: 1eem;
    font-family: monospace, monospace
}

section {
    box-sizing: border-box
}

table {
    width: 100%;
    border: 1px solid;
    border-radius: .5rem;
    border-spacing: 0;
    overflow: hidden;
    background: #fff
}

table thead {
    box-shadow: inset 0 -2px
}

table td, table th {
    padding: .5rem;
    font-size: 1.125rem
}

table tbody tr:nth-child(odd) {
    background: rgba(0, 0, 0, .1)
}

main#main {
    outline: none;
    flex: 1
}

.align-right {
    text-align: right
}

.container {
    width: 90%;
    max-width: 1100px;
    margin: auto auto
}

.container.mini {
    max-width: 600px
}

.has-shadow {
    margin-bottom: 3rem;
    position: relative;
    border-radius: .5rem
}

.has-shadow::before {
    content: "";
    display: block;
    position: absolute;
    top: 2rem;
    left: 1rem;
    width: 100%;
    height: 100%;
    z-index: -1;
    border-radius: .5rem;
    background: repeating-linear-gradient(45deg, transparent 0 0.5%, var(--lines) 0 1.5%, transparent 0 2%)
}

.tag {
    color: #fff;
    font-size: .825em;
    font-weight: bold;
    display: inline-block;
    margin-right: .25rem;
    margin-bottom: .5rem;
    padding: .25rem .5rem;
    background: var(--color1);
    border-radius: .25rem
}

.tag.tag-javascript {
    background: var(--color4)
}

.tag.tag-css {
    background: var(--color3)
}

.tag.tag-html {
    background: var(--color2)
}

body>header {
    box-sizing: border-box;
    width: 100%;
    max-width: 1600px;
    height: 15vw;
    margin: auto auto;
    display: grid;
    grid-template-columns: 15vw 1fr 60vw;
    grid-template-rows: 1fr
}

body>header #my-pic {
    display: none;
    width: 100%;
    height: 100%;
    grid-column: 1/2;
    grid-row: 1/2
}

body>header #my-pic::before {
    content: none
}

body>header #my-pic img {
    border-radius: .5rem;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center
}

body>header .titles {
    display: flex;
    justify-content: center;
    flex-direction: column;
    grid-column: 1/2;
    grid-row: 1/2
}

body>header .titles .title {
    color: var(--titles);
    margin: 0 .5rem 0 .5rem;
    font-size: clamp(1.5rem, 5vw, 3rem);
    display: inline-block;
    font-weight: bold;
    text-decoration: none
}

body>header .titles p {
    display: none
}

body>header nav.main-nav {
    width: 100%;
    height: 100%;
    grid-column: 3/4;
    grid-row: 1/2
}

body>header nav.main-nav ul {
    width: 100%;
    height: 100%;
    display: flex;
    list-style: none;
    padding-left: 0;
    margin: 0
}

body>header nav.main-nav ul li {
    flex: 1;
    width: 100%;
    height: 100%;
    margin: 0
}

body>header nav.main-nav ul li:nth-of-type(1) a {
    background: var(--color1)
}

body>header nav.main-nav ul li:nth-of-type(2) a {
    background: var(--color2)
}

body>header nav.main-nav ul li:nth-of-type(3) a {
    background: var(--color3)
}

body>header nav.main-nav ul li:nth-of-type(4) a {
    background: var(--color4)
}

body>header nav.main-nav ul li a {
    display: flex;
    height: 100%;
    width: 100%;
    text-decoration: none;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: .875rem;
    transition: box-shadow .5s;
    color: #000;
    outline-offset: -4px
}

body>header nav.main-nav ul li a:focus, body>header nav.main-nav ul li a:hover {
    box-shadow: inset 0 0 0 10in rgba(255, 255, 255, .2);
    outline: 2px dashed
}

body>header nav.main-nav ul li a.active {
    box-shadow: 0 .35rem #000
}

body>header nav.main-nav ul li a img {
    width: 35%;
    height: 35%;
    margin-bottom: .5rem
}

body>header .has-shadow {
    margin-bottom: 0
}

body.home>header {
    margin: 2rem auto 0 auto;
    width: 90%;
    height: auto;
    grid-template-columns: 1fr 9fr 1fr;
    grid-template-rows: 1fr 8fr 1fr 4fr 3fr
}

body.home>header #my-pic {
    display: block;
    border-radius: .5rem;
    grid-column: 1/3;
    grid-row: 1/3
}

body.home>header #my-pic::before {
    content: "";
    left: 8.2vw;
    top: 5.8vh
}

body.home>header #my-pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: .5rem
}

body.home>header .titles {
    grid-column: 1/4;
    grid-row: 4/5
}

body.home>header .titles .title {
    margin-left: 0;
    margin-bottom: 0;
    line-height: 1;
    font-size: clamp(1.5rem, 8vw, 3rem)
}

body.home>header .titles .title+p {
    display: block;
    font-size: 1.25rem;
    font-size: clamp(1.25rem, 5vw, 2rem);
    margin-top: .25rem
}

body.home>header nav {
    position: relative;
    z-index: 2;
    grid-column: 1/4;
    grid-row: 5/6
}

body.home>header nav a {
    font-size: 1.25rem
}

@media all and (min-width: 700px) {
    body>header {
        margin: 1rem auto;
        padding: 0 1rem 0 1rem;
        height: 5rem;
        grid-template-columns: 5rem 1fr 20rem
    }

    body>header #my-pic {
        display: block;
        border-radius: .5rem
    }

    body>header .titles {
        grid-column: 2/3;
        grid-row: 1/2
    }

    body>header nav.main-nav ul li:nth-of-type(1) a {
        border-radius: .5rem 0 0 .5rem
    }

    body>header nav.main-nav ul li:nth-of-type(2) a {
        border-radius: 0 .5rem .5rem 0
    }

    body>header nav.main-nav ul li a {
        font-size: 1rem
    }

    body.home>header {
        width: 90vw;
        height: 54vw;
        grid-template-columns: 5fr 19fr 19fr 5fr 5fr 9fr 19fr 19fr;
        grid-template-rows: 20fr 40fr 25fr 5fr 10fr
    }

    body.home>header #my-pic {
        grid-column: 1/5;
        grid-row: 1/4
    }

    body.home>header #my-pic::before {
        left: 4.5vw;
        top: 8.1vw
    }

    body.home>header .titles {
        padding: 2vw;
        grid-column: 6/9;
        grid-row: 1/3
    }

    body.home>header .titles .title {
        font-size: 5em;
        font-size: clamp(1.5rem, 10vw, 5rem)
    }

    body.home>header .titles .title+p {
        font-size: 2rem;
        font-size: clamp(1rem, 6vw, 1.5rem)
    }

    body.home>header nav {
        grid-column: 3/9;
        grid-row: 3/5
    }

    body.home>header nav ul {
        display: flex
    }

    body.home>header nav ul li a {
        font-size: 1.25rem
    }
}

@media all and (min-width: 1100px) {
    body>header {
        height: 9rem;
        grid-template-columns: 6rem 1fr 24rem
    }

    body>header .titles .title {
        line-height: 1
    }

    body>header .titles p {
        display: block;
        margin: 0 0 0 .5rem
    }

    body.home>header {
        width: 1000px;
        height: 600px;
        grid-template-columns: 5fr 19fr 19fr 5fr 5fr 9fr 19fr 19fr;
        grid-template-rows: 20fr 40fr 25fr 5fr 10fr
    }

    body.home>header #my-pic::before {
        left: 50px;
        top: 90px
    }

    body.home>header .titles {
        padding: 2rem
    }

    body.home>header .titles .title {
        font-size: 5em
    }

    body.home>header .titles .title+p {
        font-size: 2rem;
        margin: 0
    }

    body.home>header nav.main-nav ul li a {
        font-size: 1.5rem
    }
}

main+footer {
    margin: 1rem;
    font-size: 1.25rem;
    text-align: center
}

main+footer>div {
    margin-top: 1rem;
    height: 3rem;
    line-height: 3rem
}

footer{
    height: 74px;
}

footer .social-links a {
    display: inline-block;
    margin: .25rem .5rem;
    outline-offset: 2px
}

main+footer .social-links a:hover, main+footer .social-links a:focus {
    opacity: .75;
    outline: 2px dashed
}

main+footer .social-links a img, main+footer .social-links a svg {
    width: 2.5em;
    height: 2.5em
}

.personal-projects {
    width: 100%;
    display: flex;
    flex-direction: column
}

.personal-projects .buttons {
    display: flex;
    height: 25vw
}

.personal-projects .buttons.has-shadow {
    margin-bottom: 0rem
}

.personal-projects .buttons.has-shadow::before {
    display: none
}

.personal-projects .buttons button {
    flex: 1;
    border: 0;
    background: transparent;
    outline-offset: -4px;
    outline-color: #000;
    cursor: pointer;
    margin: 0
}

.personal-projects .buttons button:nth-child(1) {
    background: var(--color1)
}

.personal-projects .buttons button:nth-child(2) {
    background: var(--color2)
}

.personal-projects .buttons button:nth-child(3) {
    background: var(--color3)
}

.personal-projects .buttons button:nth-child(4) {
    background: var(--color4)
}

.personal-projects .buttons button:not([tabindex]) {
    position: relative;
    box-shadow: -2px 0 rgba(0, 0, 0, .25), 2px 0 rgba(0, 0, 0, .25);
    /* z-index: 1 */
}

.personal-projects .buttons button:hover {
    outline: 2px dashed #000
}

.personal-projects .buttons button img {
    width: 50%;
    height: 50%;
    object-fit: contain;
}

.personal-projects .panels {
    flex: 1;
    border-radius: 0;
    box-shadow: 0 -2px 0 rgba(0, 0, 0, .2)
}

.personal-projects .panels.has-shadow {
    margin-bottom: 0
}

.personal-projects .panels .panel {
    padding: 2rem;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    outline-offset: -4px;
    border-radius: 0;
    box-shadow: 0 -2px 0 rgba(0, 0, 0, .25);
    position: relative;
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(12, 1fr)
}


.personal-projects .panels .panel:nth-child(1) {
    background: var(--color1)
}

.personal-projects .panels .panel:nth-child(2) {
    background: var(--color2)
}

.personal-projects .panels .panel:nth-child(3) {
    background: var(--color3)
}

.personal-projects .panels .panel:nth-child(4) {
    background: var(--color4)
}

.personal-projects .panels .panel a {
    display: block;
    width: 100%;
    color: #000;
    outline-offset: 2px
}

.personal-projects .panels .panel a:hover {
    outline: 2px dashed
}

.personal-projects .panels .panel a img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    box-shadow: 0 0 0 .25rem #fff;
    border-radius: .5rem
}

.personal-projects #panel-css-woman-1 {
    grid-column: 2/6;
    grid-row: 1/6
}

.personal-projects #panel-css-snakes {
    grid-column: 8/12;
    grid-row: 9/12
}

.personal-projects #panel-css-almondcss {
    grid-column: 7/13;
    grid-row: 1/7
}

.personal-projects #panel-css-lamuerte {
    grid-column: 1/7;
    grid-row: 8/13
}

.personal-projects #panel-css-woman-2 {
    grid-column: 5/9;
    grid-row: 5/10;
    z-index: 1
}

.personal-projects #panel-kahme {
    grid-column: 1/8;
    grid-row: 5/10
}

.personal-projects #panel-textivities {
    grid-column: 6/13;
    grid-row: 1/8
}

.personal-projects #panel-studiokah {
    grid-column: 7/12;
    grid-row: 9/13
}

.personal-projects #panel-imagecloud {
    grid-column: 1/5;
    grid-row: 1/5
}

.personal-projects #panel-spellingabeja {
    grid-column: 7/13;
    grid-row: 1/8;
    z-index: 1
}

.personal-projects #panel-spotlightjs {
    grid-column: 2/9;
    grid-row: 7/12
}

.personal-projects #panel-gamepadjs {
    grid-column: 10/13;
    grid-row: 11/13
}

.personal-projects #panel-wordcloud {
    grid-column: 1/5;
    grid-row: 1/5
}

.personal-projects #panel-css-snakes-2 {
    grid-column: 6/12;
    grid-row: 2/9
}

.personal-projects #panel-king-fly {
    grid-column: 2/7;
    grid-row: 8/13
}

.personal-projects #panel-login {
    grid-column: 11/13;
    grid-row: 10/13
}

#home-about {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center
}

#home-contact {
    display: flex;
    flex-direction: column;
    background: var(--color1);
}

#home-contact h2 {
    color: #000
}

#home-contact label {
    display: block;
    margin-bottom: .25rem
}

#home-contact .error-field {
    color: #a00;
    position: relative;
    margin-top: -0.75rem;
    margin-bottom: 1rem;
    display: none
}

#home-contact .error-field.error {
    display: block
}

#home-contact button, #home-contact input, #home-contact textarea {
    border: 0;
    background: #fff;
    width: 100%;
    height: 3rem;
    font-size: 1.4rem;
    font-family: var(--fonts);
    margin-bottom: 1rem;
    border-radius: .25rem;
    padding: .5rem;
    box-sizing: border-box
}

#home-contact button.error, #home-contact input.error, #home-contact textarea.error {
    box-shadow: inset 0 0 0 2px #a00
}

#home-contact textarea {
    line-height: 1.5;
    height: 9rem;
    resize: none
}

#home-contact button {
    background: #369;
    color: #fff;
    transition: background .5s
}

#home-contact button:hover, #home-contact button:focus {
    background: #258
}

#home-contact #form-result {
    display: none;
    padding: 1rem;
    border: 2px solid;
    border-radius: .5rem;
    margin-bottom: 1rem
}

#home-contact #form-result p, #home-contact #form-result label, #home-contact #form-result ul, #home-contact #form-result li {
    font-size: 1rem;
    margin: 0
}

#home-contact #form-result label {
    display: inline-block;
    text-decoration: underline;
    cursor: pointer
}

#home-contact #form-result label:hover {
    text-decoration: none
}

#home-contact #form-result.success {
    display: block;
    color: #060;
    background: #cfc
}

#home-contact #form-result.error {
    display: block;
    color: #600;
    background: #fcc
}

#home-blog {
    min-height: 50vh;
    display: flex;
    flex-direction: column;
    justify-content: center
}

@media all and (min-width: 700px) {
    .personal-projects {
        flex-direction: row;
        padding: 0;
        /* margin: 15vh 0 */
    }

    .personal-projects .buttons {
        height: auto;
        width: 22.5vh;
        flex-direction: column
    }

    .personal-projects .buttons button:not([tabindex]) {
        box-shadow: 0 -2px rgba(0, 0, 0, .25), 0 2px rgba(0, 0, 0, .25)
    }

    .personal-projects .buttons button:not([tabindex]):first-child {
        box-shadow: 0 2px rgba(0, 0, 0, .25)
    }

    .personal-projects .buttons button:not([tabindex]):last-child {
        box-shadow: 0 -2px rgba(0, 0, 0, .25)
    }

    .personal-projects .panels {
        box-shadow: -2px 0 rgba(0, 0, 0, .2)
    }
}

@media all and (min-width: 1100px) {
    .personal-projects {
        flex-direction: row;
        display: grid;
        /* grid-template-columns: 2rem calc(100px - 0.5rem) calc(100px - 2.5rem) 2rem 1fr 3fr 2rem; */
        grid-template-rows: 2rem 2rem 1fr 0rem 2rem 2rem;
        padding: 1rem
    }

    .personal-projects .buttons {
        position: relative;
        z-index: 2;
        grid-column: 1/4;
        grid-row: 3/6;
        border-radius: .5rem;
        width: 100%
    }

    .personal-projects .buttons.has-shadow::before {
        display: block;
        height: 100%;
        height: calc(100% + 4rem);
        top: -2rem;
        left: 2rem
    }

    .personal-projects .buttons button {
        position: relative
    }

    .personal-projects .buttons button:nth-child(1) {
        border-radius: .5rem .5rem 0 0
    }

    .personal-projects .buttons button:nth-child(4) {
        border-radius: 0 0 .5rem .5rem
    }

    .personal-projects .panels {
        border-radius: .5rem;
        grid-column: 3/8;
        grid-row: 1/4;
        position: relative;
        box-shadow: none
    }

    .personal-projects .panels.has-shadow::before {
        width: 65%;
        top: 4rem;
        left: auto;
        right: 2rem
    }

    .personal-projects .panels .panel {
        box-shadow: none;
        border-radius: .5rem;
        padding-left: 40px;
        position: relative
    }
}

#work-history {
    margin-top: 5rem
}

#work-history section {
    padding-bottom: 2rem
}

#work-history #resume-jobs {
    font-size: .875rem;
    margin-bottom: 5rem;
    padding: 0rem 1rem 0 1rem;
    width: calc(100% - 1rem);
    box-sizing: border-box
}

#work-history #resume-jobs h2 {
    margin-bottom: 0;
    line-height: 1;
    text-align: center;
    font-size: 1.75rem;
    font-weight: 400
}

#work-history #resume-jobs img {
    width: 50%;
    max-width: 170px
}

#work-history #resume-jobs>li {
    position: relative;
    margin-bottom: 4rem;
    border-radius: .5rem;
    background: #f6f8fc;
    list-style: none;
    padding: 1rem;
    max-width: calc(100% - 2rem)
}

#work-history #resume-jobs>li section {
    margin: 0
}

#work-history #resume-jobs .job-logo {
    margin: auto auto;
    display: block
}

#work-history #resume-jobs .timeline {
    font-size: 1.125em;
    text-align: center
}

#work-history #resume-jobs .positions {
    list-style: none;
    padding-left: 0
}

#work-history #resume-jobs .tags {
    list-style: none;
    padding-left: 0;
    margin-bottom: 1em
}

#work-history #resume-jobs .tags li {
    font-size: 1.25em;
    line-height: 1.5
}

#work-history #resume-jobs .tags li:not(:first-child) {
    font-size: 1em;
    display: inline-block;
    margin-right: .5rem;
    margin-bottom: .5rem;
    padding: .25rem .5rem;
    background: var(--color1);
    border-radius: .25rem
}

#work-history #resume-jobs h3 {
    font-weight: 300;
    color: #369
}

@media all and (min-width: 700px) {
    #work-history #resume-jobs {
        position: relative;
        width: 100%;
        width: calc(100% - 2rem);
        margin: auto auto;
        font-size: .925rem
    }

    #work-history #resume-jobs::after {
        content: "";
        position: absolute;
        top: -2rem;
        left: 1rem;
        width: 1rem;
        height: 100%;
        height: calc(100% + 3rem);
        border-radius: 1rem;
        z-index: -1;
        background: var(--lines);
        background: linear-gradient(var(--lines) 0 0.75rem, transparent 0 1rem, var(--lines) 0 1.25rem, transparent 0 1.5rem, var(--lines) 0 1.75rem, transparent 0 2rem, var(--lines) 0)
    }

    #work-history #resume-jobs>li {
        margin-left: 2.5rem;
        margin-right: 1rem;
        display: grid;
        grid-template-columns: 15rem 1fr;
        grid-template-rows: 8rem 1fr;
        max-width: none
    }

    #work-history #resume-jobs>li::after {
        content: attr(data-year);
        display: flex;
        align-items: flex-end;
        position: absolute;
        top: 1rem;
        left: -3rem;
        width: 4rem;
        height: 4rem;
        font-weight: bold;
        background: #f007;
        background: radial-gradient(circle at 26% 30%, white 20%, var(--link) 20.5% 25%, transparent 25.5%), linear-gradient(45deg, transparent 50%, #f6f8fc 0);
        background-size: 100% 100%, 2rem 2rem;
        background-position: top left, 1.75rem 1rem;
        background-repeat: no-repeat
    }

    #work-history #resume-jobs img {
        width: 100%;
        object-fit: contain;
        grid-column: 1/2;
        grid-row: 1/2;
        height: 100%
    }

    #work-history #resume-jobs h2 {
        grid-column: 1/2;
        grid-row: 2/3;
        font-size: 1.25rem;
        text-align: center;
        margin: 1rem 1rem 0 1rem;
        line-height: 2rem;
        color: #369
    }

    #work-history #resume-jobs h3 {
        margin-top: 0
    }

    #work-history #resume-jobs .timeline {
        grid-column: 1/2;
        grid-row: 2/3;
        margin-top: 2.5rem;
        text-align: center
    }

    #work-history #resume-jobs .positions {
        grid-column: 2/3;
        grid-row: 1/3
    }
}

@media all and (min-width: 1100px) {
    #work-history #resume-jobs {
        font-size: .875rem;
        max-width: 1600px;
        margin: auto auto;
        display: grid;
        grid-template-columns: 1fr 2rem 1fr;
        grid-template-rows: repeat(18, auto)
    }

    #work-history #resume-jobs::after {
        left: 50%;
        transform: translate(-50%, 0)
    }

    #work-history #resume-jobs>li {
        width: 100%;
        width: calc(100% - 3rem);
        grid-template-columns: 9rem 1fr
    }

    #work-history #resume-jobs>li:nth-child(n+3) {
        margin-top: 2rem
    }

    #work-history #resume-jobs>li:nth-child(even) {
        grid-column: 3/4;
        margin-left: 1rem
    }

    #work-history #resume-jobs>li:nth-child(odd) {
        grid-row: 1/3;
        margin-left: 0;
        grid-template-columns: 1fr 9rem
    }

    #work-history #resume-jobs>li:nth-child(odd)::before {
        left: -1rem
    }

    #work-history #resume-jobs>li:nth-child(odd)::after {
        align-items: flex-end;
        justify-content: flex-end;
        left: auto;
        right: -3rem;
        background: radial-gradient(circle at 74% 30%, white 20%, var(--link) 20.5% 25%, transparent 25.5%), linear-gradient(-45deg, transparent 57%, #f6f8fc 0);
        background-position: top right, -1.25rem 1rem;
        background-repeat: no-repeat
    }

    #work-history #resume-jobs>li:nth-child(odd) img {
        grid-column: 2/3
    }

    #work-history #resume-jobs>li:nth-child(odd) h2 {
        grid-column: 2/3
    }

    #work-history #resume-jobs>li:nth-child(odd) .timeline {
        grid-column: 2/3
    }

    #work-history #resume-jobs>li:nth-child(odd) .positions {
        grid-column: 1/2
    }

    #work-history #resume-jobs>li:nth-child(1) {
        grid-row: 1/5
    }

    #work-history #resume-jobs>li:nth-child(2) {
        grid-row: 3/7
    }

    #work-history #resume-jobs>li:nth-child(3) {
        grid-row: 5/9
    }

    #work-history #resume-jobs>li:nth-child(4) {
        grid-row: 7/11
    }

    #work-history #resume-jobs>li:nth-child(5) {
        grid-row: 9/13
    }

    #work-history #resume-jobs>li:nth-child(6) {
        grid-row: 11/15
    }

    #work-history #resume-jobs>li:nth-child(7) {
        grid-row: 13/17
    }

    #work-history #resume-jobs h2 {
        font-size: 1.075em;
        margin-top: 2.5rem;
        line-height: 1
    }

    #work-history #resume-jobs .timeline {
        margin-top: .5rem
    }
}

#blog {
    margin: 3rem auto
}

#blog .main-blog {
    margin-top: 0;
    margin-bottom: 3rem
}

#blog .main-blog>header img {
    max-width: 100%;
    margin-bottom: 2rem
}

#blog .main-blog .post-list {
    list-style: none;
    padding-left: 0;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    margin-top: 3rem
}

#blog .main-blog .post-list li {
    display: flex;
    flex: 1;
    min-width: 225px;
    padding-right: 1rem;
    box-sizing: border-box;
    margin-bottom: 1rem
}

#blog .main-blog .post-list li:first-child {
    min-width: 100%;
    margin-bottom: 3rem
}

#blog .main-blog .post-list li:first-child::before {
    left: 10%;
    width: 70%
}

#blog .main-blog .post-list li:first-child .post-card {
    display: flex;
    flex-direction: column
}

#blog .main-blog .post-list li:first-child .post-card:hover .desc .align-right {
    text-decoration: none
}

#blog .main-blog .post-list li:first-child .post-card h2 {
    font-size: 1.25em
}

#blog .main-blog .post-list li:first-child .post-card img {
    max-height: 320px
}

#blog .main-blog .post-list li:first-child .post-card .desc {
    font-size: 1rem;
    color: #222
}

#blog .main-blog .post-list li:first-child .post-card .desc .align-right {
    color: #000;
    text-decoration: underline
}

#blog .main-blog .post-list li:nth-child(2), #blog .main-blog .post-list li:nth-child(3), #blog .main-blog .post-list li:nth-child(10n+10), #blog .main-blog .post-list li:nth-child(10n+11) {
    min-width: 50%
}

#blog .main-blog .post-list li:nth-child(7), #blog .main-blog .post-list li:nth-child(8), #blog .main-blog .post-list li:nth-child(9), #blog .main-blog .post-list li:nth-child(10n+15), #blog .main-blog .post-list li:nth-child(10n+16), #blog .main-blog .post-list li:nth-child(10n+17), #blog .main-blog .post-list li:nth-child(10n+18), #blog .main-blog .post-list li:nth-child(10n+19) {
    min-width: 100%
}

#blog .main-blog .post-list li:nth-child(3n) .post-card {
    background: var(--color2)
}

#blog .main-blog .post-list li:nth-child(5n) .post-card {
    background: var(--color3)
}

#blog .main-blog .post-list li:nth-child(7n) .post-card {
    background: var(--color4)
}

#blog .main-blog .post-list li .post-card {
    border-radius: .5rem;
    background: var(--color1);
    overflow: hidden;
    flex: 1;
    text-decoration: none;
    outline-offset: 2px
}

#blog .main-blog .post-list li .post-card:focus, #blog .main-blog .post-list li .post-card:hover {
    outline: 2px dashed #000
}

#blog .main-blog .post-list li .post-card img {
    min-width: 100%;
    max-height: 160px;
    object-fit: cover;
    object-position: 50% 50%
}

#blog .main-blog .post-list li .post-card>div {
    padding: .5rem .75rem
}

#blog .main-blog .post-list li .post-card>div h2 {
    padding: 0;
    line-height: 1.5;
    font-size: 1.25rem;
    margin: .5rem 0 .5rem 0;
    font-size: 1.25rem;
    color: #222;
    text-decoration: none
}

#blog .main-blog footer {
    border-top: 1px solid;
    margin-top: 4rem
}

#blog .side-bar {
    position: relative
}

#blog .side-bar section {
    margin-top: 0;
    margin-bottom: 2rem
}

#blog .side-bar section:last-child {
    position: sticky;
    top: 0
}

#blog .side-bar section h2 {
    margin-top: 0
}

#blog .side-bar section .popular-blogposts {
    padding-left: 0;
    list-style: none
}

#blog .side-bar section .popular-blogposts li {
    line-height: 1.5
}

#blog .side-bar section .popular-blogposts li svg {
    width: 1em;
    height: 1em;
    margin-right: .25rem
}

#blog .side-bar section .share-buttons {
    display: flex
}

#blog .side-bar section .share-buttons a {
    display: inline-block;
    width: 3rem;
    height: 3rem;
    margin-right: 1rem;
    outline-offset: 2px
}

#blog .side-bar section .share-buttons a:hover, #blog .side-bar section .share-buttons a:focus {
    outline: 2px dashed
}

#blog .side-bar section .share-buttons a svg {
    width: 100%;
    height: 100%
}

#blog .article-content {
    margin-top: 2rem
}

#blog .article-content figure {
    text-align: center
}

#blog .article-content figure pre {
    text-align: left;
    margin-bottom: .5rem
}

#blog .article-content figure figcaption {
    font-size: .875em
}

#blog .article-content img {
    max-width: 100%;
    margin: auto auto;
    display: block;
    border-radius: .5rem
}

#blog .article-content .quote {
    margin-left: 1rem;
    border-left: .25rem solid rgba(0, 0, 0, .2);
    padding-left: .5rem
}

@media all and (min-width: 700px) {
    #blog {
        display: flex;
        flex-wrap: wrap
    }

    #blog .main-blog {
        flex: 3;
        min-width: 100%
    }

    #blog .main-blog .post-list li {
        min-width: 100%
    }

    #blog .main-blog .post-list li:first-child::before {
        left: 5%;
        width: 90%
    }

    #blog .main-blog .post-list li:first-child .post-card {
        flex-direction: row
    }

    #blog .main-blog .post-list li:first-child .post-card img {
        min-height: auto;
        max-height: none;
        min-width: auto;
        height: 100%;
        width: 45%
    }

    #blog .main-blog .post-list li:first-child .post-card .desc {
        flex: 1
    }

    #blog .side-bar {
        flex: 1
    }
}

@media all and (min-width: 1100px) {
    #blog {
        width: 950px
    }

    #blog .main-blog {
        flex: 1;
        min-width: auto;
        max-width: 700px;
        max-width: calc(700px - 1.5rem)
    }

    #blog .main-blog h1 {
        margin-top: 0rem
    }

    #blog .main-blog img {
        max-width: 100%
    }

    #blog .main-blog .post-list li {
        max-width: 33.333%;
        min-width: 220px;
        min-width: calc(220px - 1rem);
        margin-bottom: 1rem
    }

    #blog .main-blog .post-list li:nth-child(7), #blog .main-blog .post-list li:nth-child(8), #blog .main-blog .post-list li:nth-child(9), #blog .main-blog .post-list li:nth-child(10n+15), #blog .main-blog .post-list li:nth-child(10n+16), #blog .main-blog .post-list li:nth-child(10n+17), #blog .main-blog .post-list li:nth-child(10n+18), #blog .main-blog .post-list li:nth-child(10n+19) {
        min-width: 100%
    }

    #blog .side-bar {
        flex: none;
        width: 250px;
        margin-left: 1.5rem;
        margin-right: 0
    }

    #blog .side-bar section .share-buttons {
        justify-content: space-between;
        flex-wrap: wrap
    }

    #blog .side-bar section .share-buttons a {
        margin-right: 0;
        height: 2.75rem;
        width: 2.75rem
    }
}

#about {
    margin-top: 5rem
}

#fun-facts {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding-left: 0
}

#fun-facts li {
    flex: 1;
    flex-direction: column;
    min-width: 50%;
    height: 50vw;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0
}

#fun-facts li span {
    font-size: 1.25rem;
    font-size: clamp(1.25rem, 3vw, 3rem);
    color: #000
}

#fun-facts li span.number {
    font-size: 8rem;
    font-size: clamp(2.5rem, 10vw, 8rem)
}

#fun-facts li:nth-child(1) {
    background: var(--color1)
}

#fun-facts li:nth-child(2) {
    background: var(--color2)
}

#fun-facts li:nth-child(3) {
    background: var(--color3)
}

#fun-facts li:nth-child(4) {
    background: var(--color4)
}

@media all and (min-width: 700px) {
    #fun-facts li {
        min-width: auto;
        height: 25vw
    }

    #fun-facts li span {
        font-size: 1.25rem;
        font-size: clamp(1.25rem, 2.5vw, 2rem)
    }

    #fun-facts li span.number {
        font-size: 6rem;
        font-size: clamp(2.5rem, 8vw, 6rem)
    }
}

#projects .personal-projects {
    margin-top: 2rem;
    height: auto;
}

#projects .personal-projects .buttons img {
    width: 85%;
    height: 85%
}

#projects .personal-projects .tag {
    background: #ccc;
    color: #000;
}

.dark #projects .personal-projects .tag {
    background: #000;
    color: #ccc;
}

#projects .personal-projects .panel {
    grid-template-rows: repeat(12, auto)
}

#projects .personal-projects .panel>img {
    width: 100%;
    max-height: 300px;
    object-fit: cover;
    object-position: top;
    grid-column: 1/13;
    grid-row: 1;
    border-radius: .5rem;
    box-sizing: border-box;
    border: .25rem solid #fff
}

#projects .personal-projects .panel>img#projects-kahme+div h3 {
    color: #000
}

#projects .personal-projects .panel>div {
    grid-column: 1/13;
    grid-row: 3/13;
    overflow: auto
}

#projects .personal-projects .panel>div h3 {
    margin-top: 2rem;
    color: #258;
}

#projects .personal-projects .panel>div a {
    display: inline-block;
    width: auto;
    text-decoration: none;
}

.dark #projects .personal-projects .panel>div a {
    color: #ccc;
}

#projects .personal-projects .panel>div p {
    color: #222
}

#projects .personal-projects .panel li {
    color: #222
}

#projects .personal-projects .panel>div p .website-link {
    color: #222
}

#projects .personal-projects .panel>div p a.website-link:link {
	color: #324af9;
	/* unvisited link */
}

#projects .personal-projects .panel>div p a.website-link:visited {
	color: #8010e3;
}

#projects .personal-projects .panel>div p a.website-link:hover {
	color: #ff6883;
}

#projects .personal-projects .panel>div p a.website-link:active {
	color: #ffaf04;
	/*During click*/
}


@media all and (min-width: 700px) {

    #projects .personal-projects .panel {
        grid-template-rows: repeat(12, 1fr);
        height: fit-content;
    }

    #projects .personal-projects .panel>img {
        width: 100%;
        grid-column: 1/5;
        grid-row: 1/13
    }

    #projects .personal-projects .panel>div {
        max-width: 500px;
        padding-left: 1rem;
        grid-column: 5/13;
        grid-row: 1/13
    }

    #projects .personal-projects .panel>div.nopic {
        padding-left: 1rem;
        grid-column: 1/13;
        grid-row: 1/13;
        width: 740px;
        max-width: 740px;
    }

    #projects .personal-projects .panel>div h3 {
        margin-top: 0
    }

    #projects .cssgames-scroll {
        width: 100%;
        width: calc(100% - 6rem)
    }

    #projects .cssgames-scroll .cssgames-container .cssgames-list {
        width: 400%
    }

    #projects #projects-js #projects-js-list li {
        display: flex
    }

    #projects #projects-js #projects-js-list li img {
        width: 150px;
        height: unset;
        height: fit-content
    }

    #projects #projects-js #projects-js-list li>div {
        flex: 1;
        padding-left: 1rem
    }
}

@media all and (min-width: 1100px) {
    #projects .drawings-demo a {
        width: 75px;
        height: 75px
    }

    #projects .cssgames-scroll {
        width: 1000px;
        width: calc(1000px - 6rem);
        position: relative;
        left: 50%;
        transform: translate(-50%, 0)
    }

    #projects .cssgames-scroll .cssgames-container .cssgames-list {
        width: 266.666%
    }
}

pre.has-code, pre.highlight {
    margin: 2rem auto;
    padding: 1rem;
    background: #222;
    color: #ddd;
    font-size: 1rem;
    overflow-x: auto;
    line-height: 1.25;
    font-family: monospace, monospace;
    border-radius: .5rem
}

pre.has-code code, pre.highlight code {
    font-size: 1rem;
    font-family: monospace, monospace
}

pre.has-code .html .cm-tag, pre.has-code .html .cm-bracket, pre.has-code .css .cm-atom, pre.has-code .css .cm-variable, pre.has-code .css .cm-number, pre.highlight.html .nt, pre.highlight.css .p, pre.highlight.scss .p, pre.highlight.js .nt, pre.highlight.javascript .nt, pre.highlight.css .cm-atom, pre.highlight.css .cm-variable, pre.highlight.css .cm-number {
    color: #aa4
}

pre.has-code .html .cm-attribute, pre.has-code .css .cm-property, pre.highlight.html .na, pre.highlight.css .na, pre.highlight.scss .na, pre.highlight.css .nl, pre.highlight.scss .nl, pre.highlight.js .na, pre.highlight.javascript .na, pre.highlight.css .cm-property {
    color: #88d
}

pre.has-code .html .cm-equal, pre.has-code .css .cm-variable.cm-callee, pre.highlight .nd {
    color: #d8d
}

pre.has-code .html .cm-string, pre.has-code .css .cm-qualifier, pre.has-code .css .cm-tag, pre.has-code .css .cm-def, pre.highlight.css .nt, pre.highlight.scss .nt {
    color: #d66
}

pre.has-code .css .cm-tagm, pre.highlight.html .s, pre.highlight.css .m, pre.highlight.scss .m, pre.highlight .mi, pre.highlight .mi, pre.has-code .mf, pre.highlight .mf {
    color: #d88
}

pre.has-code .css .cm-variable-3, pre.has-code .css .cm-variable-2, pre.has-code .css .cm-variable-1, pre.highlight.css .nf, pre.highlight.scss .nf, pre.highlight.css .nb, pre.highlight.scss .nb, pre.highlight.css .sx, pre.highlight.scss .sx {
    color: #f88
}

pre.has-code .cm-comment, pre.has-code .c, pre.highlight .cm, pre.highlight .c1, pre.highlight .c {
    color: #999
}

pre.has-code .kd, pre.highlight .kd, pre.has-code .kc, pre.highlight .kc, pre.has-code .k, pre.highlight .k {
    color: #f91
}

pre.has-code .nx, pre.highlight .nx, pre.has-code .sr, pre.highlight .sr {
    color: #7c7
}

pre.has-code .o, pre.highlight .o {
    color: #f61
}

pre.has-code .nc, pre.highlight .nc {
    color: #8c8
}

pre.has-code .se, pre.highlight .se {
    color: #dbd
}

pre.has-code .s1, pre.highlight .s1, pre.has-code .s2, pre.highlight .s2, pre.has-code .dl, pre.highlight .dl {
    color: #ec2
}

#change-mode {
    width: 3rem;
    height: 3rem;
    background: transparent;
    border: 0;
    position: absolute;
    top: .25rem;
    right: .5rem
}

#change-mode img {
    width: 100%;
    height: 100%;
    object-fit: contain
}

#change-mode .in-dark-mode {
    display: none;
    color: #eee
}

#change-mode .in-light-mode {
    display: block
}

body:not(.home) #change-mode {
    position: relative;
    grid-column: 3;
    grid-row: 2;
    margin-top: .5rem;
    margin: .5rem 0 auto auto
}

body.dark {
    /* background: #282828;
    color: #eee; */
    background: #000;
    color: #ccc;
    --color1: #50cfb5;
    --color2: #636A7C;
    --color3: #4B3C26;
    /* --color3: #8B575C; */

}

@supports(background-clip: text) {
    body.dark h1, body.dark h2 {
        background-image: linear-gradient(45deg, #8d6761, #636A7C);
    }
}

@supports(-webkit-background-clip: text) {
    body.dark h1, body.dark h2 {
        background-image: linear-gradient(45deg, #8d6761, #636A7C);
    }
}

body.dark table {
    background: #282828
}

body.dark .has-shadow::before {
    background: repeating-linear-gradient(45deg, transparent 0 0.5%, rgba(255, 255, 255, 0.1) 0 1.5%, transparent 0 2%)
}

body.dark header nav.main-nav ul li a {
    color: #eee
}

body.dark header nav.main-nav ul li a.active {
    box-shadow: 0 .35rem #eee
}

body.dark #home-contact label {
    color: #222
}

body.dark #work-history #resume-jobs::after {
    background: var(--linesdark);
    background: linear-gradient(var(--linesdark) 0 0.75rem, transparent 0 1rem, var(--linesdark) 0 1.25rem, transparent 0 1.5rem, var(--linesdark) 0 1.75rem, transparent 0 2rem, var(--linesdark) 0)
}

body.dark #work-history #resume-jobs>li {
    background: #222
}

body.dark #work-history #resume-jobs>li::after {
    background-image: radial-gradient(circle at 26% 30%, #234 20%, var(--link) 20.5% 25%, transparent 25.5%), linear-gradient(45deg, transparent 50%, #222 0)
}

body.dark #work-history #resume-jobs>li h3 {
    color: #58b
}

body.dark #work-history #resume-jobs>li img.visa-logo {
    filter: brightness(2000%)
}

body.dark #work-history #resume-jobs .tags li:not(:first-child) {
    color: #000
}

body.dark #blog .main-blog .post-list li .post-card:focus, body.dark #blog .main-blog .post-list li .post-card:hover {
    outline: 2px dashed #fff
}

body.dark #projects .drawings-demo a {
    border: 2px solid #282828
}

body.dark #projects #projects-js h2 {
    background-image: linear-gradient(45deg, #117E9C, #8C5AD3)
}

body.dark #projects .cssgames-scroll button {
    color: #eee
}

body.dark #projects .cssgames-scroll .cssgames-container .cssgames-list li a {
    background: #222
}

@media all and (min-width: 1100px) {
    body.dark #work-history #resume-jobs>li:nth-child(odd)::after {
        background-image: radial-gradient(circle at 74% 30%, #234 20%, var(--link) 20.5% 25%, transparent 25.5%), linear-gradient(-45deg, transparent 57%, #222 0)
    }
}


.pdf h2 {
    font-family: Calibri;
    font-size: 24px;
    font-weight: 700;
    color: papayawhip;
}

.light .pdf h2 {
    font-family: Calibri;
    font-size: 24px;
    font-weight: 700;
    color: black;
}