/***
* Reference
***/
/* Document
 * ========================================================================== */
/**
 * Add border box sizing in all browsers (opinionated).
 */
*,
::before,
::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Use a 4-space tab width in all browsers (opinionated).
 * 4. Remove the grey highlight on links in iOS (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 */
html {
  cursor: default; /* 1 */
  line-height: 1.5; /* 2 */
  -moz-tab-size: 4; /* 3 */
  -o-tab-size: 4;
     tab-size: 4; /* 3 */
  -webkit-tap-highlight-color: transparent;
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, IE, and Safari.
 */
dl dl,
dl ol,
dl ul,
ol dl,
ul dl {
  margin: 0;
}

/**
 * Remove the margin on nested lists in Edge 18- and IE.
 */
ol ol,
ol ul,
ul ol,
ul ul {
  margin: 0;
}

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge 18- and IE.
 */
hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */
main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
nav ol,
nav ul {
  list-style: none;
  padding: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge 18-, IE, and Safari.
 */
abbr[title] {
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
iframe {
  border-style: none;
}

/**
 * Remove the border on images within links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
svg:not([fill]) {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */
/**
 * Collapse border spacing in all browsers (opinionated).
 */
table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge 18-, Firefox, and IE.
 */
button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

/**
 * 1. Change the inconsistent appearance in all browsers (opinionated).
 * 2. Correct the padding in Firefox.
 */
fieldset {
  border: 1px solid #a0a0a0; /* 1 */
  padding: 0.35em 0.75em 0.625em; /* 2 */
}

/**
 * Show the overflow in Edge 18- and IE.
 */
input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge 18- and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge 18- and IE.
 * 2. Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */
select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction in all browsers (opinionated).
 */
textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */
[type=checkbox],
[type=radio] {
  padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */
::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */
:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove the additional :invalid styles in Firefox.
 */
:-moz-ui-invalid {
  box-shadow: none;
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct display in Edge 18- and IE.
 */
details {
  display: block;
}

/*
 * Add the correct styles in Edge 18-, IE, and Safari.
 */
dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: -webkit-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: -webkit-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
 * ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* User interaction
 * ========================================================================== */
/*
 * 1. Remove the tapping delay in IE 10.
 * 2. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 */
a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
  -ms-touch-action: manipulation; /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
[aria-busy=true] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
[aria-disabled=true],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
[aria-hidden=false][hidden] {
  display: initial;
}

[aria-hidden=false][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  position: absolute;
}

/***
 * TYPE
 ***/
/***
 * LAYOUT
 ***/
/***
 * COLORS
 ***/
/***
* Core
***/
:first-child {
  margin-top: 0;
}

:last-child {
  margin-bottom: 0;
}

html {
  color: #ffffff;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-size: 100%;
  line-height: 1.5;
  letter-spacing: 0.04em;
  background-image: url(../images/background.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  height: 100%;
}

body {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
body.admin-bar {
  padding-top: 32px;
}

.container {
  max-width: 104rem;
  margin: 0 auto;
  padding: 0 1.25rem;
}

main {
  padding-top: 5rem;
  margin-bottom: 2.5rem;
}

img {
  max-width: 100%;
  height: auto;
}

.button {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  padding: 0.5rem 1.25rem;
  border: 1px solid #d13df1;
  color: #ffffff;
  background: none;
  cursor: pointer;
}
.button:hover {
  background: #d13df1;
  color: #ffffff;
  text-decoration: none;
}
.button.green {
  border-color: #3be062;
}
.button.green:hover {
  background-color: #3be062;
}
.button.red {
  border-color: #e13a3a;
}
.button.red:hover {
  background-color: #e13a3a;
}

.grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 2.5rem;
}
.grid + .grid {
  padding-top: 2.5rem;
  border-top: 1px solid #303030;
  margin-top: 2.5rem;
}
.grid .section--about {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 2.5rem;
  margin-bottom: 2.5rem;
}
.grid .section--about > * {
  margin: 0;
}
.grid .section--grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 2.5rem;
}
.grid .section--grid .section--about {
  grid-column: 1/-1;
  margin-bottom: 0;
}
.grid .section--grid .section--inner {
  grid-column: 1/-1;
}
@media (min-width: 81.5625em) {
  .grid .section--grid .section--about {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    padding-top: 2.5rem;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid .section--grid .section--inner {
    grid-column: 2/-1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid .section--grid.reverse .section--about {
    grid-column: -2/-1;
  }
  .grid .section--grid.reverse .section--inner {
    grid-column: 1/-2;
  }
}
.grid--advanced .section--info {
  grid-column: 1/-1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
.grid--advanced .section--cards, .grid--advanced .section--compare {
  grid-column: 1/-1;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
}
@media (min-width: 63.75rem) {
  .grid--advanced .section--info {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid--advanced .section--cards, .grid--advanced .section--compare {
    grid-column: 2/-1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
@media (min-width: 87.5rem) {
  .grid--advanced .section--info {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid--advanced .section--cards, .grid--advanced .section--compare {
    grid-column: 3/-1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
.grid--archive .section--cards, .grid--archive .section--compare {
  grid-column: 1/-1;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
}
.grid--archive .section--info {
  grid-column: 1/-1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
.grid--archive .section--sidebar {
  grid-column: 1/-1;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
}
@media (min-width: 70em) {
  .grid--archive .section--cards, .grid--archive .section--compare {
    grid-column: 1/-2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 2;
    grid-row: 2/4;
  }
  .grid--archive .section--info {
    grid-column: 1/-2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid--archive .section--sidebar {
    grid-column: -2/-1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
  }
  .grid--archive .section--blank {
    grid-column: -2/-1;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
  }
}
.grid--media .section--info {
  grid-column: 1/-1;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
.grid--media .section--meta {
  grid-column: 1/-1;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
}
.grid--media .section--cover {
  grid-column: 1/-1;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
}
.grid--media .section--tags {
  grid-column: 1/-1;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4/5;
}
.grid--media .section--song {
  grid-column: 1/-1;
  -ms-grid-row: 5;
  -ms-grid-row-span: 1;
  grid-row: 5/6;
}
.grid--media .section--cards, .grid--media .section--compare {
  grid-column: 1/-1;
  -ms-grid-row: 6;
  -ms-grid-row-span: 1;
  grid-row: 6/7;
}
.grid--media .section--cards.double {
  grid-column: 1/-1;
  -ms-grid-row: 7;
  -ms-grid-row-span: 1;
  grid-row: 7/8;
}
@media (min-width: 45em) {
  .grid--media .section--info {
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2/4;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid--media .section--meta {
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2/4;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
  .grid--media .section--cover {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    grid-row: 1/4;
  }
  .grid--media .section--tags {
    -ms-grid-column: 2;
    -ms-grid-column-span: 2;
    grid-column: 2/4;
    -ms-grid-row: 4;
    grid-row: 4/4;
  }
  .grid--media .section--song {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4/5;
  }
  .grid--media .section--cards, .grid--media .section--compare {
    grid-column: 1/-1;
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    grid-row: 5/6;
  }
  .grid--media .section--cards.double {
    grid-column: 1/-1;
    -ms-grid-row: 6;
    -ms-grid-row-span: 1;
    grid-row: 6/7;
  }
}
@media (min-width: 65em) {
  .grid--media .section--info {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid--media .section--meta {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
  }
  .grid--media .section--cover {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
  .grid--media .section--tags {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4/5;
  }
  .grid--media .section--song {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 5;
    -ms-grid-row-span: 1;
    grid-row: 5/6;
  }
  .grid--media .section--cards, .grid--media .section--compare {
    grid-column: 2/-1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 6;
    grid-row: 1/7;
  }
  .grid--media .section--cards.double {
    grid-column: 1/-1;
    -ms-grid-row: 7;
    -ms-grid-row-span: 1;
    grid-row: 7/8;
  }
}
@media (min-width: 95em) {
  .grid--media .section--info {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
  .grid--media .section--meta {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
  .grid--media .section--cover {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
  }
  .grid--media .section--tags {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
  }
  .grid--media .section--song {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
    -ms-grid-row: 4;
    -ms-grid-row-span: 1;
    grid-row: 4/5;
  }
  .grid--media .section--cards, .grid--media .section--compare {
    grid-column: 3/-1;
    -ms-grid-row: 1;
    -ms-grid-row-span: 5;
    grid-row: 1/6;
  }
  .grid--media .section--cards.double {
    grid-column: 1/-1;
    -ms-grid-row: 6;
    -ms-grid-row-span: 1;
    grid-row: 6/7;
  }
}

.inner-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem;
}
.inner-content .column--left {
  -webkit-box-flex: 4.3;
      -ms-flex: 4.3;
          flex: 4.3;
}
.inner-content .column--right {
  -webkit-box-flex: 5.7;
      -ms-flex: 5.7;
          flex: 5.7;
}
.inner-content--archive {
  gap: 4.5rem;
}
.inner-content--archive .column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
.inner-content--archive .column--left {
  -webkit-box-flex: 7.85;
      -ms-flex: 7.85;
          flex: 7.85;
}
.inner-content--archive .column--right {
  width: 100%;
  -webkit-box-flex: 100%;
      -ms-flex: 100%;
          flex: 100%;
}
@media (min-width: 59.5em) {
  .inner-content--archive .column--right {
    -webkit-box-flex: 2.15;
        -ms-flex: 2.15;
            flex: 2.15;
    min-width: 12rem;
  }
}
.inner-content--media .section--cover {
  -ms-grid-column: 1;
  grid-column: 1;
  -ms-grid-row: 1;
  grid-row: 1;
}
.inner-content--media .section--info {
  -ms-grid-column: 2;
  grid-column: 2;
  -ms-grid-row: 1;
  grid-row: 1;
}
.inner-content--media .section--tags {
  grid-column: 1/-1;
  -ms-grid-row: 2;
  grid-row: 2;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
.section--inner .row:not(:first-child) {
  margin-top: 2.5rem;
}
.row .col {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 95em) {
  .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 0.625rem;
  }
}
.row.static {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.625rem;
}

.home-row:not(:last-child) {
  margin-bottom: 5rem;
}

p {
  margin: 0.625rem 0;
}

.story-color {
  color: #8bb9ff;
}

.design-color {
  color: #ffb6b6;
}

.personality-color {
  color: #99d4c3;
}

a {
  color: #8bb9ff;
  text-decoration: none;
}
a:hover, a:focus {
  text-decoration: underline;
}

small, .small-text {
  font-size: 0.833em;
}

.text-right {
  text-align: right;
}

.highlight, h2, .h2 {
  color: #d13df1;
  font-weight: 700;
}

/***** HEADINGS *****/
h1, .h1,
h2, .h2,
h3, .h3,
h4, .h4 {
  text-rendering: optimizelegibility;
  font-family: "Lato", "Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight: 700;
  position: relative;
  line-height: 1.25em;
}

h1, .h1 {
  margin: 0;
  font-size: 1.25em;
  font-weight: 700;
}

.subtitle {
  font-size: 0.875rem;
  font-weight: 700;
  color: #707070;
}

h2, .h2 {
  font-size: 1rem;
}
h2:not(:first-child), .h2:not(:first-child) {
  margin-top: 2.5rem;
}

/***
* Components
***/
.content-outline {
  border: 1px solid #303030;
  padding: 0.625rem;
}
.section--cover .content-outline {
  text-align: center;
}
.section--cover .content-outline:not(:last-child) {
  margin-bottom: 0.625rem;
}

.description {
  margin-top: 0.625rem;
}
.description * {
  max-width: 48rem;
}

.video-wrapper {
  position: relative;
  padding-bottom: 56.25%;
}
.video-wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

blockquote {
  font-size: 0.875rem;
  margin: 0;
  color: #707070;
  font-style: italic;
  padding: 0.625rem;
  text-align: center;
}

.site-header {
  position: fixed;
  padding: 0;
  -webkit-box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.5);
  width: 100%;
  background-image: url(../images/background.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  z-index: 999;
  background-color: rgba(0, 0, 0, 0.5);
  background-blend-mode: color;
  padding: 1rem 0;
}
@media (min-width: 40em) {
  .site-header {
    padding: 0;
  }
}
.site-header .container {
  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;
  gap: 2.5rem;
}
.site-header nav {
  display: none;
  font-size: 0.875rem;
}
@media (min-width: 40em) {
  .site-header nav {
    display: block;
  }
}
.site-header nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}
.site-header nav li {
  position: relative;
}
.site-header nav li > a {
  display: block;
  color: #ffffff;
  padding: 0.625rem 1.25rem;
}
.site-header nav li > a:hover {
  text-decoration: none;
}
.site-header nav li > a.music-toggle {
  color: #707070;
}
.site-header nav li > a.music-toggle:hover {
  color: #d13df1;
}
.site-header nav li > a.music-toggle.enabled {
  color: #3be062;
}
.site-header nav li > a.music-toggle.enabled:hover {
  color: #3be062;
}
.site-header nav li ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #303030;
  color: #ffffff;
  width: 10rem;
  -webkit-box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.5);
  z-index: 10;
}
.site-header nav li:hover > a {
  background-color: #303030;
}
.site-header nav li:hover ul {
  display: block;
}
.site-header nav li:hover ul a {
  background-color: #303030;
}
.site-header nav li:hover ul a:hover {
  background-color: black;
}
.site-header nav li:hover ul li.divided {
  border-top: 0.25rem solid rgba(0, 0, 0, 0.2);
}
.site-header nav li.current_page_ancestor > a, .site-header nav li.current_page_item > a {
  color: #d13df1;
}
.site-header nav li.current_page_ancestor > a:hover, .site-header nav li.current_page_item > a:hover {
  background-color: none;
}

.logo {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -0.05em;
  line-height: 1.25rem;
}
.logo span {
  color: #d13df1;
}
.logo a {
  color: inherit;
}
.logo a:hover {
  color: #d13df1;
  text-decoration: none;
}

hr {
  border: 0;
  border-top: 1px dashed #303030;
  margin: 1.25rem 0;
}

.site-footer {
  margin-top: auto;
  padding: 1.25rem 0;
  -webkit-box-shadow: 0 -1rem 1rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 -1rem 1rem rgba(0, 0, 0, 0.5);
  width: 100%;
  background-image: url(../images/background.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  z-index: 999;
  background-color: rgba(0, 0, 0, 0.5);
  background-blend-mode: color;
}
.site-footer .container {
  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;
  gap: 2.5rem;
}

.tag-cloud,
.compare-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.3125rem;
  line-height: 1;
  font-size: 0.75rem;
}
.tag-cloud hr,
.compare-block hr {
  width: 100%;
  display: block;
  border: 0;
  border-top: 1px solid #303030;
}
.tag-cloud a, .tag-cloud button, .tag-cloud .compare-item,
.compare-block a,
.compare-block button,
.compare-block .compare-item {
  border: 1px solid #303030;
  padding: 0.25rem 0.5rem;
  color: #ffffff;
  -webkit-transition: all 0.24s ease;
  transition: all 0.24s ease;
  border-radius: 0.25rem;
  background: none;
  cursor: pointer;
  font-size: 0.75rem;
}
.tag-cloud a:hover, .tag-cloud button:hover, .tag-cloud .compare-item:hover,
.compare-block a:hover,
.compare-block button:hover,
.compare-block .compare-item:hover {
  border-color: #d13df1;
  background-color: #d13df1;
  text-decoration: none;
}
.tag-cloud a.contexted, .tag-cloud button.contexted, .tag-cloud .compare-item.contexted,
.compare-block a.contexted,
.compare-block button.contexted,
.compare-block .compare-item.contexted {
  background-color: #e13a3a;
  border-color: #e13a3a;
}
.tag-cloud a > strong, .tag-cloud button > strong, .tag-cloud .compare-item > strong,
.compare-block a > strong,
.compare-block button > strong,
.compare-block .compare-item > strong {
  padding: 0.219rem 0.5rem;
  margin: 0.125rem -0.5rem 0.125rem 0.5rem;
  background-color: rgba(209, 61, 241, 0.2);
  border-radius: 0.25rem;
}
.tag-cloud.mini a, .tag-cloud.mini button, .tag-cloud.mini .compare-item,
.compare-block.mini a,
.compare-block.mini button,
.compare-block.mini .compare-item {
  color: #707070;
  border: 0;
  padding: 0;
}
.tag-cloud.mini a:not(:last-child):after, .tag-cloud.mini button:not(:last-child):after, .tag-cloud.mini .compare-item:not(:last-child):after,
.compare-block.mini a:not(:last-child):after,
.compare-block.mini button:not(:last-child):after,
.compare-block.mini .compare-item:not(:last-child):after {
  content: ", ";
}
.tag-cloud.mini a:hover, .tag-cloud.mini button:hover, .tag-cloud.mini .compare-item:hover,
.compare-block.mini a:hover,
.compare-block.mini button:hover,
.compare-block.mini .compare-item:hover {
  background: transparent;
  color: #d13df1;
}
.tag-cloud button:hover,
.compare-block button:hover {
  background: none;
}
.tag-cloud button.include,
.compare-block button.include {
  border-color: #3be062;
  background: none;
}
.tag-cloud button.exclude,
.compare-block button.exclude {
  border-color: #e13a3a;
  background: none;
}
.tag-cloud.mini button.include,
.compare-block.mini button.include {
  color: #3be062;
}
.tag-cloud.mini button.exclude,
.compare-block.mini button.exclude {
  color: #e13a3a;
}
.tag-cloud input[type=checkbox],
.compare-block input[type=checkbox] {
  position: absolute;
  opacity: 0;
}

.legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.25rem;
  margin: 2.5rem 0 0;
}
.legend > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.625rem;
}
.legend > div:before {
  content: "";
  display: inline-block;
  width: 1.5rem;
  height: 1.5rem;
  background-color: none;
  border-radius: 0.25rem;
}
.legend > div.include:before {
  background-color: #3be062;
}
.legend > div.exclude:before {
  background-color: #e13a3a;
}

.section--inner .character-toggles:not(:first-child) {
  margin-top: 2.5rem;
}

.select_wrap {
  width: 14rem;
  margin: 0;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}
.select_wrap:not(:last-child) {
  margin-bottom: 0.625rem;
}
.select_wrap .default_option {
  background: none;
  border: 1px solid #303030;
  border-radius: 0.25rem;
  position: relative;
  cursor: pointer;
  padding: 0;
  margin: 0;
  list-style: none;
}
.select_wrap .default_option li {
  padding: 0.625rem 1.25rem;
}
.select_wrap .default_option:before {
  content: "";
  position: absolute;
  top: 1.125rem;
  right: 1.125rem;
  width: 0.375rem;
  height: 0.375rem;
  border: 0.125rem solid;
  border-color: transparent transparent #ffffff #ffffff;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.select_wrap .select_ul {
  overflow: hidden;
  position: absolute;
  border: 1px solid #303030;
  top: 3.125rem;
  left: 0;
  width: 100%;
  border-radius: 0.25rem;
  z-index: 5;
  display: none;
  list-style: none;
  padding: 0;
  margin: 0;
  -webkit-box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.5);
  background-image: url(../images/background.jpg);
  background-repeat: repeat;
  background-position: 0 0;
}
.select_wrap .select_ul li {
  cursor: pointer;
  padding: 0.625rem 1.25rem;
}
.select_wrap .select_ul li:hover {
  background-color: #d13df1;
}
.select_wrap.active .default_option {
  border-color: #d13df1;
}
.select_wrap.active .select_ul {
  display: block;
}

.anime-toggles, .character-toggles {
  margin-top: 2.5rem;
  display: none;
}
.anime-toggles.active, .character-toggles.active {
  display: block;
}

.create-list {
  margin-top: 2.5rem;
  display: none;
}
.create-list.active {
  display: table;
}

.search-notice {
  padding: 2.5rem;
  border: 1px solid #303030;
  border-left: 0.25rem solid #e13a3a;
}
.search-notice h2 {
  color: #e13a3a;
}

.score-line {
  display: block;
  height: 1px;
  width: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#e13a3a), color-stop(50%, #f1e23d), to(#3be062));
  background: linear-gradient(90deg, #e13a3a 0%, #f1e23d 50%, #3be062 100%);
  margin: 0.625rem 0;
  position: relative;
}
.score-line .pointer {
  position: absolute;
  left: 0%;
  -webkit-transition: all 1.74s ease;
  transition: all 1.74s ease;
}
.score-line .pointer:before, .score-line .pointer:after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 3px 0 3px;
  border-color: #707070 transparent transparent transparent;
  top: -4px;
}
.score-line .pointer:after {
  border-width: 0 3px 3px 3px;
  border-color: transparent transparent #707070 transparent;
  top: auto;
  bottom: -4px;
}

.score .partial, .placement .partial {
  font-weight: 700;
  font-size: 0.875rem;
}
.score .partial em, .placement .partial em {
  color: #707070;
  font-weight: 400;
  margin-right: 0.3125rem;
}

.score {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.score .total {
  font-weight: 700;
  font-size: 1.125rem;
  background-color: #f1e23d;
  background: -webkit-gradient(linear, left top, right top, from(#e13a3a), color-stop(50%, #f1e23d), to(#3be062));
  background: linear-gradient(90deg, #e13a3a 0%, #f1e23d 50%, #3be062 100%);
  background-size: 15rem;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-text-fill-color: transparent;
  position: relative;
}
.score .total:after {
  content: "";
  -webkit-clip-path: polygon(50% 0%, 66% 26%, 98% 35%, 79% 57%, 79% 91%, 50% 78%, 21% 91%, 25% 57%, 2% 35%, 33% 27%);
          clip-path: polygon(50% 0%, 66% 26%, 98% 35%, 79% 57%, 79% 91%, 50% 78%, 21% 91%, 25% 57%, 2% 35%, 33% 27%);
  background-color: #707070;
  z-index: -1;
  position: absolute;
  left: -0.9375rem;
  top: -0.15625rem;
  width: 1.875rem;
  height: 1.875rem;
  opacity: 0.2;
  -webkit-transform: rotate(35deg);
          transform: rotate(35deg);
}

.position {
  width: 100%;
  font-size: 0.875rem;
  font-style: italic;
  margin-top: 0.625rem;
  border-top: 1px solid #707070;
  color: #707070;
}
.position strong {
  color: #ffffff;
}

.switch {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.switch div {
  text-transform: uppercase;
  position: relative;
  z-index: 2;
  float: left;
  width: 6rem;
  line-height: 2rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #ffffff;
  text-align: center;
  cursor: pointer;
  border-radius: 0.25rem;
}
.switch div.active {
  background-color: #d13df1;
}
.switch--toggle div {
  width: 7.5rem;
}

.section--cards .section--inner, .section--static-cards .section--inner {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17rem, 1fr));
  gap: 1.25rem 2.5rem;
  padding-right: 2.5rem;
}
.section--cards .section--inner > h2, .section--static-cards .section--inner > h2 {
  width: 100%;
  grid-column: 1/-1;
  margin-top: 0;
  margin-bottom: -0.625rem;
}
.section--cards.double .section--inner, .section--static-cards.double .section--inner {
  -ms-grid-columns: 1fr;
  grid-template-columns: 1fr;
}
@media (min-width: 48em) {
  .section--cards.double .section--inner, .section--static-cards.double .section--inner {
    grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr));
  }
}

.card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 0.625rem;
  position: relative;
  height: 7.1875rem;
  -webkit-box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 0.3125rem 0.9375rem rgba(0, 0, 0, 0.5);
  cursor: pointer;
}
.card.card-double .name {
  max-width: 100%;
}
.card.card-double .image {
  height: 6.5rem;
}
@media (min-width: 68.75em) {
  .card.card-double .image {
    height: auto;
  }
}
.card.card-double:not(.card--enlarge) {
  height: 14.375rem;
}
@media (min-width: 68.75em) {
  .card.card-double:not(.card--enlarge) {
    height: 7.1875rem;
  }
}
.card--spacer {
  pointer-events: none;
  -webkit-box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.8);
          box-shadow: inset 0 0 2rem rgba(0, 0, 0, 0.8);
  border-radius: 0.25rem;
}
.card-double + .card--spacer {
  height: 14.375rem;
}
@media (min-width: 68.75em) {
  .card-double + .card--spacer {
    height: 7.1875rem;
  }
}
.card--spacer-title {
  height: calc(20px - 0.625rem);
  -webkit-box-shadow: none;
          box-shadow: none;
  position: relative;
}
.card--spacer-title:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #303030;
}
.card:hover {
  border-color: #d13df1;
}
.card .name {
  max-width: calc(100% - 3rem);
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card .subname {
  display: none;
  margin-bottom: 0;
  margin-top: -0.833rem;
  color: #707070;
}
.card .nickname {
  display: none;
  position: absolute;
  left: -1rem;
  top: -1px;
  background: #d13df1;
  line-height: 1;
  padding: 0.25rem 1rem;
  z-index: 2;
}
.card .nickname:before, .card .nickname:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  position: absolute;
}
.card .nickname:before {
  border-width: 0 0.9375rem 1.25rem 0;
  border-color: transparent #4c075b transparent transparent;
  top: 100%;
  left: 0;
}
.card .nickname:after {
  border-width: 1.5rem 2rem 0 0;
  border-color: #d13df1 transparent transparent transparent;
  left: 100%;
  top: 0;
}
.card .role {
  position: absolute;
  right: 1rem;
  top: -0.625rem;
  font-size: 0.75rem;
  background-image: url(../images/background.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  padding: 0 0.5rem;
  color: #707070;
}
.card .position {
  margin-top: -0.625rem;
  margin-bottom: 0.625rem;
}
.card .image {
  width: 100%;
  max-width: 4.25rem;
  max-height: 100%;
  overflow: hidden;
  position: relative;
}
.card .image img, .card .image video {
  margin: 0;
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: none;
  max-height: 100%;
}
.card .image .gif {
  display: none;
}
.card .info {
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.card .info .name {
  color: #ffffff;
}
.card .info .details {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 0.625rem;
}
.card .info .details em {
  color: #707070;
  display: none;
}
.card .info.ship {
  width: auto;
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
}
.card .rating {
  line-height: 1;
  font-weight: 700;
  font-size: 1.125rem;
  text-align: right;
  -ms-flex-item-align: end;
      align-self: flex-end;
  margin-left: auto;
  background-color: #f1e23d;
  background: -webkit-gradient(linear, left top, right top, from(#e13a3a), color-stop(50%, #f1e23d), to(#3be062));
  background: linear-gradient(90deg, #e13a3a 0%, #f1e23d 50%, #3be062 100%);
  background-size: 15rem;
  -webkit-background-clip: text;
  -moz-background-clip: text;
  -webkit-text-fill-color: transparent;
  -moz-text-fill-color: transparent;
  position: relative;
  z-index: 3;
  min-width: 2.5rem;
}
.card .graph {
  width: 96px;
  height: 96px;
  display: block;
  position: absolute;
  background-image: url(../images/background.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  right: -47px;
  top: 10px;
  -webkit-transform: rotate(-25deg);
          transform: rotate(-25deg);
  border-radius: 3rem;
}
.card .graph .line {
  height: 50px;
  width: 7px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: absolute;
  left: 46px;
  bottom: 10px;
  z-index: 3;
}
.card .graph .line:before {
  content: "";
  background: #707070;
  height: 100%;
  width: 1px;
  left: 3px;
  top: 0;
  position: absolute;
  background-color: #99d4c3;
}
.card .graph .line:after {
  content: "";
  width: 10px;
  height: 10px;
  background-image: url(../images/personality.png);
  background-position: 50%;
  background-repeat: no-repeat;
  position: absolute;
  left: -2px;
  top: 52px;
}
.card .graph .line span {
  width: 100%;
  height: 1px;
  background-color: #99d4c3;
}
.card .graph .line span:first-child {
  width: 1px;
}
.card .graph .line.looks {
  -webkit-transform: rotate(120deg);
          transform: rotate(120deg);
  left: 24px;
  bottom: 48px;
}
.card .graph .line.looks:before, .card .graph .line.looks span {
  background-color: #ffb6b6;
}
.card .graph .line.looks:after {
  background-image: url(../images/looks.png);
}
.card .graph .line.story {
  -webkit-transform: rotate(240deg);
          transform: rotate(240deg);
  left: 68px;
  bottom: 48px;
}
.card .graph .line.story:before, .card .graph .line.story span {
  background-color: #8bb9ff;
}
.card .graph .line.story:after {
  background-image: url(../images/story.png);
  -webkit-transform: rotate(-220deg);
          transform: rotate(-220deg);
}
.card .graph .charts {
  opacity: 0.25;
}
.card .graph .charts:hover {
  position: relative;
  z-index: 4;
  opacity: 0.6;
}
.card .graph .chart {
  position: absolute;
  background-color: #ffffff;
  opacity: 1;
  width: 85px;
  height: 75px;
  left: 7px;
  top: 10px;
  -webkit-clip-path: polygon(50% 33%, 50% 33%, 50% 33%);
          clip-path: polygon(50% 33%, 50% 33%, 50% 33%);
  -webkit-mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), to(#99d4c3));
  -webkit-mask-image: linear-gradient(to top, transparent, #99d4c3);
          mask-image: -webkit-gradient(linear, left bottom, left top, from(transparent), to(#99d4c3));
          mask-image: linear-gradient(to top, transparent, #99d4c3);
  background: -webkit-gradient(linear, left top, right top, from(#ffb6b6), to(#8bb9ff));
  background: linear-gradient(90deg, #ffb6b6, #8bb9ff);
  z-index: 2;
  -webkit-transition: all 1.74s ease;
  transition: all 1.74s ease;
}
.card .graph .chart--shadow {
  background: #99d4c3;
  -webkit-mask-image: none;
          mask-image: none;
  z-index: 1;
}
.card .tags {
  display: none;
}
.card .placement {
  border-top: 1px solid #303030;
  padding-top: 0.3125rem;
}
.card .score, .card .placement {
  display: none;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 1.25rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.card .score .partial, .card .placement .partial {
  color: #ffffff;
}
.card .score .partial.personality, .card .placement .partial.personality {
  color: #99d4c3;
}
.card .score .partial.looks, .card .placement .partial.looks {
  color: #ffb6b6;
}
.card .score .partial.story, .card .placement .partial.story {
  color: #8bb9ff;
}
.card .score .partial.bias, .card .placement .partial.bias {
  color: #d499d4;
}
.card .score .partial:before {
  content: "";
  width: 10px;
  height: 10px;
  margin-right: 0.625rem;
  display: inline-block;
  background-image: url(../images/personality.png);
  background-position: 50%;
  background-repeat: no-repeat;
}
.card .score .partial.looks:before {
  background-image: url(../images/looks.png);
}
.card .score .partial.story :before {
  background-image: url(../images/story.png);
}
.card .anime-in {
  display: none;
}
.card .ship-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
  width: 100%;
}
.card .primary, .card .secondary {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media (min-width: 68.75em) {
  .card .primary, .card .secondary {
    max-width: calc(50% - 0.625rem);
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.card .primary .info, .card .secondary .info {
  margin-top: 0.75rem;
}
.card .primary .info > *:not(.details), .card .secondary .info > *:not(.details) {
  margin-right: 0;
}
.card--enlarge {
  grid-column: 1/-1;
  gap: 1.25rem;
  border-color: #d13df1;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: initial;
  min-height: 17.625rem;
}
.card--enlarge.card-double {
  grid-column: 1/-1;
}
@media (min-width: 47rem) {
  .card--enlarge {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.card--enlarge .subname {
  display: block;
}
.card--enlarge .nickname {
  display: block;
}
.card--enlarge .role {
  color: #ffffff;
}
.card--enlarge .score, .card--enlarge .placement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.card--enlarge .tags {
  display: block;
}
.card--enlarge .anime-in {
  display: block;
  color: #707070;
}
.card--enlarge .anime-in a:not(:last-child)::after {
  content: ", ";
}
.card--enlarge .image, .card--enlarge.card-double .image {
  max-width: 11rem;
  height: 16.25rem;
}
.card--enlarge .image .gif, .card--enlarge.card-double .image .gif {
  display: block;
}
.card--enlarge .graph {
  -webkit-transform: rotate(-25deg) scale(1.5);
          transform: rotate(-25deg) scale(1.5);
  top: 80px;
  right: 47px;
}
@media (min-width: 47rem) {
  .card--enlarge .graph {
    top: 50px;
    right: -47px;
  }
}
.card--enlarge .info {
  font-size: 0.875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  gap: 0.625rem;
}
@media (min-width: 36rem) {
  .card--enlarge .info > *:not(.details) {
    margin-right: 100px;
  }
}
.card--enlarge .info .name {
  color: #ffffff;
}
.card--enlarge .info .details em {
  display: initial;
}
.card--enlarge .info.ship {
  width: 100%;
  -ms-flex-item-align: initial;
      -ms-grid-row-align: initial;
      align-self: initial;
}
.card--enlarge .info.ship > *:not(.details) {
  margin-right: 0;
}
.card--enlarge .ship-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}
.card--enlarge .ship-wrapper + .graph {
  display: none;
}
@media (min-width: 68.75em) {
  .card--enlarge .ship-wrapper + .graph {
    display: block;
  }
}
.card--enlarge .primary, .card--enlarge .secondary {
  max-width: calc(50% - 0.625rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 1.25rem;
}
@media (min-width: 68.75em) {
  .card--enlarge .primary, .card--enlarge .secondary {
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
  }
}
.card--enlarge .primary .info, .card--enlarge .secondary .info {
  margin-top: 0.75rem;
}
.card--enlarge .primary .info > *:not(.details), .card--enlarge .secondary .info > *:not(.details) {
  margin-right: 0;
}

.nav-links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
  font-size: 0.75rem;
  line-height: 1;
  margin-top: 2.5rem;
}
.nav-links span, .nav-links a {
  padding: 0.25rem 0.5rem;
  color: #ffffff;
  -webkit-transition: all 0.24s ease;
  transition: all 0.24s ease;
  border-radius: 0.25rem;
}
.nav-links span.current {
  border: 1px solid #303030;
}
.nav-links a {
  border: 1px solid #8bb9ff;
}
.nav-links a:hover {
  background: #8bb9ff;
  text-decoration: none;
}

.ranking-info {
  font-size: 0.875rem;
  max-width: 30rem;
  margin-top: 10px;
}
.ranking-info strong {
  color: #d13df1;
}

.section--info .partial-score {
  color: #707070;
}
.section--info .placement {
  border-top: 1px solid #303030;
  padding-top: 0.3125rem;
  margin-top: 0.3125rem;
}
.section--info .placement {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.section--info .placement .partial {
  color: #ffffff;
}
.section--info .placement .partial.personality {
  color: #99d4c3;
}
.section--info .placement .partial.looks {
  color: #ffb6b6;
}
.section--info .placement .partial.story {
  color: #8bb9ff;
}

#contextMenu {
  position: absolute;
  display: none;
  -webkit-box-shadow: 0 0 3rem rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 3rem rgba(0, 0, 0, 0.75);
  background-color: #303030;
  z-index: 20;
}
#contextMenu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
#contextMenu a {
  font-size: 0.875rem;
  display: block;
  padding: 0.625rem 1.25rem;
  color: #ffffff;
  min-width: 10rem;
}
#contextMenu a:hover {
  background-color: #000000;
  text-decoration: none;
}

#edit-card {
  display: none;
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 1112;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#edit-card.active {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.edit-overlay {
  position: fixed;
  left: 0;
  top: 0;
  background-color: #d13df1;
  mix-blend-mode: color;
  width: 100%;
  height: 100%;
  z-index: 1111;
  display: none;
}
.edit-overlay:after {
  content: "";
  position: fixed;
  left: 0;
  top: 0;
  background-color: #303030;
  opacity: 0.6;
  width: 100%;
  height: 100%;
  z-index: 3;
}
#edit-card.active + .edit-overlay {
  display: block;
}

.edit-column {
  width: 200%;
  max-width: 11rem;
}

.card-edit {
  max-width: 72rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.5rem;
  padding: 2.5rem;
  background-image: url(../images/background.jpg);
  background-repeat: repeat;
  background-position: 0 0;
  -webkit-box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.5);
          box-shadow: 0 1rem 1rem rgba(0, 0, 0, 0.5);
}
@media (min-width: 48em) {
  .card-edit {
    width: 100%;
  }
}
.card-edit .image {
  width: 200%;
  max-width: 11rem;
  height: 16.25rem;
  max-height: 100%;
  overflow: hidden;
  position: relative;
}
.card-edit .image img, .card-edit .image video {
  margin: 0;
  min-width: 100%;
  min-height: 100%;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  max-width: none;
  max-height: 100%;
}

.edit-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0.3125rem;
}
.edit-input input, .edit-input select {
  padding: 0.25rem 0.5rem;
  border-radius: 0.25rem;
  border: 0;
  background: #303030;
  color: #ffffff;
}
.edit-input input:focus-visible, .edit-input select:focus-visible {
  outline: 1px solid #d13df1;
}
.edit-input input[type=number], .edit-input select[type=number] {
  width: 2.75rem;
  text-align: center;
}
.edit-input input[type=number]::-webkit-inner-spin-button, .edit-input select[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
}
.edit-input label {
  font-size: 0.875rem;
}
.edit-input:not(:first-child) {
  margin-top: 0.625rem;
}
.edit-input.inline {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.input-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2.5rem;
  margin-top: 2.5rem;
}

.edit-footer {
  margin-top: 2.5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.625rem;
}

/***
* Blocks
***/