:root {
    --background-color: #333;
    --header-color: #555;
    --sidebar-color: rgba(85,85,85,0.7);
    --header-hover-color: #EEE;
    --dark-text-color: #000;
    --light-text-color: #FFF;
    --purple-accent-color: #8A2BE2;
}

body {
    margin: 0;
    font-family:'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', 'Geneva', 'Verdana', 'sans-serif';
    background-color: VAR(--background-color);
    color: VAR(--light-text-color); /* This is just text color. CSS fucking sucks*/
    text-align: left;
    min-height: 100vh;
}

form {
        /*flexbox*/
        display: flex;
        flex-direction: column;
        align-items: center;
}

input, button, select {
    background-color: white;
    padding: 5px;
    margin: 10px;
    border-radius: 10px;
    border: none;
    box-shadow: 0px 0px 10px #000;
    font-size: 1em;
    text-align: center;
    color:#000;

}
input, select {
    margin-top: 0px;
    margin-bottom: 15px;
}
output {
    background-color: #FF8;
    padding: 5px;
    margin: 10px;
    border-radius: 10px;
    border: none;
    box-shadow: 0px 0px 10px #000;
    font-size: 1em;
    font-weight: bold;
    text-align: center;
    color:#000;
    min-height: 35px;
    min-width: 200px;
    margin-top: 0px;
    margin-bottom: 15px;
}


button:hover {
    cursor:pointer;
    background-color: #CCC;
}

h1 {
    font-size: 2em;
    font-weight: bold;
    text-align: right;
    padding: 5vw;
}

h3 {
    font-size: 1.5em;
    font-weight: bold;
    text-align: center;
    padding: 10px;
}

a {
    cursor: pointer;
}

label {
    margin-left: 10px;
    
}
p {
    user-select:text;
}



/*nav bar tutorial https://www.youtube.com/watch?v=U8smiWQ8Seg*/

.header-main {
    display: flex;
    align-items: center;
    width: 100%;
    background-color: VAR(--header-color);
    position: absolute;
    z-index: 998;
    height:75px;
    box-shadow: 5px 5px 5px rgba(0,0,0,0.2);
    
}
.corner-logo {
    height: 100%;
    display: flex;
    flex-shrink: 0;
    align-items: center;
    font-weight: bold;
}
.corner-logo img {
    height: 100%;
    object-fit: cover;
}


.topnav {
    display: flex;
    justify-content: flex-end;
    height: 100%;
    width: 100%;
    overflow:hidden;
}

.topnav ul {
    width: 100%;
    list-style: none;
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.topnav ul li {
    height: 100%;
}

.topnav ul li a {
    height: 100%;
    padding: 0px 10px;
    text-decoration: none;
    text-wrap: nowrap;
    display: flex;
    align-items: center;
    font-weight: bold;
}

.topnav ul li:hover {
    background-color: VAR(--header-hover-color);
    color: VAR(--dark-text-color); /*this is just text color*/
    transition: all ease-in-out 300ms;
}


.topnav .sidebar {
    position: fixed;
    top:0;
    right: 0;
    height:100vh;
    width: 250px;
    z-index: 999;
    background-color: VAR(--sidebar-color);
    backdrop-filter: blur(10px);
    box-shadow: -10px 0 10px rgba(0,0,0,0.3);
    display: none;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}
.topnav .sidebar li {
    width: 100%
}
.topnav .sidebar a {
    width: 100%
}
.header-block { 
    /*shouldn't be visible - this just sits behind the header to space out other content*/
    height: 75px;
    width: 100%;
    background-color: #F0F;
}

.topnav .hamburger {
    display: none;
    font-size: 1.5rem;
    height: 100%;
    padding: 0px 10px;
    text-decoration: none;
    align-items: center;
    font-weight: bold;
}
.header-main .sidebar .closeSidebar {
    font-size: 1.5rem;
    font-weight: bold;
    margin-left: auto;
}

.header-main.collapsed .nav-list {
    display:none;
}
.header-main.collapsed .hamburger {
    display:flex;
}

@media(max-width: 400px) {
    .topnav .sidebar {
        width: 100%;
    }
}






.loginForm {
    flex-direction: row;
    align-self: center;
}
.loginForm div {
    /*flexbox*/
    display: flex;
    flex-direction: column;
    align-items: center;
}




.button,
.dropdown,
.numberInput, 
.integerInput {
    min-width: 200px;
    font: sans-serif;
}
.numberInput, 
.integerInput,
.dropdown {
    padding: 0px 0px 0px 15px;
}
.numberInput::-webkit-outer-spin-button,
.numberInput::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin:0;
}
.dropdown {
    -webkit-appearance: menulist;
    appearance: menu;
}




.button:hover {
    cursor:pointer;
}

.InMm { 
    display: -webkit-flex; display: flex; 
    justify-content: center;
}


input.invalid {
    background-color: #ffaaaa;
}



.accordionExpansion div {
    display:flex;
}
.accordionExpansion .unitToggler {
    display:flex;
    justify-content: center;
}