html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

body {
  background-color: #F8F8F8;
  width: 100%;
  padding: 20px;
  margin: 0;
}

h1 {
  font-family: 'Bungee', cursive;
  font-size: 36px;
}

p {
  font-size: 15px;
}

hr {
  margin: 20px 0;
  height: 1px;
  border: 0;
  background: #ccc;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

span#healthstate {
  color: red;
  font-weight: bold;
  visibility: hidden;
}
span#healthstate.dead {
  visibility: visible;
}

.loadingscreen {
  width: 95%;
  height: 100%;
  background-color: black;
  position: absolute;
  margin: auto;
  opacity: .95;
}

.loadingscreen .loadingtext {
  font-family: 'Bungee', cursive;
  font-size: 36px;
  color: white;
  position: relative;
  top: 50%;
  text-align: center;
}

.main-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.main-header__image {
  margin-right: 20px;
}

.main-header__heading {
  margin: 0;
}

.main-header__subheading {
  font-family: 'Bungee', cursive;
  color: #828282;
  font-size: 18px;
  margin: 0;
}

.heading, .label {
  font-family: 'Nova Cut', cursive;
}

.heading--primary {
  font-size: 28px;
  margin: 0 0 6px;
}

.sub-heading {
  font-family: 'Roboto Mono', monospace;
}

.sub-heading--primary {
  font-size: 12px;
  color: #ccc;
}

.text {
  font-family: 'Roboto Mono', monospace;
  margin: 0;
}

.text--disabled {
  color: #CCCCCC;
}

.text--normal {
  color: #4F4F4F;
}

.text--italic {
  font-style: italic;
}

.text--info {
  color: #000;
  font-weight: bold;
  font-size: 24px;
}

.text--sub {
  color: #4f4f4f;
  text-transform: uppercase;
  font-size: 12px;
}

.text--stat {
  font-size: 15px;
  color: #828282;
}

.h3 {
  font-family: 'Roboto Mono', monospace;
  font-size: 24px;
}

.main-container {
  max-width: 650px;
  width: 100%;
  margin: 0 auto;
}

.main-container > section + section {
  margin-top: 20px;
}

.section-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  margin-bottom: 10px;
}

.section-header .heading, .section-header .label {
  margin-right: 10px;
}

/** 
 * Component Name: Row
 * Used for: Handling layout and putting its children in a horizontal row
 */
.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.row > * {
  margin-right: 10px;
}

.row--wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.row--space-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

/** 
 * Component Name: List
 * Used for: Vertical list
 */
.list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.list > * + * {
  margin-top: 10px;
}

/** 
 * Component Name: Grid
 * Used for: Handling arrangement of buttons
 */
.grid {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(3, 1fr);
  -ms-grid-rows: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
  grid-gap: 8px;
}

.grid-arena {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[3];
      grid-template-columns: repeat(auto-fit, minmax(192px, 1fr));
  -ms-grid-rows: 1fr 1fr;
      grid-template-rows: 1fr 1fr;
  grid-gap: 8px;
  align-items: center;
  justify-content: center;
}

.grid-arena-item {
  background-color: white;
  display: flex;
  align-items: center;
  text-align: center;
  justify-content: center;
  padding: 10px;
}

/** 
 * Component Name: Button
 * Used for: Handling different button states
 */
.button {
  color: #fff;
  border: 0;
  border-radius: 100%;
  width: 20px;
  height: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.button:hover {
  cursor: pointer;
}

.button--increment {
  background: #3AB19C;
}

.button--decrement {
  background: #FF8A00;
}

.button--disabled {
  background: #CCCCCC;
}

/** 
 * Component Name: Attribute Block
 */
.attr-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: 'Nova Slim', cursive;
  white-space: nowrap;
}

.attr-block > * + * {
  margin-left: 8px;
}

.attr-block_total {
  width: 53px;
  padding: 2px 4px;
  background: #eee;
  border-radius: 5px;
}

.attr-block_total .attr-block_type {
  color: #828282;
  font-size: 14px;
}

.attr-block_total .attr-block_value {
  color: #000;
  font-size: 14px;
}

.attr-block_status {
  font-family: 'Nova Cut', cursive;
  font-size: 14px;
}

.attr-block_status--positive {
  width: 20px;
  color: #3AB19C;
  font-size: 14px;
}

.attr-block_status--negative {
  width: 20px;
  color: #FF8A00;
  font-size: 14px;
}

/**
 * Component Name: Point Info Block
 */
.point-info-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 10px 15px;
  border-radius: 5px;
  background: #fff;
}

.point-info-block_value {
  margin-right: 4px;
}

/**
 * Component Name: Lifetime Stat Block
 */
.lifetime-stat-blocks {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.lifetime-stat-blocks .lifetime-stat-block {
  display: inline-block;
  min-height: 84px;
  width: 203px;
  padding: 14px 0;
  background: #fff;
  border-radius: 5px;
}

.lifetime-stat-blocks .lifetime-stat-block:last-of-type {
  margin-right: 0;
}

.lifetime-stat-blocks .lifetime-stat-block_head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.lifetime-stat-blocks .lifetime-stat-block_head__icon {
  margin-right: 10px;
}

.lifetime-stat-blocks .lifetime-stat-block_body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/** 
 * Component Name: Tabs
 * Used for: TabLinks, TabContent
 */
.tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tabs .tab_links {
  -ms-flex-item-align: start;
      align-self: flex-start;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 154px;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  background: #eee;
  margin: 0;
  padding: 0;
}

.tabs .tab_links_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 10px;
  border-bottom: 1px solid #bdbdbd;
  text-transform: uppercase;
}

.tabs .tab_links_item:hover {
  cursor: pointer;
}

.tabs .tab_links_item .stat {
  font-family: 'Nova Slim', cursive;
  font-size: 14px;
  color: #828282;
}

.tabs .tab_links_item .count {
  font-family: 'Roboto Mono', sans-serif;
  font-size: 12px;
  color: #bdbdbd;
}

.tabs .tab_links_item--active {
  background: #fff;
  border-bottom: 1px solid #4f4f4f;
}

.tabs .tab_links_item--active .stat {
  color: #000;
}

.tabs .tab_links_item--active .count {
  color: #828282;
}

.tabs .tab_content {
  -ms-flex-item-align: start;
      align-self: flex-start;
  display: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  background: #fff;
  padding: 10px;
}

.tabs .tab_content--active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.tabs .tab_content li + li {
  margin-top: 10px;
}

.tabs .tab_content_item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #F8F8F8;
  color: #4f4f4f;
  max-width: 520px;
  width: 100%;
  border-radius: 5px;
  padding: 8px;
  font-family: 'Roboto Mono', sans-serif;
  font-size: 12px;
}

.tabs .tab_content_item_icon {
  margin-right: 10px;
}

/** 
 * Component Name: Reaction Block
 * Used for: Inside of Interaction Block
 */
.reaction-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 18px;
}

.reaction-block .text {
  font-size: 18px;
}

.reaction-block:last-of-type {
  margin-left: 45px;
}

/** 
 * Component Name: Interaction Block
 * Used for: Interaction Block
 */
.interaction-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  background-color: white;
  border-radius: 5px;
  padding: 28px 20px;
}

.interaction-block_avatar {
  max-width: 96px;
  width: 100%;
  max-height: 96px;
  height: auto;
  margin-right: 20px;
}

.interaction-block_content {
  -webkit-box-flex: 2;
      -ms-flex-positive: 2;
          flex-grow: 2;
}

.interaction-block_content .details-bar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.interaction-block_content .details-bar .h3 {
  margin: 0;
}

.interaction-block_content .details-bar .reactions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
}

/** 
 * Component Name: Label Component
 * Used for: Personality Labels, Class Labels
 */
.label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 4px 6px;
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid #3AAAB1;
  border-radius: 5px;
  color: #3aaab1;
  text-transform: uppercase;
  font-size: 14px;
  cursor: pointer;
}

.label:hover {
  color: #2B8389;
  border: 1px solid #2B8389;
}

.label--active, .label--active:hover {
  background-color: #3AAAB1;
  color: #fff;
}

.label--active:hover {
  border: 1px solid #3AAAB1;
}

.label--active .label_icon {
  color: #fff;
}

.label_icon {
  width: 15px;
  height: auto;
  margin-right: 4px;
  color: #3aaab1;
}

@media screen and (max-width: 680px) {
  body {
    padding: 10px;
  }
  .point-info-block {
    margin-bottom: 10px;
  }
  .lifetime-stat-blocks {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .lifetime-stat-blocks > .lifetime-stat-block {
    width: 100%;
    margin: 0;
  }
  .lifetime-stat-blocks > .lifetime-stat-block + .lifetime-stat-block {
    margin-top: 10px;
  }
}

@media screen and (max-width: 440px) {
  .grid {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
  }
}
/*# sourceMappingURL=styles.css.map */