/* 
    Document   : psCSS
    Created on : Mar 27, 2019, 10:24:19 PM
    Author     : Brian
    Description:
        Purpose of the stylesheet follows.
*/

@media (max-width: 768px) {
    .container {
        grid-template-columns: 1fr;
    }
}

            
                #headerSection {
                    display: grid;
                    grid-template-columns: minmax(270px, 360px) minmax(360px, 1fr) minmax(120px, 170px);
                    grid-template-rows: 72px auto;
                    align-items: stretch;
                    width: 100%;
                    background-color: #25826C;
                    box-sizing: border-box;
/*background-color: yellow;*/
                }
                
                
                    #headerLogo {
                        display: flex;
                        align-items: center;
                        grid-column: 1;
                        grid-row: 1;
                        min-width: 0;
                        background-color: #25826C;
                        z-index: 2;
/*background-color: darkcyan;*/
                    }
                        #headerLogo img {
                            display: block;
                            width: auto;
                            height: auto;
                            max-width: 100%;
                            max-height: 100%;
                            object-fit: contain;
                        }
                        .prismHeaderBrand {
                            display: flex;
                            align-items: center;
                            gap: 10px;
                            width: 100%;
                            height: 100%;
                            padding: 6px 10px;
                            box-sizing: border-box;
                            overflow: hidden;
                        }
                        .prismHeaderHomeLink,
                        .prismHeaderHomeLink:visited {
                            color: inherit;
                            text-decoration: none;
                        }
                        .prismHeaderLogo {
                            display: grid;
                            place-items: center;
                            flex: 0 0 68px;
                            width: 68px;
                            height: calc(100% - 4px);
                            max-height: 72px;
                            border: 1px solid rgba(255,255,255,0.58);
                            border-radius: 10px;
                            background: rgba(255,255,255,0.96);
                            box-shadow: inset 0 0 0 1px rgba(37,130,108,0.08), 0 4px 12px rgba(0,0,0,0.12);
                        }
                        .prismHeaderLogo img {
                            width: 58px;
                            max-height: 54px;
                        }
                        .prismHeaderCopy {
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                            min-width: 0;
                            color: #ffffff;
                            line-height: 1.05;
                            text-transform: none;
                        }
                        .prismHeaderName {
                            color: #ffffff;
                            font-size: clamp(18px, 2vw, 30px);
                            font-weight: 900;
                            letter-spacing: 0;
                            text-shadow: 0 2px 8px rgba(0,0,0,0.16);
                            white-space: nowrap;
                        }
                        .prismHeaderTagline {
                            margin-top: 3px;
                            color: #d7fff2;
                            font-size: clamp(10px, 0.95vw, 14px);
                            font-weight: 800;
                            letter-spacing: 0;
                            white-space: nowrap;
                            overflow: hidden;
                            text-overflow: ellipsis;
                        }

                    .portalMenuToggle {
                        display: none;
                    }

                    #headerSection .portalHeaderDrawer {
                        display: grid;
                        grid-column: 1 / -1;
                        grid-row: 1 / 3;
                        grid-template-columns: minmax(270px, 360px) minmax(360px, 1fr) minmax(120px, 170px);
                        grid-template-rows: 72px auto;
                        width: 100%;
                        background: transparent;
                        z-index: 1;
                    }
                
                    #horizMenuBox {
                        /*NAVIGATION MENU CONTAINER*/
                        display: flex;
                        grid-column: 2;
                        grid-row: 1;
                        justify-content: center;
                        align-items: center;
                        min-width: 0;
                        background-color: #25826C;
                        overflow: visible;

/*background-color: green;*/
                        
                    }
                        .portalNavRow {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            flex-wrap: wrap;
                            min-width: 0;
                            width: 100%;
                            overflow-x: visible;
                            overflow-y: hidden;
                            scrollbar-width: thin;
                        }
                        .portalPublicLinks {
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            width: 100%;
                            padding: 0 10px;
                            box-sizing: border-box;
                        }
                        .portalPublicLinks a {
                            color: #ffffff;
                            font-size: 13px;
                            font-weight: 800;
                            line-height: 1.2;
                            text-decoration: none;
                            border-bottom: 1px solid rgba(255,255,255,0.65);
                        }
                        .portalPublicLinks a:hover,
                        .portalPublicLinks a:focus {
                            color: #d7fff2;
                            border-bottom-color: #d7fff2;
                        }
                        .portalHeaderSelectors {
                            grid-column: 1 / -1;
                            grid-row: 2;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            flex-wrap: wrap;
                            gap: 8px 12px;
                            min-width: 0;
                            width: 100%;
                            padding: 7px 12px 9px;
                            color: #ffffff;
                            font-size: 12px;
                            font-weight: 800;
                            line-height: 1.1;
                            box-sizing: border-box;
                            background: #1f725f;
                            border-top: 1px solid rgba(255,255,255,0.22);
                        }
                        .portalHeaderSelectors:empty {
                            display: none;
                        }
                        .portalHeaderSelectors .menuTabs {
                            height: auto;
                            min-height: 0;
                            padding: 0;
                            margin: 0;
                        }
                        .portalSelectorField,
                        .portalSelectorCheck {
                            display: inline-flex;
                            align-items: center;
                            gap: 5px;
                            margin: 0;
                            white-space: nowrap;
                        }
                        .portalSelectorLabel,
                        .portalSelectorHelp {
                            font-weight: 900;
                            white-space: nowrap;
                        }
                        .portalSelectorHelp {
                            flex-basis: 100%;
                            text-align: center;
                        }
                        .portalHeaderSelectors form {
                            display: inline-flex;
                            align-items: center;
                            gap: 8px;
                            margin: 0;
                        }
                        .portalHeaderSelectors select,
                        .portalHeaderSelectors input[type="submit"] {
                            max-width: 320px;
                            height: 28px;
                            box-sizing: border-box;
                            font-size: 12px;
                        }
                        .portalHeaderSelectors input[type="checkbox"] {
                            margin: 0 2px;
                        }
                        .menuTabs {
                            display: table;
                            /*line-height: 100%;*/
                            height: 40px;
                            text-align: center;
                            padding-left: 6px;
                            padding-right: 6px;
                            margin-left: 4px;
                            margin-right: 4px;
                            /*border: 2px black solid;*/
                            background-color: transparent;
                            flex: 0 0 auto;
                            
/*background-color: gray;*/
                        }
                
/*                            .menuTabs .tabTextCon {
                                line-height: 1.5;
                                display: table-cell;
                                vertical-align: middle;
                            }*/
                
                                .tabTextCon {
                                    display: table-cell;
                                    vertical-align: middle;
                                    background-color: transparent;
                                    
                                    
/*background-color: white;*/
                                }
                                .tabTextBox {
                                    /*height: fit-content;*/
                                    background-color: transparent;
                                    margin-left: 10px;
                                    margin-right: 10px;
                                    font-weight: bold;
                                    /*heighst: 100%;*/
/*background-color: purple;*/
                                }
                                .navTabSel {
                                    border-bottom: 2px solid #80DDBD;
                                }
                                .navTabNoSel:hover {
                                    transition: .25s;
                                    /*height: max-content;*/
                                    border-top: 2px solid #80DDBD;
                                    border-bottom: 2px solid #80DDBD;
                                    padding-top: 5px;
                                    padding-bottom: 5px;
                                    /*padding-bottom: 5px;*/
                                }
                                
/*
DARK/BLACK = LICORICE #131515
GRAY = CHARLESTON GREEN #2B2C28
DARK GREEN = VIRIDIAN #25826C
LIGHT GREEN = PEARL AQUA #80DDBD
WHITE = ISBELLINE #F4EFF0
*/                                
                                
                                
                #signInBox {
                    display: flex;
                    align-items: center;
                    justify-content: center;
                    grid-column: 3;
                    grid-row: 1;
                    min-width: 0;
                    padding: 6px;
                    box-sizing: border-box;

                }
                
            
                
                    





/* MAIN CSS FUNCTIONS */

.alignRight {
    text-align: right;
}
.alignCenter {
    text-align: center;
    /*margin: 0 auto;*/
}
.alignLeft {
    text-align: left;
}
.alignVerticle {
    /*Aligns a div vertically in parent cell*/
    /*parent cell must have display: table; */
    display: table-cell;
    vertical-align: bottom;

}


.clearBoth {
    clear: both;
}
.cursorHelp {
    cursor: help;
}
.cursorLink {
    cursor: pointer;
}
.floatLeft {
    float: left;
    
}
.floatRight {
    float: right;
}
.hiddenDiv {
    display: none;
}
.noLink {
    text-decoration: none;
    /*Took color out because is overriding specific font colors, must set individually*/
    /*color: black;*/
    color: inherit;
}
.noLink:visited {
    text-decoration: none;
    /*Took color out because is overriding specific font colors, must set individually*/
    /*color: black;*/
    color: inherit;
}
.shadowBox{
    /*a shadow for a box*/
    box-shadow: 5px 5px 20px #3e4038;
}

.tableIcon {
    /*for small icons*/
    width: 20px;
    height: 20px;
}





/*BOXES BOXES BOXES*/
.qTaskCon {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(170px, 1fr));
    gap: 20px 32px;
    align-items: start;
    justify-content: center;
    box-sizing: border-box;
    max-width: 960px;
    margin: 0 auto;
    padding: 18px 24px;
    font-family: sans-serif;
}
    .qTaskCon a {
        display: block;
        justify-self: center;
        text-decoration: none;
    }
    .qTaskHeightSpacer {
        display: none;
        
    }
    .qTaskCol {
        display: contents;
        
    }
        .qTaskBox {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            position: relative;
            width: 170px;
            height: 142px;
            box-sizing: border-box;
            padding: 12px 10px 10px;
            border-radius: 8px;
            border: 1px solid #5aa893;
            background-color: #d9f3ea;
            cursor: pointer;
            box-shadow: 0 6px 16px rgba(22, 70, 59, .08);
            transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease;
        }

            .qTaskHdrMargin {
                display: none;
            }
            .qTaskImg {
                width: 100%;
                height: 42px;
                margin: 0 0 12px;
                text-align: center;
            }
            .qTaskImg img {
                max-width: 46px;
                max-height: 42px;
                object-fit: contain;

            }
            .qTaskText {
                color: #2B2C28;
                width: 100%;
                font-weight: 800;
                font-size: 15px;
                line-height: 1.18;
                letter-spacing: .04em;
                text-align: center;
                overflow-wrap: anywhere;
            }
            
            .qTaskBox:hover {
                background-color: #eefbf6;
                border-color: #25826C;
                box-shadow: 0 10px 22px rgba(22, 70, 59, .16);
                transform: translateY(-2px);
            }

            

/* Notification badge (top-right circle) */
.qTaskBadge {
    position: absolute;
    top: 6px;
    right: 6px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;

    background: #d94f4f;
    color: #ffffff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;

    box-shadow: 0 0 0 1px rgba(0,0,0,0.08);
    z-index: 2;
}

@media (max-width: 820px) {
    #headerSection {
        grid-template-columns: minmax(0, 1fr) 60px;
        grid-template-rows: 86px auto;
        position: relative;
        z-index: 20;
    }
    #headerLogo {
        grid-column: 1;
        grid-row: 1;
        min-height: 86px;
    }
    .portalMenuToggle {
        display: inline-flex;
        grid-column: 2;
        grid-row: 1;
        align-self: center;
        justify-self: center;
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        width: 42px;
        height: 42px;
        padding: 0;
        border: 1px solid rgba(255,255,255,0.5);
        border-radius: 8px;
        background: rgba(19,21,21,0.22);
        cursor: pointer;
        z-index: 4;
    }
    .portalMenuToggle span {
        display: block;
        width: 22px;
        height: 2px;
        margin: 0 auto;
        background: #ffffff;
        border-radius: 2px;
    }
    #headerSection .portalHeaderDrawer {
        display: none;
        grid-column: 1 / -1;
        grid-row: 2;
        grid-template-columns: 1fr;
        grid-template-rows: auto;
        width: 100%;
        box-sizing: border-box;
        padding: 10px;
        background: #1f725f;
        border-top: 1px solid rgba(255,255,255,0.22);
        box-shadow: 0 10px 22px rgba(19,21,21,0.22);
        z-index: 3;
    }
    #headerSection .portalHeaderDrawer.isOpen,
    #headerSection.portalLoggedOut .portalHeaderDrawer {
        display: block;
    }
    #horizMenuBox,
    #signInBox,
    .portalHeaderSelectors {
        display: block;
        width: 100%;
        min-width: 0;
        padding: 0;
        background: transparent;
        border: 0;
    }
    .portalNavRow {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
        width: 100%;
        overflow: visible;
    }
    .portalNavRow .menuTabs {
        display: block;
        width: 100%;
        height: auto;
        min-height: 42px;
        margin: 0;
        padding: 0;
        border: 1px solid rgba(255,255,255,0.22);
        border-radius: 8px;
        background: rgba(255,255,255,0.1);
        box-sizing: border-box;
    }
    .portalNavRow .tabTextCon,
    .portalNavRow .tabTextBox,
    .portalNavRow .noLink {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: 42px;
        margin: 0;
        box-sizing: border-box;
    }
    .portalHeaderSelectors {
        margin-top: 10px;
        color: #ffffff;
    }
    .portalHeaderSelectors form {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        width: 100%;
        margin: 0;
    }
    .portalHeaderSelectors .menuTabs {
        display: block;
        width: 100%;
        height: auto;
        margin: 0 0 8px;
        padding: 0;
        text-align: left;
    }
    .portalSelectorField,
    .portalSelectorCheck {
        display: flex;
        align-items: stretch;
        flex-direction: column;
        gap: 4px;
        width: 100%;
        white-space: normal;
    }
    .portalSelectorCheck {
        align-items: center;
        flex-direction: row;
    }
    .portalSelectorHelp {
        margin-bottom: 8px;
        text-align: left;
    }
    .portalHeaderSelectors select,
    .portalHeaderSelectors input[type="submit"] {
        width: 100%;
        max-width: none;
        height: 36px;
        font-size: 14px;
    }
    .portalHeaderSelectors input[type="checkbox"] {
        width: 18px;
        height: 18px;
    }
    #signInBox {
        margin-top: 10px;
        text-align: center;
    }
    .portalPublicLinks {
        padding: 4px 0 6px;
    }
    #signInControlBox .genBut {
        padding: 8px 14px;
        font-size: 13px;
    }
    .prismHeaderBrand {
        gap: 8px;
        padding: 5px 7px;
    }
    .prismHeaderLogo {
        flex-basis: 54px;
        width: 54px;
        border-radius: 8px;
    }
    .prismHeaderLogo img {
        width: 46px;
        max-height: 44px;
    }
    .prismHeaderName {
        font-size: 20px;
    }
    .prismHeaderTagline {
        max-width: 190px;
        font-size: 10px;
    }
    .qTaskCon {
        grid-template-columns: repeat(3, minmax(156px, 1fr));
        max-width: 680px;
    }
    .qTaskBox {
        width: 156px;
        height: 132px;
    }
}

@media (max-width: 560px) {
    #headerLogo {
        min-width: 0;
    }
    .portalNavRow {
        grid-template-columns: 1fr;
    }
    .prismHeaderLogo {
        flex-basis: 48px;
        width: 48px;
    }
    .prismHeaderLogo img {
        width: 40px;
        max-height: 38px;
    }
    .prismHeaderName {
        font-size: 18px;
    }
    .prismHeaderTagline {
        max-width: 128px;
        font-size: 9px;
        line-height: 1.08;
        white-space: normal;
    }
    .qTaskCon {
        grid-template-columns: repeat(2, minmax(142px, 1fr));
        gap: 14px;
        max-width: 370px;
        padding-left: 14px;
        padding-right: 14px;
    }
    .qTaskBox {
        width: 142px;
        height: 122px;
    }
}

@media (max-width: 340px) {
    .qTaskCon {
        grid-template-columns: 1fr;
        max-width: 180px;
    }
}
            
            
            
            
            
            
            
            
.sepRadio {
    margin-left: 6px;
}            
.floatClear {
    clear: both;
}            
            
            
/*THIS IS FOR FORMATTING THE QUESTIONS ON THE REPORT QAIRY*/            
            
    
            .quBox {
                width: 100%;
                text-align: center;
                margin-top: 10%;
                padding-left: 10%;
                padding-right: 10%;
            }
            .quBoxLeft {
                display: inline-block;
                width: fit-content;
                text-align: left;
/*                margin-top: 10%;
                padding-left: 10%;
                padding-right: 10%;*/
                
            }

                .quText {
                    color: #2B2C28;
                    font-weight: 900;
                    /*font-weight: bold;*/
                    font-size: 2em;
                }
            .quAnsBox {
                width: 100%;
                text-align: center;
                margin-top: 3%;
                
            }
                .quSelect {
                    font-size: 20px;

                }
                .quFormattedOption {
                    font-family: Consolas, monospace;
                }
                .quAnsText {
                    font-size: 20px;
                    font-weight: bold;
                }
                .quInst {
                    font-weight: normal;
                    font-style: italic;
                    font-size: smaller;
                }
                .quCbAns{
                    width: 20px;
                    height: 20px;
                }
                .quCbHoriz {
                    margin-right: 15px;
                }
                .quCbBox {
                    /*This is a div containter to put a box around the cb/radio*/
                    display: inline-table;
                    /*float: left;*/
                    width: 50%;
                    max-width: 200px;
                    height: 200px;
                    border-radius: 20px;
                    border: 2px solid #25826C;
                    background-color: #AEE9D5;
                    padding: 10px;
                    margin: 10px;
                }
                
            .quNext {
                width: 100%;
                text-align: center;
                margin-top: 3%;
            }
            .quNextButton {
                margin-top: 3%;
                font-size: 25px;
                
            }
            
            
/*
TABLE TABLE TABLE
TABLE TABLE TABLE
TABLE TABLE TABLE
*/


            .thInst {
                /*for small instruction in header column*/
                font-style: italic;
                font-size: 11px;
            }

            .oddColor {
                background-color: #f2e394;
            }
            .evenColor {
                background-color: #daead4;
            }








            

/*BUTTONS BUTTONS BUTTONS*/

.genBut {
    display: inline-block;
    /*background-color: #2B2C28;*/
    border: none;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    border-bottom-left-radius: 15px;
    border-bottom-right-radius: 15px;
    color: #F4EFF0;
    padding: 8px 16px;
    vertical-align: middle;
    overflow: hidden;
    text-decoration: none;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    user-select: none;
}
.genBut_80 {
    width: 80%;
}
.genBut:hover {
    box-shadow: 5px 5px 20px #3e4038;
    /*box-shadow: 5px 5px 20px #131515;*/
}
.genBut:after {
    box-sizing: inherit;
}
.genBut:before {
    box-sizing: inherit;
}

.butn {
  /*GENERAL BUTTON*/  
  background: #2B2C28;
  background-image: -webkit-linear-gradient(top, #2B2C28, #bbbcbd);
  background-image: -moz-linear-gradient(top, #2B2C28, #bbbcbd);
  background-image: -ms-linear-gradient(top, #2B2C28, #bbbcbd);
  background-image: -o-linear-gradient(top, #2B2C28, #bbbcbd);
  background-image: linear-gradient(to bottom, #2B2C28, #bbbcbd);
  -webkit-border-radius: 28;
  -moz-border-radius: 28;
  border-radius: 28px;
  -webkit-box-shadow: 0px 1px 3px #666666;
  -moz-box-shadow: 0px 1px 3px #666666;
  box-shadow: 0px 1px 3px #666666;
  font-family: Arial;
  color: #ffffff;
  font-size: 20px;
  padding: 10px 20px 10px 20px;
  border: solid #80DDBD 1px;
  text-decoration: none;
}

.butn:hover {
  background: #3cb0fd;
  text-decoration: none;
}


/*COLORS*/
/*
DARK/BLACK = LICORICE #131515
GRAY = CHARLESTON GREEN #2B2C28
DARK GREEN = VIRIDIAN #25826C
LIGHT GREEN = PEARL AQUA #80DDBD
LIGHT GREEN SHADE = #AEE9D5 / EVEN LIGHTER = #DCF5ED
WHITE = ISBELLINE #F4EFF0
*/

.bgDark {
    background-color: #2B2C28;
}
.bgPink {
    background-color: lightpink;
}





/*TEXT TEXT TEXT INPUT INPUTS*/
/*TEXT TEXT TEXT INPUT INPUTS*/
/*TEXT TEXT TEXT INPUT INPUTS*/

            .bigInp {
                font-size: 1.2em;
                font-size: 1.5vw;
            }
            
            .fmtTextBox {
                /*FOR USE WITH JS formatInpSize()*/
                max-width: 90%;
                /*!!!MUST HAVE A MIN-WIDTH IN CSS FOR TEXT ELEMENT*/
                text-align: center;
            }
            .textInst {
                /*for small instructions around buttons*/
                font-style: italic;
                font-size: 10px;
            }
            .optionGrey {
                color: grey;
            }

/*WIZARD WIZARD*/            
/*WIZARD WIZARD*/            
/*WIZARD WIZARD*/

        
            #wizCon {
                /*MUST BE FIXED HEIGHT*/
                /*width and height are in mbIncludePage*/
                display: inline-block;
                height: 100%;
                width: 100%;
                overflow-x: hidden;
            }
            #wizForm {
                width: 100%;
                height: 100%;
            }
                #wizInputCon {
                    display: inline-block;
                    width: 100%;
                    height: 90%;
background-color: beige;                    
                }
                #wizInputArea {
/*!!!THE FOLLOWING WILL VERTICAL CENTER THE LABEL AND INPUTS
BUT NEEDS BROWSER VENDOR PREFIXES*/
                    position: relative;
                    top: 50%;
                    transform: translateY(-50%);
                    /*display: inline-block;*/
                    /*width: 100%;*/
                    /*height: fit-content;*/
                    
/*background-color: yellow;*/                    
                }
                    .wizInputLabelCon {
                        /*Title/explanatgion of the input*/
                        display: inline-block;
                        width: 100%;
                        font-size: 2em;
                        font-weight: bold;
                        text-align: center;
                        color: #2B2C28;
                        margin-bottom: 5%;
/*background-color: PURPLE;*/                    
                    }
                    .wizInputElementsCon {
                        display: inline-block;
                        width: 100%;
                    }
                        .wizInpMaxSize {
                            /*SETS THE INPUT TO A MAX SIZE OF */
                            /*width: 30em;*/
                            min-width: 20%;
                        }
                        .wizInpMinSize {
                            /*SETS THE INPUT TO A MAX SIZE OF */
                            /*width: 5em;*/
                            min-width: 5em;
                        }
                        .wizInpCon100 {
                            /*Container for input element 100% width*/
                            display: inline-block;
                            width: 100%;
                            text-align: center;
background-color: pink;
                        }
                        
                        .wizInpConFloat {
                            /*Container for input element content-width and floats*/
                            float: left;
                            width: auto;
                            height: fit-content;
                            text-align: center;
background-color: purple;
                            
                        }
                #wizNavArea {
                    display: inline-block;
                    width: 100%;
                    height: 9%;
background-color: bisque;                    
                }
                    .wizNavSpacer {
                        width: 100%;
                        height: 20%;
                        background-color: transparent;
                    }
                    .wizButtonCon {
                        /*Container around nav buttons in wizard pages*/
                        float: left;
                        display: inline-block;
                        width: 19%;
                        height: 60%;
                        text-align: center;
/*background-color: green;*/
                    }
