* {
    box-sizing: border-box;
}

body {
    font-family: "Futura", sans-serif;
    background-color: #202020; /* Background color */
    color: #333;
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0; /* Remove any default margin */
    padding: 0; /* Remove any default padding */
    overflow-x: hidden; /* Prevent horizontal scrolling */
    
    /* Fixed background setup */
    background-image: url('images/wavey_background.jpg'); /* Ensure the path is correct */
    background-size: cover; /* Cover the entire page */
    background-position: center center; /* Center the image */
    background-attachment: fixed; /* Make the background fixed */
    background-repeat: no-repeat; /* Prevent tiling of the image */
}



header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.5rem 0;
    color: white;
}
header img.logo {
    max-height: 4rem;
}
header .site-name {
    margin: 0;
    font-size: 2rem;
    padding-left: 1vw;
    font-family: "Futura", sans-serif;
}
.outlined-text {
    text-shadow:
        -1px -1px 0 rgb(102, 102, 102),
         1px -1px 0 rgb(102, 102, 102),
        -1px  1px 0 rgb(102, 102, 102),
         1px  1px 0 rgb(102, 102, 102);
}



nav {
    font-family: "Futura", sans-serif;
    width: 95%;
    max-width: 1200px;
    margin: 0 auto;
    background-color: #fdbaba8e;
    padding: 1rem;
    border-radius: 15px;
    outline: 2px solid rgb(207, 207, 207);
}
nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
}
nav li {
    margin: 0 15px;
}
nav a {
    color: white;
    text-decoration: none;
    font-size: 1.2rem;
    padding: 10px;
    transition: background-color 0.15s;
}
nav a:hover {
    background-color: #555;
    border-radius: 5px;
}

.text_blocks {
    font-family: "Futura", sans-serif;
    border-radius: 15px;                 /* Visual */
    width: 95%;                          /* Affects layout width */
    max-width: 1200px;                   /* Affects layout limit */
    margin: 0 auto;                      /* Horizontal centering (top/bottom margin = 0) */
    background-color: #fdbaba8e;         /* Visual style only */
    padding-left: 1rem;                       /* Internal spacing around content */
    padding-right: 1rem;                       /* Internal spacing around content */
    outline: 2px solid rgb(207, 207, 207); /* Visual */
    color: rgb(255, 255, 255)
}

.section {
    margin-top: 1rem;
}




.link-list {
    width: 100%;
    margin: 0; /* Remove auto-centering */
    text-align: left;
    max-width: 1200px;
}


/* Category Sections */
.category-section {
    margin-bottom: 1rem;
}

/* Collapsible Headers (Category Titles) */
.collapsible-header {
    cursor: pointer;
    background-color: #6c1f1f;
    color: #ffffff;
    padding: 12px 20px;
    font-size: 1.2rem;
    border-radius: 8px;
    margin: .5rem 0 0.5rem;
    width: fit-content;
    display: inline-block;
    user-select: none;
    transition: background-color 0.3s;
    position: relative;
}

/* Arrow indicators */
.collapsible-header::after {
    content: " ▲";
    font-size: 1rem;
    margin-left: 10px;
}

.collapsible-header.collapsed::after {
    content: " ▼";
}

.collapsible-header:hover {
    background-color: #822929;
}

.collapsible-content {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    padding-left: 1%;
    margin: 0;
    list-style: none;
}

.collapsible-content.collapsed-content {
    display: none !important;
}


/* List Item Styling */
.link-list li {
    margin: 0px 0;
    text-align: left;
}

/* Link Buttons */
.link-button {
    color: #ffffff;
    text-decoration: none;
    font-size: 1rem;
    padding: 10px 15px;
    background-color: #fdbaba8e;
    outline: 2px solid rgb(207, 207, 207);
    border-radius: 5px;
    display: inline-block;
    transition: background-color 0.15s;
}

.link-button:hover {
    background-color: #555;
}
.toggle-url-button-container {
    width: 95%;
    max-width: 1200px;
    margin: 1rem 0;
    text-align: left;
    padding-left: 1%;
    padding-right: 1%;
}
.button {
    background-color: #d39e62;
    color: white;
    padding: 10px 20px;
    border: 2px solid #bd6501;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1rem;
    width: auto;
    display: inline-block;
    margin: 0; /* Remove extra margin */
}

#dynamicLinkList {
    margin: 0;
    padding: 0 2%;
    width: 100%;
    text-align: left;
    list-style-type: none; /* Removes bullet points */
}

#dynamicLinkList li {
    margin-bottom: 0rem;
    break-inside: avoid; /* Prevents awkward breaks in columns */
}

/* Collapsible Content (Link List under each header) */
.collapsible-content {
    display: flex;
    flex-wrap: wrap; /* Wrap to next line if needed */
    gap: 0.5rem;      /* Optional spacing between items */
    padding-left: 1%;
    margin: 0;
    list-style: none;
}

/* List Item Styling */
.collapsible-content li {
    margin: 0; /* Remove vertical spacing */
}



.search-container {
    width: 93%;
    max-width: 1200px;
    margin-top: 1rem;
    text-align: left;
}

#linkSearchInput {
    width: 100%;
    padding: 10px;
    font-size: 1rem;
    border-radius: 5px;
    border: 2px solid #bd6501;
    background-color: #fdbaba8e;
    color: white;
}