﻿:root {
    --form-clr: rgba(99,122,159);
    --form-btn: rgba(99,122,159,0.8);
    --form-hvr: rgba(201,215,221);
    --form-hghlt: rgba(137, 28, 60, 0.2);
    --form-label: rgba(99,122,159);
    --form-urgent: rgb(255, 106, 0);
}

.stage-grid {
    display: grid;
    grid-template-columns: 1.5fr .5fr .5fr 3fr;
}

.route-grid-head {
    background-color: var(--primarybg);
    font-weight: bold;
    text-align: center;
    border-bottom: 1px solid #999;
    border-right: 1px solid #DDD;
    color: var(--primarytxt);
}

.route-grid-body {
    padding: 2px 1px;
    border-bottom: 0.5px solid #999;
    border-right: 1px solid #DDD;
    text-align: center;
}

.form-input-grp, .form-input-grp-inset {
    display: flex;
    align-items: center;
    background-color: white;
    flex-direction: row;
    font-size: 1rem;
    border-radius: 6px;
    border: 1px solid var(--form-clr);
    overflow: hidden;
    margin-bottom: 6px;
}

.form-in-table {
    display: flex;
    align-items: center;
    background-color: white;
    flex-direction: row;
    font-size: 1rem;
    border-radius: 6px;
    border: 1px solid var(--form-clr);
    overflow: hidden;
    padding:0;
}

.form-input-grp {
    position: relative;
    margin-bottom: 8px;
}

    .form-input-grp input,
    .form-input-grp select,
    .form-input-grp textarea {
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 5px;
        outline: none;
/*        padding: .4rem .5rem .1rem .5rem;
*/        background: none;
    }
    .form-input-grp input:focus {
        border: 2px solid var(--form-hvr);
    }
        .form-input-grp select:hover,
        .form-input-grp textarea:hover,
        .form-input-grp input:hover {
            border-color: var(--form-hvr);
        }
        .form-input-grp input:focus + label,
        .form-input-grp select:focus + label,
        .form-input-grp textarea:focus + label,
        .form-input-grp label:hover {
            background-color: var(--form-hvr);
            font-weight:400;
        }
        .form-input-grp input:hover + label,
        .form-input-grp select:hover + label,
        .form-input-grp textarea:hover + label,
        .form-input-grp label:hover {
            background-color: var(--form-hvr);
            color: white;
            border-radius: 3px;
        }
        .form-input-grp textarea:focus,
        .form-input-grp select:focus,
        .form-input-grp input:focus {
            background-color: var(--form-hghlt);
        }
        .form-input-grp input:hover,
        .form-input-grp select:hover,
        .form-input-grp input:hover {
            color: var(--form-btn);
        }
.form-input-grp label {
    position:absolute;
    top:-.4rem;
    left:.5rem;
    background-color:grey;
    background-color: var(--form-label);
    color: white;
    padding: 0 5px;
    font-size:0.8rem;
    line-height:0.8rem;
    border-radius:3px;
    font-weight:300;
}
    .form-input-grp select {
        width: fit-content;
    }
.form-input-grp-inset {
    border-radius: 4px;
    margin: 0 0 0 auto;
    width: fit-content;
}

.form-input {
    border: 0;
    padding: 0 6px;
    color: grey;
    height: inherit;
    flex-grow: 1;
    min-height: 2em;
    width: 100%;
    /*max-width: auto;*/
}

.form-input-table {
    border: 0;
    padding: 0;
    color: grey;
    height: inherit;
    flex-grow: 1;
    min-height: 1.5em;
    width: 100%;
    /*max-width: auto;*/
}

.form-input-grp-inset label,
.form-input-grp label {
    display: flex;
    align-items: center;
    justify-content: right;
    padding-right: 6px;
    background-color: var(--form-label);
    color: white;
    font-weight: 400;
    min-width: 110px;
    min-height: 2em;
    margin-bottom: 0;
}

.form-input-grp-inset label {
    padding: 0 6px 0 10px;
    min-height: 2rem;
    margin-bottom: 0;
    white-space: nowrap;
    min-width:auto;
}

.form-input:focus {
    background-color: var(--form-hghlt);
    outline: none !important;
}

.form-input::placeholder {
    opacity: 0.4;
}

.form-check-grp {
    position:relative;
    display: flex;
    align-items: center;
    flex-direction: row;
    border-radius: 6px;
    background-color: var(--form-clr);
    overflow: hidden;
    min-height: 2rem;
    margin-bottom: 8px;
    /*padding-left:6px;*/
    padding-right:.5rem;
    max-width:fit-content;
}

.form-check-table {
    position: relative;
    display: flex;
    align-items: center;
    flex-direction: row;
    border-radius: 6px;
    /*border: 1px solid var(--form-clr);*/
    background-color: var(--form-clr);
    overflow: hidden;
    min-height: 1.5rem;
    /*padding-left:6px;*/
    max-width: fit-content;
}

.form-check-label {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 6px;
    color: white;
    min-height: 2rem;
    font-weight: 400;
    text-align: left;
    margin-bottom: 0;
    margin-right: auto;
}

.form-check-urgent {
    /*border: 1px solid var(--form-urgent);*/
    background-color: var(--form-urgent);
}

.form-textarea-grp {
    display: flex;
    flex-direction: row;
    border-radius: 6px;
    border: 1px solid var(--form-clr);
    overflow: hidden;
    min-height: 2rem;
    margin-bottom: 6px;
}

.form-textarea-grp label {
    text-align: right;
    padding: 4px 6px 0 0;
    background-color: var(--form-clr);
    color: white;
    font-weight: 400;
    min-width: 120px;
    margin:0;
}

.form-button {
    text-align: center;
    padding: 4px 8px;
    background-color: var(--form-btn);
    border: 0;
    color: white;
    margin: 0;
    white-space: nowrap;
    border-radius: 6px;
}

a.form-button {
    text-decoration:none;
    color:white;
}
a.form-button:hover {
    color: yellow;
}
.form-input-grp .form-button,
.form-input-grp-inset .form-button {
    border-radius: 0;
}

.form-button:hover,
.form-button:focus {
    background-color: var(--form-hvr);
    outline: none !important;
}

.form-upload {
    width:fit-content;
    padding-left:4px;
}

.form-input-caption {
    position:relative;
}

    .form-input-caption input,
    .form-input-caption textarea,
    .form-input-caption select {
        border: 1px solid var(--form-clr);
        border-radius:4px;
        padding:8px 6px 0px 6px;
        margin-bottom:8px;
        color:var(--form-btn);
    }
    .form-input-caption label {
        position: absolute;
        left: 8px;
        top: -5px;
        background-color: var(--form-label);
        color: white;
        font-size: .65rem;
        border-radius: 4px;
        padding: 0px 4px;
    }
.form-check-table input[type="checkbox"],
.form-check-grp input[type="checkbox"] {
    top: 0;
    left: 0;
    appearance: none;
    outline: none;
    color: white;
}
    .form-check-grp input[type="checkbox"]:focus
    {
        border-right: 3px solid yellow;
    }

    .form-check-grp input[type="checkbox"]:hover
    {
        border-right: 3px solid yellow;
    }

    .form-check-grp.parent {
        box-shadow: rgba(0,0,0,0.4) 10px 10px;
    }

    .form-check-grp input[type="checkbox"],
    .form-check-grp input[type="checkbox"]::before,
    .form-check-grp input:checked[type="checkbox"]::after {
        display: flex;
        /*position: absolute;*/
        justify-content: center;
        align-items: center;
        top: 0;
        left: 0;
        height: 2rem;
        width: 38px;
        text-align: center;
    }

.form-check-grp input:checked[type="checkbox"]::before {
    content: 'YES';
    background-color: green;
}

.form-check-grp input[type="checkbox"]::before {
    content: 'NO';
    background-color: red;
}
.form-check-table input:checked[type="checkbox"]::before {
    content: 'YES';
    background-color: green;
    padding:4px;
}

.form-check-table input[type="checkbox"]::before {
    content: 'NO';
    background-color: red;
    padding: 4px;
}

.validateText {
    display: flex;
    color: crimson;
    font-size: 10pt;
    margin: -10px 0 6px 0;
    line-height: 1.5rem;
}

    .validateText:empty {
        margin: 0px;
    }

