* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;

    font-family: var(--GlobalFont);

    text-decoration: none;
    color: var(--GlobalTextColor);
}

body {
    background-image: url("./assets/background.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
    background-color: var(--GlobalBackground);
    margin-bottom: var(--varFooterHeight);
}

nav {
    height: var(--varNavHeight);
    width: 100%;

    background-color: var(--varNavBackground);
    color: var(--varNavTextColor);

    display: flex;

    user-select: none;

    position: fixed;
}

nav.placeHolder {
    position: relative;
    top: 0;
    width: 100%;
    height: var(--varNavHeight);
    z-index: -1;
}

nav > .logoName.active {
    text-decoration: underline;
}

nav > div.SearchForm {
    margin: auto 15px auto 10px;
    height: 50%;
}

nav > div.SearchForm > form {
    display: inline;
    vertical-align: middle;
}

.SearchForm > form > * {
    height: 100%;
}

.searchTextInput {
    padding: 5px;
}

.searchSubmit {
    width: calc(var(--varNavHeight) / 2);
}
.searchSubmit, .searchTextInput {
    /* reset */
    border: 0;
    color: white;
    background-color: var(--varWhiteT1);
    outline: 0;
}
.searchSubmit:hover, .searchTextInput:hover {
    background-color: var(--varWhiteT2);
}

.DropdownElementJS {
    visibility: collapse;
    display: none;
    position: absolute;
    min-height: 160px;
    min-width: 160px;
    background: var(--varNavBackground);
    padding: 5px;
}
.DropdownElementJS.ShowDropdownElementJS {
    visibility: visible;
    display: block;
}
.DropdownElementJS > .DropdownItem {
    --ThisHeight: 32px;
    display: inline-block;
    width: 100%;
    height: var(--ThisHeight);
    line-height: var(--ThisHeight);
    text-align: center;
}

.navItem > * {
    margin-left: 10px;
}

button.navButton {
    border: none;
    background-color: var(--T0);
    cursor: pointer;
}

.navDisplayed {
    display: flex;
    align-items: center;
}
.navDisplayed > * {
    height: 100%;
    display: flex;
}
.navDisplayed > * > * {
    transform: translateY(5px);
    align-self: center;
}

.navItem > .navDisplayed {
    display: flex;
    align-items: center;
    height: 100%;
}

.logoName {
    display: flex;
    cursor: pointer;
    height: var(--varNavHeight);
    padding: 0 5px 0 10px;
    align-items: center;
}
.logoName * {
    align-self: center;
}
.logoName img {
    max-height: var(--varNavHeight);
}

i.DropdownTriggerJS {
    margin-left: 5px;
    font-size: x-large;
}

div.DropdownElementJS > a.active {
    text-decoration: underline;
}

div.navDisplayed.active > a > b {
    text-decoration: underline;
}

.CharList {
    width: 60%;
    margin: 50px auto 0;

    padding: 25px;

    background-color: var(--varBlackT7);
}
.CharList {
    background-color: var(--T0);
}
.CharList > article {
    margin-bottom: 50px;
    padding: 10px;

    background-color: var(--varBlackT7);
}
.CharList > article:nth-last-child(1) {
    margin-bottom: 0;

}

.charListItemBox {
    display: flex;
    background-color: var(--T0);
}
.charListItemBox .verticalFlex {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.charListItemBox .horizontalFlex {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
}

.charListNameTitle {
    background-color: var(--T0);
    font-size: xx-large;
}
.charListNameTitle > a {
    display: inline-block;
    width: 100%;
}
.charListNameTitle > a:hover {
    text-decoration: underline;
}

.charListImageBox {
    display: block;
    line-height: 2em;
    margin-right: 10px;
    width: 20%;
}
.charListImageBox > img {
    background-color: var(--T0);
    max-width: 100%;
    max-height: 100%;
    clear: both;
    line-height: 2em;
}

.charListTitleBox {
    background-color: var(--T0);
    line-height: 2em;
    font-size: larger;
}

.charListBirthdayBox {
    background-color: var(--T0);
    line-height: 2em;
    font-size: larger;
}

.charListMottoBox {
    background-color: var(--T0);
    line-height: 2em;
    font-size: larger;
}

.charListSurvivalOddsBox {
    background-color: var(--T0);
    line-height: 2em;
    font-size: larger;
}

.charListTierBox {
    background-color: var(--T0);
    line-height: 2em;
    font-size: larger;
}

article.charSpecItemBox {
    width: 60%;
    padding: 10px;
    margin: 50px auto;
    background-color: var(--varBlackT7);
}

.charSpec {
    background-color: var(--T0);
}

.charSpecItemBox {
    display: flex;
    background-color: var(--T0);
}
.charSpecItemBox .verticalFlex {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.charSpecItemBox .horizontalFlex {
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
}

.charSpecNameTitle {
    background-color: var(--T0);
    font-size: xx-large;
    line-height: 2em;
}
.charSpecNameTitle > a {
    display: inline-block;
    width: 100%;
}
.charSpecNameTitle > a:hover {
    text-decoration: underline;
}

.charSpecImageBox {
    display: block;
    max-width: 35%;
    float: left;
    margin-right: 10px;
}
.charSpecImageBox > * {
    clear: both;
}
.charSpecImageBox > img {
    background-color: var(--T0);
    max-width: 100%;
    line-height: 2em;
}

.charSpecTitleBox {
    background-color: var(--T0);
    line-height: 2em;
}

.charSpecBirthdayBox {
    background-color: var(--T0);
    line-height: 2em;
}

.charSpecMottoBox {
    background-color: var(--T0);
    line-height: 2em;
}

.charSpecBioBox {
    background-color: var(--T0);
    line-height: 2em;
}

.charSpecSurvivalOddsBox {
    background-color: var(--T0);
    line-height: 2em;
}

.charSpecLoreBox {
    background-color: var(--T0);
    line-height: 2em;
}

.charSpecAbilityBox {
    background-color: var(--T0);
    line-height: 2em;
}

.charSpecTierBox {
    background-color: var(--T0);
    line-height: 2em;
}

html {
    position: relative;
    min-height: 100%;
}

footer {
    position: absolute;
    bottom: 0;
    display: flex;


    background-color: var(--varBlackT5);

    width: 100%;
    height: var(--varFooterHeight);
}

div.footer {
    width: 100%;
    text-align: center;
    align-self: center;

}

footer > div.footer > span {
    height: 100%;
    vertical-align: middle;
    text-align: center;
}

.indexSearchForm {
    /*  */
    width: fit-content;
    margin: 20vh auto auto;

    --ThisHeight: 100px;
}

.indexSearchTextInput, .indexSearchSubmit {


    /* reset */
    border: 0;
    color: white;
    outline: 0;


    background-color: var(--varBlackT7);
}
.indexSearchTextInput:hover, .indexSearchSubmit:hover {
    background-color: var(--varBlackT6);
}

.indexSearchForm > form {
    /*  */
    --somevar: 5px;
}
.indexSearchForm > form > * {
    /*  */
    height: var(--ThisHeight);
}
.indexSearchForm > form > input {
    /*  */
    width: calc(var(--ThisHeight) * 8);
    padding-left: 10px;

}
.indexSearchForm > form > button {
    /*  */
    width: var(--ThisHeight);
}

header.indexHeader {
    text-align: center;
    margin-top: 5vh;
    padding: 15px;
    background-color: var(--varBlackT7);
}

header.indexHeader > h1 > a:hover {
    text-decoration: underline;
}

.AdvancedSearchForm {
    /*  */
    display: flex;
    width: fit-content;
    margin: 5vh auto auto;

    --ThisHeight: 100px;
}
.AdvancedSearchForm > form {
    /*  */
    --somevar: 5px;
}
.AdvancedSearchForm > form > div > *, .AdvancedSearchForm > form > div > div > * {
    /*  */
    height: var(--ThisHeight);
}
.AdvancedSearchForm > form > div > div > input {
    /*  */
    width: calc(var(--ThisHeight) * 8);
    padding-left: 10px;

}
.AdvancedSearchForm > form > div > button {
    /*  */
    width: var(--ThisHeight);
    height: calc(var(--ThisHeight) * 5);
}
.AdvancedSearchForm > form > .horizontalFlex {
    display: flex;
    flex-direction: row;
}
.AdvancedSearchForm > form > div > .verticalFlex {
    display: flex;
    flex-direction: column;
    height: calc(var(--ThisHeight) * 5);
}

.charListNameTitleEdit {
    font-size: xx-large;
    text-align: end;
    padding-right: 5px;
}
.charListNameTitleEdit > a {
    display: inline-block;
    width: 100%;
}
.charListNameTitleEdit > a:hover {
    text-decoration: underline;
}

.charListNameTitleDelete {
    font-size: xx-large;
    text-align: end;
    padding-right: 5px;
}
.charListNameTitleDelete > a {
    display: inline-block;
    width: 100%;
    color: red;
}
.charListNameTitleDelete > a:hover {
    text-decoration: underline;
}

.addEntryBox {
    background-color: var(--varBlackT7);
}
.addEntryBox > h1 {
    font-size: xx-large;
    width: 100%;
    text-align: center;
}
.addEntryBox > h1 > a {
    width: 100%;
    display: inline-block;
}
.addEntryBox > h1 > a:hover {
    text-decoration: underline;
}

.phatMarginFooter {
    height: 500px;
}

#EditEntrySection {
    color: white;
    width: 60%;
    margin: 0 auto;
    flex-direction: column;
    display: flex;
    align-items: center;
    text-align: center;
    background-color: var(--varBlackT7);
}
#EditEntrySection textarea {
    padding: 10px;
    margin: 10px;
    border: none;
    background-color: black;
    color: white;
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 0;
    outline-offset: 0;
}
#EditEntrySection textarea:focus {
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: 2px;
    background-color: black;
    color: white;
}
#EditEntrySection input, #AddEntrySection input {
    background-color: black;
    padding: 5px;
    width: 100%;
    border: none;
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 0;
    outline-offset: 0;
}
#EditEntrySection input:hover {
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: 2px;
}

#AddEntrySection {
    color: white;
    width: 60%;
    margin: 0 auto;
    flex-direction: column;
    display: flex;
    align-items: center;
    text-align: center;
    background-color: var(--varBlackT7);
}
#AddEntrySection textarea {
    padding: 10px;
    margin-top: 10px;
    border: none;
    background-color: black;
    color: white;
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 0;
    outline-offset: 0;
}
#AddEntrySection textarea:focus {
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: 2px;
    background-color: black;
    color: white;
}
#AddEntrySection input {
    background-color: black;
    padding: 5px;
    width: 100%;
    border: none;
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 0;
    outline-offset: 0;
}
#AddEntrySection input:hover {
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: 2px;
}

.entryInput {
    margin: 10px 0;
    padding: 10px;
    background-color: var(--varBlackT5);
}

input[type=radio] {
    display: inline-block;
    background-color: black;
    padding: 5px;
    border: none;
    outline: none !important;
    width: auto !important;
    margin-left: 10px;
}

select {
    background-color: var(--varBlackT5);
    border: none;
    font-size: medium;
    padding: 5px;
}

.anchor {
    position: absolute;
    transform: translateY(-15vh);
}

.buttonAsLink {
    display: inline-block;
    background-color: rgba(0, 0, 0, 0);
    border: none;
    outline: none;
    font-size: inherit;
    cursor: pointer;
}

.buttonAsLink:hover {
    text-decoration: underline;
}

.danger {
    color: red !important;
}

.fullWidth {
    width: 100%;
}

.textAlignEnd {
    text-align: end;
}

.bold {
    font-weight: bold;
}

.memberZoneMulti {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 50%;
    padding: 50px;
    background-color: var(--varBlackT7);
    margin: 20px auto auto;

}
.memberZoneMulti > form {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: auto auto;
}
.memberZoneMulti > form > div {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    margin: auto auto;
}
.memberZoneMulti input {
    background-color: black;
    margin: 5px 5px 10px;
    padding: 10px;
    width: 400px;
    border: none;
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 0;
    outline-offset: 0;
}
.memberZoneMulti input:hover {
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: 2px;
}
.memberZoneMulti input:focus {
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: -2px;
    color: white;
}
.memberZoneMulti input:active {
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 25ms;
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: -4px;
}

input#id {
    cursor: help;
    user-select: none;
}

.memberZoneMulti a {
    color: white;
    text-decoration: none;
}

.memberZoneMulti a:hover {
    text-decoration: underline;
}

#userDetailsBox > input {
    text-align: center;
}

.navUser {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    margin-right: 5px;
}

.navUser > div > img {
    height: 50px;
    margin-left: 5px;
}

.navUser > .horizontalFlex {
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: end;
}

.pfp_user_info_page {
    max-width: 100%;
}

.please-give-me-some-padding-between-those {
    padding-bottom: 50px !important;
}

.form_input_user {
    border-radius: 5px;
    background-color: var(--varBlackT7) !important;
}

input[type="file"] {
    max-width: 0 !important;
    max-height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: 0 !important;
    font-size: 0 !important;
}
input[type="file"]:hover{
    outline: 0 !important;
}
input[type="file"]:focus{
    outline: 0 !important;
}

.file_label {
    text-align: center;
}
.file_label::after {
    display: block;
    content: attr(filename_filelabel);
    background-color: var(--varBlackT7);
    cursor: pointer;
    padding: 10px;
    margin: 5px 5px 10px;
    width: 400px;
    text-align: center;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: 15px;

    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 0;
    outline-offset: 0;
}
.file_label:hover::after {
    transition-property: outline-width, outline-offset;
    transition-timing-function: linear;
    transition-duration: 100ms;
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: 2px;
}
.file_label:focus-within::after {
    outline: rgba(255, 255, 255, .5) solid 5px;
    outline-offset: -2px;
    color: white;
}
.center_file_input::after {
    margin: 0 auto;
}

.account_actions {
    background: none !important;
    max-width: content-box !important;
    text-align: center;
    border-radius: 5px;
}

.user_data {
    border-radius: 5px;
    background-color: var(--varBlackT7) !important;
}

.cursor_pointer {
    cursor: pointer;
}

.maff {
    margin: 0 auto;
    width: 77vw;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
}
.maff > h3 {
    text-align: center;
    margin: 0;
    padding: 0;
    width: 33%;
}
.maff > h3:nth-child(1) {
    margin: 0;
    padding: 0;
    width: 34%;
}

.chart-container > canvas, .chart-container > .chart-container-filler {
    outline: #aaa solid 5px;
    outline-offset: -5px;
    transition: outline-width 125ms;
}
.chart-container > canvas:hover, .chart-container > .chart-container-filler:hover {
    outline-width: 10px;
    /*outline-offset: 0;*/
}