/* GENERAL */
html, body {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #353535 url('353535.jpg') repeat;
  color: #888;
  font-family: "Exo 2", monospace;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  letter-spacing: 2px;
}

/* PAGE STRUCTURE */
#page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

/* MAIN LAYOUT */
#layout {
  display: flex;
  flex: 1;
  align-items: stretch;
  justify-content: flex-start;
  width: 100%;
}

/* SIDEBAR */
#sidebar {
  width: 500px;
  background: #252525 url('252525.jpg') repeat;
  display: flex;
  flex-direction: column;
}

/* TITLE */
#title {
  width: 500px;
  height: 100px;
  background: #252525 url('252525.jpg') repeat;
  display: flex;
  align-items: center;
  justify-content: center;
}
#title h1 {
  margin: 0;
  font-size: 60px;
  color: #fff;
  font-family: "Doto", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-variation-settings: "ROND" 0;
}

/* RANDOM IMAGE */
#random-image {
  width: 500px;
  height: 278px;
  overflow: hidden;
}
#random-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

/* NAVIGATION */
nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
nav li {
  width: 500px;
  height: 35px;
  text-align: right;
  line-height: 35px;
}
nav a {
  display: block;
  width: 100%;
  height: 100%;
  text-decoration: none;
  font-family: "Syne Mono", monospace;
  font-weight: 400;
  font-style: normal;
  color: #fff;
  padding-right: 10px;
  transition: background-position 0.3s;
  letter-spacing: 2px;
}

/* NAV BACKGROUNDS */
nav li.home { 
  --pos-x: 20px; 
  --pos-y: 20px; 
  background: #252525 url('252525.jpg') repeat;
  background-position: var(--pos-x) var(--pos-y);
}

nav li.about { 
  --pos-x: 30px; 
  --pos-y: 30px; 
  background: #444444 url('444444.jpg') repeat; 
  background-position: var(--pos-x) var(--pos-y);
}

nav li.fans { 
  --pos-x: 40px; 
  --pos-y: 40px; 
  background: #666666 url('666666.jpg') repeat; 
  background-position: var(--pos-x) var(--pos-y);
}

nav li.join { 
  --pos-x: 50px; 
  --pos-y: 50px; 
  background: #888888 url('888888.jpg') repeat; 
  background-position: var(--pos-x) var(--pos-y);
}

nav li.linkback { 
  --pos-x: 60px; 
  --pos-y: 60px; 
  background: #666666 url('666666.jpg') repeat; 
  background-position: var(--pos-x) var(--pos-y);
}

nav li.links { 
  --pos-x: 75px; 
  --pos-y: 50px; 
  background: #444444 url('444444.jpg') repeat; 
  background-position: var(--pos-x) var(--pos-y);
}


/* HOVER EFFECT */
nav li:hover {
  animation: static-flash 0.8s infinite steps(1);
}

nav a:hover {
  letter-spacing: 10px;
}

@keyframes static-flash {
  0%   { background-position: 20px 20px; }
  10%  { background-position: 200px 40px; }
  20%  { background-position: 80px 160px; }
  30%  { background-position: 160px 90px; }
  40%  { background-position: 40px 200px; }
  50%  { background-position: 110px 110px; }
  60%  { background-position: 190px 30px; }
  70%  { background-position: 50px 180px; }
  80%  { background-position: 140px 140px; }
  90%  { background-position: 30px 190px; }
  100% { background-position: 20px 20px; }
}



/* BLANK AREA UNDER NAV - FILLS REMAINING HEIGHT */
#blank {
  flex: 1;
  background: #252525 url('252525.jpg') repeat;
}

/* CONTENT AREA */
#content {
  width: 600px;
  max-width: calc(100% - 500px);
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* pushes footer to bottom if content is short */
  box-sizing: border-box;
}

/* INNER CONTENT (with padding) */
.content-inner {
  padding: 50px;
  flex-grow: 1;
  box-sizing: border-box;
}

/* CONTENT TEXT STYLES */
#content p { line-height: 1.5; }
#content i { font-style: italic; }
#content b { font-weight: bold; }
#content a { color: #cccccc; text-decoration: underline; }
#content a:hover { color: #ffffff; text-decoration: none; }

#content h1, #content h2, #content h3 { 
  margin: 10px 0; 
  text-decoration: none;
  font-family: "Syne Mono", monospace;
  font-weight: 400;
  font-style: normal;
  color: #fff;
}

#content h1 { 
font-size: 24px;
}

#content h2 { 
font-size: 20px;
}

#content h3 { 
font-size: 18px;
}


/* FOOTER (NOW INSIDE CONTENT) */
#footer {
  background: #353535 url('353535.jpg') repeat;
  padding: 30px 50px;
  height: 150px;
  box-sizing: border-box;
  text-align: left;
  flex-shrink: 0;
  font-size: 12px;
}
#footer p { margin: 0; line-height: 1.5; }
#footer i { font-style: italic; }
#footer b { font-weight: bold; }
#footer h1, #footer h2, #footer h3 { margin: 10px 0; }
#footer a { color: #cccccc; text-decoration: underline; }
#footer a:hover { color: #ffffff; text-decoration: none; }




/* =========================================================================
   Sample Link & Copy Button
   ========================================================================= */
.samplelink {
  width: 400px;
  margin: 0 auto;
  padding: 10px;
  border: 1px solid #000;
  background: #444444 url('444444.jpg') repeat;
  color: #fff;
  font-family: "Syne Mono", monospace;
  font-size: 14px;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
}

.copy-button {
  width: 100px;
  margin: 5px auto 0 auto !important;
  padding: 10px !important;
  border: 1px solid #000;
  background: #444444 url('444444.jpg') repeat;
  color: #fff;
  font-family: "Syne Mono", monospace;
  font-size: 16px !important;
  font-weight: 400;
  font-style: normal;
  font-optical-sizing: auto;
  text-align: center;
  transition: background 0.2s;
}

.copy-button:hover {
  letter-spacing: 5px;
}


/* ==================================================
   WEBRING
   ================================================== */

#fanlistings {
  font-family: "Syne Mono", monospace;
  font-weight: 400;
  font-size: 10px;
  letter-spacing: 2px;
  line-height: 13px;
  font-style: normal;
}


/* =========================================================================
   Forms
   ========================================================================= */

/* 1. Legacy Custom Input */
.custom_input {
  display: flex;
  align-items: center;
  margin-bottom: 5px !important;
}

.custom_input label {
  width: 120px;
  margin-right: 10px;
  display: inline-block;
  text-align: right;
}

.custom_input .input,
form[class^="show_"] input[type="text"],
form[class^="show_"] input[type="email"],
form[class^="show_"] input[type="password"],
form[class^="show_"] input[type="url"],
form[class^="show_"] select,
form[class^="show_"] textarea {
  width: 300px;
  margin-bottom: 5px;
  padding: 10px;
  font-size: 20px;
  color: #fff;
  background-color: #444444;
  border: 1px solid #000;
  border-radius: 0;
  outline: none;
  transition: 0.3s ease;
  box-sizing: border-box;
}

.custom_input .input:focus,
form[class^="show_"] input:focus,
form[class^="show_"] select:focus,
form[class^="show_"] textarea:focus {
  background-color: #666666;
}

/* Placeholder */
.custom_input .input::placeholder,
form[class^="show_"] ::placeholder {
  color: #fff;
}

/* Buttons */
.custom_input input[type="submit"],
form[class^="show_"] input[type="submit"],
form[class^="show_"] input[type="reset"] {
  width: auto;
  margin-top: 10px;
  padding: 10px 20px;
  color: #fff;
  background-color: #444444;
  border: 1px solid #000;
  border-radius: 0;
  cursor: pointer;
  transition: background 0.3s;
}

.custom_input input[type="submit"]:hover,
form[class^="show_"] input[type="submit"]:hover,
form[class^="show_"] input[type="reset"]:hover {
  background-color: #f0f0f0;
}

/* 2. Unified Form Fields */
form[class^="show_"] p {
  margin-bottom: 15px;
}

form[class^="show_"] span[class$="_label"] {
  display: block;
  margin-bottom: 5px;
  color: #fff;
}

form[class^="show_"] textarea {
  min-height: 60px;
  resize: vertical;
}

form[class^="show_"] select {
  margin-bottom: 5px;
}

/* 3. Radios & Checkboxes */
form[class^="show_"] input[type="radio"],
form[class^="show_"] input[type="checkbox"] {
  margin-right: 5px;
  vertical-align: middle;
}

form[class^="show_"] span[class*="_field_label"] {
  display: inline;
  margin-left: 5px;
  font-weight: normal;
}

/* Group containers */
.show_join_email_settings_yes,
.show_join_email_settings_no,
.show_update_email_settings_leave,
.show_update_email_settings_yes,
.show_update_email_settings_no,
.show_join_send_account_info_yes {
  display: block !important;
  margin: 3px 0;
}

/* 4. Double Password Fields */
.show_join_password_field,
.show_update_password_field,
.show_join_password_field2,
.show_update_password_field2 {
  display: block;
  width: 300px;
}

.show_join_password_field2,
.show_update_password_field2 {
  margin-top: 5px;
}