
.ghost-slot {
  border: 2px dashed var(--white-3);
  border-radius: var(--border-radius);
  background-color: var(--hover-color);
  margin: 4px 0;
  pointer-events: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
  opacity: 0.7;
  transform: scaleY(0.90);
}

.noselect {
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
}

.draggable-grip {
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    display: flex;
    justify-content: start;
    text-align: center;
    align-items: center;
}

/* for when the grip needs to wrap more */

.draggable-grip-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.draggable-grip .grip-icon {
  cursor: grab;
  padding: .5em;
  margin: 0px;
  font-size: 1em;
  color: var(--white-3);
}

.draggable-grip .section-title {
  margin-left: 0;
}

/*
:light-mode {
    --shadow-color: #1C1C1E;
    --red-color: #FE494A;
    --blue-color: #3186FF;
    --green-color: #0EBC5F;
    --black-color: #1F1F1F;
    --header-color: var(--black-color);
    --white-color: white;
    --background-color: var(--white-color);
    --dark-text-color: var(--black-color);
    --light-text-color: var(--white-color);
    --points-font-size: 14px;
    --border-radius: 6px;

    --yellow-ability: #D7B21D;
    --gray-ability: #5A5E5A;
    --blue-ability: #055C72;
    --orange-ability: #DB571A;
    --red-ability: #A10000;
    --purple-ability:#642A8D;
    --black-ability: var(--black-color);
}
*/

:root {
    --shadow-color: rgb(0,0,0,0);
    --red-color: #fa7970;
    --blue-color: #a2d2fb;
    --green-color: #7ce38b;
    --white-color: #ecf2f8;

    --black-1: #0d1117;
    --black-2: #161b22;
    --black-3: #21262d;
    --black-4: #2c323b; /*menu background*/
    --white-1: #ecf2f8;
    --white-2: #c6cdd5;
    --white-3: #89929b;

    --max-width: 1000px;
    --ab-offensive: flaticon/001-sword.png;
    --ab-rallying: flaticon/002-flag.png;
    --ab-control: flaticon/003-circle.png;
    --ab-movement: flaticon/004-cursor.png;
    --ab-special: flaticon/005-star.png;
    --ab-shooting: flaticon/006-archery.png;
    --ab-defensive: flaticon/007-shield.png;
    --ab-damage: flaticon/008-skull.png;
    --right-arrow: flaticon/009-right-arrow.png;
    --search-icon: flaticon/010-loupe.png;
    --book-icon: flaticon/011-open-book.png;
    --left-arrow: flaticon/012-left-arrow.png;
    --gear-icon: flaticon/013-gear.png;
    --plus-icon: flaticon/014-plus-symbol-button.png;
    --minus-icon: flaticon/015-minus.png;
    --danger-icon: flaticon/016-danger.png;
    --check-icon: flaticon/017-check.png;
    --menu-icon: flaticon/018-dots.png;
    
    --background-color: #000;
    --header-color: var(--black-3);
    --header-font-color: var(--white-1);
    
    --input-background-color: var(--black-1);
    --input-font-color: var(--white-1);
    --input-hint-color: var(--white-3);
    
    --section-color: var(--black-2);
    --section-border-color: var(--black-1);
    --section-border-size: 0px;
    --section-font-color: var(--light-text-color);
    --selectable-item-color: var(--black-3);
    --selectable-item-font-color: var(--white-1);
    --selectable-item-alt-font-color: var(--white-3);
    --hover-color: var(--black-3);
    --disabled-color: var(--white-3);
    --label-font-color: var(--black-2);
    
    --regiment-item-backround-color: var(--section-color);
    --dark-text-color: var(--black-color);
    --light-text-color: var(--white-color);
    --slot-background-color: var(--hover-color);
    --points-font-size: 14px;
    --border-radius: 6px;

    /* ability colors */
/*
    --yellow-ability: #D7B21D;
    --gray-ability: #5A5E5A;
    --blue-ability: #055C72;
    --orange-ability: #DB571A;
    --red-ability: #A10000;
    --purple-ability:#642A8D;
    --green-ability: #2A7E10;
    --black-ability: #000000;
    --gray-ability-header-font-color: var(--black-1);
    --gray-invert-png: false;
    */
    --yellow-ability: #EDD171;
    --gray-ability: #737A82;
    --black-ability: #000000;
    --orange-ability: #faa356;
    --purple-ability:#cea5fb;
    --blue-ability: var(--blue-color);
    --red-ability: #E06D65;
    --green-ability: #6EC97B;
    --yellow-ability-header-font-color: var(--black-1);
    --yellow-invert-png: false;
    --green-ability-header-font-color: var(--black-1);
    --green-invert-png: false;
    --blue-ability-header-font-color: var(--black-1);
    --blue-invert-png: false;
    --red-ability-header-font-color: var(--black-1);
    --red-invert-png: false;
    --orange-ability-header-font-color: var(--black-1);
    --orange-invert-png: false;
    --purple-ability-header-font-color: var(--black-1);
    --purple-invert-png: false;
}

.invert-img {
  filter: invert(1);
}

.navigation-img {
    height: 20px;
    width: 20px;
}

.points-display {
    font-size: 14px;
}

body {
    font-family: system-ui,Avenir,Helvetica,Arial,sans-serif;
    margin: 0;
    padding: 0;
    overflow-y: scroll;
    overflow-x: hidden;
    background-color: var(--background-color);
}

body.no-scroll {
    overflow: hidden;
}

.clickable-style {
    box-shadow: 0 3px 6px rgba(0, 0, 0, .15);
    cursor: pointer;
}

header {
    position: fixed;
    top: 0;
    left: 0;
  
    background-color: var(--header-color);
    border-bottom: 1px solid var(--black-4);
    color: var(--header-font-color);
    text-align: center;
    width: 100%;
    height: 3em;
    z-index: 50;
    box-shadow: 0 2px 6px var(--shadow-color);
}

footer {
    position: fixed;

    background-color: var(--header-color);
    color: var(--header-font-color);
    height: 3em;
    text-align: center;
    z-index: 50;
    border-top: 1px solid var(--black-4);
    overflow: hidden;
/*
    border-radius: 2vb;
    width: 98%;
    bottom: .5%;
    left: 50%;
    transform: translateX(-50%);
*/
    width: 100%;
    bottom: 0;
    left: 0;
}

.footer-button {
    font-size: 10px;
    width: 8em;
    border: 1px;
    border-radius: 2vb;
    padding: 0px;
    margin: 0;
    margin-bottom: 1em;
    text-align: center;
    justify-content: center;
    cursor: pointer;
}

.fab {
  position: fixed;
  display: flex;
  justify-content: center;
  align-items: center;
  right: 2em;
  bottom: 5em;
  width: 2em;
  height: 2em;
  padding: 1em;
  background-color: var(--blue-color);
  color: var(--label-font-color);
  border-radius: 50%;
  cursor: pointer;
  z-index: 25;
}

.header-center,
.header-left,
.header-right {
    top: 0em;
}

.footer-left,
.footer-right {
    margin: 0;
    border: 0;
    padding: .5em;
    bottom: 0em;
}

.header-left,
.header-right,
.header-center {
    width: 10%;
    height: 3em;
    padding: 0px;
    margin: 0px;
    border: 0px;
    display: inline-block;
    z-index: 51;
}

.header-left {
    position: absolute;
    width: 20%;
    left: 0;
}

.header-right {
    position: absolute;
    align-content: center;
    right: 5%;
}

.footer-left {
    position: absolute;
    left: 20%;
}

.footer-right {
    position: absolute;
    right: 20%;
}

.header-center {
    width: 50%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.back-btn,
.search-button {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

.search-button img {
    width: 20px;
    height: 20px;
}

.add-unit-icon {
    width: 16px;
    height: 16px;
}

#army-header {
    font-size: 16px;
    line-height: 3em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.main {
    max-width: var(--max-width);
    margin-top: 3.5em;
    margin-bottom: 3.5em;
    margin-left: auto;
    margin-right: auto;
}

.main.main-extended { 
    margin-bottom: 10em;
}

.section {
    gap: 1rem;
    padding: .25rem;
    margin: .5rem;
    border: var(--section-border-size) solid var(--section-border-color);
    color: var(--section-font-color);
    border-radius: var(--border-radius);
    background-color: var(--section-color);
}

.section-container {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
  width: 100%;
}

.section-title {
    margin: .5em;
    color: var(--white-1);
}

.export-btn {
    cursor: pointer;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: none;
    color: var(--light-text-color);;
    border: none;
    border-radius: 50%;
    font-size: 1.5rem;
}

.export-btn {
    right: 1.5rem;
}

.rectangle-button-small {
    background-color: var(--blue-color);
    color: var(--label-font-color);
    border: none;
    padding: 0.6rem 0.9rem;
    border-radius: var(--border-radius);
    font-size: 1.2rem;
    cursor: pointer;
}

.rectangle-button {
    background-color: var(--blue-color);
    color: var(--label-font-color);
    border: none;
    padding: .75em;
    border-radius: var(--border-radius);
    cursor: pointer;
}

.add-unit-button,
.full-rectangle-button {
    background-color: var(--blue-color);
    color: var(--label-font-color);
    border: none;
    margin-top: 0.3rem;
    padding: 0.6rem 0.9rem;
    width: 100%;
    border-radius: var(--border-radius);
    font-size: 14px;
    cursor: pointer;
}

.add-unit-button {
    border: 2px dashed var(--blue-color);
    color: var(--blue-color);
    background-color: var(--black-3);
}

.rectangle-button-small {
    font-size: .8rem;
    padding: 0.4rem 0.6rem;
}

.fab:active,
#pointsOverlay:active,
.rectangle-button:active,
.full-rectangle-button:active,
.rectangle-button-small:active {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
  transform: translateY(2px);
}

#pointsOverlay {
    position: fixed;
    cursor: pointer;
    display: flex;
    justify-content: center;
    text-align: center;
    align-items: center;
    gap: .5em;
    bottom: 5em;
    left: 1.5em;
    color: var(--label-font-color);
    padding: .5em;
    border-radius: var(--border-radius);
    border: 2px solid var(--black-4);
    font-size: 1em;
    z-index: 25;
    background-color: var(--red-color);
}

#points-display-wrapper {
    display: block;
    border-left: 1px solid black;
    padding-left: .5em;
}

#points-display {
    display: block;
    padding: 0px;
    margin: 0px;
    text-align: center;
}

#the-word-points {
    display: block;
    width: fit-content;
    font-size: 12px;
}

#validation-icon-wrapper {
    padding: 0px;
    margin: 0px;
    height: 1.5em;
    width: 1.5em;
}

#validation-icon {
    width: 100%;
    height: 100%;
}

#pointsOverlay.points-overlay-invalid {
    background-color: var(--red-color);
}

#pointsOverlay.valid,
#pointsOverlay.points-overlay-valid {
    background-color: var(--green-color);
}

.loader {
  border: .5em solid var(--hover-color); /* Light gray */
  border-top: .5em solid var(--blue-color); /* Blue */
  border-radius: 50%;
  width: 2em;
  height: 2em;
  animation: spin 1s linear infinite;
  margin: .5m;
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.warmaster-label,
.wizard-label,
.enhanced-label,
.leader-label,
.ability-label,
.points-label,
.general-label,
.reinforced-label {
    position: relative;
    color: var(--label-font-color);
    border-radius: var(--border-radius);
    margin: 0px;
    margin-top: .5em;
    margin-right: .25em;
    padding: 2px 4px;
    font-size: 12px;
}

.points-label {
    margin-top: 0em;
    font-variant: small-caps;
    background-color: var(--red-color);
    display: inline-block;
}

.regiment-label {
    background:  none;
    color: var(--white-2);
}

.warmaster-label {
    background-color: var(--orange-ability);
    display: inline-block;
}

.enhanced-label,
.reinforced-label {
    background-color: var(--blue-ability);
}

.wizard-label {
    background-color: var(--purple-ability);
    display: inline-block;
}

.general-label {
    background-color: var(--green-ability);
}

.leader-label,
.ability-label {
    color: var(--black-2);
    background-color: var(--white-3);
    display: inline-block;
}

.not-added .ability-label {
    background-color: var(--section-color);
    color: var(--white-3);
}

.not-added .warmaster-label {
    background-color: var(--section-color);
    color: var(--orange-ability);
}

.not-added .wizard-label {
    background-color: var(--section-color);
    color: var(--purple-ability);
}

.ability-body {
    background-color: var(--section-color);
    margin: 0px;
    border: 0px;
    border-bottom-left-radius: var(--border-radius);
    border-bottom-right-radius: var(--border-radius);
    margin-top: .5em;
    padding-left: 1em;
    padding-right: 1em;
    padding-top: .5em;
    padding-bottom: .5em;
}

.melee-weapons-header,
.ability-header {  
    display: flex;
    align-items: center;

    color: var(--light-text-color);
    margin-left: 1em;
    margin-top: .5em;
}

img.ranged-weapons-header,
h4.ranged-weapons-header,
img.melee-weapons-header,
h4.melee-weapons-header {
    padding: 0;
    margin: 0;
}

.ranged-weapons-header,
.melee-weapons-header {
    margin-top: 0;
    border-top-left-radius: var(--border-radius);
    border-top-right-radius: var(--border-radius);
    padding-left: 1em;
    margin-left: 0;
    gap: .5em;
    height: fit-content;
    background-color: var(--black-1);
}

#ranged-weapons-section,
#melee-weapons-section {
    padding: 0px;
}

#rangedWeapons,
#meleeWeapons {
    padding-left: 1em;
    padding-right: 1em;
    padding-bottom: 1em;
}

#rangedWeapons h4,
#meleeWeapons h4 {
    padding-top: 0em;
    padding-bottom: 0em;
    margin-bottom: 0em;
    margin-top: .5em;
}

#rangedWeapons table,
#meleeWeapons table {
    padding-top: 0em;
    padding-bottom: 0em;
    margin-bottom: .5em;
    margin-top: .5em;
}

#meleeWeaponsHeader,
#rangedWeaponsHeader {
    margin-top: 0;
    margin-bottom: 0;
    background-color: var(--hover-color);
}

#unit-details-section p {
    font-size: 14px;
}

.ability-container {
  display: inline-block;
  vertical-align: top;
  background-color: var(--background-color);
  width: 100%;
  max-width: 450px;
  padding: 0;
  margin-top: .5em;
  margin-bottom: .5em;
  border: 1px solid var(--background-color);
  border-radius: var(--border-radius);
}

.ability-icon,
h3.abilitytiming {
  padding: 0px;
  margin: 0px;
  margin-left: 0em;
  margin-top: 0em;
  margin-bottom: .25em;
  margin-right: 1em;
  max-width:18em;
  display: inline-block;
}

.ability-icon {
  width: 20px;
  height: 20px;
  margin-right: .5em;
}

.abilitykeywords {
    padding-bottom: 0px;
    margin-bottom: .5em;
}

h4.abilityname {
  padding: 0px;
  margin: 0px;
}

.heart-checkbox {
    position: relative;
    width: fit-content;
    height: fit-content;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background: none;
    border: none;
    outline: none;
    padding: 0px;
    margin: 0px;
    display: inline-block;
  }

.heart-checkbox::before {
    content: "♡"; /* empty heart */
    font-size: 2.5em;
    color: var(--red-color);
    transition: transform 0.2s;
    display: inline-block;
  }

.heart-checkbox:checked::before {
    content: "♥"; /* filled heart */
    font-size: 2.5em;
    transform: scale(1.1);
  }

.attribution,
  .license {
    font-size: 12px;
  }

.info-div,
.kofi-div {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: 2em;
    width: 2em;
    height: 2em;
    font-size: 2em;
    left: 1em;
    z-index: 20;

    color: var(--label-font-color);
    background-color: none;
    cursor: pointer;
}

.info-div {
    bottom: 2.5em;
    background-color: var(--black-4);
    border-radius: 50%;
    width: 2em;
    height: 2em;
}

.info-div.alert {
    background-color: var(--green-ability);
    border: 2px solid var(--white-1);
    width: calc(2em - 4px);
    height: calc(2em - 4px);
}

.info-div.alert img {
    filter: invert(1);
}

.kofi-div-nested {
    position: relative;
    display: 'inline-block';
}

.kofi-div-nested img {
    width: 100%;
    max-width: 30em;
    margin-bottom: 1em;
}

.kofi-div img {
    width: 1.5em;
}

.item-list {
    display: flex;
    flex-direction: column;
    gap: .5em;
    padding: .5em;
}

.selectable-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--white-1);
    background-color: var(--selectable-item-color);
    border: 1px solid var(--background-color);
    padding: .75em;
    margin: 0px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.2s ease;
}

.selectable-item:active:not(:focus-within) {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
  transform: translateY(2px);
}

/* .selectable-item:hover {
  background: var(--hover-color);
  border-style: solid;
} */

.selectable-item.not-added {
    color: var(--white-3);
    border: 1px dashed var(--white-3);
    background-color: var(--section-background);
    box-shadow: none;
}

.selectable-item.added {
    border: 1px solid var(--blue-color);
}

.selectable-item-left {
    min-width: 50%;
    max-width: 70%;
}

.selectable-item-right {
    height: 100%;
    display: flex;
    align-items: center;
}

input.tactic-checkbox,
input.upgrade-checkbox {
    accent-color: var(--blue-ability);
}

.menu-wrapper {
  position: absolute;
  z-index: 60;
  display: none;
  padding: 0;
  margin: 0;
}

.menu-btn,
.menu-btn-disabled {
  display: flex;
  justify-content: center;
  align-items: center;
  background: none;
  border: none;
  height: 100%;
  width: 100%;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: var(--section-font-color);
}

.menu-icon {
  width: 24px;
  height: 24px;
}

.menu-btn-wrapper {
  height: 2.5em;
  width: 2.5em;
  text-align: center;
}

.menu-btn-disabled {
  opacity: 0.10;
  color: var(--disabled-color);
}

.menu {
  list-style: none;
  right: 0;
  top: 100%;
  background: var(--black-4);
  border: 1px solid var(--white-3);
  border-radius: var(--border-radius);
  color: var(--section-font-color);
  padding: 0;
  margin: 0;
}

.menu li {
  padding: 1em;
  cursor: pointer;
  border-radius: var(--border-radius);
}

.menu li:hover {
  background-color: var(--hover-color);
}

.modal {
  background: var(--section-color);
  color: var(--section-font-color);
  padding: 1em;
  border-radius: var(--border-radius);
  margin: 1.5em;
  width: calc(100% - 5em - 4px);
  max-width: var(--max-width);
  display: inline-block;
  margin-top: 4em;
  margin-bottom: 4em;
}

.modal-container,
.modal input,
.modal select,
.modal textarea,
.modal button {
  width: 100%;
  padding: 0.5rem;
  font-size: 1rem;
}

.modal input,
.modal select,
.modal textarea {
  background-color: var(--input-background-color);
  color: var(--input-font-color);
}

.modal input::placeholder,
.modal textarea::placeholder {
  color: var(--input-hint-color);
}

.modal select option {
  background-color: var(--input-background-color);
  color: var(--input-font-color);
}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.75);
  display: none;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  overflow: auto;
  z-index: 100;
}

.overlay > .modal {
  max-height: 100%;
  overflow-y: auto;
}

.slide-banner {
  position: fixed;
  top: -60px;
  left: 0;
  margin: 1em;
  width: calc(100% - 4em);
  padding: 1em;
  padding-top: .5em;
  padding-bottom: .5em;
  height: 1em;
  background-color: var(--green-color);
  border: 1px solid var(--black-4);
  border-radius: var(--border-radius);
  color: black;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  z-index: 49; /* below the footer*/
}

/* The switch - the box around the slider */

.switch {
  position: relative;
  display: inline-block;
  width: 33px;
  min-width: 33px;
  height: 20px;
}

/* Hide default HTML checkbox */

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.switch-wrapper {
  display: flex;
  align-items: center;
  gap: .5em;
  padding: .5em;
  width: 100%;
}

.slider-wapper {
  padding: .5em;
}

.switch-text {
  text-align: center;
}

/* The slider */

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--white-3);
  -webkit-transition: .4s;
  transition: .4s;
}

.slider-text {
    display: inline-block;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    padding: 0;
}

.slider:before {
  position: absolute;
  content: "";
  height: 15px;
  width: 15px;
  left: 2px;
  bottom: 2px;
  background-color: var(--black-2);
  -webkit-transition: .4s;
  transition: .4s;
  /*box-shadow: #0d1117D0 0px 1px;*/
}

input:checked + .slider {
  background-color: var(--blue-color);
}

input:focus + .slider {
  box-shadow: 0 0 1px var(--blue-color);
}

input:checked + .slider.green {
  background-color: var(--green-color);
}

input:focus + .slider.green {
  box-shadow: 0 0 1px var(--green-color);
}

input:checked + .slider.purple {
  background-color: var(--purple-ability);
}

input:focus + .slider.purple {
  box-shadow: 0 0 1px var(--purple-ability);
}

input:checked + .slider:before {
  -webkit-transform: translateX(13px);
  -ms-transform: translateX(13px);
  transform: translateX(13px);
}

.slider-text.disabled {
  color: var(--white-3);
}

input:disabled + .slider {
  background-color: var(--black-3);
}

input:disabled + .slider:before {
  background-color: var(--black-1);
}

/* Rounded sliders */

.slider.round {
  border-radius: 17px;
}

.slider.round:before {
  border-radius: 50%;
}
.army-card[data-v-ddfa38a3] {
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: var(--border-radius);
  padding: 0.5rem;
  margin-bottom: .5rem;
  background: #f9f9f9;
  cursor: pointer;
  transition: background 0.2s;
  font-size: 14px;
  width: 95%;
}

/* .army-card:hover {
  background: #eef;
} */
.army-card[data-v-ddfa38a3]:active:not(:focus-within) {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
  transform: translateY(2px);
}
#version[data-v-ddfa38a3] {
  position: absolute;
  color: rgba(0,0,0,.1);
  font-weight: bold;
  bottom: 3em;
  left: .5em;
}
.roster-modal input[data-v-ddfa38a3],
.roster-modal select[data-v-ddfa38a3] {
  height: 3em;
}
.roster-modal input[data-v-ddfa38a3], 
.roster-modal select[data-v-ddfa38a3], 
.roster-modal textarea[data-v-ddfa38a3] {
  margin-bottom: 1em;
  padding: 8px;
  border: none;
  box-sizing: border-box;
  background-color: var(--input-background-color);
  color: var(--input-font-color);
}
.roster-modal textarea[data-v-ddfa38a3] {
  height: 6em;
}
a[data-v-ddfa38a3] {
  color: var(--blue-color);
}
.plus-wrapper[data-v-ddfa38a3] {
  display: flex;
  justify-content: center;
  align-content: center;
}
.fab-icon[data-v-ddfa38a3] {
  width: 20px;
}
.regiment-item[data-v-ddfa38a3] {
  box-sizing: border-box;
  align-items: center;
  padding: 1%;
  background: var(--regiment-item-backround-color);
  border-radius: var(--border-radius);
  color: var(--white-2);
  margin-bottom: .5em;
  position: relative;
  width: 100%;
  font-size: 14px;
}
.arrow-wrapper[data-v-ddfa38a3] {
    display:flex;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    height: 4em;
}
.arrow[data-v-ddfa38a3] {
    display:flex;
    transition: transform 0.3s ease;
    padding: 0px;
    margin: 0px;
    width: 2em;
    height: 2em;
}
.arrow img[data-v-ddfa38a3] {
    margin: .5em;
    width: 1em;
    height: 1em;
}
.unit-slot-selectable-item-wrapper[data-v-ddfa38a3] {
    display: inline-block;
    width: calc(100% - 2em);
    height: 100%;
}
.selectable-item.unit-slot-selectable-item[data-v-ddfa38a3] {
    border: none;
    padding: .25em;
    padding-right: 0em;
}
.selectable-item.unit-slot-selectable-item[data-v-ddfa38a3]:hover {
    border: none;
}
.unit-details[data-v-ddfa38a3] {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  border-radius: var(--border-radius);
}
.upgrade-section[data-v-ddfa38a3] {
    padding-right: 1em;
    padding-left: 1em;
}
.disabled-button[data-v-ddfa38a3],
button[data-v-ddfa38a3]:disabled {
    background-color: var(--black-1);
    color: var(--hover-color);
    border: 2px dashed var(--hover-color);
    cursor: default;
}
.unit-slot[data-v-ddfa38a3] {
  box-sizing: border-box;
  border: 1px solid var(--background-color);
  width: 100%;
  margin-bottom: 5px;
  margin-top: 5px;
  margin-left: 0px;
  margin-right: 0px;
  font-size: 14px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .15);
  background-color: var(--slot-background-color);
}
.unit-slot-display-wrapper[data-v-ddfa38a3] {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* .unit-slot:active:not(:focus-within) {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
  transform: translateY(2px);
} */
.upgrade-group[data-v-ddfa38a3] {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: left;
    color: var(--dark-text-color);
    margin-top: .5em;
    margin-bottom: .5em;
}
.upgrade-group label[data-v-ddfa38a3] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.upgrade-group-left[data-v-ddfa38a3],
.upgrade-group-right[data-v-ddfa38a3] {
    margin-left: 0;
    display: flex;
    align-items: center;
}
.upgrade-group-left[data-v-ddfa38a3] {
    max-width: 70%;
}
.upgrade-group-right[data-v-ddfa38a3] {
    margin-left: auto;
}
.upgrade-button[data-v-ddfa38a3] {
    padding: .5em;
    padding-right: 0em;
    border: 0px;
    margin: 0px;
    margin-left: .5em;
    width: 1.5em;
    height: 100%;
    background-color: var(--section-background-color);
    display: inline-block;
    cursor: pointer;
}
.tiny-magnifier-wrapper[data-v-ddfa38a3] {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tiny-magnifier[data-v-ddfa38a3] {
    width: 1.25em;
    height: 1.25em;
}
.weapon-selection[data-v-ddfa38a3] {
    height: 3em;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: .5em;
}
.weapon-selection-title[data-v-ddfa38a3] {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: .5em;
    padding-bottom: .5em;
}
.weapon-selection-title-wrapper[data-v-ddfa38a3] {
    text-align: start;
    width:65%;
}
.weapon-selection-controls[data-v-ddfa38a3] {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: .25em;
    background-color: var(--white-1);
    border-radius: var(--border-radius);
    border: 2px solid var(--white-3);
}
.weapon-selection-quantity[data-v-ddfa38a3] {
    width: 1.5em;
    height: 100%;
    color: black;
}
.weapon-selection-button[data-v-ddfa38a3] {
    width: 1em;
    height: 1em;
    padding: .5em;
}
.weapon-selection-increment-icon[data-v-ddfa38a3] {
    width: 1em;
    height: 1em;
}
.warscroll[data-v-ddfa38a3] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
}
table[data-v-ddfa38a3] {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1em;
  margin-bottom: 1em;
}
td.melee-weapon[data-v-ddfa38a3],
th.melee-weapon[data-v-ddfa38a3],
td.ranged-weapon[data-v-ddfa38a3],
th.ranged-weapon[data-v-ddfa38a3],
td.characteristics[data-v-ddfa38a3],
th.characteristics[data-v-ddfa38a3] {
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
td.characteristics[data-v-ddfa38a3],
th.characteristics[data-v-ddfa38a3] {
  width: 25%;
}
td.melee-weapon[data-v-ddfa38a3],
th.melee-weapon[data-v-ddfa38a3] {
  width: 16.6%;
}
td.ranged-weapon[data-v-ddfa38a3],
th.ranged-weapon[data-v-ddfa38a3] {
  width: 14.2%;
}
.details-container[data-v-ddfa38a3] {
  padding: 0px;
  padding-left: 1em;
  padding-bottom: .5em;
}
.details-container p[data-v-ddfa38a3] {
  font-size: 14px;
}
.details-container .bullet-point[data-v-ddfa38a3] {
  margin-top: 0;
  margin-bottom: .5em;
}
.search-bar[data-v-ddfa38a3] {
    display: flex;
    background-color: var(--hover-color);
    height: 3em;
    margin: .5em;
    align-items: center;
    justify-content: center;
    z-index: 500;
    border-radius: var(--border-radius);
}
.search-bar-input[data-v-ddfa38a3] {
    border: none;
    background: none;
    height: 2em;
    color: var(--white-1);
    width: 100%;
    margin-right: .5em;
    font-size: 16px;
}
.search-bar-input[data-v-ddfa38a3]:focus {
    outline : none;
}
.search-bar img[data-v-ddfa38a3] {
    width: 20px;
    height: 20px;
    margin-left: 1em;
    margin-right: 1em;
}
.selectable-item[data-v-ddfa38a3] {
        margin: 0;
}
.selectable-item-left[data-v-ddfa38a3] {
        min-width: 60%;
        max-width: 60%;
}
.single-slot[data-v-ddfa38a3] {
        max-width: 100%;
}

.overlay[data-v-55681240] {
    display: flex;
}

.contact[data-v-31c96ab2] {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: .5em;
        min-height: 5em;
}
.my-icon[data-v-31c96ab2] {
        border-radius: var(--border-radius);
        width: 3em;
        height: 3em;
        border-radius: 50%;
        border: 4px solid var(--black-3);
}
.text-bits[data-v-31c96ab2] {
        height: 3em;
}
a[data-v-31c96ab2] {
        height: 3em;
        text-decoration: none;
        color: inherit;
}
h3[data-v-31c96ab2] {
        padding: 0px;
        margin: 0;
        margin-bottom: 4px;
}
h5[data-v-31c96ab2] {
        margin: 0;
        color: var(--white-3);
}

.contact-section[data-v-b4255dde],
    .title[data-v-b4255dde] {
        display: flex;
        gap: .5em;
        justify-content: center;
        align-items: center;
}
.scrollcaster-icon[data-v-b4255dde] {
        border-radius: var(--border-radius);
        width: 6em;
        height: 6em;
        border: 4px solid var(--black-3);
}
.contact-section[data-v-b4255dde] {
        height: fit-content;
}
.info-block[data-v-b4255dde] {
        height: 6em;
}
h1[data-v-b4255dde] {
        margin: 0;
}
h3[data-v-b4255dde] {
        padding: 0px;
        margin: 0;
        margin-bottom: 4px;
}
h5[data-v-b4255dde] {
        margin: 0;
        color: var(--white-3);
}
.iw-section[data-v-b4255dde] {
        background-color: var(--black-1);
        padding: .5em;
        margin: 0;
}
.release-notes[data-v-b4255dde] {
        font-size: 14px;
}

.army-card[data-v-70107569] {
  display: inline-block;
  border: 1px solid #ccc;
  border-radius: var(--border-radius);
  padding: 0.5rem;
  margin-bottom: .5rem;
  background: #f9f9f9;
  cursor: pointer;
  transition: background 0.2s;
  font-size: 14px;
  width: 95%;
}

/* .army-card:hover {
  background: #eef;
} */
.army-card[data-v-70107569]:active:not(:focus-within) {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
  transform: translateY(2px);
}
#version[data-v-70107569] {
  position: absolute;
  color: rgba(0,0,0,.1);
  font-weight: bold;
  bottom: 3em;
  left: .5em;
}
.roster-modal input[data-v-70107569],
.roster-modal select[data-v-70107569] {
  height: 3em;
}
.roster-modal input[data-v-70107569], 
.roster-modal select[data-v-70107569], 
.roster-modal textarea[data-v-70107569] {
  margin-bottom: 1em;
  padding: 8px;
  border: none;
  box-sizing: border-box;
  background-color: var(--input-background-color);
  color: var(--input-font-color);
}
.roster-modal textarea[data-v-70107569] {
  height: 6em;
}
a[data-v-70107569] {
  color: var(--blue-color);
}
.plus-wrapper[data-v-70107569] {
  display: flex;
  justify-content: center;
  align-content: center;
}
.fab-icon[data-v-70107569] {
  width: 20px;
}
.regiment-item[data-v-70107569] {
  box-sizing: border-box;
  align-items: center;
  padding: 1%;
  background: var(--regiment-item-backround-color);
  border-radius: var(--border-radius);
  color: var(--white-2);
  margin-bottom: .5em;
  position: relative;
  width: 100%;
  font-size: 14px;
}
.arrow-wrapper[data-v-70107569] {
    display:flex;
    cursor: pointer;
    justify-content: center;
    align-items: center;
    height: 4em;
}
.arrow[data-v-70107569] {
    display:flex;
    transition: transform 0.3s ease;
    padding: 0px;
    margin: 0px;
    width: 2em;
    height: 2em;
}
.arrow img[data-v-70107569] {
    margin: .5em;
    width: 1em;
    height: 1em;
}
.unit-slot-selectable-item-wrapper[data-v-70107569] {
    display: inline-block;
    width: calc(100% - 2em);
    height: 100%;
}
.selectable-item.unit-slot-selectable-item[data-v-70107569] {
    border: none;
    padding: .25em;
    padding-right: 0em;
}
.selectable-item.unit-slot-selectable-item[data-v-70107569]:hover {
    border: none;
}
.unit-details[data-v-70107569] {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.4s ease;
  border-radius: var(--border-radius);
}
.upgrade-section[data-v-70107569] {
    padding-right: 1em;
    padding-left: 1em;
}
.disabled-button[data-v-70107569],
button[data-v-70107569]:disabled {
    background-color: var(--black-1);
    color: var(--hover-color);
    border: 2px dashed var(--hover-color);
    cursor: default;
}
.unit-slot[data-v-70107569] {
  box-sizing: border-box;
  border: 1px solid var(--background-color);
  width: 100%;
  margin-bottom: 5px;
  margin-top: 5px;
  margin-left: 0px;
  margin-right: 0px;
  font-size: 14px;
  box-shadow: 0 3px 6px rgba(0, 0, 0, .15);
  background-color: var(--slot-background-color);
}
.unit-slot-display-wrapper[data-v-70107569] {
    display: flex;
    align-items: center;
    justify-content: center;
}

/* .unit-slot:active:not(:focus-within) {
  box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.3);
  transform: translateY(2px);
} */
.upgrade-group[data-v-70107569] {
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: left;
    color: var(--dark-text-color);
    margin-top: .5em;
    margin-bottom: .5em;
}
.upgrade-group label[data-v-70107569] {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.upgrade-group-left[data-v-70107569],
.upgrade-group-right[data-v-70107569] {
    margin-left: 0;
    display: flex;
    align-items: center;
}
.upgrade-group-left[data-v-70107569] {
    max-width: 70%;
}
.upgrade-group-right[data-v-70107569] {
    margin-left: auto;
}
.upgrade-button[data-v-70107569] {
    padding: .5em;
    padding-right: 0em;
    border: 0px;
    margin: 0px;
    margin-left: .5em;
    width: 1.5em;
    height: 100%;
    background-color: var(--section-background-color);
    display: inline-block;
    cursor: pointer;
}
.tiny-magnifier-wrapper[data-v-70107569] {
    display: flex;
    justify-content: center;
    align-items: center;
}
.tiny-magnifier[data-v-70107569] {
    width: 1.25em;
    height: 1.25em;
}
.weapon-selection[data-v-70107569] {
    height: 3em;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: .5em;
}
.weapon-selection-title[data-v-70107569] {
    width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: .5em;
    padding-bottom: .5em;
}
.weapon-selection-title-wrapper[data-v-70107569] {
    text-align: start;
    width:65%;
}
.weapon-selection-controls[data-v-70107569] {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: .25em;
    background-color: var(--white-1);
    border-radius: var(--border-radius);
    border: 2px solid var(--white-3);
}
.weapon-selection-quantity[data-v-70107569] {
    width: 1.5em;
    height: 100%;
    color: black;
}
.weapon-selection-button[data-v-70107569] {
    width: 1em;
    height: 1em;
    padding: .5em;
}
.weapon-selection-increment-icon[data-v-70107569] {
    width: 1em;
    height: 1em;
}
.warscroll[data-v-70107569] {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 1rem;
}
table[data-v-70107569] {
  width: 100%;
  border-collapse: collapse;
  margin-top: 1em;
  margin-bottom: 1em;
}
td.melee-weapon[data-v-70107569],
th.melee-weapon[data-v-70107569],
td.ranged-weapon[data-v-70107569],
th.ranged-weapon[data-v-70107569],
td.characteristics[data-v-70107569],
th.characteristics[data-v-70107569] {
  text-align: center;
  vertical-align: middle;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
td.characteristics[data-v-70107569],
th.characteristics[data-v-70107569] {
  width: 25%;
}
td.melee-weapon[data-v-70107569],
th.melee-weapon[data-v-70107569] {
  width: 16.6%;
}
td.ranged-weapon[data-v-70107569],
th.ranged-weapon[data-v-70107569] {
  width: 14.2%;
}
.details-container[data-v-70107569] {
  padding: 0px;
  padding-left: 1em;
  padding-bottom: .5em;
}
.details-container p[data-v-70107569] {
  font-size: 14px;
}
.details-container .bullet-point[data-v-70107569] {
  margin-top: 0;
  margin-bottom: .5em;
}
.search-bar[data-v-70107569] {
    display: flex;
    background-color: var(--hover-color);
    height: 3em;
    margin: .5em;
    align-items: center;
    justify-content: center;
    z-index: 500;
    border-radius: var(--border-radius);
}
.search-bar-input[data-v-70107569] {
    border: none;
    background: none;
    height: 2em;
    color: var(--white-1);
    width: 100%;
    margin-right: .5em;
    font-size: 16px;
}
.search-bar-input[data-v-70107569]:focus {
    outline : none;
}
.search-bar img[data-v-70107569] {
    width: 20px;
    height: 20px;
    margin-left: 1em;
    margin-right: 1em;
}
.item-list[data-v-70107569] {
        gap: 0;
}

h4[data-v-67e0dc25] {
        margin: 0px;
}
p[data-v-67e0dc25] {
      margin: 0em;
      margin-top: .5em;
      font-size: 14px;
}

h1[data-v-7db12090] {
    margin-top: 0;
    display: inline-block;
    color: var(--white-1);
}
.landing-page[data-v-7db12090] {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--black-1);
    width: 100%;
    height: 100%;
    top: 0;
}
.landing-content[data-v-7db12090] {
    align-items: center;
    text-align: center;
}
.big-icon-wrapper[data-v-7db12090] {
    width: 100%;
}
.big-icon[data-v-7db12090] {
    display: inline-block;
    width: calc(100% - 10em - 4px);
    border: 2px solid var(--black-4);
    border-radius: var(--border-radius);
    width: 256px;
    height: 256px;
}

