/*#region Auto-generated defaults */
html { font-size: 14px; }

/*@media (min-width: 768px) {
    html { font-size: 16px; }
}
*/
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
    position: relative;
    min-height: 100%;
}

body { margin-bottom: 60px; }
/*#endregion End of auto-generated defaults. */

/* PFAS */
/*#region Summary view */
.cdcw {
    width: 150px;
    max-width: 150px;
}

/* Cost detail label widths */
.cdcwlbl {
    width: 65px;
    max-width: 65px;
}

/*#endregion */

/*#region Input Control Elements*/
input {
    border-style: solid !important;
    border-width: thin !important;
    border-color: dimgray !important;
}
/* Darken check box/radio circles */
input[type="radio"] { outline: 1px solid dimgray }
    input[type="text"], input[type="number"], input[type="date"] { max-height: 28px; }
select {
    border-style: solid !important;
    border-width: thin !important;
    border-color: dimgray !important;
}

textarea {
    word-wrap: normal;
    height: 96px;
    border-style: solid !important;
    border-width: thin !important;
    border-color: dimgray !important;
}

/* For buttons displayed as text. */
.txtbtn {
    border: none;
    background-color: inherit;
    cursor: pointer;
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    padding: 0px;
    text-decoration: none
}
    .txtbtn:hover { text-decoration: underline }

/*#endregion Input Control Elements*/

/*#region PFAS validation-related */
input + span::before {
    font-family: 'Wingdings 2';
    margin-left: 4px;
    padding-top: 0px;
    font-weight: bold;
    font-size: large;
}
input:invalid + span::before {
    content: "\D2";
    color: #8b0000;
}
input:valid + span::before {
    content: "\50";
    color: #009000;
    margin-top: 0px;
}

input[type='date'] + span::before {
    font-family: 'Wingdings 2';
    margin-left: 4px;
    padding-top: 0px;
    font-weight: bold;
    font-size: large;
}

input[type='date']:invalid + span::before {
    content: "\D2";
    color: #8b0000;
}

input[type='date']:valid + span::before {
    content: "\50";
    color: #009000;
    margin-top: 0px;
}

textarea + span::before {
    font-family: 'Wingdings 2';
    margin-left: 4px;
    padding-top: 0px;
    font-weight: bold;
    font-size: large;
}
textarea:invalid + span::before {
    content: "\D2";
    color: #8b0000;
}
textarea:valid + span::before {
    content: "\50";
    color: #009000;
    margin-top: 0px;
}

select + span::before {
    font-family: 'Wingdings 2';
    margin-left: 4px;
    padding-top: 0px;
    font-weight: bold;
    font-size: large;
}
select:invalid + span::before {
    content: "\D2";
    color: #8b0000;
}
select:valid + span::before {
    content: "\50";
    color: #009000;
    margin-top: 0px;
}

div.cdd, div.cdc, div.cdv, div.cddesc, div.pdd, div.eq, div.ec, div.sd, div.dti, div.dta, div.dd, div.vcn, div.ign, div.tot, div.vzp, div.vph,
div.vem, div.dp-descr-err, div.cd-descr-err, div.descr-err, #eligval, #reimbval {
    font-family: 'Wingdings 2';
    margin-left: 4px;
    padding-top: 0px;
    font-weight: bold;
    font-size: large;
}

    div.cdd.isvalid, div.cdc.isvalid, div.cdv.isvalid, div.cddesc.isvalid, div.pdd.isvalid, div.eq.isvalid, div.ec.isvalid, div.sd.isvalid, 
    div.dti.isvalid, div.dta.isvalid, div.dd.isvalid, div.vcn.isvalid, div.ign.isvalid, div.tot.isvalid, div.vzp.isvalid, div.vph.isvalid, 
    div.vem.isvalid, div.dp-descr-err.isvalid, div.cd-descr-err.isvalid, div.descr-err.isvalid {
        margin-top: 0px;
        color: #009000;
    }

    div.cdd.notvalid, div.cdc.notvalid, div.cdv.notvalid, div.cddesc.notvalid, div.pdd.notvalid, div.eq.notvalid, div.ec.notvalid, 
    div.sd.notvalid, div.dti.notvalid, div.dta.notvalid, div.dd.notvalid, div.vcn.notvalid, div.ign.notvalid, div.tot.notvalid, 
    div.vzp.notvalid, div.vph.notvalid, div.vem.notvalid, div.dp-descr-err.notvalid, div.cd-descr-err.notvalid, div.descr-err.notvalid {
        color: #8b0000;
    }

    #eligval.isvalid, #reimbval.isvalid {
        margin-top: 0px;
        padding-top: 0px;
        color: #009000;
    }
    #eligval.notvalid, #reimbval.notvalid {
        margin-top: 0px;
        padding-top: 0px;
        color: #8b0000;
    }

.waiting {
    cursor: wait;
}
/*#endregion PFAS validation-related */

/*#region number spinners */
/* Remove up/down buttons for input type=number elements - webkit browsers (chrome/safari) */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
/* Remove up/down buttons for input type=number elements - firefox */
input[type=number] { -moz-appearance: textfield; }
/*#endregion */

/*#region Border styles */
.bbm {
    border-bottom-width: medium;
    border-bottom-style: solid;
    border-bottom-color: dodgerblue;
}
.bbt {
    border-bottom-width: thin;
    border-bottom-style: solid;
    border-bottom-color: dodgerblue;
}
.blm {
    border-left-width: medium;
    border-left-style: solid;
    border-left-color: dodgerblue;
}
.blt {
    border-left-width: thin;
    border-left-style: solid;
    border-left-color: dodgerblue;
}
.btm {
    border-top-width: medium;
    border-top-style: solid;
    border-top-color: dodgerblue;
}
.btt {
    border-top-width: thin;
    border-top-style: solid;
    border-top-color: dodgerblue;
}
.brm {
    border-right-width: medium;
    border-right-style: solid;
    border-right-color: dodgerblue;
}
.brt {
    border-right-width: thin;
    border-right-style: solid;
    border-right-color: dodgerblue;
}
/*#endregion Border styles */

/*#region Colors */
.success { color: green; }
.danger { color: maroon; }
.danger2 { color: indianred; }
.danger3 { color: darkgoldenrod; }
.default { color: black; }
.noshow { color: white; opacity: 0 }
.white { color: white }
.blue { color:  #0741FF; }
.dkblue { color:  darkblue !important; }
.bluebg { background-color: #0741FF; }
.info { color: #0741FF; }
    .info:hover { text-decoration: underline }
.infodark { color: #0d6efd; }
    .infodark:hover { color: yellow; }
.warning { color: orange; }
    .warning:hover { color: yellow; }
.normal { color: black;}
.hdrbkg { background-color: lightyellow}

.tooltiptext {visibility: hidden }
.tooltip {
    position: relative;
    display: inline-block;
}
    .tooltip .tooltiptext {
        visibility: hidden;
        width: 120px;
        background-color: black;
        color: #fff;
        text-align: center;
        padding: 5px 0;
        border-radius: 6px;
        /* Position the tooltip text */
        position: absolute;
        z-index: 1;
    }
    .tooltip:hover .tooltiptext { visibility: visible; }

/* RFA/CS PFAS administration section border and shading */
.rfa {
    border-top-width: thin;
    border-top-style: solid;
    border-top-color: darkgray;
    border-bottom-width: thin;
    border-bottom-style: solid;
    border-bottom-color: darkgray;
    background-color: gainsboro;
}

/* Request Details section border and shading */
.rqst {
    border-top-width: thin;
    border-top-style: solid;
    border-top-color: darkgray;
    border-bottom-width: thin;
    border-bottom-style: solid;
    border-bottom-color: darkgray;
    background-color: cornsilk;
}

/*#endregion */

/*#region Margins */
/* Top margins */
.tm2 {margin-top: 2px; }
.tm4 {margin-top: 4px; }
.tm6 {margin-top: 6px; }
.tm8 { margin-top: 8px; }
.tm12 { margin-top: 12px; }
.tm16 { margin-top: 16px; }
.tm24 { margin-top: 24px; }

/* Bottom margins */
.bm4 { margin-bottom: 4px; }
.bm8 { margin-bottom: 8px; }
.bm12 { margin-bottom: 12px; }
.bm16 { margin-bottom: 16px; }
.bm24 { margin-bottom: 24px; }

/* Right margins */
.rm4 { margin-right: 4px; }
.rm8 { margin-right: 8px; }
.rm12 { margin-right: 12px; }
.rm16 { margin-right: 16px; }
.rm24 { margin-right: 24px; }
.rm30 { margin-right: 30px; }
.rm50 { margin-right: 50px; }
.rm100 { margin-right: 100px; }

/* Left margins */
.lm4 { margin-left: 4px; }
.lm8 { margin-left: 8px; }
.lm12 { margin-left: 12px; }
.lm16 { margin-left: 16px; }
.lm20 { margin-left: 20px; }
.lm22 { margin-left: 22px; }
.lm24 { margin-left: 24px; }
.lm20 { margin-left: 20px; }
.lm32 { margin-left: 32px; }
.lm56 { margin-left: 56px; }

.p0 { padding: 0px; }
.p1 { padding: 1px; }
.p2 { padding: 2px; }
.p3 { padding: 3px; }
.p4 { padding: 4px; }

/* Padding top */
.pt0 { padding-top: 0px !important; }
.pt1 { padding-top: 1px; }
.pt2 { padding-top: 2px; }
.pt3 { padding-top: 3px; }
.pt4 { padding-top: 4px; }
.pt6 { padding-top: 6px; }
.pt8 { padding-top: 8px; }
.pt12 { padding-top: 12px; }
.pt16 { padding-top: 16px; }
.pt64 { padding-top: 64px; }

/* Padding bottom*/
.pb2 { padding-bottom: 2px; }
.pb4 { padding-bottom: 4px; }
.pb8 { padding-bottom: 8px; }
.pb12 { padding-bottom: 12px; }
.pb16 { padding-bottom: 16px; }

/* Padding left */
.pl4 { padding-left: 4px !important; }
.pl8 { padding-left: 8px; }
.pl12 { padding-left: 12px; }
.pl14 { padding-left: 14px !important; }
.pl16 { padding-left: 16px; }

/* Padding right */
.pr4 { padding-right: 4px !important; }
.pr8 { padding-right: 8px; }
.pr12 { padding-right: 12px; }

/*#endregion */

/*#region Header label widths for column-like appearance  */
.adminHeader {
    width: 120px;
    text-align: right;
    margin-right: 8px;
    padding-top: 3px;
}
.contactHeader {
    width: 90px;
    max-width: 90px;
}
/*#endregion */

/*#region Cost "table" entry box and label widths */
/* Cost detail col width */
.cdcw {
    width: 150px;
    max-width: 150px;
}

/* Cost detail label widths */
.cdcwlbl {
    width: 65px;
    max-width: 65px;
}
/*#endregion */

/* Fail/Success return message styling */
.failMsg {
    font-weight: bold;
    color: #8b0000;
    font-size: large;
}
.successMsg {
    font-weight: bold;
    color: #009000;
    font-size: large;
}
/* Force side-by-side elements in a container */
.fflx { display: flex; }

/*#region Widths */
    .w5 { width: 5px; }
    .w10 { width: 10px; }
	.w75 { width: 75px; }
    .w80 { width: 80px; }
    .w85 { width: 85px; }
	.w90 { width: 90px; }
    .w95 { width: 95px; }
	.w100 { width: 100px; }
    .w110 { width: 110px; }
    .w120 { width: 120px; }
	.w125 { width: 125px; }
    .w140 { width: 140px; }
    .w145 { width: 145px; }
	.w150 { width: 150px; }
    .w155 { width: 155px; }
    .w160 { width: 160px; }
	.w160x { width: 160px !important; }
	.w175 { width: 175px; }
	.mw175 { min-width: 175px; width: 175px; }
	.w200 { width: 200px; }
    .w200x { width: 200px !important; max-width: 200px; }
    .w205 { width: 205px; }
    .w210 { width: 210px; }
	.w220 { width: 220px; min-width: 220px; }
    .w230 { width: 230px; }
    .w230x { width: 230px; max-width: 230px; }
    .w235 { width: 235px; }
    .w250 { width: 250px; }
    .w250x { width: 250px; max-width: 250px; }
    .w255 { width: 255px; }
    .w280 { width: 280px; }
	.w300 { width: 300px; }
	.w370 { width: 370px; }
    .w370x{ width: 370px !important; }
    .w390 { width: 390px; }
/*#endregion widths*/

@media (max-width: 850px)
{
    /* Widths for some entry boxes */
    .w400 { width: 65%; }
    .w400x { width: 65% !important; }
    .w425 { width: 68%; }
    .w445 { width: 70% }
    .w450 { width: 71%; }
    .w500 { width: 77%; }
    .w575 {width: 87%;    }
    .w600 { width: 90%; }
    .w700 { width: 100%; }
    .mxw { width: 100%; }
    .w800 { width: 100%; }

    /* Max desired width for labels */
    .txtlmt {
        width: 90%;
        max-width: 90%;
    }
    /* Textarea for comments */
    .commentbox {
        width: 90%;
        height: 84px;
    }
    .lgcommentbox {
        width: 90px;
        height: 84px;
    }
/* stack label and input vertically */
    .flx { }
    /* Child separator line - thin gray section separator */
    .csl {
        border-bottom-width: 1px;
        border-bottom-color: darkgray;
        border-bottom-style: solid;
        height: 2px;
        max-width: 816px;
    }
    /* Child separator line - thin blue detail separator */
    .cslblue {
        border-bottom-width: 1px;
        border-bottom-color: #0741FF;
        border-bottom-style: solid;
        margin-top: 4px;
        margin-bottom: 4px;
        height: 2px;
        max-width: 816px;
    }
    /* Parent separator line - thicker gray section separator */
   .psl {
        border-bottom-width: 2px;
        border-bottom-color: darkgray;
        border-bottom-style: solid;
        max-width: 100%;
    }
   .pslshort {
        border-bottom-width: 2px;
        border-bottom-color: darkgray;
        border-bottom-style: solid;
        margin-top: 16px;
        margin-bottom: 4px;
        max-width: 100%;
    }
    /* Space after a validation element */
    .leader {
        /*margin-left: 4px;*/
        margin-bottom: 8px;
        padding-top: 1pt;
        color: #0741FF;
    }
    input[type="file"] {width: 80%; }
}
@media (min-width: 621px) {
    /* Widths for some entry boxes */
    .w400 { width: 400px; }
    .w400x { width: 400px !important; }
    .w425 { width: 425px; }
    .w445 { width: 445px !important; }
    .w450 { width: 450px; }
    .w500 { width: 500px; }
    .w575 { width: 575px; }
    .w600 { width: 600px; }
    .w700 { width: 700px; }
    .mxw { width:850px; }
    .w800 { width:800px; }
    .w850 { width:850px; }

    /* Max desired width for labels */
    .txtlmt {
        width: 815px;
        max-width: 815px;
    }
    /* Textarea for comments */
    .lgcommentbox {
        width: 660px;
        height: 84px;
    }
    .commentbox {
        width: 600px;
        height: 84px;
    }
    .mdcommentbox {
        width: 570px;
        height: 84px;
    }
    .smcommentbox {
        width: 370px;
        height: 84px;
    }
    /* Side-by-side label and input */
    .flx {
        display: flex;
    }
    /* max desired width for text entry*/
    .tbxfilename {
        width: 390px;
        border-style: none;
    }
    /* Child separator line - gray, section separator */
    .csl {
        border-bottom-width: 1px;
        border-bottom-color: darkgray;
        border-bottom-style: solid;
        height: 2px;
        max-width: 850px;
    }
    /* Child separator line - blue, detail separator */
    .cslblue {
        border-bottom-width: 1px;
        border-bottom-color: #0d6efd;
        border-bottom-style: solid;
        /*margin-top: 4px;
        margin-bottom: 4px;*/
        height: 2px;
        max-width: 850px;
    }
    /* Parent separator line */
    .psl {
        border-bottom-width: 2px;
        border-bottom-color: darkgray;
        border-bottom-style: solid;
        max-width: 850px; 
    }
    .pslshort {
        border-bottom-width: 2px;
        border-bottom-color: darkgray;
        border-bottom-style: solid;
        margin-top: 16px;
        margin-bottom: 4px;
        max-width: 850px; /* cost detail row separators are indented by 16px so add 16px to section width */
    }
    /* Space after a validation element */
    .leader {
        /*margin-left: 20px;*/
        margin-bottom: 8px;
        padding-top: 1pt;
        color: #0741FF;
    }
    input[type="file"].w420x { width: 400px !important; min-width: 400px !important}
    input[type="file"].w600x { width: 600px !important; }
}

/* Admin input styling */
.tbxadmin {
    padding: 2px;
    padding-left: 4px;
    padding-right: 4px;
    height: 27px;
}

/* Wide version header widths */
.adminheader {
    width: 200px;
    text-align: right;
    margin-right: 8px;
    padding-top: 3px;
}

.contactHeader {
    width: 180px;
    max-width: 180px;
}
/*#region Font formatting */
.fb { font-weight: bold }
.fi { font-style: italic }
.fnred { 
    font-style: normal;
    font-weight: normal;
    text-decoration: none !important;
    color: maroon;
}
.fn { 
    font-style: normal !important;
    font-weight: normal;
    text-decoration: none !important;
    color: black;
}
.fu { text-decoration: underline }
.lg { font-size: larger }
.sm { font-size: smaller }
.smi { font-size: smaller !important}
/*#endregion Font formatting */

/*#region  Alignments */
.tal { text-align: left }
.tac { text-align: center }
.tar { text-align: right }
.vat { vertical-align: top }
.vam { vertical-align: middle }
.vab { vertical-align: bottom }
/*#endregion  Alignments */

/*#region PFAS team section border and shading */
.pfasteam {
    border-top-width: thin;
    border-top-style: solid;
    border-top-color: darkgray;
    border-bottom-width: thin;
    border-bottom-style: solid;
    border-bottom-color: darkgray;
    background-color: gainsboro;
}
/*#endregion PFAS team section border and shading */

/* Comment log border -- Will become obsolete */
.clog {
    border-top-width: thin;
    border-top-style: solid;
    border-top-color: darkgray;
}
/*#region Applicant vs. PFAS admin section border and shading */
.app {
    border-width: 2px;
    border-color: darkgray;
    border-top-style: solid;
    border-bottom-style: solid;
    background-color: lightyellow;
    max-width: 850px;
}
.app-hdr {
    border-width: 0px;
    background-color: lightyellow;
    max-width: 850px;
}
.app-row {
    border-width: 0px;
    border-top-width: 1px;
    border-top-color: darkgray;
    border-top-style: solid;
    background-color: lightyellow;
    max-width: 850px;
}
.app-top {
    border-width: 0px;
    border-top-width: 2px;
    border-top-style: solid;
    border-top-color: darkgray;
    background-color: lightyellow;
    max-width: 850px;
}
.app-btm {
    border-width: 0px;
    border-bottom-width: 2px;
    border-bottom-style: solid;
    border-bottom-color: darkgray;
    background-color: lightyellow;
    max-width: 850px;
}
.appro {
    border-width: 0px !important;
    background-color: lightyellow !important;
}
.rfa {
    border-width: medium;
    border-color: darkgray;
    border-top-style: solid;
    border-bottom-style: solid;
    background-color: gainsboro;
    max-width: 850px;
}
.rfa-hdr {
    border-width: 0px;
    background-color: gainsboro;
    max-width: 850px;
}
.rfa-row {
    border-width: 0px;
    border-top-width: 1px;
    border-top-color: darkgray;
    border-top-style: solid;
    background-color: gainsboro;
    max-width: 850px;
}
.rfa-top {
    border-width: 0px;
    border-top-width: medium;
    border-top-style: solid;
    border-top-color: darkgray;
    background-color: gainsboro;
    max-width: 850px;
}
.rfa-btm {
    border-width: 0px;
    border-bottom-width: medium;
    border-bottom-style: solid;
    border-bottom-color: darkgray;
    background-color: gainsboro;
    max-width: 850px;
}
.rfaro {
    border-width: 0px !important;
    background-color: gainsboro !important;
}
/*#endregion PFAS team section border and shading */
