body {
    background-color: #16181c;
    color: #b0bac5;
    font-family: Inter, -apple-system, BlinkMacSystemFont, Segoe UI, Oxygen, Ubuntu, Roboto, Cantarell, Fira Sans, Droid Sans, Helvetica Neue, sans-serif;
}

/* Layout */
#header {
    display: flex;
    margin: 0.75rem auto;
    max-width: 80rem;
}
#page {
    display: flex;
    flex-direction: row;
    margin: 0 auto;
    max-width: 80rem;
}
#content {
    width: 60rem;
}
#sidebar {
    width: 20rem;
    margin-left: 0.75rem;
    flex-shrink: 1;
}
#filters {
    display: flex;
    flex-direction: column;;
    padding: 1.5rem;
    height: fit-content;
}

/* General */
.panel {
    background-color: #26292f;
    border-radius: 1rem;
    padding: 1em;
    margin: .75rem 0;
    margin-top: 0;
    width: auto;
    height: auto;
}
button {
    white-space: nowrap;
    height: 2rem;   
    border-radius: 1rem;
    border: none;
    color: white;
    justify-content: center;
    align-items: center;
    line-height: 1.15em;
    font-size: 1rem;
}
button:disabled {
    border-style: solid;
    border-width: 1px;
    background-color: transparent!important;
}

/* Header */
#text-logo {
    height: 2.25rem;
    width: auto;
    padding: 0 1.5rem;
}

/* Search Panel */
#search-controls {
    padding: 0.75rem 1.5rem;
}
#searchBar {
    margin: 0;
    align-items: center;
    display: inline-flex;
    position: relative;
}
#searchBar input {
    min-width: 15rem;
    width: 100%;
    -webkit-appearance: textfield;
    outline-offset: -2px;
    overflow: visible;
    font-size: 100%;
    line-height: 1.15;
    font-size: 16px;
    margin: 2px;
    padding: 0.5rem 1rem;
    padding-left: 2rem;
    border-radius: 2rem;
    box-sizing: border-box;

    background-color: #3e434b;
    color: #b0bac5;
    border: 2px solid transparent;
}
#searchBar svg {
    position: absolute;
    left: .6rem;
    height: 1rem;
    z-index: 1;
    color: var(--color-text);
    margin-right: -2rem;
    height: 16px;
    width: 24px;
}
input[type="submit"]:hover {
    background-color: #494f58;
}

/* Filter Panel */
#filters button {
    background-color: #3e434b;
    display: flex;
    width: min-content;
    padding-right: 1rem;
}
#filters button:hover {
    background-color: #494f58;
}
#filters button:disabled {
    border-color: #555d65;
    color: #555d65;
}
#filters button svg {
    width: 1.25rem;
    padding: .5rem;
}
#filters h3 {
    color: #ecf9fb;
    margin-top: 1.5rem;
    margin-bottom: 0.5rem;
}
.checkbox_outer {
    display: flex;
    flex-direction: row;
    margin-bottom: .25rem;
    
    user-select: none;
}
.checkbox_outer label {
    display: flex;
    flex-direction: row;
    white-space: nowrap;
}
.checkbox_icon {
    width: fit-content;
    margin: auto;
    padding-left: 0.25em;
    padding-right: 0.25em;
}
.checkbox_icon svg {
    width: 16px;
    height: 16px;
}
input[type="checkbox"] {
    /* only way to not have ugly borders on it */
    appearance: none;
    /* recreation with background */
    width: 1rem;
    height: 1rem;
    border-radius: 0.25rem;
    background-color: #3e434b;
    /* required to make checkbox text clicking work */
    pointer-events: none;
}
input[type="checkbox"]:checked {
    background-color: #02ADE2;
}
/* 3 state checkbox stuff */
[threestate="off"] input[type="checkbox"] {
    background-color: #3e434b;
}
[threestate="required"] input[type="checkbox"] {
    background-color: #1bd96a;
}
[threestate="disabled"] input[type="checkbox"] {
    background-color: red;
}

/* Page Selector area */
#page-select {
    display: flex;
    justify-content: center;
    height: 2em;
    margin: .5rem 0;
}
#page-select button {
    background-color: #26292f;
    margin: 0 .3em;
    display: flex;
    width: 2rem;
}
#page-select button:hover {
    background-color: #494f58;
}
#page-select button:disabled {
    border-color: #555d65;
    color: #555d65;
}

/* Mod Panel */
.mod {
    display: flex;
    flex-direction: row;
}
.mod_icon_container, .mod_info_div, .mod_stats_div {
    display: flex;
    flex-direction: column;
}
/* Mod Icon */
.mod_icon_container > a > img {
    width: 6rem;
    height: 6rem;
    border-radius: 1rem;
    margin: 0px 12px 12px 0px;
    align-content: left;
}
/* Mod Info */
.mod_info_div_container {
    display: flex;
    flex-grow: 1;
    flex-direction: column;
}
.mod_info_div > h2  {
    font-size: 1rem;
}
.mod_info_div * {
    margin: 0;
}
.mod_info_div > p {
    margin: 0.5rem 0;
}
/* Mod Title/Author */
.mod_info_div > h2 > strong > a {
    color: #ecf9fb;
    text-decoration: none;
    font-size: 1.5em;
}
.mod_info_div > h2 > a  {
    color: #b0bac5;
    text-decoration: underline;
}
/* Mod Categories */
.mod_categories {
    display: flex;
    flex-grow: 0;
    justify-content: start;
    flex-direction: row;
    margin-bottom: 0.5rem;
}
.mod_cat_icon {
    display: flex;
    flex-direction: row;
    height: fit-content;
    margin: 0;
    margin-right: 1rem;
}
.mod_cat_icon svg {
    width: 1rem;
    height: 1rem;
    padding-right: 0.125em;
}
/* Mod Date Data*/
.mod_dates {
    display: flex;
    flex-direction: row;
}
.mod_date {
    white-space: nowrap;
    display: flex;
    flex-direction: row;
    margin-right: 1.5rem;
}
.mod_date > img {
    width: 1.25rem;
    height: 1.25rem;
    padding-right: 0.25em;
}
/* Mod Stats Data */
.mod_stats_div {
    min-width: 12rem;
}
.mod_stat {
    white-space: nowrap;
    display: flex;
    flex-direction: row;
}
.mod_stat > img {
    width: 20px;
    height: 20px;
    margin-top: auto;
    margin-bottom: auto;
    margin-left: auto;
}
.mod_stat > p > strong {
    font-size: 1.25rem;
    margin: 0px;
}
.mod_stat > p  {
    font-size: 0.875rem;
    margin: 0px;
    margin-left: .5rem;
}