:root {
    --default-background-color: #ffffff;
    --default-body-background: #EEEEEE;
    --tinted-background-color: #fafafa;
    --tinted-error: #ffecec;
    --warning: #fff9f2;
    --link-color: #222;
    --full-width: 100%;
    --max-width: 960px;
    --font-family: "Roboto", Arial, sans-serif;
    --ams-color: #0057B8;
    --border-radius: 2px;
    --box-shadow-inner: inset -1px 1px 2px rgba(0,0,0,0.10);
    --box-shadow: 1px 1px 3px rgba(0,0,0,0.16);
    --input-border: 1px solid #e9e9e9;
    --card-width: 420px;
    --card-padding: 30px 40px;
    --focus-color: #f0f8ff;
    --muted: #5A5A5A;
    --dominate-color: #e55c20;
    --passive-color: #f9a021;
    --green:#91DC00;
    --red:#FF585D;
    --yellow:#FFB000;
    --purple:#AF28BB;
    --zebra-stripe: #E5E5E5;
    --logo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' id='logosandtypes_com' data-name='logosandtypes com' viewBox='0 0 150 150'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:none;%7D.cls-2%7Bfill:url(%23linear-gradient);%7D%3C/style%3E%3ClinearGradient id='linear-gradient' x1='13.51' y1='123.24' x2='112.93' y2='44.14' gradientUnits='userSpaceOnUse'%3E%3Cstop offset='0' stop-color='%23ffffff'/%3E%3Cstop offset='0.5' stop-color='%23ffffff'/%3E%3Cstop offset='1' stop-color='%23ffffff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Layer_3' data-name='Layer 3'%3E%3Cpath id='Layer_3-2' data-name='Layer 3' class='cls-1' d='M0,.2H150v150H0Z' transform='translate(0 -0.2)'/%3E%3C/g%3E%3Cpath class='cls-2' d='M.5,89.33a89.55,89.55,0,0,0,9.1,39.81l18.28-13a67.11,67.11,0,0,1-6.2-29c0-31.28,23-55,52.42-55,28.76,0,46.39,20.27,46.39,46.43,0,23.44-15.59,38.64-35.82,38.64-19.37,0-33-13.25-33-32.09,0-16.59,10.53-27.73,23.17-27.73,9.53,0,14.73,4.33,14.73,11.27,0,7.79-8.06,12.12-16.33,9.83L64.57,84.7a119.08,119.08,0,0,0,25,23.56l9.27-6.45A163.26,163.26,0,0,1,84,89a20.4,20.4,0,0,0,18.41-20.36c0-14-10-23.91-27.33-23.91-20.66,0-38,17-38,41.24,0,26.9,19.67,46.78,48,46.78,31.15.17,53.24-23.3,53.24-54.49,0-37-25.69-64.11-65-64.11C33.16,14.18.5,45.41.5,89.33' transform='translate(0 -0.2)'/%3E%3C/svg%3E");
}
*, *::before, *::after {
    box-sizing: border-box;
}
.environment-banner,
.environment-header {
    display: none;
    background-color: #a63434;
    color: #fff;
}
.environment-header {
    padding: 10px 30px;
}
.environment-header a {
    color: #fff !important;
    display: inline-block;
    margin-left: 10px;
}
.environment-header[data-environment="dev"],
.environment-header[data-environment="test"] {
    display: flex !important;
    flex-direction: row;
    justify-content: space-between;
    z-index: 10;
    position: relative;
}
.environment-header[data-environment="test"] ~ aside,
.environment-header[data-environment="dev"] ~ aside {
    top: 115px;
}
.environment-header[data-environment="test"] ~ aside > footer,
.environment-header[data-environment="dev"] ~ aside > footer {
    height: 280px !important;
}
.environment-header[data-environment="test"] ~ main > .left-frame,
.environment-header[data-environment="dev"] ~ main > .left-frame {
    top: 117px;
}
.environment-banner[data-environment="test"],
.environment-banner[data-environment="dev"] {
    display: block !important;
    padding: 20px;
    border-radius: 3px;
}
.environment[data-environment="test"]:before {
    content: "Testing Environment";
}
.environment[data-environment="dev"]:before {
    content: "Local Environment";
}
.environment-banner > p {
    margin-top: 5px;
    font-size: 13px;
    line-height: 1.2em;
}
span[data-caspio-production] {
    display: inline-block;
    color: #e5c4c4;
}
span[data-caspio-production="0"]:before {
    content: '/  Test Data';
}
span[data-caspio-production="1"]:before {
    content: '/  Production Data';
}
.ams-description-modal-trigger{
    cursor: pointer;
}
html, body{
    background-color: var(--default-body-background);
    height: 100%;
    padding: 0;
    margin: 0;
}
body.entity-page.modal-open{
    overflow: unset !important;
}
body.entity-page section.breadcrumbs{
    padding-left: 0;
    padding-top: 15px;
}
.relative{
    position: relative;
}
body.entity-page section.breadcrumbs + div.button-container{
    position: absolute;
    right: 0;
    top: 15px;
}
li.parent .controller{
    height: 0;
    width: 0;
}
li.parent .controller:focus-within + .controller-label:after,
li.parent .controller:focus + .controller-label:after,
li.parent .controller:active + .controller-label:after{
    background-color:var(--dominate-color);
}
input[type=checkbox]:checked + .controller-label + .sub-menu-container{
    display: block;
}
.controller-label:after{
    content: ' ';
    background-size: 100% 100%;
    position: absolute;
    top: -4px;
    right: -13px;
    height: 23px;
    width: 27px;
}
input[type=checkbox]:not(:checked) + .controller-label:after{
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzUycHQiIGhlaWdodD0iNzUycHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDc1MiA3NTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMzc2IDI0OS4zNCAyMDUuNDkgMjA1LjUtMjcuOTAyIDI3LjkwMi0xNzcuNTktMTc3LjU5LTE3Ny41OSAxNzcuNTktMjcuOTAyLTI3LjkwMnoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K");
}
input[type=checkbox]:checked + .controller-label:after{
    background-image: url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iNzUycHQiIGhlaWdodD0iNzUycHQiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDc1MiA3NTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMzc2IDUwMi42Ni0yMDUuNDktMjA1LjUgMjcuOTAyLTI3LjkwMiAxNzcuNTkgMTc3LjU5IDE3Ny41OS0xNzcuNTkgMjcuOTAyIDI3LjkwMnoiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIvPgo8L3N2Zz4K");
}
.sub-menu-container{
    display:none;
}
label.controller-label > span{
    display: block;
    color: #ffffffab;
}
label.controller-label{
    color: #fff;
    position: relative;
    margin-bottom: 0;
}
body, .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{
    font-family: Arial, sans-serif !important;
    line-height: 1.6em !important;
    font-size: 14px !important;
}
form[data-purpose] label{
    color: var(--muted);
}
label{
    margin-bottom: 10px;
    display: block;
    font-size: 1em;
    cursor: pointer;
}
a:not(.dropdown-item), a:hover{
    color: var(--link-color);
}
a:not(.dropdown-item) {
    text-decoration: none;
}
a:hover{
    text-decoration: underline;
}
button[type=submit]:disabled{
    border: 1px solid var(--focus-color);
    background-color: var(--focus-color);
    color: var(--link-color);
}
textarea.form-control{
    line-height: 1em;
    padding: 10px !important;
    text-indent: 0;
    box-sizing: border-box;
}
.hide, div.DTE div.DTE_Field.hide{
    display: none!important;
}
form[data-purpose] button[type=submit],
form[data-purpose] input[type=text],
form[data-purpose] input[type=password],
form[data-purpose] input[type=date],
form[data-purpose] input[type=number],
form[data-purpose] input[type=email]{
    padding: 13px 15px;
    width: 100% !important;
    border: var(--input-border);
    border-radius: var(--border-radius);
    border: var(--input-border);
    height: 50px;
}
form[data-purpose] input[type=text],
form[data-purpose] input[type=password],
form[data-purpose] input[type=date],
form[data-purpose] input[type=number],
form[data-purpose] input[type=email]{
    box-shadow: var(--box-shadow-inner);
}
form[data-purpose] input[type=text],
form[data-purpose] input[type=password],
form[data-purpose] input[type=date],
form[data-purpose] input[type=number],
form[data-purpose] input[type=email]{
    box-shadow: var(--box-shadow-inner);
}

button[type=submit] {
    color: #FFFFFF;
    background-color: var(--link-color);
    border: 1px solid var(--link-color);
    line-height: inherit;
    border-radius: var(--border-radius);
    outline: none;
    font-size: 1em;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=number]:focus,
input[type=email]:focus,
input[type=search]:focus,
textarea:focus{
    background-color: var(--focus-color);
    border: 1px solid var(--link-color);
}
main .col-4 > button{
    margin-top: 32px;
}

#login button{
    line-height: unset !important;
}
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
input[type=search],
textarea,
select{
    outline: none;
    line-height: inherit;
    font-size: 1em;
    text-indent: 10px;
    border-width: 1px;
}
input[type=text] + label,
input[type=password] + label,
input[type=date] + label,
input[type=number] + label,
input[type=email] + label,
input:not[type=hidden] + div:not(.input-group-append),
div + label{
    margin-top: 15px;
}
div.input-group > input[type=checkbox]{
    font-size: 15px;
    height: 18px;
    width: 18px;
    position: relative;
}
.table-search > div:not(:last-child){
    padding-right: 30px;
    border-right: 1px dotted #999;
}
.table-search .dataTables_filter{
    padding-left: 30px;
}
div.dataTables_wrapper div.dataTables_filter + .custom-filter-container,
.table-search > .custom-filter-container{
    padding-left: 30px;
    padding-top: 0 !important;
}
.custom-control-input:focus ~ .custom-control-label::before,
.custom-control-input:focus:not(:checked) ~ .custom-control-label::before{
    border: none;
    box-shadow: inset 0 1px 2px #c7c7c7;
}
.custom-switch .custom-control-input:checked ~ .custom-control-label::after{
    background-color: var(--dominate-color);
}
.custom-switch .custom-control-input:checked ~ .custom-control-label > span::after{
    content: 'ed';
}
.custom-control-input ~ .custom-control-label::before,
.custom-control-input:checked ~ .custom-control-label::before {
    background-color: var(--default-body-background);
    border-color: transparent;
    box-shadow: inset 0 1px 2px #c7c7c7;
}
.table-search .custom-control-label{
    position: relative;
    font-weight: bold;
    color: #000;
}
.table-search .custom-switch .custom-control-label::after{
    top: 2px;
}
.dataTables_wrapper .table-search{
    display: table;
}
.table-search > div{
    display: table-cell;
    vertical-align: middle;
}
input[type=email] + button[type=submit],
input[type=text] + button[type=submit],
input[type=password] + button[type=submit],
input[type=date] + button[type=submit],
input[type=number] + button[type=submit],
input + div + button[type=submit],
#login button[type=submit]{
    margin-top: 40px;
}
.panel-container{
    width: 100%;
    margin: 50px auto;
    max-width: var(--card-width);
    position: relative;
    z-index: 1;
}
.panel-body:empty, .form-text:empty{
    display: none;
}
.panel-body.alert{
    background-color: var(--focus-color);
    color: var(--link-color);
    margin: 0;
}
.panel-body.instructions{
    background-color: var(--warning);
    margin: 0;
}
.alert.error{
    background-color: var(--tinted-error);
}
.alert > b{
    display: block;
    font-size: 1.2em;
}
.panel{
    box-shadow: var(--box-shadow);
    background-color: var(--default-background-color);
    border-radius: var(--border-radius);
    overflow: hidden;
}
.panel-container > .panel-container-footer{
    margin-top: 30px;
    text-align: center;
    color:#898989;
}
.panel-footer > a{
    display: inline-block;
}
.panel-footer > a + a{
    display: inline-block;
    margin-left: 10px;
}
.panel > .panel-footer:not(:empty){
    background-color: #f9f9f9;
}
.panel > .panel-header,
.panel > .panel-body,
.panel > .panel-footer{
    padding: var(--card-padding);
}
.panel > .panel-footer{
    color: #6f6f6f;
}
.panel > .panel-header{
    padding-top: 60px;
}
p {
    margin: 0;
}
* + p:not(.error){
    margin-top: 10px;
}
hr {
    margin: 6px 0 !important;
}
tr.selected a, td.selected a, th.selected a {
    color:#504e4e !important;
}
.vertical-center{
    height: 100%;
    text-align: center;
}
.vertical-center:before{
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    margin-right: -0.25em;
}
.vertical-center > div{
    display: inline-block;
    vertical-align: middle;
    text-align: left;
    margin-left: -0.25em;
}
.logo{
    background-size: 100%;
    max-width: 100%;
    height: 60px;
    margin: 0 auto;
    background-position: left center;
    background-repeat: no-repeat;
    overflow: hidden;
}
.logo > h1{
    text-indent: -10000px;
    margin: 0;
    padding: 0;
}
/* LOGIN SPECIFIC */
form[data-purpose="validateUsername"] .manual-login,
form[data-purpose="requestPasswordReset"] .password-fields{
    display: none;
}
div.password > input[type=password] + .show-password:before{
    content: 'Show';
}
div.password > input[type=text] + .show-password:before{
    content: 'Hide';
}
div.password{
    position: relative;
}
div.password > input:focus + button{
    background-color: var(--link-color);
    color: #fff;
}
div.password > button{
    position: absolute;
    right: 10px;
    top: 13px;
    border: none;
    border-radius: 15px;
    padding: 2px 10px;
    outline: none;
    background-color: var(--focus-color);
    height: unset !important;
}
.product-logo{
    background-image: url('../images/discover_transparent.png');
    display: inline-block;
    background-size: cover ;
    margin-top:-87px;
    margin-bottom:-87px;
    height: 40px;
    width: 168px;
    background-repeat: no-repeat;
}
#ams-icon{
    background-size: cover;
    background-repeat: no-repeat;
    height: 1000px;
    width: 1000px;
    position: fixed;
    right: 25px;
    margin-right: -400px;
    margin-bottom: -300px;
    background-position: 0;
    bottom: -25px;
    z-index: 0;
    background-image: url("../images/DFS.svg");}
/* END LOGIN SPECIFIC */

/* MOBILE */
@media screen and (max-width: 500px) {
    .panel{
        width: calc(100% - 40px);
        margin: 20px;
    }
}

/* END MOBILE */

/* UNCOMMENT this section if you want to change the default primary coloring

.card-header-featured {
background-color: #E52935;
color: #FFFFFF;
}
.btn-info {
background-color: #E52935;
}


option:checked {
box-shadow: 0 0 10px 100px #881222 inset;
}

.nav-tabs > li.nav-item a.nav-link.active .icon
{
color: #fff;
}
*/
.form-control.in-error,
input[type=text].in-error,
input[type=password].in-error,
input[type=date].in-error,
input[type=number].in-error,
input[type=email].in-error,
select.in-error,
:not(.btn-group) > button.in-error,
.dt-buttons.btn-group > button.in-error,
.select2-container--default .select2-selection--multiple.in-error,
button[type=submit].in-error,
a.btn.in-error{
    border-color: #eaaeae;
}
/*
.col-9 {
flex: 0 0 calc(100% - 330px);
max-width: calc(100% - 330px);
}
.col-3 {
flex: 0 0 330px;
max-width: 330px;
}
*/
.custom-segments:empty {
    display: none !important;
}
.margin-top-30{
    margin-top: 30px;
}
.padding-30{
    padding: 30px;
}
.padding-30 > .row + .row{
    margin-top: 20px;
}
#sow_table_wrapper #sow_table_filter input[type=search]{
    min-width: 400px;
}
#filter-form{
   /* display: none; */
}
#filter-form.active{
    display: block;
}
.custom-segments:not(:empty):last-child:after{
    border: none !important;
}
.custom-segments:not(:empty):after {
    content: '';
    display: flex;
    border-bottom: 1px dashed #dadada;
    width: 100%;
    font-weight: bold;
    margin: 25px 15px 15px;
}

button[data-label]:before {
    content: attr(data-label);
}
.custom-segments[data-label]:before {
    content: attr(data-label);
    display: flex;
    width: 100%;
    font-weight: bold;
    margin: 20px 15px 10px;
}
.custom-segments{
    flex: 0 0 100%;
    max-width: 100%;
    position: relative;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    align-content: flex-start;
    padding: 0;
    justify-content: flex-start;
    margin: 0;
}
.DTE_Field.col-4 {
    flex: 0 0 33.33%;
    max-width: 33.33%;
}
.DTE_Field.col-3 {
    flex: 0 0 25%;
    max-width: 25%;
}
.DTE_Field.col-9 {
    flex: 0 0 75%;
    max-width: 75%;
}
.dataTables_wrapper .toolbar.no-padding {
    padding: 30px 0;
}
main > p.notice{
    background-color: #fff7e5;
    padding: 30px;
    box-shadow: 0 2px 3px #c7c7c7;
}
main > p + div.dataTables_wrapper,  #search-results > p + div.dataTables_wrapper {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}
table[data-child-reference]{
    background-color:#fff !important;
}
table[data-child-reference].dataTable thead th{
    background-color:#fff !important;
}
.status-icon{
    display: inline-block;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    line-height: 20px;
    font-size: 15px;
    font-weight: bold;
    color: #35699d;
    background-color: #ecf3ff;
    text-align: center;
    font-style: normal;
}
.status-icon:before{
    content: '+';
}
.shown .status-icon{
    color: #ed003c;
    background-color: #f2bfcc;
}
.shown .status-icon:before{
    content: '-';
}
div.table-wrap table.dataTable td.child-row{
    padding: 30px !important;
    background-color: #eeeeee;
}
.accordion .card-header > a, a.list-group-item{
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
    display: block;
    padding: 15px 30px;
    font-size: 14px !important;
}
.accordion > .card{
    border-radius: var(--border-radius);
}
.accordion > .card .card-body{
    padding: unset !important;
}
.accordion a[data-toggle="collapse"]:not(.collapsed){
    background-color: var(--zebra-stripe);
}
.list-group-item.active {
    z-index: 2;
    color:#fff !important;
    background-color: var(--dominate-color) !important;
    border-color:unset !important;
}
a.list-group-item{
    text-decoration: none !important;
    color:#000;
}
.list-group{
    padding: 0;
    margin-bottom: 0;
    border-radius: 3px;
    background: #FFFFFF;
    z-index: 2;
    position: relative;
    box-shadow: 0 2px 3px #c7c7c7;
    overflow: hidden;
}
.list-group-item {
    border: unset;
}
.list-group-item + .list-group-item{
    border-top: 1px solid #e3e3e3;
}
.list-group-item-action:hover, .list-group-item-action:focus {
    z-index: 1;
    color: unset;
    text-decoration: none;
    background-color: var(--zebra-stripe);
}
section.entity-introduction{
    background-color: #fff;
    padding: 0 !important;
    margin-bottom: 30px;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
    overflow: hidden;
}
:not(main) > section:not(.breadcrumbs, .introduction, .no-padding, .no-margin), header {
    padding: 30px;
}
section.breadcrumbs ol{
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
body.modal-open{
    padding: 0 !important;
    overflow: auto !important;
}
main{
    padding: 0 30px;
}
body > header{
    z-index: 10;
    height: 67px;
    position: sticky;
    top: 0;
}
section > header, form > header {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: flex-start;
}
body > header, .modal-header, div.DTE .modal-header{
    background-color: var(--dominate-color);
    background-image: linear-gradient(to right, var(--dominate-color), var(--passive-color));
    align-items: center;
}
body > header a, .modal-header, body > header a:hover, div.DTE .modal-header{
    color: #fff;
}
body > header a.product{
    font-size: 1.4rem;
    text-decoration: none;
}
body > header > nav{
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
}
body > header > nav > ul,
section.breadcrumbs > nav > ol,
.tab-container > ul {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}
section.information-panel + section.information-panel{
    margin-top: 30px;
}
section.information-panel{
    margin: 0 30px 0 0;
    min-height: 400px;
}
section.introduction, section.panel, form.panel, section#sow-totals{
    background-color: #FFFFFF;
    border-bottom: 0;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
}
section.introduction, section.panel, form.panel{
    margin: 0 0 30px 0;
    overflow: hidden;
}
section.panel, form.panel{
    max-width: 600px;
    width: 100%;
    margin: 30px auto !important;
}
.alert:empty{
    display:none;
}
form .alert{
    padding: 30px;
    color: #292929;
}
.alert.success{
    background-color: #edfaf2;
}
section.introduction > h1, form.panel .body, section.panel .body, section.error{
    padding: 30px;
}
form.panel .body{
    border-top: 1px solid #dbdbdb;
}

.left-frame{
    position: fixed;
    width: 360px;
    left: 0;
    top: 67px;
    bottom: 0;
    margin: 0 30px 0 0;
}
.left-frame.hide{
    display:none;
}
.left-frame.hide + .right-frame{
    width: 100% !important;
    left: 0;
}
.right-frame{
    margin-top: 30px;
    left: 360px;
    width: calc(100% - 360px) !important;
    position: relative;
}
button.hide-left:before{
    content: 'Expand Table';
}
.left-frame.hide + .right-frame button.hide-left:before{
    content: 'Show SOW Metadata';
}
button.hide-left{
    background-color: #222;
    color: #fff;
    font-weight: bolder;
    line-height: 30px;
    border-radius: 40px !important;
    padding: 0 20px;
    border: none;
}
#left-information-panel{
    top: 0;
    bottom: 0;
    max-height: 100%;
    position: absolute;
    left: 0;
    right: 0;
    margin: 0;
}
h3.modal-title > span{
    display:block;
    font-size: 14px;
    font-weight: normal;
    color:rgba(255,255,255,0.6);
    text-align: left;
}
.modal-body.no-padding{
    padding: 0 !important;
}
#splashscreen{
    top: 120px;
    margin-left: -180px;
    left: 50%;
    box-sizing: border-box;
    position: fixed;
    border-radius: 3px;
    box-shadow: 1px 1px 3px #0000003d;
    background-color: #fff;
    z-index: 99999999999;
    padding: 30px;
    width: 360px;
}
#splashscreen h2{
    margin: 0;
    font-weight: 600;
    font-family: 'Outfit', sans-serif;
}
#splashscreen .progress{
    margin-top: 20px;
}
#splashscreen .progress-bar{
    width: 100%;
    background-color:var(--dominate-color);
}
.backsplash{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.3);
    z-index: 99999;
}

.entity-page .information-body .heading > button{
    position: absolute;
    right: 15px;
    top: 15px;
    background-color: #222;
    color: #fff;
}
.information-body .table{
    margin-bottom: 0 !important;
}
.information-body > div.scrollable,
.totals-body > div.scrollable,
.spocs-body > div.scrollable{
    position: absolute;
    top: 0;
    bottom: 0;
    overflow: auto;
    width: 100%;
}
.oop-button{
    white-space: nowrap;
}
div.heading{
    padding: 20px;
    font-weight: 600;
    background-color: var(--zebra-stripe);
    color: #000;
    border-bottom: 1px dashed #cbcbcb;
    position: relative;
}
.information-body, .totals-body, .spocs-body{
    background-color: #fff;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
}
.information-body {
    overflow-y: auto;
    overflow-x: hidden !important;
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
}
.totals-body {
    overflow-y: auto;
    overflow-x: hidden !important;
    position: absolute;
    top: calc(50% + 20px);
    height: 25%;
    width: 100%;
}
.spocs-body {
    overflow-y: auto;
    overflow-x: hidden !important;
    position: absolute;
    bottom: 0;
    height: calc(25% - 40px);
    width: 100%;
}
div.dt-button-collection > .dropdown-menu{
    display: unset !important;
}
label[for='expand-timeline']{
    color: #6c5725;
}
section.introduction > h1 + p{
    border-top: 1px dashed #d9d9d9;
    padding: 20px 30px;
    margin: 0 !important;
}
section div.timeline-container{
    margin-top: 0;
    border-top: 1px solid #e3e3e3;
}
section > footer, form > footer{
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    display: table;
    background-color: #f7f7f7;
    border-top: 1px solid #e5e5e5;
    width: 100%;
}
form > footer{
    padding: 20px 30px;
    text-align: right;
}
section > footer > ul{
    margin: 0;
    padding: 0;
    position: relative;
    list-style: none;
}
section > footer li + li{
    border-left: 1px solid #e1e1e1;
}
section > footer li{
    display: table-cell;
    padding: 15px 30px;
}
section > footer li > p{
    margin: 5px 0 0 0 !important;
}
section .user-timeline{
    margin: 0 !important;
}

div.timeline-container{
    padding: 30px;
    overflow-y: auto;
    max-height: 100px;
}
div.timeline-container + label, input#expand-timeline:checked + label{
    padding: 15px 30px;
    background-color: #fff5e5;
    margin: 0;
}
input#expand-timeline:not(:checked) + div.timeline-container + label:before{
    content: 'Expand ';
}
input#expand-timeline:checked + div.timeline-container + label:before{
    content: 'Minimize ';
}
input#expand-timeline + label{
    display: none;
}
input#expand-timeline:checked + div.timeline-container{
    max-height: unset !important;
}
input#expand-timeline:checked + div.timeline-container .collapse:not(.show){
    display: block;
}
.collapse.not-current-event .user-timeline-title,
.collapse.not-current-event .user-timeline-description{
    color:#a7a7a7;
}
div.timeline-container .current-event ~ *{
    display: block;
}
.user-timeline-compact .user-timeline-title{
    font-size: 1.2rem;
    font-weight: bold;
}
ul.nav[role=tablist] > li:not([role=tab]){
    position: absolute;
    right:0;
    top: 0;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: flex-start;
}
ul.nav[role=tablist] > li:not([role=tab]) > button + button{
    margin-left: 10px;
}
body > header > nav > ul > li, section.breadcrumbs > nav > ol > li{
    display: inline-block;
    vertical-align: top;
}
body > header a.logout{
    margin-left: 10px;
    display: block;
    text-decoration: none;

}
body > header a.logout:hover{
    text-decoration: underline;

}
body > header a.logout:after, a.logout:before{
    color: #999;
}
h3.table-header:before{
    content: 'Manage ';
}
.notice.error:not(:empty){
    padding: 30px;
    background-color: #ffe5e5;
}
.notice.error:empty{
    display:none;
}
tr.remove > td{
    text-decoration:line-through;
}
.card-content h3 + p.notice{
    background-color: #fff7e5;
    padding-bottom: 30px;
    margin-top: 30px !important;
}
h3.table-header, .card-content > div > h3, .card-content h3 + p{
    margin-top: 0 !important;
    padding: 30px 30px 0;
}
.tab-container > ul > li > a, section h1, header a.product, .modal-header, form > header h1, h3.table-header, .card-content > div > h3{
    font-family: 'Outfit', sans-serif;
    font-weight: 600;
}
.page-link{
    text-decoration: none;
}

.page-item.active .page-link{
    background-color: var(--dominate-color);
    border-color: var(--dominate-color);
}
.btn-primary:focus, .btn-primary.focus, .btn-primary:active:hover, .btn-primary:active:focus, .btn-primary:active.focus, .btn-primary.active:hover, .btn-primary.active:focus, .btn-primary.active.focus, .btn-primary:not([disabled]):not(.disabled):active:hover, .btn-primary:not([disabled]):not(.disabled):active:focus, .btn-primary:not([disabled]):not(.disabled):active.focus, .btn-primary:not([disabled]):not(.disabled).active:hover, .btn-primary:not([disabled]):not(.disabled).active:focus, .btn-primary:not([disabled]):not(.disabled).active.focus, .show > .btn-primary.dropdown-toggle:hover, .show > .btn-primary.dropdown-toggle:focus, .show > .btn-primary.dropdown-toggle.focus{
    background-color: var(--passive-color);
    border-color: var(--passive-color) !important;
}
.btn-primary:hover, .btn-primary.hover{
    box-shadow: 0 1px 0 rgb(0 0 0 / 5%) !important;
}
.btn-group > .btn.btn-primary, .input-group-btn > .btn.btn-primary, .input-group-prepend > .btn.btn-primary, .input-group-append > .btn.btn-primary{
    border-right: unset !important;
}
.btn-group > .btn.btn-primary:hover, .btn-group > .btn.btn-primary:active, .btn-group > .btn.btn-primary.active, .input-group-btn > .btn.btn-primary:hover, .input-group-btn > .btn.btn-primary:active, .input-group-btn > .btn.btn-primary.active, .input-group-prepend > .btn.btn-primary:hover, .input-group-prepend > .btn.btn-primary:active, .input-group-prepend > .btn.btn-primary.active, .input-group-append > .btn.btn-primary:hover, .input-group-append > .btn.btn-primary:active, .input-group-append > .btn.btn-primary.active{
    border-bottom-color: transparent !important;
}
table.dataTable thead th.sorting:after, table.dataTable thead th.sorting_desc:after{
    content: unset !important;
}
table.dataTable thead .sorting_desc:before{
    content: '\2193' !important;
}
table.dataTable thead th.sorting_asc:after {
    content: '\2191' !important;
}
section h1, h3, form.panel h1{
    margin: 0;
    padding: 0;
    font-size: 1.5rem;
}
#comment-detail-modal .modal-body + .modal-body{
    border-top: 1px dashed #c3c3c3;
}
#comment-detail-contents{
    width: 100%;
    border: none;
}
td.tagged-users{
    vertical-align: top;
}
div.phase-filter{
    white-space: normal;
}
.phase-filter > span {
    white-space: nowrap;
    font-size: 12px;
    display: inline-block;
    border: 1px solid #999;
    padding: 2px 10px;
    border-radius: 30px;
    margin-right: 5px;
    margin-top: 5px;
}
.phase-filter > span.selected {
    color: #fff;
    background-color: var(--muted);
    border-color: var(--muted);
}
div.DTE_Field_Name_Description.col-12{
    margin-top: -10px;
}
div.DTE_Field_Name_Description.col-12 > div[data-dte-e='input']{
    margin-bottom: 0;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable .dataTables_paginate{
    display:none;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable table.dataTable tbody tr td{
    padding: 2px !important;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable table thead tr th{
    padding-top: 15px !important;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable table thead tr{
    position: sticky;
    top: 0;
    background-color: #f8f8f8;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable label[for='DET_Field_TacticTaxID']{
    margin-bottom: 0;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable div[data-dte-e='msg-error']:not(:empty){
    position: absolute;
    bottom: 0;
    background-color: #f8f8f8;
    left: 0;
    right: 0;
    padding: 10px 0;
}
div.DTE_Field_Name_TacticTaxID.embeddedTable div[data-dte-e='input-control']{
    max-height: 270px;
    overflow-y: scroll;
    width: calc(100% + 60px);
    margin-left: -30px;
    margin-right: -30px;
    margin-bottom: -30px;
    padding: 0 30px 30px;
    border-top: 1px solid #dadada;
}
h3.modal-title{
    font-weight:bold;
    font-size: 1.3rem;
    text-align: left;
}
section.breadcrumbs{
    padding: 35px 30px;
}
h3 + p, input + input{
    margin-top: 20px;
}
select[name='projectVP']{
    margin-bottom: 30px;
}
input#deliverables-affirm-status,
input#cost-affirm-status{
    height: 20px;
    width: 20px;
}
section h1 + *, form.panel h1 + *{
    margin-top: 10px;
}
section.breadcrumbs > nav li + li:before{
    content: '/';
    padding-right: 10px;
    display: inline-block;
    margin-left: 10px;
    color: #999;
}
.m-30-0{
    margin: 30px 0 !important;
}
.tab-container > ul > li{
    display: inline-block;
    vertical-align: bottom;
}
.tab-container > ul > li > a{
    padding: 15px 30px;
    margin-right: 0;
    min-width: 60px;
    text-align: center;
    color: #fff;
    border-width: 0;
    display: block;
    text-decoration: none;
    background-color: var(--passive-color);
    border-radius: 3px 3px 0 0;
}
.tab-container > ul > li > a.active{
    background-color: #FFFFFF;
    color:#222;
    border-bottom: 0;
    box-shadow: 0 2px 3px #c7c7c7;
}
.tab-container > ul > li + li{
    margin-left: 10px;
}
.tab-content.flex-content{
    padding: 0 !important;
    background-color: transparent;
}
.tab-content.flex-content .tab-container{
    padding: 0 !important;
}
.tab-content.flex-content > .tab-pane:not(.tab-group){
    background-color: #fff;
    box-shadow: 0 2px 3px #c7c7c7;
}
.tab-content:not(.flex-content),
main > div.dataTables_wrapper,
#search-results > div.dataTables_wrapper,
#Agency_dt_wrapper,
#SOW_dt_wrapper,
#SOW_dt_wrapper,
#Project_dt_wrapper,
#StaffingDetail_dt_wrapper,
#Tactic_dt_wrapper,
#Staffing_dt_wrapper,
#OOP_dt_wrapper,
#SOWStaffing_dt_wrapper{
    padding: 0;
    margin-bottom: 0;
    border-radius: 0 0 3px 3px;
    background: #FFFFFF;
    z-index: 2;
    position: relative;
    box-shadow: 0 2px 3px #c7c7c7;
}
#Agency_dt_wrapper,
#SOW_dt_wrapper,
#Project_dt_wrapper,
#StaffingDetail_dt_wrapper,
#Tactic_dt_wrapper,
#Staffing_dt_wrapper,
#OOP_dt_wrapper,
#SOWStaffing_dt_wrapper{
    border-radius: 3px !important;
}
#exploratory-report #StartingMessage{
    background-color: #222;
    padding: 30px;
    border-radius: 3px;
    color: #fff;
    font-family: monospace;
    font-size: 13px;
}
#exploratory-report .filter-form-container{
    padding: 25px;
    border-radius: 3px;
    background: #FFFFFF;
    z-index: 4;
    position: relative;
    box-shadow: 0 2px 3px #c7c7c7;
    margin-bottom: 30px;
}
#exploratory-report .filter-option-inner-inner{
    font-weight: normal;
}
#exploratory-report #filter-form label{
    font-weight: bold;
    color:#222;
}
#exploratory-report #filter-form button.btn.dropdown-toggle{
    width: 100% !important;
    border: 1px solid #d9d9d9;
    box-shadow: none;
}
main > div.dataTables_wrapper, #search-results div.dataTables_wrapper {
    border-radius: 3px;
}

main > div.card {
    margin-right: 15px;
    margin-left: 15px;
    padding-bottom: 15px;
}
.tab-content > div > div:not(.table-container):not(.dataTables_wrapper){
    padding: 30px;
}
.tab-content > .active {
    display: block;
}
.tab-content > * {
    display: none;
}
table.dataTable{
    margin: 0 !important;
}
table.dataTable thead th{
    border: none !important;
    font-size: 1rem;
    background-color: unset !important;
}
div.collapsing, div.collapse{
    background-color: #f5f5f5;
}
table.dataTable thead th{
    padding: 20px 10px !important;
    white-space: nowrap;
}
table.dataTable tbody tr td{
    padding: 10px !important;
}
table.dataTable thead th:first-child, table.dataTable tfoot th:first-child,table.dataTable tbody tr td:first-child{
    padding-left: 30px !important;
}
table.dataTable thead th:last-child, table.dataTable tfoot th:last-child, table.dataTable tbody tr td:last-child{
    padding-right: 30px !important;
}
.card-content > div{
    background-color: #fff;
    box-shadow: 0 2px 3px #c7c7c7;
}
.card-content.flex-content {
    padding: 0 !important;
    background-color: transparent;
}
.card-content {
    background: #FFFFFF;
    padding: 20px;
    margin-bottom: 40px;
    border-radius: 0 0 3px 3px;
}

table.dataTable tbody tr:nth-child(odd) {
    background-color: var(--zebra-stripe);
}
table.dataTable tbody>tr.selected, table.dataTable tbody>tr>.selected{
    background-color: var(--muted);
    color:#fff;
}
.differ-badge{
    font-weight: normal;
    display: inline-block;
    font-size: 11px;
    background-color: #fff3e2;
    border-radius: 30px;
    padding: 0 10px;
    position: absolute;
    right: 20px;
}
.button-container{
    white-space: nowrap;
    margin-left: 30px;
}
.user-label{
    background-color:#ecf3f9;
}
.user-switch > div{
    padding: 20px;
}
.user-switch p{
    color:#767676;
    margin-top: 0;
    margin-bottom: 15px;
}
.user-switch{
    background-color: #FFFFFF;
    border-bottom: 0;
    box-shadow: 0 2px 3px #c7c7c7;
    border-radius: 3px;
    margin-bottom: 30px;
}
td a{
    cursor: pointer;
}
span[data-ams-action]{
    cursor: pointer;
    text-decoration: underline;
}
tr.selected a:not(.dropdown-item), td.selected a:not(.dropdown-item), th.selected a:not(.dropdown-item){
    color:#fff !important;
}
.dataTables_wrapper .toolbar, .dataTables_wrapper .pagination-wrap, .toolbar{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    padding: 30px;
}
div.child-wrap > .dataTables_wrapper .toolbar{

    padding: 30px 0;
}
tr.child-row > td.child-row{
    padding: 30px !important;
    background-color: var(--default-body-background);
}
.btn-group-table > button:last-child{
    width: calc(100% - 38px) !important;
}
td.comment{
    position: relative;
}
td.comment > .badge{
    border-radius: 40px;
    border: none;
    margin-left: 10px;
}
.btn.no-wrap{
    white-space: nowrap;
}
#new-comments[data-comments='0']{
    display:none !important;
}
#new-comments{
    border-radius: 50px;
    margin-left: 10px;
    background-color:#fff;
    color: var(--dominate-color);
    border: none;
    display: inline;
}
a.active > #new-comments{
    background-color: var(--dominate-color);
    color: #fff;
}
#new-comments:before{
    content: attr(data-comments) " New";
}
#workflow-table_filter,
#comments-table_filter{
    width: 100%;
    margin-left: 30px;
}
#workflow-table_filter input[type=search],
#comments-table_filter input[type=search]{
    width: calc(100% - 55px) !important;
}
#comments-table_wrapper .dt-buttons.flex-wrap{
    flex-wrap: unset !important;
}
td > span.read-more{
    display: inline-block;
    text-decoration: underline;
    margin-left: 10px;
    cursor: pointer;
}

.custom-width .modal-content, .custom-width .modal-dialog {
    width: 1000px !important;
    max-width: none !important;
}
.dataTables_wrapper .toolbar, .card-content > div > .toolbar{
    border-bottom: 1px solid #e3e3e3;
}
.toolbar > .dataTables_filter{
    white-space: nowrap;
}
.filters{
    overflow: hidden;
    position: relative;
    background-color: var(--muted);
}
.filters select{
    border: none;
}
.filters label{
    color:#fff;
}
.filter-form .row + .row{
    margin-top: 10px;
}
.filters:after, .filters:before{
    content: '';
    box-shadow: 0 0 3px rgba(0,0,0,0.3);
    position: absolute;
    height: 1px;
    left: -1px;
    right: -1px;
}
.filters:after{
    bottom: -1px;
}
.filters:before{
    top: -1px;
}
.filter-form > div{
    padding: 30px;
}
.filter-form,  div.collapsing, div.collapse{
    background-color: unset;
    color:unset;
}
.filter-form .row{
    margin-right: -15px !important;
}
.filter-form > div > .row:last-child{
    margin-top: 20px !important;
}
.filter-container{
    padding: unset;
}
.collapsing{
    transition: unset !important;
}
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select,
textarea{
    width: 100%;
}
button[type=submit]:not(.dt-datetime-button), button:not(.dt-datetime-button, .btn-block){
    width: unset !important;
}
.form-control,
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select,
.select2-container--default .select2-selection--multiple{
    padding: unset !important;
    font-weight: unset !important;
}
.form-control,
input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select,
:not(.btn-group) > button,
.dt-buttons.btn-group > button,
.select2-container--default .select2-selection--multiple,
button[type=submit],
a.btn{
    transition: unset !important;
    border-radius: var(--border-radius) !important;
    text-decoration: none;
}

input[type=text],
input[type=password],
input[type=date],
input[type=number],
input[type=email],
select{
    text-indent: 5px !important;
}
.select2-container--default .select2-selection--multiple{
    padding: 0;
}
.select2-selection__choice{
    line-height: 22px !important;
    font-size: 0.9rem !important;
    border-radius: 20px !important;
    margin: 6px 0 6px 6px !important;
    padding: 0 10px !important;
    background-color: #f0f6ff !important;
    border: unset !important;
}
.select2-container--default .select2-selection--multiple .select2-selection__rendered{
    padding: 0;
}
.user-timeline-container{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
}
.btn-primary, .btn-primary:hover, .btn-primary {
    color: var(--default-background-color);
    background-color: var(--dominate-color);
    border-color: var(--dominate-color);
}
input[type=search]{
    background-image: url("data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzMwMHB4JyB3aWR0aD0nMzAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyMCAyMCIgeD0iMHB4IiB5PSIwcHgiPjxwYXRoIGQ9Ik0xOSAxNy41OWwtNS40LTUuNGE3IDcgMCAxIDAtMS40MSAxLjQxbDUuNCA1LjR6TTggMTNhNSA1IDAgMSAxIDUtNSA1IDUgMCAwIDEtNSA1eiI+PC9wYXRoPjwvc3ZnPg==");
    background-size: 20px;
    background-repeat: no-repeat;
    background-position: center right 10px;
}
.page-item.disabled .page-link{
    color:#767676;
}
aside{
    overflow: hidden;
    background-color:#333;
    z-index:9;
    display: table;
    height: 100%;
    position: fixed;
    top: 67px;
    bottom: 0;
    left: 0;
    width: 300px;
}
aside > footer + label[for=main-menu]{
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    font-size: 0;
    background-color: #00000047;
    border-radius: 0;
}
input.controller:checked + aside + header label[for=main-menu]{
    background-color:#2a3850;
}
input.controller, input.controller:not(:checked) + aside{
    display: none;
}
label[for=main-menu]{
    color:#fff !important;
    font-size: 3rem;
    cursor: pointer;
    height: 49px;
    line-height: 50px;
    width: 50px;
    border-radius: 50%;
    position: absolute;
    margin: 0;
    text-align: center;
    left: 15px;
}
label[for=main-menu] + a.product{
    margin-left: 60px;
}
aside > nav p{
    color: #a1acbf;
}
aside > nav > div > ul > li > a{
    font-weight: bold;
}
aside > footer > div, aside > nav > div{
    display: table-cell;
}
aside > footer, aside > nav{
    display: table-row;
}
aside > nav{
    height: 100%;
    overflow: hidden;
    position: relative;
}
aside a:hover, aside > nav, aside a{
    color:#fff !important;
}
aside a{
    text-decoration: none;
}
aside > nav > div > ul{
    background-color: #222;
}
aside > nav ul{
    margin: 0;
    padding: 0;
    list-style: none;
}
aside > nav > div > ul > li{
    display: block;
    padding: 20px 30px;
}
aside > nav > div > ul > li + li{
    border-top: 1px solid #444;
}
aside ul.sub-menu {
    padding: 20px 0 20px 20px;
    position: relative;
}
aside li:last-child > ul.sub-menu{
    padding-bottom: 0;
}
aside ul.sub-menu:before {
    content: '';
    border-left: 1px dotted #ffffff2b;
    position: absolute;
    left: 0;
    bottom: 0;
    top: 0;
}
.block{
    display: block;
}
table.striped tr:nth-child(even) > td{
    background-color:#f7f7f7;
}
table.table td{
    padding: 10px 0 10px 20px;
    vertical-align: top !important;
    border-top: none;
}
table.table:not(.no-label) tr > td:first-child {
    font-weight: bold !important;

}
aside > nav > div{
    position: absolute;
    top: 0;
    bottom: 0;
    width: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    scrollbar-width: thin;
    scrollbar-color: #f0f6ff #1e2736;
    background-color: #111;
}
.timeline-container, .scrollable{
    scrollbar-width: thin;
    scrollbar-color: #737373 #f7f7f7;
}
.timeline-container::-webkit-scrollbar, .scrollable::-webkit-scrollbar{
    width: 12px;
}
.timeline-container::-webkit-scrollbar-track, .scrollable::-webkit-scrollbar-track {
    background: #f7f7f7;
}
.timeline-container::-webkit-scrollbar-thumb, .scrollable::-webkit-scrollbar-thumb {
    background-color: #737373;
    border-radius: 20px;
    border: 3px solid #f7f7f7;
}
aside > footer{
    height: 250px;
    color: #fff;
}
aside > footer ul{
    margin: 15px 0 0 0;
    list-style: none;
    padding: 0;
    line-height: 30px;
}
aside > footer > div{
    padding: 30px;
}
/* Works on Chrome, Edge, and Safari */
aside > nav > div::-webkit-scrollbar {
    width: 12px;
}
aside > nav > div::-webkit-scrollbar-track {
    background: #3a4e70;
}
aside > nav > div::-webkit-scrollbar-thumb {
    background-color: #f0f6ff;
    border-radius: 20px;
    border: 3px solid #3a4e70;
}
main + footer{
    padding: 10px 30px;
    color: #676767;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
}
.table-wrap > table{
    width: 100%;
}
.table-wrap{
    overflow-y: hidden;
    overflow-x: auto;
}
.btn-group > button{
    white-space: nowrap;
}
fieldset{
    border-radius: 4px;
    overflow: hidden;
}
fieldset > div > input[type=checkbox]{
    display: none;
}
fieldset > div > input[type=checkbox]:checked + label{
    background-color: #f0f6ff;
}
fieldset > div + div{
    /*border-top: 1px solid #999;*/
}
fieldset > div > label {
    margin: 0;
    color: #333 !important;
    display: block;
    width: 100%;
    padding: 5px 10px;
    cursor: pointer;
}
/*fieldset > div {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    background-color:#fff;
}*/
.text-right.input-price{
    padding-right: 10px !important;
}
table.dataTable {
    font-size: .95rem;
}
/* Modal Style */
.modal.fade:before {
    content: '';
    position: relative;
    display: inline-block;
    height: 100%;
    vertical-align: middle;
    width: 1px;
}
.modal.show .modal-dialog{
    display: inline-block;
    margin: 0;
    vertical-align: middle;
    max-width: 960px !important;
}
.modal-open .modal {
    overflow-x: hidden;
    overflow-y: auto;
}
.modal-open .modal{
    padding: unset !important;
}
.modal {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1050;
    display: none;
    width: 100%;
    height: 100%;
    overflow: hidden;
    outline: 0;
    text-align: center;
}
div.DTE_Field.row.DTE_Field.embeddedTable table{
    font-size: 11px;
}
.DTE_Form_Content > div.DTE_Field.row.DTE_Field.embeddedTable{
    margin: -30px 0 20px;
    position: relative;
    right: -15px;
    left: -15px;
    width: calc(100% + 30px);
    margin-right: -30px !important;
    display: block;
    padding: 15px 30px 30px;
    border: none;
    background-color: #f8f8f8;
    border-bottom: 1px solid #99999940;
}
div.banner.warning{
    padding: 20px 25px;
    background-color: #fff5e5;
}
div[data-state]{
    padding: 20px 25px;
    background-color: var(--zebra-stripe);
}
div[data-state]:before{
    content: 'SOW currently in ' attr(data-state)  ' status';
}
.modal-dialog{
    /* width: auto !important; causes narrow display */
    /* max-width: 960px !important; */
}
.modal-body{
    padding: 30px !important;
    text-align: left;
}
.DTE .modal-body{
    padding: 0 !important;
    max-height: calc(100vh - 270px);
}
.modal-footer{
    background-color:#EEEEEE;
    padding: 20px 30px;
}

.modal-header, h5.modal-title{
    font-size: 1.3rem;
}
.modal-header{
    padding: 30px;
}
.modal-header .close,
.colored-header .modal-content .modal-header .close {
    padding-top: 0; /* adjust to be more like super-script than sub-script */
    color:#fff;
    line-height: unset !important;
}
.DTE_Form_Info:not(:empty){
    margin: -30px -30px 40px;
    background-color: #ffeeee;
    padding: 30px;
}

div.DTE .DTE_Field.DTE_Field_Type_checkbox{
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin-top: 15px;
}

.custom-checkbox .custom-control-input:checked ~ .custom-control-label::after{
    content: 'x';
}
div.DTE .DTE_Field.DTE_Field_Type_checkbox .custom-checkbox{
    margin: 0 !important;
    display: inline-block;
    padding: 0 !important;
}
div.DTE .DTE_Body_Content{
    padding: 30px;
}
div.DTE label.col-form-label{
    text-align: left !important;
}
.text-error, div.DTE div.DTE_Field.required > label:before{
    color:#cc0000;
}

div.DTE div.DTE_Field > label, div.DTE div.DTE_Field > label + div{
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 8px;
}
div.DTE div.DTE_Field.required > label:before{
    content: '*';
    position: absolute;
    right: 0;
    top: 0;
}
div.DTE div.DTE_Form_Content {
    /* display: flex; causes narrow display */
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin: -10px -15px 0;
}
.filter-form > div.filter-values{
    display: none;
    padding: 30px 30px 25px;
    background-color: #f5f5f5;
}
.collapse:not(.show) + div.filter-values:not(:empty){
    display:block !important;
}
.filter-values > span:before{
    content: attr(data-label);
}
.filter-values > span {
    display: inline-block;
    padding: 3px 20px;
    background-color: #3a4e70;
    border-radius: 20px;
    color: #fff;
    margin: 0 5px 5px 0;
}
.filter-values:not(:empty):before {
    content: 'Applied Filters: ';
    display: inline-block;
    margin-right: 10px;
    color:#878787;
}
.dataTables_wrapper .pagination-wrap:empty{
    display: none;
}
div.frame {
    display: table;
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 1;
}
div.frame > *{
    display: table-cell;
    position: relative;
    top: unset;
    left: unset;
    right: unset;
    bottom: unset;
    vertical-align: top;
}
.ask-reason{
    border-top: 1px dotted #999;
    margin-top: 30px;
    padding-top: 30px;
}
.ams-editor-lg .modal-content {
    min-width : 800px !important;
}

/* embedded datatable */
.embeddedTable {
    width: 100%;
    border: 1px solid var(--dominate-color);
    background-color:#fff5e5;
}
.embeddedTable > label,
.embeddedTable .DTE_Field label {
    padding-bottom: 0;
}
.embeddedTable > label .ams-filter-label {
    margin: 0 0 7px 0;
    font-size: 12px;
}
.embeddedTable .dataTables_filter input[type="search"] {
    width: 100% !important;
    margin-left: 0;
}
/*.embeddedTable table.dataTable thead tr th:first-child,*/
.embeddedTable table.dataTable tbody tr td:first-child {
    padding-left: 10px !important;
    font-weight: normal !important;
    vertical-align: middle !important;
}
.embeddedTable table.dataTable thead th:last-child,
.embeddedTable table.dataTable tbody tr td:last-child{
    padding-right: 10px !important;
}
.embeddedTable table.dataTable thead tr th {
    font-weight: bold;
    padding: 0 0 10px !important;
}
.embeddedTable table.dataTable tbody tr td {
    padding-left: 0 !important;
}
.embeddedTable .dataTables_paginate{
    margin-top: 15px;
}
/* ----- end embedded datatable */

/* ---- start Home customizations ----*/
body.home a > span.badge{
    text-align: center;
    border: none;
    font-size: 20px;
    display:block;
}
body.home a.green:not(.active){
    background-color:var(--green);
}
body.home a.purple:not(.active){
    background-color:var(--purple);
}
body.home a.yellow:not(.active){
    background-color:var(--yellow);
}
body.home a.orange:not(.active){
    background-color:var(--orange);
}
body.home .dataTables_filter{
    width:  unset !important;
}
body.home .tag-role{
    display: inline-block;
}
body.home .tag-role + .tag-role:before{
    content: ', ';
}
body.home div.table-wrap{
    max-height: 400px;
    overflow-y: auto;
    position: relative;
}
body.home div.toolbar{
    z-index: 3;
    position: sticky;
    top: 67px;
    background-color: #fff;
}
body.home a.list-group-item{
    position: relative;
}
body.home a.list-group-item > span.badge{
    position: absolute;
    right: 30px;
}
body.home table.dataTable > thead > tr{
    position: sticky;
    top: 0;
    background-color: #fff;
}
body.home table.dataTable > thead{
    position: relative;
    z-index: 2;
}
body.home table.dataTable > tbody{
    position: relative;
    z-index: 1;
}
div.dt-buttons > h3.table-header:before{
    content: '';
}
div.dt-buttons > h3.table-header{
    margin: 0;
    padding: 0;
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
}
/* ----- end customizations */

/* ----- User Type specific styles ------*/
#budgets--{
    display: none;
}
body.user-client #budgets--{
    display:block;
}

/* ---- start Combo Boxes for Filters ----*/
.input-group.combo-box {
    background-color: #fff;
    border-radius: 3px;
    height: 130px;
    overflow: auto;
    display: block;
}
.combo-box > input[type=checkbox],
.combo-box > input[type=radio]{
    display:none;
}
.combo-box > label + input + label{
    border-top: 1px solid rgba(0,0,0,0.2);
}
.combo-box > label{
    display: block;
    color:#000;
    margin: 0;
    padding: 10px;
}
.combo-box > input[type=checkbox]:checked + label,
.combo-box > input[type=radio]:checked + label{
    background-color:var(--zebra-stripe);
}
.btn-secondary > .badge{
    margin-left: 10px;
}
/* ---- end Combo Boxes for Filters ----*/
/* ---- list group --- */
.list-group + .list-group{
    margin-top: 30px;
}
.list-group-header{
    background-color: var(--zebra-stripe);
    color: #000;
    padding: 20px;
    font-weight: bold;
}
/* ---- end list group --- */
/* ---- SOW Totals ---- */

.left-frame.hide + .right-frame section#sow-totals{
    display:block;
}
section#sow-totals{
    margin-bottom: 30px;
    display:none;
}
section#sow-totals > header{
    padding: 15px 30px;
    font-weight: bold;
}
div.sow-totals{
    display: flex;
    border-top: 1px solid #d5d5d5;
}
div.sow-totals > div.col-3{
    padding: 30px;
}
span.stat{
    font-size: 1.5rem;
    font-weight: bold;
    color:#000 !important;
}
div.sow-totals > div.col-3 > span{
    display:block;
    color:#737373;
}
div.sow-totals > div.col-3 + div {
    border-left: 1px solid #d5d5d5;
}
/* ---- end SOW Totals --- */
/* ---- badge classes --- */
.badge-status{
    color:#fff;
    border:none !important;
}
.badge-private, .badge-rejected, .badge-danger{
    background-color:var(--red);
}
.badge-draft, .badge-warning{
    background-color:var(--yellow);
}
.badge-pending{
    background-color:#0057B8;
}
.badge-approved, .badge-success{
    background-color:var(--green);
}
.badge-other{
    background-color:var(--purple);
}
.font-green, .dropdown-menu > .dropdown-item .icon.font-green{
    color:var(--green) !important;
}
.font-red, .dropdown-menu > .dropdown-item .icon.font-red{
    color:var(--red) !important;
}
/* ---- end badge classes --- */

/* --- custom auto-complete --- */
#vendor-lookup{
    display: inline-block;
    position: absolute;
    right: 15px;
    cursor: pointer;
    top: 0;
    text-decoration: underline;
    margin-top: 0;
}
.right{
    text-align: right;
}
#vendor-lookup-form{
    width: 500px;
}
#vendor-results{
    border: 1px solid #eee;
    margin-top: 30px !important;
}
table#vendor-results thead th,
table#vendor-results tbody td {
    padding: 10px 20px !important;
}
#md-vendor-lookup{
    z-index: 1052;
}
.modal-backdrop + .modal-backdrop {
    z-index: 1051;
}
.DTE_Field_Type_select.disabled{
    visibility: hidden !important;
}
/* --- end custom auto-complete --- */

@media screen and (max-width: 767px){
    .modal.fade:before{
        all:unset;
    }
    div.DTE div.DTE_Field{
        all: unset;
    }
    div.DTE div.DTE_Field + div.DTE_Field{
        margin-top: 10px;
    }
    div.DTE div.DTE_Form_Content, .user-timeline-container, section > header, form > header{
        flex-direction: column;
        margin: 0;
    }
    .user-timeline-container button{
        width: 100% !important;
    }
    .dataTables_wrapper .toolbar, .dataTables_wrapper .pagination-wrap{
        display: block;
    }
    .toolbar > .btn-group{
        flex-direction: column;
        width: 100%;
    }
    .toolbar > .btn-group button + button, .user-timeline-container button{
        margin-top: 10px;
    }
    .toolbar > .dataTables_filter,
    .user-timeline-content + .user-timeline-date,
    form > header button,
    section > header button,
    section > header a.btn,
    form > header button,
    form > header a.btn{
        margin-top: 20px;
    }
    .toolbar > .dataTables_filter input{
        display: block !important;
        width: 100% !important;
        margin-left: 0 !important;
    }
    div.dataTables_wrapper div.dataTables_paginate ul.pagination{
        margin-top: 10px;
        justify-content: center;
    }
    header > nav > ul{
        display: none;
    }
    header > nav a.product{
        display: block;
        text-align: right;
        width: 100%;
    }
    .filters .row > div {
        display: block;
        flex: unset !important;
        max-width: unset !important;
    }
    .filters .row > div + div {
        margin-top: 10px;
    }
    .dataTables_info{
        text-align: center;
    }
    .modal-content{
        margin: 0 !important;
    }
    .modal.show .modal-dialog{
        padding: 20px !important;
        width: 100% !important;
    }
    ul[role=tablist]{
        overflow: scroll;
        flex-wrap: nowrap;
        white-space: nowrap;
    }
    .filter-values:not(:empty):before{
        display: block;
        margin-bottom: 15px;
    }
    section > footer li{
        display: block;
    }
    section > footer li + li{
        border-left: none;
        border-top: 1px solid #e1e1e1;
    }
    ul.nav[role=tablist] > li:not([role=tab]){
        position: unset;
    }
    div.timeline-container{
        max-height: 260px;
    }
}
@media screen and (min-width: 960px) {
    .btn-group > .btn.btn-primary:not(:last-child){
        border-top-right-radius: 2px !important;
        border-bottom-right-radius: 2px !important;
    }
    .btn-group > .btn.btn-primary:hover + .btn{
        border-left: 1px solid  #878787;
    }
    .btn-group > .btn.btn-primary:not(.d-none) + .btn, .btn-group > .btn.btn-primary:last-child {
        border-top-left-radius: 2px;
        border-bottom-left-radius: 2px;
    }
    .dataTables_filter input[type=search]{
        display: inline-block;
        width: auto !important;
        margin-left: 10px;
    }
}


.btn-group + .btn.spacer,
.btn-group > .btn-group .btn.spacer,
.btn-group .btn + .btn.spacer {
    margin-left: 1em;
}

/*  OVERRIDE the colvis button formatting */
button.buttons-colvis ~ div.dt-button-collection .dropdown-menu {
    display: flex !important;
    flex-flow: row wrap;
    width: 602px; /* allows the gaps and cols to be pixel perfect */
    gap: 1px;
    padding: 3px !important;
    border: 1px solid #aaa;
}
button.buttons-colvis ~ div.dt-button-collection .dropdown-menu a {
    flex: 1 0 calc(25% - 1px); /* needs to take into account the gap */
    max-width: calc(25% - 1px); /* same as flex-basis */
    line-height: 20px;
}
button.buttons-colvis ~ div.dt-button-collection .dropdown-menu a.active {
    color: #fff;
}
button.buttons-colvis ~ div.dt-button-collection .dropdown-menu a.active:hover {
    color: #fff;
    background-color: var(--ams-color);
}
.modal-main-icon {
    height: auto;
    width: auto;
}
.modal .modal-body h3 {
    font-size: 1.769rem;
    margin-bottom: 20px;
    margin-top: 20px;
}

.ams-dt-right input {
    text-align: right;  /* to right justify an editor field, put className: "ams-dt-right" */
}
.block:not(.ams-dt-right) .col-form-label {
    text-align: left !important;
}

.form-group.row {
    padding: 0;
}

.form-control {
    padding: 10px 5px !important;
}
div.DTE_Field_Type_checkbox div label {
    margin-left: 0 !important;  /* required to align the switch on 'replace check with switch functionality'*/
}

div.DTE_Field .form-text.small {
    font-size: 100% !important;  /* overwrite datatables default starting in 1.9.3*/
}

.form-control[readonly] {
    border: none;
    background-color: #ffffff;
    font-size: 20px;
}

.bt {border-top: 1px solid #cccccc; }
.bb {border-bottom: 1px solid #cccccc; }
.bl {border-left: 1px solid #cccccc; }
.br {border-right: 1px solid #cccccc; }
.bt-2 {border-top: 2px solid #cccccc; }
.bb-2 {border-bottom: 2px solid #cccccc; }
.bl-2 {border-left: 2px solid #cccccc; }
.br-2 {border-right: 2px solid #cccccc; }

.required{
    color: red;
}

.DTE_Field_Name_IncludeStaffList>label {
    display: none;
}

#CheckboxIncludeStaffList .custom-control-label {
    width: 160px;
    text-align: right;
}

/* --- page specific --- */
#price-schedules-page .DTE_Field.form-group.row.DTE_Field_Type_checkbox,
#user-management-page .DTE_Field.form-group.row.DTE_Field_Type_checkbox{
    display: inline-flex;
    align-items: center;
}

#price-schedules-page span.custom-control-label,
#user-management-page span.custom-control-label {
    margin-right: 50px;
    text-align: left;
}

#price-schedules-page .custom-control-label:before,
#price-schedules-page .custom-control-label:after,
#user-management-page .custom-control-label:before,
#user-management-page .custom-control-label:after{
    top: 0;
    left: 5px;
}

#price-schedules-page div.DTE .DTE_Field.DTE_Field_Type_checkbox .DTE_Field_InputControl,
#user-management-page div.DTE .DTE_Field.DTE_Field_Type_checkbox .DTE_Field_InputControl{
    text-align: left!important;
}

#price-schedules-page #filter-form,
#user-management-page #filter-form
{
    display: none;
}

#price-schedules-page .badge-private,
#price-schedules-page .badge-rejected,
#price-schedules-page .badge-danger,
#price-schedules-page .badge-approved,
#price-schedules-page .badge-success {
    width: 70px;
}

#price-schedules-page div.DTE div.DTE_Field.row,
#user-management-page div.DTE div.DTE_Field.row{
    margin-left:0 !important;
    margin-right:0 !important;
}

#price-schedules-page div.DTE div.DTE_Field,
#user-management-page div.DTE div.DTE_Field{
    position: relative;
    flex-direction: column; /* stack label on top of input */
    flex-wrap: nowrap;
    align-content: flex-start;
    padding-left: 15px;
    padding-right: 15px;
    display: inline-flex;
}

@media screen and (max-width: 767px){
    #price-schedules-page div.DTE div.DTE_Field,
    #user-management-page div.DTE div.DTE_Field{
        display: block;
    }
}

#price-schedules-page div.DTE .DTE_Field.DTE_Field_Type_checkbox,
#user-management-page div.DTE .DTE_Field.DTE_Field_Type_checkbox{
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: nowrap;
    align-items: flex-start;
    margin-top: 15px;
}

#price-schedules-page div.DTE .DTE_Field.DTE_Field_Type_checkbox .DTE_Field_InputControl,
#user-management-page div.DTE .DTE_Field.DTE_Field_Type_checkbox .DTE_Field_InputControl{
    text-align: right;
}

#price-schedules-page label[data-dte-e="label"] > span,
#user-management-page label[data-dte-e="label"] > span{
    display:block;
    margin-top: 10px;
    font-size: 12px;
}
#price-schedules-page div.DTE div.DTE_Field > label,
#price-schedules-page div.DTE div.DTE_Field > label + div{
    display: block;
    width: 100%;
    flex: unset !important;
    max-width: unset !important;
    padding: 0;
    margin-bottom: 10px;
}

#user-management-page div.DTE div.DTE_Field > label,
#user-management-page div.DTE div.DTE_Field > label + div{
    display: block;
    width: 100%;
    flex: unset !important;
    max-width: unset !important;
    padding: 0;
    margin-bottom: 10px;
}

#user-management-page label {
    width: auto!important;
}
/* --- end page specific --- */

div.search-status {
    width: 10em;
}
div.search-status div.status {
    text-align: center;
    padding: 2px 0;
    line-height: 1em;
    border-radius: 1em;
}
div.search-status div.substatus {
    text-align: center;
    margin:0;
}

table.dataTable thead th.dt-head-center,
table.dataTable thead td.dt-head-center {
    text-align: center;
}

table.dataTable tbody th.dt-body-right,
table.dataTable tbody td.dt-body-right {
    text-align: right;
}
