body {
    font-family: sans-serif;
    margin: 20px;
    line-height: 1.6;
    text-align: center; /* Center the content on the homepage */
}

header {
    margin-bottom: 10px; /* Reduced margin */
}

nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

nav ul li {
    display: inline;
    margin: 0 10px; /* Reduced margin */
}

nav ul li a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

main {
    margin-bottom: 20px; /* Reduced margin */
}

.homepage-banner {
    max-width: 40%; /* Reduced banner size */
    height: auto;
    display: block;
    margin: 10px auto 15px;
}

footer {
    text-align: center;
    border-top: 1px solid #ccc;
    padding-top: 10px;
    font-size: 0.8em; /* Smaller footer font */
}

/* Styles for the hierarchical diagram */
.hierarchy-diagram {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}

.branch {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.node {
    position: relative;
    padding: 10px 20px;
    border: 1px solid #ccc;
    border-radius: 5px;
    text-align: center;
    background-color: #f9f9f9; /* Default background for nodes */
}

.node a {
    text-decoration: none;
    color: #333;
    font-weight: bold;
    display: block; /* Make the entire node clickable */
}

.vertical-line {
    width: 1px;
    background-color: #ccc;
    height: 30px;
}

.level-1-nodes {
    display: flex;
    gap: 50px;
}

.level-1-nodes .node {
    background-color: #e0f7fa; /* Light Cyan for Level 1 */
    padding: 10px 20px; /* Standard padding for text-only boxes */
}

.level-1-nodes .node a {
    /* No specific styling for links in Level 1 */
}

.level-2-nodes {
    display: flex;
    gap: 30px;
}

.level-2-nodes .node {
    background-color: #f0f4c3; /* Light Lime for Level 2 */
    padding: 8px 15px; /* Button padding */
}

.level-2-nodes .node a {
    display: block; /* Make the entire node clickable */
    text-decoration: none;
    color: #333;
    font-weight: bold;
}

.level-3-nodes {
    display: flex;
    gap: 15px;
}

.level-3-nodes .node {
    background-color: #fce4ec; /* Light Pink for Level 3 (buttons) */
    padding: 6px 12px; /* Button padding */
    font-size: 0.9em;
}

.level-3-nodes .node a {
    display: block; /* Make the entire node clickable */
    text-decoration: none;
    color: #333;
    font-weight: bold;
}