/* CW4 2026 */

/* Fonts sourced from FontSquirrel */
@font-face{
    font-family: 'Source Sans Pro';
    src: url('../fonts/SourceSansPro-Regular-webfont.eot');
    src: url('../fonts/SourceSansPro-Regular-webfont.eot?iefix') format('eot'),
        url('../fonts/SourceSansPro-Regular-webfont.woff2') format('woff2'),
        url('../fonts/SourceSansPro-Regular-webfont.woff') format('woff'),
        url('../fonts/SourceSansPro-Regular-webfont.ttf') format('truetype'),
        url('../fonts/SourceSansPro-Regular-webfont.svg#webfont') format('svg');
}

/* Google Material Design fonts */ 

@font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/MaterialIcons-Regular.eot'); /* For IE6-8 */
    src: local('Material Icons'),
        local('MaterialIcons-Regular'),
        url('../fonts/MaterialIcons-Regular.woff2') format('woff2'),
        url('../fonts/MaterialIcons-Regular.woff') format('woff'),
        url('../fonts/MaterialIcons-Regular.ttf') format('truetype');
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;  /* Preferred icon size */
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;

    /* Support for all WebKit browsers. */
    -webkit-font-smoothing: antialiased;
    /* Support for Safari and Chrome. */
    text-rendering: optimizeLegibility;

    /* Support for Firefox. */
    -moz-osx-font-smoothing: grayscale;

    /* Support for IE. */
    font-feature-settings: 'liga';
}

/* Rules for sizing the icon. */
.material-icons.md-14 { font-size: 14px; }
.material-icons.md-18 { font-size: 18px; }
.material-icons.md-24 { font-size: 24px; }
.material-icons.md-36 { font-size: 36px; }
.material-icons.md-48 { font-size: 48px; }

/* Rules for using icons as black on a light background. */
.material-icons.md-dark { color: rgba(0, 0, 0, 0.54); }
.material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); }

/* Rules for using icons as white on a dark background. */
.material-icons.md-light { color: rgba(255, 255, 255, 1); }
.material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); }

/* end of Material Design CSS */

.btn-group > .btn {
    border-radius: 5;
}

.ps-btn {
    margin-top:5px;
    margin-right:8px;
}
.ps-btn-s {
    margin-top:5px;
    margin-bottom: 5px;
    margin-right:5px;
}

.ps-nav {
    margin-bottom:0px;
}

.ps-navbar {
    background-color:#004494;
}

.well-sm {
    border-radius: 5;
}

.main-container {
    margin-bottom: 30px;
}

.main-footer {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #0257AA;
    padding: 10px;
    margin-left: 0px;
    z-index: 1000;
}

.ps-wysiwyg{
    height: 300px;
    overflow:  scroll;
    background-color: #ffffff;
}

.ps-body {
    background-color: #c5e2fd;
}

.ps-header {
    /* background-color: #fbcf0f; [ORIG]*/
    background-color: #c5e2fd;
    height: 35px;
    padding-right: 15px;
}
.ps-brand {
    font-family: Verdana;
    font-weight: 600;
    font-size: 1.3em;
    /*color: #67B1F8;*/
    color: #ffffff;
}

.ps-brand:hover{
    text-decoration: none;
    color:  #753C75;
}
.ps-pagebanner {
    margin: auto;
    text-align: center;
}
.ps-form {
    margin-top: 5px;
}

.ps-glyph {
    padding-right: 5px;
}
.ps-mdtx {
    display: inline-flex;
    vertical-align: middle;
}

.ps-md {
    padding-right: 4px;
}

.ps-class-icon {
    padding-top: 0px;
    float: left;
}
.ps-subtext {
    display: block;
    font-style: italic;
    font-weight: 0.2em;
    color: #ababab;
}

.ps-form-summary {
    margin-left:15px;
    margin-right:15px;
}

.ps-well {
    padding-top: 10px;
    padding-left: 10px;
    padding-right: 10px;
}

h4 {
    margin-top: 5px;
    margin-bottom: 3px;
}

.ps-mobile-btn-group {
    padding: 10px;
}

.ps-color-red {
    color: #d9534f;
}
.ps-color-blue {
    color: #c7ddef
}
.ps-color-green {
    color: #c9e2b3
}
.ps-color-orange {
    color: #ff8e38;
}
.ps-color-yellow {
    color: #f5e79e;
}

.ps-info-block {
    background-color: #eeeeee;
    padding: 10px;
    -moz-border-radius: 8px;
    -webkit-border-radius: 8px;
    border-radius: 8px;
    opacity:0.5;
}

.ps-field-info {
    font-size: 0.85em;
    font-style: italic;
    font-weight: lighter;
    color: #ababab;
    margin-left: 5px;

}

.ps-form-button {
    margin-bottom: 5px;
}

.ps-create {
    text-align: center;
    padding: 40px;
    cursor: pointer;
}

.ps-profile {
    color: #173535;
    font-size: 1.2em;    
    font-weight: 600;
}

.ps-warning {
    font-size: 1.5em;
    font-weight: 600;
    color: #aa0000;
}

/* Styles to depict object classes */
.ps-cls-sysuser {
    color: #7d6199
}
.ps-cls-party {
    color: #cb9cd4
}
.ps-cls-document {
    color: #1684ca
}
.ps-cls-ticket {
    color: #ff8e38
}
.ps-cls-opportunity {
    color: #70018b
}
.ps-cls-note {
    color: #008080
}
.ps-cls-task {
    color: #ff4c4c
}
.ps-cls-email {
    color: #a4d11b
}
.ps-cls-user {
    color: #3d3db5
}
.ps-cls-organisation {
    color: #759fcd
}
.ps-cls-project {
    color: #ffc0cb
}
.ps-cls-event {
    color: #ff8000
}
.ps-cls-group {
    color: #ff8000
}
.ps-cls-venue {
    color: #298a08
}
.ps-cls-sms {
    color: #a4d11b
}
.ps-cls-lookup {
    color: #800080
}
.ps-cls-forms {
    color: #0EF6E3
}
.ps-cls-projecttask{
    color: #ffc0cb
}
.ps-cls-timesheet{
    color: #ff8eff
}
.ps-cls-campaign{
    color: #a4d11b
}
.ps-cls-clubmember{
    color: #f8007c
}
.ps-cls-vehicle{
    color: #cc0000
}
.ps-cls-policydocument{
    color: #52a691
}
.ps-cls-crew{
    color: coral;
}
.ps-cls-supplier{
    color: #385b9f;
}
.ps-cls-product{
    color: #2f8f75;
}
.ps-cls-workorder{
    color: #ef6d38;
}
.ps-cls-table{
    color: #ffb60b;
}
.ps-cls-restaurantbooking{
    color: #ff9797;
}
.ps-cls-menu{
    color: #9797ff;
}
.ps-cls-menuitem{
    color: #0abcde;
}
.ps-cls-weekstatistics {
    color: #a4d11b
}
.ps-cls-batch{
    color: #bc0ade;
}
.ps-cls-batchitem{
    color: #bc0ade;
}
.ps-cls-recipe{
    color: #bcbcde;
}
.ps-cls-formulation{
    color: #bcbcde;
}
.ps-cls-purchaseitem{
    color: #77bfa3;
}
.ps-cls-clubguest{
    color: #bbbbbb;
}
.ps-cls-networkclient{
    color: #9FB974;
}
.ps-cls-networkproduct{
    color: #5E9405;
}
.ps-cls-networkpurchase{
    color: #6E8941;
}
.ps-cls-processflow{
    color: #5E9405;
}
.ps-cls-processstep{
    color: #5E9405;
}
.ps-cls-process{
    color: #772F93;
}
.ps-cls-repeater{
    color: #66ccff
}
.ps-cls-list{
    color: #cccc00
}
.ps-cls-checklist{
    color: #128c32;
}
.ps-cls-checklistquestion{
    color: #128c32;
}
.ps-cls-accessprofile{
    color: #ff6600;
}
.ps-cls-token{
    color: #cc6699;
}
.ps-cls-insured{
    color: #128c32;
}
.ps-cls-policy{
    color: #cc6699;
}
.ps-cls-claim{
    color: #ff4c4c;
}
.ps-cls-dashboard{
    color: #cd00ff;
}
.ps-cls-purchaseorder{
    color: #00ffc8;
}
/* Membership related styles */

.ps-portlet-stat {
    font-size: 2em;
    color: black;
}
.ps-portlet-selected {
    border-color: #333;
    border-width: 3px;
}

.ps-portlet-active {
    color: #555;
    background-color: #4cae4c;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}

.ps-portlet-lapsed {
    color: #555;
    background-color: #fe92bc;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}

.ps-portlet-expired {
    color: #555;
    background-color: #bcbc92;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}

.ps-portlet-visitor {
    color: #555;
    background-color: #8efdc0;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}
.ps-portlet-prospective {
    color: #555;
    background-color: #deb9a7;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}
.ps-portlet-waitinglist {
    color: #555;
    background-color: #fdc08e;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}
.ps-portlet-staff {
    color: #555;
    background-color: #9797ff;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}
.ps-portlet-supplier {
    color: #555;
    background-color: #8efdc0;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}
.ps-portlet-comp {
    color: #555;
    background-color: #fd8ec0;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}

.ps-portlet-previous {
    color: #555;
    background-color: #ddeeaa;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}
.ps-portlet-archive {
    color: #555;
    background-color: #eeeeee;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}

.ps-portlet-total {
    color: #555;
    background-color: #2BAADF;
    font-size: 0.9em;
    text-align: center;
    padding: 7px;
}

/* Styles to depict relationships between objects */
.ps-rel-contact {
    background-color: #c7ddef
}
.ps-rel-client {
    background-color: #c9e2b3
}
.ps-rel-candidate {
    background-color: #f5e79e;
}
.ps-rel-dependency {
    background-color: #ff8e38;
}

/* MatGrid styles */

.ps-mg {
    border-collapse: collapse;
}

.ps-mg thead th {
    border: 1px solid #67B1F8;
    background-color: #3A9CFA;
    padding-left: 5px;
    padding-right: 5px;
    padding-bottom: 5px;
}

.ps-mg tbody td {
    border: 1px solid #67B1F8;
    padding-left: 5px;
    padding-right: 5px;
}

.ps-mg tr:nth-child(even) {
    background-color: #e2f1ff;
}

.ps-sort-inactive {
    color: #777;
    padding-top:2px;
}
.ps-sort-active {
    color: #0044cc;
    padding-top:2px;
}

/* report tables */
.ps-report table {
    color: #333;
    font-family: Helvetica, Arial, sans-serif;
    width: 640px;
    border-collapse:collapse;
    border-spacing: 0;
}

.ps-report td, th {
    border: 1px solid transparent; /* No more visible border */
    height: 30px;
    transition: all 0.3s; /* Simple transition for hover effect */
}

.ps-report-left td{
    text-align: left;
}

.ps-report th {
    background: #DFDFDF; /* Darken header a bit */
    font-weight: bold;
    text-align: right;
    padding-right: 5px;
    padding-left: 10px;
}

.ps-report td {
    background: #FAFAFA;
    text-align: right;
    padding-right: 5px;
}

/* Cells in even rows (2,4,6...) are one color */
.ps-report tr:nth-child(even) td { background: #F1F1F1; }

/* Cells in odd rows (1,3,5...) are another (excludes header cells) */
.ps-report tr:nth-child(odd) td { background: #FEFEFE; }


/* General "config" tables */

.ps-tbl {
    border-collapse: collapse;
    padding: 10px;
    width: 100%;
    color: #008080;
}
.ps-tbl td {
    border: 1px solid black;
    padding: 10px;
    color: #008080;
}

.ps-tbl th {
    color: #008080;
    background-color: #dddddd;
    border: 1px solid black;
    padding: 10px;
}

.ps-tbl-green {
    fill: green;
}
.ps-tbl-red {
    fill: red;
}

/* Table layout with fixed header row (body scrolls) */

.ps-rpt table {
    color: #333;
    font-family: Helvetica, Arial, sans-serif;
    width: 640px;
    border-collapse:collapse;
    border-spacing: 0;
}

.dtl, .dtl td {
    height: 10px;
    line-height: 1;
}

/* Cells in even rows (2,4,6...) are one color */
.ps-rpt tr.dtl:nth-child(even) td {
    background: #F1F1F1; }

/* Cells in odd rows (1,3,5...) are another (excludes header cells) */
.ps-rpt tr.dtl:nth-child(odd) td {
    background: #FEFEFE; }

section {
    position: relative;
    border: 1px solid #000;
    padding-top: 37px;
    background: #ccccee;
    color: black
}
section.positioned {
    position: absolute;
    top:100px;
    left:100px;
    width:800px;
    box-shadow: 0 0 15px #333;
}
.ps-rptcontainer {
    overflow-y: auto;
    height: 700px;
}
.ps-rpt {
    border-spacing: 0;
    width:100%;
}
.ps-rpt td + ps-rpt td {
    border-left:1px solid #eee;
}
.ps-rpt td, .ps-rpt th {
    border-bottom:1px solid #eee;
    background: #ddd;
    color: #000;
    padding: 10px 25px;
}
.ps-rpt th {
    height: 0;
    line-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    color: transparent;
    border: none;
    white-space: nowrap;
}
.ps-rpt th div{
    position: absolute;
    background: transparent;
    color: #fff;
    text-align: right;
    padding: 9px 25px;
    top: 0;
    margin-left: -25px;
    line-height: normal;

}
.ps-rpt th:first-child div{
    border: none;
}

.ps-rpt tr.hdr
{
    cursor:pointer;

}

.ps-rpt .hdr td {
    color: #0044cc;
    font-weight: bold;
}


/* resource allocation tables */
.ps-rsrc {
    background-color: #bcbc92;
    font-family: Helvetica, Arial, sans-serif;
    width: 100%;
    border-collapse:collapse;
    border-spacing: 0;
}

.ps-rsrc td, .ps-rsrc th {
    height: 30px;
    transition: all 0.3s; /* Simple transition for hover effect */
    background-color: #0c0;
}

.ps-rsrc td {
    text-align: left;
    padding-right: 5px;
    padding-left: 10px;
    border-bottom: 2px #bcbc92;
}

.ps-candrop {
    background-color: #0EF6E3;
}

.drop-active {
    background-color: #ffb60b;
}
.drop-target {
    background-color: #00ff00;
}

/* Campaign modal */

#modalExecuteCampaign .modal-content {
    background-color: #9ed4d4;  
    padding: 15px;
}

#modalExecuteCampaign .footer {
    margin-top: 20px;
    margin-right: 10px;
}

#modalExecuteCampaign #txtOrderNotes {
    width:100%;
    padding:20px;
}

.modalImg  {
    width: 50%;
    display: block;
    margin: 0 auto;
    margin-bottom: 20px;
}

.ps-btn-modal {
    margin-left: 20px;
}

.spnTitle {
    font-size: 2em;
    font-weight: 600; 
}
.spnCampaignInfo {
    font-size: 1.25em;
    font-weight: 600;
}


/* Timesheet data entry grid */

.ps-timesheet {
    width:100%;
    border: 1px solid black;
    border-collapse: collapse;
    font-family: sans-serif;
    font-size: 0.75em;
}
.ps-timesheet td {
    border: 1px solid black;
    white-space: nowrap;
    padding: 2px;
}
.ps-timesheet-center {
    text-align: center;
}

.ps-timesheet td input {
    width:100%;
}

.ps-timesheet th {
    font-weight: 600;
    background-color: #2BAADF;
    border: 1px solid black;
    padding: 2px;
}

/* Invoice data entry grid */

.ps-invoice {
    width:100%;
    border: 1px solid black;
    border-collapse: collapse;
    font-family: sans-serif;
    font-size: 0.75em;
}
.ps-invoice td {
    border: 1px solid black;
    white-space: nowrap;
    padding: 2px;
    vertical-align: top;
}
.ps-invoice-center {
    text-align: center;
}

.ps-invoice td input {
    width:100%;
}

.ps-invoice th {
    font-weight: 600;
    background-color: #2BAADF;
    border: 1px solid black;
    padding: 2px;
}



/* File upload widget related styles */

#filedrag
{
    display: none;
    font-weight: bold;
    text-align: center;
    padding: 1em 0;
    margin: 1em 0;
    color: #555;
    border: 2px dashed #555;
    border-radius: 7px;
    cursor: default;
}

#filedrag.hover
{
    color: #f00;
    border-color: #f00;
    border-style: solid;
    box-shadow: inset 0 3px 4px #888;
}

#messages
{
    padding: 0 10px;
    margin: 1em 0;
    border: 1px solid #999;
}

#progress p
{
    display: block;
    width: 240px;
    padding: 2px 5px;
    margin: 2px 0;
    border: 1px inset #446;
    border-radius: 5px;
    background: #eee url("../img/progress.png") 100% 0 repeat-y;
}

#progress p.success
{
    background: #0c0 none 0 0 no-repeat;
}

#progress p.failed
{
    background: #c00 none 0 0 no-repeat;
}


#filedrag2
{
    display: none;
    font-weight: bold;
    text-align: center;
    padding: 1em 0;
    margin: 1em 0;
    color: #555;
    border: 2px dashed #555;
    border-radius: 7px;
    cursor: default;
}

#filedrag2.hover
{
    color: #f00;
    border-color: #f00;
    border-style: solid;
    box-shadow: inset 0 3px 4px #888;
}

#messages2
{
    padding: 0 10px;
    margin: 1em 0;
    border: 1px solid #999;
}

#progress2 p
{
    display: block;
    width: 240px;
    padding: 2px 5px;
    margin: 2px 0;
    border: 1px inset #446;
    border-radius: 5px;
    background: #eee url("../img/progress.png") 100% 0 repeat-y;
}

#progress2 p.success
{
    background: #0c0 none 0 0 no-repeat;
}

#progress2 p.failed
{
    background: #c00 none 0 0 no-repeat;
}

@media (min-width: 220px) and (max-width:380px) {
    .container-fluid{
        padding:0 0;
    }
    .col-xs-12 {
        padding:0 0;
    }
}

/* Generic Co-Worker Online modal */

.nemi-modal .modal-content {
    background-color: #9ed4d4;
    padding: 15px;
    font-size: 1.0em;
}

.nemi-modal .modal-header {
    background-color: #9ed4d4;
    font-size: 1.5em;
}

.nemi-modal .footer {
    margin-top: 20px;
}

/* Dashboard */ 

.app-card-r {
    background-color: #ff6666
}
.app-card-a {
    background-color: #ffcc99
}
.app-card-g {
    background-color: #99ff00
}
.app-card-n {
    background-color: #99ccff
}

.app-dashlet-h {
    font-size: 1.3em;
    font-weight: bold;
    color: black;
}
.app-dashlet-f {
    text-align:center;
    font-size: 2em;
    color: #096ca2;
    padding-top: 0px;
}


/* Print only styles */

@media print{
    .print-hide{
        display:none;
    }
}

/* Bootstrap style overrides */

.is-mandatory {
    background-color: #fffde7; /* Very light yellow */
    border-left: 4px solid #ffd600; /* A "gold" left-edge accent */
}

/* 1. Highlight invalid fields with a yellow background */
.was-validated .form-control:invalid {
    background-color: #fff9c4 !important; /* A soft canary yellow */
    border-color: #f44336; /* Keeping a subtle red border helps accessibility */
}

/* 2. Optional: Adjust the input-group-text (the icon box) to match */
.was-validated .input-group-text:has(+ .form-control:invalid) {
    border-color: #f44336;
}

.btn-primary {
    background-color: #0056b3; 
    border-color: #0056b3;
}
.btn-primary:hover {
    background-color: #004494;
}

