html {
    color : #777;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
}

@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;
  color : var(--default-font-color)
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}

:root {
    --pep-blue: #27519b;
    --pep-light-blue: #ecf1ff;
    --pep-yellow: #fed402;
    --default-font-color: #555;
    --lite-font-color: #555;
    --status-green: #228b22;
    --section-header: #777;
    --defaultControlsHeight: 39px;
    --default-border-lite: #aaa;
    --table-hover: #e6f8ff;
}

/* header styles */
.headerTitle
{
    color:#fff;
    font-size:27pt;    
}

.subHeaderTitle {
    color: #fff;
    font-size: 14pt;
}

.light 
{
    font-weight: 100;
}

.medium {
    font-weight: 450;
}

.heavy 
{
    font-weight: bold;
}

.pageHeader
{
    color : var(--default-font-color);
    font-size:27pt;
}

.supportingText {
    color: var(--lite-font-color);
    font-size: 12pt;
}

.supportingText.sm {
    font-size: 10pt;
}

.supportingText.xs {
    font-size: 8pt;
}

/* form */
.formPadding
{
    padding : 5px;
}

.formPadding.sm 
{
    padding: 1px;
}

.formContainerPadding
{
    padding-left:20px;
    padding-right:20px;
}


/* panels */
.PEPPanel 
{
    padding: 0px 0px 8px 0px;

    border: solid 1px #aaa;
    border-radius: 8px 8px 5px 5px;
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.1);
    overflow: clip;
}

.PEPPanelHeader 
{
    background-color: var(--pep-blue);
    color: #fff;
    font-size: 14pt;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    border-bottom: solid 5px var(--pep-yellow);
    padding: 5px;
}

.PEPPanelSection 
{
    margin: 30px 5px 10px 5px;
    border-radius: 5px;
    background-color: #ccc;
    color: #fff;
    padding: 5px;
    text-align: center;
}

.PEPSubPanel {
    background-color: var(--pep-light-blue);
    padding: 0px 0px 2px 0px;
    border: solid 1px #bbb;
    border-radius: 4px 4px 4px 4px;
    overflow: clip;
}

.PEPGroupSectionHeader {
    background-color: var(--section-header);
    color: #fff;
    font-size: 14pt;
    font-family: Arial, Helvetica, sans-serif;
    text-align: center;
    padding: 5px;
}

.PEPLightHalo {
    margin: 5px;
    background-color: #eee;
    border-radius: 5px;
    color: #fff;
    padding: 5px;
    text-align: center;
}

.PEPLightHalo:hover {
    background-color: var(--pep-blue);
    color: #fff !important;
}

/* buttons */
.PEPButton {
    color: #fff;
    background-color: var(--pep-blue);
}

.PEPButton.Default 
{
    border-bottom: solid 5px var(--pep-yellow);
    min-width: 120px;
}

.PEPButton:hover
{
    background-color: var(--pep-yellow);
}



/* validation */
.PEPValidationLabel /* hidden by default*/
{
    display: none;
    border-radius: 5px;
    color: #fff;
    background-color: orangered;
    font-size: 12pt;
    padding: 2px;
    padding-left: 9px;
    padding-right: 9px;
    margin-top: 3px;
}

.PEPSummaryValidationLabel {
    border-radius: 10px;
    background-image: url(/images/icon-warning-medium.png);
    background-repeat: no-repeat;
    background-position-y: center;
    padding-left: 50px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin: 0px 0px 15px 0px;
}

.PEPSummarySuccessLabel {
    border-radius: 10px;
    background-color: #228b22;
    background-image: url(/images/icon-tick-white-medium.png);
    background-repeat: no-repeat;
    background-position-y: center;
    padding-left: 50px;
    margin: 0px 0px 15px 0px;
}

.PEPStatus 
{
    display: none;

    font-size: 12pt;
    color : #fff;
    height:30px;

    padding: 2px;
    padding-left: 9px;
    padding-right: 9px;

    border-radius: 5px;    
    padding-left: 35px;
    margin: 5px 0px 5px 0px;
}

.PEPStatus.OK
{
    background-image: url(/images/icon-ok-small.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: 5px;
    background-color: forestgreen;
}

.PEPStatus.Warning
{
    background-image: url(/images/icon-warning-small.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: 5px;
    background-color: orange;
}

/* grid */
.div-table
{
    display:table;
    width : 100%;
}

.row-header 
{
    text-align: center;
    font-weight: bold;
}

.div-table-row
{
    display:table-row;
}

.div-table-cell 
{
    display: table-cell;
    border: 1px solid #ccc; /* Optional: Add borders for visual separation */
    padding: 8px; /* Optional: Add padding */
}

/* default size unified control */
.unifiedControl {
    border: 1px solid var(--default-border-lite);
    border-radius: 5px;
}

.unifiedEntry 
{
    border: 0px;
}

.cell-unifiedControl 
{
    border: 0px;
    padding: 3px;
    width: 100%;
}

.cell-unifiedControlIcon 
{
    border: 0px;
    padding: -3px;
    cursor : help;
}

.unified-icon-alert-passive 
{
    background-image: url(/images/icon-control-alert-passive.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: center;
    width: 27px;
    height: 27px;
}

.unified-icon-alert-active
{
    background-image: url(/images/icon-control-alert.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: center;
    width: 27px;
    height: 27px;
}

/* small unified control size */

.div-table-cell-sm
{
    display: table-cell;
    border: 0px solid #ccc; /* Optional: Add borders for visual separation */
    padding: 1px; /* Optional: Add padding */
}

.unifiedControl-sm {
    border: 1px solid var(--default-border-lite);
    border-radius: 3px;
}


.cell-unifiedControl-sm 
{
    border: 0px;
    padding: 0px;
    width: 100%;
}

.cell-unifiedControlIcon-sm
{
    border: 0px;
    padding: 0px;
    cursor: help;
}

.unified-icon-alert-sm-passive 
{
    background-image: url(/images/icon-control-alert-passive.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: center;
    width: 20px;
    height: 20px;
}

.unified-icon-alert-sm-active
{
    background-image: url(/images/icon-control-alert.png);
    background-repeat: no-repeat;
    background-position-y: center;
    background-position-x: center;
    width: 20px;
    height: 20px;
}

.grid-table
{
    width : 100%;
    border-collapse: collapse;
}

.grid-header
{
    color:#555;
    font-size: 11pt;
    font-weight: normal;
    text-align : center;

    background-color: #eee;

    border: 1px solid #555;
}

.grid-cell
{
    border: 1px solid #ccc; /* Adds a 1px solid black border to all cells */
    padding: 0px; /* Optional: Adds some spacing inside the cells */
    text-align: left; /* Optional: Aligns text to the left */
}

.gridInput
{
    border : none;
    width : none;
    font-size: 10pt;
}

.tableHeader 
{
    background-color: var(--pep-blue) !important;
    color: #fff !important;
}

.tableCell
{
    color: #555 !important;
    font-size: 10pt;
}

.tableSummary {
    background-color: #777 !important;
    color: #fff !important;
    font-weight: bold;
}

.subTableHeader 
{
    background-color: #777 !important;
    color: #fff !important;

    font-weight:normal;
    font-size:8pt;
}

.subTableCell 
{
    color: #888 !important;
    font-size: 8pt;
}


/* drop down search */
.dropDowndefault 
{
    height: var(--defaultControlsHeight);
}

/* common */
.hidden
{
    display:none;
}

.visible 
{
    display: block;
}

.seperator
{
    height : 25px;
}

.leftAlign
{
    text-align: left;
}

.centreAlign 
{
    text-align: center;
}

.requiredIndicator 
{
    font-size: 14pt;
    color: #f00;
    opacity:0.3;
}

.pepEmphasis
{
    color: var(--pep-blue);
    font-weight:bold;
}

.monospace 
{
    font-family: monospace;
}

.actionExpand {
    background-image: url(/images/icon-expand.png);
    width:26px;
    height:26px;
    cursor:pointer;
}

.actionCollapse {
    background-image: url(/images/icon-collapse.png);
    width: 26px;
    height: 26px;
    cursor: pointer;
}

.actionExpand-sm {
    background-image: url(/images/icon-expand-small.png);
    width: 17px;
    height: 17px;
    cursor: pointer;
}

.actionCollapse-sm {
    background-image: url(/images/icon-collapse-small.png);
    width: 17px;
    height: 17px;
    cursor: pointer;
}

.circle-point {
    /* Define the size of the circle */
    width: 40px;
    height: 40px;
    /* Make it circular */
    border-radius: 50%;
    /* Add a border (optional) */
    border: 2px solid #fff;
    /* Center the number horizontally and vertically */
    display: flex;
    justify-content: center;
    align-items: center;
    /* Style the number */
    font-size: 1.2em;
    font-weight: bold;
    color: #fff;
    /* Optional: Add a background color */
    background-color: var(--status-green);
}

.flex-container {
    display: flex;
    /* Optional: Add space between items */
    gap: 20px;
}

.item {
    /* Optional: Set a width or let flex-grow handle it */
    width: 30%;
    padding: 10px;
    border: 1px solid black;
}

.table-hover tbody tr:hover td, .table-hover tbody tr:hover th {
    background-color: var(--table-hover);
}



