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

/* ======================================================
   BODY & WRAPPER
====================================================== */
body {
    font-family: "Montserrat", sans-serif;
    font-weight: 400;
    font-style: normal;
    background-color: #000;
    background-image: url("header2.png"), url("background2.png");
    background-repeat: no-repeat, repeat;
    background-position: left top, 0 0;
    background-attachment: scroll, scroll;
    background-size: auto, auto;
}

#wrapper {
    width: 1000px;
    margin: 0 auto;
}

/* ======================================================
   HEADER, NAVIGATION & FOOTER
====================================================== */
#header {
    width: 1000px;
    float: left;
    color: #a6abb1;
    padding: 0;
    margin: 0;
    height: 0;
}

#navigation {
    float: left;
    width: 1000px;
    color: #a6abb1;
    padding: 10px;
    margin: 0;
}

#footer {
    width: 1000px;
    clear: both;
    color: #a6abb1;
    margin: 0 auto;
    padding: 10px;
}

#footer p {
    font-size: 14px !important;
    text-shadow: -1px 1px #000;
    text-align: center;
}

/* ======================================================
   TYPOGRAPHY
====================================================== */
p {
    font-family: "Montserrat", sans-serif;
    font-size: 20px;
    margin: 20px;
}

p a {
    color: #6185c1;
}

p a:hover {
    color: #3f5da5;
}

h1, h2, h3 {
    font-family: "Jura", sans-serif;
    color: #d2b900;
    text-transform: capitalize;
    margin-bottom: 20px;
}

h1 { font-size: 30px; font-weight: bold; }
h2 { font-size: 24px; font-weight: 600; }
h3 { font-size: 20px; font-weight: 600; margin-top: 20px; }


h2.subtitle {
    font-family: "Montserrat", sans-serif;
    font-size: 14px;
    color: #6e291e;
    margin-left: 50px;
    margin-bottom: -30px;
    position: relative;
    top: -25px; 
    letter-spacing: 8px;
}

/* ======================================================
   MAIN BODY
====================================================== */
#body {
    float: left;
    width: 700px;
    margin: 0 0 10px 150px;
    padding: 10px;
    color: #a6abb1;
    background-color: rgba(0, 0, 0, 0.5);
    display: inline;
}

/* ======================================================
   NAVIGATION MENU
====================================================== */
.nav {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
}

.nav li {
    text-align: center;
}

.nav li a {
    display: inline-block;
    padding: 12px 5px;
    margin: 0 15px;
    text-decoration: none;
    color: #6185c1;
    font-family: "Jura", sans-serif;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: bold;
    background-color: #000000;
}

.nav li a:hover {
    text-shadow: 0 0 4px #000, 0 0 7px #fff;
    color: #6185c1;
    font-weight: bold;
}

/* ======================================================
   LINKS & BUTTONS
====================================================== */
.samplelink,
.copy-button {
    border: 1px solid #000;
    background-color: #2d2d2d;
    color: #a0a0a0;
    font-family: "Montserrat", sans-serif;
    text-align: center;
    transition: background 0.2s;
    display: block;
}

.samplelink {
    font-size: 12px;
    width: 500px;
    margin: 0 auto;
    padding: 10px;
}

.copy-button {
    font-size: 16px !important;
    width: 100px;
    margin: 5px auto 0 auto !important;
    padding: 10px !important;
    cursor: pointer;
}

.copy-button:hover {
    background-color: #3b62a5;
}

/* ======================================================
   FORMS
====================================================== */
.custom_input {
    display: flex;
    align-items: center;
    margin-bottom: 5px !important;
}

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

/* Inputs, selects, textareas */
.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 {
    display: block;
    width: 300px;
    font-size: 20px;
    padding: 10px;
    outline: none;
    background-color: #2d2d2d;
    color: #a0a0a0;
    border: 1px solid #000;
    border-radius: 0;
    transition: 0.3s ease;
    margin-bottom: 5px;
}

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

.custom_input .input::placeholder,
form[class^="show_"] ::placeholder {
    color: #a0a0a0;
}

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

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

form[class^="show_"] {
    margin-left: 100px;
}

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

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

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

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

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;
}

/* Special form field visibility */
.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;
}

.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;
}

/* ======================================================
   STATS
====================================================== */
.stats {
    font-family: "Montserrat", sans-serif;
    font-size: 18px;
    margin: 20px;
    padding-bottom: 10px;
    line-height: 25px;
    color: #a6abb1;
}
.stats a {
    color: #6185c1;
}
.stats a:hover {
    color: #3f5da5;
}

/* ======================================================
   SORT LISTS & CODES
====================================================== */
.show_sort_list,
.codesort a {
    color: #6185c1;
}

.show_sort_list:hover,
.codesort a:hover {
    color: #3f5da5;
}

#codes ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 1em;
    justify-content: center;
}

#codes li { display: inline; }

#codes p { text-align: center; }

#codes p img { margin: 0 auto; }

.show_sort_list {
  font-family: "Montserrat", sans-serif;
  font-size: 20px;
  margin-left: 100px; /* indent the whole list */
  list-style-type: none; /* optional: remove bullets */
  padding: 0;
}

.show_sort_list li {
  margin: 5px 0; /* optional: add a little spacing between items */
}

.show_sort_list a {
  color: #6185c1;
  text-decoration: none; /* optional: remove underline */
}

.show_sort_list a:hover {
  color: #3f5da5;
  text-decoration: underline; /* optional: underline on hover */
}

/* ======================================================
   TITLES
====================================================== */
.title { color: #8e3627; }

/* ======================================================
   SCROLL TO TOP BUTTON
====================================================== */
#scrollTopBtn {
    position: fixed;
    bottom: 20px;
    right: 20px;
    width: 104px;
    height: 120px;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.4s, transform 0.3s;
    z-index: 1000;
    pointer-events: none;
}

#scrollTopBtn.show {
    opacity: 1;
    pointer-events: auto;
    animation: bob 2s infinite ease-in-out;
}

#scrollTopBtn:hover {
    transform: translateY(-5px) scale(1.1);
}

@keyframes bob {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

.about {
  display: block;
  margin-left: auto;
  margin-right: auto;
}


/* ======================================================
   HIDE EMPTY OPTIONAL FIELDS
====================================================== */
/* usage (can be repeated):
<span class="opt">
Favorite Song(s): <span class="value">$$fan_favorite_song$$</span>
</span>
*/

.opt:has(.value:empty) {
  display: none;
}

.value:empty {
  display: none;
}

.opt {
  display: block;
}


/* ======================================================
   WEBRINGS
====================================================== */
#fanlistings {
    font-family: "Montserrat", sans-serif;
    font-size: 10px;
    margin: 20px;
}