/*
Customize the look of the site in this file...
This stylesheet is loaded after reset.css and core.css
*/

:root {
    --main-hex: pink;
    --main-hex-a: #012181B3;
    /* Alpha codes here: https://codepen.io/chriscoyier/pen/XjbzrW */
    --accent-hex: #00B2CA;
    --panel-hex: #E3E3E3;
    --border-hex: #000000;
    --success-hex: #48D61A;
    --error-hex: #EB0C1A;
    --border-radius-input: 3px;
    --border-radius-panel: 3px;
    --transition-time: .1s;
    /* Kept old styling above to not break anything on original site architecture */


    /* Boardroom Styling ------------------------- */

    /* Background
        Explainer: --colour-background
    */
    --c-bg: #E5D4B7;
    --c-bg-card: #F5E7CF;
    /* Lighter beige used in all our section cards/nav */

    /* Accents
        Explainer: --colour-accent-[colour]
    */
    --c-accent-yellow: #FFC567;
    --c-accent-red: #FD5A46;
    --c-accent-green: #00995E;
    --c-accent-pink: #FB7DA8;
    --c-accent-purple: #552CB7;
    --c-accent-blue: #058CD7;
    --c-accent-navy: #2B4593;

    /* Messages
        Explainer: --colour-message-[alert]
    */
    --c-msg-success: #42AE7D;
    --c-msg-error: #FD5A46;

    /* Text Colour
        Explainer: --text-accent-[goes with its matched accent]
        Some colours are adjusted to pass AA accessbility.

        Also used for button border colours for consistency.
    */
    --t-white: #ffffff;
    --t-accent-red: #c42b17;
    --t-accent-green: #017549;
    --t-accent-pink: #c7235a;
    --t-accent-purple: #321575;
    --t-accent-blue: #006da8;
    --t-accent-navy: #0d2879;

    /* Border Radius
        Explainer: --borderRadius-[asset]-[size]
    */
    --br-card: 1.875rem;
    --br-button: 0.8rem;
    --br-button-xl: 1.25rem;
    --br-input: 1.25rem;
    --br-game: 0.625rem;
    --br-tag: 0.25rem;
    --br-msg: 1.25rem;

    /* Border
        Explainer: --border-[asset]-[size]
    */
    --b-button: 2px;
    --b-button-xl: 3px;
    --b-hr: 5px;
    --b-card: 5px;
    --b-input: 3px;
    --b-profile-s: 1px;
    --b-profile-m: 2px;
    --b-profile-xl: 5px;
    --b-game: 3px;
    --b-msg: 3px;
    --b-post: 4px;

    /* Icons
        Explainer: --icon-[size], --icon-[element]-[size]
    */
    --i-s: 1.3rem;
    --i-m: 2.2rem;
    --i-lg: 2.8rem;

    --i-profile-s: 2.8rem;
    --i-profile-m: 3.75rem;
    --i-profile-xl: 14.5rem;

    --i-game-xs: 2rem;
    --i-game-s: 3.125rem;

    /* Star Ratings
        Explainer: --star-[size]
    */
    --star-s: 1.125rem;
    --star-m: 1.5rem;
}

html {
    font-size: 16px;
}

/* Illustration Overlays --------------------------------------------------------- */
.float-element {
    position: absolute;
    z-index: 2;
}

/* Landing Page -------------------------------------------------------------- */
.landing {
    input::placeholder {
        color: var(--c-accent-navy);
        opacity: 80%;
    }

    input {
        width: 100%;
        font-size: 1.25rem;
    }

    .content-wrapper {
        display: flex;
        justify-content: center;
        margin: 0 auto;
        height: fit-content;
        padding-top: 1rem;

        h1 {
            margin-top: 2rem;
        }

        img {
            width: 35rem;
            transform: translateY(-1rem);
        }

        .pawnie {
            z-index: -3;
        }

        .card-container {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 39.5rem;
            gap: 4rem;
            height: fit-content;
            position: relative;
        }

        .dice-red {
            width: 11rem;

            top: 1rem;
            right: -5rem;
        }

        .pawn-blue {
            width: 8rem;

            bottom: -5rem;
            right: -2rem;
        }

        .d20-green {
            width: 8rem;

            bottom: -6rem;
            right: 6rem;
            transform: rotate(-15deg);
        }

        .card-pink {
            width: 8rem;

            bottom: 5rem;
            left: -6rem;
            z-index: -1;
            transform: rotate(-30deg);
        }

        .links {
            display: flex;
            align-items: baseline;
            gap: 0.5rem;
        }

        .login-extras {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: fit-content;

            hr {
                margin: 1.25rem 0;
            }
        }
    }
}

#login_form_br {
    form {
        display: flex;
        flex-direction: column;
        gap: 1.125rem;
        align-items: center;
    }

    button {
        width: fit-content;
    }
}

#wrapper {
    margin: 1.25rem 0;
    margin-bottom: 5rem;
    /* min-height: 100vh; */

}

/* Sign Up */
.register {
    form {
        display: flex;
        flex-direction: column;
        gap: 1.125rem;
        align-items: center;
    }

    .content-wrapper {
        .card-container {
            gap: 2rem;
        }
    }
}

.password {
    form {
        display: flex;
        flex-direction: column;
        gap: 1.125rem;
        align-items: center;
    }

    .content-wrapper {
        .card-container {
            gap: 2rem;
        }

        p {
            width: 60%;
            text-align: center;
        }
    }
}

/* Messages */
.message-container {
    display: flex;
    padding: 0.5625rem 1.5rem;
    justify-content: center;
    align-items: center;
    width: 30rem;
    gap: 0.5rem;
    border-radius: var(--br-msg);
    text-align: center;
    font-size: 1rem;
    font-weight: normal;
}

.logout_message {
    color: var(--t-white);
    background: var(--c-msg-success);
    border: var(--b-msg) solid var(--t-accent-green);
}

.login_error {
    color: var(--t-white);
    background: var(--c-msg-error);
    border: var(--b-msg) solid var(--t-accent-red);
}

/* Top Nav ------------------------------------------------------------------- */
.top-nav {
    margin: 1.25rem;
    margin-bottom: 0;
    /* position: relative; */
    /* top: 20PX;
    z-index: 5000; */

    .card-container {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 1rem 1.5rem;

        .icon-wrapper {
            display: flex;
            flex-direction: row;
            align-items: center;
            gap: 1.88rem;
        }

        .profile {
            margin-left: 0;
        }

        #search_box {
            form {
                display: flex;
                align-items: center;
                gap: 1rem;
            }

            input {
                width: 100%;
            }

        }

    }
}


/* Page Wrapper for Content with Side Nav -------------------------------------- */
.page-wrapper {
    display: inline-grid;
    grid-template-columns: auto auto;
    width: 100%;

    .side-navigation {
        width: 360px;
    }

    .page-content {
        width: 1100px;
        display: flex;
        justify-content: center;
        margin-top: 20px;
    }

    .scroll-content {
        width: 664px;
    }
}


/* Search Page ------------------------------------------------------------------- */
#search_results {
    h2 {
        margin-bottom: 1rem;
    }

    .tabs {
        border-bottom: none;
    }

    .post_content p {
        margin: 0;
    }

    .name-wrapper {
        margin-left: 1rem;
    }

    .post_content a {
        color: var(--c-accent-navy);
        transition: color 0.3s ease-in-out;
    }

    .post_content a:hover {
        color: var(--c-accent-pink);
        transition: color 0.3s ease-in-out;
        text-decoration: none;
    }

    .photo_roll {
        margin-left: 1rem;
        padding-top: 1rem;
    }

    .post_viewer {
        border-bottom: none;
    }

    .post_block {
        padding: 1rem 0;
    }

    .follow_button {
        padding: 0.5rem 1.5rem;

        font-size: 1rem;
        height: 3rem;
        border-radius: 1rem;
        margin: 0.5rem;
    }
}


/* Error Page -------------------------------------------------------------------- */
#error_404 {
    display: flex;
    justify-content: center;
    height: 100vh;
    align-items: center;

    .container-404 {
        margin-top: 22rem;

        h1 {
            font-family: "the-seasons", sans-serif;
        }
    }

    .card-container {
        position: relative;
        width: 50vw;
        height: 20rem;
        display: flex;
        justify-content: center;
        align-items: flex-end;
    }

    .content {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 0.75rem;
        text-align: center;
        margin-bottom: 1rem;

        p {
            width: 70%;
        }
    }

    .overlay-illustration {
        position: absolute;
        width: 35rem;
        top: -120%;
    }

    .blue-dice {
        width: 8rem;

        bottom: 3rem;
        left: -4rem;
        transform: rotate(-15deg);
    }

    .green-dice {
        width: 8rem;

        bottom: -4rem;
        left: 2rem;
        transform: rotate(15deg);
    }

    .ace-card {
        width: 9rem;

        bottom: 5rem;
        right: -6rem;
        transform: rotate(25deg);
        z-index: -1;
    }

    .pawn-piece {
        width: 7rem;

        bottom: -5rem;
        right: -4rem;
        transform: rotate(120deg);
    }
}


/* Feed Page ----------------------------------------------------------------------- */
#feed-page {
    h2 {
        margin-top: 4rem;
    }
}

.post-composer-br {
    .card-container {
        display: flex;
        padding: 1.5rem 3rem;

    }

    .dice-navy {
        width: 8rem;

        bottom: -4rem;
        right: -4rem;
    }

    .pawn-navy {
        width: 6rem;

        left: -4rem;
        bottom: rem;
        z-index: -1;
    }

    .col-1 {
        padding-right: 1rem;
    }

    .col-2 {
        width: 100%;

        .name-wrapper {
            display: flex;
            align-items: center;
            gap: 0.5rem;

            p {
                padding-bottom: 0.2rem;
                font-weight: 300;
            }
        }

        .star-review-display {
            padding-top: 0.5rem;
        }

        #star-review-display {
            display: none;
        }

        #star-review-display.show-stars {
            display: flex;
        }

        textarea {
            background: none;
            width: 100%;
            border: none;
            padding: 1rem 0;
            color: var(--c-accent-navy);
            outline: none;
            resize: none;
            font-style: italic;
        }

        textarea::placeholder {
            color: var(--c-accent-navy);
            opacity: 80%;
        }

        .input-wrapper {
            display: flex;
            justify-content: space-between;
        }

        label {
            margin-left: 0;
        }

        i {
            transition: color 0.3s ease-in-out;
            cursor: pointer;
        }

        i:hover {
            color: var(--c-accent-pink);
            transition: color 0.3s ease-in-out;
        }
    }

    .post-preview-wrapper {
        display: flex;
        gap: 1rem;
        padding-bottom: 1rem;
    }

    .post-preview-img {
        width: 25%;
        height: auto;
        object-fit: cover;
        border-radius: var(--br-game);
        border: var(--b-post) solid var(--c-accent-navy);
    }

    /* Game Selector dropdown */
    .game-selector-dropdown-wrapper {
        position: relative;
        display: inline-block;
    }

    #game-dropdown-menu {
        position: absolute;
        z-index: 2;
        width: 12rem;

        padding: 1rem 1.5rem;
        background: var(--c-bg-card);
        border: 2px solid var(--c-accent-navy);
        border-radius: var(--br-game);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        p {
            cursor: pointer;
            transition: color 0.3s ease-in-out;
        }

        p:hover {
            color: var(--c-accent-pink);
            transition: color 0.3s ease-in-out;

        }
    }

    #game-dropdown-menu.show-dropdown {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }
}

.no_posts {
    position: relative;
    width: 100%;
    color: var(--c-accent-navy);
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 6rem 0;

    .wrapper {
        text-align: center;
    }

    .pawn-navy {
        width: 6rem;

        bottom: -2rem;
        right: 6rem;
        transform: rotate(120deg);
    }
}


/* Side Navigation ------------------------------------------------------------ */
.sidenav {
    padding: 2rem;
    align-items: flex-start;
    gap: 0.625rem;
    margin-bottom: 1rem;
    margin-left: 20px;
    margin-top: 20px;

    border-radius: var(--br-card);
    border: var(--b-card) solid var(--c-accent-navy);
    background: var(--c-bg-card);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--c-accent-navy);

    height: 1600px;
    width: 360px;
    position: absolute;
    z-index: 5000;
    top: 120px;
    /* left: 40px; */
    /* scroll-behavior: smooth;
    overflow: hidden; */
}

.sidenav a {
    display: flex;
    align-items: center;
    padding: 0.5rem;
    text-decoration: none;
    font-size: 1.5rem;
    color: var(--t-accent-navy);
    transition: 0.3s;

    button i {
        margin-right: 0rem;
    }

    i {
        font-size: var(--i-m);
        margin-right: 1.5rem;
        position: relative;
    }
}

.policy {
    padding: 0.5rem;
    text-decoration: none;
    font-size: 1.5rem;
    color: var(--t-accent-navy);
    display: block;
    transition: 0.3s;

    i {
        font-size: 2rem;
        margin-right: 1.5rem;
        position: relative;
        top: 5px;
    }
}

.sidenav a:hover {
    color: var(--c-accent-pink);
}

.nav-divider {
    border: none;
    border-top: var(--b-hr) dotted var(--c-accent-navy);
    margin: 0.5rem;
}

.nav-label {
    font-weight: 700;
    padding: 0.5rem;
    text-decoration: none;
    font-size: 1.5rem;
    color: var(--t-accent-navy);
    display: block;
    transition: 0.3s;
    margin: 0;

    i {
        margin-right: 1.5rem;
        font-size: var(--i-m);
        position: relative;
        top: 5px;
    }
}

.profile-card {
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 0.5rem;
    border-radius: var(--br-card);
    font-family: "Karla", sans-serif;
}

.profile-card img {
    position: relative;
    top: -5px;
    width: var(--i-profile-m);
    height: var(--i-profile-m);
    border-radius: 50%;
    object-fit: cover;
    border: var(--b-profile-m) solid var(--profile-border);
}

.profile-info {
    display: flex;
    flex-direction: column;
    justify-content: center;
    line-height: 1.1;
}

.name {
    font-weight: 700;
    color: var(--c-accent-green);
    font-size: 1.25rem;
}

.handle {
    color: var(--c-accent-green-light);
    font-size: 1.1rem;
}

.status {
    margin-top: 0.25rem;
    color: var(--t-accent-navy);
    font-size: 1rem;
}

.status .game {
    font-style: italic;
    font-weight: 700;
    color: var(--c-accent-navy);
}

.sidenav button {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.625rem;

    margin: 1.5rem 0.5rem;
    height: 4rem;
    padding: 1rem 1.5rem;

    font-family: "Karla", sans-serif;
    text-transform: uppercase;
    font-size: 1.5rem;
    font-weight: 800;
    color: var(--t-white);

    background: var(--c-accent-red);
    border: var(--b-button) solid var(--t-accent-red);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-red);
    border-radius: var(--br-button-xl);

    i {
        font-size: var(--i-m);
    }
}


/* Profile Page ------------------------------------------------------------------ */
main.container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.banner {
    border-radius: var(--br-card);
    border: var(--b-card) solid var(--t-accent-green);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--t-accent-green);
    background-size: cover;
    background-position: center;
    margin: 20px;
    height: 15rem;

    img {
        border-radius: var(--br-card);
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

    /* Game Overview */
    display: flex;
    justify-content: center;
    align-items: center;

    .game-title {
        -webkit-text-stroke: 2px var(--t-accent-green);
        text-shadow: 2px 4px 0 var(--t-accent-green);
    }
}

.profile-container,
.encyclopedia-container,
.game-view-container {
    margin-left: 380px;
    margin-right: 20px;
    font-size: 1.5rem;
    width: calc(100% - 380px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    top: 120px;
    overflow: hidden;
}

.profile-img {
    width: 300px;
    height: 300px;
    position: relative;
    z-index: 1;
    top: -150px;
    left: 100px
}

.avatar {
    border-radius: 100%;
    min-width: 250px;
    min-height: 250px;
    max-width: 250px;
    max-height: 250px;
    overflow: hidden;
    border: var(--b-card) solid var(--profile-color);
}

/* Profile Bio */
.user-stats {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border-radius: var(--br-card);
    border: var(--b-card) solid var(--profile-color);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--profile-color);
    background: var(--c-bg-card);
    gap: 2rem;
    margin: 20px;

    h2 {
        margin-bottom: 1rem;
    }

}

.stats-columns {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0rem 3rem;
}

.stats-group {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    min-width: 10rem;
}

.stat-text {
    line-height: 2.8;
}

.stats-group h5 {
    font-family: "Karla", sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--profile-color);
    margin-bottom: 0.5rem;
    margin-top: 0.2rem;
}

.stat {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.5rem;
    color: var(--profile-color);
}

.stat i {
    font-size: var(--i-s);
    color: var(--profile-color);
}

/* Game Thumbnails */
.game-item img {
    width: var(--i-game-s);
    height: var(--i-game-s);
    border-radius: var(--br-game);
    border: var(--b-game) solid var(--profile-color);
    box-shadow: var(--b-input) var(--b-input) 0 0 var(--profile-color);
    object-fit: cover;
    margin: 0.3rem 0rem 0.1rem 0rem;
}

/* Buttons on the right */
.stats-buttons {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.stats-buttons button {
    width: 100%;
    justify-content: center;
}

.profile-container button.outline {
    background: var(--c-bg-card);
    color: var(--c-accent-green);
    border: var(--b-button) solid var(--c-accent-green);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--c-accent-green);
}

.profile-container button.fill {
    background: var(--c-accent-green);
    border: var(--b-button) solid var(--profile-color);
    color: var(--t-white);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-color);
}

.profile-container button.cta {
    background: var(--c-accent-red);
    color: var(--t-white);
    border: var(--b-button) solid var(--t-accent-red);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-red);
}

.profile-container button.m {
    font-size: 1rem;
    height: 3rem;
    border-radius: 1rem;
    margin: 0.5rem;
}

.profile-container button.m i {
    font-size: 1.2rem;
}

.profile-container .bio-header {
    color: var(--profile-color);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin: 0;
    padding: 0;
    line-height: 0;
    margin-left: 25rem;
}

.user-bio-card {
    margin-top: -310px;

}

.profile-container {
    #post_creator {
        display: inline-block;
        justify-content: center;
        align-items: center;
        margin-left: 19rem;
        width: 100%;
        max-width: 700px;
        color: var(--profile-color);
        border: var(--profile-border);
        box-shadow: var(--profile-border);
    }
}

/* Search Filter ---------------------------------------------------- */
.search-filter {
    margin: 20px;
    margin-top: 10px;
    border-radius: var(--br-card);
    background-color: var(--Light-Beige);
    border-color: var(--c-accent-navy);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--c-accent-navy);
}

.search-field {
    margin: 1rem 2.5rem;
}

.filters {
    width: 100%;
    background-color: var(--c-bg-card);
    border: var(--b-input) solid var(--c-accent-navy);
    box-shadow: var(--b-input) var(--b-input) 0 0 var(--c-accent-navy);
    border-radius: var(--br-input);
}

/* Dropdown */
.drop-down {
    display: flex;
    justify-content: center;
    height: 2.5rem;
    padding: 0.5rem 1rem;
    align-items: center;
    gap: 1rem;
}

.custom-select select {
    width: 100%;
    padding: 0.5rem 1rem;
    background-color: var(--c-accent-pink);
    border: none;
    border-radius: 0.5rem;
    font-family: "Karla", sans-serif;
    color: white;
    font-size: 1rem;
    font-weight: 800;
    text-transform: uppercase;
    align-items: center;

    i {
        font-size: var(--i-m);
    }
}

.custom-select {
    position: relative;
    font-family: "Karla", sans-serif;
    font-weight: 600;
    background-color: var(--c-accent-pink);
    border-radius: 1rem;
}

.select-selected {
    background-color: var(--c-accent-pink);
    border-radius: 1rem;
}

.select-selected:after {
    position: absolute;
    content: "";
    top: 14px;
    right: 10px;
    width: 0;
    height: 0;
    border: 6px solid transparent;
    border-color: #fff transparent transparent transparent;
}


.select-selected.select-arrow-active:after {
    border-color: transparent transparent #fff transparent;
    top: 7px;
}

.select-selected.select-arrow-active {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

.select-items div,
.select-selected {
    color: var(--c-accent-pink);
    padding: 8px 16px;
    border: 1px solid transparent;
    border-color: transparent transparent rgba(0, 0, 0, 0.1) transparent;
    cursor: pointer;

}

/* Style items (options): */
.select-items {
    position: absolute;
    background-color: var(--c-accent-pink);
    top: 100%;
    left: 0;
    right: 0;
    z-index: 99;
    border-bottom-left-radius: 1rem;
    border-bottom-right-radius: 1rem;
    overflow: hidden;
}

.select-items div:hover,
.same-as-selected {
    background-color: var(--c-accent-pink);

}

/* Filter Buttons */
.filter-bar {
    display: flex;
    gap: 1rem;
    padding: 0.5rem 2rem;
}

.filter-btn {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.5rem 1rem;
    background: #FB7DA8;
    color: white;
    border: 2px solid var(--t-accent-pink);
    box-shadow: var(--b-input) var(--b-input) 0 0 var(--t-accent-pink);
    border-radius: 0.8rem;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    font-size: 1rem;
    letter-spacing: 0.5px;
    transition: 0.2s;
}

.filter-btn i {
    font-size: 1.2rem;
}

.filter-btn:hover {
    background: #ff90ba;
}

/* Filter Panels */
.filter-panel {
    background: #FFD8E9;
    border: 2px solid #E15B8A;
    border-radius: 1rem;
    margin-top: 0;
    padding: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
}

.filter-panel.open {
    padding: 1rem 1.5rem;
    margin-top: 1rem;
    border: 2px solid #E15B8A;
    max-height: 5000px;
    opacity: 1;
}

.filter-panel h3 {
    margin-bottom: 0.8rem;
    color: #E15B8A;
}

/* Checklist */
.checklist label {
    display: flex;
    gap: 0.5rem;
    margin-bottom: 0.5rem;
    color: #E15B8A;
    font-weight: 600;
}

.checklist input[type="checkbox"] {
    accent-color: #FB7DA8;
}

#genre-panel.open,
#players-panel.open,
#age-panel.open,
#difficulty-panel.open,
#time-panel.open {
    margin: 0rem 2rem 2rem 2rem;

}


/* Encyclopedia Page ------------------------------------------------------ */
.encyclopedia-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    top: 120px;

    .wrapper-content .the-search-results {
        width: 970px;
        display: grid !important;
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: auto;
        row-gap: 2.5rem;
        padding-left: 1rem;
        padding-bottom: 2rem;
    }

    .purple {
        color: var(--c-accent-purple);
    }

    .green {
        color: var(--c-accent-green);
    }

    .banner {
        background-image: url(../img/profile-banner-img.png);
        border-color: var(--c-accent-navy);
        box-shadow: var(--b-card) var(--b-card) 0 0 var(--c-accent-navy);
    }

    .wrapper-illustrations {
        position: relative;

        .pawn-navy {
            width: 6rem;
            top: -4rem;
            right: 1.5rem;
            transform: rotate(5deg);
        }

        .dice-navy {
            width: 9rem;
            top: -4rem;
            right: 6rem;
            transform: rotate(-8deg);
        }
    }

    .wrapper-content {
        margin: 0 auto;
        width: 85%;
        display: flex;
        flex-direction: column;
        align-items: center;

        h2 {
            width: 940px;
            text-align: left;
            margin: 3rem 0 1rem 0;
        }

        .red {
            color: var(--c-accent-red);
        }

        .game-wrapper {
            width: 970px;
            display: grid;
            grid-template-columns: repeat(3, 1fr);
            grid-template-rows: auto;
            row-gap: 2.5rem;
            padding-left: 1rem;
        }
    }

    .carousel-container {
        width: 940px;
        overflow: hidden;
        margin-bottom: 1rem;

        .carousel-content .trending-post {
            padding: 1.25rem;
        }
    }

    .trending .carousel-controls-nav .carousel-dot {
        color: var(--c-accent-green);

        .ph-fill {
            color: var(--c-accent-green);
        }
    }

    .trending .carousel-arrow {
        color: var(--c-accent-green);
    }

    .carousel-content {
        width: 970px;
        display: flex;
        transition: transform 0.5s ease-in-out;
    }

    .carousel-content>* {
        flex: 0 0 calc((100% / 3) - 2.5rem);
        margin: 0 1.25rem;
        box-sizing: border-box;
    }

    .carousel-content>*:nth-child(3n + 1) {
        margin-left: 0;
    }

    .carousel-controls-nav {
        display: flex;
        align-items: center;
        justify-content: center;
        margin: 15px 0 25px 0;
    }

    .carousel-dots {
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0 1rem;
    }

    .carousel-dot {
        cursor: pointer;
        margin: 0 4px;
        font-size: 1.3rem;
        transition: color 0.3s;
        color: var(--c-accent-red);
    }

    .carousel-dot .ph-fill {
        color: var(--c-accent-red);
    }

    .carousel-arrow {
        background: none;
        border: none;
        cursor: pointer;
        font-size: 1.5rem;
        color: var(--c-accent-red);
        box-shadow: none;
        width: fit-content;
        padding: 0;
    }

    .carousel-arrow:hover {
        opacity: 0.8;
    }
}

/* Tags */
.tag {
    background-color: var(--profile-border);
    margin: 1rem 0;
    padding: 0.4rem 0.75rem;
    display: inline-flex;
    white-space: nowrap;
    text-align: center;
    line-height: 1;
    vertical-align: middle;
}

.tag.start,
.tag.post-start {
    margin-left: 0;
    padding-right: 1rem;
}

.tag.end,
.tag.post-end {
    margin-right: 0;
}


/* Game Overview -------------------------------------------------------- */
.game-view-container {
    color: var(--t-accent-green);

    .banner {
        background-image: url(../img/monopoly-banner.png);
    }

    .game-reviews {
        margin-bottom: 6rem;
        .write-review-btn {
            color: var(--t-accent-green);
        }

        .review-create-container {
            margin: 20px;

            .pawn-navy,
            .dice-navy {
                display: none;
            }
        }

        .game-card {
            display: flex;
            justify-content: space-between;
            align-items: center;

            border: var(--b-card) solid var(--t-accent-green);
            box-shadow: var(--b-card) var(--b-card) 0 0 var(--t-accent-green);

            p {
                font-size: 1.25rem;
            }

            .rating-wrapper {
                display: flex;
                gap: 1rem;
                align-items: center;

                p {
                    width: 100%;
                    white-space: nowrap;
                    padding-bottom: 0;
                }
            }

            .star-rating {
                color: var(--t-accent-green);
            }

            button {
                color: var(--t-accent-green);
                border: var(--b-button) solid var(--t-accent-green);
                box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-green);
            }
        }
    }

    .game-card {
        .similar-games {
            display: flex;
            gap: 2rem;

            p {
                font-size: 1.25rem;
                padding-bottom: 0;
                padding-top: 0.5rem;
                display: flex;
                align-items: center;
                gap: 0.25rem;
                color: var(--t-accent-green);
            }

        }

        .similar-games-img {
            width: 150px;
            aspect-ratio: 1/1;
            border: var(--b-button) solid var(--t-accent-green);
            box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-green);
            border-radius: var(--br-button);
        }
    }

    .game-grid {
        .right {
            .clamped-text {
                display: -webkit-box;
                -webkit-line-clamp: 6;
                -webkit-box-orient: vertical;
                overflow: hidden;
                padding-bottom: 0;

                height: auto;
                transition: height 0.3s ease-out, opacity 0.3s ease-out;
            }

            .expanded-text {
                -webkit-line-clamp: unset;
                overflow: visible;
                height: auto !important;
                padding-bottom: 1rem;
            }

            button.fill {
                background: var(--c-accent-green);
                border: var(--b-button) solid var(--t-accent-green);
                box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-green);
            }
        }
    }

    .game-card .purchase-links {
        h3 {
            padding-bottom: 0.5rem;
        }

        .title-2 {
            padding-top: 1rem;
        }

        a,
        p {
            font-size: 1rem;
            color: var(--t-accent-green);
        }

        a:hover,
        p:hover {
            font-size: 1rem;
            color: var(--c-accent-pink);
        }
    }
}

.monopoly-overview {
    display: flex;
    flex-direction: column;
    padding: 1.5rem;
    border-radius: var(--br-card);
    border: var(--b-card) solid var(--t-accent-green);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--t-accent-green);
    background: var(--c-bg-card);
    gap: 1rem;
    margin: 20px;
}

.game-card {
    border-radius: var(--br-card);
    border: var(--b-card) solid var(--t-accent-green);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--t-accent-green);
    background: var(--c-bg-card);
    padding: 2rem;
    background: var(--c-bg-card);
    margin: 20px;
    margin-top: 0.25rem;

    position: relative;

    .pawn-green {
        width: 7rem;

        top: -7rem;
        right: 0rem;
        transform: rotate(5deg);
    }

    .dice-green {
        width: 8rem;

        top: -6rem;
        right: 6rem;
        transform: rotate(-8deg);
    }
}

.game-content {
    display: flex;
    justify-content: space-between;
    gap: 3rem;

    p {
        font-size: 1rem;
    }

    .tag {
        background-color: var(--t-accent-green);
        padding: 0.4rem 0.75rem;
        padding-right: 1rem;
    }
}

.left {
    flex: 2;
}

.right {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.5rem;

    .button {
        background: var(--c-accent-green);
        border: var(--b-button) solid var(--t-accent-green);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-green);
        color: #fff;

    }
}

.rating {
    display: flex;
    flex-direction: row;
    align-items: center;

    .stars {
        margin-right: 1.5rem;
    }
}

/* Stats list */
.stats {
    list-style: none;
    padding: 0;
    line-height: 2rem;
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--t-accent-green);

    li {
        margin: 0.5rem 0rem;
    }

    i {
        margin-right: 1rem;
    }
}

iframe {
    border: var(--b-button) solid var(--t-accent-green);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-green);
    -moz-border-radius: 15px;
    border-radius: 15px;
    overflow: hidden;
}

.game-rules {
    display: flex;
    flex-direction: row;
    font-size: 1rem;
    gap: 3rem;
}

.section-header {
    margin-left: 3rem;
    margin-top: 2rem;
}

.game-expansion {
    border: var(--b-button) solid var(--t-accent-green);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-green);
    border-radius: var(--br-button);
    width: 125px;
    height: 125px;
}

.expansions {
    display: flex;
    gap: 2rem;
    margin-bottom: 2rem;

    width: 450px;

    flex-wrap: wrap;
    max-height: 125px;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out;

    p {
        font-size: 1.25rem;
    }
}

.hidden-expansion {
    display: none;
}

.expansions.expanded {
    max-height: fit-content;
    width: 450px;
}

.expansions.expanded .hidden-expansion {
    display: block;
}

.button {
    border: var(--b-button) solid var(--t-accent-green);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-green);
}

.where-extention {
    display: flex;
    justify-content: space-between;
    max-width: 1300px;
    margin: auto;

    p {
        line-height: normal;
    }

    .game-card {
        min-width: 600px;
    }
}

/* Game Post Card */
.game-post-container.card-container,
.flip-card-front,
.flip-card-back {
    overflow: hidden;
    width: 282px;
    padding: 0;

    color: var(--t-accent-red);
    border: var(--b-card) solid var(--c-accent-red);
    box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--c-accent-red);
    border-radius: 1rem;

    p {
        font-size: 1rem;
    }

    img {
        width: 100%;
    }

    .featured-game-card-photo {
        width: 100%;
        aspect-ratio: 1/1;
    }

    .game-card-photo {
        width: 100%;
        height: 70%;
    }

    .text-container {
        padding: 1rem;

        h4 {
            padding-bottom: 0.5rem;
        }

        p {
            line-height: 150%;
            max-height: 4.5em;
            /* 150% * 3 lines */

            display: -webkit-box;
            -webkit-line-clamp: 3;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;

            margin-bottom: 1.25rem;
            font-size: 1rem;
        }

        .tag {
            background-color: var(--c-accent-red);
        }

        .details {
            display: flex;
            justify-content: space-between;

            .star-rating i {
                font-size: 1.5rem;
                color: var(--c-accent-red);
            }
        }
    }
}

.flip-card {
    width: 282px;
    height: 335px;
    perspective: 1000px;

    .flip-card-inner {
        position: relative;
        width: 100%;
        height: 100%;

        transition: transform 0.8s;
        transform-style: preserve-3d;
    }

    .flip-card-front,
    .flip-card-back {
        position: absolute;
        width: 100%;
        height: 100%;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;

        color: var(--t-accent-purple);
        border: var(--b-card) solid var(--c-accent-purple);
        box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--c-accent-purple);
    }

    .flip-card-front {
        background-color: var(--c-bg-card);
        color: var(--t-accent-purple);
    }

    .game-post-container.card-container,
    .flip-card-front,
    .flip-card-back {
        & .text-container {
            & .details {
                .star-rating i {
                    color: var(--c-accent-purple);
                }
            }

            & .tag {
                background-color: var(--c-accent-purple);
            }
        }
    }

    .flip-card-back {
        display: flex;
        flex-direction: column;
        justify-content: space-between;

        background-color: var(--c-bg-card);
        transform: rotateY(180deg);
        padding: 1rem;

        .descript {
            line-height: 150%;
            max-height: 10.5em;
            /* 150% * 7 lines */

            display: -webkit-box;
            -webkit-line-clamp: 7;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
        }

        p.mini {
            font-size: 0.85rem;
            padding-bottom: 0;
            color: var(--t-accent-purple);
            white-space: nowrap;
        }

        .game-info {
            padding-top: 0;
            display: flex;
            justify-content: space-between;
            padding-bottom: 1rem;
            margin-left: 0;
        }

        .stat {
            display: flex;
            justify-content: center;
            gap: 0.25rem;

            i {
                color: var(--t-accent-purple);
            }
        }

        button {
            width: 100%;
            color: var(--c-accent-purple);
            border: var(--b-button) solid var(--c-accent-purple);
            box-shadow: var(--b-button) var(--b-button) 0 0 var(--c-accent-purple);
        }
    }
}

.flip-card:hover .flip-card-inner {
    transform: rotateY(180deg);
}

/* Post Card */
.post-card {
    background: var(--c-bg-card);
    border: var(--b-card) solid var(--profile-border);
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
    box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--profile-border);
    border-radius: var(--br-card);
}

.post-image {
    width: 100%;
    max-height: 500px;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #000;
    border-radius: var(--br-card);
    margin-bottom: 1rem;
    border: 3px solid var(--profile-color);
}

.post-image .post-photo {
    width: 100%;
    height: auto;
    max-height: 500px;
    object-fit: contain;
}

.post-card {
    background: var(--c-bg-card);
    border: var(--b-card) solid var(--profile-color);
    width: 100%;
    max-width: 700px;
    margin: 1rem auto 1rem auto;
    padding: 1.5rem 3rem;
    box-sizing: border-box;
    box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--profile-color);
    border-radius: var(--br-card);

    .post-image {
        margin-top: 1rem;

        img {
            width: 100%;
        }
    }
}

.post-user {
    color: var(--profile-border);
    display: flex;
    align-items: center;
    margin-top: 20px;
    margin-bottom: 8px;
}

.post-user .profile {
    border: 2px solid var(--profile-color);
    margin-right: 15px;
}

.game-info {
    color: var(--profile-border);
    padding-top: 1rem;
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.genre-group {
    display: flex;
    width: auto;
    margin-top: -0.75rem;
}

.genre-group .tag {
    background-color: var(--profile-color);
}

.game-details {
    color: var(--profile-border);
    display: flex;
}

.post-actions {
    color: var(--profile-border);
    display: flex;
    gap: 1rem;
    align-items: center;
    font-size: 1rem;
}

.name-row {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--profile-border);
    font-size: 1rem;
}

.view-game-btn {
    background-color: transparent;
    color: var(--profile-color);
    border: 2px solid var(--profile-border);
    border-radius: 7.47px;
    margin-top: 1rem;
    margin-left: 0;
    padding: 6px 15px;
    font-size: 12px;
    cursor: pointer;
    box-shadow: 1.1px 1.1px 0 0 var(--profile-border);
    height: fit-content
}

.post-text {
    color: var(--profile-border);
    margin-top: -10px;
    padding-left: 4rem;
    padding-bottom: 0.75rem;
    font-size: 1rem;
}

.game-name {
    margin-top: -0.5rem;

    a {
        color: var(--profile-border);
    }

}

.gameiconpost {
    border-radius: 10px;
    width: 50px;
    height: 50px;
    min-width: 50px;
    min-height: 50px;
    border: 3px solid var(--profile-color);
    object-fit: cover;
    flex-shrink: 0;
}

hr.dotted-divider {
    border: none;
    border-top: 5px dotted var(--profile-border);
    margin: 1rem auto;
}

.post-actions i {
    font-size: 24px;
}

.post-stars {
    color: var(--profile-border);
    margin-top: -10px;
    display: flex;
    gap: 2px;
    font-size: 1rem;
    margin-left: 4rem;
    padding-bottom: 1rem;
}

.no-images {
    padding-top: 9px;
    margin-top: 0 !important;
}

.game-blurb-post {
    display: flex;
    justify-content: space-between;
}


/* Edit Profile ---------------------------------------------------------- */
#edit-p {
    display: block;
    width: 50%;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    margin-top: 3rem;
    padding: 2rem;
    background: var(--c-bg-card);
    border: var(--b-card) solid var(--c-accent-navy);
    border-radius: var(--br-card);
    font-family: "karla", sans-serif;

    #form {
        display: block;
        flex-direction: column;
        width: 100%;
        justify-content: center;
        align-items: center;
        margin: 0;
        padding: 0;

        h1 {
            color: var(--c-accent-blue);
        }

        label {
            color: var(--t-accent-navy);
        }

        input {
            color: var(--c-accent-navy);
            border: 2px solid var(--c-accent-navy);
            border-radius: var(--br-input);
        }

        input[type="submit"] {
            background-color: var(--c-accent-green);
            border: 2px solid var(--t-accent-green);
            box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--t-accent-green);
            border-radius: 1rem;
            color: white;
        }

        .button {
            background-color: var(--c-accent-purple);
            border: 2px solid var(--t-accent-purple);
            box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--t-accent-purple);
            border-radius: 1rem;
            color: white;
            margin-left: 2rem;
        }

        .cover_photo_holder {
            width: 100%;
            padding: 3rem;
            display: flex;
            border: var(--b-card) solid var(--c-accent-navy);
            border-radius: var(--br-card);
            background-size: cover;
            background-position: center;
            justify-content: center;
            align-items: center;

            .null {
                display: none;
            }
        }

        #cover_photo {
            width: 10rem;
            background-color: transparent;
            border: none;
            z-index: 500;

            input {
                background-color: none;
            }
        }

        .photo-inputs {
            display: flex;
            flex-direction: row;
            justify-content: space-between;

            input[type="file"] {
                display: none;
            }

            .button {
                background-color: var(--c-accent-red);
                border-color: var(--t-accent-red);
                border: 2px solid var(--t-accent-red);
                box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--t-accent-red);
                border-radius: 1rem;
                color: white;
                width: 12rem;
                text-align: center;
            }

            label {
                text-align: center;
                margin-left: 0;
            }

            .yellow {
                background-color: var(--c-accent-yellow);
                border-color: #E2A33D;
                border: 2px solid #E2A33D;
                box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 #E2A33D;
            }

            .blue {
                background-color: var(--c-accent-blue);
                border-color: var(--t-accent-blue);
                border: 2px solid var(--t-accent-blue);
                box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--t-accent-blue);
            }
        }

        input[type="number"] {
            width: min-content;
            margin-bottom: 1rem;
            ;
        }
    }
}


/* Follow Button */
.follow_button {
    /* Standard for unstyled buttons */
    padding: 0.5rem 1.5rem;
    justify-content: center;
    font-family: "Karla", sans-serif;
    text-transform: uppercase;
    font-size: 1rem;
    font-weight: 800;

    font-size: 1rem;
    height: 3rem;
    border-radius: 1rem;
    margin: 0.5rem;

    background: var(--c-bg-card);
    color: var(--c-accent-navy);
    border: var(--b-button) solid var(--c-accent-navy);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--c-accent-navy);
}

.follow_button.follow_user {
    background: var(--c-accent-navy);
    color: var(--c-bg-card);
    border: var(--b-button) solid var(--t-accent-navy);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--t-accent-navy);
}

.profile-container {
    .tabs {
        display: flex;
        justify-content: center;
        gap: 1rem;
        margin-bottom: 1.5rem;
        border-bottom: none;
    }

    .tab {
        cursor: pointer;
        transition: 0.2s ease;
    }

    .tab.active {
        background: var(--profile-color);
        color: white !important;
        border-color: var(--profile-border);
    }

    /* Content visibility control */
    .tab-content {
        display: none;
    }

    .tab-content.active {
        display: block;
    }

    #feedB .game-wrapper {
        display: grid;
        align-items: center;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
        width: 60%;
        margin: 0 auto;
    }
}

/* Profile Colours --------------------------------------------------------- */
.profile-container {
    --profile-color: #2B4593;
    /* Default blue */
    --profile-border: #0d2879;
    /* Default navy border */
}

.profile-container .banner {
    border: var(--b-card) solid var(--profile-color);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--profile-color);
}

.avatar {
    border: var(--b-card) solid var(--profile-color);
}

.user-stats {
    border: var(--b-card) solid var(--profile-color);
    box-shadow: var(--b-card) var(--b-card) 0 0 var(--profile-color);
}

.stat,
.stat i,
.stats-group h5,
.profile-container .bio-header,
.profile-container i.ph {
    color: var(--profile-border);
}

.profile-container .tab.active {
    border-bottom: 3px solid var(--profile-border);
    color: var(--profile-color);
}

/* Headings and Username */
.profile-container {

    h2,
    .username {
        color: var(--profile-border);
    }
}

/* Buttons */
.profile-container button.fill {
    background-color: var(--profile-color);
    border: var(--b-button) solid var(--profile-border);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border);
    color: white;
}

.profile-container button.m {
    background-color: var(--profile-color);
    border: 2px solid var(--profile-border);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border);
    color: white;

    i {
        color: white;
    }
}

/* Game Thumbnails */
.profile-container {
    .game-item img {
        border: var(--b-game) solid var(--profile-border);
        box-shadow: var(--b-input) var(--b-input) 0 0 var(--profile-border);
    }

    /* Small Game Icons */
    .game .s {
        color: var(--profile-color);
        border-color: var(--profile-border);
    }
}

.profile-container button.outline {
    background-color: var(--c-bg-card);
    border: var(--b-button) solid var(--profile-border);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border);
    color: var(--profile-color);

    i {
        color: var(--profile-color);
    }
}

/* Modal */
.modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

    display: flex;
    justify-content: center;
    align-items: center;

    background-color: rgba(0, 0, 0, 0.75);
    z-index: 1000;

    opacity: 1;
    transition: opacity 0.2s ease-in-out;
}

.modal-content {
    width: 45%;
}

.modal-close-btn {
    position: absolute;
    top: 15px;
    right: 15px;
    background: none;
    border: none;
    box-shadow: none;
    cursor: pointer;
    font-size: 1.5rem;
    color: var(--t-text-dark);
    z-index: 1001;
}

.modal-overlay.modal-hidden {
    display: none !important;
    opacity: 0;
}

/* Encyclopedia Trending Posts */
.trending-post-wrapper {
    .trending-post {
        width: 282px;
    }
}

.trending-post {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    border-radius: 1rem;
    height: 348px;

    .profile-blurb {
        display: flex;
        align-items: center;
        padding-bottom: 0.75rem;

        .name-wrapper {
            margin-left: 1rem;

            p {
                font-size: 1rem;
                padding-bottom: 0;
            }
        }
    }

    .star-rating {
        padding-bottom: 0.5rem;
    }

    .post-copy {
        line-height: 120%;
        font-size: 1rem;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        padding-bottom: 0;
    }

    .trending-post-actions {
        display: flex;
        gap: 1rem;
        padding-top: 1rem;

        .like,
        .comment {
            display: flex;
            align-items: center;
            gap: 0.3rem;
            cursor: pointer;
        }

        span, i {
            font-size: 1.25rem;
        }
    }

    .game-icon {
        width: 55px;
        height: 55px;
        overflow: hidden;
        border-radius: var(--br-game);
        border: var(--b-game) solid var(--c-accent-navy);

        img {
            width: 100%;
            height: 100%;
        }
    }

    .game-blurb {
        display: flex;
        justify-content: flex-start;
        align-items: center;
    }

    .name-and-tags {
        padding-left: 1rem;
        padding-top: 0.75rem;
    }

    .genre-group .tag {
        background-color: var(--c-accent-navy);
    }
}


/* Profile Game Styling ------------------------------------------------ */
.empty-state {
    text-align: center;
    padding: 3rem;
    color: #999;
}

.profile-tabs {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
}

.tab-button.active {
    background-color: var(--profile-color, #2B4593);
    color: white;
    border-color: var(--profile-color, #2B4593);
}

.profile-container {
    .games-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(282px, 1fr));
        gap: 2.5rem;
        padding: 1rem 0;
        width: 80%;
        margin: 0 auto;
        align-items: center;
        justify-items: center;
    }

    .empty-state {
        grid-column: 1 / -1;
        text-align: center;
        padding: 3rem;
        color: #999;
    }

    /* Override flip card colors with profile colors */
    .flip-card {
        width: 300px;
        height: 355px;
        perspective: 1000px;

        .flip-card-front,
        .flip-card-back {
            color: var(--profile-border);
            border: var(--b-card) solid var(--profile-border);
            box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--profile-border);
        }

        .flip-card-front {
            background-color: var(--c-bg-card);
            color: var(--t-accent-purple);
            padding: 0;
            overflow: hidden;

            img {
                width: 100%;
                height: 100%;
                object-fit: cover;
                display: block;
            }
        }

        .flip-card-back {
            padding: 1rem;

            p.mini {
                color: var(--profile-border);
            }

            .stat i {
                color: var(--profile-border);
            }

            button {
                color: var(--profile-border);
                border: var(--b-button) solid var(--profile-border);
                box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border);
                background-color: var(--c-bg-card);
            }

            button:hover {
                background-color: var(--profile-color);
                color: white;
            }

            .tag {
                background-color: var(--profile-border);
            }
        }
    }
}

/* Edit Profile Page Styles ----------------------------------------------- */
#edit-p {
    select,
    .edit-genres select,
    .edit-games select {
        width: 50%;
        padding: 0.75rem 1rem;
        margin-bottom: 1rem;

        font-size: 1rem;
        font-family: inherit;

        background-color: white;
        color: var(--t-accent-navy);

        border: var(--b-button) solid var(--c-accent-navy);
        border-radius: var(--br-button);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--c-accent-navy);
    }

    select#profile_colour {
        width: 100%;
        margin-top: 1rem;
    }

    h3 {
        color: var(--c-accent-red);
    }

    .button {
        background-color: #0d2879;
    }
}


/* Post Creator ------------------------------------------------------------ */
#post_creator {
    .card-container {
        border: var(--b-card) solid var(--profile-border);
        box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--profile-border);
    }

    /* Style buttons with profile colors */
    button.cta {
        color: white;
        border: var(--b-button) solid var(--profile-border);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border);
    }

    /* Star rating icons */
    .star-rating i {
        color: var(--profile-border);
    }

    .star-rating i.ph-fill {
        color: var(--profile-color);
    }

    /* Icons */
    .icon-wrapper i {
        color: var(--profile-border);
    }

    .icon-wrapper i:hover {
        color: var(--profile-color);
    }

    /* Game dropdown */
    .game-dropdown-menu {
        border: var(--b-card) solid var(--profile-border);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border);
    }

    .game-dropdown-menu p:hover {
        background-color: var(--profile-color);
        color: white;
    }

    /* Textarea focus */
    textarea:focus {
        border-color: var(--profile-border);
    }
}


/* Custom Colour Styling ----------------------------------------------------------------- */
.trending-post {
    border: var(--b-card) solid var(--post-color, #0d2879);
    box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--post-color, #0d2879);
    color: var(--post-border, #0d2879);

    .game-icon {
        border: var(--b-game) solid var(--post-color, #2B4593);
    }

    hr {
        border-top: var(--b-hr) dotted var(--post-border, #2B4593);
    }

    .profile {
        border: var(--b-profile-m) solid var(--post-border, #2B4593);
    }

    .star-rating {
        color: var(--post-border, #2B4593);
    }

    .game-blurb .tag {
        background-color: var(--post-color, #2B4593);
    }

    h4 {
        color: var(--post-border, #2B4593);
    }
}

/* Top Nav */
.top-nav .profile {
    border: var(--b-profile-m) solid var(--user-color, #0d2879);
}

/* Side Nav */
.sidenav .profile-card .random-user-profile-img {
    border: var(--b-profile-m) solid var(--random-user-color, #2B4593);
}

.sidenav .profile-card .random-user-name,
.sidenav .profile-card .random-user-handle {
    color: var(--random-user-border, #0d2879);
}

.sidenav .profile-card .random-user-handle {
    padding-left: 0.4rem;
}

/* Search page */
.profile-author-avatar {
    border: var(--b-profile-m) solid var(--author-color, #0d2879);
    transition: border-color 0.2s ease;
}

.profile-author-name h4,
.profile-author-handle {
    color: var(--author-border, #2B4593);
    transition: color 0.2s ease;
}

.post_viewer .card-container {
    border: var(--b-card) solid var(--author-color, #2B4593);
    box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--author-color, #2B4593);
}

.post_viewer .follow_button {
    color: var(--author-color, #2B4593);
    border: var(--b-button) solid var(--author-border, #2B4593);
    box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--author-border, #2B4593);
}

.post_viewer .follow_button.follow_user {
    background-color: var(--author-color, #2B4593);
    color: white;
}

/* Post Creator */
.post-creator-avatar {
    border: var(--b-profile-m) solid var(--user-color, #0d2879);
}

.post-creator-name,
.post-creator-handle {
    color: var(--user-border, #2B4593);
}

.post-creator-handle {
    font-size: 1rem;
}

.post-creator-button {
    background-color: var(--user-color, #2B4593);
    border-color: var(--user-border, #0d2879);
}

.post-creator-button:hover {
    background-color: var(--user-border, #0d2879);
    border-color: var(--user-border, #0d2879);
}

.post-composer-br {
    & .col-2 {
        textarea {
            color: var(--user-border, #2B4593);
        }
    }
}

#post_creator {
    .card-container {
        border: var(--b-card) solid var(--user-color, #2B4593);
        box-shadow: var(--b-button-xl) var(--b-button-xl) 0 0 var(--user-color, #2B4593);
    }

    textarea::placeholder {
        color: var(--user-border, #2B4593);
        opacity: 80%;
    }

    .icon-wrapper i {
        color: var(--user-border, #2B4593);
    }

    button.cta {
        border: var(--b-button) solid var(--user-border, #2B4593);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--user-border, #2B4593);
        background: var(--user-color, #2B4593);
    }

    .star-rating i,
    .star-rating i.ph-fill {
        color: var(--user-border, #2B4593);
    }

    .game-dropdown-menu {
        border: var(--b-card) solid var(--user-color, #2B4593);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--user-color, #2B4593);

        p {
            color: var(--user-border, #2B4593);
        }

        p:hover {
            background-color: transparent;
            color: var(--user-color, #2B4593);
            font-weight: 700;
        }
    }

    div#selected-game-display {
        color: var(--user-border, #2B4593);
    }

    .post-preview-img {
        border: var(--b-post) solid var(--user-color, #2B4593);
    }
}

/* Profile */
.profile-container {
    .follow_button.follow_user {
        background: var(--profile-color, #2B4593);
        color: white;
        border: var(--b-button) solid var(--profile-border, #2B4593);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border, #2B4593);
    }

    .follow_button.following_user {
        background: var(--c-bg-card);
        color: var(--profile-border, #2B4593);
        border: var(--b-button) solid var(--profile-border, #2B4593);
        box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border, #2B4593);
    }

    .pawn-navy {
        right: 15rem;
    }
}

.no_posts {
    color: var(--profile-border, #2B4593);

    h2 {
        color: var(--profile-color, #2B4593);
    }
}

/* Encyclopedia --------------------------------------------------------- */
.banner.ency {
    position: relative;

    &::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(163, 169, 255, 0.699);
        border-radius: var(--br-card);
        z-index: 1;
    }

    .game-title, * {
        position: relative;
        z-index: 2;
    }
}

.game-review-block {
    margin: 20px;
    margin-top: 0.25rem;

    .post-card {
        width: 100%;
        max-width: 100%;
    }
}

#post_creator {
    & .game-dropdown-menu {
        p {
            color: var(--user-border, #2B4593);
            font-size: 1rem;
        }
    }
}

/* delete post button */

.delete-post-button {
    color: white !important;
    border: var(--b-button) solid var(--profile-border, #2B4593);
    box-shadow: var(--b-button) var(--b-button) 0 0 var(--profile-border, #2B4593);
    width: 40px;
    font-size: 1.5rem;
    /* margin-left: 12rem; */
    background-color: var(--profile-color);

    i {
        color: white !important;
    }
}

.user-info{
    display: flex;
    flex-direction: row;
    width: 100%;
    justify-content: space-between;
}

div#selected-game-display{
    font-size: 1rem;
}