*, *:before, *:after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    width: 100%;
}

*:focus {
    outline: 0;
}

body {
    font-family: Helvetica, Arial, Sans-Serif;
    color: #777;
    padding: 0px;
    margin: 0px;
    width: 100%;
    font-size: 100%;
    text-rendering: optimizelegibility;
}

h1, h2, h3, h4, h5, h5, p, blockquote, ul, ol {
    margin: 0px;
    padding: 0px;
    font-weight: normal;
}

th {
    text-align: left;
}

input[type=text], input[type=password], textarea {
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
}


ul {
    list-style: none;
}

a {
    text-decoration: none;
    outline: none !important;
    overflow: hidden;
    color: #cc0000;
}

    a:hover {
        text-decoration: none;
        color: #000;
    }

    a img {
        border: none;
    }

    a, a:active, a:visted, a:hover, a:link, a:link:active, a:visited:active, a:focus, :focus {
        outline: none !important;
        outline: 0px !important;
        -webkit-appearance: none;
        border: none !important;
    }


img {
    width: 100%;
    height: auto;
}




button, input[type="submit"], input[type="reset"] {
    background: none;
    color: inherit;
    border: none;
    padding: 0;
    font: inherit;
    cursor: pointer;
    outline: inherit;
}



















:root {
    --light-grey: #ccc;
}

body {
    font-family: 'Open Sans', sans-serif;
    font-size: 14px;
    background-color: #fbfbfb;
    color: #747a80;
    font-weight: 300;
    height: 100%;
}



header {
}



html {
    position: relative;
    min-height: 100vh;
}

.footer {
    position: absolute;
    bottom: 0;
    width: 100%;
}



main {
    padding-bottom: 100px;
}

.content-holder {
    background-color: red;
    min-height: 100vh;
    height: 100%;
}


.wrapper {
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
}


@media (min-width: 1100px) {
    .wrapper {
        max-width: 80%;
    }
}





tr td .dot {
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 20px;
    float: left;
    margin-right: 10px;
    margin-top: 2px
}





.topBar {
    background-color: #2f4050;
    color: #fff;
    padding: 28px 0;
    display: flex;
}

    .topBar .logo {
        font-weight: 600;
        text-transform: uppercase;
        font-size: 15px;
        letter-spacing: 1px;
    }


.topNav {
    background-color: #fff;
    -webkit-box-shadow: 0 2px 2px rgb(0 0 0 / 5%), 0 1px 0 rgb(0 0 0 / 5%);
    box-shadow: 0 2px 2px rgb(0 0 0 / 5%), 0 1px 0 rgb(0 0 0 / 5%);
    display: flex;
    position: sticky;
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    margin-bottom: 20px;
    z-index: 10;
}



    .topNav ul {
        display: flex;
    }

        .topNav ul li:first-child {
            margin-right: auto;
            border-right: none;
            
        }

        


        .topNav ul a, .topNav ul span {
            padding: 20px;
            display: block;
            border-right: 1px solid #eee;
            min-width: 130px;
            font-size: 14px;
            font-weight: 400;
            color: #666;
        }

    .topNav.fixed ul a, .topNav.fixed ul span {
        padding: 10px 20px;
    }

    .topNav ul li:nth-of-type(2)  {
        border-left: 1px solid #eee;
        
    }

    .topNav ul ul li:nth-of-type(2) {
        border-left: none;
    }

        .topNav ul li:first-child a {
            color: #000;
            border-right: none;
        }


    .topNav ul li.first a, .topNav ul li.first span {
        padding-left: 0;
    }

    .topNav ul li {
        position: relative;
    }

        .topNav ul li ul.subMenu {
            position: absolute;
            top: 100%;
            display: none;
            background-color: #fff;
            min-width: 150px;
            padding: 15px;
            left: 0;
            font-size: 12px;
            -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
            box-shadow: 0 0 10px rgb(0 0 0 / 10%);
            opacity: 0;
            transition: all 0.3s linear;
            -o-transition: all 0.3s linear;
            -moz-transition: all 0.3s linear;
            -webkit-transition: all 0.3s linear;
        }

        .topNav ul li.hasChild:hover ul.subMenu {
            opacity: 1;
            display: block;
        }

        .topNav ul li ul.subMenu li {
            margin-bottom: 5px;
        }

        .topNav ul li ul.subMenu a, .topNav ul li ul.subMenu span {
            padding: 5px;
            display: block;
            border-right: none;
            min-width: 0;
            font-size: 13px;
            font-weight: 300;
            color: #666;
            text-transform: uppercase;
        }

footer {
    border-top: 1px solid #eee;
    padding: 10px 0;
    margin-top: 20px;
}

    footer .ft {
        display: flex;
    }

        footer .ft div {
            width: 100%;
            font-size: 13px;
        }

            footer .ft div a {
                color: #747a80;
            }

.panR {
    text-align: right;
}

h1 {
    font-family: 'Open Sans', sans-serif;
    font-weight: 600;
    font-size: 20px;
    text-transform: uppercase;
    margin-bottom: 1.25em;
}

p {
    font-family: 'Open Sans', sans-serif;    
    font-size: 14px;    
    margin-bottom: 1.25em;
}

.md-form, .md-card {
    background-color: #fff;
    padding: 30px;
    -webkit-box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    box-shadow: 0 0 10px rgb(0 0 0 / 10%);
    border-radius: 4px;
    margin-bottom: 30px;
    width:100%;
    float:left;
}

.md-card {
    padding: 40px 30px;
}



.md-form .form-title {
    display: block;
    font-weight: 600;
    color: #1b1b1b;
    padding-bottom: 20px;
    margin-bottom: 20px;
    border-bottom: 1px solid #999;
    width: 100%;
    float: left;
}

.md-form .form-group {
    display: block;
    padding-bottom: 20px;
    width: 100%;
    float: left;
}

    .md-form .form-group label {
        display: block;
        width: 100%;
        font-size: 13px;
        font-weight: 600;
        padding-bottom: 8px;
    }

    .md-form .form-group td label {
        display: inline-block;
        width: auto;
    }

.form-control {
    width: 100%;
    border: 1px solid #ccc;
    padding: 10px;
    font-size: 14px;
    font-weight: 400;
    font-family: 'Open Sans', sans-serif;
}

    .form-control.small {
        max-width: 140px;
    }

.form-search {
    display: flex;
}

    .form-search a, .form-search input[type=submit] {
        line-height: 34px;
        height: 41px;
        border: 1px solid #ccc;
        min-width: 41px;
        border-left: none;
    }

input[type=color] {
    height: 40px;
    padding: 0 2px;
}


.errBG {
    position: fixed;
    z-index: 1000;
    background-color: rgba(255,255,255,.4);
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.msgErr {
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(50%,-50%);
    background-color: #444;
    color: #fff;
    padding: 30px;
    z-index: 1001;
    min-width: 400px;
    min-height: 200px;
}

    .msgErr a {
        position: absolute;
        top: 10px;
        right: 10px;
        color: #fff;
        font-size: 10px;
        text-transform: uppercase;
        letter-spacing: 1px;
        font-weight: 600;
    }

    .msgErr h6 {
        font-weight: 600;
        font-size: 14px;
        margin: 0 0 15px 0;
        padding: 0 0 15px 0;
        border-bottom: 1px solid #fff;
    }


.btnRight {
    width: 100%;
    float: right;
    text-align: right;
    padding-bottom: 30px;
}

    .btnRight .btn {
        float: right;
    }


.tblList {
    width: 100%;
    border-collapse: collapse;
}

    .tblList th {
        border-bottom: 2px solid #dee2e6;
        font-weight: 700;
        
    }

    .tblList td, .tblList th {
        border-top: 1px solid #dee2e6;
        padding: 15px 10px;
        font-size: 13px;
    }

    .tblList td {
        color:#000;
    }

    .tblList td a{
        color: #000;
    }

        .tblList.table-sm td, .tblList.table-sm th {
            border-top: 1px solid #dee2e6;
            padding: 8px 10px;
            font-size: 13px;
        }


    .tblList td.buttons {
        background-color: #fff;
        padding-top: 0;
        border-top: none;
        text-align: right;
    }


    .tblList tr.trHeader td {
        background-color: #f5f5f5;
        color: #000;
    }

    .tblList tr.trButtons td {
        padding-bottom: 40px;
    }

    .tblList tr:not(:first-child):hover {
        background-color: #f8f9fa;
        transition: all 0.25s;
    }

    .tblList tr.noHover:hover, .tblList tr.trLinks:hover, .tblList tr.trButtons:hover {
        background-color: #fff;
    }

    .tblList a {
        color: #555;
        text-decoration: underline;
    }

        .tblList a:hover {
            color: #23b5e2;
        }

    .tblList .pagination, .tblList .pageNumb {
        text-align: center;
    }


        .tblList .pagination li {
            display: inline-block;
            margin: 0 2px;
        }

        .tblList .pagination a {
            color: #CCC;
            transition: all 0.25s;
        }

            .tblList .pagination a:hover {
                color: #23b5e2;
            }

    .tblList tr.own td {
        font-weight:bold;
        background-color:#f7f7f7;
    }

.DeleteButton, .EditButton, .UpButton, .DownButton, .HideButton, .ShowButton, .SearchButton, .ClearButton,
input[type=submit].SearchButton {
    text-indent: -9000px;
    overflow: hidden;
    display: inline-block;
    background-image: url(../img/icons.png);
    background-repeat: no-repeat;
    margin: 0px 3px;
    transition: all 0.3s linear;
    -o-transition: all 0.3s linear;
    -moz-transition: all 0.3s linear;
    -webkit-transition: all 0.3s linear;
    opacity: 0.4;
}

input[type=submit].SearchButton, .SearchButton, .ClearButton {
    opacity: 1;
    margin: 0;
    background-position: center center;
}

    input[type=submit].SearchButton:hover, .SearchButton:hover, .ClearButton:hover {
        background-color: #eee;
    }

.ClearButton {
    background-position: 11px -180px;
}

input[type=submit].SearchButton {
    background-position: 10px -45px;
}

.EditButton {
    background-position: 3px -344px;
    width: 18px;
    height: 16px;
}

    .EditButton:hover {
        opacity: 1;
    }



.DeleteButton {
    background-position: 0px -372px;
    width: 15px;
    height: 15px;
}

    .DeleteButton:hover {
        opacity: 1;
    }

.UpButton {
    background-position: 3px -269px;
    width: 17px;
    height: 16px;
}

    .UpButton:hover {
        opacity: 1;
    }

.DownButton {
    background-position: 0px -239px;
    width: 15px;
    height: 16px;
}

    .DownButton:hover {
        opacity: 1;
    }

.ShowButton {
    background-position: 0px -193px;
    width: 15px;
    height: 16px;
}

    .ShowButton:hover {
        opacity: 1;
    }

.HideButton {
    background-position: 0px -217px;
    width: 17px;
    height: 16px;
}

    .HideButton:hover {
        opacity: 1;
    }


.trp-col {
    display: grid;
    width: 100%;
    grid-template-columns: 3fr 1fr 2fr;
    grid-column-gap: 30px;
}

.dbl-col {
    display: grid;
    width: 100%;
    grid-template-columns: 1fr 1fr;
    grid-column-gap: 30px;
}


    .dbl-col.d3060 {
        grid-template-columns: 1fr 2fr;
    }

.col {
    width: 100%;
}

.form-checkbox-list {
    display: flex;
}

.reduced .form-group {
    padding-bottom: 10px;
}

    .reduced .form-group label {
        padding-bottom: 5px;
    }



.btn, input[type=submit].save {
    display: inline-block;
    border: none;
    padding: 12px 18px;
    border-radius: 5px;
    margin: 0;
    text-decoration: none;
    background: #23b5e2;
    color: #ffffff !important;
    text-decoration: none !important;
    font-family: sans-serif;
    font-size: 14px;
    cursor: pointer;
    text-align: center;
    transition: background 250ms ease-in-out, transform 150ms ease;
    -webkit-appearance: none;
    -moz-appearance: none;
    min-width: 80px;
    margin-right: 10px;
    float: left;
}


    .btn.grey {
        background-color: #ccc;
    }

    .btn:hover,
    .btn:focus {
        background: #53e5f2;
        color: #fff;
    }

    .btn.grey:hover,
    .btn.grey:focus {
        background-color: #999;
    }

    .btn:focus {
        outline: 1px solid #fff;
        outline-offset: -4px;
    }

    .btn:active {
        transform: scale(0.99);
    }

.fileselector-controller-holder {
    display: flex;
}

.fileselector-icon {
    display: block;
    border: 1px solid #2f4050;
    border-left: none;
    text-align: center;
    background-color: #2f4050;
    color: #fff;
    line-height: 38px;
    padding: 0 10px;
    font-size: 11px;
    letter-spacing: 1px;
    text-transform: uppercase;
    font-weight: 600;
}

    .fileselector-icon:hover {
        border: 1px solid #2f4050;
        transition: all 0.3s linear;
        background-color: #fff;
        color: #2f4050;
    }



.tabbing-item {
    display: block;
}




.tabbing-buttons {
    padding-bottom: 20px;
}

    .tabbing-buttons a {
        background-color: var(--light-grey);
        color: #fff;
        display: inline-block;
        padding: 10px 20px;
        margin-right: 10px;
        border-radius: 5px;
        transition: all 0.3s linear;
        -o-transition: all 0.3s linear;
        -moz-transition: all 0.3s linear;
        -webkit-transition: all 0.3s linear;
        position: relative;
        overflow: visible;
        z-index: 2;
    }

        .tabbing-buttons a:hover {
            background: #aaa;
        }

        .tabbing-buttons a.Selected {
            background-color: #23b5e2;
        }


        .tabbing-buttons a:before {
            content: '';
            width: 15px;
            height: 15px;
            background-color: #23b5e2;
            opacity: 0;
            bottom: -8px;
            position: absolute;
            left: 50%;
            z-index: 1;
            transform: translateX(-50%) rotate(45deg);
        }

        .tabbing-buttons a.Selected:before {
            transition: all 0.3s linear;
            -o-transition: all 0.3s linear;
            -moz-transition: all 0.3s linear;
            -webkit-transition: all 0.3s linear;
            opacity: 1;
        }




.modal-background {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(255,255,255,.2);
    z-index: 100;
    display: none;
}

.modal-popup {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 90%;
    margin-right: -90%;
    z-index: 110;
    background-color: #fff;
    box-shadow: 0 0 20px rgba(0,0,0,0.5);
    display: none;
}


.dType {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-column-gap: 30px;
    padding: 20px 0;
}

    .dType .item {
        width: 100%;
        border: 1px solid #eee;
        margin-bottom: 30px;
        cursor: pointer;
        transition: all linear .1s;
    }

        .dType .item:hover, .dType .item.selected {
            box-shadow: 0px 0px 10px rgba(0,0,0,.2);
        }

            .dType .item:hover p {
                background-color: #fcfcfc;
            }

        .dType .item h2 {
            background-color: #23b5e2;
            color: #fff;
            font-size: 16px;
            padding: 20px;
            font-weight: 600;
            text-transform: uppercase;
        }

        .dType .item.selected h2 {
            background-color: #2f4050;
        }

        .dType .item p {
            padding: 20px;
        }

.hdn {
    display: none;
}


.pageLnk {
    font-size:12px;
    color:#2f4050;
    padding:5px;
}

.pageLnk.disabled {
    display:none;
}


.page-numbers {
    width:100%;
    float:left;
    text-align:center;
}

.select-link {
    display:inline-block;
    padding:5px 12px;
    font-size:10px;
    border:1px solid #ccc;
    border-radius:3px;
    letter-spacing:1px;
    text-transform:uppercase;
    color:#2f4050;
}

    .select-link:hover {
        border: 1px solid #2f4050;
        color:#000;
        background-color:#f7f7f7;
    }


.btn-new, button.btn-new, input[type="submit"].btn-new {
    background-color: #ce1c1c;
    color: #fff;
    padding: 10px 20px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 1px;
    border-radius: 5px;
    transition: color .2s ease-in-out, background-color .2s ease-in-out;
}


.btn-cancel, button.btn-cancel, input[type="submit"].btn-cancel {
    background-color: #eee;
    color: #777;
    padding: 10px 20px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 1px;
    border-radius: 5px;
    transition: color .2s ease-in-out, background-color .2s ease-in-out;
}


.btn-alt, button.btn-alt, input[type="submit"].btn-alt {
    background-color: #eee;
    color: #777;
    padding: 10px 20px;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 1px;
    border-radius: 5px;
    transition: color .2s ease-in-out, background-color .2s ease-in-out;
}


input[type="submit"].btn-new, button.btn-new, .btn-alt {
    margin-right:15px;
}

    .btn-new:hover, button.btn-new:hover, input[type="submit"].btn-new:hover {
        background-color: #2f4050;
        color: #fff;
    }

.dropzone {
    border-width:1px !important;
    float:left;
    width:100%;
}

.comment-item {
    
    padding-top:10px;
    padding-bottom:10px;
    
    width:100%;
    float:left;
}

    .comment-item .added span {
        display:inline-block;
        padding:10px;
    }

    .comment {
        padding: 30px;
        background-color: #e0e0ff;
        border: 1px solid #eee;
        color: #000;
        border-radius: 10px;
        float: left;
        min-width: 33%;
        
        
    }

        .comment p.dte {
            text-align:right;
            padding-top:10px;
            font-size:11px;
            color:#888;

        }

        .comment-item.your-comment {
            text-align: right;
        }

.comment-item.your-comment .comment {
    float: right;
    text-align:left;
    background-color:#ffe0e0;
    min-width: 33%;
}

.comment.header-item {
    
    background-color: #f7f7f7;
    
    min-width: 100%;
}

.comment.header-item p {
 padding-bottom:1em;
}

 

    .comment.header-item ol,
    .comment.header-item ul {
        margin: 0 30px 30px 30px;

    }
        

    .comment.header-item  li {
        padding: 3px 25px;
        list-style: circle;
    }

    .comment.header-item ol li {
        list-style: decimal;
    }



    .comment-details {
        width: 100%;
        float: left;
        display: flex;
        justify-content: space-between;
        padding-top: 10px;
        padding-bottom: 20px;
        font-size: 13px;
    }

    .comment-details p{
        font-weight:bold;
        color:#000;
                       }

    .comment-details strong {
        color:#2f4050;
        font-weight: 400;
    }

.comment-ttl {
    color:#2f4050;
    font-weight:bold;
    font-size:22px;
    border-bottom:1px solid #2f4050;
    margin-bottom:10px;
    padding-bottom:20px;
}

.comment-files {
    width:100%;
    float:left;
    padding-top:10px;
}

    .comment-files h4 {
        font-weight:bold;
        font-size:13px;
    }

    .comment-files ul {
        padding:10px 35px;
    }

        .comment-files ul li {
            font-size:12px;
            list-style-type:square;
            margin-bottom:3px;

        }

.passwordHolder {
    position:relative;
    width:100%;
    float:left;
}

    .passwordHolder a {
        position:absolute;
        z-index:1;
        top:0;
        right:0;
        padding:9px 10px 6px 10px;
        margin:1px;
        border-left:1px solid #ccc;
    }



        .passwordHolder img {
            max-width: 20px;
            opacity:0.7;
        }

    .passwordHolder a:hover {
        background-color: #f6f6f6;
    }

    .passwordHolder a:hover img{
        opacity:1;
    }