html {
    overflow-y: scroll;
}

body {
    padding-top: 10px;
    font-size:100%;
    overflow-x: hidden;
}

.website-logo {
    width: 32px;
    height: 32px;
    margin-left: 4px;
    transform: scale(1.35);
    position: relative;
    top: -2px;
}

.body-content {
    padding-top: 15px;
}

a, a:hover {
    text-decoration: none;
}
a {
    color: #88bbee;
}
a:hover, .a:active, a:focus {
    color: #def;
}
.btn.btn-link {
    color: #88bbee;
}
.btn.btn-link:hover, .btn.btn-link:active, .btn.btn-link:focus {
    color: #def;
}

.nav-link {
    color: #88bbee;
    padding-bottom: 0;
}
.nav-link:hover, .nav-link:active, .nav-link:focus  {
    color: #def;
    padding-bottom: 0;
}

.link-color {
    color: #88bbee;
}
.link-color:hover, .link-color:active, .link-color:focus {
    color: #def;
}

.carousel-control-prev-icon, .carousel-control-next-icon {
    display: inline-block;
    background-size: 100% 100%;
    height: 75px !important;
    width: 75px !important;
}

.carousel-control-prev-icon {
    margin-left: -60px;
}

.carousel-control-next-icon {
    margin-right: -60px;
}

.btn-rating-discovery {
    padding: 4px 0;
    margin: 0 2px;
}

.btn-playlist-discovery {
    padding: 4px 20px;
    margin-right: 4px;
}

.btn-rating-quick-game {
    padding: 4px;
    width: 32%;

}.btn-rating-quick-dlc {
    padding: 4px;
    width: 24%;
}

.btn-rating-quick-dlc-double {
     padding: 4px;
     width: 49%;
 }
 
.btn-rating-quick-double {
    padding: 4px;
    width: 65%;
}

.fa-gamepad, .fa-steam, .fa-xbox, .fa-eye, .fa-tags {
    opacity: 0.85;
}

.fa-history, .fa-eye, .fa-eye-slash {
    opacity: 0.5;
}

.alert {
    border: 1px solid;
}

.preference-slider {
    -webkit-appearance: none;
    width: 100%;
    height: 18px;
    outline: none;
    opacity: 0.7;
    -webkit-transition: .2s;
    transition: opacity .2s;
}

.preference-slider:hover {
    opacity: 1;
}

.preference-slider::-webkit-slider-thumb {
    border: solid black 1px;
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    background: #2288ee;
    cursor: pointer;
}

.preference-slider::-moz-range-thumb {
    border: solid black 1px;
    width: 20px;
    height: 20px;
    background: #2288ee;
    cursor: pointer;
}

.btn-close-realigned {
    position: relative;
    top: -4px;
    right: -1px;
}

.border-rounded {
    border-radius: 100%;
}

.standard-popover {
    --bs-popover-header-color: #000;
    
    /*--bs-popover-font-size:                 --bs-font-size;*/
    /*--bs-popover-bg:                        #222;*/
    /*--bs-popover-max-width:                 300px;*/
    /*--bs-popover-border-width:              2px;*/
    /*--bs-popover-border-color:              rgba(#000, .2);*/
    /*--bs-popover-border-radius:             --bs-border-radius-lg;*/
    /*--bs-popover-inner-border-radius:       subtract(--bs-popover-border-radius, --bs-popover-border-width);*/
    /*--bs-popover-box-shadow:                --bs-box-shadow;*/
    /*--bs-popover-header-bg:                 shade-color(--bs-popover-bg, 6%);*/
    /*--bs-popover-header-color:              #fff;*/
    /*--bs-popover-header-padding-y:          .5rem;*/
    /*--bs-popover-header-padding-x:          .5rem;*/
    /*--bs-popover-body-color:                #222;*/
    /*--bs-popover-body-padding-y:            .5rem;*/
    /*--bs-popover-body-padding-x:            .5rem;*/
    /*--bs-popover-arrow-width:               1rem;*/
    /*--bs-popover-arrow-height:              .5rem;*/
    /*--bs-popover-arrow-color:               --bs-popover-bg;*/
    /*--bs-popover-arrow-outer-color:         fade-in(--bs-popover-border-color, .05);*/
}

.opaque-80 {
    opacity:0.8;
    filter:alpha(opacity=80);
}
.opaque-80:hover {
    opacity:1.0;
    filter:alpha(opacity=100);
}

.achievement-unlocked {
    opacity: 0.8;
    filter: alpha(opacity=80);
}

.achievement-unlocked:hover {
    opacity:1.0;
    filter:alpha(opacity=100);
}

.achievement-locked {
    opacity: 0.2;
    filter: alpha(opacity=20);
}

.achievement-unknown {
    opacity: 0.5;
    filter: alpha(opacity=20);
}

.achievement-unknown:hover {
    opacity: 0.8;
    filter: alpha(opacity=20);
}

.achievement-locked:hover {
    opacity:0.8;
    filter:alpha(opacity=80);
}

.debug {
    border: 1px red solid;
}

.demo-wrap {
    overflow: hidden;
    position: relative;
}

.demo-bg-vertical {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    height: 100%;
}

.demo-bg-horizontal {
    position: absolute;
    left: 0;
    top: 0;
    height: auto;
    width: 100%;
}

.demo-content {
    position: relative;
}

.anchor {
    position: absolute;
    transform: translateY(-10vh);
}

.text-stat {
    color: #aa8;
}

.transparent-on-right {
    -webkit-mask-image:-webkit-gradient(linear, left bottom, right top, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
    mask-image: linear-gradient(to right top, rgba(0,0,0,1), rgba(0,0,0,0));
}

.transparent-on-top {
    -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,0)), to(rgba(0,0,0,1)));
    mask-image: linear-gradient(to bottom, rgba(0,0,0,0), rgba(0,0,0,1));
}


button {
    background-color: Transparent;
    background-repeat:no-repeat;
    border: none;
    cursor:pointer;
    overflow: hidden;
    outline:none;
}

.hover-opaque:hover {
    opacity: 1.0;
}
.hover-opaque {
    opacity: 0.75;
}

body {
    background-color: #1B1B1E;
    color: #ddd;
}

mark {
    background-color: #444;
    color: #fff;
}

.text-main {
    color: #ddd !important;
}

.text-playing {
    color: #c9f !important;
}

.form-check-input:checked {
    background-color: #369;
    border: 0px;
}

td {
    color: #ddd;
}

.form-control {
    background-color: #222;
    color: #ddd;
    border-color: #444;
}

.form-control:focus {
    color: #ddd;
    background-color: #272727;
}

.form-control:disabled {
    color: #ddd;
    background-color: #272727;
    opacity: 0.6;
}

.btn-outline-primary {
    color: #8be;
    border-color: #8be;
}

.btn-outline-primary:disabled {
    color: #579;
    border-color: #579;
}

.btn-outline-success {
    color: #6c6;
    border-color: #6c6;
}
.btn-outline-warning {
    color: #fc0;
    border-color: #fd2;
}
.btn-outline-danger {
    color: #f44;
    border-color: #f44;
}
.btn-outline-secondary {
    color: #bbb;
    border-color: #bbb;
}
.btn-outline-playing {
    color: #c9f;
    border-color: #c9f;
}

.btn-outline-primary:hover, .btn-outline-primary:active, .btn-outline-primary:focus
{
    --bs-btn-hover-border-color: #def; !important;
    border-color: #def !important;
    color: #def !important;
}
.btn-outline-secondary:hover, .btn-outline-secondary:active, .btn-outline-secondary:focus
{
    --bs-btn-hover-border-color: #eee; !important;
    border-color: #eee !important;
    color: #eee !important;
}
.btn-outline-info:hover, .btn-outline-info:active, .btn-outline-info:focus
{
    --bs-btn-hover-border-color: #dff; !important;
    border-color: #dff !important;
    color: #dff !important;
}
.btn-outline-success:hover, .btn-outline-success:active, .btn-outline-success:focus
{
    --bs-btn-hover-border-color: #dfd; !important;
    border-color: #dfd !important;
    color: #dfd !important;
}
.btn-outline-warning:hover, .btn-outline-warning:active, .btn-outline-warning:focus,
a.text-warning:hover, a.text-warning:active, a.text-warning:focus
{
    --bs-btn-hover-border-color: #ffd; !important;
    border-color: #ffd !important;
    color: #ffd !important;
}
.btn-outline-danger:hover, .btn-outline-danger:active, .btn-outline-danger:focus
{
    --bs-btn-hover-border-color: #fdd; !important;
    border-color: #fdd !important;
    color: #fdd !important;
}
.btn-outline-playing:hover, .btn-outline-playing:active, .btn-outline-playing:focus
{
    --bs-btn-hover-border-color: #edf; !important;
    border-color: #edf !important;
    color: #edf !important;
}
.btn-outline-primary,
.btn-outline-secondary,
.btn-outline-info,
.btn-outline-success,
.btn-outline-warning,
.btn-outline-danger,
.btn-outline-playing
{
    background-color: #1B1B1E !important;
}

hr {
    display: block; height: 1px;
    border: 0; border-top: 1px solid #ccc;
    margin: 1em 0; padding: 0;
}

.border-suggestion {
    border: 2px dashed #444;
}

.border-event {
    border: 2px dashed #972;
}

.border-tutorial {
    border: 2px dashed #279;
}

.form-select {
    color: #ddd;
    background-color: #272727;
}

.table-striped > tbody > tr:nth-child(odd) > td,
.table-striped > tbody > tr:nth-child(odd) > th {
    background-color: #2a2a2a;
}

.navbar .navbar-toggler {
    border: 0;
    color: #ddd;
}

.navbar .navbar-toggler-icon {
    font-size: 1.5rem;
    filter: invert(100%);
}

.custom-navbar-toggler {
    position: absolute;
    right: 0; /* adjust this value to suit your needs */
    top: 0; /* adjust this value to suit your needs */
}

.table-layout-fixed {
    table-layout: fixed;
}

.card.bg-dark {
    background-color: #333; /* This will be the color of your card's background. */
    color: #FAFAFA; /* This will be the color of your card's text. */
    border-color: #444; /* This will be the color of your card's border. */
}

.card-text {
}

.card.bg-dark .card-title {
    color: #dfd; /* This will be the color of your card's title. */
}

.card.bg-dark .btn {
    background-color: #007BFF; /* This will be the background color of your card's button. */
    border-color: #007BFF; /* This will be the border color of your card's button. */
    color: #FAFAFA; /* This will be the color of your card's button text. */
}

.counter-excluded {
    font-weight: bold;
    color: indianred;
}

/* Utilities */

.hidden {
    display: none;
}

.database-game-name {
    white-space: nowrap;      /* Ensures no wrap and the text will be in a single line */
    overflow: hidden;         /* Makes sure anything beyond the element's width is not visible */
    text-overflow: ellipsis;  /* Render an ellipsis ("...") to represent clipped text */
    max-width: 340px;         /* Define a max-width appropriate for your design. Adjust as needed. */
    display: inline-block;    /* Elements need to be block or inline-block level for "overflow" to work */
    vertical-align: top;      /* or middle, or bottom depending on your design */
}


/* PULSE effect */

.pulse-warning {
    box-shadow: 0 0 0 rgba(255,193,7,0.5);
    animation: pulse-warning 2s infinite;
}

@-webkit-keyframes pulse-warning {
    0% {
        -webkit-box-shadow: 0 0 0 0 rgba(255,193,7, 0.5);
    }
    70% {
        -webkit-box-shadow: 0 0 0 10px rgba(255,193,7, 0);
    }
    100% {
        -webkit-box-shadow: 0 0 0 0 rgba(255,193,7, 0);
    }
}

@keyframes pulse-warning {
    0% {
        -moz-box-shadow: 0 0 0 0 rgba(255,193,7, 0.5);
        box-shadow: 0 0 0 0 rgba(255,193,7, 0.5);
    }
    70% {
        -moz-box-shadow: 0 0 0 10px rgba(255,193,7, 0);
        box-shadow: 0 0 0 10px rgba(255,193,7, 0);
    }
    100% {
        -moz-box-shadow: 0 0 0 0 rgba(255,193,7, 0);
        box-shadow: 0 0 0 0 rgba(255,193,7, 0);
    }
}

.priority-btn-up:hover {
    background-color: #242 !important; /* Bootstrap primary color for example */
}
.priority-btn-down:hover {
    background-color: #422 !important; /* Bootstrap primary color for example */
}

/* Show the dropdown menu on hover */
.nav-item.dropdown:hover .dropdown-menu {
    display: block;
}

.nav-link.dropdown-toggle {
    padding-right: 0.0rem;
}

.nav-link.dropdown-toggle::after {
    margin-left: 0.0rem;
}

.dropdown-menu {
    background-color: #1B1B1E;
    border: 1px #444 solid;
}

.dropdown-item {
    background-color: #1B1B1E;
    color: #88bbee;
}

.dropdown-item:hover, .dropdown-item:focus {
    background-color: #1B1B1E;
    color: #def;
}

/* Custom animation speed */
.spinner-border {
    animation-duration: 0.75s;
}

/* Add a subtle shadow to the spinner */
#loadingSpinner .spinner-grow {
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
}

/* Style the loading text */
#loadingSpinner p {
    font-size: 1.4rem;
}

.btn-pressed-common {
    opacity: 0.9;
    filter: brightness(95%);
    box-shadow:
            inset 0 3px 6px rgba(0, 0, 0, 0.2),
            0 1px 1px rgba(0, 0, 0, 0.05);
    transition: all 0.05s ease-in-out;
}

.btn-pressed-scale {
    transform: scale(0.96);
}