/*
    Theme Name: Medicio
    Theme URL: https://bootstrapmade.com/medicio-free-bootstrap-theme/
    Author: BootstrapMade
    Author URL: https://bootstrapmade.com
*/

/* ==== Google font ==== */
@import url('https://fonts.googleapis.com/css?family=Open+Sans:400,300,300italic,600,700,800|Roboto:400,500,700,900');
/* --- pe-icon-7-stroke --- */

/*
	Colour Scheme - Based on Brand Basic Guide
*/

:root {
  --main-colour: #007181; /* Rich Black */
  --minor-colour: #55a3af; /* Blue Green Light */
  --light-minor-colour: #eaf4f6; /* Used mdigi.tools to lighten Blue Green Light */
  --table-stripe-odd-bg: #f2f2f2;
  --table-stripe-even-bg: #ffffff;
  --highlight-colour: #f57f29; /* Highlight Orange */
  --background-colour: #ffffff;
  --dark-background-colour: #6d6e71; /* Grey Dark */
  --light-background-colour: #eee; 
  --medium-background-colour: #949598; /* Grey Mid */
  
  --brand-dark-colour: #007181; /* Blue Green Dark */
  --brand-light-colour: #55a3af; /* Blue Green Light */
  
  --lv1-colour: #e5211e;
  --lv2-colour: #fc7302;
  --lv3-colour: #fdbb06;
  --lv4-colour: #c6dc00;
  --lv5-colour: #76c31e;
  

  /* BS5 top nav + content offsets */
  --nav-height: 72px;
  --nav-logo-max-height: 40px;
  --patient-header-height: 140px;
  --content-top: var(--nav-height); /* flush under fixed nav */
  --dashboard-pane-top: var(--nav-height); /* dashboard flush under fixed nav */
  --nav-bg: rgba(255, 255, 255, 0.95);
  --nav-border: #e2e8f0;
  --nav-text: #475569;
  --nav-hover: var(--main-colour);
}

body {
    color: var(--main-colour);
    background-color: var(--background-colour);
    /* Clear fixed #header for in-flow content; #hero adds only the extra gap below nav */
    margin-top: 0;
    padding-top: var(--nav-height);
}

header {
    height: var(--nav-height);
}

/* OUR COLOUR CODES */

.level_0 {
	text-align: center;
	font-weight: bold;
}

.level_1 {
	background: var(--lv1-colour);
	text-align: center;
	font-weight: bold;
	color: white;
}

.level_2 {
	background: var(--lv2-colour);
	text-align: center;
	font-weight: bold;
	color: white;
}

.level_3 {
	background: var(--lv3-colour);
	text-align: center;
	font-weight: bold;
}

.level_4 {
	background: var(--lv4-colour);
	text-align: center;
	font-weight: bold;
	color: white;
}

.level_5 {
	background: var(--lv5-colour);
	text-align: center;
	font-weight: bold;
	color: white;
}

/* ===========
layout
============= */

.card {
    margin-bottom: 10px;
    padding: 3px;
}

.card > .card-header,
form.lead .card > .card-header {
    font-weight: 700 !important;
}

#header .logo img {
    max-height: 80px;
}


#wrapper.boxed {
	background-color: var(--light-background-colour);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--brand-dark-colour);
}

h1.font-light,h2.font-light,h3.font-light,h4.font-light,h5.font-light,h6.font-light {
	color: var(--light-background-colour);
}

a {
    color: var(--main-colour);
}

blockquote {
  color:  var(--dark-background-colour);
}

blockquote.bg-light {
	color:  var(--dark-background-colour);
}

ul {
    padding-left: 30px !important;
}

/* ===========
Navigation
============= */

.navbar.navbar-custom.navbar-fixed-top  {
	background: var(--light-background-colour);
}

.navbar-custom ul.nav li a {
    color: var(--main-colour);
}

.navbar.navbar-custom.top-nav-collapse {
	background: var(--light-background-colour);
	
}
.navbar-custom.top-nav-collapse ul.nav li a {
	color: var(--main-colour);
}

.navbar-custom ul.nav ul.dropdown-menu li {
	border-bottom: 1px solid var(--minor-colour);
}

.navbar-custom ul.nav ul.dropdown-menu li a:hover {
	background: var(--minor-colour);
}

.navbar-custom.top-nav-collapse ul.nav ul.dropdown-menu li a {
	color: var(--main-colour);
}

.navbar-toggle {
    color: var(--light-background-colour);
}

#hero {
  background-color: var(--light-background-colour);
  /* Flush under nav — body already has padding-top: var(--nav-height) */
  padding-top: 0;
  min-height: 0;
  height: auto;
  overflow: visible;
}

#hero .container {
    text-align: left;
    background: rgba(255, 255, 255, 0.9);
    padding-top: 0;
    padding-bottom: 30px;
    margin-bottom: 50px;
    border: none;
}

#hero p {
  color: var(--main-colour);
}

/* form */

.validation {
    color: var(--highlight-colour);
}

#errormessage {
    color: var(--highlight-colour);
}

.likert-table {
	table-layout: fixed; 
	width:100%; 
}

.likert-table td {
	text-align: center;
	position: relative;
	height: 80px;
}

.likert-table input {
	width: 100%;
}

.likert-table-wrapper::before {
  position:relative;
  content: '';
  top:27px;
  left:5%;
  display:block;
  background-color: var(--brand-light-colour);
  height:4px;
  width:90%;
}

.brand-light-colour {
	background-color: var(--brand-light-colour);
}

.brand-dark-colour {
	background-color: var(--brand-dark-colour);
}

.happy-sad-selector input{
    margin:0;padding:0;
    -webkit-appearance:none;
       -moz-appearance:none;
            appearance:none;
}

.happy-sad-selector input:active +.happy-sad-icon, .cc-selector input:active +.happy-sad-icon {
	opacity: .9;
}

.happy-sad-selector input:checked +.happy-sad-icon, .cc-selector input:checked +.happy-sad-icon {
    -webkit-filter: none;
       -moz-filter: none;
            filter: none;
}

.happy {
	background-image:url(/img/happy.png);
}

.sad {
	background-image:url(/img/sad.png);
}

.happy-sad-icon {
    cursor:pointer;
    background-size:contain;
    background-repeat:no-repeat;
    display:inline-block;
    width:100px;height:70px;
    -webkit-transition: all 100ms ease-in;
       -moz-transition: all 100ms ease-in;
            transition: all 100ms ease-in;
    -webkit-filter: brightness(1.8) grayscale(1) opacity(.7);
       -moz-filter: brightness(1.8) grayscale(1) opacity(.7);
            filter: brightness(1.8) grayscale(1) opacity(.7);
}

.happy-sad-icon:hover {
    -webkit-filter: brightness(1.2) grayscale(.5) opacity(.9);
       -moz-filter: brightness(1.2) grayscale(.5) opacity(.9);
            filter: brightness(1.2) grayscale(.5) opacity(.9);
}

#load {
  background-color: var(--dark-background-colour);
  box-shadow: 10px 0px  var(--dark-background-colour), 10px 0px  var(--dark-background-colour);
}

hr.bold {
  border-top: 3px solid var(--dark-background-colour);
}

.dividersolid {
	border-top: 1px solid var(--dark-background-colour);
}


/* ===========================
--- General sections
============================ */

.home-section {
	background-color: var(--light-background-colour);
}

.color-dark .section-heading h2 {
	color:  var(--dark-background-colour);
}
.color-dark .section-heading p {
	color:  var(--dark-background-colour);
}

.divider-short,.color-dark .divider-short,.bg-gray .divider-short {
	background:  var(--light-background-colour);
}

.color-light .divider-short {
	background:  var(--light-background-colour);
}

.color-light .section-heading h2 {
	color: var(--light-background-colour);
}
.color-light .section-heading p {
	color: var(--light-background-colour);
}

.color-light blockquote,.color-light p {
	color: var(--light-background-colour);
}

/* --- section bg var --- */

.bg-white {
	background: var(--light-background-colour);
}

.bg-gray {
	background:  var(--dark-background-colour);
}


.bg-dark {
	background:  var(--dark-background-colour);
}

#preloader:before {
  border: 6px solid var(--dark-background-colour);
  border-top-color: var(--light-background-colour);
 }

/* --- section color var --- */

.text-light {
	color: var(--light-background-colour);
}

#search_result {
  background-color: var(--light-background-colour);
}

#search_result .container {
    text-align: left;
    background: rgba(255, 255, 255, 0.9);
    padding-top: 30px;
    padding-bottom: 30px;
    margin-top: 0px;
    margin-bottom: 50px;
    border: none;
}

/* ===========================
--- Intro
============================ */

.intro-content.intro-nobg {
	background:var(--light-background-colour);
}


.panel.bg-skin {
  border-color: var(--light-background-colour);
}

.bg-skin > .card-heading {
  color: var(--light-background-colour);
  background-color: var(--light-background-colour);
  border-color: var(--light-background-colour);
  box-shadow: none;
}

.form-wrapper h3.bg-title small {
	font-size: 16px;
	color: var(--light-background-colour);
}

.bg-skin > .card-heading .badge {
  background-color: var(--light-background-colour);
}

.form-control:focus {
  border-color: var(--dark-background-colour);
}


/* =========================
Buttons
=========================== */


.btn {
    line-height: 1.4;
}

.btn-default {
    color: var(--light-background-colour);
    background-color: var(--brand-light-colour);
}

.btn-skin {
  background-color: var(--brand-light-colour);
  border-color: var(--brand-light-colour);
  color: var(--light-background-colour);
}

.btn-skin:hover,
.btn-skin:focus,
.btn-skin:active,
.btn-skin.active,
.open > .dropdown-toggle.btn-skin {
  color: var(--light-background-colour);
}

.btn-skin .badge {
  color:  var(--dark-background-colour);
  background-color: var(--light-background-colour);
}

/* =======================
Elements
========================== */

/* box */

.circled {
	color: var(--light-background-colour);
}


.block-text {
    background-color: var(--light-background-colour);
}

.block-text p {
    color:  var(--dark-background-colour);
}

.rel {
    position: relative;
}


/* ===========================
--- Footer
============================ */

footer {
    background-color: var(--background-colour);
}

.sub-footer {
    background-color:  var(--light-background-colour);
	border-top: 1px solid var(--light-background-colour);
}

.sub-footer a {
	color: var(--dark-background-colour);
}


/* -- icon var -- */

.bg-dark {
	background: var(--dark-background-colour);
}

.bg-light {
	background: var(--light-background-colour);
}


/* scroll to top */
.scrollup{
    background: var(--dark-background-colour);
}


a.scrollup i {
	color: var(--light-background-colour);
}


/* ===========================
--- Elements
============================ */

/* --- button --- */
.btn:not([class*="btn-outline-"]) {
	color: var(--light-background-colour);
}

.btn-skin:hover,
.btn-skin:focus,
.btn-skin:active,
.btn-skin.active {
  color: var(--light-background-colour);
  background-color: var(--dark-background-colour);
  border-color: var(--dark-background-colour);
}

.btn-default:hover,
.btn-default:focus {
    border: 1px solid  var(--brand-light-colour);
    color: var(--dark-background-colour);
    background-color: var(--brand-light-colour);
}


/* ==== partner ==== */


.options_toggle  {
	border:1px solid var(--dark-background-colour);
}

.options_heading {
	color: var(--light-background-colour);
	border-bottom: 1px dotted var(--dark-background-colour);	
}
.bgr .bg {
	border:1px solid var(--dark-background-colour);
}

#accent_color{
	color: var(--light-background-colour);
	background: var(--brand-dark-colour);
}

#bodybg_color {
	color: var(--light-background-colour);
	background: var(--dark-background-colour);
}

.well .well-trans {
	background-color: var(--dark-background-colour);
  	-webkit-box-shadow: none;
    box-shadow: none;
	border: none;
	padding:20px;
}

.row {
	margin-top: 10px;
	padding: 0 10px;
}

/* Dashboard grid rows must sit flush — global .row margin-top creates the gap under nav/header */
.row.dashboard-content,
.row.patient-header {
	margin-top: 0;
}

/* Media queries */

@media (max-width:767px) {

	.navbar.navbar-custom.navbar-fixed-top {
		background-color: var(--light-background-colour);
	}
	
	.navbar-header button {
		border-color: var(--medium-background-colour);
		background-color: var(--medium-background-colour);
	}

	.navbar-header i{
		color: var(--dark-background-colour);
	}

	.navbar-custom ul.nav li {
		border-bottom: 1px solid var(--dark-background-colour);
	}
	.navbar-custom ul.nav li:last-child {
		padding-bottom:0;
	}
	.navbar-custom ul.nav ul.dropdown-menu li {
		border-bottom: 1px solid var(--dark-background-colour);
	}
}

.subquestion {
	background-color: var(--background-colour);
}

.ethos_title {
	width: 100%;
    padding: 10px;
    margin-top: 20px;
    font-family: 'Open Sans', sans-serif;
	font-weight: 300;
    color: var(--light-background-colour);
    background-color: var(--main-colour);
	font-size: 24px;
    line-height: 30px;
	
} 

.ethos_wording { 	
	width: 100%;
    padding: 4px 0 4px 10px;
    font-family: 'Open Sans', sans-serif;
	font-weight: 400;
    color: var(--main-colour);
    background-color: var(--medium-background-colour);
	font-size: 20px;
    line-height: 26px;
	
}

.ethos_heading { 	
	padding: 0 0 20px 0;
}

.rec_set {
	padding: 20px 20px 20px 30px;
	background-color: var(--background-colour);
	border-color: var(--brand-light-colour);
	border-width: 2px;
	border-style: solid;
}

.table-striped>tbody>tr:nth-child(odd)>td, 
.table-striped>tbody>tr:nth-child(odd)>th {
   background-color: var(--table-stripe-odd-bg); 
 }
 
.table-striped>tbody>tr:nth-child(even)>td, 
.table-striped>tbody>tr:nth-child(even)>th {
   background-color: var(--table-stripe-even-bg); 
 }

.table-striped > tbody > tr:nth-of-type(odd) > * {
	--bs-table-accent-bg: var(--table-stripe-odd-bg);
	background-color: var(--table-stripe-odd-bg);
}

.table-striped > tbody > tr:nth-of-type(even) > * {
	--bs-table-accent-bg: var(--table-stripe-even-bg);
	background-color: var(--table-stripe-even-bg);
}
 
 
 /* BUTTONS */
 
 .back-to-top {
    color: var(--light-background-colour);
    background-color: var(--brand-dark-colour);
    border-color: var(--brand-dark-colour);
 }
 
 .btn-survey-left {
    color: var(--light-background-colour);
    background-color: var(--brand-dark-colour);
    border-color: var(--brand-dark-colour);
}
 
.btn-survey-right {
    color: var(--light-background-colour);
    background-color: var(--brand-light-colour);
    border-color: var(--brand-light-colour);
   
}

.btn-survey-active-section {
	color: var(--light-background-colour);
    background-color: var(--medium-background-colour);
    border-color:  var(--medium-background-colour);
}

.btn-survey-inactive-section {
	color: var(--light-background-colour);
    background-color:  var(--dark-background-colour);
    border-color:  var(--dark-background-colour);
}
 
.btn-survey-breadcrumbs-title {
	color: var(--light-background-colour);
    background-color: var(--main-colour);
    border-color: var(--main-colour);
    opacity: 100 !important;
}
 
.btn-link {
	color: var(--brand-light-colour);
}

.btn-link-warning {
	color: red;
}
 
.btn-arrow-right,
.btn-arrow-left {
   position: relative;
   padding-left: 18px;
   padding-right: 18px;
   margin-bottom:5px;
}

.btn-arrow-right {
   padding-left: 36px;
}

.btn-arrow-left {
   padding-right: 36px;
}

.btn-arrow-right:before,
.btn-arrow-right:after,
.btn-arrow-left:before,
.btn-arrow-left:after {
   /* make two squares (before and after), looking similar to the button */
   
   content: "";
   position: absolute;
   top: 5px;
   /* move it down because of rounded corners */
   
   width: 22px;
   /* same as height */
   
   height: 22px;
   /* button_outer_height / sqrt(2) */
   
   background: inherit;
   /* use parent background */
   
   border: inherit;
   /* use parent border */
   
   border-left-color: transparent;
   /* hide left border */
   
   border-bottom-color: transparent;
   /* hide bottom border */
   
   border-radius: 0px 4px 0px 0px;
   /* round arrow corner, the shorthand property doesn't accept "inherit" so it is set to 4px */
   
   -webkit-border-radius: 0px 4px 0px 0px;
   -moz-border-radius: 0px 4px 0px 0px;
}

.btn-arrow-right:before,
.btn-arrow-right:after {
   transform: rotate(45deg);
   /* rotate right arrow squares 45 deg to point right */
   
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
}

.btn-arrow-left:before,
.btn-arrow-left:after {
   transform: rotate(225deg);
   /* rotate left arrow squares 225 deg to point left */
   
   -webkit-transform: rotate(225deg);
   -moz-transform: rotate(225deg);
   -o-transform: rotate(225deg);
   -ms-transform: rotate(225deg);
}

.btn-arrow-right:before,
.btn-arrow-left:before {
   /* align the "before" square to the left */
   
   left: -11px;
}

.btn-arrow-right:after,
.btn-arrow-left:after {
   /* align the "after" square to the right */
   
   right: -11px;
}

.btn-arrow-right:after,
.btn-arrow-left:before {
   /* bring arrow pointers to front */
   
   z-index: 1;
}

.btn-arrow-right:before,
.btn-arrow-left:after {
   /* hide arrow tails background */
   
   background-color: white;
}

.btn-arrow-right-first,
.btn-arrow-left-first {
   position: relative;
   padding-left: 18px;
   padding-right: 18px;
   margin-bottom:5px;
   margin-left: 15px;
}

.btn-arrow-right-first {
   padding-left: 36px;
}

.btn-arrow-left-first {
   padding-right: 36px;
}

.btn-arrow-right-first:after,
.btn-arrow-left-first:before {
   
   /* make two squares (before and after), looking similar to the button */
   
   content: "";
   position: absolute;
   top: 5px;
   /* move it down because of rounded corners */
   
   width: 22px;
   /* same as height */
   
   height: 22px;
   /* button_outer_height / sqrt(2) */
   
   background: inherit;
   /* use parent background */
   
   border: inherit;
   /* use parent border */
   
   border-left-color: transparent;
   /* hide left border */
   
   border-bottom-color: transparent;
   /* hide bottom border */
   
   border-radius: 0px 4px 0px 0px;
   /* round arrow corner, the shorthand property doesn't accept "inherit" so it is set to 4px */
   
   -webkit-border-radius: 0px 4px 0px 0px;
   -moz-border-radius: 0px 4px 0px 0px;
}


.btn-arrow-right-first:after {
   transform: rotate(45deg);
   /* rotate right arrow squares 45 deg to point right */
   
   -webkit-transform: rotate(45deg);
   -moz-transform: rotate(45deg);
   -o-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
}

.btn-arrow-left-first:before {
   transform: rotate(225deg);
   /* rotate left arrow squares 225 deg to point left */
   
   -webkit-transform: rotate(225deg);
   -moz-transform: rotate(225deg);
   -o-transform: rotate(225deg);
   -ms-transform: rotate(225deg);
}

.btn-arrow-left-first:before {
   /* align the "before" square to the left */
   
   left: -11px;
}

.btn-arrow-right-first:after {
   /* align the "after" square to the right */
   
   right: -11px;
}

.btn-arrow-right-first:after,
.btn-arrow-left-first:before {
   /* bring arrow pointers to front */
   
   z-index: 1;
}

@media print {
	div.divFooter {
		position: fixed;
		bottom: 0;
	}
	.no-print, .no-print * {
		display: none !important;
	}
	.pageBreak {
		page-break-before: always;
	}

    @page {
        size: A4 portrait;
        margin: 1cm;
    }

    body {
        font-size: 10pt !important; /* Use !important here to override screen styles */
        color: #000 !important;
        background-color: #fff !important;
        /* Ensure no min-width from screen styles is carrying over */
        min-width: 0 !important;
    }

    /* Override Bootstrap's mobile breakpoint behavior for containers */
    .container,
    .container-fluid {
        width: 100% !important;
        max-width: none !important; /* Crucial to override default container max-width */
        padding: 0 !important;
        margin: 0 !important;
        min-width: 0 !important; /* Ensure no min-width from screen styles */
    }

    /* Override Bootstrap's negative margins on rows */
    .row {
        margin-right: 0 !important;
        margin-left: 0 !important;
        display: flex !important; /* Ensure flexbox behavior */
        flex-wrap: wrap !important; /* Allow wrapping */
    }

    /* Force all columns to take full width by default (stacked) on print,
       unless explicitly overridden by specific col-print-* classes */
    .col,
    [class*="col-"] {
        flex: 1 0 0 !important;
        width: 100% !important;
        max-width: 100% !important;
        padding-left: var(--bs-gutter-x, 0.75rem) !important; /* Maintain Bootstrap's default gutter */
        padding-right: var(--bs-gutter-x, 0.75rem) !important;
    }

    /* *** CRITICAL: Define specific column widths for print *** */
    /* Target common Bootstrap column classes directly for print */
    /* This overrides the 100% width above for specific breakpoints */
    
    .col-sm-9, .col-md-9, .col-lg-9, .col-xl-9, .col-xxl-9 {
        width: 75% !important;
        flex: 0 0 75% !important;
        max-width: 75% !important;
    }
    
     .col-sm-8, .col-md-8, .col-lg-8, .col-xl-8, .col-xxl-8 {
        width: 66.666667% !important;
        flex: 0 0 66.666667% !important;
        max-width: 66.666667% !important;
    }
    
     .col-sm-7, .col-md-7, .col-lg-7, .col-xl-7, .col-xxl-7 {
        width: 58.333333% !important;
        flex: 0 0 58.333333% !important;
        max-width: 58.333333% !important;
    }
    .col-sm-6, .col-md-6, .col-lg-6, .col-xl-6, .col-xxl-6 {
        width: 50% !important;
        flex: 0 0 50% !important;
        max-width: 50% !important;
    }
    .col-sm-5, .col-md-5, .col-lg-5, .col-xl-5, .col-xxl-5 {
        width: 41.666666% !important;
        flex: 0 0 41.666666% !important;
        max-width: 41.666666% !important;
    }
    .col-sm-4, .col-md-4, .col-lg-4, .col-xl-4, .col-xxl-4 {
        width: 33.333333% !important;
        flex: 0 0 33.333333% !important;
        max-width: 33.333333% !important;
    }
    .col-sm-3, .col-md-3, .col-lg-3, .col-xl-3, .col-xxl-3 {
        width: 25% !important;
        flex: 0 0 25% !important;
        max-width: 25% !important;
    }
     .col-sm-2, .col-md-2, .col-lg-2, .col-xl-2, .col-xxl-2 {
        width: 15.66667% !important;
        flex: 0 0 15.66667% !important;
        max-width: 15.66667% !important;
    }
     .col-sm-1, .col-md-1, .col-lg-1, .col-xl-1, .col-xxl-1 {
        width: 8.33333% !important;
        flex: 0 0 8.33333% !important;
        max-width: 8.33333% !important;
    }
   
    

    /* Hide elements not useful for print */
    .d-print-none,
    .navbar,
    .footer,
    .btn,
    .form-control,
    .dropdown-menu,
    .modal,
    .alert:not(.d-print-block),
    .sidebar,
    .ad-section,
    .social-media-icons,
    #back-to-top,
    .fa-edit /* Hide edit icons */
    {
        display: none !important;
    }

    /* Show elements that should only appear on print */
    .d-print-block { display: block !important; }
    .d-print-flex { display: flex !important; } /* If you want flex on print */
    .d-print-inline { display: inline !important; }
    .d-print-inline-block { display: inline-block !important; }

    /* Fix for Bootstrap 5's `.d-none .d-sm-flex` type classes not showing */
    /* If you want to show elements that were `d-none d-sm-flex` on print,
       you need to explicitly force them to display as flex.
       Be careful with the `d-sm-block` and `d-sm-flex` classes,
       if you want them to print, remove the `d-none` from them in HTML
       and rely on `d-print-flex` or `d-print-block`. */
    /* Example: If you have <div class="my-section d-none d-sm-flex">
       and you want it to appear on print: */

    /* Specific fixes for your HTML structure based on observation */
    /* The header with `d-none d-sm-flex` will not print, which you might want. */
    /* The recommendations and footer sections have `d-none d-sm-flex`
       If you want these to print, change the HTML to use `d-print-flex` */
    .row.racbox.d-flex.d-sm-none { /* This is for mobile, ensure it's hidden on print */
        display: none !important;
    }
    .row.racbox.d-none.d-sm-flex { /* This is the desktop recommendations, ensure it prints */
        display: flex !important; /* Change from d-none to d-flex for print */
    }
    .footer.d-none.d-sm-flex { /* This is the desktop footer, ensure it prints */
        display: flex !important; /* Change from d-none to d-flex for print */
    }

    /* Adjust font sizes for better print readability */
    h1 { font-size: 20pt !important; }
    h2 { font-size: 16pt !important; }
    h3 { font-size: 14pt !important; }
    p, li, table { font-size: 10pt !important; line-height: 1.4 !important; }

    /* Other general print-friendly styles */
    * {       
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a {
        text-decoration: underline !important;
        color: #000 !important;
    }
    a[href]:after {
        content: " (" attr(href) ")" !important;
        word-break: break-all;
        font-size: 8pt !important;
    }
    a[href^="#"]:after,
    a[href^="mailto:"]:after,
    a.no-print-url:after,
    .no-print-url:after { /* Added .no-print-url for general use */
        content: "" !important;
    }

    img {
        max-width: 100% !important;
        height: auto !important;
        display: block !important;
        page-break-inside: avoid !important;
    }

    /* Page breaks */
    .page-break-before { page-break-before: always !important; }
    .page-break-after { page-break-after: always !important; }
    .page-break-avoid { page-break-inside: avoid !important; }

    table {
        width: 100% !important;
        border-collapse: collapse !important;
        page-break-inside: auto !important;
    }
    table thead {
        display: table-header-group !important;
    }
    table, th, td {
        border: 1px solid #ccc !important;
    }
    th, td {
        padding: 8px !important;
        vertical-align: top !important; /* Ensure consistent alignment */
    }
}

.btn-block {
	width:100%;
}

.btn-block + .btn-block {
    margin-top: 5px;
}

/* new dashboard settings */

.dashboard,
#hero.dashboard {
	height: auto; 
	margin-bottom:0;
	margin-top:0px; 
	/* Flush under nav — body already clears --nav-height */
	padding-top: 0;
	padding-bottom:20px;
}

/* Fixed under the menu — top must follow --nav-height, not a hardcoded Medicio 80px */
.patient-header {
	position: fixed;
	top: var(--nav-height) !important;
	left: 10px;
	right: 10px;
	height: var(--patient-header-height);
	padding: 10px;
	border: var(--medium-background-colour) solid 1px;
	margin: 0 !important;
	background-color: var(--bs-gray-100);
	z-index: 200;
}

.row.dashboard-content {
	margin-top: 0;
}

/* body padding-top clears the nav; only clear the patient header height here */
.patient-header ~ .row.dashboard-content {
	margin-top: var(--patient-header-height) !important;
}

.dashboard-sidebar {
	color: black;
	background-color: var(--bs-gray-100) !important;
    border: var(--medium-background-colour) solid 1px;  
    margin-top:0px;
    padding-top:0px;
      
}

.dashboard-sidebar a {
	color: var(--dark-background-colour);
}

.dashboard-sidebar span {
	color: black;
}

.dashboard-sidebar ul {
    padding-left: 0px !important;
}

.dashboard-sidebar li:hover {
	background-color:#e6effc; 
}

.dashboard-body {
	margin-top:0px;
	padding-top:0px;
}


.bmi-background {
    position: relative;
    width: 100%;
    height: 1.5rem;
    z-index: 0;
    overflow: hidden;
    border-radius: 8px;
    background: linear-gradient(to right, #fdd834 5%, #00793d 25%, #fdd834 50%, #d80013);
}

.dashboard-submenu {
	margin-left:20px;
}

.pg-pill.pg-active {
	background-color: var(--highlight-colour);
	cursor: pointer;
}

.pg-pill.pg-inactive {
	background-color: var(--medium-background-colour);
	color: black;
	cursor: pointer;
}

/* Searchable select (myTags:searchableSelect + jQuery UI autocomplete) */
.ui-autocomplete {
	z-index: 2000;
	max-height: 280px;
	overflow-y: auto;
	overflow-x: hidden;
}

.ui-menu-item-wrapper {
	padding: 0.5rem 0.75rem;
	font-size: 0.95rem;
}

/* ===========
   BS5 top nav (from menu.jsp) — customise per theme via :root nav vars
============= */
#header {
    height: var(--nav-height);
    background: var(--nav-bg);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--nav-border);
    transition: all 0.3s;
    z-index: 1050;
    display: flex;
    align-items: center;
    overflow: visible;
}

#header .logo img,
.logo img {
    max-height: var(--nav-logo-max-height);
    width: auto;
}

#navbar ul {
    display: flex;
    list-style: none;
    align-items: center;
    margin: 0;
    padding: 0;
}

#navbar li {
    position: relative;
    padding: 0 10px;
}

#navbar a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;
    font-family: 'Mulish', sans-serif;
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--nav-text);
    white-space: nowrap;
    transition: 0.3s;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.025em;
}

#navbar a i {
    font-size: 12px;
    line-height: 0;
    margin-left: 5px;
}

#navbar a:hover,
#navbar .active,
#navbar li:hover > a {
    color: var(--nav-hover);
}

#navbar .dropdown ul {
    display: block;
    position: absolute;
    left: 10px;
    top: calc(100% + 30px);
    margin: 0;
    padding: 10px 0;
    z-index: 99;
    opacity: 0;
    visibility: hidden;
    background: #fff;
    box-shadow: 0px 10px 30px rgba(0, 0, 0, 0.1);
    transition: 0.3s;
    border-radius: 12px;
    border: 1px solid var(--nav-border);
    min-width: 200px;
}

#navbar .dropdown:hover > ul {
    opacity: 1;
    top: 100%;
    visibility: visible;
}

#navbar .dropdown ul li {
    min-width: 200px;
    padding: 0;
}

#navbar .dropdown ul a {
    padding: 10px 20px;
    font-size: 14px;
    text-transform: none;
    font-weight: 500;
    color: #1e293b;
}

#navbar .dropdown ul a:hover {
    background-color: #f8fafc;
    color: var(--nav-hover);
}

.nav-badge-container {
    position: relative;
    padding: 0 5px !important;
}

.badge-pill {
    font-size: 10px;
    padding: 0.35em 0.65em;
    border-radius: 50rem;
    font-weight: 800;
    border: 2px solid #fff;
}

.mobile-nav-toggle {
    color: var(--nav-text);
    font-size: 28px;
    cursor: pointer;
    display: none;
    line-height: 0;
    transition: 0.5s;
    z-index: 1100;
}

@media (max-width: 991px) {
    .mobile-nav-toggle {
        display: block;
    }

    #navbar ul {
        display: none;
    }

    .mobile-nav-active #navbar {
        display: block !important;
        position: fixed !important;
        overflow: hidden;
        inset: 0;
        height: 100vh;
        width: 100vw;
        background: rgba(15, 23, 42, 0.95);
        transition: 0.3s;
        z-index: 1060;
    }

    .mobile-nav-active .mobile-nav-toggle {
        position: fixed;
        top: 20px;
        right: 20px;
        color: #fff;
    }

    .mobile-nav-active #navbar ul {
        display: block;
        position: absolute;
        top: 70px;
        right: 20px;
        bottom: 20px;
        left: 20px;
        padding: 15px 0;
        border-radius: 15px;
        background-color: #fff;
        overflow-y: auto;
        transition: 0.3s;
    }

    .mobile-nav-active #navbar a,
    .mobile-nav-active #navbar a:focus {
        padding: 12px 25px;
        font-size: 15px;
        color: #1e293b;
        text-transform: none;
    }

    .mobile-nav-active #navbar a:hover,
    .mobile-nav-active #navbar .active,
    .mobile-nav-active #navbar li:hover > a {
        color: var(--nav-hover);
        background: #f8fafc;
    }

    .mobile-nav-active #navbar .dropdown ul {
        position: static;
        display: none;
        margin: 10px 20px;
        padding: 10px 0;
        z-index: 99;
        opacity: 1;
        visibility: visible;
        background: #fff;
        box-shadow: none;
        border: 1px solid #f1f5f9;
    }

    .mobile-nav-active #navbar .dropdown > .dropdown-active {
        display: block !important;
    }

    .mobile-nav-active #navbar .dropdown.dropdown-active > ul {
        display: block !important;
        position: static !important;
        visibility: visible !important;
        opacity: 1 !important;
        max-height: 60vh;
        overflow-y: auto;
    }

    body.mobile-nav-active {
        overflow: hidden;
    }
}
