/**
 * Typography & Text styles
 */

/* html is set to 62.5% so that all the REM measurements are based on 10px sizing. So basically 1.5rem = 15px */
html {
  font-size: 62.5%;
}
body {
  font-size: 1.5em; /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
  font-family: "Roboto", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #FFFFFF;
}

/**
 * Links
 */
a {
  font-weight: normal;
  text-decoration: none; 
  color:#EF6D3D;
}
a:focus {
  outline: thin dotted;
}

small {
  font-size: 75%;
}

/**
 * Headings
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1;
  text-rendering: optimizeLegibility; /*  voodoo to enable ligatures and kerning | https://developer.mozilla.org/en-US/docs/CSS/text-rendering */
  margin-top: 0;
  margin-bottom: 2rem;
  font-weight: 300;
}
h1 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
h2 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
h3 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h4 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h5 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }
h6 { font-size: 1.4rem; line-height: 1.6;  letter-spacing: 0; }

/**
 * Paragraphs
 */
p {
  margin: 0 auto 1.5em auto; /* bottom margin for paragraphs */
}
p + p {

}

/**
 * Quotes & Blockquotes
 */
q {
  quotes: '\00201C' '\00201D';
}
q:before {
  content: open-quote;
}
q:after {
  content: close-quote;
}

blockquote {
  /*background-color: #F8F8F8;*/
  border-left: 2px solid #AFC0D2;
  margin: 1.6em 10%;
  padding: .75em 1em;
  font-size:1.8rem;
}
blockquote p:last-child {
  margin-bottom: 0;  
}

/**
 * Layout styles
 */

/* Full size background image */
html, #container, .inner { background-color:transparent;}
html {
  background:url(wikibackground.jpg) center center no-repeat fixed;
  background-size:cover;
}
body {
  max-width:1000px;
  margin:25px auto;
}
header, #content, footer { 
  background: rgba(0,0,0,.8); 
  padding:25px;
  color:#FFFFFF; 
}
iframe {
  max-width:100%;
}

/* Utility classes */
.hide {
  display:none;
}
.show {
  display:block;
}

/*New code for banner I added */
/* Banner styles */
#banner {
  background: #000000;
  border-bottom: 3px solid #00FFFF;
  padding: 25px 25px;
  margin-bottom: 0;
  box-shadow: 0 4px 6px rgba(0,0,0,0.3);
}

.banner-content {
  display: flex;
  align-items: center;
  gap: 30px;
  max-width: 1000px;
  margin: 0 auto;
}

.banner-logo {
  height: 100px;
  width: auto;
  object-fit: contain;
  flex-shrink: 0;
}

/* Menu styles - now in banner next to logo */
.banner-content .main-menu {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: left;
  list-style: none;
  gap: 5px;
}

.banner-content .main-menu li a {
  padding: 8px 15px;
  font-size: 1.6rem;
  border-bottom: solid transparent 3px;
  color: #cfd2da;
  display: block;
}

.banner-content .main-menu li a:hover {
  color: #FFFFFF;
}

.banner-content .main-menu li a.active {
  color: #FFFFFF;
  border-bottom-color: #00FFFF;
}

/* Page title section */
#page-title {
  background: rgba(0, 0, 0, 0.8);
  padding: 20px 25px;
  text-align: center;
  margin-bottom: 0;
}

#page-title h2 {
  color: #FFFFFF;
  font-size: 2.4rem;
  margin-bottom: 5px;
}

#page-title p {
  color: #cfd2da;
  font-size: 1.4rem;
  margin: 0;
}

/* Header now empty, remove top margin */
header {
  display: none;
}

/* Accordion Styles */
.accordion {
  margin-bottom: 15px;
  border: 2px solid rgba(207, 210, 218, 0.3);
  border-radius: 5px;
  overflow: hidden;
}

.accordion-header {
  width: 100%;
  background: rgba(0, 255, 255, 0.2);
  border: none;
  border-bottom: 2px solid #00FFFF;
  padding: 15px 20px;
  text-align: left;
  font-size: 1.8rem;
  font-weight: bold;
  color: #FFFFFF;
  cursor: pointer;
  transition: background 0.3s;
  font-family: "Roboto", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.accordion-header:hover {
  background: rgba(0, 255, 255, 0.3);
}

.accordion-header:after {
  content: ' ▼';
  float: right;
  transition: transform 0.3s;
}

.accordion-header.active:after {
  transform: rotate(180deg);
}

.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  background: rgba(0, 0, 0, 0.3);
  padding: 0 20px;
}

.accordion-content.active {
  max-height: none; /* No limit, accordion can extend as far as the content*/
  padding: 20px;
}

/* Added styling for the tier list */
/* Tier List Styles */
.tier-table {
  width: 100%;
  margin-top: 20px;
}

.tier-header-row,
.tier-row {
  display: grid;
  grid-template-columns: 50px 1fr 1fr 1fr 1fr;
  gap: 10px;
  margin-bottom: 10px;
}

.tier-header-cell {
  background: transparent;
  border: none;
  border-bottom: 3px solid #00FFFF;  /* Cyan underline */
  padding: 15px 10px;
  text-align: center;
  font-weight: bold;
  font-size: 1.6rem;
  border-radius: 0;
}

.tier-label-cell {
  background: transparent;
  border: none;
  padding: 15px 10px;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 0;
}

/* Hide the empty top-left cell */
.tier-header-row .tier-label-cell {
  background: transparent;
  border: none;
}

/* Tier label colors */
.apex-tier {
  background: rgba(255, 215, 0, 0.2);
  border-color: #FFD700;
  color: #FFD700;
}

.t0-tier {
  background: rgba(192, 192, 192, 0.2);
  border-color: #C0C0C0;
  color: #C0C0C0;
}

.t1-tier {
  background: rgba(205, 127, 50, 0.2);
  border-color: #CD7F32;
  color: #CD7F32;
}

.t2-tier {
  background: rgba(100, 149, 237, 0.2);
  border-color: #6495ED;
  color: #6495ED;
}

.tier-cell {
  background: rgba(0, 0, 0, 0.5);
  border: 2px solid rgba(207, 210, 218, 0.3);
  padding: 15px;
  min-height: 150px;
  border-radius: 5px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  align-content: flex-start;
}

/* Character Card */
.character-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 80px;
}

.character-thumb {
  width: 60px;
  height: 60px;
  border-radius: 8px;
  border: 2px solid #cfd2da;
  object-fit: cover;
  margin-bottom: 5px;
}

.character-name {
  font-size: 1.1rem;
  text-align: center;
  margin-bottom: 3px;
  line-height: 1.2;
  color: #FFFFFF;
}

.character-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 3px;
  justify-content: center;
}

/* Base tag style */
.tag {
  padding: 2px 6px;
  border-radius: 3px;
  font-size: 0.9rem;
  font-weight: 500;
  white-space: nowrap;
  border: 1px solid;
}

/* Tag color definitions */
.tag-dps {
  background: rgba(220, 20, 60, 0.7);
  border-color: #DC143C;
  color: #FFFFFF;
}

.tag-cooldown {
  background: rgba(41, 128, 185, 0.7);
  border-color: #2980B9;
  color: #FFFFFF;
}

.tag-healer {
  background: rgba(26, 188, 156, 0.7);
  border-color: #1ABC9C;
  color: #FFFFFF;
}

.tag-buff {
  background: rgba(41, 128, 185, 0.7);
  border-color: #2980B9;
  color: #FFFFFF;
}

.tag-sub-dps {
  background: rgba(220, 20, 60, 0.7);
  border-color: #DC143C;
  color: #FFFFFF;
}

.tag-dot {
  background: rgba(220, 20, 60, 0.7);
  border-color: #DC143C;
  color: #FFFFFF;
}

.tag-debuff {
  background: rgba(41, 128, 185, 0.7);
  border-color: #2980B9;
  color: #FFFFFF;
}

.tag-shield-team {
  background: rgba(26, 188, 156, 0.7);
  border-color: #1ABC9C;
  color: #FFFFFF;
}

.tag-aoe {
  background: rgba(220, 20, 60, 0.7);
  border-color: #DC143C;
  color: #FFFFFF;
}

.tag-stun {
  background: rgba(41, 128, 185, 0.7);
  border-color: #2980B9;
  color: #FFFFFF;
}

.tag-leader {
  background: rgba(220, 20, 60, 0.7);
  border-color: #DC143C;
  color: #FFFFFF;
}

.tag-self-heal {
  background: rgba(26, 188, 156, 0.7);
  border-color: #1ABC9C;
  color: #FFFFFF;
}

.tag-pvp {
  background: rgba(15, 10, 10, 0.7);
  border-color: #7F8C8D;
  color: #FFFFFF;
}

.tag-revive {
  background: rgba(26, 188, 156, 0.7);
  border-color: #1ABC9C;
  color: #FFFFFF;
}

.tag-dps-dot {
  background: rgba(220, 20, 60, 0.7);
  border-color: #DC143C;
  color: #FFFFFF;
}

.tag-dmg-share {
  background: rgba(26, 188, 156, 0.7);
  border-color: #1ABC9C;
  color: #FFFFFF;
}

.tag-backrow {
  background: rgba(220, 20, 60, 0.7);
  border-color: #DC143C;
  color: #FFFFFF;
}

.tag-shield {
  background: rgba(26, 188, 156, 0.7);
  border-color: #1ABC9C;
  color: #FFFFFF;
}

.tag-pure-tank {
  background: rgba(41, 128, 185, 0.7);
  border-color: #2980B9;
  color: #FFFFFF;
}

.tag-taunt {
  background: rgba(41, 128, 185, 0.7);
  border-color: #2980B9;
  color: #FFFFFF;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  /* Stack everything vertically on mobile */
  .tier-header-row {
    display: none;  /* Hide the header row on mobile */
  }
  
  .tier-row {
    display: block;  /* Switch from grid to block layout */
    margin-bottom: 20px;
    border: 2px solid rgba(207, 210, 218, 0.3);
    border-radius: 5px;
    overflow: hidden;
  }
  
  .tier-label-cell {
    width: 100%;
    margin-bottom: 10px;
    border-radius: 5px 5px 0 0;
  }
  
  .tier-cell {
    width: 100%;
    margin-bottom: 15px;
    position: relative;
  }
  
/* Add class labels above each cell on mobile */
.tier-cell:nth-child(2):before { content: "Ironclad"; }
.tier-cell:nth-child(3):before { content: "Voidblade"; }
.tier-cell:nth-child(4):before { content: "Spellweaver"; }
.tier-cell:nth-child(5):before { content: "Ghosthunter"; }
  
  .tier-cell:before {
    display: block;
    background: rgba(239, 109, 61, 0.3);
    border-bottom: 2px solid #EF6D3D;
    padding: 5px;           /* Changed from 8px */
    font-weight: bold;
    font-size: 1.2rem;      /* Changed from 1.4rem */
    text-align: center;
    margin: -15px -15px 10px -15px;
  }
}
