/*
    Variables
*/

:root {
    --primary-color: #0d1117;
    --secondary-color: #161b22;

    --primary-text-color: white;
    
    --green-text-color: limegreen;
    --green-label-color: green;

    --red-text-color: #ff2f2f;
    --red-label-color: #ff2f2f;

    --orange-text-color: darkorange;
    --orange-label-color: darkorange;

    --primary-hover-color: #161b22;
    --secondary-hover-color: #403b3b;
    
    --primary-border-color: grey;
    --secondary-border-color: grey;
    --tertiery-border-color: lightgrey;

    --disabled-color: grey;

    --highlight-color: deepskyblue;
}

/* 
    HTML Elements
*/

body {
    margin: 0px auto;
    -ms-overflow-style: none;  /* IE and Edge */
    scrollbar-width: none;  /* Firefox */
    background-color: var(--primary-color);
}

/* Hide scrollbar for Chrome, Safari and Opera */
body::-webkit-scrollbar {
    display: none;
}

a {
    font-family: sans-serif;
    text-decoration: none;
}

table {
    width: 100%;
    border-collapse: collapse;
}

th {
    text-align: left;
}

th, td {
    font-family: sans-serif;
    color: var(--primary-text-color);
    font-size: medium;
    padding-bottom: 15px;
    padding-top: 15px;
}

tr {
    border-bottom: 1px solid var(--primary-border-color);
}

tr:hover {
    background-color: var(--primary-hover-color);
}

hr {
    border-color: var(--primary-border-color);
}

#header {
    background-color: var(--secondary-color);
    padding-top: 20px;
    padding-bottom: 30px;
    padding-left: 20%;
    padding-right: 20%;
}

@media screen and (max-width: 80em) {
    #header {
        padding-left: 10%;
        padding-right: 0px;
    }
}

#navigation {
    padding-top: 7px;
    display: inline-block;
}

#pagecontent {
    padding-top: 20px;
    padding-left: 20%;
    padding-right: 20%;
}

@media screen and (max-width: 80em) {
    #pagecontent {
        padding-left: 2%;
        padding-right: 2%;
    }
}

/*
    Reusable classes
*/

.site-text {
    font-family: sans-serif;
    color: var(--primary-text-color);
    font-size: medium;
}

.site-text:disabled {
    color: var(--disabled-color);
}

.header-text {
    font-size: x-large;
}

.large-text {
    font-size: xxx-large;
}

.modal {
    border: 1px solid var(--primary-border-color);
    border-radius: 5px;
    background-color: var(--secondary-color);
    padding-top: 40px;
    padding-bottom: 40px;
}

.modal::backdrop {
    background-color: black;
    opacity: .7;
}
/*
    Specific classes
*/

.table-header:hover {
    background-color: var(--primary-color);
}

.site-header {
    color: var(--primary-text-color);
    float: right;
}

@media screen and (max-width: 80em) {
    .site-header {
        display: none;
    }
}

.site-header:hover {
    color: var(--secondary-hover-color);
}

.nav-item {
    color: var(--primary-text-color);
    padding-right: 20px;
}

@media screen and (max-width: 80em) {
    .nav-item {
        padding-right: 5px;
    }
}

.nav-item:hover {
    color: var(--secondary-hover-color);
    cursor: pointer;
}

.nav-item-active {
    color: var(--highlight-color);
}

.right {
    float: right;
}

.center {
    text-align: center;
}

.bold {
    font-weight: bold;
}

.form-element {
    border-radius: 5px;
    border: 1px solid var(--secondary-border-color);
}

.form-button {
    padding: 5px 20px 5px 20px;
    background-color: var(--secondary-color);
}

.form-button:disabled {
    background-color: var(--primary-color);
}

.form-button:hover {
    border: 1px solid var(--primary-text-color);
}

.form-button:active {
    background-color: var(--primary-color);
}

.form-input {
    margin-top: 10px;
    padding: 5px;
    background-color: var(--primary-color);
}

.form-top-margin {
    margin-top: 20px;
}

.form-bottom-margin {
    margin-bottom: 20px;
}

.icon {
    font-size: xx-large;
}

.icon:hover {
    cursor: default;
    color: var(--secondary-hover-color);
}

.green-label {
    background: var(--green-label-color);
    border-radius: 5px;
    padding: 5px;
    color: var(--primary-text-color);
    width: fit-content;
}

.green-text {
    color: var(--green-text-color);
}

.orange-label {
    background: var(--orange-label-color);
    border-radius: 5px;
    padding: 5px;
    color: var(--primary-text-color);
    width: fit-content;
}

.orange-text {
    color: var(--orange-text-color);
}

.red-label {
    background: var(--red-label-color);
    border-radius: 5px;
    padding: 5px;
    color: var(--primary-text-color);
    width: fit-content;
}

.red-text {
    color: var(--red-text-color);
}

.table-tag-label {
    border: 1px solid var(--highlight-color);
    border-radius: 25px;
    padding: 5px;
    margin-right: 5px;
    color: var(--highlight-color);
}

