* {
    /* Here we set the margin and padding  0 */
    margin: 0;

    padding: 0;

    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
}

.navbar {
    display: flex;

    /* This is used to make the navbar sticky, So that the
        navbar stays at the top part even if we scroll */
    position: sticky;
    align-items: center;
    top: 0px;
    max-height: 5%;
    z-index: 11;
}

.nav-list {
    margin-left: 10%;
    width: 90%;
    display: flex;
}

.nav-list li {
    list-style: none;
    /*padding: 26px 30px; */
}

.nav-list li a {
    text-decoration: none;
    color: white;
    font-size: min(max(16px, 2vh), 30px);
    display: block;
    padding: 20px 20px;
}

.nav-list li a.active {
    text-decoration: none;
    color: rgb(250, 250, 135);
    background-color: #454858;
}

.nav-list li a:hover:not(.active) {
    color: rgb(216, 195, 255);
    background-color: black;
    cursor: pointer;
}

.rightNav {
    width: 50%;
    text-align: right;
}

.navbground {
    background: #282a35;
    background-blend-mode: darken;
    background-size: cover;
}

.background {
    background: rgb(175, 183, 202);
}

.bodyText {
    padding-left: 6%;
    padding-top: 3%;
    padding-right: 6%;
    padding-bottom: 3%;
}

.logo {
    padding-left: 2%;
    color: rgb(255, 157, 225);
    font-size: min(max(16px, 2vh), 30px);
}

.bodyContainer {

    padding: 0 2%;
    display: flex;
    justify-content: center;

}

.mainContainer {
    margin-bottom: 100px;
    min-width: 90%;
    max-width: 1200px;
    background-color: rgb(196, 205, 228);
}

#charsContainer {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0.5rem;
}

.charBox {
    width: 15%;
    min-width: 60px;
    max-width: 160px;
    margin: 1rem 0.5rem;
    cursor: pointer;
    position: relative;
    /*border-width: 0.3rem;
        border-radius: 10%;
        border: 0.15rem solid lightsalmon;
        overflow: hidden;*/
}

.size-5 .charBox {
    width: 160px;
    font-size: 1em;
}

.size-4 .charBox {
    width: 140px;
    font-size: 1em;
}

.size-3 .charBox {
    width: 120px;
    font-size: 1em;
}

.size-2 .charBox {
    width: 100px;
    font-size: 0.8em;
}

.size-1 .charBox {
    width: 80px;
    font-size: 0.7em;
}

.char-img {
    width: 100%;
}

.star-container {
    display: flex;
    position: absolute;
    top: -7%;
    left: 5%;
    /*width: 100%;*/
    /*z-index: 1;*/
}

.ue-container {
    display: flex;
    position: absolute;
    top: 5%;
    left: 5%;
    /*width: 100%;*/
    /*z-index: 1;*/
}

.display-star {
    width: 15%;
    height: intrinsic;
}

.main-box-content {
    overflow: hidden;
    /* outline: solid white 4px; */
    border-radius: 15%;
    position: relative;
}

#modeButton {
    min-height: 100px;
    border: 0.15rem dashed grey;
    border-radius: 15%;
    justify-content: center;
    align-items: center;
    display: flex;
}

#modeButton p {
    position: absolute;
    text-align: center;
    font-size: 2em;
}

.mode-disable {
    background: repeating-linear-gradient(45deg, transparent, transparent 7px, #8989893d 11px, #c1afafb3 11px);
}

.mode-move {
    background-color: #95f1d24a;
}

.deselected {
    filter: grayscale(0.8) brightness(0.5);
}

#addCharButton {
    border: 0.15rem dashed grey;
    border-radius: 15%;
    cursor: pointer;
}

#addCharButton:hover {
    filter: brightness(20%);
}

.charBoxwrap {
    position: relative;
    width: 100%;
}

.charBoxwrap img {
    display: block;
    text-align: center;
    width: 100%;
    min-width: 50px;
}

.charBox *, .multiSelectChar * {
    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
}

label {
    display: block;
}

.nameBar {
    box-sizing: border-box;
    position: absolute;
    /*line-height: min(2vw, 1.5rem);*/
    margin: 0;
    bottom: 0px;
    width: 100%;
    padding: 0.2rem 0;
    text-align: center;
    color: white;
    background-color: rgba(0, 9, 56, 0.6);
}

.nameBar p {
    font-size: 150%;
    font-family: monospace;
    text-shadow: -1px -1px 0 #000, 0px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 0px 1px 0 #000, 1px 1px 0 #000;
}

.borrowBar {
    box-sizing: border-box;
    position: absolute;
    /*line-height: min(2vw, 1.5rem);*/
    margin: 0;
    top: 0px;
    width: 100%;
    padding: 0.2rem 0;
    text-align: center;
    color: white;
    background-color: rgba(0, 9, 56, 0.6);
}

.borrowBar p {
    font-size: 150%;
    font-family: monospace;
    text-shadow: -1px -1px 0 #000, 0px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 0px 1px 0 #000, 1px 1px 0 #000;
}

.skill-bar {
    bottom: 22%;
    width: fit-content;
    padding-left: 2%;
    padding-right: 1%;
}

.gear-bar {
    bottom: 22%;
    width: fit-content;
    right: 0px;
    padding-right: 2%;
    padding-left: 1%;
}

.level-bar {
    top: 5%;
    width: fit-content;
    right: 0px;
    padding-right: 2%;
    padding-left: 1%;
}

.info-bar {
    background-color: #000000e8;
    filter: invert(1);
    color: white;
    text-align: center;
    position: absolute;
    z-index: 1;
}

.info-display {
    font-size: 120%;
    font-family: monospace;
    text-shadow: -1px -1px 0 #000, 0px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 0px 1px 0 #000, 1px 1px 0 #000;
}

.modal {
    z-index: 5;
    padding-top: 100px;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    display: block;
    visibility: hidden;
    background-color: rgba(39, 39, 39, 0.705);
}

.modal-content-wrapper {
    /*width: 80%;*/
    max-width: 1200px;
    margin: auto;
    background-color: #fff;
    border-radius: 27px;
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
}

#character-modal-wrapper {
    position: relative;
}

.modal-content-border {
    padding-left: 2%;
}

.modal-content-wrapper .charBox {
    width: fit-content;
    min-width: 60px;
    max-width: 160px;
    margin: 0;
    border-radius: 15%;
    overflow: hidden;
    cursor: default;
    padding: 10px 5px 5px 10px;

    /*border: solid white;*/
    /*border-width: 0.3rem;*/
    /*margin-right: 2%;*/
    /*transition: all 0.5s;*/
}

.modal-content-wrapper::-webkit-scrollbar, .scrollbar-styling::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

.modal-content-wrapper::-webkit-scrollbar-track, .scrollbar-styling::-webkit-scrollbar-track {
    background-color: transparent;
}

.modal-content-wrapper::-webkit-scrollbar-thumb, .scrollbar-styling::-webkit-scrollbar-thumb {
    background-color: rgb(54, 54, 54);
    border-radius: 10px;
}

.dark-theme .modal-content-wrapper::-webkit-scrollbar-thumb, .dark-theme .scrollbar-styling::-webkit-scrollbar-thumb {
    background-color: white;
}

#eleph-section .modal-content-section {
    margin-inline: auto;
}

.modal-content-section {
    /* padding-left: 1%; */
    padding-top: 1%;
    justify-content: center;
    /* margin: auto; */
}

.modal-content-section p {
    font-size: 1em;
    font-family: sans-serif;
}

.modal-section-wrapper {
    display: flex;
    flex-wrap: wrap;
    min-width: 700px;
    width: 60%;
}

.content-section-wrapper {
    display: flex;
    border-radius: 15px;
    background-color: #e6e6ff91;
    box-shadow: 3px 3px #bbbbbb;
}

#other-resource-wrapper {
    /*min-width: 250px;*/
    width: 30%;
    padding-top: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.section-label {
    padding: 0px 15px;
    display: flex;
    align-items: center;
}

.section-label p {
    padding: 20px 15px;
    backdrop-filter: brightness(0.95);
    background-color: #dbdbf1;
    border-radius: 15px;
    overflow: hidden;
}

.section-label p:hover {
    background-color: #cfcfe6;
}

.sub-skill {
    padding: 0px 2%;
    text-align: center;
}

.sub-gear {
    padding: 0px 2%;
    text-align: center;
}

.two_digit_input {
    width: 30px;
}

.star-icon {
    max-width: 30px;
    max-height: 30px;
    width: 1.5em;
    height: 1.5em;
    cursor: pointer;
}

.star-icon:hover {
    opacity: 0.5;
}

.footer-wrapper {
    position: fixed;
    bottom: 0;
    width: 100%;
    z-index: 1;
}

.footer-resource {
    margin-left: auto;
    margin-right: auto;
    position: static;
    display: flex;
    flex-wrap: wrap;
    bottom: 0;
    width: 75%;
    max-width: 1200px;
    min-height: 50px;
    background-color: #282a35;
    color: white;
    align-items: center;
    justify-content: center;
}

.footer-buttons-wrapper {
    display: flex;
    left: 25%;
    bottom: 0;
    width: 50%;
    min-width: fit-content;
    min-height: 50px;
    color: white;
    align-items: stretch;
    justify-content: center;
}

.footer-button a {
    color: white;
}

.footer-button a:hover {
    color: rgb(186, 186, 186);
}

.footer-button {
    cursor: pointer;
    margin-right: 1%;
    padding-right: 0.5em;
    padding-left: 0.5em;
    white-space: nowrap;
    align-items: center;
    display: flex;
}

.footer-button p {
    font-size: min(max(16px, 2vh), 30px);
}

.footer-button:hover {
    background-color: black;
}

.footer-button img {
    max-width: 40px;
    max-height: 40px;
    padding-right: 5px;
}

#content-5, #bulk-content-5 {
    margin-left: 2em;
}

#content-8, #bulk-content-8 {
    margin-left: 2em;
}

#content-10, #bulk-content-10 {
    margin-left: 1em;
}

#resourceModal .modal-content-wrapper {
    max-height: 85%;
    overflow: auto;
}

#resourceModal .modal-section-wrapper {
    min-width: 810px;
}

.resource-icon {
    max-width: 60px;
    max-height: 60px;
    width: 60px;
    height: 47px;
}

.gear-icon {
    max-width: 75px;
    max-height: 75px;
    width: 75px;
}

.artifact-icon {
    max-width: 60px;
    max-height: 60px;
}

.resource-table {
    border-spacing: 0;
}

.resource-table tr td {
    position: relative;
    font-family: sans-serif;
}

#school-mat-table tr td {
    padding-left: 5px;
    padding-right: 5.65px;
}

.resource-count-text,
.gear-count-text,
.resource-display-text,
.ue-count-text {
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    font-size: 25px;
    font-weight: bold;
    font-family: sans-serif;
    text-shadow: -1px -1px 0 #ffffff,
        0px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        0px 1px 0 #fff,
        1px 1px 0 #fff;
    padding-bottom: 1px;
    padding-top: 1px;
}

div.editable .resource-count-text,
div.editable .gear-count-text,
div.editable .resource-display-text {
    font-size: 20px;
}

.resource-table tr td.editable:hover p {
    visibility: hidden;
}

.resource-table tr td.editable.focused p {
    visibility: hidden;
}

div.editable:hover p {
    visibility: hidden;
}

.resource-input {
    visibility: hidden;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    height: 50%;
    text-align: center;
}

.resource-input.focused {
    visibility: visible;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 70%;
    height: 50%;
    text-align: center;
}

div.editable .resource-input {
    width: 80%;
}

div.editable .resource-input.focused {
    width: 80%;
}

.resource-table tr td.editable:hover .resource-input {
    visibility: visible;
}

div.editable:hover .resource-input {
    visibility: visible;
}

.empty-resource {
    opacity: 0.2;
}

.empty-resource.focused {
    opacity: 1;
}

td.editable.empty-resource:hover {
    opacity: 1;
}

div.editable.empty-resource:hover {
    opacity: 1;
}

.xp-wrapper {
    position: relative;
}



.resource-box .xp-icon {
    max-width: 60px;
}

.resource-box {
    display: flex;
    border: 1px solid grey;
    width: 90%;
    max-width: 250px;
    height: 62px;
    margin-bottom: 10px;
    justify-content: center;
    position: relative;
}

.resource-box img {
    max-width: 80px;
    max-height: 80px;
    height: fit-content;
    align-self: center;
}

.resource-modal-button {
    min-width: 150px;
    min-height: 50px;
    margin-right: 40px;
    font-size: 1.125em;
}

.resource-modal-button:hover {
    filter: brightness(0.8);
}

#cancel-button-resource, #bulk-cancel-button-resource {
    background-color: #dd33334f;
}

#save-button-resource, #bulk-save-button-resource {
    background-color: #42a4f84d;
}

.dark-theme #cancel-button-resource, .dark-theme #bulk-cancel-button-resource {
    color: #efefef;
}

.dark-theme #save-button-resource, .dark-theme #bulk-save-button-resource {
    color: #efefef;
}

.button-switch-display,
#gear-switch-display,
.modal-button {
    width: 100%;
    font-size: 1.5em;
    font-family: monospace;
}

.button-switch-display:hover,
#gear-switch-display:hover,
.modal-button:hover {
    filter: brightness(0.90);
}

.input-wrapper {
    position: relative;
    display: none;
}

.input-wrapper.focused {
    position: relative;
    display: block;
}

div.resource-box.editable:hover div.input-wrapper {
    display: block;
}

div.resource-box.editable:hover p {
    display: none;
}

div.resource-box.editable.focused p {
    display: none;
}

.action-icon {
    max-width: 50px;
    opacity: 0.5;
}

.action-icon:hover {
    opacity: 1;
}

.misc-resource,
.misc-gear,
.no-input {
    font-size: 1.5em;
}

.char-resource-img {
    max-width: 100px;
}

.char-resource-wrapper {
    position: relative;
    width: fit-content;
    height: fit-content;
    background-size: 100px;
    background-repeat: no-repeat;
}

.char-resource-wrapper.char-resource-rarity-4, .drop-resource-rarity-4 {
    background-image: url(../icons/Misc/background_ssr.png);
}

.char-resource-wrapper.char-resource-rarity-3, .drop-resource-rarity-3 {
    background-image: url(../icons/Misc/background_sr.png);
}

.char-resource-wrapper.char-resource-rarity-2, .drop-resource-rarity-2 {
    background-image: url(../icons/Misc/background_r.png);
}

.char-resource-wrapper.char-resource-rarity-1, .drop-resource-rarity-1 {
    background-image: url(../icons/Misc/background_n.png);
}

.char-mats-wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    flex-direction: row-reverse;
}

.char-schoolmats-wrapper {
    display: flex;
    justify-content: center;
}

.char-artifacts-wrapper {
    display: flex;
    justify-content: center;
}

.char-miscresource-wrapper {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

div.char-misc-box .char-misc-text {
    font-size: 1.5em;
    font-family: sans-serif;
}

div.char-resource-wrapper .resource-count-text,
div.char-resource-wrapper .gear-count-text,
div.char-resource-wrapper .resource-display-text {
    top: 50%;
    left: 50%;
    position: absolute;
    transform: translate(-50%, -50%);
    font-size: 25px;
    font-weight: bold;
    font-family: sans-serif;
    text-shadow: -1px -1px 0 #ffffff,
        0px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        0px 1px 0 #fff,
        1px 1px 0 #fff;
    padding-bottom: 1px;
    padding-top: 1px;
}

.char-misc-box {
    display: flex;
    max-width: 250px;
    background-color: #f3f3f3;
    border-radius: 15px;
    padding-right: 10px;
    margin-right: 20px;
    box-shadow: 3px 3px #bbbbbb;
    margin-bottom: 20px;
}

.char-misc-box img {
    max-width: 80px;
    max-height: 80px;
    align-self: center;
}

#char-resource-section,
#eleph-section {
    border-top: 2px solid gainsboro;
    margin-top: 20px;
    padding-top: 10px;
}

.gear-display {
    height: 50px;
    -webkit-filter: drop-shadow(2px 1px 0 white) drop-shadow(-1px -1px 0 white);
    filter: drop-shadow(2px 1px 0 white) drop-shadow(-1px -1px 0 white);
}

.skill-img {
    height: 50px;
    -webkit-filter: invert(1);
    filter: invert(1);
}

.terrain-icon {
    width: 50px;
    background-color: #212020b5;
}

.mood-icon {
    width: 50px;
}

.mood-wrapper {
    width: 50px;
    margin-right: 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mood-wrapper p {
    white-space: nowrap;
}

.char-info-text {
    width: fit-content;
    padding: 5px;
    margin-bottom: 0.3em;
}

.char-heart-container {
    position: absolute;
    top: 20%;
    left: -6%;
    width: 30%;
}

.char-heart-container img {
    width: 100%;
}

.char-heart-container p {
    position: absolute;
    padding-top: 1px;
    padding-bottom: 1px;
    top: 50%;
    left: 50%;
    text-shadow: -1px -1px 0 #ffffff,
        0px -1px 0 #fff,
        1px -1px 0 #fff,
        -1px 1px 0 #fff,
        0px 1px 0 #fff,
        1px 1px 0 #fff;
}

#charsContainerActions {
    min-height: 6vh;
    display: flex;
    flex-wrap: wrap;
}

.filtered-out {
    display: none !important;
}

.char-action-label {
    align-self: center;
    font-size: 1.75em;
    margin-left: 10px;
}

label.char-action-label.toggle-open::before {
    content: ' ';
    display: inline-block;
    border-left: 7px solid transparent;
    border-right: 7px solid transparent;
    border-top: 7px solid #fff;
    padding-bottom: 5px;
}

label.char-action-label.toggle-closed::before {
    content: ' ';
    display: inline-block;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
    border-left: 7px solid #fff;
    margin-right: 7px;
}

.charEditorButton {
    height: 5vh;
    width: 150px;
    margin: 10px;
    font-size: 1.25em;
}

#filter-groups {
    height: 5vh;
    width: 200px;
    font-size: 1.5em;
    margin: 10px;
    background-color: white;
}

#teamEditorActions {
    min-height: 6vh;
    display: flex;
    flex-wrap: wrap;
}

#select-groups {
    height: 5vh;
    width: 200px;
    font-size: 1.5em;
    margin: 10px;
    background-color: white;
}

.teamEditorButton {
    height: 5vh;
    width: 150px;
    margin: 10px;
    font-size: 1.25em;
}

.team-wrapper {
    display: flex;
    margin-left: 10px;
    margin-right: 10px;
    margin-top: 40px;
}

.team-slot {
    margin-inline: 7px;
}

.team-label {
    position: absolute;
    font-size: 2em;
    transform: translate(0, -40px);
}

.team-label:hover {
    background-color: #e5ecff;
}

.striker-wrapper {
    display: flex;
}

.special-wrapper {
    display: flex;
}

.team-slot .charBox {
    width: 100%;
}

.team-slot-add {
    filter: opacity(0.2);
}

#teamsContainer {
    background-color: rgb(196, 205, 228);
    padding-top: 40px;
    width: fit-content;
}

#team1 {
    margin-top: 0;
}

#teamsContainer.move-mode .team-slot-add:hover {
    filter: none;
}

#teamsContainer.remove-mode .teams-display-char:hover {
    filter: opacity(0.5);
}

.ue-icon {
    max-width: 80px;
    max-height: 80px;
}

.eleph-icon {
    max-height: 55px;
    padding: 10px 0;
}

.checkbox-input {
    width: 20px;
    height: 20px;
    margin-right: 10px;
    filter: grayscale(1);
}

.server-toggle {
    background-color: gainsboro;
    padding: 5px;
    border-radius: 10px
}

.server-toggle:hover {
    background-color: #b5b5b5;
}

.label-current, .label-target, #label-star, #label-bond, #label-skills, #label-owned, #label-gear, #label-char-unlocked,
#label-school, #label-attack-type, #label-defense-type, #label-skill-ex, #label-skill-basic, #label-skill-enhanced, #label-skill-sub {
    white-space: nowrap;
}

.transfer-modal-button {
    max-width: 150px;
    width: 40%;
    min-height: 50px;
    position: absolute;
    font-size: 1.5em;
}

.transfer-modal-button:hover {
    filter: brightness(0.8);
}

.transfer-modal-button:disabled {
    filter: grayscale(1);
}

.show-mat-chars {
    position: absolute;
    background-color: #e7e7e7f5;
    padding: 5px;
    border-radius: 15px;
    z-index: 10;
    height: fit-content;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 450px;
    max-height: 50vh;
    overflow-y: auto;
    outline: solid black 4px;
    margin-right: 10px;
}

.show-mat-chars img {
    width: 50px;
    border-radius: 100%;
    padding-right: 5px;
}

.char-row-mats {
    display: flex;
    align-items: center;
    width: fit-content;
    max-width: 150px;
    padding-right: 5px;
}

.show-stage-runs {
    top: 100px;
    position: absolute;
    background-color: #e7e7e7f5;
    padding: 5px;
    border-radius: 15px;
    z-index: 10;
    /* height: fit-content;
    display: flex;
    flex-wrap: wrap; */
    flex-direction: column;
    justify-content: center;
    max-width: 400px;
    outline: solid black 4px;
    margin-right: 10px;
    padding: 20px;
    max-height: 500px;
    overflow-y: auto;
}

.stage-run {
    display: flex;
}

.stage-run-name {
    margin-right: 30px;
    white-space: pre;
}

.stage-disclaimer {
    margin-bottom: 20px;
    max-width: 130px;
}

#ap-display-wrapper:hover {
    filter: drop-shadow(2px 4px 6px black);
}

#popup-screenshot {
    position: relative;
    top: 6%;
    z-index: 12;
    width: fit-content;
    text-align: center;
    margin: auto;
}

#popup-screenshot canvas {
    max-width: 90vw;
    width: auto !important;
    max-height: 90vh;
    height: auto !important;
}

#background-blur {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: fixed;
    background-color: white;
    filter: opacity(0.5) blur(100px);
}

#text-creating-image {
    background-color: white;
    text-align: center;
    position: relative;
    top: 50%;
    font-size: 2em;
    margin: auto;
    z-index: 12;
    width: fit-content;
}

.dark-theme .transfer-modal-button {
    color: white;
}

.transfer-modal-input {
    min-height: 50px;
    text-align: center;
    font-family: monospace;
    background-color: white;
}

.transfer-modal-button-wrapper {
    width: 100%; 
    position: relative; 
    min-height: 70px;
}

.transfer-modal-input-wrapper {
    width: 100%;
    text-align: center;
    padding-top: 20px;
    font-size: 2em;
}

#charsSelectContainer {
    display: flex;
    flex-wrap: wrap;
}

.multiSelectChar {
    max-width: 100px;
    min-width: 50px;
    width: 10%;
    border-radius: 20px;
    overflow: hidden;
    margin: 10px;
    position: relative;
}

.multi-char-img {
    height: 100%;
    width: 100%;
}

.charBox.multiSelected:before {
    top: 20%;
}

.multiSelected:before {
    content: '✔';
    position: absolute;
    font-size: 4em;
    color: white;
    height: 100%;
    width: 100%;
    z-index: 1;
    text-align: center;
}

.multiSelected img {
    filter: brightness(0.3);
}

#multiCharSearch {
    height: 50px;
    margin: 10px;
    text-align: center;
    width: 200px;
    font-size: 1.25em;
}

.multiCharButton {
    height: 4vh;
    width: 150px;
    margin: 10px;
    font-size: 1.25em;
}

.draggable-mirror {
    z-index: 1;
}

.tippy-content {
    font-family: monospace;
}

#button-save-image {
    position: fixed;
    left: 50%;
    bottom: 10%;
    margin-left: -45px;
    font-size: 2em;
    z-index: 13;
    visibility: hidden;
}

.dark-theme.background {
    background-color: rgb(36 36 36);
}

.dark-theme .mainContainer {
    background-color: rgb(47 47 47);
}

.dark-theme #teamsContainer {
    background-color: rgb(47 47 47);
}

.dark-theme .charBox {
    filter: brightness(0.8);
}

.dark-theme .deselected {
    filter: brightness(0.3) grayscale(0.7);
}

.dark-theme .modal-content-wrapper {
    background-color: #3d3d3d;
    color: #efefef;
    border: solid 3px white;
}

.dark-theme .content-section-wrapper {
    background-color: #323234;
}

.dark-theme .char-resource-wrapper {
    color: black;
}

.dark-theme .two_digit_input {
    background-color: dimgray;
    color: white;
}

.dark-theme .char-mats-wrapper {
    filter: brightness(0.8);
}

.dark-theme .char-misc-box {
    background-color: #535353;
}

.dark-theme .resource-count-text,
.dark-theme .gear-count-text,
.dark-theme .resource-display-text,
.dark-theme .ue-count-text {
    color: black;
}

.dark-theme .resource-table td {
    filter: brightness(0.8);
}

/* .dark-theme .modal-content-section p {
    filter: brightness(0.8);
} */

.dark-theme div.char-resource-wrapper .resource-count-text,
.dark-theme div.char-resource-wrapper .gear-count-text,
.dark-theme div.char-resource-wrapper .resource-display-text {
    filter: none;
}

.dark-theme .section-label p {
    background-color: #323234;
}

.dark-theme .section-label p:hover {
    background-color: #28282b;
}

.dark-theme #star-current-container,
.dark-theme #star-target-container,
.dark-theme #ue-current-container,
.dark-theme #ue-target-container {
    filter: brightness(0.8);
}

.dark-theme .skill-img {
    -webkit-filter: none;
    filter: none;
}

.dark-theme .charBox.team-slot-add {
    filter: opacity(0.4);
}

.dark-theme .team-label {
    color: #efefef;
}

.dark-theme .team-label:hover {
    background-color: #5e5e5e;
}

.dark-theme label {
    color: #efefef;
}

.dark-theme .server-toggle {
    background-color: #00000047;
}

.dark-theme .server-toggle:hover {
    background-color: black;
}

.dark-theme .show-mat-chars, .dark-theme .show-stage-runs {
    background-color: #000000d1;
    color: #efefef;
    outline-color: white;
}

#theme-button {
    filter: invert(1);
    max-width: 40px;
    margin-right: 100px;
    cursor: pointer;
}

#hamburger {
    filter: invert(1);
    max-width: 20px;
    display: none;
}

#mobile-links-wrapper {
    display: none;
}

.changelog-section {
    background-color: rgb(196, 205, 228);
    padding-left: 15px;
    max-width: 1100px;
}

.changelog-section h3 {
    padding-left: 20px;
}

.changelog-section p {
    padding-left: 20px;
}

.changelog-section ul {
    padding-left: 60px;
    padding-right: 60px;
}

.changelog-section ul li {
    font-size: 1.25em;
}

.changelog-section ul li:not(:last-child) {
    margin-bottom: 5px;
}


/* Chrome, Safari, Edge, Opera */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

/* Firefox */
input[type=number] {
    -moz-appearance: textfield;
}

div#viewFilters {
    background-color: #282a35;
    vertical-align: middle;
    height: fit-content;
    z-index: 10;
}

div.filter-view-group {
    text-align: left;
    padding-top: 10px;
}

label.filter-group-header {
    font-size: 24px;
    color: #efefef;
}

div.filter-option-container {
    display: flex;
    flex-wrap: wrap;
}

label.filter-option-item {
    margin-left: 10px;
    height: 30px;
    min-width: 50px;
    padding: 3px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #efefef;
}

label.filter-option-item[ischecked="true"] {
    background-color: #626576;
}

/* label.filter-option-item[checked="true"] {
    background-color: white;
} */
input.filter-option {
    display: none;
    /* transform: scale(2); */
    /* height: 20px; */
}

#button-filters-close {
    display: none;
}

#ue-table tr td:last-child {
    padding-right: 0.5em;
}

#ue-table {
    padding-bottom: 1em;
}

#ue-table tr th {
    height: 40px;
}

#ue-needed-table tr th {
    height: 40px;
    width: 100px;
}

#ue-needed-table {
    text-align: center;
}

#table-parent-5,
#table-parent-6 {
    width: 50%;
}

#artifact-table-2 tr:first-child td:first-child {
    padding-right: 1.5em;
}

#languages {
    height: 4vh;
    width: 200px;
    font-size: 1.5em;
    text-align: center;
    margin-right: 10px;
    background-color: transparent;
    border-color: transparent;
    color: whitesmoke;
}

#languages option {
    color: black;
}

.nav-right {
    display: flex;
    margin-left: auto;
    margin-right: 15px;
}

#control-panel {
    position: fixed;
    z-index: 4;
    width: 300px;
    width: 20em;
    height: 400px;
    height: 25em;
    background-color: #7b7b8df0;
    bottom: 100px;
    left: 0;
    border-radius: 20px;

    -moz-user-select: -moz-none;
    -khtml-user-select: none;
    -webkit-user-select: none;
    -o-user-select: none;
    user-select: none;
}

#control-panel-header {
    text-align: center;
    color: white;
    /* font-size: 1.5em; */
    background-color: #a2a2b3e0;
    border-radius: 20px 20px 0 0;
    display: flex;
    font-size: 2em;
}

.control-panel-button {
    width: 4em;
    height: 4em;
    filter: invert(1);
    padding: 0.5em;
    margin: 0.5em;
    background-color: #0000004a;
    border-radius: 1em;
}

.control-panel-button:hover {
    filter: invert(1) brightness(0.8);
}

.control-panel-button.selected {
    outline: black 0.2em solid;
}

.control-panel-button.disabled {
    filter: invert(1) brightness(0.3);
}

.panel-size-button:hover {
    background-color: #00000047;
}

#control-panel.docked {
    font-size: 0.6em !important;
    left: 0px;
    bottom: 50px;
    width: 7em;
    height: fit-content;
    scale: unset;
}

.docked #control-panel-header {
    display: none;
}

#control-panel-shortcut-info {
    text-align: center;
    color: white;
    font-size: 2em;
}

#control-panel-buttons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.control-panel-button-label {
    position: absolute;
    bottom: 0;
    right: 0;
    color: white;
    font-size: 3em;
    font-family: monospace;
    text-shadow: -1px -1px 0 #000, 0px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 0px 1px 0 #000, 1px 1px 0 #000;
}

.control-panel-button-wrapper {
    position: relative;
}

#character-size-label {
    align-self: center;
    padding-inline: 0.3em;
    font-size: 1.5em;
}

.april-fools-char-cover {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #000000bf;
    top: 0;
    border-radius: 10%;
    scale: 1.14;
    z-index: 9;
}

.april-fools-main-display-char {
    position: absolute;
    width: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    filter: invert(1);
}

.april-fools-button {
    background-image: url(../icons/UI/unlock-solid.svg);
    background-repeat: no-repeat;
    background-position: center;
    filter: invert(1);
}

#april-pyroxene-popup {
    position: fixed;
    width: 650px;
    height: 320px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    z-index: 20;
}

#april-close-button {
    position: absolute;
    left: 0.6em;
    font-size: 2em;
    font-weight: bold;
}

#april-close-button:hover {
    filter: invert(0.5);
}

#april-help-button {
    position: absolute;
    bottom: 1em;
    right: 1em;
}

#april-pyroxene-bar {
    display: flex;
    right: 1em;
    position: absolute;
}

#april-pyroxene-bar img {
    width: 4em;
    height: 3.2em;
}

#april-pyroxene-count {
    font-size: 1.5em;
    align-self: center;
    margin-right: 1em;
}

#april-pyroxene-count.nopyros {
    color: red;
    font-weight: bold;
    scale: 2;
}

#april-plus {
    font-size: 2.5em;
    color: #00aaff;
    font-weight: bold;
}

#buy-packs {
    margin-top: 50px;
    margin-left: 10px;
}

#buy-packs img {
    width: 31%;
    margin-inline: 0.8%
}

#buy-packs img:hover {
    filter: brightness(0.8);
}

.newstudent {
    outline: yellow solid 0.6em;
}

#buy-packs img.disabled {
    filter: brightness(0.5);
}

#spend-pyros {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    font-size: 2em;
}

#purchase-message {
    white-space: nowrap;
}

#april-button-yes {
    font-size: 1em;
    margin-right: 2em;
    width: 2.5em;
}

#april-button-no {
    font-size: 1em;
    width: 2.5em;
}

#april-button-container {
    text-align: center;
}

#april-char-pulls {
    margin-top: 50px;
    margin-left: 20px;
    margin-right: 15px;
}

#april-char-pulls img {
    width: 16%;
    margin-inline: 1.7%
}

#pull-buttons {
    text-align: center;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    bottom: 10px;
}

#pull-120 {
    font-size: 1.5em;
    width: 4em;
    margin-right: 2em;
}

#pull-1200 {
    font-size: 1.5em;
    width: 4em;
}

#sort-popup {
    position: fixed;
    z-index: 5;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(39, 39, 39, 0.705);
    color: white;
}

#sort-popup-wrapper {
    background-color: rgb(65 65 65);
    padding: 1em;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.order-display {
    display: flex;
    align-items: center;
}

.order-display img {
    height: 1.5em;
}

.order-display div {
    margin-inline: 0.3em;
    color: white;
}

.order-display-container {
    border-radius: 10px;
    padding: 0.3em;
}

.order-display-container:hover {
    background-color: #ffffff59;
}

#character-left-button, #character-right-button {
    width: 2em;
    position: absolute;
    filter: invert(1);
    bottom: 1em;
}

#character-left-button:hover, #character-right-button:hover {
    filter: invert(0.7);
}

#character-left-button {
    left: 1em;
}

#character-right-button {
    right: 1em;
}

@media (max-width: 1280px) {

    .charBoxwrap img {
        width: 100%;
        height: unset;
    }

    #other-resource-wrapper {
        flex-direction: row;
        flex-wrap: wrap;
        width: 100%;
    }

    .resource-box {
        width: 31%;
        max-width: 300px;
        margin-left: 10px;
    }

    .modal-section-wrapper {
        width: auto !important;
    }

    .modal-section-wrapper.gear-section {
        width: 100% !important;
    }

    #table-parent-1 {
        width: 100%;
    }

    #school-mat-table {
        margin: auto;
    }

    #gear-table {
        margin: auto;
    }

    #table-parent-2 {
        width: 50%;
    }

    #table-parent-5,
    #table-parent-6 {
        width: 100%;
    }

    #table-parent-5 .resource-table,
    #table-parent-6 .resource-table {
        width: 100%;
    }

    #artifact-table-1 {
        margin-left: auto;
        margin-right: -2px;
    }

    #artifact-table-2 {
        padding-left: 2px;
    }

    #table-parent-3 {
        width: 50%;
    }

    #resourceModal div.modal-content-wrapper {
        flex-direction: column;
        flex-wrap: nowrap;
    }

    .logo {
        display: none;
    }

    .nav-list {
        margin-left: 0;
        display: none;
    }

    #theme-button {
        margin-right: 0;
        max-width: 20px;
    }

    #hamburger {
        display: block;
        margin-left: 15px;
    }

    .mobile-links li a {
        padding: 14px 16px;
        text-decoration: none;
        display: block;
        background-color: #35394c;
        color: white;
    }

    .mobile-links li a.active {
        background-color: #454858;
        color: rgb(250, 250, 135);
    }

    #mobile-links-wrapper {
        position: fixed;
        width: 100%;
        z-index: 12;
    }

    #languages {
        font-size: 1em;
    }
}

@media (max-width: 800px) {

    .charBox {
        width: calc(70vw / 3);
        max-width: 150px;
        min-width: 27%;
        margin: 0.5rem;
    }

    .charBoxwrap img {
        width: 100%;
        height: unset;
    }

    .team-wrapper .charBox:first-child {
        margin-left: 0;
    }

    .borrowBar p {
        font-size: 0.75em;
    }

    .team-wrapper .char-heart-container p {
        font-size: 0.6em;
    }

    .team-wrapper .info-bar {
        font-size: 0.55em;
    }

    .team-wrapper .nameBar {
        font-size: 0.5em;
    }

    .info-bar,
    .nameBar,
    .char-heart-container p {
        font-size: 0.75em;
    }

    .striker-wrapper {
        width: 100%;
    }

    .special-wrapper {
        width: 50%;
    }

    .team-wrapper {
        flex-wrap: wrap;
        justify-content: center;
    }

    .resource-box {
        width: 29%;
        font-size: 0.5em;
        height: 30px;
    }

    .resource-box img {
        max-width: 40px;
        max-height: 40px;
    }

    .resource-box img.xp-icon {
        width: 100%;
    }

    .resource-table tr td:first-child {
        font-size: 10px;
        min-width: 60px;
        padding-left: 4px !important;
    }

    .resource-icon {
        width: 100%;
        height: unset;
    }

    .gear-icon {
        width: 100%;
    }

    .ue-icon {
        width: 100%;
    }

    #gear-table {
        padding-top: 1em;
    }

    #gear-table tr td:last-child {
        padding-right: 0.5em;
    }

    #ue-table p {
        font-size: 0.75em;
    }

    #ue-table tr td:first-child {
        min-width: 30px;
    }

    #table-parent-5,
    #table-parent-6 {
        width: 100%;
    }

    #ue-needed-table {
        font-size: 0.75em;
    }

    #ue-table th {
        font-size: 0.75em;
    }

    .resource-count-text {
        font-size: 0.75em;
    }

    .gear-count-text {
        font-size: 0.9em;
    }

    .ue-count-text {
        font-size: 1.2em;
    }

    div.editable .resource-count-text,
    div.editable .gear-count-text {
        font-size: 1em;
    }

    #school-mat-table,
    #artifact-table-1,
    #artifact-table-2 {
        margin: 0;
        padding: 0;
    }

    .modal-section-wrapper {
        min-width: 0 !important;
    }

    .resource-table {
        width: 100%;
    }

    .resource-table tr td {
        text-align: center;
    }

    #content-1,
    #content-2 {
        width: 25% !important;
        font-size: 0.75em;
        min-width: 0 !important;
    }

    #content-3 {
        width: 25% !important;
        font-size: 0.75em;
        min-width: 0 !important;
    }

    #content-4 {
        width: 55% !important;
        font-size: 0.75em;
        min-width: 0 !important;
    }

    .terrain-icon,
    .mood-icon {
        width: 35px;
    }

    #content-5, #bulk-content-5 {
        /* width: 40% !important; */
        font-size: 0.75em;
        min-width: 0 !important;
        margin-top: 10px;
        flex-basis: fit-content;
        margin-left: 2em;
    }

    #content-6, #bulk-content-6 {
        /* width: 95% !important; */
        font-size: 0.75em;
        min-width: 0 !important;
        margin-top: 10px;
        flex-basis: fit-content;
        margin-left: 2em;
    }

    #content-7 {
        width: 48% !important;
        font-size: 0.75em;
        min-width: 0 !important;
        margin-top: 10px;
    }

    #content-8, #bulk-content-8 {
        width: 40% !important;
        font-size: 0.75em;
        min-width: 0 !important;
        margin-top: 10px;
    }

    #content-9, #bulk-content-9 {
        /* width: 90% !important; */
        font-size: 0.75em;
        min-width: 0 !important;
        flex-basis: fit-content;
        margin-left: 2em;
    }

    .skill-img {
        height: 40px;
    }

    #content-10, #bulk-content-10 {
        /* width: 85% !important; */
        font-size: 0.75em;
        min-width: 0 !important;
        flex-basis: fit-content;
        margin-left: 2em;
    }

    #content-11 {
        width: 41% !important;
        font-size: 0.75em;
        min-width: 0 !important;
        margin-bottom: 10px;
    }

    #content-12 {
        width: 46% !important;
        font-size: 0.75em;
        min-width: 0 !important;
        margin-bottom: 10px;
    }

    #content-13 {
        width: 45% !important;
        font-size: 0.75em;
        min-width: 0 !important;
        margin-bottom: 10px;
    }
    
    #content-14 {
        width: 42% !important;
        font-size: 0.75em;
        min-width: 0 !important;
        margin-bottom: 10px;
    }

    #content-15 {
        width: 53% !important;
        font-size: 0.75em;
        min-width: 0 !important;
        margin-bottom: 10px;
    }

    .gear-display {
        height: 40px;
    }

    .section-label {
        padding: 0px 8px;
    }

    .section-label p {
        padding: 15px 8px;
    }

    .char-resource-img {
        max-width: 40px;
        max-height: 40px;
    }

    .char-resource-wrapper {
        background-size: 40px;
    }

    .resource-display-text {
        font-size: 1em !important;
    }

    .char-misc-box img {
        max-width: 40px;
        max-height: 40px;
    }

    .char-misc-box {
        font-size: 0.75em;
        margin-bottom: 10px;
    }

    .char-miscresource-wrapper {
        flex-wrap: wrap;
    }

    .modal-content-wrapper .charBox {
        width: 22%;
        max-width: 90px;
    }

    .resource-modal-button {
        min-width: 130px;
        min-height: 35px;
        margin-right: 20px;
        font-size: 1em;
    }

    .nameBar p {
        font-size: 110%;
    }

    .nav-list li a {
        padding: 0.5em;
    }

    .footer-resource {
        width: 100%;
        min-height: 0;
    }

    .footer-button img {
        max-width: 25px;
        max-height: 25px;
    }

    .footer-buttons-wrapper {
        min-width: 0;
        min-height: 2em;
    }

    .footer-button p {
        font-size: 0.7em;
    }

    .modal {
        padding-top: 15%;
    }

    div#viewFilters {
        position: fixed;
        background-color: #282a35b5;
    }

    #button-filters-close {
        position: fixed;
        right: 10%;
        margin-top: 5%;
        font-size: 1.2em;
        padding: 3px;
        display: block;
    }

    label.filter-group-header {
        font-size: 1em;
    }

    label.filter-option-item {
        height: 1.5em;
        font-size: 0.8em;
    }

    div.filter-view-group {
        padding-top: 5px;
    }

    .changelog-section ul {
        padding-left: 30px;
        padding-right: 30px;
    }

    .changelog-section ul li {
        font-size: 1em;
    }

    #modeButton p {
        font-size: 1.5em;
    }

    .stage-disclaimer {
        font-size: 0.75em;
    }

    .show-mat-chars, .show-stage-runs {
        font-size: 0.8em;
        outline-width: 2px;
    }

    .show-stage-runs {
        max-height: 300px;
    }
    
    .show-mat-chars img {
        width: 25px;
    }

    #charsSelectContainer {
        justify-content: center;
    }

    .multiSelected:before {
        font-size: 2em;
    }

    #charsContainerActions {
        justify-content: center;
    }

    .charEditorButton {
        height: 5vh;
        width: 90px;
        margin: 5px;
        font-size: 0.75em;
    }

    #filter-groups {
        margin: 5px;
        font-size: 1.25em;
    }

    .teamEditorButton {
        height: 5vh;
        width: 90px;
        margin: 5px;
        font-size: 0.75em;
    }

    #select-groups {
        margin: 5px;
        font-size: 1.25em;
    }

    .action-icon {
        max-width: 30px;
        opacity: 0.5;
    }

    #image-style-button {
        max-height: 1.5em;
        align-self: center;
    }

    #artifact-table-2 tr:first-child td:first-child {
        padding-right: 0;
    }

    #button-save-image {
        visibility: visible;
    }

    .content-section-wrapper {
        min-width: 0;
    }

    .sub-skill:last-of-type {
        margin-right: 3em;
    }

    .sub-gear:last-of-type {
        margin-right: 2em;
    }

    #control-panel {
        scale: 0.6;
    }

    #control-panel.docked {
        font-size: 0.5em !important;
    }

    #control-panel-shortcut-info {
        display: none;
    }

    #charsContainer.docked {
        padding-right: 0;
        justify-content: right;
        padding-left: 2em;
    }

    .size-5 .charBox {
        min-width: 27%;
        font-size: 1.2em;
        width: 0;
    }
    
    .size-4 .charBox {
        min-width: 19%;
        font-size: 0.9em;
        width: 0;
    }
    
    .size-3 .charBox {
        min-width: 19%;
        font-size: 0.9em;
        width: 0;
    }
    
    .size-2 .charBox {
        min-width: 14%;
        font-size: 0.7em;
        width: 0;
    }
    
    .size-1 .charBox {
        min-width: 14%;
        font-size: 0.7em;
        width: 0;
    }

    #april-pyroxene-popup {
        scale: 0.45;
        left: -3%;
    }

    #character-left-button, #character-right-button {
        bottom: 0;
    }

    #save-button-resource {
        margin-left: 10px;
        margin-right: 10px;
    }

    #cancel-button-resource {
        margin-right: 10px;
        margin-left: 10px;
    }
}

@media (hover: hover) {

    label.filter-option-item:hover {
        background-color: #767ea1;
    }
}

/* fill styles */

.fill-layer {
    animation: fill 1s ease-in-out;
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: -1;
}

.unfill-layer {
    animation: unfill 1s ease-in-out;
    bottom: 0;
    left: 0;
    position: absolute;
    animation-fill-mode: forwards;
    right: 0;
    top: 0;
    z-index: -1;
}


@keyframes fill {
    0% {
        border-radius: 50%;
        transform: translateY(-150%) translateX(-150%) scale(2);
    }

    100% {
        border-radius: 50%;
        transform: scale(2);
    }
}

@keyframes unfill {
    0% {
        border-radius: 50%;
        transform: scale(2);
    }

    100% {
        border-radius: 50%;
        transform: translateY(-150%) translateX(-150%) scale(2);
    }
}

.animate-pop {
    animation-duration: 0.25s;
    animation-delay: calc(0.5s * var(--i));
    animation-name: animate-pop;
    animation-timing-function: cubic-bezier(.26, .53, .74, 1.48);
    animation-fill-mode: backwards;
}

@keyframes animate-pop {
    0% {
        opacity: 0;
        transform: scale(0.5, 0.5);
    }

    100% {
        opacity: 1;
        transform: scale(1, 1);
    }
}