body {
  background-image: url("../images/side-page-bg.png");
  background-position: center top;
  background-repeat: no-repeat;
}

header {
  height: 380px;
}

.title-page {
  position: absolute;
  bottom: 30px;
  left: -5px;
  margin-bottom: 0;
  font-family: "Candara";
  font-size: 60px;
  font-weight: normal;
  color: #fff;
  text-transform: uppercase;
  letter-spacing: 5px;
  background: linear-gradient(#f6e194, #dc9938);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.item-guide-page {
  padding-bottom: 80px;
}

.history {
  width: 100%;
  height: 80px;
  background: rgba(4, 7, 5, 0.95);
}

.history a {
  display: block;
  position: relative;
  margin: 0 40px;
  font-family: "Open Sans";
  font-size: 14px;
  color: #8f7f61;
}

.history a:not(:first-child)::after {
  content: "";
  position: absolute;
  left: -54px;
  top: 50%;
  width: 32px;
  height: 34px;
  margin-top: -17px;
  background: url("../images/slider-items-next.png") center no-repeat;
  filter: brightness(80%) grayscale(100%);
}

.history a.active,
.history a:hover {
  color: #fff;
}

.item-guide-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
  align-items: stretch;
  padding: 34px 38px;
  background:
    linear-gradient(100deg, rgba(14, 23, 27, 0.96), rgba(15, 18, 18, 0.88)),
    url("../images/guide-contentBlock-bg.png") center / cover no-repeat;
  border-top: 1px solid rgba(246, 225, 148, 0.18);
  border-bottom: 1px solid rgba(246, 225, 148, 0.16);
}

.item-guide-kicker {
  display: block;
  margin-bottom: 12px;
  font-family: "OpenSans_semibold";
  font-size: 12px;
  color: #d39b42;
  text-transform: uppercase;
}

.item-guide-hero h2 {
  margin-bottom: 0;
  font-family: "Candara";
  font-size: 34px;
  font-weight: normal;
  color: #fff;
}

.item-guide-hero p {
  max-width: 760px;
  margin-bottom: 0;
  color: #aeb7b7;
  line-height: 1.7;
}

.item-guide-stats {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 150px;
  padding: 24px;
  background: rgba(4, 7, 5, 0.62);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.item-guide-stats span {
  font-family: "OpenSans_semibold";
  font-size: 13px;
  color: #8f9c9c;
  text-transform: uppercase;
}

.item-guide-stats strong {
  display: block;
  margin: 8px 0;
  font-family: "Candara";
  font-size: 52px;
  font-weight: normal;
  color: #f0b34e;
}

.item-guide-hero p,
.item-guide-stats {
  display: none;
}

.item-guide-featured {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1px;
  background: rgba(255, 255, 255, 0.06);
}

.item-guide-feature-card {
  display: flex;
  min-height: 178px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 18px 12px;
  background: rgba(11, 17, 18, 0.96);
  text-align: center;
  color: #fff;
}

.item-guide-feature-card span {
  margin-bottom: 12px;
  font-size: 12px;
  color: #8f7f61;
  text-transform: uppercase;
}

.item-guide-feature-card img {
  width: 110px;
  height: 92px;
  object-fit: contain;
  image-rendering: auto;
}

.item-guide-feature-card strong {
  display: block;
  margin-top: 12px;
  color: #fff;
  font-size: 13px;
  line-height: 1.35;
}

.item-guide-feature-card:hover,
.item-guide-feature-card.active {
  background: #141f22;
}

.item-guide-feature-card:hover strong,
.item-guide-feature-card.active strong {
  color: #ffb432;
}

.item-guide-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  margin-top: 22px;
  background: rgba(255, 255, 255, 0.06);
}

.item-guide-nav[hidden] {
  display: none;
}

.item-guide-nav a {
  flex: 1 0 132px;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  background: #10181c;
  color: #c5b88f;
  font-family: "OpenSans_semibold";
  font-size: 13px;
}

.item-guide-nav a:hover,
.item-guide-nav a.active {
  background: #18242a;
  color: #fff;
}

.item-guide-class-nav a {
  flex: 1 0 190px;
  font-size: 14px;
}

.item-guide-weapon-section {
  display: none;
  margin-top: 28px;
  background: rgba(8, 12, 14, 0.96);
  border-top: 1px solid rgba(246, 225, 148, 0.16);
}

.item-guide-weapon-section.active {
  display: block;
  animation: itemGuideFade 0.22s ease-out;
}

.item-guide-gear-nav {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  background: rgba(255, 255, 255, 0.06);
}

.item-guide-gear-nav a {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  background: #0d1518;
  color: #c5b88f;
  font-family: "OpenSans_semibold";
  font-size: 13px;
}

.item-guide-gear-nav a:hover,
.item-guide-gear-nav a.active {
  background: #18242a;
  color: #fff;
}

.item-guide-section {
  display: none;
  margin-top: 0;
  background: rgba(8, 12, 14, 0.96);
  border-top: 1px solid rgba(246, 225, 148, 0.16);
}

.item-guide-section.active {
  display: block;
  animation: itemGuideFade 0.22s ease-out;
}

@keyframes itemGuideFade {
  from {
    opacity: 0;
    transform: translateY(8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.item-guide-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 20px;
  padding: 22px 26px;
  background: #10171b;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.item-guide-section-head span {
  display: block;
  margin-bottom: 6px;
  color: #8f7f61;
  font-size: 12px;
  text-transform: uppercase;
}

.item-guide-section-head h2 {
  margin-bottom: 0;
  font-family: "Candara";
  font-size: 30px;
  font-weight: normal;
}

.item-guide-section-head strong {
  color: #8f9c9c;
  font-size: 13px;
  white-space: nowrap;
}

.item-guide-subsection {
  display: none;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.item-guide-subsection.active {
  display: block;
}

.item-guide-subsection:first-of-type {
  border-top: none;
}

.item-guide-subsection-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 26px;
  background: #0e1518;
}

.item-guide-subsection-head h3 {
  margin-bottom: 0;
  font-family: "OpenSans_semibold";
  font-size: 17px;
  color: #f0d28b;
}

.item-guide-subsection-head strong {
  color: #8f9c9c;
  font-size: 12px;
  white-space: nowrap;
}

.item-guide-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.item-guide-table {
  min-width: 920px;
}

.item-guide-table th {
  padding: 16px 18px;
  background: #1b1918;
  color: #b4a989;
  font-family: "OpenSans_semibold";
  font-size: 13px;
  text-align: center;
  text-transform: uppercase;
}

.item-guide-table th:first-child,
.item-guide-table td:first-child {
  width: 310px;
  text-align: left;
}

.item-guide-table td {
  padding: 14px 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.04);
  color: #b9c1c1;
  text-align: center;
}

.item-guide-table tbody tr:nth-child(even) {
  background: #121719;
}

.item-guide-table tbody tr:nth-child(odd) {
  background: #0f1416;
}

.item-guide-table tbody tr:hover {
  background: #1a2428;
}

.item-guide-item {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.item-guide-item img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.item-guide-item strong {
  color: #fff;
  line-height: 1.35;
}

.skill-mastery-section {
  margin-top: 28px;
}

.skill-mastery-table-wrap {
  max-height: 760px;
  overflow: auto;
}

.skill-mastery-table {
  min-width: 520px;
}

.skill-mastery-table th {
  position: sticky;
  top: 0;
  z-index: 2;
}

.skill-mastery-table th:first-child,
.skill-mastery-table td:first-child {
  width: auto;
  text-align: center;
}

.skill-mastery-table td {
  font-family: "OpenSans_semibold";
  color: #d8e5e5;
}

@media (max-width: 1200px) {
  .item-guide-featured {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  header {
    height: 280px;
  }

  .title-page {
    font-size: 38px;
    letter-spacing: 2px;
  }

  .history {
    height: auto;
    min-height: 70px;
    flex-wrap: wrap;
    padding: 18px 8px;
  }

  .history a {
    margin: 8px 18px;
  }

  .history a:not(:first-child)::after {
    display: none;
  }

  .item-guide-hero {
    grid-template-columns: 1fr;
    padding: 26px 20px;
  }

  .item-guide-hero h2 {
    font-size: 28px;
  }

  .item-guide-stats {
    min-height: 120px;
  }

  .item-guide-featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .item-guide-gear-nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .item-guide-section-head {
    align-items: flex-start;
    flex-direction: column;
  }
}
