/*
IFDB Default Main Style Sheet
Copyright 2007, 2008 Michael J Roberts

General notes:

1. Whenever you refer to an item by URL (such as in an "@import"
directive, or in a "url()" spec in a "background" style), any
relative URL you specify will be relative to the location of your
custom style sheet.  This will be your own user-specific directory,
where your style-sheet-related items are stored.  This means that
you can easily refer to your own custom images, for example, since
they're in a subdirectory of your user directory called "images/".
However, be aware that if you want to refer to any SYSTEM files,
such as this main style sheet or the default graphics (GIF/JPG)
files, you MUST start the URL with a "/" to look in the root
system directory.  We use that notation throughout this file
when referring to system files to provide easy cut-and-paste
examples.

2. We recommend that custom style sheets always import this style
sheet as the "base" style sheet.  Doing this will provide default
definitions for everything you don't explicitly override in the
custom style sheet.  This has two advantages: (1) it allows you to
write a shorter style sheet, by only defining styles for items you
want to override; and (2) it ensures better upward compatibility,
because whenever we add new items in the future, you'll automatically
inherit our default styles for the new items.  To import this sheet,
add a line like this at the top of your custom CSS file:

    @import url("/ifdb.css");

3. Custom style sheets can replace most of the graphics used on the
site.  To make this possible, we use a "fake" image file for the SRC
file of each <IMG> or <INPUT TYPE=IMAGE> tag that can be replaced in
CSS.  This fake image is simply a 1x1 transparent GIF, so it doesn't
have any on-screen appearance.  The *actual* image is provided in the
style sheet, via the "background" style.  So, to replace a graphic
with your own, you must:

   a. Upload the JPEG/GIF/PNG file via the style-graphic manager

   b. Add an IMG definition for the class or ID of the image you wish
      to replace, like so:

      a.rss-icon {
          background: url("images/my-rss-icon.gif");
      }

Note that you must specify the height and width of the image in pixels.
Since we're just setting the background, it doesn't automatically set
the layout size of the object to match; the only way to set the layout
size is to do so explicitly via the "width" and "height" styles.  And
CSS unfortunately doesn't have a way to refer indirectly to the dimensions
from the image file, so you just have to hard-code the actual pixel size.
*/

html {
    box-sizing: border-box;
    scroll-behavior: smooth;
}

*, *:before, *:after {
  box-sizing: inherit;
}

/*
This is the style for the main body of the page - nearly everything
that doesn't have a separate style of its own inherits this style.

We use a 0-pixel left and top margin here so that the IFDB banner and
navigation bar graphics at the top of the page run all the way to the
edges of the window.  We compensate for this for the main page layout
by specifying our actual margins the "main" division, where most of
the page's contents go.
*/
body {
    background: #ffffff;
    font:  100%/140% Verdana, Arial, Helvetica, Sans-Serif;
    color: #000000;
    line-height: 1.4;
    margin: 0px 0px 1.5em 0px;
}

:root {
    /* The width of the main sections of a page, without any sidebars. */
    --paragraph-width: 60ch;
}

/*
The style for <form> areas - this is the style used for areas of the
page where there are data entry fields, buttons, and so on.  We use
the same style here as in the main page body.
*/
form {
    font:  100%/140% Verdana, Arial, Helvetica, Sans-Serif;
}

/*
Sorting controls - this is a form with a popup (select list) and
"Go" button, for sorting lists.  This is used on numerous pages.
*/
form.sortingControls {
    margin: 1em 0 1em 0;
}

/*
The default style for cells within tables.  We use the same style
here as in the main page body.
*/
table tr td {
    font:  100%/140% Verdana, Arial, Helvetica, Sans-Serif;
}

/*
"Silent" hyperlinks.  Some hyperlinks are marked with the silent style
because we don't want them to be as conspicuous as ordinary links.  We
show these as though they were ordinary text, *except* that when the
mouse cursor is hovering over one, we reveal its hyperlink status
with an underline (via the ":hover" version of the style).
*/
a.silent {
    text-decoration: none;
    color: #000000;
}
a.silent:hover {
    text-decoration: underline;
}

/*
Heading 1 - for top-level headings.  This is generally used for
the title at the top of a page.
*/
h1 {
    font:  125% Verdana, Arial, Helvetica, Sans-Serif;
    font-weight: bold;
    color: #000080;
}

/*
Heading 2 - for second-level headings.  This is generally used
for main section headings within a page.
*/
h2 {
    /*font:  110% Verdana, Arial, Helvetica, Sans-Serif;*/
    font-size: 110%;
    font-weight: bold;
    color: #000080;
}

/*
Heading 3 - for third-level headings.  This is used for sub-section
headings.
*/
h3 {
    /*font:  95% Verdana, Arial, Helvetica, Sans-Serif;*/
    font-size: 100%;
    font-weight: bold;
    color: #000080;
    margin-bottom: 0px;
}

/*
The "topbar" division is the area where we display the main IFDB
banner identifying the site.  The color setting is chosen so that the
graphic banner blends seamlessly into the background at its right edge.

The "topbar" anchor is used to place a "home" hyperlink over the
background image, so this should have the same width and height
as the background image.  This can be set to zero size if the
hyperlink isn't wanted.
*/
div.topbar {
    background: url("/img/ifdb-topbar.jpg") #c0c0c0 no-repeat;
    height: 55px;
}
a.topbar {
    height: 55px;
    width: 511px;
}

/*
The "topctl" division is the area at the top under the main IFDB banner
where we show the quick navigation controls.  Within this area, we have
a table (for spacing the navigation links) and a form (for the "Search"
box), so we have to specify how we want these laid out.  Throughout
this division, we use a slightly smaller version of the main page font.
*/
div.topctl {
    font:  100%/140% Verdana, Arial, Helvetica, Sans-Serif;
    width: 100%;
    padding: 0 0 0 0;
    margin: 0 auto 1em auto;
    font-size: 95%;
    background: #e8e8e8;
    border-bottom: thin dotted #d0d0d0;
    max-width: calc(100ch / 0.95);
}
div.topctl table {
    margin: 0 0 0 0;
    padding: 0 0 0 0;
}
div.topctl table tr {
    margin: 0 0 0 0;
    padding: 0 0 00;
}
div.topctl table tr td {
    font-size: 80%;
    margin: 0 0 0 0;
    padding: 0 1em 0 1em;
}

.main-nav form {
    margin: 0.25em 0.75em 0.25em 0.75em;
}

.searchbar-wrapper {
    display: flex;
    border: 2px solid #cfcfcf;
    border-radius: 1em;
}

.searchbar-wrapper > input {
    border: none;
    padding-top: 0;
    padding-left: 0.5em;
    padding-bottom: 0;
    border-radius: 1em 0 0 1em;
    width: 100%;
    background: #fff;
}

.searchbar-wrapper > button {
    border: none;
    cursor: pointer;
    border-radius: 0 1em 1em 0;
    background-color: #FFFFFF;
    padding: 0.1em;
    height: 21px;
    width: 21px;
    background-image: url('/img/search_small.svg');
    background-repeat: no-repeat;
    background-position: center;
}

.searchbar-wrapper > button:hover, button:focus {
    background-color: #e8e8e8
}

.main-nav {
    display: flex;
    flex-wrap: wrap;
    overflow: auto;
    justify-content: space-between;
    font-size: 0.85em;
    flex: 1;
    align-items: center;
}

#main-nav-wrapper{
    padding: 0em 1em 0em 1em;
    display: flex;
    flex-wrap: wrap;
}

.nav-right{
   display: flex;
   align-items: center;
}

.nav-left{
   display: flex;
   align-items: center;
   flex: 1;
}


.main-nav ul{
    margin: 0px;
    padding: 0px;
    display: flex;
    flex-basis: 0;
    align-items: center;
}

.main-nav li{
    list-style: none;

}

.main-nav a{
    text-decoration: none;
    padding: 0.25em 0.75em 0.25em 0.75em;
    display: inline-block;
    white-space: nowrap;
}

.main-nav a:hover{
    text-decoration: underline;
    background-color: #dcdcdc;
}

.page-active{
    font-weight: bold;
}



/*
The "main" division is basically the rest of the page below the
banner and navigation divisions at the top.  The overall body of the
page has 0-pixel left and top margins, so that the graphics at the
top of the page run all the way to the edges of the window; so in
order to make the main contents more readable, we add some actual
margins here.
*/
div.main {
    max-width: 100ch;
    padding: 0 1em;
    margin: 0 auto;
}

.flexer{
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin: -0.5em;
}

.column{
    flex: 1;
    margin: 0.5em;
}

.col-sidebar{
    flex-basis: 16rem;
    flex-grow: 1;
}

.col-main{
    flex-basis: 0;
    flex-grow: 999;
    min-width: 50%;
}

.col-peer {
    min-width: 30ch;
}

/*
The "botbar" table contains the navigation controls at the bottom of the
page.
*/
table.botbar {
    padding: 0 0 0 0;
    margin: 4em 0 0 0;
    width: 100%;
    border-spacing: 0;
    border-collapse: collapse;
    border: none;
    background: #f8f8ff;
}
table.botbar tr {
    vertical-align: top;
}
table.botbar td {
    padding: 0 0 0 0;
    border-spacing: 0;
    border-collapse: collapse;
    border: thin solid #a0a0e0;
}
table.botbar table {
    padding: 0 0 0 0;
    border-spacing: 0;
    border-collapse: collapse;
}
table.botbar table tr.botbarhdr td {
    background: #e0e0e0;
    padding: 0 1em 0 1em;
    font-size: 100%;
    font-weight: bold;
    color: #0000C0;
}
table.botbar table tr td {
    font-size: 90%;
    padding: 0.5em 0 0.5em 0;
    border: none;
}
table.botbar div div {
    padding: 0.5em 0 0.5em 0;
}

/*
The "smalltopbar" division is the equivalent of "topbar" for small
popup windows (e.g., help windows).  We show a smaller version of the
banner image in these windows, so that the banner size is scaled down
in proportion to the overall window size.
*/
div.smalltopbar {
    width: 100%;
    background: url("/img/ifdb-smalltopbar.jpg") #c0c0c0 no-repeat;
    height: 16px;
}

/*
The "smallmain" division is the equivalent of the "main" division for
pages we show in pop-up windows (which we use mostly for help messages).
Since most of these pop-ups are fairly small windows, we use a smaller
font and smaller margins to make the contents fit the smaller area
better.
*/
div.smallmain {
    font-size: 85%;
    margin: 5px 0.5em 0.5em 0.5em;
}
div.smallmain form {
    font-size: 85%;
}
div.smallmain table tr td {
    font-size: 85%;
}

/*
The "helpmain" division is the same as the "smallmain" division, but
we use it specifically for pages showing help messages.
*/
div.helpmain {
    font-size: 90%;
    margin: 0.25em 0.5em 0.5em 0.5em;
}
div.helpmain table tr td {
    font-size: 90%;
}

/*
The "new-review", "new-list", and "new-game" divisions are used for
the respective types of new item listings on the home page and the
"all new items" list.  We don't differentiate the visual styles
in this style sheet, but the different types are marked with
distinct classes so that custom style sheets can show each type
in its own style.
*/
div.new-review {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}
div.new-list {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}
div.new-game {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}
div.new-poll {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}
div.new-game-news {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}
div.new-comp-news {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}
div.new-competition {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}
div.site-news {
    margin-bottom: 1.25em;
    break-inside: avoid-column;
}

.restricted {
    background: #F0F0F0;
    padding: 1em;
    max-width: 60ch;
}

/*
The "title" division is used to display the title of a game in
a review.
*/
div.title {
    font-size: 125%;
    color: #000080;
    font-weight: bold;
}

/*
The "xsrc" span style is used to show the name of the source of an
external review (e.g., Xyzzy News).
*/
span.xsrc {
    font-size: 90%;
    font-weight: bold;
    color: #000080;
}

/*
Review comments and replies.
*/
div.reviewCommentOnly {
    margin: 1em 0 1em 0;
}
div.reviewCommentFirst {
    margin: 1em 0 1em 0;
    padding: 0 0 0 0;
}
div.reviewComment {
    margin: 1em 0 1em 0;
    padding: 1em 0 0 0;
    border-top: 1px dotted #d0d0d0;
}
div.reviewCommentLast {
    margin: 1em 0 1em 0;
    padding: 1em 0 0 0;
    border-top: 1px dotted #d0d0d0;
}
div.reviewCommentReply {
    padding-left: 1ex;
    border-left: 0.75ex solid #d0d0d0;
}
span.reviewCommentPrivate {
    padding: 0 1em 0 1em;
    font-weight: bold;
    font-style: italic;
}

/*
The "coverart" table is used on a game's main listing page to display
the game's cover art image.
*/
td.coverart {
    padding-left: 1em;
}

.viewgame__mainSummary {
    margin: 0;
    padding: 0;
    order: -1;
    display: flow-root;
}

@media (max-width: 60rem) {
    #viewgame-body {
        display: flex;
        flex-direction: column;
    }
}

#viewgame__header {
    max-width: var(--paragraph-width);
}

#viewgame__header .coverart {
    float: right;
}

.viewgame__externalLinksDiv {
    clear: both;
    white-space: nowrap;
}

/*
We use the "authorProfileLink" style for hyperlinks to author profiles,
as shown in the author section of a game listing.  We show these without
underlines (except when hovering), to make them fit better visually into
the rest of the byline, but we do show them in a distinct color.
*/
a.authorProfileLink {
    font-size: 75%;
    border: 1px dotted #d0d000;
    background: #ffff00;
    text-decoration: none;
    color: #0000ff;
}
a.authorProfileLink:hover {
    color: #ff0000;
    text-decoration: underline;
}

/*
The "tags" table style is used for displaying the list of tags
associated with a game.
*/
.tags {
    display: grid;
    grid-template-columns: repeat(auto-fill, 20ch);
    margin: 1ex 0 1em 0;
    padding-left: .5em;
    grid-gap: 2px;
}
.tags div {
    font:  100%/140% Verdana, Arial, Helvetica, Sans-Serif;
}

/*
The "downloadfloat" division is for the Download box on a game's
main listing page.  This is a floating box on the right side of
the page.
*/

.downloadfloat {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

@media (min-width: 60rem) {
    div.downloadfloat {
        float: right;
        margin: 0 -1em 2em 1em;
        width: 20rem;
    }

    #externalLinks.downloads {
        background: #F0F0F0;
        border: thin dotted #e0e0e0;
    }

    #externalLinks.downloads {
        font: 80%/140% Verdana, Arial, Helvetica, Sans-Serif;
    }

    #externalLinks.downloads h3 {
        color: #000080;
    }

    .viewgame__externalLinksAnchor {
        display: none;
    }

    /*
    The "gamerightbar" table is the box on a game's listing page,
    underneath the Download box, where we display quick rating
    input links ("Have you played this game?").
    */
    table.gamerightbar {
        padding: 0 0 0 0;
        margin: 0 0 0 0;
        background: #F0F0F0;
        border: thin dotted #e0e0e0;
        width: 100%;
        font-size: 80%;
    }
    table.gamerightbar h3 {
        font: 100%/140% Verdana, Arial, Helvetica, Sans-Serif;
        font-weight: bold;
        color: #000080;
        margin: 0 0 0.5em 0;
    }
    table.gamerightbar td {
        padding: 0 0 0.5em 0;
    }
}

/*
The time vote controls in the "Have you played this game?" box
on the viewgame page 
*/
#submitTimeSection {
    display: none;
}
#removeTimeSection {
    display: none;
}
#timeSavedSection {
    display: none;
}

/*
The "downloads" section is for external links.
*/
#externalLinks {
    margin: 0;
}

#externalLinks.downloads {
    padding: 3px;
    width: 100%;
    max-width: 60ch;
}

#externalLinks > div:first-child {
    display: flex;
    justify-content: space-between;
}

#externalLinks h3 {
    font: 100%/140% Verdana, Arial, Helvetica, Sans-Serif;
    font-weight: bold;
    margin: 0;
}

.viewgame__playOnline {
    display: inline-block;
    margin: 0px 0px 0.3em 0px;
    cursor: pointer;
}

#externalLinks .downloadlist {
    display: flex;
    flex-direction: column;
    list-style: none;
    padding-left: 0;
    gap: 1em;
    margin-top: 1em;
    margin-bottom: 0;
}

#externalLinks .downloadlist li {
    display: flex;
    padding: 2px;
    gap: 4px;
}

#externalLinks.downloads .downloaditem {
    overflow: hidden;
    overflow-wrap: anywhere;
}

#externalLinks .fileIcon {
    min-width: 40px;
    border: 0;
}

/*
The "dlnotes" span is used for additional notes about a download
listing.
*/
span.dlnotes {
    font-size: 95%;
}

/*
"dlzipmain" is used to show the name of the primary file within a
compressed archive (such as a .zip file) within a download listing.
*/
span.dlzipmain {
    font-size: 95%;
    color: #000000;
}

/*
The "zipnote" style is used to display a description of a compression
format (e.g., ZIP) in a Download box.
*/
span.zipnote {
    color: #0000C0;
    font-style: italic;
}
div.zipnote {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    padding: 0em 0.5em 0em 0.5em;
}

/*
The "zipstar" style shows an asterisk, dagger, etc for a compression
format footnote in Download box.
*/
span.zipstar {
    color: #0000C0;
}

/*
"fmtnotes" displays the description of a file format in a download
listing.  This is used on game listing pages in the Download box.
*/
span.fmtnotes {
    display: block;
    font-size: 85%;
    line-height: 1.25em;
    color: #606060;
}

/*
We use the "xmlstatmsg" span style in various places to display the
results of "Ajax" requests.  (These are interactive features where clicking
a button causes the page to communicate with the server, and display the
results in-place, right on the same page, rather than navigating to a
new page.)  These are generally short status messages - things like
"Saved" after clicking a wishlist update button, for instance.
*/
span.xmlstatmsg {
    color: red;
    font-weight: bold;
}

/*
We use the "details" class in various places where we display additional
details about a listing or other item.
*/
.details {
    font-size: 85%;
}

span.nobr {
    white-space: nowrap;
}

/*
We use the "notes" span and division styles in various places to display
help notes or additional details about an item.
*/
span.notes {
    font-size: 95%;
    color: #606060;
}
span.notes a.silent {
    color: #606060;
}

div.notes {
    font-size: 95%;
    color: #606060;
}


/*
The "microhelp" style is used for additional help notes displayed in
some interactive entry forms.
*/
span.microhelp {
    font-size: 85%;
    color: #606060;
}

span.spoilerButton {
    font-size: 90%;
    font-style: italic;
    background: #eaeaea;
}

span.hiddenSpoiler {
    display: none;
}

/*
The "disabledCtl" span is used for navigation controls that happen to be
disabled at the moment or for the current page, such as a "Next Page" button
on the last page of a result set.
*/
span.disabledCtl {
    color: #b0b0b0;
}

/*
The "edit-popup-title" style is for the title bar in the various
in-line popup windows on the Edit Game page.  "edit-popup-cont" is
the main content area.  "edit-popup-frame" is the enclosing DIV
that wraps the whole window area.
*/
div.edit-popup-frame {
    background: #ffffff;
    color: #000000;
    line-height: 1.25em;
    padding: 0;
}
div.edit-popup-title {
    padding: 2px;
    background: #b0d8e8;
    color: #000000;
    font-size: 85%;
}
div.edit-popup-win {
    border: 3px solid #b0d8ff;
    padding: 1ex;
    font-size: 85%;
}
div.edit-popup-win table tr td {
    background: #ffffff;
    color: #000000;
    font-size: 100%;
}
div#imageUploadCopyrightForm table td {
    font-size: 90%;
}

input#searchfor, #searchfor2{
  max-width: calc(100vw - 2rem);
}

/*
"searchHelpList" is used on the search help page for the lists of
values for special flags, such as the list of file formats on the
game search page.
*/
div.searchHelpList {
    font-size: 85%;
    margin: 1ex 1.5em 1ex 1.5em;
}

div.searchHelpList td {
    font-size: 85%;
    padding-right: 2em;
}

/*
Tabs for browse-mode search types
*/
div.browseBar {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    width: 100%;
    font-size: 85%;
    background: #e0e0e0;
    margin-bottom: 1em;
    text-size-adjust: none;
    -webkit-text-size-adjust: none;
    flex-wrap: wrap;
    padding-bottom: 1px;
}
.browseLabel {
    font-weight: bold;
    margin-bottom: 0.5em;
}
span.browseTab {
    background: #f0f0f0;
    border: 1px solid #c0c0c0;
    border-left: none;
    position: relative;
    margin-bottom: -1px;
}

.browseTabs {
    text-decoration: none;
    display: flex;
    flex-wrap: wrap;
}

.browseTabs a {
    text-decoration: none;
    padding: 0.25em 0.75em 0.25em 0.75em;
    display: inline-block;
    white-space: nowrap;
}

.browseTabs a:hover {
    text-decoration: underline;
    background-color: #dcdcdc;
}
.browseSummary {
    padding-left: 4px;
    padding-right: 4px;
}
span.firstBrowseTab {
    border-left: 1px solid #c0c0c0;
}
span.activeBrowseTab, .activeBrowseTab a:hover {
    background: #a0ffff;
    padding: 0.25em 0.75em 0.25em 0.75em;
}

/*
"indented" divisions show their contents slightly indented from the
surrounding text.
*/
@media (min-width: 60ch) {
    div.indented {
        margin-left: 1.5em;
    }
}

/*
"hangindented" divisions show their contents in a hanging indent style:
the contents are indented from the surrounding text, but the first line
of each paragraph is "outdented" a bit from the rest of the paragraph.
*/
div.hangindented {
    margin-left: 2.5em;
    text-indent: -1em;
}
div.hangindentedMore {
    margin-left: 3.5em;
    text-indent: -2em;
}

/*
The "inset" division style is used for an area that's inset on all
sides from the surrounding text.
*/
div.inset {
    padding: 1em 1em 1em 1em;
}
div.inset table {
}
div.inset table tr td {
    font-size: 90%;
    padding: 1em .5ex 1em .5ex;
}
div.inset table tr {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
}
table tr td div.inset {
    width: 100%;
}

div.inset table tr td.insetheading {
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    color: #000080;
    background: #e0e0e0;
    font-size: 100%;
    font-weight: bold;
}

/*
The "tipbox" style is used to display help messages alongside
the main page content, suggesting other things the user might want
to try in addition to the current operation.  We display these
in floating boxes on the right of the page.
*/
div.tipgroup {
    float: right;
}
aside.tipbox {
    float: right;
    border: 1px solid gray;
    width: 35ex;
    margin-top: 1em;
    padding: 1ex;
    background: #f0f0ff;
    font-size: 80%;
    color: #505050;
    line-height: 1.2em;
}
div.tipgroup aside.tipbox {
    float: none;
}
aside.tipbox h1 {
    font-weight: bold;
    font-size: 100%;
    margin-bottom: 0.5ex;
}

/*
The "inlinetip" style is for tip boxes displayed in-line with the
main content of the page, rather than floating alongside the main
page area.
*/
div.inlinetip {
    margin: 1em 4em 1em 4em;
    border: 1px solid gray;
    padding: 1ex;
    background: #f0f0ff;
    font-size: 90%;
    color: #404040;
}
div.inlinetip h1 {
    font-weight: bold;
    font-size: 100%;
    margin-top: 0;
    margin-bottom: 0.5ex;
}

/*
The "prebox" style is used to simulate a data-entry text field, without
actually making the text editable.  We display this type of text in
a monospaced font with a border line around the box.
*/
div.prebox {
    font: 85% monospace;
    margin-top: 0.5em;
    border: thin solid #d0d0d0;
    padding: 0.5em;
}

/*
The "nosp" paragraph style is for paragraphs with no additional margin
spacing on any side.
*/
p.nosp {
    margin: 0 0 0 0;
}

p, ul, ol {
    max-width: var(--paragraph-width);
}

/*
The "smallhead" and "smallfoot" division styles are used for headings
and footers set in normal size text (that's the "small" part - most
headings and footers use slightly larger text than usual).
*/
div.smallhead {
    margin-top: 0.1em;
    margin-bottom: 0.4em;
}
div.smallfoot {
    margin-top: 0.4em;
    margin-bottom: 0.4em;
}

/*
"errmsg" spans are for error messages on interactive forms.
*/
span.errmsg {
    color: #ff0000;
}

/*
"warning" spans are for warning messages on interactive forms.
These don't necessarily indicate error conditions, but are conditions
that we want the user to be aware of before proceeding.  We use a
separate color to make these stand out visually.
*/
span.warning {
    background: #ffff80;
}

/*
warning box - like a warning span, but indented from the main text
*/
div.warningBox {
    color: #000000;
    background: #ffff80;
    padding: 1ex;
    margin: 1em 3em 1em 1em;
}

/*
"success" spans are for status messages showing successful outcomes
on interactive forms.
*/
span.success {
    color: #00e000;
}

/*
We use the "dataform" table to lay out most data entry forms.
*/
table.dataform tr td {
    padding-right: 1em;
}

/*
We use the "gamedataform" table to lay out the data entry form for
game listing data.
*/
table.gamedataform tr td {
    padding-bottom: 1em;
}
table.gamedataform tr td tr td {
    padding-bottom: 0em;
}

/*
The "footer" division style is for the area with the navigation links
at the bottom of each page.
*/
div.footer {
    margin-top: 2em;
    margin-bottom: 2em;
    margin-left: 0px;
    color: #595959;
    font-size: 70%;
}

h1.unset {
    all: unset;
}

#welcome-details summary {
    list-style: none;
    cursor: pointer;
}

#welcome-details summary::-webkit-details-marker {
    display: none;
}

#welcome-details[open] #welcome-disclosure::before {
    content: '[−]';
}

#welcome-details:not([open]) #welcome-disclosure::before {
    content: '[+]';
}

#welcome-details:not([open]) .headline {
    margin: 0;
}

.iftf-donation {
    display: flex;
    flex-direction: row;
    max-width: 100ch;
}

.footer .iftf-donation {
    padding-top: 1em;
}

.iftf-donation img {
    float: left;
    height: 6em;
    padding-right: 2ch;
}

.iftf-donation form {
    padding-top: 1em;
    margin: 0;
}
.iftf-donation .Donate {
    background-color: #D16525;
    border: 1px solid #5A0000;
    border-radius: 6px;
    padding: 8px 10px;
    color: white;
    font-weight: bold;
    cursor: pointer;
}

.iftf-donation .Donate:hover {
    background-color: #b45620;
}

/*
The "nav" style is used for the navigation links at the bottom
of each page.
*/
a.nav {
    text-decoration: none;
}
a.nav:hover {
    text-decoration: underline;
}

/*
The "headline" division is on the home page and some other pages to
divide the page into major sections.  "headline1" is an add-in class
for the topmost headline - it omits the top margin so that the the
top headline isn't spaced out from the top of the page.
*/
div.headline {
    background: #f8f8ff;
    border-top: thin solid #e8e8ff;
/*    font:  110% Verdana, Arial, Helvetica, Sans-Serif;*/
    font:  130% Georgia, Times New Roman, New York, Times, Serif;
    font-weight: normal;
    color: #000080;
    margin: 1em 0;
    padding: 0.5em;
    display: flex;
    justify-content: space-between;
    scroll-margin-top: 3em;
}

@media (max-width: 120ch) {
    div.headline {
        scroll-margin-top: 5em;
    }
}

div.headline1 {
    margin-top: 0;
}
span.headlineRss {
    text-align: right;
    vertical-align: middle;
    font:  70% Verdana, Arial, Helvetica, Sans-Serif;
    font-weight: normal;
}

@media (min-width: 100ch) {
    .twocol {
        display: flex;
    }
    .twocol > div {
        flex-basis: 50%;
    }
    table.halfcol tr td {
        border-left: 1em solid transparent;
    }
    table.halfcol tr td.firstcol {
        border-left: none;
    }

}

.hidden{
    display: none;
}

.displayNone {
    display: none;
}

.mobile-menu #mobile-menu-toggle-button {
    display: none;
}
.menu-toggle-button{
    display: flex;
    align-items: center;
    align-self: start;
    padding: 0.25em 0.75em 0.25em 0.75em;
    border: none;
    background: none;
    cursor: pointer;
    font-size: inherit;
    color: black;
}

.menu-toggle-button:hover{
    background-color: #dcdcdc;
}

.readMore {
    max-height: 80vh;
    max-width: 60ch;
    overflow-y: hidden;
    transition: all 0.3s ease;
    position: relative;
}

.readMore .expand {
    display: none;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background-image: linear-gradient(to bottom, rgba(255,255,255,0), white);
    padding: 5em 0 1em;
}

.readMore .expand button {
    font-size: 1em;
}

@media (max-width: 75ch) {

    input, select, select:focus, textarea {
        /* prevent browser zoom on focus */
        font-size: 16px;
        max-width: 100%;
    }

    .mobile-hidden, .mobile-menu .mobile-hidden {
        display: none;
    }

    #topbar-home {
        display: none;
    }

    #main-nav-wrapper{
        padding: 0;
    }

    .mobile-menu #mobile-menu-toggle-button{
        display: flex;
        font-size: 16px;
        align-content: center;
        flex-wrap: wrap; /* to enable align-content: center */
    }

    .mobile-menu ul{
        display: block;
        position: absolute;
        top: calc(55px + 2.5em);
        right: 0;
        background-color: #e8e8e8;
        z-index: 2;
    }

    .mobile-menu ul a{
        width: 100%;
    }

    .iftf-donation {
        display: block;
    }

    .rightbar {
        display: none;
    }

    aside.tipbox {
        display: none;
    }

}

/*
The "rightbar" table style is used for the little information
boxes at the right of the home page and some other pages.
*/
table.rightbar {
    border-top: thin solid #e8e8FF;
    background: #F8F8FF;
    width: 30ex;
    padding: 0 0 0 0;
    margin: 0 0 1em 1.5ex;
}

table.rightbar tr {
    padding: 0 0 0 0;
}

table.rightbar tr td {
    padding: 2px 4px 4px 4px;
    font-size: 85%;
}

.aside-box {
    border-top: thin solid #e8e8FF;
    background: #F8F8FF;
    margin-bottom: 1em;
    font-size: 0.85em;
    padding: 2px 4px 4px 4px;
}

.aside-box h3 {
    margin-top: 0px;
    padding: 0px 4px 4px 0px;
}

.aside-box p {
    margin: 0px;
}

.aside-box ul {
    padding-left: 3ch;
    margin: 0;
}

.cpanel {
    border: none;
    padding: 0px;
}

#top-reviewers-widget li{
    list-style: none;
}

#top-reviewers-widget ol {
    margin: 0.5em 0em 0.5em 0em;
    padding: 0px;
}

table.botbar2 {
    border-top: thin solid #e8e8ff;
    background: #f8f8ff;
    padding: 0 1em 1ex 1em;
    margin: 1em 0 0 1.5ex;
    font-size: 90%;
    height: 100%;
}
table.botbar2a {
    margin-left: 0;
}
table.botbar2 tr {
    vertical-align: top;
}
table.botbar2 td {
    vertical-align: top;
}

/*
Control panel buttons
*/
div.cpanelBtn {
    font-size: 85%;
    border-top: 1px dotted #8080ff;
    margin: 0;
    padding: 0 0 0 0.75ex;
    cursor: pointer;
}
div.cpanelBtnTop {
    margin: 0;
    border-top: none;
}
.cpanelBtn:hover {
    background: #90ffff;
}
.cpanel a {
    text-decoration: none;
}
.cpanel a:hover {
    text-decoration: underline;
}
img.cpanelBtnIcon {
    margin-right: 1em;
}
div.cpanelHeading {
    margin: 0;
    background: #E8E8FF;
    font-weight: bold;
    font-size: 90%;
    text-align: center;
}
div.cpanelHeadingTop {
}


/*
The "dots" is used for horizontal rules that separate sections
on a page.
*/
hr.dots {
    border: thin dotted #d0d0d0;
}

/*
The "grid" class is used for tables and flexboxes showing images along the
right and associated text alongside to the right.
*/
article.grid {
    display: flex;
    gap: 1em;
}
article.grid > div:first-child {
    min-width: 80px;
}

table.grid tr td {
    vertical-align: top;
    padding-right: 1em;
}

h3.result {
    margin: 0;
    display: inline;
}

/*
Doublespaced lists - this shows extra vertical spacing between each
element of the list.
*/
ul.doublespace li {
    margin-top: 1em;
    margin-bottom: 1em;
}

div.scroll-links {
    position: sticky;
    /* ideally, we'd use text-wrap: balance, but it seems to be buggy in Safari 18.2
    https://github.com/iftechfoundation/ifdb/issues/1208 */
    text-wrap: pretty;
    top: 0;
    margin: 0 -0.5em 1em -0.5em;
    display: flex;
    font: revert;
    width: revert;
    justify-content: center;
    padding: 0.5em 0;
    z-index: 1;
}

.scroll-links ul {
    margin: 0;
}

ul.horizontal {
    padding: 0;
    max-width: revert;
}

ul.horizontal > li {
    display: inline-block;
    margin-right: 0.5em;
}

/*
News items
*/
.newsItemHeadline {
    font-weight: bold;
}
.newsItemDateline {
    font-size: 85%;
    margin: .25ex 0 .75ex 0;
}
.newsItemBody {
    margin: 0 0 1em 0;
}
.newsItemFooter {
    font-size: 85%;
    margin: 1ex 0 1em 0;
}
.newsItemDate {
    padding-left: 2em;
    font-weight: normal;
    font-style: italic;
    font-size: 85%;
}

/*
Tag ages 1 through 7 - these depict the age of a tag using font weight
and color intensity.  We use darker color and heavier [bolder] type for
newer tags, lighter color [more washed out, closer to white] and lighter
type for older tags.  Age 1 is newest, 7 is oldest.
*/
span.tagAge1 {
    color: #000090;
    font-weight: 700;
}
span.tagAge2 {
    color: #0000B0;
    font-weight: 600;
}
span.tagAge3 {
    color: #0000D0;
}
span.tagAge4 {
    color: #2020FF;
}
span.tagAge5 {
    color: #4040FF;
}
span.tagAge6 {
    color: #6060FF;
}
span.tagAge7 {
    color: #8080FF;
}

/*
Popup menus
*/
div.popupMenu {
    border: 1px solid #E0E0FF;
    background: #F8F8F8;
    padding: 0 0 0 0;
}
div.popupMenu table {
    font-size: 100%;
}
div.popupMenu a {
    text-decoration: none;
    padding: 0 6px 0 6px;
    margin: 0 0 0 0;
    width: 100%;
}
div.popupMenu a:hover {
    background: #E0E0FF;
}

/*
The "ratingHistogram" table style is used to draw the histogram showing
how game ratings are distributed.  Within each table row, a "ratingHistoBox"
division contains the overall space for a single bar, and a nested
"ratingHistoBar" division is the colored bar itself.
*/
table.ratingHistogram tr td {
    font-size: 70%;
    line-height: 1em;
    padding-right: 5px;
}
div.ratingHistoBox {
    width: 8ex;
    background: #e0e0ff;
    height: 1em;
    border-top: 1px solid white;
}
div.ratingHistoBar {
    background: #2020ff;
    height: 1em;
}

/*
The "thumbnailpic" table style is for a table showing thumbnail images,
such as in the Style Image Manager.
*/
table.thumbnailpic {
    border: none;
    border-collapse: collapse;
}
table.thumbnailpic td {
    border: 1px solid gray;
    border-collapse: collapse;
    padding: 4px 1ex 4px 1ex;
}

/*
The "stylepicform" is the <form> area used for uploading custom images
for use in style sheets
*/
form.stylepicform {
    border: 1px solid gray;
    margin: 2em 4em 2em 4em;
    padding: 1em 1em 1em 1em;
    background: #f8f8f8;
}
form.stylepicform h2 {
    margin-top: 0;
}

/*
"required field" caption text for forms
*/
span.requiredFieldCaption {
    color: red;
    font-style: italic;
    font-size: 85%;
}

/*
Captcha form
*/
div.captchaFormDiv {
    font-size: 85%;
    width: 60ex;
    text-align: center;
    border: 1px solid #b0b0ff;
    background: #f4f8ff;
    margin: 1em 3em 1em 3em;
    padding: 1ex 2em 1ex 2em;
}
div.captchaFormDiv table {
    margin: 3px auto 3px auto;
}
div.captchaFormDiv embed {
    height: 0;
    width: 0;
}
div.captchaFormDiv form {
    margin: 0;
    padding: 0;
}

a.fancy-button:visited:not([href=needjs]) {
    color: blue;
}

.fancy-button {
    background: linear-gradient(to bottom, #ffffff, #7db6bd);
    border-top: 2px solid #7db6bd;
    border-right: 2px solid #5b5b5b;
    border-bottom: 2px solid #5b5b5b;
    border-left: 2px solid #4c9894;
    border-radius: 5px;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    text-decoration: none;
    padding: 1px 6px;
    font-weight: bold;
    color: blue;
    text-align: center;
    cursor: pointer;
    box-shadow: 2px 2px 5px rgba(0, 0, 0, 0.3);
    white-space: nowrap;
}

/*
Buttons for the "grid" forms - these are the subforms that show
multi-row data, such as the list of download links on the Edit Game
form.  The "grid-move-blank" button is a blank placeholder button
that fills in the spot where the "up" button would be on the top
row, or the "down" button on the bottom row - this is simply an
empty square of the same size as a normal button, to make the
buttons align nicely.
*/
img.grid-move-up {
    background: url("/img/moveup.gif");
    width: 27px;
    height: 21px;
    border: none;
    vertical-align: middle;
}
img.grid-move-down {
    background: url("/img/movedown.gif");
    width: 27px;
    height: 21px;
    border: none;
    vertical-align: middle;
}
img.grid-move-blank {
    width: 27px;
    height: 21px;
    border: none;
    vertical-align: middle;
}

/*
Combo Box drop arrow
*/
img.combobox-arrow {
    background: url("/img/comboarrow.gif");
    width: 17px;
    height: 18px;
    border: none;
    vertical-align: middle;
    margin-right: 1ch;
}

/*
Combo Box hidden list
*/
.combobox-list {
    display: none;
    position: absolute;
    z-index: 20; /* Above star-rating */
}

:root {
    --star-rating-size: 35px;
    --unchecked-image: url("/img/star-unchecked.svg");
    --checked-image: url("/img/star-checked.svg");
    --hovered-image: url("/img/star-hovered.svg");
}

.star-rating {
    display: inline-block;
    border: 0;
    width: min-content;
    vertical-align: middle;
}

.star-rating>div {
    position: relative;
    height: var(--star-rating-size);
    width: calc(var(--star-rating-size) * 5);
    background-image: var(--unchecked-image);
    background-size: var(--star-rating-size) var(--star-rating-size);
}

.star-rating label {
    position: absolute;
    height: 100%;
    background-size: var(--star-rating-size) var(--star-rating-size);
}

.star-rating label:nth-of-type(1) {
    z-index: 10;
    width: calc(100% / 5 * 1);
}

.star-rating label:nth-of-type(2) {
    z-index: 9;
    width: calc(100% / 5 * 2);
}

.star-rating label:nth-of-type(3) {
    z-index: 8;
    width: calc(100% / 5 * 3);
}

.star-rating label:nth-of-type(4) {
    z-index: 7;
    width: calc(100% / 5 * 4);
}

.star-rating label:nth-of-type(5) {
    z-index: 6;
    width: calc(100% / 5 * 5);
}

.star-rating input:checked+label,
.star-rating input:focus+label {
    background-image: var(--checked-image);
}

.star-rating input:checked+label:hover,
.star-rating input:checked+label:has(~ label:hover),
.star-rating label:hover {
    background-image: var(--hovered-image);
}

.star-rating input:checked+label:active,
.star-rating input:checked+label:has(~ label:active),
.star-rating label:active {
    filter: brightness(80%);
}

.star-rating label:hover ~ input:checked+label{
    background-image: var(--unchecked-image);
}

.star-rating>div:has(:focus-visible) {
    outline: 0.25rem solid lightblue;
}

.star-rating + button.remove-rating {
    display: none;
}

.star-rating:has(input:checked) + button.remove-rating {
    display: revert;
}

.star-rating input,
.star-rating label>span {
    border: 0;
    padding: 0;
    margin: 0;
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 - a 0 height clip, off to the bottom right of the visible 1px box */
    clip: rect(1px, 1px, 1px, 1px);
    /*maybe deprecated but we need to support legacy browsers */
    clip-path: inset(50%);
    /*modern browsers, clip-path works inwards from each corner*/
    white-space: nowrap;
    /* added line to stop words getting smushed together (as they go onto seperate lines and some screen readers do not understand line feeds as a space */
}

/*
Close button for pop-up subforms
*/
img.popup-close-button {
    background: url("/img/tbclose.gif");
    width: 16px;
    height: 10px;
    border: none;
    vertical-align: middle;
}

/*
Popup menu indicator
*/
img.popup-menu-arrow {
    background: url("/img/menuarrow.gif");
    width: 16px;
    height: 10px;
    border: none;
    vertical-align: middle;
}

/*
Current-location arrow, used in the top navigation bar to indicate
which page is currently being displayed
*/
img.topbarcurarrow {
    background: url("/img/topbarcurarrow.gif") no-repeat center center;
    width: 12px;
    height: 10px;
    border: none;
    vertical-align: middle;
}

/*
Various icon images, used on the home page and elsewhere.
*/
a.rss-icon {
    background: url("/img/rss.svg") left 80%/1em no-repeat;
    padding-left: 1.2em;
}
img.empty-button-icon {
    width: 24px;
    height: 24px;
    border: none;
    vertical-align: middle;
}

/* checkmark vote */
img.vote-checkmark {
    background: url("/img/vote-checkmark.gif") no-repeat center center;
    width: 20px;
    height: 20px;
    border: none;
    vertical-align: middle;
}

/*
Current Version arrow (for game version list page)
*/
img.current-version-marker {
    background: url("/img/vsnarrow.gif") no-repeat center center;
    width: 14px;
    height: 14px;
    border: none;
    vertical-align: middle;
}

/*
ZIP/Archive main contents arrow
*/
img.zip-contents-arrow {
    background: url("/img/zipmain.gif") no-repeat center center;
    width: 16px;
    height: 14px;
    border: none;
    vertical-align: middle;
}

/*
Data entry form status icons
*/
img.form-error-icon {
    background: url("/img/erricon.gif") no-repeat center center;
    width: 16px;
    height: 16px;
    border: none;
    vertical-align: middle;
}

/*
The various images for checkbox states.  Note that
these are for our custom controls that we build out of HTML DOM and
Javascript - these aren't for actual system controls, so we can
completely customize the appearance.
*/
.ckbox {
    clip: rect(0 0 0 0);
    clip-path: inset(100%);
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
    height: 1px;
}

.cklabel {
    color: #000080;
    cursor: pointer;
}

.ckboxImg {
    background: url("/img/ckbox0.gif") no-repeat center center;
    width: 14px;
    height: 14px;
    vertical-align: middle;
    border: none;
    display: inline-block;
}

.ckdelete + .ckboxImg {
    background: url("/img/delrow.gif") no-repeat center center !important;
}

.ckbox:hover:not(:focus) + .ckboxImg {
    background: url("/img/ckbox1.gif") no-repeat center center;
}

.ckbox:focus + .ckboxImg {
    outline: 1px solid teal;
    outline-offset: 2px;
}

.cklabel:hover > span {
    text-decoration: underline;
}

.ckbox:checked + .ckboxImg {
    background: url("/img/ckbox2.gif") no-repeat center center;
}

img.newcomment {
    background: url('/img/newcomment.png') no-repeat center center;
    vertical-align: middle;
    width: 16px;
    height: 16px;
}

img.listarrow {
    background: url('/img/list-arrow.gif') no-repeat center center;
    vertical-align: middle;
    width: 12px;
    height: 10px;
    border: none;
    margin-right: 0.75ex;
}



/*
For some large tables, we use alternating background colors for rows,
to make it easier to see the row structure.
*/
tr.oddRow {
    background: #ffffff;
}
tr.evenRow {
    background: #f0f0f0;
}


/* ------------------------------------------------------------------------ */
/*
Obsolete styles
*/
td.dltext {
    font-size: 80%;
    padding-left: 1em;
}

.forceReflow {
    border-right: 2px solid transparent;
}

span.ckmsg {
    color: #ff0000;
    font-weight: bold;
}

span.fileinfo {
    font-size: 95%;
}

div.box {
    border: thin solid #d0d0d0;
    padding: 0.5em;
}

div.footer2 {
    text-align: center;
    margin-top: 4em;
    margin-bottom: 3em;
    font-size: 85%;
}

div.nav {
    margin-left: 0px;
    margin-top: 15px;
    font-size: 75%;
    color: #606060;
}

a.cprlink {
    text-decoration: none;
}
a.cprlink:hover {
    text-decoration: underline;
}

img.logo {
    margin: 0 1em 0.5ex 0;
}


div.sfl-game-header {
    margin: 1.5ex 0px .25ex 0px;
    border-top: 1px dotted #808080;
    padding-top: 1ex;
}
span.sfl-game-title {
    font-size: 105%;
    font-weight: bold;
    font-style: italic;
}
div.sfl-type-header {
    font-weight: bold;
    margin: 1ex 0px;
}
div.sfl-type-group {
    margin: 1ex 0px;
}
div.sfl-item {
    margin: 1ex 0px;
}
span.sfl-save-userdesc {
    font-weight: bold;
}
span.sfl-save-date {
    font-style: italic;
    padding-left: 1em;
}
span.sfl-save-links {
    padding-left: 1em;
}
span.sfl-save-autodesc {
    font-style: italic;
    padding-left: 1em;
}
#tagEditor,
#tagDeletor {
    position: absolute;
    z-index: 10000;
    top: -5em;
    left: 0px;
    display: none;
    background: #ffffff;
    border: 3px solid #b0d8ff;
    padding: 0;
}

#tagEditor .viewgame__tagEditorHeader, #tagDeletor .viewgame__tagEditorHeader {
    background: #b0d8e8;
}

.inbox-notification {
    min-width: 1.6em;
    height: 1.6em;
    border-radius: 0.8em;
    background-color: red;

    display: inline-flex;
    justify-content: center;
    align-items: center;
    font-size: 0.8em;
    color: white;
    vertical-align: top;
}

#mobile-menu-toggle-button .inbox-notification {
    margin-left: 1ch;
}

@media (prefers-color-scheme: dark) {
    :root {
        --unchecked-image: url("/img/dark-images/star-unchecked.svg");
    }
    body {
        background: #000000;
        color: #ffffff;
    }
    div.topbar {
        background: url("img/dark-images/ifdb-topbar-midnight.jpg") #000030 no-repeat;
    }
    div.smalltopbar {
        background: url("img/dark-images/ifdb-smalltopbar-midnight.jpg") #000030 no-repeat;
    }
    div.topctl {
        background: #202040;
        border-bottom: thin dotted #303060;
    }
    div.topctl ul {
        background: #202040;
    }
    .menu-toggle-button {
        filter: invert(1);
    }
    .searchbar-wrapper { 
        border: 1.5px solid #696991;
    }

    .searchbar-wrapper > input {
        background: #000;
    }
    #topbar-search-go-button {
        filter: invert(1);
    }
    @media (min-width: 60rem) {
        #externalLinks.downloads {
            background: #101030;
            border: thin dotted #303030;
        }
        #externalLinks.downloads h3 {
            color: #d0d0ff;
        }
        table.gamerightbar {
            background: #101030;
            border: thin dotted #303030;
        }
        table.gamerightbar td {
            color: #d8d8d8;
        }
        table.gamerightbar td h3 {
            color: #d0d0ff;
        }
    }
    .readMore .expand {
        background-image: linear-gradient(to bottom, rgba(0,0,0,0), black);
    }
    span.dlzipmain {
        color: #d0d0ff;
    }
    span.zipnote {
        color: #d0d0ff;
    }
    span.fmtnotes {
        color: #A0A0A0;
    }
    div.headline {
        background: #202030;
        border-top: thin solid #303050;
        color: #d0d0ff;
    }
    div.headline2 {
        background: #202030;
        border-top: thin solid #303050;
        color: #d0d0ff;
    }
    table.botbar {
        background: #101018;
    }
    table.botbar td {
        border-color: #303050;
    }
    table.botbar table tr.botbarhdr td {
        background: #383838;
        color: #f0f0f0;
    }
    table.rightbar {
        border-top: thin solid #303050;
        background: #101030;
    }
    .aside-box {
        border-top: thin solid #303050;
        background: #101030;
    }
    .main-nav a:hover{
        background-color: #2c2c52;
    }
    tr.boxhead h3 {
        color: #f0f0f0;
    }
    .cpanelBtn:hover {
        background: #303058;
    }
    div.cpanelHeading {
        background: #303050;
    }
    table.botbar2 {
        background: #101030;
        border-top: thin solid #303050;
    }
    span.notes {
        color: #c0c0c0;
    }
    span.notes a.silent {
        color: #c0c0c0;
    }
    span.warning {
        background: #E0E000;
        color: #000000;
    }
    a {
        color: #9090ff;
    }
    a.silent {
        color: #ffffff;
    }
    a:visited:not([href=needjs]) {
        color: #ff90ff;
    }
    a:hover {
        color: #ff3030;
    }
    a.authorProfileLink {
        background: #f0f0a0;
        color: #000090;
    }
    a.authorProfileLink:visited {
        color: #900090;
    }
    a.authorProfileLink:hover {
        color: #ff0000;
    }
    div.reviewCommentReply {
        border-left: 0.75ex solid #404040;
    }
    h1, h2, h3 {
        color: #d0d0ff;
    }
    form.stylepicform {
        background: #101030;
        color: #ffffff;
    }
    form.edittagsform {
        background-color: #000000;
    }
    .cklabel {
        color: #9090ff;
    }
    input, select{
        background-color: #000000;
        color: #FFFFFF;
        border: 1.5px solid #696991;
    }
    aside.tipbox {
        background: #101030;
        border: 1px solid #323245;
        color: #ffffff;
    }
    div.inlinetip {
        background: #404040;
        color: #ffffff;
    }
/* This background color appears in a frame around the text in the Edit Link popup. This foreground color is used for the main text in the Edit Review Link popup.*/
    div.edit-popup-frame {
        background: #000000;
        color: #ffffff;
    }
    div.edit-popup-title {
        background: #7098a8;
        color: #000040;
    }
    div.edit-popup-title a {
        color: #0000c0;
    }
    div.edit-popup-win {
        border: 3px solid #7098a8;
    }
/* This background color is used behind the text in the Edit Link popup. This foreground color is used for the main text in the popup, including the headings on the left side. */
    div.edit-popup-win table tr td {
        background: #000000;
        color: #ffffff;
    }
/* This foreground color is used for the secondary text in the Edit Link popup and the Edit Review Link popup.*/    
    div.edit-popup-win span.details {
        font-size: 100%;
        color: #c0c0c0;
    }
    div.popupMenu {
        border: 1px solid #A0A0A0;
        background: #404040;
        padding: 0 0 0 0;
        color: #ffffff;
    }
    div.popupMenu a:hover {
        background: #202020;
    }
    div.browseBar {
        background: #202030;
    }
    div.browseTabs {
        padding: 6px 0 0 4px;
    }
    span.browseLabel {
        font-weight: bold;
        margin-right: 2em;
    }
    span.browseTab {
        background: #303050;
        border: 1px solid #202030;
    }
    span.activeBrowseTab {
        background: #444476;
    }
    .viewgame__header {
        background: #7098a8;
        color: #000040;
    }

    .viewgame__header a {
        color: #0000c0;
    }

    #tagEditor,
    #tagDeletor {
        background: #000;
        color: #fff;
        border-color: #7098a8;
    }

    #tagEditor .viewgame__tagEditorHeader,
    #tagDeletor .viewgame__tagEditorHeader {
        background: #7098a8;
        color: #000040;
    }

    .viewgame__tagEditorHeader a {
        color: #0000c0;
    }

    .restricted {
        background: #444;
    }

    img.grid-move-up {
        background: url('/img/dark-images/moveup-midnight.gif') no-repeat center center;
    }
    img.grid-move-down {
        background: url('/img/dark-images/movedown-midnight.gif') no-repeat center center;
    }
    tr.oddRow {
        background: #101010;
    }
    tr.evenRow {
        background: #202020;
    }
    #mobile-menu-toggle-button .inbox-notification {
        filter: invert(1);
    }
    img.invert {
        filter: invert(1);
    }
}
