/*                                                                         PPPP                                      
        ..PPP..        :P:      .;PP      .PPP.     d        .PPP.         PPPP   .PPP.             .PPP..          
     :PPPPPPPPPP;     PPPPP   PPPPPP  .PPPPPPPPPPPPPP     PPPPPPPPPPP;     PPPP.PPPPPPPPP;       ;PPPPPPPPPPP        
   :PPPPP    PPPPP;    ...  .PPPP:   PPPPP,   .PPPPPP   PPPPP:   .PPPPP    PPPPPP.   .PPPPP,   .PPPP:    PPPPP;      
  ,PPPP        ;PPP;  :PPP  PPPP    PPPP         PPPP  ;PPP:        PPPP   PPPP         PPPP,  PPPP        :PPP;     
  PPPP          PPPP  :PPP  PPPP    PPP:  d      ,PPP  PPPP          PPP;  PPPP          PPPP  PPP:         PPPP     
  PPPP          PPPP  :PPP  PPPP    PPPP         PPPP  PPPP          PPPP  PPPP          PPPP  PPP:         PPPP     
  PPPP        .PPPP   :PPP  PPPP    iPPPP       PPPPP  PPPP          PPPP  PPPP          PPPP  :PPP:        PPPP     
  PPPP PPPPPPPPPPP    :PPP  PPPP     .PPPPPPPPPPPPPPP  PPPP          PPPP  PPPP          PPPP   :PPPPPPPPPP PPPP     
  PPPP PPPPPPPP       :PPP  PPPP        PPPPPPPPP   P  PPPP          PPPP  PPPP          PPPP      PPPPPPPP PPPP     
  PPPP
  
  https://www.piranhadesigns.com/

====================================================================
BASE AREA STYLES
================================================================= */

:root {
  --animate-delay: 0.5s !important;
}

:root { 
--bs-dark-rgb: rgb(36 31 33);
--text-danger: rgb(185 62 62);
    --main-cream-color: #F9F5F1;
--light-cream-color: #F9F5F0;
    --dark-cream-color: #F2EBE4;
    --main-text-color: #151515;
    --bs-border-color: #E9E4E0;
    --bs-dropdown-link-hover-color: #151515;;
--bs-link-color: #151515;
--bs-link-color-rgb: 36,31,33;
--bs-link-hover-color: #3a3a3a;
--bs-link-hover-color-rgb: 58,58,58;
--bs-emphasis-color: #151515;
--bs-border-color-translucent: rgba(0, 0, 0, 0.1);
--bs-secondary-color: rgba(33, 37, 41, 0.5);
 }

[class^="bi-"]::before, [class*=" bi-"]::before { line-height: 1.2 !important; }

.z-index-1 { z-index: 1; }
.z-index-2 { z-index: 2; }

.bg-blur { -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }

.text-muted { color: rgb(0 0 0 / 56%) !important; }
.text-danger { color: var(--text-danger) !important; }


.inter-san-serif {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  font-variation-settings: 'opsz' 24;
}

.playfair-display-serif {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}


body { background: var(--main-cream-color); color: var(--main-text-color); font-family: 'Inter','HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-size: 0.9rem; font-style: normal; font-weight: 400; font-optical-sizing: auto; font-variation-settings: 'opsz' 24; -webkit-font-smoothing: antialiased; }
h1, .h1 { font-size: 3.8rem; }
h2, .h2 { font-size: 3.3rem; }
h3, .h3 { font-size: 2.1rem; }
h4, .h4 { font-size: 1.3rem; line-height: 1.4; }
h5, .h5 { font-size: 1.15rem; }
h6, .h6 { font-size: 1.15rem; }

.serif p, p.serif { font-family: "Playfair Display", serif; }
.serif p a, p.serif a { line-height: 1; font-family: 'Inter','HelveticaNeue','Helvetica Neue',Helvetica,Arial,sans-serif; font-style: normal; font-weight: 400; font-optical-sizing: auto; font-variation-settings: 'opsz' 24; }
.serif { font-family: "Playfair Display", serif; }

.fw-semi-bold { font-weight: 600; }
.fw-med-bold { font-weight: 500; }

.text-success { color: #6DA34E !important; }

/* =================================================================
FANCYBOX
================================================================= */
.f-html { border-radius: 20px; max-width: 500px; }

.f-video .f-html { height: auto; max-width: 1280px; max-height: 720px; border-radius: 12px; padding: 0; background-color: #000; }
.f-video .f-html .f-iframe { border-radius: 12px; }

/* =================================================================
FORMS
================================================================= */


.form-control:focus {
    color: var(--bs-body-color);
    background-color: var(--bs-body-bg);
    border-color: #e0d8c8;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgb(224 216 200 / 40%);
}

.form-select:focus {
    border-color: #e0d8c8;
    outline: 0;
    box-shadow: 0 0 0 .25rem rgb(224 216 200 / 40%);
}

.form-control { padding: 0.7rem 1rem 0.7rem; font-size: 0.965rem; font-weight:500;  }
.input-group .btn { padding-top: 0.475rem; }

.form-control::placeholder { font-weight: 400; }
::placeholder { font-weight: 400; }

label { margin-bottom: 3px; font-size: 0.965rem; color: #333; }
.form-group { margin: 10px 0; }
textarea { min-height: 125px; }

/*CHECKBOXES*/
.form-check { position: relative; cursor: pointer; padding: 0; }
.form-check label { font-size: 0.9rem; cursor: pointer; padding: 15px 15px 15px 0; }
.form-check .form-check-input { cursor: pointer; top: 1.5px; position: relative; width: 1.5em; height: 1.5em; border: 1px solid #333; margin: 15px 0 15px 15px; }
.form-check .form-check-input:checked { background-color:var(--main-text-color); border-color: var(--main-text-color); }
.form-check label:before { content: ''; position: absolute; top:-1px; bottom:-1px; left:-1px; right:-1px; border: 1px solid #E6E0DA; border-radius: 9px; cursor: pointer; z-index: -1; }
.form-check .form-check-input:checked + label:before { border: 1px solid var(--main-text-color); }
.form-check-input:focus {border-color: #838383; box-shadow: 0 0 0 .25rem rgb(98 98 98 / 25%); }

.form-radio { padding: 0; position: relative; cursor: pointer; }
.form-radio label { font-size: 0.9rem; cursor: pointer; padding: 0; min-height: 54px; margin: 0; }
.form-radio label a, .form-radio label span { position: relative; padding: 15px 15px 15px 55px; text-decoration: none; border: 0px solid transparent; }
.form-radio .form-check-input { position: absolute; top: 0; left: 0; cursor: pointer; width: 1.5em; height: 1.5em; border: 1px solid #333; margin: 15px 0 15px 15px; }
.form-radio .form-check-input:checked { background-color:var(--main-text-color); border-color: var(--main-text-color); }
.form-radio label:before { content: ''; position: absolute; top:-1px; bottom:-1px; left:-1px; right:-1px; border: 1px solid #E6E0DA; border-radius: 9px; cursor: pointer; z-index: -1; }
.form-radio .form-check-input:checked + label:before, .form-radio label:focus:before, .form-radio label:active:before { border: 1px solid var(--main-text-color); border-radius: 9px; }
.form-radio label a:focus, .form-radio label a:active { border: 0px transparent; border-radius: 9px; }
.form-radio:focus {border-color: #838383; box-shadow: 0 0 0 .25rem rgb(98 98 98 / 25%); }

.check-plain.form-check .form-check-input { margin-left: 0; }
.check-plain label { padding-right: 0; }
.check-plain label:before { display: none; }

/*.form-radio .form-check-input {
    top: 1.5px;
    position: relative;
    width: 1.5em;
    height: 1.5em;
    border: 1px solid #333;
    border-radius: 50%;
}
.form-radio .form-check-input:checked {
    background-color: var(--main-text-color);
    border-color: var(--main-text-color);
}

.form-check-input:checked[type=radio] {
    --bs-form-check-bg-image: url(data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e);
}*/

.dropdown-item.active, .dropdown-item.active:hover, .dropdown-item:active {
    color: var(--main-text-color);
    background-color: #f2ebe4;
}


.form-control:disabled, .form-control[readonly] {background-color: #f3f3f1; opacity: 1; }

.datepicker-wrapper { position: relative; }
.datepicker-wrapper i {position: absolute; top: 50%; left: 14px; transform: translateY(-50%); pointer-events: none; color: #151515;}
.datepicker-wrapper input { padding-left: 2.5rem; }


/* =================================================================
BUTTONS
================================================================= */

.btn:not(.input-group .btn), .btn-link { text-transform: uppercase; letter-spacing: 1.5px; font-size: 13px; }
.btn-link:not(.input-group .btn-link), .btn-link { letter-spacing: 1px; border: 0; }

.btn { --bs-btn-padding-x: 1.25rem; --bs-btn-padding-y: 0.469rem; font-weight: 700; letter-spacing: 1.5px; }

.btn-group-lg>.btn, .btn-lg { --bs-btn-padding-y: 1.094rem; --bs-btn-padding-x: 2.2rem; }

.btn i { font-size: 1.05rem; vertical-align: text-top; margin-left: 5px; }
.btn i.fa-arrow-right { font-size: 1.05rem; vertical-align: text-top; margin-left: 5px; }
.btn i.fa-arrow-left { font-size: 1.05rem; vertical-align: text-top; margin-left: 0px; margin-right: 5px; }

.btn-primary {
    --bs-btn-color: #fff;
    --bs-btn-bg: #151515;
    --bs-btn-border-color: #151515;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #3a3a3a;
    --bs-btn-hover-border-color: #3a3a3a;
    --bs-btn-focus-shadow-rgb: 30, 30, 30;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #3a3a3a;
    --bs-btn-active-border-color: #3a3a3a;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: #151515;
    --bs-btn-disabled-border-color: #151515;
}
.btn-outline-primary {
    --bs-btn-color: #151515;
    --bs-btn-border-color: #333333;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #151515;
    --bs-btn-hover-border-color: #151515;
    --bs-btn-focus-shadow-rgb: 30, 30, 30;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #151515;
    --bs-btn-active-border-color: #151515;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0);
    --bs-btn-disabled-color: #151515;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #151515;
    --bs-gradient: none;
    box-shadow: inset 0 0 0 1px #333333;
}

.btn-outline-primary:focus, .btn-outline-primary:active, .btn-outline-primary:hover { box-shadow: inset 0 0 0 1px #151515; }

.btn-outline-danger {
    --bs-btn-color: #dc3545;
    --bs-btn-border-color: #dc3545;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #dc3545;
    --bs-btn-hover-border-color: #dc3545;
    --bs-btn-focus-shadow-rgb: 220, 53, 69;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #dc3545;
    --bs-btn-active-border-color: #dc3545;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #dc3545;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #dc3545;
    --bs-gradient: none;
    box-shadow: inset 0 0 0 1px #dc3545;
}

.btn-outline-success {
--bs-btn-color: #198754;
    --bs-btn-border-color: #198754;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #198754;
    --bs-btn-hover-border-color: #198754;
    --bs-btn-focus-shadow-rgb: 25, 135, 84;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #198754;
    --bs-btn-active-border-color: #198754;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #198754;
    --bs-btn-disabled-bg: transparent;
    --bs-btn-disabled-border-color: #198754;
    --bs-gradient: none;
    box-shadow: inset 0 0 0 1px #198754;
}

.btn-link {
    --bs-btn-font-weight: 400;
    --bs-btn-color: var(--bs-link-color);
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: var(--bs-link-hover-color);
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: var(--bs-link-hover-color);
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: #6c757d;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: 0 0 0 #000;
    --bs-btn-focus-shadow-rgb: 49, 132, 253;
    text-decoration: underline;
}
.text-white .btn-link {
    --bs-btn-font-weight: 400;
    --bs-btn-color: #fff;
    --bs-btn-bg: transparent;
    --bs-btn-border-color: transparent;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-border-color: transparent;
    --bs-btn-active-color: #fff;
    --bs-btn-active-border-color: transparent;
    --bs-btn-disabled-color: #ddd;
    --bs-btn-disabled-border-color: transparent;
    --bs-btn-box-shadow: 0 0 0 #000;
    --bs-btn-focus-shadow-rgb: 255, 255, 255;
    text-decoration: underline;
}

.btn-check:checked+.btn, .btn.active, .btn.show, .btn:first-child:active, :not(.btn-check)+.btn:active {
    background-color: #151515;
    border-color: #151515;
    box-shadow: 0 0 0 5px #00000021;
}
.btn.btn-link:active, .btn-link:active { 
    background-color: #F6F1EA;
    box-shadow: 0 0 0 5px #F6F1EA;
    border-color: transparent;
}

.btn-group .btn.dropdown-toggle { padding-bottom: 0.65rem; }


/*BADGES*/

.badge { font-weight:500; }

.bg-upcoming {
    background-color: #DFEDD7 !important;
    color: var(--main-text-color);
}
.bg-normal {
    background-color: #A7DD85 !important;
    color: #27530c;
}

.bg-unnormal { 
    background-color: #e4a185 !important;
    color: #754428;
 }


.bg-secondary {
    --bs-bg-opacity: 1;
    background-color: rgb(0 0 0 / 35%) !important;
}
.bg-info {
    background-color: #E2EDF7 !important;
    color: #333;
}
.bg-success {
    --bs-bg-opacity: 1;
    background-color: #198754 !important;
}
.bg-danger {
    --bs-bg-opacity: 1;
    background-color: rgb(245 230 231) !important;
    color: #bd6060;
}
.bg-warning, .bg-abnormal {
    background-color: rgb(255 234 192) !important;
    color: #be7600;
}
.bg-light {
    background-color: #eee !important;
    color: var(--main-text-color);
}


/*LIST GROUPS*/
.list-group { --bs-list-group-item-padding-x: 1rem; --bs-list-group-item-padding-y: 0.8rem; --bs-list-group-border-color: #efe7db; }

/*CARD*/
.card { border-radius: 18px; border-color: #fff; border: 0; }
.card-body { padding: 30px; }
.card-inactive { --bs-card-bg: #f5f0ea; --bs-card-border-color: #f5f0ea; }
.card-transparent { --bs-card-bg: #ffffffb3; --bs-card-border-color: #ffffffb3; }
.card-img, .card-img-top { border-radius: 18px 18px 0 0; }


.page-link:focus { box-shadow: 0 0 0 0.25rem rgb(185 185 185 / 25%); }



/* JS HELPER FOR SMOOTH SCROLL */
html:has(body[data-prevent-scroll]) {
  scroll-behavior: auto !important;
  overflow: hidden;
}

/*middle small notification dots*/
.rounded-circle.p-1 { top: 1px; }


/* PRINT */
@media print {

body { background: #fff; }
.chartborder { padding-left: 0 !important; }
.chartborder #chartContainer, .chartborder .chart_container { width: 510px !important; overflow: hidden; }
.chartborder .chart_container { margin-left: -15px; }
.chartborder .col-12 { padding: 0; }
.chartborder #chartContainer:after { display: none; }
header, footer, .backToResultsOverview, .btn.btn-outline-dark { display: none; }
.badge { border: none; }

}


/* =================================================================
MIN RESPONSIVE CSS BELOW
================================================================= */

@media (min-width: 1200px) {

}

/* Small devices (landscape phones, 576px and up)  */
@media (min-width: 576px) {

}

/* Medium devices (tablets, 768px and up)  */
@media (min-width: 768px) {

}

/* MD Large devices (desktops, 992px and up)  */
@media (min-width: 992px) {

}

/* Extra large devices (large desktops, 1200px and up)  */
@media (min-width: 1200px) {

}

/* Extra extra large devices (large desktops, 1800px and up)  */
@media (min-width: 1800px) {

body { font-size: 1rem; }
h1, .h1 { font-size: 3.8rem; }
h2, .h2 { font-size: 3.3rem; }
h3, .h3 { font-size: 2.1rem; }
h4, .h4 { font-size: 1.3rem; line-height: 1.4; }
h5, .h5 { font-size: 1.15rem; }
h6, .h6 { font-size: 1.15rem; }
.form-control, label { font-size: 1.065rem; }
.form-check label, .form-radio label { font-size: 1rem; }
.btn:not(.input-group .btn), .btn-link { letter-spacing: 1.5px; font-size: 13px; }
.btn i { font-size: 1.15rem; }
.btn i.fa-arrow-right { font-size: 1.15rem; }
.btn i.fa-arrow-left { font-size: 1.15rem; }

}

/* ================================================================
MAX RESPONSIVE CSS BELOW
================================================================ */

/*Large devices (desktops, less than 1200px) */
@media (max-width: 1199px) {

.w-lg-100 { width:100% !important; }
.w-lg-75 { width:75% !important; }
.w-lg-50 { width:50% !important; }

}


/* col-MD start of burger, Medium devices (tablets, less than 992px) */
@media (max-width: 991px) {

.w-md-100 { width:100% !important; }
.w-md-75 { width:75% !important; }
.w-md-50 { width:50% !important; }

}

/* Small devices (landscape phones, less than 768px) */
@media (max-width: 767px) {

.w-sm-100 { width:100% !important; }
.w-sm-75 { width:75% !important; }
.w-sm-50 { width:50% !important; }

.card-img, .card-img-top, .card-img-bk { border-radius: 15px 15px 0 0; }
.list-group, .card, .accordion { border-radius: 15px; }

}

/* Extra small devices (portrait phones, less than 576px) */
@media (max-width: 575px) {

}

/* Very small devices (portrait phones, less than 371px) */
@media (max-width: 370px) {

}

/* VERY VERY small devices ( iPhone 5 ) */
@media (max-width: 320px) {


}