﻿
    :root {
        --body-background: #121212;
        --content-background: #262626;

        --font-Nunito: 'Nunito', Helvetica, sans-serif;
        --font-Roboto: 'Roboto', sans-serif;

        --star: "★";

        --black: #111;
        --blue: #586BA4;
        --dark-blue: #44537F;
        --light-blue: #6A80C4;
        --yellow: #F5DD90;
        --dark-yellow: #F4D169;
        --light-yellow: #F4E2AB;
        --orange: #F68E5F;
        --red: #D11149;
        --light-red: #FF165C;
        --green: #63A5A5;
        --light-green: #7BCECE;

        --box-shadow1: 0px 10px 15px -3px rgba(0, 0, 0, 0.7);
        --box-shadow2: -2px 2px 5px rgba(0, 0, 0, 0.6);
        --box-shadow3: -2px -2px 5px rgba(0, 0, 0, 0.6);
        --text-shadow: -3px 3px 5px rgba(0, 0, 0, 1);
        --text-shadow-inverse: -1px 1px 0px rgba(255, 255, 255, 1);
    }


/* ############################################## */

/* #region      @@@ H T M L */

    * {
        transition: 0.1s;
    }

    html {
        margin: 0;
        padding: 0;
        scroll-behavior: smooth;
    }

    body {
        margin: 0;
        padding: 0;
        font-size: 18px;
        font-family: var(--font-Roboto);
        background-color: var(--body-background);
        /*background-image: linear-gradient(90deg, rgba(9, 9, 121, 1), rgba(26, 143, 227, 1));*/
        line-height: 27px;
        color: #FFF;
    }

    hr {
        padding: 0;
        border: none;
        border-top: 1px solid var(--light-blue);
        text-align: center;
        width: 85%;
        margin: 15px auto;
    }

    h1, h2, h3, .navigation a, .title {
        font-family: var(--font-Nunito);
        font-weight: 600;
    }

    h1, h2 {
        margin-top: 15px;
    }

    h1:not(.game-title) {
        display: inline-block;
        font-size: 2.5em;
        color: var(--yellow);
        line-height: 40px;
    }

    h1 + p:first-of-type {
        margin-top: 30px;
    }


/* #endregion   @@@ H T M L */

/* ############################################## */

/* ############################################## */

/* #region      @@@ M I S C */

    .big-button {
        display: inline-block;
        margin: 10px;
        padding: 5px 15px;
        background-color: var(--blue);
        color: #FFF;
        text-decoration: none;
        box-shadow: var(--box-shadow2);
        border: 3px #FFF double;
    }

        .big-button:hover {
            background-color: var(--light-blue);
        }

    .hide {
        display: none;
        visibility: hidden;
    }

    .youtube-video {
        /*width: 560px;*/
        width: 70%;
        height: 315px;
        box-shadow: var(--box-shadow1);
        border: 1px #FFF solid;
    }

    .sticky {
        position: sticky;
        top: 10px;
    }

    .text-center {
        text-align: center;
    }

    .search-container {
        position: relative;
        display: inline-block;
    }

    .word-search {
        position: relative;
        display: block;
        margin: 50px auto;
        padding: 10px;
        width: 50%;
        min-width: 400px;
    }

    .word-randomize {
        position: absolute;
        display: block;
        height: 25px;
        width: 25px;
        padding: 6px 10px;
        right: -60px;
        top: 50px;
        background-color: #FFF;
        border: 1px var(--black) solid;
        font-size: 1.1em;
        color: var(--body-background);
    }

    .word-randomize:hover {
        cursor: pointer;
        background-color: var(--yellow);
    }

.search-clear {
    position: absolute;
    right: 5px;
    top: 54px;
    color: #222;
    font-size: 1.5em;
}

    .search-clear:hover {
        cursor: pointer;
    }

/* #endregion   @@@ M I S C */

/* ############################################## */

/* ############################################## */

/* #region      @@@ A N I M A T I O N S */

    @keyframes timer {

        0% {
            width: 0%;
        }

        90% {
            width: 80%;
        }

        100% {
            opacity: 0;
        }

    }

    @keyframes imageRaise {

        0% {
            transform: translateY(0);
        }

        100% {
            transform: translateY(-5px);
        }

    }

    @keyframes imageLoad {

        0% {
            opacity: 0;
            transform: translateY(-10px);
        }

        100% {
            opacity: 1;
            transform: translateY(0);
        }

    }

    /* ### Stars that appear on the Bio page. */
    @keyframes rotateStars {
        0% {
            transform: rotate(0deg) scale(0);
            opacity: 1;
        }

        33% {
            opacity: 0;
        }

        50% {
            transform: rotate(180deg) scale(.8);
            opacity: 1;
        }

        100% {
            transform: rotate(360deg) scale(0);
            opacity: 1;
        }
    }

    @keyframes bouncy {
        0%   { transform: scale(1); }
        50%  { transform: scale(1.1) }
        100% { transform: scale(1.05); }
    }

/* #endregion   @@@ A N I M A T I O N S */

/* ############################################## */

/* ############################################## */

/* #region      @@@ C O N T A I N E R S */

    .site-container {
        display: flex;
        flex-flow: column nowrap;
        font-size: 16px;

        margin: 0;
        width: 100%;
    }

    .item-1 {
        height: 60px;
    }

    .item-center {
        position: relative;
        margin: auto;
        width: 70%;
        border: 1px rgba(255, 255, 255, 0.15) solid;

        padding: 30px;
        background-color: var(--content-background);
        box-shadow: var(--box-shadow2);
    }

    .item-3 {
        background-color: var(--black);
        text-align: center;
    }

    .header-container {
        display: flex;
        flex-flow: row nowrap;
        justify-content: space-between;
        align-items: center;

        margin: auto;
        width: calc(70% + 60px);
        text-align: left;
        box-shadow: var(--box-shadow2);
        border-bottom: 1px var(--blue) solid;
    }

    .content-container {
        
    }

/* #endregion   @@@ C O N T A I N E R S */

/* ############################################## */

/* ############################################## */

/* #region      @@@ H E A D E R */

    .title {
        display: block;
        margin: 0;
        padding: 2px;
        color: #FFF;
        line-height: 30px;
    }

        .title > a {
            color: #FFF;
            text-decoration: none;
        }

            .title > a:hover > span:last-of-type {
                color: var(--red);
            }

        .title > a > span {
            display: block;
            font-weight: 600;
        }

        .title > a > span:first-of-type {
            font-size: 0.7em;
            margin-bottom: -10px;
            margin-left: 0;
        }
    
        .title > a > span:last-of-type {
            font-size: 1.2em;
            text-align: center;
        }

/* #endregion   @@@ H E A D E R */

/* ############################################## */

/* ############################################## */

/* #region      @@@ N A V I G A T I O N */

    .navigation {
        margin: 0;
        text-align: center;
    }

        .navigation a {
            font-size: 0.9em;
            display: inline-block;
            color: #FFF;
            text-decoration: none;
            padding: 10px;
            font-weight: 600;
        }

            .navigation a:hover {
                color: var(--yellow);
                transform: translateY(-3px);
            }

/* #endregion   @@@ N A V I G A T I O N */

/* ############################################## */

/* ############################################## */

/* #region      @@@ B R E A D C R U M B S */

    .breadcrumb {
        position: relative;
        display: inline-block;
        margin-left: 65px;
        padding: 0;
        color: #FFF;
        font-size: 0.8em;
    }

        .breadcrumb::before {
            content: "Crumbs: ";
            position: absolute;
            left: -60px;
            color: #FFF;
        }

    .breadcrumb > a {
        color: var(--green);
        text-decoration: none;
    }

        .breadcrumb > a:hover {
            color: var(--light-blue);
        }

/* #endregion   @@@ N A V I G A T I O N */

/* ############################################## */

/* ############################################## */

/* #region      @@@ C A R D S */

    .card {
        transition: 0.2s;
        display: inline-block;
        position: relative;
        margin: 10px 10px 0 0;
        padding: 20px;
        width: 250px;
        height: auto;
        background-color: var(--blue);
        box-shadow: var(--box-shadow1);
        border: 1px rgba(255, 255, 255, 1) solid;
        border-radius: 5px;
        overflow: hidden;
    }

        .card.strict {
            height: 300px;
        }

        .card:hover {
            background-color: var(--light-blue);
            transform: translateY(-5px);
        }

        .card > h2 {
            margin-top: 10px;
            padding-bottom: 5px;
            border-bottom: 1px #FFF solid;
            color: var(--yellow);
        }

        .card .content {

        }

        .card img {
            display: block;
            width: 100%;
            height: 140.625px;
            margin: 10px auto;
            border-radius: 5px;
            box-shadow: var(--box-shadow2);
            border: 1px rgba(255, 255, 255, 1) solid;
            pointer-events: none;
        }

    .card-link {
        position: absolute;
        top: 0;
        left: 0;
        padding: 20px;
        width: 250px;
        height: 300px;
    }

/* #endregion   @@@ C A R D S */

/* ############################################## */

/* ############################################## */

/* #region          ### G A M E   B L O C K S   O N   G A M E . A S P X */

    .games-list {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: flex-start;
        align-content: center;
    }

    .game-container {
        transition: 0.2s;
        position: relative;
        display: inline-block;
        margin: 10px 20px 10px 0;
        width: 250px;
        height: 292px;
        box-shadow: var(--box-shadow1);
        overflow: hidden;
        background-repeat: no-repeat;
        background-size: auto 100%;
        background-color: transparent;
        border: 1px rgba(255, 255, 255, 1) solid;
    }

        .game-container:hover {
            /*background-size: auto 110%;*/
            box-shadow: 0px 10px 10px 0px var(--black);
            transform: perspective(100px) rotateX(1deg);
        }

        .game-container::before {
            position: absolute;
            display: block;
            content: "";
            top: 0;
            left: 0;
            width: 300px;
            height: 350px;
        }

        .game-container:hover::before {
            background-color: rgba(255, 255, 255, 0.1);
        }

        .game-container::after {
            transition: 0.2s;
            z-index: 9998;
            position: absolute;
            content: "";
            display: inline-block;
            font-size: 98pt;
            font-weight: bold;
            opacity: 0.1;
            color: #FFF;
            background-color: #FFF;
            top: -200px;
            right: -150px;
            width: 300px;
            height: 300px;
            transform: rotate(-60deg);
            pointer-events: none;
            border: 10px rgba(0, 0, 0, 0.3) solid;
        }

        .game-container:hover::after {
            height: 500px;
            opacity: 0.13;
        }

        /* ### Make the image look grey'd out. */
        .game-container.disabled::before {
            position: absolute;
            display: block;
            content: "";
            top: 0;
            left: 0;
            width: 300px;
            height: 350px;
            background-color: rgba(119, 119, 119, 0.5);
        }

        /* Indicate to the user that it's not available to click. */
        .game-container.disabled:hover {
            cursor: not-allowed !important;
        }

    .game-header,
    .game-footer {
        z-index: 9999;
        position: relative;
        width: 100%;
        padding: 5px;
        text-align: center;
        background-color: var(--dark-blue);
        color: #FFF;
        font-size: 0.8em;
    }

        .game-header {
            border-bottom: 1px #FFF solid;
            box-shadow: var(--box-shadow2);
        }

        .game-container:hover .game-header {
            transition: 0.2s;
            background-color: var(--light-blue);
        }

        .game-header.complete::before,
        .game-header.unbeatable::before,
        .game-header.not-available::before {
            position: absolute;
            top: 5px;
            left: 10px;
        }

        .game-header.complete::before {
            content: var(--star);
        }

        .game-header.unbeatable::before {
            content: "∞";
            font-size: 20pt;
        }

        .game-header.not-available {
            background-color: rgba(119, 119, 119, 0.7);
            color: #FFF;
        }

            .game-header.not-available::before {
                content: "N/A";
            }

    .game-content {
        overflow: hidden;
    }

        .game-content a {
            cursor: pointer;
            position: absolute;
            display: block;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
        }

    .game-footer {
        position: absolute;
        bottom: 0;
        background-color: rgba(33, 33, 33, 0.7);
        text-shadow: var(--text-shadow);
        font-size: 1em;
        border-top: 1px rgba(255, 255, 255, 1) solid;
        box-shadow: var(--box-shadow3);
    }

        .game-container:hover .game-footer {
            transition: 0.2s;
            background-color: rgba(75, 75, 75s, 0.7);
        }

/* #endregion       ### G A M E   B L O C K S   O N   G A M E . A S P X */

/* ############################################## */

/* ############################################## */

/* #region          ### I N D I V I D U A L   P A G E   I M A G E   L I S T S */

    .image-list {
        text-align: center;
        vertical-align: top;
    }

        .image-list img {
            z-index: 9500;
            display: inline-block;
            margin: 5px;
            width: 400px;
            box-shadow: var(--box-shadow1);
        }

            .image-list img:hover,
            .important-image:hover {
                cursor: pointer;
                opacity: 0.9;
                transform: translateY(-3px);
                box-shadow: -3px 3px 8px var(--black);
            }

    .active-image::before {
        z-index: 9999;
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 400px;
        height: 30px;
        background-color: red;
    }

    .image-select {
        z-index: 9999;
        position: fixed;
        display: block;
        top: 0;
        left: 0;
        height: 100vh;
        width: 100vw;
        background-color: rgba(0, 0, 0, 0.8);
    }

        .image-select::before {
            position: absolute;
            content: "Click or tap image to close.";
            display: block;
            padding: 10px;
            bottom: 0;
            right: 1%;
            color: #FFF;
            text-shadow: -2px 2px var(--black);
            background-color: rgba(0, 0, 0, 0.5)
        }

        .image-select > div.left-arrow-container,
        .image-select > div.right-arrow-container {
            z-index: 9999;
            position: absolute;
            padding-top: 150px;
            top: 25%;
            width: 150px;
            height: 300px;
            background-color: rgba(0, 0, 0, 0.1);
        }

        .image-select > div > div.left-arrow,
        .image-select > div > div.right-arrow {
            position: absolute;
            width: 0;
            height: 0;
        }

        .image-select > div.left-arrow-container,
        .image-select > div.right-arrow-container {
            cursor: pointer;
        }

            .image-select > div.left-arrow-container:hover {
                transform: translateX(-5px);
            }

            .image-select > div.right-arrow-container:hover {
                transform: translateX(5px);
            }


        .image-select > div.left-arrow-container {
            left: 10px;
        }

        .image-select > div > div.left-arrow {
            border-top: 50px solid transparent;
            border-bottom: 50px solid transparent;
            border-right: 50px solid #FFF;
            padding-left: 10px;
        }

        .image-select > div.right-arrow-container {
            right: 30px;
        }

        .image-select > div > div.right-arrow {
            border-top: 50px solid transparent;
            border-bottom: 50px solid transparent;
            border-left: 50px solid #FFF;
            right: 0;
            padding-right: 10px;
        }

        /* Big images that are the focus of the page. */
        .important-image {
            margin: auto;
            height: 35vw;
            box-shadow: var(--box-shadow1);
            border: 1px var(--black) solid;
        }

/* ############################################## */

/* ############################################## */

/* #region      @@@ G A M E   H E A D E R S */

    /* ### Fancy titles w/ background images. */
    h1.game-title {
        display: block;
        margin: 50px auto;
        padding: 30px;
        width: 75%;
        text-align: center;
        font-size: 42pt;
        text-shadow: var(--text-shadow);
        color: #FFF;
        border: 1px rgba(255, 255, 255, 1) solid;
        box-shadow: var(--box-shadow1);
        overflow: hidden;
        background-repeat: no-repeat;
        background-size: 110%;
        background-color: transparent;
        line-height: 65px;
        font-family: 'Roboto', sans-serif;
    }

    /* ### Fancy section titles w/ neat corner designs. */
    h2.header-text {
        z-index: 5000;
        position: relative;
        display: block;
        margin: 60px auto 30px auto;
        padding: 5px 15px;
        width: 75%;
        text-align: center;
        font-size: 2em;
        text-shadow: var(--text-shadow);
        color: #FFF;
        border: 1px rgba(255, 255, 255, 1) solid;
        box-shadow: var(--box-shadow1);
        overflow: hidden;
        background-repeat: no-repeat;
        background-size: 110%;
        background-color: var(--black);
        line-height: 50px;
        font-family: var(--font-Roboto);
    }

    /* ### The neat corner designs on specific game page's <h2> */
    .header-text::before,
    .header-text::after {
        z-index: -1;
        position: absolute;
        content: "II";
        color: var(--light-blue);
        font-size: 140pt;
        transform: rotate(45deg);
        font-weight: bold;
        border: 1px #FFF solid;
        background-color: #FFF;
    }

    /* ### Positioning of that neat design. */
    .header-text::before {
        top: -20px;
        left: 0;
    }

    .header-text::after {
        bottom: -20px;
        right: 0;
    }

/* #endregion   @@@ G A M E   H E A D E R S */

/* ############################################## */

/* ############################################## */

    /* #region      ### C A R O U S E L */

    .image-list {
        text-align: center;
        vertical-align: top;
    }

        .image-list img.image {
            position: relative;
        }

        .image-list > .carousel > .before-image,
        .image-list > .carousel > .center-image,
        .image-list > .carousel > .after-image {
            display: inline-block;
            position: relative;
            margin: 5px;
            width: 30%;
        }

        .image-list > .carousel > .before-image,
        .image-list > .carousel > .after-image {
            width: 22%;
        }

        .image-list > .carousel > .center-image {
            text-align: center;
            width: 50%;
        
        }

        .image-list > .carousel {
            text-align: center;
        }

            .image-list > .carousel > div > img {
                box-shadow: var(--box-shadow1);
                position: relative;
            }

            .image-list > .carousel img[src="undefined"] {
                visibility: hidden;
            }

            .image-list > .carousel > .center-image img {
                position: relative;
                transition: 0.1s;
                width: 100%;
            }

                .image-list > .carousel > .center-image img:hover {

                }

                    .image-list > .carousel > .center-image img:hover + .active {

                    }

            .image-list > .carousel > .before-image > img,
            .image-list > .carousel > .after-image > img {
                position: relative;
                z-index: 9500;
                transition: 0.1s;
                opacity: 0.5;
                transform: translateY(-100px);
                width: 100%;
            }

            .image-list > .carousel > .before-image img:hover,
            .image-list > .carousel > .after-image img:hover {
                opacity: 0.8;
                transform: translateY(-105px);
                cursor: pointer;
            }

            .image-list > .carousel > .before-image {
                /*transform: perspective(50px) rotateY(1deg);*/
            }

            .image-list > .carousel > .after-image {
                /*transform: perspective(50px) rotateY(-1deg);*/
            }

    .forward,
    .back {
        display: inline-block;
        margin: 10px 30px;
        padding: 15px;
        font-size: 1.5em;
        background-color: rgba(0, 0, 0, 0.5)
    }

        .forward:hover,
        .back:hover {
            cursor: pointer;
        }

        .forward:hover {
            transform: translateX(5px);
        }

        .back {
            transform: rotate(180deg);
        }

            .back:hover {
                transform: rotate(180deg) translateX(5px);
            }

    .hide {
        box-shadow: none !important;
        display: none !important;
        visibility: hidden !important;
    }

    .active {
        transition: 0.1s;
        margin: 5px auto;
        width: 75%;
        height: 15px;
        background-color: var(--blue);
        animation: timer 5s linear forwards;
        border-radius: 100px;
    }

    @media only screen and (max-width: 1000px) {

        .image-list > .carousel > .before-image,
        .image-list > .carousel > .center-image,
        .image-list > .carousel > .after-image {
            display: block;
            text-align: center;
            margin: 10px auto;
        }

        .image-list > .carousel > .center-image {
            width: 80%;
        }

        .image-list > .carousel > .before-image > img,
        .image-list > .carousel > .after-image > img {
            transition: 0.1s;
            opacity: 0.5;
            transform: translateY(0px);
            width: 100%;
        }

            .image-list > .carousel > .before-image > img[src="undefined"],
            .image-list > .carousel > .after-image > img[src="undefined"] {
                height: 125px;
            }

        .image-list > .carousel > .before-image img:hover,
        .image-list > .carousel > .after-image img:hover {
            opacity: 0.8;
            transform: translateY(-5px);
            cursor: pointer;
        }
    }

/* #endregion   ### C A R O U S E L */


/* ############################################## */

/* ############################################## */

/* #region      ### I M A G E   F A D E */

    .image-list {
        text-align: center;
        vertical-align: top;
    }

    .main-images img {
        transition: 0.1s;
        display: inline-block;
        margin: 5px;
        width: 400px;
        box-shadow: var(--box-shadow2);
        opacity: 0;
        border: 3px var(--black) solid;
    }

        .main-images img:hover {
            opacity: 0.5;
        }

        .main-images img.show {
            animation: imageLoad 0.5s linear forwards;
        }

        .main-images img.raise {
            opacity: 1;
        }

        .main-images img.raise:hover {
            transform: translateY(-5px);
        }

        .main-images .image:not(.raise) {
            pointer-events: none;
        }

/* #endregion   ### I M A G E   F A D E */

/* ############################################## */

/* ############################################## */

/* #region      ### B I O G R A P H Y */

    /* ### Fancy circle in the middle of the name header. */
    .resume-circle {
        z-index: 9999;
        position: relative;
        background-color: var(--dark-blue);
        width: 150px;
        height: 150px;
        padding: 10px;
        border-radius: 200px;
        overflow: hidden;
        border: 5px var(--dark-blue) solid;
    }

    .resume-circle-position {
        z-index: 5000;
        position: absolute;
        left: 50%;
        top: 30px;
    }

        .resume-circle-position > div {
            z-index: 5000;
            position: relative;
            left: -50%;
        }

    /* ### Primary container for the whole resume page. */
    .resume-container {
        z-index: 4500;
        position: relative;
        margin: 30px auto;
        padding: 50px;
        line-height: 30px;
        text-align: center;
        vertical-align: top;
    }

    /* ### Container for the header section (with the circle).  */
    .resume-header {
        position: relative;
        margin-top: 30px;
        margin-bottom: 80px;
        padding: 15px 0;
        text-align: center;
        font-size: 24pt;
        color: #FFF;
        line-height: 32px;
        background-color: var(--dark-blue);
        border-radius: 10px;
        overflow: hidden;
        box-shadow: var(--box-shadow2);
    }

        /* ### Text inside of the name header. */
        .resume-text {
            z-index: 9999; /* --- Keeps my name in front of the circle. */
            position: relative;
            text-shadow: var(--text-shadow);
        }

        /* ### E-mail address resize. */
        .resume-header > div > a {
            color: var(--orange);
            font-size: 14pt;
        }

            .resume-header > div > a:hover {
                color: var(--yellow);
            }

    /* ### Objectives, Education, Work Experience, etc. */
    .resume-content {

    }

    /* ### Unused, but keeping for potential future use. */
    /*.resume-footer {
        border-top: 1px var(--black) solid;
        margin-top: 30px;
        padding: 15px 0;
        background-color: var(--dark-blue);
        color: #FFF;
        border-radius: 10px;
        box-shadow: var(--box-shadow2);
    }*/

    /* ### The container around each of the sections (Objectives, Education, etc.) */
    .resume-section-container {
        display: inline-block;
        text-align: left !important;
        margin: 5px 10px;
        width: 41.5%;
        min-width: 250px;
        min-height: 305px;
        border: 1px rgba(255, 255, 255, 0.5) solid;
        box-shadow: var(--box-shadow1);
        background-color: rgba(255, 255, 255, 0.85);
        vertical-align: top;
        color: var(--black);
    }

        .resume-section-container.wide {
            width: 85%;
            min-height: 200px;
            max-width: initial;
        }

        .resume-section-container.long {
            height: 450px;
        }

        .resume-section-header {
            margin: 0 auto 10px auto;
            padding: 5px 30px;
            background-color: var(--dark-blue);
            color: var(--yellow);
            font-size: 14pt;
            border-bottom: 1px var(--light-blue) solid;
        }

        .resume-section-content {
            padding: 5px 30px;
        }

            /* ### Strengths, Some Experience, etc. */
            .resume-section-content > .header {
                font-weight: bold;
                text-decoration: underline;
            }

        .resume-section-content > ul {
            padding-left: 10px;
        }

        /* ### Footers in each section. Currently unused but saving for potential future use. */
        .resume-section-footer {
            margin: 10px auto 0 auto;
        }

    .linked-in {
        z-index: 9999;
        position: absolute;
        left: 49%;
        top: 90%;
        padding: 10px;
        width: 40px;
        height: 34px;
        background-color: rgba(255, 255, 255, 0.9);
        border-radius: 10px;
        box-shadow: var(--box-shadow1);
    }

        .linked-in:hover {
            transition: 0.2s;
            background-color: var(--yellow);
            animation: bouncy 0.5s forwards;
        }

    .github {
        z-index: 9999;
        position: absolute;
        left: -75%;
        top: 90%;
        padding: 10px;
        width: 35px;
        height: 35px;
        background-color: rgba(255, 255, 255, 0.9);
        border-radius: 10px;
        box-shadow: var(--box-shadow1);
    }

        .github:hover {
            transition: 0.2s;
            background-color: var(--yellow);
            animation: bouncy 0.5s forwards;
        }

    .codepen {
        z-index: 9999;
        position: absolute;
        left: 49%;
        top: -10%;
        padding: 10px;
        width: 35px;
        height: 35px;
        background-color: rgba(255, 255, 255, 0.9);
        border-radius: 10px;
        box-shadow: var(--box-shadow1);
    }

        .codepen:hover {
            transition: 0.2s;
            background-color: var(--yellow);
            animation: bouncy 0.5s forwards;
        }

    .star {
        position: absolute;
        animation: rotateStars .5s forwards;
        width: 20px;
        height: 20px;
        font-size: 20px;
        opacity: 0.5;
    }

        .star::before {
            content: var(--star);
            width: 20px;
            height: 20px;
            font-size: 20px;
            line-height: 19px;
        }

/* #endregion   ### B I O G R A P H Y */

/* ############################################## */

/* ############################################## */

/* #region      ### P R O G R A M M I N G */


/* ### The styling of the various programming languages in Programming.aspx */
.programming-button {
    position: relative;
    display: inline-block;
    padding: 15px 100px;
    height: 25px;
}

    .programming-button a {
        position: absolute;
        display: block;
        margin-top: 5px;
        top: 0;
        left: 0;
        height: 100%;
        width: 100%;
        color: #FFF;
        line-height: 55px;
        background-color: var(--blue);
        border-radius: 5px;
        border-bottom: 5px var(--dark-blue) solid;
    }

        .programming-button a:hover {
            background-color: var(--light-blue);
        }

        .programming-button a:active {
            margin-top: 8px;
            border-bottom: 2px var(--dark-blue) solid;
        }

/* ### The styling of example code. (White background) */
.code-snippit {
    display: inline-block;
    margin: 15px auto;
    width: 400px;
    text-align: left;
    margin: 10px;
    padding: 15px;
    background-color: #FFF;
    box-shadow: var(--box-shadow1);
    color: var(--black);
    border-radius: 5px;
    vertical-align: top;
    word-wrap: break-word;
}

    .code-snippit span {
        display: block;
        padding: 3px 15px;
        letter-spacing: 1px;
    }

        .code-snippit span:first-of-type {
            color: var(--dark-blue);
            font-size: 18pt;
            font-weight: bold;
            padding: 10px;
            border-bottom: 1px #666 solid;
            margin-bottom: 15px;
        }

        .code-snippit span:nth-last-child(2) {
            margin-bottom: 15px;
        }

        .code-snippit span:last-of-type {
            background-color: #333;
            color: #FF9670;
            padding: 10px;
        }


/* ### The bordered container for each primary section on the specific programming pages. */
.concept-container {
    display: block;
    width: 95%;
    margin: 10px auto;
    padding: 20px;
    border: 1px var(--dark-blue) solid;
    text-align: left;
    vertical-align: top;
    background-color: #FFF;
    box-shadow: var(--box-shadow1);
    word-break: break-word;
    color: var(--black);
}

    .concept-container span {
        padding: 10px 15px;
        margin: 5px;
        vertical-align: top;
    }

        .concept-container div {
            display: inline-block;
            background-color: #333;
            margin: 7px;
            padding: 10px 15px;
            border-radius: 5px;
        }

        .concept-container span:nth-of-type(even) {
            width: 55%;
            color: #FF9670;
            margin-left: -10px;
        }

        .concept-container span:nth-of-type(odd) {
            width: 20%;
            color: #FFF;
            margin-right: 0;
        }



/* ### Styling of example code. (Black background) */
.concept-box {
    vertical-align: top;
    border: 1px var(--dark-blue) solid;
    padding: 15px;
    color: #FFF;
    height: 300px;
    box-shadow: var(--box-shadow2);
}

    .concept-box h3 {
        margin-top: 0;
        color: var(--orange);
    }

/* ### Container for my published code. */
.program-link-container {
    position: relative;
    display: inline-block;
    padding: 5px 30px;
    margin: 30px 10px 30px 10px;
    height: 95px;
    border: 1px var(--dark-blue) solid;
    background-color: var(--dark-blue);
    color: #FFF;
    border-radius: 5px;
    overflow: hidden;
    max-width: 300px;
    vertical-align: top;
    box-shadow: var(--box-shadow2);
}

    .program-link-container:hover {
        transform: translateY(-5px);
        /*height: auto;*/
    }

    .program-link-container::before {
        position: absolute;
        content: var(--star);
        color: #FFF;
        top: 10px;
        left: 15px;
        font-size: 10pt;
    }

        /*.program-link-container:hover::before {
            content: "";
        }*/

    /* ### Styling the link (with IDLE icon). */
    /*.program-link {
        padding: 10px 10px 10px 50px;
        background-image: url("../Images/idle-icon.png");
        background-position-x: 15px;
        background-position-y: 5px;
        background-repeat: no-repeat;
    }*/

.program-link a {
    display: inline-block;
    padding: 5px 10px;
    width: 100%;
    color: var(--orange);
    border-radius: 10px;
    font-weight: bold;
}

    .program-link a:hover {
        color: var(--light-orange);
    }

/* ### Styling for the actual program's page. */
.program {
    display: block;
    border: 1px var(--dark-blue) solid;
    margin: 30px auto;
    padding: 30px;
    text-align: left;
    width: 75%;
    background-color: #FFF;
    box-shadow: var(--box-shadow2);
    line-height: 28px;
    letter-spacing: 1px;
    color: var(--dark-blue);
}

    /* ### Orange text for commented parts. */
    .program > .comment {
        padding: 2px 3px;
        color: var(--orange);
    }

.concept-container .comment {
    display: block;
    width: auto !important;
    height: auto !important;
    margin: auto !important;
    padding: 0 !important;
    color: var(--orange) !important;
    font-weight: bold;
}

/* #endregion   ### P R O G R A M M I N G */

/* ############################################## */

/* ############################################## */

/* #region      ### A U T O M A T E   T H E   B O R I N G   S T U F F   S E C T I O N S */

.atbs {
    position: relative;
    margin: 30px auto;
    padding: 15px;
    height: auto;
    background-color: #FFF;
    border-radius: 5px;
    box-shadow: var(--box-shadow1);
    overflow: hidden;
    color: var(--black);
}

    .atbs > legend {
        position: relative;
        display: block;
        margin: 0 auto 0 30px;
        padding: 10px 20px;
        font-size: 24pt;
        background-color: var(--dark-blue);
        color: #FFF;
        border-radius: 5px;
        line-height: 36px;
    }

        .atbs > legend:hover {
            cursor: pointer;
            background-color: #444;
        }

    .atbs.close {
        padding: 0;
        height: 0;
        background-color: var(--darkgray);
    }

        .atbs.close > legend {
            width: 50%;
            margin-bottom: -20px;
        }

    .atbs > div {
        padding: 15px;
        text-align: left;
    }

    .atbs span {
        display: block;
    }

.comment {
    position: relative;
    color: var(--orange);
    font-weight: bold;
}

/* #endregion   ### A U T O M A T E   T H E   B O R I N G   S T U F F   S E C T I O N S */

/* ############################################## */

/* ############################################## */

/* #region      @@@ B A B Y   N A M E S */

/* #region      ### B A B Y   N A M E S */

/* ### Black-background container for the baby names. */
.baby-name {
    display: inline-block;
    margin: 10px;
    padding: 5px 10px;
    border: 1px var(--black) solid;
    text-align: left;
    background-color: var(--black);
    color: #FFF;
    box-shadow: var(--box-shadow);
}

/* The button to combine names. */
.generate-name {
    display: block;
    margin: 6px auto 0 auto;
    padding: 10px;
    width: 200px;
    border-bottom: 5px #000 solid;
    background-color: var(--black);
    color: var(--orange);
    border-radius: 5px;
    font-weight: bold;
}

    .generate-name:hover {
        cursor: pointer;
        background-color: rgba(0, 0, 0, 0.7);
    }

    .generate-name:active {
        margin-top: 9px;
        border-bottom: 2px #000 solid;
    }

/* The combined names. */
.generated-name {
    display: block;
    margin-bottom: 20px;
    text-transform: capitalize;
    text-align: center;
    font-size: 24pt;
    line-height: 35px;
}

/* #endregion   ### B A B Y   N A M E S */

/* #endregion   @@@ B A B Y   N A M E S */

/* ############################################## */

/* ############################################## */

/* #region      @@@ REGION */

/* #endregion   @@@ REGION */

/* ############################################## */

#books {
    text-align: center;
}

#books ul {
    display: grid;
    grid-template-columns: repeat(auto-fill, 150px);
}

#books ul li {
    text-align: left;
}

.social-icons a {
    display: inline-block;
    color: #fff;
    margin: 10px;
    font-size: 20px;
    text-decoration: none;
    border-radius: 5px;
    overflow: hidden;
}

.fa-twitter,
.fa-youtube, 
.fa-facebook-f {
    transition: 0.15s;
    padding: 5px;
    width: 23px;
    height: 20px;
}

.fa-twitter, 
.fa-facebook-f {
    transform: translateY(1px);
}

.fa-youtube {
    transform: translateX(-1px);
}


    a:hover .fa-twitter {
        background-color: #26a7de;
        
    }

    a:hover .fa-youtube {
        background-color: #b2071d;
        
    }

    a:hover .fa-facebook-f {
        background-color: #4267B2;
    }

.navigation-mobile {
    display: none;
    visibility: hidden;
}