@keyframes blink { 50% { opacity: 0; } }
@keyframes rainbow {
  0%   { color: #ff0000; }
  16%  { color: #ff8800; }
  33%  { color: #ffff00; }
  50%  { color: #00ff00; }
  66%  { color: #00ffff; }
  83%  { color: #ff00ff; }
  100% { color: #ff0000; }
}
@keyframes spin { to { transform: rotate(360deg); } }

body {
  background-color: #000080;
  color: #ffff00;
  font-family: "Comic Sans MS", "Chalkboard SE", cursive, sans-serif;
  text-align: center;
  background-image:
    repeating-linear-gradient(45deg,
      rgba(255,255,255,0.04) 0 8px,
      transparent 8px 16px),
    repeating-linear-gradient(-45deg,
      rgba(255,0,255,0.04) 0 8px,
      transparent 8px 16px);
  margin: 0;
  padding: 12px;
  cursor: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24'><text y='18' font-size='18'>👆</text></svg>"), auto;
}

h1 {
  font-size: 48px;
  color: #ff00ff;
  text-shadow: 3px 3px 0 #00ffff, 6px 6px 0 #000000;
  animation: rainbow 4s linear infinite;
  margin: 8px 0;
}

h2 {
  color: #00ffff;
  text-shadow: 2px 2px 0 #ff0000;
  border-top: 3px ridge #c0c0c0;
  border-bottom: 3px ridge #c0c0c0;
  padding: 4px 0;
}

a:link    { color: #00ffff; }
a:visited { color: #ff00ff; }
a:hover   { color: #ffffff; background-color: #ff0000; }

.blink { animation: blink 1s steps(2) infinite; font-weight: bold; }

.frame {
  border: 6px outset #c0c0c0;
  background-color: #000040;
  margin: 10px auto;
  padding: 12px;
  max-width: 720px;
  text-align: left;
}

.center { text-align: center; }

marquee { font-size: 22px; color: #00ff00; text-shadow: 1px 1px 0 #ff00ff; }

table.layout {
  margin: 0 auto;
  border-collapse: separate;
  border-spacing: 8px;
}
table.layout td {
  border: 4px ridge #808080;
  background-color: #202060;
  padding: 10px;
  vertical-align: top;
  color: #ffff80;
}

.fire {
  display: inline-block;
  font-size: 28px;
  animation: blink 0.7s steps(2) infinite;
}

.spin { display: inline-block; animation: spin 4s linear infinite; }

.counter {
  display: inline-block;
  background: #000;
  color: #00ff00;
  font-family: "Courier New", monospace;
  font-size: 28px;
  letter-spacing: 6px;
  padding: 4px 10px;
  border: 3px inset #888;
}

.webring {
  background: #c0c0c0;
  color: #000080;
  border: 4px ridge #ffffff;
  padding: 8px;
  display: inline-block;
}
.webring a { color: #000080; text-decoration: underline; }
.webring a:visited { color: #800080; }

.constructionbar {
  background:
    repeating-linear-gradient(45deg,
      #000000 0 16px,
      #ffff00 16px 32px);
  color: #000;
  font-weight: bold;
  padding: 6px;
  border: 3px inset #888;
  margin: 8px 0;
  text-shadow: 1px 1px 0 #fff;
}

.guestbookbtn {
  display: inline-block;
  padding: 6px 14px;
  background: #ff0000;
  color: #ffffff !important;
  border: 4px outset #ffaaaa;
  text-decoration: none;
  font-weight: bold;
  font-size: 20px;
}
.guestbookbtn:hover { border-style: inset; }

ul.cool { list-style: "★ "; padding-left: 28px; }
ul.cool li { margin: 4px 0; }

.netscape {
  background: #c0c0c0;
  color: #000080;
  font-family: "Times New Roman", serif;
  border: 3px ridge #fff;
  padding: 6px;
  display: inline-block;
  margin-top: 12px;
}
.netscape a:link, .netscape a:visited { color: #000080; text-decoration: underline; }
.netscape a:hover { color: #ffffff; background-color: #000080; }

hr.fancy {
  height: 6px;
  border: 0;
  background: linear-gradient(90deg,
    #ff0000, #ff8800, #ffff00, #00ff00, #00ffff, #0000ff, #ff00ff, #ff0000);
}

code, pre {
  background: #000;
  color: #00ff00;
  padding: 2px 4px;
  font-family: "Courier New", monospace;
}
pre {
  border: 2px inset #444;
  padding: 8px;
  text-align: left;
  overflow: auto;
}

/* Top nav (links between pages) */
.topnav {
  background: #c0c0c0;
  color: #000080;
  border: 4px ridge #ffffff;
  padding: 6px 8px;
  margin: 0 auto 10px auto;
  display: inline-block;
  font-weight: bold;
}
.topnav a:link, .topnav a:visited { color: #000080; text-decoration: underline; }
.topnav a:hover { color: #ffffff; background-color: #000080; }
.topnav .sep { color: #800080; padding: 0 6px; }

/* What's New entries */
.year-entry {
  border: 4px ridge #808080;
  background-color: #000040;
  padding: 10px 14px;
  margin: 8px auto;
  max-width: 720px;
  text-align: left;
  color: #ffff80;
}
.year-entry .yr {
  font-size: 26px;
  color: #ff00ff;
  text-shadow: 2px 2px 0 #00ffff;
  font-weight: bold;
  display: inline-block;
  background: #000;
  padding: 2px 10px;
  border: 3px inset #888;
  margin-bottom: 6px;
}

/* Guestbook entries */
.gb-entry {
  border: 4px outset #c0a0a0;
  background-color: #2a0040;
  padding: 10px 14px;
  margin: 10px auto;
  max-width: 720px;
  text-align: left;
}
.gb-entry .meta {
  border-bottom: 1px dashed #ff00ff;
  padding-bottom: 4px;
  margin-bottom: 6px;
  color: #00ffff;
}
.gb-entry .meta b { color: #ffff00; }
.gb-entry .body { color: #ffffff; white-space: pre-wrap; font-size: 16px; }

.gbnotice {
  background: #ffff00;
  color: #800000;
  border: 4px ridge #ff8800;
  padding: 8px 12px;
  display: inline-block;
  font-weight: bold;
}
