﻿@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');

:root {
    --o-font-family: Roboto, sans-serif;
    --o-header-background-color: #f8b202;
    --o-header-color: #ffffff;
    --o-nav-background-color: #000000;
    --o-nav-hover-color: gray;
    --o-nav-color: #ffffff;
    --o-button-background-color: #E0E0E0;
    --o-button-background-color-darker: #707070;
    --o-error-color: #b90000;
}

body {
    padding: 0;
    margin: 0;
    font-family: var(--o-font-family);
    font-weight: 300;
    font-size: 1rem;
}

.form-field input,
.form-field textarea,
.form-field select {
    font-family: var(--o-font-family);
    font-weight: 300;
    font-size: 1rem;
    border: 1px inset;
}

.form-field textarea {
    top: 1.5em;
    position: relative;
    width: 31em;
    height: 3rem;
    margin-bottom: 1em;
    border-radius: 5px 5px 5px 5px;
    padding: 3px 7px 3px 7px;
}

.form-field input,
.form-field select {
    border-radius: 5px 5px 5px 5px;
    padding: 3px 7px 3px 7px;
    color: #505050;
}

    .form-field input[type=text],
    .form-field input[type=tel],
    .form-field input[type=email],
    .form-field input[type=number],
    .form-field input[type=password],
    .form-field input[type=range],
    .form-field input[type=url],
    .form-field text {
        width: 15em;
    }

    .form-field input[type=select],
    .form-field select {
        width: 16em;
    }

table.form-table {
    border: none;
    border-collapse: collapse;
    width: 100%;
}

    table.form-table th,
    table.form-table td {
        border: 1px solid #c5c5c5;
        border-collapse: collapse;
        padding: 10px;
    }

    table.form-table th {
        background-color: #f6f6f6;
        text-align: left;
        color: black;
    }

    table.form-table.clickable tr {
        cursor: pointer;
    }

    table.form-table tr.clickable:hover td {
        font-weight:500;
        cursor:pointer;
    }

button.form-button,
input[type=button].form-button,
input[type=submit].form-button,
input[type=reset].form-button {
    font-size: 0.9rem;
    font-family: Roboto;
    font-weight: 300;
    border: 1px solid gray;
    border-radius: 1em;
    padding: 5px 7px 5px 7px;
    margin-bottom: 2px;
    margin-right: 2px;
    cursor: pointer;
    min-width: 7em;
    background-image: linear-gradient(var(--o-button-background-color) 85%, var(--o-button-background-color-darker));
}

button:active.form-button,
input[type=button]:active.form-button,
input[type=submit]:active.form-button,
input[type=reset]:active.form-button {
    background-image: linear-gradient(var(--o-button-background-color-darker) 15%, var(--o-button-background-color)) !important;
}


h1 {
    font-size: 2em;
    font-weight: 700;
}

h2 {
    font-size: 1.75em;
    font-weight: 700;
}

h3 {
    font-size: 1.5em;
    font-weight: 700;
}

h4 {
    font-size: 1.25em;
    font-weight: 700;
}

h5 {
    font-size: 1em;
    font-weight: 700;
    margin-top: 1em;
    margin-bottom: 1em;
}

h6 {
    font-size: 1em;
}

header {
    margin: 0;
    padding: 0;
    background-color: var(--o-header-background-color);
    color: var(--o-header-color);
    text-align: center;
}

main {
    margin: 0;
    padding-top: 50px;
    padding-bottom: 50px;
    display: block;
    padding-left: 1em;
    padding-right: 1em;
    min-height: calc(100vh - 120px - 60px - 75px) !important;
    background-image: linear-gradient(#808080 0px, #FFFFFF 50px, #FFFFFF calc(100% - 50px), #808080);
}

footer {
    background-color: var(--o-header-background-color);
    color: var(--o-header-color);
    text-align: center;
    min-height: 60px;
    display: block;
    padding-top: 1em;
}

.dataTables_wrapper label {
    font-family: var(--o-font-family);
    font-weight: 300;
    font-size: 0.9rem;
}

.input-validation-error {
    border: 1px solid var(--o-error-color) !important;
}

.field-validation-error {
    display: block;
    position: relative;
    padding-top: 5px;
    margin-bottom: 1em;
    font-size: 0.75em;
    color: var(--o-error-color);
}

.validation-summary-errors {
    display: block;
    position: relative;
    padding-top: 5px;
    margin-bottom: 1em;
    font-size: 0.75em;
    color: var(--o-error-color);
}

.text ul {
    padding-left: 1em;
}

/* Ad-hoc formatting */
.bold {
    font-weight: 700;
}

.float-right {
    float: right;
}

.text {
    line-height: 2em;
}


/* Form */
.container {
    max-width: min(80%,960px);
    margin: auto;
    display: block;
    padding-bottom: 50px;
}

.form-section {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}

    .form-section:not(first-of-type) {
        margin-top: 1em;
    }

.form-field {
    padding-right: 1em;
    margin-bottom: 1em;
}

    .form-field input[type=text],
    .form-field input[type=tel],
    .form-field input[type=email],
    .form-field input[type=password],
    .form-field input[type=date],
    .form-field select {
        margin-top: 1.5em;
    }

    .form-field label {
        font-size: 0.9rem;
        font-family: Roboto;
        font-weight: 300;
        margin: 0;
        padding-left: 3px;
        position: absolute;
    }

.form-checkbox {
    width: 15em;    
}


    .form-checkbox input[type=checkbox] {
        
    }

.nav-main {
    background-color: black;
    color: white;
}

.nav-logout {
    display: inline-block;
}

    .nav-logout span:first-of-type {
        overflow: hidden;
        max-width: 5em;
    }

.nav-menu-bar ul {
    list-style: none;
    color: var(--o-nav-color);
    background-color: var(--o-nav-background-color);
}

    .nav-menu-bar ul li {
        color: var(--o-nav-color);
        background-color: var(--o-nav-background-color);
    }

.nav-menu-bar a {
    color: var(--o-nav-color);
    background-color: var(--o-nav-background-color);
    display: block;
    text-decoration: none;
    line-height: 32px;
    vertical-align: middle;
}

@media(width >= 650px) {
    .nav-main {
        text-decoration: none;
        display: block;
        width: 100%;
    }

    .nav-container {
        max-width: 50%;
        height: 100%;
        display: block;
        margin: auto;
    }

    .nav-logout {
        float: right !important;
        text-align: right;
        align-content: end;
        overflow: hidden;
    }

    .nav-menu-bar {
        height: calc(32px + 10px);
    }

        .nav-menu-bar > ul {
            margin: 0;
            padding: 0;
        }

            .nav-menu-bar > ul > li {
                width: 8em;
                float: left;
            }

        .nav-menu-bar a {
            color: white;
            display: block;
            padding: 5px 0px;
            text-align: center;
            text-decoration: none;
        }

            .nav-menu-bar a:hover {
                background-color: var(--o-nav-hover-color);
            }

        .nav-menu-bar > ul > li > ul {
            width: 8em;
            display: none;
            float: left;
            position: absolute;
            background-color: black;
            list-style: none;
            z-index: 999;
        }

            .nav-menu-bar > ul > li > ul li a {
                padding-left: 5px;
                text-align: left;
            }

    .nav-separator {
        border-bottom: 1px solid white;
    }
}

@media (width < 650px) {
    .nav-logout {
        display: inline-block;
    }

    .nav-menu-bar ul {
        margin-left: 2em;
        width: 10em;
    }

    .nav-menu-bar a {
        line-height: 48px;
        z-index: 999;
    }

        .nav-menu-bar a:not(last-of-type) {
            border-bottom: 1px dotted var(--o-nav-color);
        }

    .nav-menu-bar > ul li a:hover {
        background-color: var(--o-nav-hover-color);
    }

    .nav-menu-bar > ul > li > ul {
        display: none;
        list-style: none;
    }

    .hide-in-small {
        display: none;
    }
}
