:root{
  --border:#2b2b2b;
  --line:#bdbdbd;

  --lav:#dcdcff;
  --lav2:#b7b3ff;
  --aqua:#66f3ff;
  --mint:#96ffd6;
  --sky:#9fd8ff;
  --footer:#0b66b3;
}

*{
  box-sizing:border-box;
  margin:0;
  padding:0;
}

body{
  font-family:Georgia, "Times New Roman", serif;
  background:#ffffff;
  color:#111;
}

.constructionBanner{
  background:#ffd54d;
  color:#000;
  text-align:center;
  padding:18px 20px;
  font-weight:700;
  font-size:20px;
  letter-spacing:1px;
  border-bottom:3px solid #000;
  position:sticky;
  top:0;
  z-index:10000;
  padding:36px 20px;
}

.page{
  width:100%;
  max-width:none;
  margin:0 auto;
  background:#fff;
}

.titleBar{
  background:var(--lav);
  padding:18px;
  text-align:center;
}

.titleBar h1{
  font-family:'Cinzel Decorative', serif;
  font-size:36px;
  font-weight:700;
}

.navBar{
  background:var(--lav2);
  padding:10px 20px;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  gap:22px;
  position:relative;
  z-index:10;
}

.navBtn,
.gamesBtn{
  font-family:'Cinzel Decorative', serif;
  font-size:18px;
  background:transparent;
  border:0;
  cursor:pointer;
  color:#111;
}

.navBtn:hover,
.gamesBtn:hover{
  opacity:.7;
}

.navItem{
  position:relative;
}

.gamesBtn{
  display:flex;
  align-items:center;
  gap:6px;
}

.gamesCaret{
  font-size:12px;
  transition:transform .2s ease;
}

.navItem.open .gamesCaret{
  transform:rotate(180deg);
}

.dropdown{
  position:absolute;
  top:100%;
  right:0;
  display:none;
  z-index:9999;
  padding-top:8px;
}

.navItem.open .dropdown{
  display:block;
}

.dropdownMega{
  width:760px;
  max-width:92vw;
  background:var(--lav2);
  overflow:hidden;
  border:2px solid var(--border);
}

.ddHeader{
  padding:12px 16px;
  font-family:'Cinzel Decorative', serif;
  font-size:16px;
  text-transform:uppercase;
  background:var(--lav2);
  border-bottom:2px solid var(--border);
}

.ddGrid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  padding:16px;
  background:#ffffff;
  border-bottom:2px solid var(--border);
}

.ddSection{
  padding:14px;
  background:#fff;
  border:1px solid var(--line);
}

.ddTitle{
  font-family:'Cinzel Decorative', serif;
  font-size:14px;
  margin-bottom:8px;
  text-transform:uppercase;
}

.ddSubTitle{
  font-weight:700;
  margin-bottom:10px;
  font-size:13px;
  padding-bottom:10px;
  border-bottom:1px dashed var(--line);
}

.ddItem{
  display:block;
  width:100%;
  text-align:left;
  background:transparent;
  border:0;
  padding:8px 0;
  cursor:pointer;
}

.ddItemName{
  font-family:'Cinzel Decorative', serif;
  font-size:13px;
  font-weight:700;
}

.ddItemDesc{
  font-size:13px;
  margin-top:2px;
}

.ddItem + .ddItem{
  border-top:1px solid rgba(0,0,0,0.06);
}

.ddFooter{
  background:linear-gradient(90deg,var(--aqua),var(--sky));
  padding:12px 16px;
  text-align:right;
}

.ddCta{
  font-family:'Cinzel Decorative', serif;
  font-size:14px;
  cursor:pointer;
  background:transparent;
  border:1px solid var(--border);
  padding:6px 10px;
}

.ddCta:hover{
  opacity:.85;
}

/* ---------------- FOOTER ---------------- */

.footer{
  background:var(--footer);
  color:#fff;
  padding:30px 20px;
}

.newsletterTop{
  margin-bottom:16px;
}

.newsletterForm{
  display:flex;
  gap:14px;
  align-items:center;
  flex-wrap:wrap;
}

.newsletterMessage{
  margin-top:10px;
  margin-bottom:18px;
}

.footer input{
  padding:14px 18px;
  border:0;
  background:rgba(255,255,255,.15);
  color:#fff;
  border-radius:10px;
  font-size:16px;
  min-width:260px;
}

.footer input::placeholder{
  color:#fff;
}

.footerBtn{
  padding:14px 22px;
  border:0;
  background:rgba(255,255,255,.2);
  color:#fff;
  font-family:'Cinzel Decorative', serif;
  font-size:16px;
  border-radius:10px;
  cursor:pointer;
}

.footerBtn:hover{
  background:rgba(255,255,255,.3);
}

.footerLinks{
  margin-top:22px;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.footerLink{
  cursor:pointer;
}

.footerLink:hover{
  opacity:.8;
}

/* ---------------- DOWNLOAD AREA ---------------- */

.downloadReveal{
  margin-top:26px;
  padding:26px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:18px;
  background:rgba(255,255,255,.08);
  opacity:0;
  transform:translateY(12px);
  transition:opacity .45s ease, transform .45s ease;
}

.downloadReveal.show{
  opacity:1;
  transform:translateY(0);
}

.downloadTitle{
  font-family:'Cinzel Decorative', serif;
  font-size:18px;
  margin-bottom:16px;
}

.downloadList{
  display:flex;
  flex-direction:column;
  gap:14px;
}

.downloadItem{
  display:block;
  padding:14px 18px;
  border-radius:10px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  text-decoration:none;
  color:#fff;
  font-size:16px;
  font-weight:600;
  transition:background .2s ease, transform .15s ease;
}

.downloadItem:hover{
  background:rgba(255,255,255,.2);
  transform:translateY(-1px);
}

/* ---------------- INSTAGRAM ---------------- */

.instagramLink{
  display:flex;
  align-items:center;
  gap:8px;
  text-decoration:none;
  color:#fff;
}

.igIcon{
  width:18px;
  height:18px;
  fill:#fff;
}

.instagramLink:hover{
  opacity:.8;
}

.newsletterSubtext{
  padding-bottom: 10px;
}

@media(max-width:850px){

  .navBar{
    justify-content:center;
    flex-wrap:wrap;
  }

  .dropdownMega{
    width:min(760px, 96vw);
  }

  .ddGrid{
    grid-template-columns:1fr;
  }

  .newsletterForm{
    flex-direction:column;
    align-items:flex-start;
  }

  .footer input{
    width:100%;
  }
}