/* ========== UnlockSolutions.co.uk — authentic 1999 stylesheet ========== */
/* hand coded in Notepad, do not steal */

body {
  background: #000066 url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60"><rect width="60" height="60" fill="%23000077"/><circle cx="15" cy="15" r="7" fill="%233300cc" opacity="0.6"/><circle cx="45" cy="45" r="7" fill="%233300cc" opacity="0.6"/><rect x="20" y="20" width="20" height="20" fill="none" stroke="%23ff00ff" stroke-opacity="0.35"/></svg>');
  font-family: "Comic Sans MS", "Verdana", "Arial", sans-serif;
  margin: 0;
  padding: 0;
  color: #ffffff;
}

a { color: #00ff66; }
a:visited { color: #ff66ff; }
a:hover { background: #ffff00; color: #000000; }

/* ---------- top banner ---------- */
.topbanner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 18px;
  background: linear-gradient(180deg, #4400aa 0%, #220088 45%, #000044 100%);
  border-bottom: 4px ridge #ff00ff;
}

.glow {
  color: #33ff00;
  text-shadow: 0 0 8px #33ff00, 2px 2px 0 #000, 0 0 20px #00ff00;
  font-size: 40px;
  letter-spacing: 2px;
}
.solutions {
  color: #ffcc00;
  text-shadow: 2px 2px 0 #cc0000, 0 0 18px #ff9900;
  font-size: 34px;
  letter-spacing: 2px;
}
.dotco {
  color: #66ccff;
  font-size: 22px;
  font-style: italic;
}
h1 { margin: 0; font-family: "Impact", "Arial Black", sans-serif; }

.tagline {
  color: #00ffcc;
  font-size: 12px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-top: 4px;
  animation: hue 4s linear infinite;
}
@keyframes hue { from { filter: hue-rotate(0deg); } to { filter: hue-rotate(360deg); } }

/* ---------- hit counter ---------- */
.counter-box { text-align: center; background: #111; padding: 8px 12px; border: 2px inset #ffff00; }
.counter-label { color: #ff4444; font-size: 10px; font-weight: bold; letter-spacing: 2px; }
.counter {
  display: inline-block;
  margin-top: 4px;
  font-family: "Courier New", monospace;
  font-weight: bold;
  font-size: 24px;
  background: #000;
  color: #33ff33;
  white-space: nowrap;
}
.counter span { display: inline-block; width: 22px; margin: 1px; background: #000; border: 1px solid #333; }

/* ---------- marquees ---------- */
.bigmarquee {
  background: #cc0000;
  border-top: 3px double #ffff00;
  border-bottom: 3px double #ffff00;
  color: #ffff00;
  font-weight: bold;
  font-size: 16px;
  padding: 4px 0;
  font-family: "Arial", sans-serif;
}

/* ---------- navbar ---------- */
.navbar { margin: 10px auto 4px auto; border: 3px outset #66ccff; background: #2244aa; }
.navbtn {
  font-weight: bold;
  font-size: 13px;
  background: linear-gradient(180deg, #77bbff 0%, #2244aa 60%, #112266 100%);
  border: 2px outset #99ddff;
  padding: 4px 14px;
  white-space: nowrap;
}
.navbtn a { color: #ffff66; text-decoration: none; }
.navbtn a:hover { color: #fff; text-decoration: underline; }
.navbtn-active { background: linear-gradient(180deg, #ffcc44 0%, #cc6600 60%, #663300 100%); border: 2px inset #ffdd88; color: #fff; }

/* ---------- "NEW!" gif homage ---------- */
.newgif {
  display: inline-block;
  background: red;
  color: white;
  font-size: 11px;
  font-weight: bold;
  padding: 1px 5px;
  transform: rotate(-8deg);
  border: 2px dotted yellow;
  font-family: Verdana;
}
.hotgif { background: orange; }
.blink { animation: blinker 1s steps(1) infinite; }
@keyframes blinker { 50% { opacity: 0; } }
blink { }

/* ---------- main 3-column table layout ---------- */
.maintable { margin: 8px auto 0 auto; width: 98%; max-width: 1100px; border-collapse: separate; }
.sidebar { width: 170px; padding-right: 8px; }
.sidebar-right { padding-left: 8px; }
.content { padding: 0 10px; }

/* ---------- sidebar boxes ---------- */
.sidebox { margin-bottom: 12px; border: 3px ridge #ff00ff; background: #220044; }
.sidehead {
  background: linear-gradient(90deg, #ff6600, #ff00ff, #6600ff);
  color: #ffff00;
  font-weight: bold;
  font-size: 11px;
  text-align: center;
  padding: 3px;
  letter-spacing: 1px;
  text-shadow: 1px 1px 0 #000;
}
.sidebody { padding: 8px; font-size: 12px; line-height: 1.6; }
.sidebody a { color: #66ffff; text-decoration: none; }
.sidebody a:hover { color: #ffff00; text-decoration: underline; }

.tiny { font-size: 10px; color: #aaaadd; }

.construction { text-align: center; background: repeating-linear-gradient(45deg, #ffcc00, #ffcc00 12px, #000 12px, #000 24px); padding: 8px; color: #fff; font-weight: bold; font-size: 12px; }
.cone { font-size: 20px; }
.warn { background: #000; color: #ff0; margin: 4px 0; padding: 2px; }

/* ---------- winamp ---------- */
.winamp { background: #000080; border: 3px outset #c0c0c0; padding: 6px; font-family: "Courier New", monospace; }
.wa-title { color: #00ff00; font-size: 10px; border-bottom: 1px solid #00ff00; padding-bottom: 2px; }
.wa-track { color: #00ff00; font-size: 11px; }
.wa-active { background: #0000c0; color: #ffff00; }
.wabtn { margin-top: 6px; font-family: inherit; font-size: 11px; font-weight: bold; background: #c0c0c0; border: 2px outset #fff; cursor: pointer; }
.wabtn:active { border-style: inset; }
.wa-note { color: #8080c0; font-size: 9px; margin-top: 4px; }

/* ---------- 88x31 buttons ---------- */
.btnz { display: flex; flex-wrap: wrap; gap: 4px; }
.b88 {
  width: 86px; height: 31px;
  font-family: Verdana; font-size: 9px; font-weight: bold;
  display: flex; align-items: center; justify-content: center;
  text-align: center; color: #fff; border: 1px solid #fff;
  overflow: hidden; line-height: 1.1; cursor: pointer;
}
.g1 { background: linear-gradient(90deg,#ff0000,#aa0000); }
.g2 { background: linear-gradient(90deg,#0000ee,#4400aa); }
.g3 { background: linear-gradient(90deg,#00aa00,#006600); }
.g4 { background: linear-gradient(90deg,#cc00ff,#6600aa); }
.g5 { background: linear-gradient(90deg,#0080ff,#004080); }
.g6 { background: linear-gradient(90deg,#ffaa00,#cc6600); }
.b88:hover { outline: 2px solid yellow; }

/* ---------- news posts ---------- */
.newspost { border: 3px ridge #66ccff; background: #001a40; margin-bottom: 12px; }
.newspost-head { background: linear-gradient(90deg,#003380,#0055cc); padding: 6px 10px; border-bottom: 2px solid #66ccff; }
.newspost-head h2 { margin: 2px 0 0 0; font-size: 15px; color: #ffff33; font-family: Verdana; }
.postdate { font-size: 10px; color: #99ccff; }
.newspost-body { padding: 10px 12px; font-size: 13px; line-height: 1.6; background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="3" height="3"><rect width="3" height="3" fill="%23001a40"/></svg>'); }
.newspost-body a { color: #66ffff; }
.mood { color: #ff88ff; font-size: 11px; font-style: italic; border-top: 1px dashed #660099; padding-top: 4px; margin-bottom: 0; }

/* ---------- vBulletin forum table ---------- */
.forumwrap { margin-bottom: 14px; }
.forum-title { background: linear-gradient(90deg,#1a1a6e,#3333aa); border: 2px solid #7788dd; border-bottom: none; padding: 6px 10px; font-weight: bold; font-family: Verdana; font-size: 13px; }
.vbullet { font-size: 9px; color: #b0b0ee; font-weight: normal; }
.forumtable { width: 100%; border-collapse: collapse; font-family: Verdana; font-size: 11px; border: 2px solid #7788dd; background: #000; }
.forumtable td { border: 1px solid #4444aa; }
.forumtable .thead td { background: linear-gradient(180deg,#5555cc,#2a2a77); color: #fff; font-weight: bold; padding: 4px 6px; }
.forumtable .cat td { background: #1a1a55; color: #ffff66; font-weight: bold; letter-spacing: 2px; padding: 3px 6px; }
.forumtable .f-name { background: #0a0a33; padding: 6px 8px; }
.forumtable .f-desc { font-size: 10px; color: #9999cc; }
.forumtable .f-num { background: #101040; text-align: center; color: #66ccff; }
.forumtable .f-last { background: #14144a; font-size: 10px; color: #ccc; }
.forumtable .f-last b { color: #66ff66; }
.forum-stats { border: 2px solid #7788dd; border-top: none; background: #101040; font-size: 10px; color: #aaa; padding: 4px 8px; }
.forum-stats b { color: #66ff66; }

/* ---------- section titles ---------- */
.section-title {
  background: linear-gradient(180deg,#ff9900,#cc4400);
  border: 3px ridge #ffdd00;
  color: #000000;
  font-weight: bold;
  font-family: Verdana;
  font-size: 15px;
  padding: 5px 10px;
  margin: 14px 0 6px 0;
  letter-spacing: 2px;
  text-shadow: 1px 1px 0 #ffff99;
}

/* ---------- downloads ---------- */
.downloadtable { width: 100%; border-collapse: collapse; font-family: "Courier New", monospace; font-size: 12px; border: 3px inset #00aaaa; background: #001122; }
.downloadtable td { border: 1px solid #005555; padding: 3px 8px; }
.downloadtable .thead td { background: linear-gradient(90deg,#006666,#00aaaa); color: #fff; font-weight: bold; }
.dl-name { color: #33ff99; }
.dl-dl { text-align: center; }
.dl-dl a { color: #ffff00; font-weight: bold; }

/* ---------- IRC ---------- */
.ircbox { border: 3px ridge #00ff66; background: #000; padding: 0; }
.irclog { margin: 0; padding: 10px; color: #33cc33; font-size: 12px; line-height: 1.5; overflow-x: auto; }
.irc-connect { border-top: 2px solid #006633; color: #66ff99; font-size: 11px; padding: 4px 8px; background: #001a00; }

/* ---------- guestbook ---------- */
.guestbook-preview { background: #440022; border: 3px double #ff66aa; padding: 10px 12px; font-size: 12px; line-height: 1.7; }
.guestbook-preview a { color: #ffff66; }

/* ---------- ministats / poll ---------- */
.ministat { width: 100%; font-size: 11px; border-collapse: collapse; }
.ministat td { border: 1px solid #333377; padding: 2px 4px; background: #28014f; }
.ministat b { color: #66ff66; }
.pollopt { margin-top: 4px; position: relative; height: 15px; color: #fff; font-size: 10px; font-weight: bold; text-align: right; padding-right: 2px; }
.pollopt .bar { position: absolute; left: 0; top: 0; bottom: 0; width: 50%; background: linear-gradient(90deg,#cc0000,#ff4444); z-index: -1; }
.bar2 { background: linear-gradient(90deg,#00aa00,#44cc44); }
.bar3 { background: linear-gradient(90deg,#0000ff,#4444ff); }
.bar4 { background: linear-gradient(90deg,#cc00cc,#ff44ff); }

/* ---------- best viewed ---------- */
.bestviewed { text-align: center; }
.netscape { background: #000; color: #00ffcc; font-family: "Courier New", monospace; font-weight: bold; font-size: 10px; padding: 4px; border: 2px solid #00ffcc; margin-bottom: 4px; }

/* ---------- footer ---------- */
.footer { margin-top: 16px; padding: 10px; text-align: center; background: linear-gradient(180deg, #000044, #220066); border-top: 4px ridge #ffcc00; }
.footbar { color: #ffff00; font-size: 12px; padding: 6px 40px; line-height: 1.6; }
.footlinks { margin: 6px 0; font-size: 12px; }
.foottiny { color: #9999dd; font-size: 10px; }
.foottiny a { color: #66ffff; }
.y2k { color: #ff88ff; letter-spacing: 1px; }

/* old-school blinking for the <blink> tags */
blink { animation: blinker 1s steps(1) infinite; }

/* ---------- forums.html thread table ---------- */
.threadtable { width: 100%; border-collapse: collapse; font-family: Verdana; font-size: 11px; border: 2px solid #7788dd; }
.threadtable td { border: 1px solid #4444aa; background: #0a0a33; }
.threadtable .thead td { background: linear-gradient(180deg,#5555cc,#2a2a77); color: #fff; font-weight: bold; padding: 4px 6px; }
.pin { text-align: center; font-size: 13px; }
.t-num { text-align: center; color: #66ccff; }
.t-by { font-size: 10px; color: #9999cc; }
.t-last { font-size: 10px; color: #ccc; }
.t-last b { color: #66ff66; }
.sticky td { background: #20205a !important; }

/* ---------- form page ---------- */
.formbox { background: #001a40; border: 3px ridge #ffdd00; padding: 12px; margin-bottom: 12px; }
.formtable { font-size: 13px; border-collapse: collapse; }
.formtable td { padding: 4px 8px; }
.flbl { color: #ffff66; font-weight: bold; text-align: right; }
.formtable input[type="text"] { background: #000; color: #33ff33; border: 2px inset #66ccff; font-family: "Courier New", monospace; padding: 3px 6px; width: 220px; }
.formtable input[type="checkbox"] { transform: scale(1.4); }
.fbtn { font-family: Verdana; font-weight: bold; font-size: 13px; background: linear-gradient(180deg,#ffdd55,#cc6600); border: 3px outset #ffee99; color: #400000; padding: 5px 12px; cursor: pointer; }
.fbtn:active { border-style: inset; }
.resultbox { margin-top: 12px; background: #003300; border: 3px double #33ff33; color: #66ff66; font-family: "Courier New", monospace; font-size: 13px; padding: 12px; line-height: 1.8; }
.bigcode { font-size: 20px; font-weight: bold; color: #ffff00; text-shadow: 0 0 10px #ffff00; letter-spacing: 2px; }
.asciiart { margin: 0; padding: 10px; color: #33ff99; font-size: 12px; line-height: 1.35; overflow-x: auto; }

/* ---------- guestbook entries ---------- */
.gbentry { background: #440022; border: 2px double #ff66aa; margin-bottom: 8px; }
.gbhead { background: #5c0030; padding: 4px 8px; font-size: 12px; }
.gbbody { padding: 6px 10px; font-size: 12px; color: #eee4ff; }