/* ========================================
   ED LOST LEGIONS — LEGIONS PAGE
======================================== */


/* ========================================
   GLOBAL
======================================== */

* {
  box-sizing: border-box;
}

html,
body {
  margin: 0;
  padding: 0;
}

body {
  background: #F3F0E9;
  color: #111111;

  font-family:
    Arial,
    Helvetica,
    sans-serif;
}

img {
  display: block;
  max-width: 100%;
}


/* ========================================
   INTERNAL HEADER
======================================== */

.site-header {
  position: relative;

  width: 100%;
  max-width: 1220px;

  margin: 0 auto;

  background: #000000;

  overflow: hidden;
}

.internal-header-image {
  display: block;

  width: 100%;
  height: auto;
}


/* ========================================
   NAVIGATION
======================================== */

.main-nav {
  position: absolute;

  top: 28px;
  right: 60px;

  display: flex;
  align-items: center;

  gap: 34px;

  z-index: 30;
}

.main-nav a {
  display: inline-block;

  color: #FFFFFF;

  text-decoration: none;

  font-size: 18px;
  font-weight: 500;

  line-height: 1;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.main-nav a:hover {
  opacity: 0.7;

  transform: translateY(-1px);
}

.main-nav a.active {
  opacity: 0.65;
}


/* ========================================
   LANGUAGE SWITCH
======================================== */

.main-nav a.language-switch {
  display: flex;
  align-items: center;
  justify-content: center;

  margin-left: 6px;
  padding: 0;

  text-decoration: none;

  opacity: 1;
}

.main-nav a.language-switch img {
  display: block;

  width: 25px;
  height: auto;

  opacity: 0.58;

  filter:
    saturate(70%)
    brightness(1.5);

  transition:
    opacity 0.2s ease,
    filter 0.2s ease,
    transform 0.2s ease;
}

.main-nav a.language-switch:hover {
  opacity: 1;

  transform: none;
}

.main-nav a.language-switch:hover img {
  opacity: 0.95;

  filter:
    saturate(85%)
    brightness(1);

  transform: scale(1.08);
}


/* ========================================
   INTRO
======================================== */

.legions-intro {
  width: 100%;
  max-width: 1220px;

  margin: 0 auto;

  padding:
    42px
    52px
    46px;

  background: #F3F0E9;
}

.legions-intro h1 {
  margin:
    0
    0
    42px;

  text-align: center;

  font-size: 26px;
  font-weight: 700;

  letter-spacing: 0.2px;
}

.intro-copy {
  max-width: 1120px;

  margin: 0 auto;
}

.intro-copy p {
  margin:
    0
    0
    31px;

  font-size: 21px;

  line-height: 1.48;

  text-align: justify;
}

.intro-copy p:last-child {
  margin-bottom: 0;
}


/* ========================================
   LEGION SECTION
======================================== */

.legion-section {
  width: 100%;

  background:
    rgba(0, 0, 0, 0.018);
}

.legion-section.forming {
  background: #F3F0E9;
}

.legion-container {
  width: 100%;
  max-width: 1220px;

  margin: 0 auto;

  padding:
    52px
    56px
    58px;
}

.legion-container h2 {
  margin:
    0
    0
    42px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 31px;
  font-weight: 700;

  letter-spacing: 0.2px;
}


/* ========================================
   LEGION RECORD
======================================== */

.legion-record {
  display: grid;

  grid-template-columns:
    285px
    1fr;

  gap: 72px;

  align-items: center;
}


/* ========================================
   EMBLEM
======================================== */

.legion-emblem {
  width: 285px;

  aspect-ratio: 1 / 1;

  overflow: hidden;
}

.legion-emblem img {
  width: 100%;
  height: 100%;

  object-fit: cover;
}


/* ========================================
   FORMING LEGION PLACEHOLDERS
======================================== */

.second-legion-placeholder,
.third-legion-placeholder {
  background: #B3212E;
}


/* ========================================
   LEGION DATA
======================================== */

.legion-data ul {
  margin: 0;

  padding-left: 28px;
}

.legion-data li {
  margin:
    0
    0
    7px;

  font-size: 21px;

  line-height: 1.34;
}


/* ========================================
   STANDARD ACTION ROW
======================================== */

.action-row {
  display: flex;

  justify-content: flex-end;

  margin-top: 46px;
}


/* ========================================
   ACTION BUTTON
======================================== */

.action-button {
  display: inline-block;

  min-width: 320px;

  padding:
    16px
    30px;

  border: 0;

  background: #B3212E;

  color: #FFFFFF;

  text-align: center;
  text-decoration: none;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 16px;
  font-weight: 700;

  line-height: 1;

  cursor: pointer;

  transition:
    opacity 0.2s ease,
    transform 0.2s ease;
}

.action-button:hover {
  opacity: 0.88;

  transform: translateY(-1px);
}


/* ========================================
   III LEGION — ACTION BUTTONS
======================================== */

.third-legion-actions {
  width: 100%;
  max-width: 520px;

  margin:
    46px
    0
    0
    auto;

  display: flex;

  flex-direction: column;

  gap: 14px;
}

.third-legion-actions .action-button {
  width: 100%;
  min-width: 0;

  margin: 0;
}

.third-enlist-action {
  background: #B3212E;
}

.third-roll-action {
  background: #8F8F8F;
}


/* ========================================
   RANKS IMAGE
======================================== */

.ranks-image-panel {
  display: none;

  width: 100%;

  margin-top: 44px;
}

.ranks-image-panel.visible {
  display: block;
}

.ranks-image {
  display: block;

  width: 100%;
  max-width: 900px;

  height: auto;

  margin:
    0
    auto
    0
    0;

  object-fit: contain;
}


/* ========================================
   III LEGION — PUBLIC ROLL
======================================== */

.third-roll-panel {
  display: none;

  width: 100%;

  margin-top: 44px;
}

.third-roll-panel.visible {
  display: block;
}

.third-roll-panel h3 {
  margin:
    0
    0
    28px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 24px;
  font-weight: 700;

  letter-spacing: 0.2px;
}

.third-roll-list {
  width: 100%;
}


/* ========================================
   III LEGION — ROLL ENTRIES
======================================== */

.third-roll-entry {
  display: flex;
  align-items: center;

  gap: 18px;

  padding: 12px 0;

  border-bottom:
    1px solid rgba(0, 0, 0, 0.12);
}

.third-roll-rank {
  width: 42px;

  display: flex;
  align-items: center;
  justify-content: center;

  flex-shrink: 0;
}

.third-roll-rank img {
  width: 34px;
  height: 34px;

  object-fit: contain;
}

.third-roll-name {
  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 18px;
  font-weight: 600;

  letter-spacing: 0.4px;
}

.cohort-block {
  width: 100%;

  margin-bottom: 12px;

  border-bottom:
    1px solid rgba(0, 0, 0, 0.12);
}

.cohort-button {
  width: 100%;

  padding:
    15px
    18px;

  border: 0;

  background: transparent;

  color: #111111;

  text-align: left;

  font-family:
    "Cinzel",
    serif;

  font-size: 17px;
  font-weight: 700;

  letter-spacing: 0.8px;

  cursor: pointer;
}

.cohort-members {
  display: none;

  padding:
    4px
    18px
    14px;
}

.cohort-members.visible {
  display: block;
}

.empty-cohort {
  margin: 0;

  padding:
    8px
    0;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 14px;

  font-style: italic;

  color: #666666;
}

/* ========================================
   THIRD LEGION ENLISTMENT OVERLAY
======================================== */

.enlistment-overlay {
  position: fixed;

  inset: 0;

  display: none;

  align-items: center;
  justify-content: center;

  padding: 25px;

  background:
    rgba(15, 10, 6, 0.80);

  backdrop-filter: blur(3px);

  z-index: 9999;
}

.enlistment-overlay.visible {
  display: flex;
}


/* ========================================
   REAL PARCHMENT
======================================== */

.enlistment-scroll {
  position: relative;

  width: min(680px, 92vw);
  max-height: 94vh;

  overflow-y: auto;

  padding:
    90px
    100px
    105px;

  background-image:
    url("../assets/images/pergamino.png");

  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center;

  color: #2e2117;

  border: none;

  box-shadow:
    0 28px 75px rgba(0, 0, 0, 0.70);
}


/* ========================================
   CLOSE BUTTON
======================================== */

.enlistment-close {
  position: absolute;

  top: 45px;
  right: 55px;

  z-index: 10;

  padding: 0;

  border: none;

  background: transparent;

  color: #4d301c;

  font-size: 32px;
  font-weight: 700;

  line-height: 1;

  cursor: pointer;

  opacity: 0.85;
}

.enlistment-close:hover {
  opacity: 1;
}


/* ========================================
   PARCHMENT CONTENT
======================================== */

.scroll-content {
  position: relative;

  z-index: 2;

  text-align: center;
}

.scroll-small-title {
  margin-bottom: 13px;

  font-family:
    "Cinzel",
    serif;

  font-size: 13px;

  letter-spacing: 5px;

  color: #302317;
}

.scroll-content h2 {
  margin:
    0
    0
    18px;

  font-family:
    "Cinzel",
    serif;

  font-size: 27px;
  font-weight: 700;

  line-height: 1.3;

  letter-spacing: 1px;

  color: #7d1822;
}

.scroll-content > p {
  max-width: 490px;

  margin:
    0
    auto
    34px;

  color: #302317;

  font-size: 15px;

  line-height: 1.65;
}


/* ========================================
   ENLISTMENT FORM
======================================== */

.enlistment-form {
  display: flex;

  flex-direction: column;

  width: 100%;
  max-width: 470px;

  margin: 0 auto;

  text-align: left;
}

.enlistment-form > label {
  margin:
    18px
    0
    7px;

  font-family:
    "Cinzel",
    serif;

  font-size: 12px;
  font-weight: 600;

  letter-spacing: 2px;

  color: #302317;
}


/* ========================================
   FORM INPUTS
======================================== */

.enlistment-form input[type="text"],
.enlistment-form input[type="number"],
.enlistment-form input[type="email"] {
  width: 100%;

  padding:
    10px
    4px;

  border: none;

  border-bottom:
    1px solid rgba(68, 43, 20, 0.75);

  border-radius: 0;

  outline: none;

  background: transparent;

  color: #2e2117;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 16px;
}

.enlistment-form input[type="text"]:focus,
.enlistment-form input[type="number"]:focus,
.enlistment-form input[type="email"]:focus {
  border-bottom-color: #7d1822;
}


/* ========================================
   TEXTAREA
======================================== */

.enlistment-form textarea {
  width: 100%;
  min-height: 95px;

  padding: 10px;

  border:
    1px solid rgba(68, 43, 20, 0.55);

  border-radius: 0;

  outline: none;

  background:
    rgba(255, 250, 225, 0.22);

  color: #2e2117;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 14px;

  line-height: 1.5;

  resize: vertical;
}

.enlistment-form textarea:focus {
  border-color: #7d1822;
}

.enlistment-form textarea::placeholder,
.enlistment-form input::placeholder {
  color:
    rgba(46, 33, 23, 0.52);
}


/* ========================================
   PUBLIC LEGION NAME / SIGNATURE
======================================== */

.public-name-note {
  margin:
    5px
    0
    10px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 13px;

  font-style: italic;

  line-height: 1.45;

  color: #5a4430;
}

.legion-signature-field {
  position: relative;

  width: 100%;

  margin-top: 4px;
}

.legion-signature-field input {
  width: 100%;

  padding:
    12px
    4px
    8px;

  border: none;

  border-bottom:
    1px solid rgba(68, 43, 20, 0.80);

  border-radius: 0;

  outline: none;

  background: transparent;

  color: #2e2117;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 24px;

  font-style: italic;
}

.legion-signature-field input:focus {
  border-bottom-color: #7d1822;
}

.legion-signature-field input::placeholder {
  color:
    rgba(46, 33, 23, 0.35);
}


/* ========================================
   PRIVACY CONSENT
======================================== */

.privacy-consent {
  width: 100%;

  margin-top: 20px;

  padding: 0;

  background: transparent;

  color: #3a2a1d;
}

.privacy-consent label {
  display: flex;

  align-items: flex-start;

  gap: 9px;

  width: 100%;

  margin:
    10px
    0;

  padding: 0;

  font-family:
    Arial,
    Helvetica,
    sans-serif;

  font-size: 11px;
  font-weight: 400;

  line-height: 1.45;

  letter-spacing: 0;

  color: #3a2a1d;

  text-align: left;

  cursor: pointer;
}

.privacy-consent label span {
  display: block;

  flex: 1;
}

.privacy-consent input[type="checkbox"] {
  appearance: auto;

  width: 14px;
  height: 14px;

  min-width: 14px;

  margin:
    1px
    0
    0;

  padding: 0;

  border: initial;

  background: initial;

  flex:
    0
    0
    14px;

  cursor: pointer;
}


/* ========================================
   SIGN THE ROLL BUTTON
======================================== */

.scroll-submit {
  display: block;

  align-self: center;

  margin:
    28px
    auto
    0;

  padding:
    14px
    34px;

  border:
    1px solid #7d1822;

  background: #7d1822;

  color: #F3F0E9;

  font-family:
    "Cinzel",
    serif;

  font-size: 13px;
  font-weight: 700;

  letter-spacing: 1.7px;

  cursor: pointer;

  transition:
    background 0.2s ease,
    color 0.2s ease,
    transform 0.15s ease;
}

.scroll-submit:hover {
  background: transparent;

  color: #7d1822;
}

.scroll-submit:active {
  transform: translateY(2px);
}


/* ========================================
   ENLISTMENT RESULT
======================================== */

.enlistment-result {
  display: none;

  width: 100%;

  margin-top: 52px;

  align-self: center;

  text-align: center;

  font-family:
    "Cinzel",
    serif;

  font-size: 18px;

  line-height: 1.6;

  color: #7d1822;
}

.enlistment-result:not(:empty) {
  display: block;
}

.enlistment-result strong {
  display: block;

  margin-bottom: 4px;

  font-size: 22px;

  letter-spacing: 1.8px;
}

.enlistment-cohort {
  display: block;

  font-family:
    "Cinzel",
    serif;

  font-size: 18px;

  font-weight: 700;

  letter-spacing: 1.2px;

  color: #7d1822;
}

.enlistment-result > span:last-child {
  display: block;

  margin-top: 8px;

  font-family:
    Georgia,
    "Times New Roman",
    serif;

  font-size: 14px;

  font-style: italic;

  color: #3a2a1d;
}


/* ========================================
   LEGION STAMP
======================================== */

.legion-stamp {
  position: static !important;

  display: flex;

  align-self: center;
  justify-content: center;

  width: 150px;

  margin:
    28px
    auto
    0;

  flex-shrink: 0;

  opacity: 0;
}

.legion-stamp img {
  display: block;

  width: 100%;
  height: auto;
}


/* ========================================
   STAMP IMPACT
======================================== */

.legion-stamp.stamped {
  animation:
    stampImpact 0.42s
    cubic-bezier(0.16, 1, 0.3, 1)
    forwards;
}

@keyframes stampImpact {

  0% {
    opacity: 0;

    transform:
      translateY(-90px)
      scale(1.05)
      rotate(-8deg);
  }

  70% {
    opacity: 1;

    transform:
      translateY(0)
      scale(0.985)
      rotate(-8deg);
  }

  100% {
    opacity: 1;

    transform:
      translateY(0)
      scale(1)
      rotate(-8deg);
  }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 800px) {


  /* ========================================
     HEADER
  ======================================== */

  .site-header {
    display: flex !important;

    flex-direction: column !important;

    width: 100% !important;
    max-width: 100% !important;

    margin: 0 !important;

    background: #000000 !important;

    overflow: hidden !important;
  }


  /* ========================================
     NAVIGATION
  ======================================== */

  .main-nav {
    position: static !important;

    order: 1 !important;

    width: 100% !important;
    height: 58px !important;

    display: flex !important;

    align-items: center !important;
    justify-content: center !important;

    gap: 24px !important;

    padding:
      0
      12px !important;

    margin: 0 !important;

    background: #000000 !important;

    transform: none !important;
  }

  .main-nav a {
    font-family:
      Arial,
      Helvetica,
      sans-serif !important;

    font-size: 15px !important;
    font-weight: 500 !important;

    line-height: 1 !important;

    white-space: nowrap !important;
  }


  /* ========================================
     HEADER IMAGE
  ======================================== */

  .internal-header-image {
    position: static !important;

    order: 2 !important;

    display: block !important;

    width: 100% !important;
    height: auto !important;

    margin: 0 !important;
  }


  /* ========================================
     INTRO
  ======================================== */

  .legions-intro {
    padding:
      24px
      22px
      28px !important;
  }

  .legions-intro h1 {
    margin:
      0
      0
      20px !important;

    font-family:
      "Cinzel",
      serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;

    text-align: left !important;
  }

  .intro-copy p {
    margin:
      0
      0
      18px !important;

    font-size: 14px !important;

    line-height: 1.5 !important;

    text-align: justify !important;
  }

  .intro-copy p:last-child {
    margin-bottom: 0 !important;
  }


  /* ========================================
     LEGION SECTIONS
  ======================================== */

  .legion-container {
    padding:
      28px
      22px
      40px !important;
  }

  .legion-container h2 {
    margin:
      0
      0
      22px !important;

    font-family:
      "Cinzel",
      serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
  }


  /* ========================================
     LEGION RECORD
  ======================================== */

  .legion-record {
    display: block !important;
  }

  .legion-emblem {
    width: 185px !important;

    margin:
      0
      auto
      24px !important;
  }


  /* ========================================
     LEGION DATA
  ======================================== */

  .legion-data ul {
    margin: 0 !important;

    padding-left: 20px !important;
  }

  .legion-data li {
    margin:
      0
      0
      7px !important;

    font-size: 14px !important;

    line-height: 1.5 !important;
  }


  /* ========================================
     ACTION BUTTON
  ======================================== */

  .action-row {
    justify-content: center !important;

    margin-top: 28px !important;
  }

  .action-button {
    width: 100% !important;

    min-width: 0 !important;

    padding:
      12px
      18px !important;

    font-size: 14px !important;
    font-weight: 700 !important;

    line-height: 1.5 !important;
  }


  /* ========================================
     III LEGION ACTIONS
  ======================================== */

  .third-legion-actions {
    width: 100% !important;
    max-width: 100% !important;

    margin:
      28px
      0
      0 !important;

    gap: 10px !important;
  }


  /* ========================================
     RANKS
  ======================================== */

  .ranks-image-panel {
    margin-top: 26px !important;
  }

  .ranks-image {
    width: 100% !important;
    max-width: 100% !important;

    margin:
      0
      auto !important;
  }


  /* ========================================
     III LEGION ROLL
  ======================================== */

  .third-roll-panel {
    margin-top: 28px !important;
  }

  .third-roll-panel h3 {
    margin:
      0
      0
      20px !important;

    font-size: 18px !important;

    line-height: 1.5 !important;
  }


  /* ========================================
     ENLISTMENT PARCHMENT — MOBILE
  ======================================== */

  .enlistment-overlay {
    padding: 12px;
  }

  .enlistment-scroll {
    width: 96vw;

    max-height: 94vh;

    padding:
      65px
      48px
      75px;
  }

  .enlistment-close {
    top: 30px;
    right: 32px;

    font-size: 27px;
  }

  .scroll-small-title {
    font-size: 10px;

    letter-spacing: 3px;
  }

  .scroll-content h2 {
    font-size: 19px;

    line-height: 1.35;
  }

  .scroll-content > p {
    margin-bottom: 22px;

    font-size: 13px;

    line-height: 1.5;
  }

  .enlistment-form {
    max-width: 100%;
  }

  .enlistment-form > label {
    font-size: 10px;

    letter-spacing: 1.4px;
  }

  .enlistment-form input[type="text"],
  .enlistment-form input[type="number"],
  .enlistment-form input[type="email"] {
    font-size: 14px;
  }

  .privacy-consent label {
    font-size: 10px;
  }

  .scroll-submit {
    padding:
      12px
      25px;

    font-size: 12px;
  }


  /* ========================================
     ENLISTMENT RESULT — MOBILE
  ======================================== */

  .enlistment-result {
    margin-top: 42px;

    font-size: 16px;
  }

  .enlistment-result strong {
    font-size: 19px;
  }

  .enlistment-cohort {
    font-size: 16px;
  }


  /* ========================================
     LEGION STAMP — MOBILE
  ======================================== */

  .legion-stamp {
    width: 145px;

    margin:
      24px
      auto
      0;
  }

}