:root{
    --color1: #66371B;
    --color2: #B4B33D;
    --color3: #E3D8C1;
    --color4: #F7F1E1;
    --color5: #81754B;
    --color6: #3F3F2C;
    /*
    color1: rgb(41,54,129)
    color2: rgb(66,116,217)
    color3: rgb(149,204,221)
    color4: rgb(208,231,230)
    */

}
*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: Arial, sans-serif;
}

body{
    width: 100vw;
    background-color: var(--color4);
}

/*==============================*/
/*            Header            */
/*==============================*/
header{
    width: 100%;
    height: 7%;
    display: flex;
}
nav{
    height: 100%;
    width: 100%;
    background-color: var(--color1);
    display: flex;
    gap: 40px;
    justify-content: center;
    margin-bottom: 0;
    align-items: center;
    padding-bottom: 15px;
    position: sticky;
    /*border: 1px solid black;*/
}
nav a{
    color:var(--color3);
    text-decoration: none;
    font-size: 2rem;
    font-weight: bold;
    transition: 0.3s;
    margin-top: 2%;
}
nav a:hover{
    color: var(--color5);
}
.header-logo{
    width: auto;
    height: 100px;
}

/*==============================*/
/*            Main              */
/*==============================*/
main{
    background-color: var(--color4);
    min-height: 100vh;
    width: 100%;
    padding: 0px;
    display: flex;
    flex-direction: column;
    align-items: start;
}

.content {
    background-color: var(--color4);
    min-height: 100vh;
    width: 100%;
    display: grid;
    grid-auto-rows: 400px;
    align-items: start;
    justify-items: center;
    gap:2rem;
    border-radius: 50px;
}
.content-header{
    margin-top: 30px;
    color: var(--color6);
    font-weight: bold;
    font-size: 3.5rem;
    margin-bottom: 70px;
    display: block;
    margin-left: 15%;
}
/* Base Container & Tree Setup */
.org-container { width: 80%; overflow-x: auto; padding: 20px; background: var(--color3); border-radius: 50px; }
.tree ul { padding-top: 20px; position: relative; display: flex; justify-content: center; }
.tree li { text-align: center; list-style-type: none; position: relative; padding: 20px 5px 0 5px; }

/* Connecting Lines using Pseudo-elements */
.tree ul ul::before,
.tree li::before, 
.tree li::after { content: ''; position: absolute; top: 0; border-top: 2px solid var(--color6); }

.tree ul ul::before { left: 50%; width: 0; height: 20px; border-left: 2px solid var(--color6); }
.tree li::before, .tree li::after { right: 50%; width: 50%; height: 20px; }
.tree li::after { right: auto; left: 50%; border-left: 2px solid var(--color6); }

/* Handle Node Connections */
.tree li:only-child::after, .tree li:only-child::before { display: none; }
.tree li:only-child { padding-top: 0; }
.tree li:first-child::before, .tree li:last-child::after { border: 0 none; }
.tree li:last-child::before { border-right: 2px solid var(--color6); border-radius: 0 5px 0 0; }
.tree li:first-child::after { border-radius: 5px 0 0 0; }

/* Node Card Styling */
.node-card {
  border: 1px solid var(--color6); padding: 10px 15px; display: inline-block;
  border-radius: 8px; background-color: #ffffff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1); min-width: 140px;
}
.node-card .name { font-weight: bold; font-size: 14px; color: var(--color6); }
.node-card .title { font-size: 12px; color: var(--color5); margin-top: 4px; }

/*==============================*/
/*            Footer            */
/*==============================*/
footer{
    margin-top: 2rem;
    width: 100%;
    height: 100px;
    /*border: 1px solid black;*/
    background-color: var(--color5);
    display: flex;
    text-align: center;
    justify-content: center;
    align-content: center;
    align-items: center;
}

.foot-text{
    font-size: 2rem;
    color: var(--color4);
    justify-self: center;
}