﻿ 
 /*for combase_predictor*/

/* ============================================
   ACCESSIBILITY - WCAG AA Compliance
   ============================================ */

/* Override link color for WCAG AA compliance (content area only)
   - Old color: #4f8edc (3.3:1 contrast - FAILS AA)
   - New color: #0964AA (5.1:1 contrast - PASSES AA) */

#page-content a,
#page-content a:visited {
    color: #0964AA !important;
}

    #page-content a:hover,
    #page-content a:focus {
        color: #064580 !important;
    }


/* Link styling accessibility: do not rely on color alone (WCAG 1.4.1) */
#page-content p a,
#page-content li a,
#page-content td a,
#page-content .info-note a,
#page-content h4 a[href*="Disclaimer"],
#page-content h4 a[href*="disclaimer"] {
    text-decoration: underline !important;
    text-underline-offset: 0.12em;
}

    #page-content p a:hover,
    #page-content p a:focus,
    #page-content li a:hover,
    #page-content li a:focus,
    #page-content td a:hover,
    #page-content td a:focus,
    #page-content .info-note a:hover,
    #page-content .info-note a:focus,
    #page-content h4 a[href*="Disclaimer"]:hover,
    #page-content h4 a[href*="Disclaimer"]:focus,
    #page-content h4 a[href*="disclaimer"]:hover,
    #page-content h4 a[href*="disclaimer"]:focus {
        text-decoration-thickness: 2px;
    }


#cb-dyn-pred a,
#naclAwSwitch a {
    text-decoration: underline !important;
    text-underline-offset: 0.12em;
}

/* Always underline Aw/NaCl toggle links on Predictor + Uncertainty pages */
#naclAwSwitch a.naclLink,
#naclAwSwitch a#lnkToAw,
#naclAwSwitch a#lnkToNaCl {
    text-decoration: underline !important;
    text-underline-offset: 0.12em;
}

/* Keep underline visible on interaction */
#naclAwSwitch a.naclLink:hover,
#naclAwSwitch a.naclLink:focus {
    text-decoration-thickness: 2px;
    }

/* Keep SearchDetails Aw/NaCl toggle size aligned with other parameter labels */
#naclAwSwitchF .naclLink {
    font-size: inherit;
}

/* Underline dynamic Aw/NaCl switch labels rendered as spans */
.dmSwitchBlock .dmSwitchOne,
.dmSwitchBlock .dmSwitchTwo {
    text-decoration: underline !important;
    text-underline-offset: 0.12em;
    white-space: nowrap;
}

/* Keep separator tight too */
.dmSwitchBlock > span {
    white-space: nowrap;
}

.divPredForm .titleswitch .dmSwitchBlock .dmSwitchOne,
.divPredForm .titleswitch .dmSwitchBlock .dmSwitchTwo {
    color: #595959;
    font-weight: 400;
    text-decoration: underline;
}

.divPredForm .titleswitch .dmSwitchBlock .colorBlue {
    color: #005ea8;
    font-weight: 700;
}

.divPredForm .titleswitch .dmSwitchBlock .colorGray {
    color: #595959;
    font-weight: 400;
}

.divPredForm .titleswitch .dmSwitchBlock .hoverBlue:hover,
.divPredForm .titleswitch .dmSwitchBlock .hoverBlue:focus {
    color: #005ea8;
    text-decoration-thickness: 2px;
}

#page-content a#plotCustomPoints,
#page-content a.accordion-title {
    text-decoration: underline !important;
    text-underline-offset: 0.12em;
}

    #page-content a#plotCustomPoints:hover,
    #page-content a#plotCustomPoints:focus,
    #page-content a.accordion-title:hover,
    #page-content a.accordion-title:focus {
        text-decoration-thickness: 2px;
    }

#page-content div a {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

/* Do not underline icon-only links in the Predictor chart toolbar */
#page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a,
#page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a:hover,
#page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a:focus {
    text-decoration: none !important;
}

    #page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a:focus-visible {
        outline: 2px solid #111111;
        outline-offset: 2px;
    }


/* High-contrast alert/cookie close button */
button.close.options[data-dismiss="alert"],
button.close.options[data-dismiss="alert"]:hover,
button.close.options[data-dismiss="alert"]:focus,
button.close.options[data-dismiss="alert"]:active {
    color: #000000 !important;
    opacity: 1 !important;
    text-shadow: none !important;
    background-color: transparent !important;
}

    button.close.options[data-dismiss="alert"]:focus-visible {
        outline: 2px solid #000000;
        outline-offset: 2px;
    }


/* Improve generated chart text contrast */
#page-content .flot-tick-label,
#page-content .axisLabels,
#page-content .xaxisLabel,
#page-content .yaxisLabel,
#page-content .y2axisLabel,
#page-content .legendLabel {
    color: #1f1f1f !important;
}

/* Ensure Predictor chart/help icon links have sufficient target size */
#page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a,
#page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a.dropdown-toggle,
#page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a[data-toggle="modal"],
#page-content #cb-dyn-pred #btnQuickHelp {
    align-items: center;
    display: inline-flex;
    justify-content: center;
    min-height: 32px;
    min-width: 32px;
    padding: 4px;
}

    #page-content .panel.gray1 .panel-heading .btn-group.hidden-xs > a + a {
        margin-left: 4px;
    }


/* Ensure generated Predictor parameter inputs meet minimum touch target size */
#page-content input.predInput.small {
    min-height: 24px;
    min-width: 44px;
    padding: 2px 4px;
}

/* Give stacked content links enough touch target size and spacing */
#page-content .touch-target-link-list {
    margin-top: 8px;
    padding-left: 24px;
}

    #page-content .touch-target-link-list li {
        margin-bottom: 8px;
    }

    #page-content .touch-target-link-list a {
        display: inline-block;
        min-height: 24px;
        padding-bottom: 2px;
        padding-top: 2px;
    }

/* Improve contrast for Handsontable headers and Flot chart legends */
#page-content .colHeader,
#page-content .legendLabel {
    color: #1f1f1f !important;
    font-weight: 700;
}

/* Keep generated table headers light, but ensure text has strong contrast */
#page-content th .colHeader {
    color: #1f1f1f !important;
    font-weight: 700;
}

/* Optional: ensure Handsontable header backgrounds stay light enough */
#page-content .handsontable th,
#page-content .handsontable .ht_clone_top th {
    background-color: #f5f5f5 !important;
}

/* ============================================
   END ACCESSIBILITY
   ============================================ */

.info-note {
    color: #000;
    margin: 0px 0px 8px 0px;
    font-size: 1em;
    font-weight: normal;
}

.dontDisplay {
   display: none;
 }





.btn.btn-default.btnComBaseActive,
.btn.btn-default.btnComBaseActive:hover,
.btn.btn-default.btnComBaseActive:focus,
.btn.btn-default.btnComBaseActive:active {
    color: #ffffff !important;
    background-color: #0964AA !important;
    border-color: #0964AA !important;
}

.panel.gray1 .panel-heading {
    background-color: transparent;
    color: #4d4d4d;
    border: 0;
    border-bottom: 1px solid #dddddd;
    padding-left: 10px;
}

.panel.gray1 .panel-body {
    border: 0;
}

.panel.gray1 .panel-heading .options .nav-tabs li a {
    border-top: 1px solid #d1d3d4;
    border-left: 1px solid #d1d3d4;
    border-right: 1px solid #d1d3d4;
}

.panel.gray1 .panel-heading .nav.nav-tabs > li a {
    color: #000000;
    background: #f7f7f7;
}

.curedColor:active {
    color: white;
    background-color: darkgrey;
}
.curedColor:focus {
    color: white;
    background-color: darkgrey;
}
 
.input-group-addon {
    background-color: white;
 }
 

 .table > tbody > tr > td {
    border-bottom: 1px solid #e6e7e8;
    border-top: 0;
 }

 
          

 .lnkBold {
    font-weight: bold;
 }

 .naclLink {
     font-size:larger;
              
 }

/* Keep Perfringens Aw/NaCl switch aligned with form heading size */
#naclAwSwitch .naclLink {
    font-size: inherit;
}

 .divRangeOfTemperatures{
     padding-bottom:6px;
     font-style:italic;
 }

 /* for search.aspx*/
 .sliderBorder {
      padding: 12px;
      border: 1px solid #dddddd;
      background-color: #fff;
}

.selectBox{
       background-color: #ecf1f8;
       border: 1px solid #dddddd;
}

.panel.gray .panel-heading {
      background-color:transparent;
}

/* search results */
.cbpagination a.disabled, .cbpagination a.disabled:hover, .cbpagination a.disabled:focus, .cbpagination a.disabled:active {
       background-color: #f3f3f3;
       color: #A8A8A8;
       cursor: default; 
}
.resultsTitle{
       margin: 0;
       padding: 20px 20px 0 20px;
       float: left;
       line-height: 30px;
       font-weight: 300;
}

.resultsCount {
       font-size: 24px; 
       padding-bottom:5px;
}

.recordTitle {
    margin: 0 0 20px;
    font-weight: bold;
    font-size: 18px;
    color: #0964AA;
}

 .table > thead > tr > th {
       padding-top:0;
 }

 .exportchk{
      float:left;
      vertical-align:middle;
      margin-top:5px;
      padding-right:3px;
 } 
 .search-result{
     padding-bottom:23px;
 }

/* searchDetails.aspx */
 .buttonNav {
      border: 1px solid #d2d3d6;
      color: #4f8edc;
      text-decoration: none;
      display: inline-block;
      padding: 5px 14px;
      background-color: #ffffff;
      border-radius: 1px;
}
.buttonNav:hover  { 
      background-color:#e9e9e9;
}

.diabledButtonNav{
      background-color:#a4a4a4;
}

.panel-heading .options > a {
      line-height:30px;
}

.panel-heading {
      background-color: #538CBF;
      color: #ffffff;
      font-size: medium;
 }

.panel-heading span {
       margin-left: 15px;
}
      
.detailsTitle{
       margin: 0 0 20px;
       font-weight: bold;
       font-size: 18px;
       color: #538CBF;
}
.accordion-group .accordion-item .accordion-body{
       padding:0;
}

h4 small{
       font-weight: bold;
       padding-left:4px;
       color: #808080;
}
        
     
/* perfringens predictor*/
.perfInputError{
       background-color: #b52929;
       color: white;
}     
       

/* combase_predictor*/
.shiftRight{
    margin-left: 140px;
   
}

.headingPred{
   
    height:34px;
}
        
/*Fixed*/
/*.max-layout {
 
  background: #ecf1f8; 

}

.max-layout header {
  max-width: 1366px;
 
  margin: 0 auto;
}
.max-layout #page-container {
  max-width: 1366px;
  
  margin: 0 auto;
}
.fixed-layout header .navbar-brand {
  display: block;
}*/
      
#page-container {
 max-width: 1500px;
}
             
.form-control {
    font-size:12px;
}

.cookieMsg {
    margin:0 15px 0 20px;
}

[class*="panel-"].panel .panel-heading .options .nav-tabs li a {

font-size: 12px!important;
}    
[class*="panel-"].panel .panel-body {
    padding: 20px 10px 10px 20px;
}  

.fa-spin { -webkit-filter: blur(0); }   

body{
    font-size: 12px;
}


@media (min-width: 1024px) {


.tempsPanel {
  width:144px; 
  float:left;
}
}

@media (max-width: 1024px){
    .tempsPanel {
    width:100%; 
}
}


  
    /*This will work for firefox*/
@-moz-document url-prefix() {
    .iconspinner {
        display:none !important;
    }
    .imagespinner{
        display:block !important;
    }
}


/* language buttons*/
.langBtn {
    background-color: transparent;
    border-bottom:0;
    border-top:0;
    border-right:0; /*//px solid #254a8a;*/
    border-left:0; /*0px solid #254a8a;*/
    color: #dddddd;


}
.langBtn:hover {
  
    color: white;


}

.langActive {
     color: rgba(255,255,255,1);
}


.backArrowReal {

    cursor: pointer;
     color:#2D78D5;
}

.nextArrowReal {
    cursor: pointer;
    color:#2D78D5;
}

.backArrowReal.disable {

    color: lightgray;
    cursor:default;
}
.nextArrowReal.disable {

    color: lightgray;
    cursor:default;
}

/* Default.aspx intro/title */
.default-intro-title {
    margin: 10px 0 20px 0;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.2;
    color: #2f3a4a;
}

#fav-introwrap .default-intro-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start; /* top-align image and right text */
}

#fav-introwrap .default-intro-image-wrap,
#fav-introwrap .default-intro-copy-wrap {
    padding-top: 15px;
}

#fav-introwrap .default-intro-image {
    max-width: 100%;
    height: auto;
}

@media (max-width: 991px) {
    #fav-introwrap .default-intro-row {
        display: block;
    }

    .default-intro-title {
        font-size: 26px;
    }
}

/* ============================================
   ACCESSIBILITY - GLOBAL CONTRAST OVERRIDES (append-only section)
   ============================================ */

/* 1) Improve low-contrast utility text */
.text-muted,
.help-block,
small,
.small {
    color: #5f6368 !important;
}

/* 2) Ensure links remain readable in themed text contexts */
a.text-primary,
a.text-info,
a.text-success,
a.text-warning,
a.text-danger {
    text-decoration: underline;
    text-underline-offset: 0.12em;
}

/* 3) Button contrast (legacy palette had multiple AA failures with white text) */
.btn-info,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active {
    background-color: #0f6f86 !important;
    border-color: #0f6f86 !important;
    color: #ffffff !important;
}

.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active {
    background-color: #3f7f1f !important;
    border-color: #3f7f1f !important;
    color: #ffffff !important;
}

.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
    background-color: #0964aa !important;
    border-color: #0964aa !important;
    color: #ffffff !important;
}

/* Yellow buttons must use dark text for contrast */
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active {
    background-color: #f1c40f !important;
    border-color: #c29d0b !important;
    color: #1f1f1f !important;
}

/* 4) Panel heading contrast */
.panel-primary .panel-heading {
    background-color: #0964aa !important;
    border-color: #0964aa !important;
    color: #ffffff !important;
}

.panel-info .panel-heading {
    background-color: #0f6f86 !important;
    border-color: #0f6f86 !important;
    color: #ffffff !important;
}

.panel-success .panel-heading {
    background-color: #3f7f1f !important;
    border-color: #3f7f1f !important;
    color: #ffffff !important;
}

.panel-warning .panel-heading {
    background-color: #f1c40f !important;
    border-color: #c29d0b !important;
    color: #1f1f1f !important;
}

    .panel-warning .panel-heading a,
    .panel-warning .panel-heading .options > a,
    .panel-warning .panel-heading .nav-tabs > li > a {
        color: #1f1f1f !important;
    }

/* 5) Alert contrast */
.alert-info {
    background-color: #e8f5f8 !important;
    border-color: #8cc7d4 !important;
    color: #0f4f61 !important;
}

.alert-success {
    background-color: #edf7e9 !important;
    border-color: #9bc88b !important;
    color: #2d5f1a !important;
}

.alert-warning {
    background-color: #fff6d8 !important;
    border-color: #e4c463 !important;
    color: #4a3b00 !important;
}

.alert-danger {
    background-color: #fff2f2 !important;
    border-color: #e89b9b !important;
    color: #7a1111 !important;
}

/* 6) Sidebar/menu contrast (steel theme) */
#sidebar ul,
#sidebar ul li a {
    color: #e9eef4 !important;
}

#sidebar i {
    color: #d7dee8 !important;
}

#sidebar a:hover,
#sidebar a:hover i {
    color: #ffffff !important;
}

#search form .search-query {
    color: #ffffff !important;
}

    #search form .search-query::placeholder,
    #search form .search-query::-webkit-input-placeholder,
    #search form .search-query::-moz-placeholder,
    #search form .search-query:-ms-input-placeholder {
        color: rgba(255, 255, 255, 0.82) !important;
    }

/* ============================================
   ACCESSIBILITY - ICON CONTRAST (non-text UI)
   ============================================ */

/* DMFit donation alert close button ("x") */
#donateDataMessageDiv .close,
#donateDataMessageDiv .close:hover,
#donateDataMessageDiv .close:focus {
    opacity: 1 !important;
    color: #6b5a1a !important; /* darker on pale yellow */
    text-shadow: none !important;
}

/* Keep panel heading action icons white in colored panel headers */
#page-content .panel-heading .options > a.panel-collapse,
#page-content .panel-heading .options > a.panel-collapse:visited,
#page-content .panel-heading .options > a.panel-collapse:hover,
#page-content .panel-heading .options > a.panel-collapse:focus {
    color: #ffffff !important;
    opacity: 1 !important;
}

    /* Ensure icon inherits white explicitly */
    #page-content .panel-heading .options > a.panel-collapse > i.fa {
        color: #ffffff !important;
    }

/* Predictor/Uncertainty panel action icons (collapse/close) */
.panel-indigo .panel-heading .options > a,
.panel-orange .panel-heading .options > a,
.panel-green .panel-heading .options > a,
.panel-primary .panel-heading .options > a,
.panel-grape .panel-heading .options > a {
    opacity: 1 !important;
    color: #ffffff !important;
}

    /* Keep strong visible focus for keyboard users */
    .panel-indigo .panel-heading .options > a:focus-visible,
    .panel-orange .panel-heading .options > a:focus-visible,
    .panel-green .panel-heading .options > a:focus-visible,
    .panel-primary .panel-heading .options > a:focus-visible,
    .panel-grape .panel-heading .options > a:focus-visible,
    #donateDataMessageDiv .close:focus-visible {
        outline: 2px solid #111111;
        outline-offset: 2px;
    }


/* ============================================
   END GLOBAL CONTRAST OVERRIDES
   ============================================ */