
body {
	line-height: 1.2em;		
}
	
@media (max-width: 600px) {
    .main-container {
        padding: 10px;
    }
}
	
.test-container {
	max-width: 1155px;
    margin-top:0 !important;
	
}
/* For desktop */
 @media (min-width: 1001px) {
  .test-container	{
  	box-shadow: 0px 0px 16px rgba(0,0,0,0.3);
	border-radius: 10px;
	margin: 60px auto;
	padding: 50px 50px 20px 50px;
  }
}

/* For mobile */
 @media (max-width: 1000px) {
  .test-container	{
  	padding: 10px;
  }
}


 .test-title {
 	padding: 0px 0 20px 0;
	font-size: 1.7em;
	font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
	line-height: 1.5em;
	color: black;
	text-align: center;
	background: linear-gradient(to right, purple, red, orange);
    -webkit-background-clip: text;
    color: transparent;
	/* For printing on paper */
	-webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
	color-adjust: exact !important;                 /* Firefox 48 – 96 */
	print-color-adjust: exact !important;

 }
 
 .top-info {
 	font-size: 1.3em;
	font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
	line-height: 1.2em;
	color: #5f5f5f;
	text-align: center;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border-bottom:0px solid #E5E5E5;
	padding: 0px 0 20px 0;
 }

 .top-info .left-info {
	text-align: left;
	font-size:16px;
	line-height: 22px;
  }
  
  .top-info .right-info {
	text-align: right;
	font-size:16px;
	line-height: 18px;
  }

/* Responsive Design for Mobile */
@media (max-width: 500px) {
    .top-info {
        flex-direction: column; /* Stack content vertically */
        align-items: flex-start; /* Align items to the start */
        text-align: center; /* Ensure left alignment for mobile */
    }

    .top-info .left-info, 
    .top-info .right-info {
        text-align: center; /* Align text to the left */
        width: 100%; /* Full width for each block */
    }

    .top-info .right-info {
        margin-top: 10px; /* Add space between left and right info */
    }
}

.test-view-header {
    margin-top: 40px;;
}

/* SUMMARY PAGE */

.clinical-summary {
	margin-bottom: 20px;
}

/* Parent container styles */
.summary-category-list-header {
    display: flex; /* Use flexbox for layout */
    justify-content: space-between; /* Push title and button to opposite sides */
    align-items: center; /* Vertically align items */
    width: 100%; /* Full width */
    padding: 10px; /* Add some spacing */
    box-sizing: border-box; /* Include padding in width calculation */
}

/* Title styles */
.summary-header-title {
    font-size: 1.8em;
    font-weight: 300;
    margin: 0; /* Remove default margins */
    color: black;
    display: flex; /* Align icon and text horizontally */
    align-items: center; /* Vertically align icon and text */
    gap: 5px; /* Space between icon and text */
}

/* Bottom Button Container */
.summary-bottom-button {
    display: flex;
    justify-content: center; /* Center button horizontally */
    margin-top: 20px; /* Add spacing above the button */
    width: 100%; /* Full width */
}

@media (max-width: 640px) {
    .summary-category-list-header {
        flex-direction: column; /* Stack items vertically */
        align-items: center; /* Align items to the left */
        gap: 10px; /* Add spacing between the title and button */
    }

	.header-title {
        text-align: center; /* Center-align text inside the title */
    }
		

    .main-button {
        align-self: stretch; /* Make the button span the full width */
    }

	.summary-bottom-button .main-button {
        width: 100%; /* Full width for the bottom button */
    }
}



/* DETAILED RESULTS */

/* ############### Summary Box #################### */

.box-container {
  display: flex;
}

.summary-box {
  flex: 1; /* Makes both summary-boxes take up equal space */
  display: flex;
  flex-direction: column; /* Stacks content vertically */
  justify-content: center; /* Centers content vertically */
  align-items: center; /* Centers content horizontally */
  height: 80px; /* Example height */
  margin: 10px;
  color: #4a4848; /* Text color */
  font-family: Arial, sans-serif; /* Example font */
  border-radius: 10px;
  line-height: 1.2;
}

.summary-box.abnormal {
  background-color:#FFF5F6;
  /* For printing on paper */
  -webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
  color-adjust: exact !important;                 /* Firefox 48 – 96 */
  print-color-adjust: exact !important;
}

.summary-box.normal {
  background-color:#F5FFF5;
  /* For printing on paper */
  -webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
  color-adjust: exact !important;                 /* Firefox 48 – 96 */
  print-color-adjust: exact !important;
}

.summary-box p {
  margin: 0;
  font-size: 20px;
  text-align: center;
}

.summary-box span {
  font-size: 24px; /* Example font size for the number */
  font-weight: bold; /* Makes the number bold */
  color: #717171;
}

@media only screen and (max-width: 500px) {
    .summary-box {
      padding-top:20px;
	  font-size: 0.9em;
    }

	.summary-box p {
		font-size: 18px;
		text-align: center;
	}
		
	.summary-box span {
		font-size: 20px; /* Example font size for the number */
		font-weight: bold; /* Makes the number bold */
		padding-top:5px;
	}
}

/* ############### NAVIGATION #################### */

.navigation-container {
	padding: 40px 0 20px 0;
	text-align: center;
}

.navigation-container span {
	font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
	display: block;
}

.button-link {
    display: inline-block; /* Allows the use of padding and sets the element in line */
    padding: 3px 7px; /* Adjusts the size of the button */
    margin-top: 10px;
    color: #515151; /* Text color */
    text-align: center; /* Centers the text */
    text-decoration: none; /* Removes the underline from links */
    font-weight: 400; /* Makes the text bold */
    border-radius: 5px; /* Rounds the corners */
    transition: background-color 0.3s, color 0.3s, transform 0.3s;
	border-width: 1px 1px 1px 2px;
	border-style: solid;
    font-size: 0.9em;
    font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
    position: relative; /* Needed for ::after to position relative to this element */
}

.button-link.red-border {
	border-color:rgb(205, 90, 14);
	/* background: linear-gradient(to right, #fff4f4, rgb(255 255 255));*/
}
.button-link.green-border {
	border-color: #74c172;
	/*background: linear-gradient(to right, #F5FFF5, rgb(255 255 255));*/
}

.button-link.red-dot::after {
    content: ''; /* Create the dot */
    position: absolute;
    top: -5px; /* Adjust position for the top */
    right: -2px; /* Adjust position for the right */
    width: 8px; /* Width of the dot */
    height: 8px; /* Height of the dot */
    background-color: rgb(205, 90, 14); /* Red color for the dot */
    border-radius: 50%; /* Make it a circle */
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.2); /* Optional subtle shadow */
    pointer-events: none; /* Prevent the pseudo-element from interfering with hover */
}

.button-link:hover {
   color: #000000; /* Lighter text color on hover */
    transform: translateY(-4px); /* Slightly move upwards on hover */
}

@media print {
	.switch-tab-button {
		display: none;
	}
}




/* ########################## SECTIONS ########################## */

.section {
	padding-bottom: 40px;
	background-color: #FFFFFF; 
}

.section-header {
	background-color: #FAFAFA; 
	color: #333333; 
	padding: 20px 0; 
	margin: 20px 0;
	font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
	font-size: 1.8em; 
	letter-spacing: 1px; 
	border-radius: 2px; 
	clear: both;
	border-bottom: 1px solid gray;
  
}

.section-description {
	font-size: 1.0em;
	font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
	line-height: 1.5em;
	color: black;
	margin-bottom: 40px;
}


.graph-bottom-container {
	display: block;
	position: relative;
	
}






/* ############### CATEGORY LAYOUT #################### */


.grid {
    display: grid;
    grid-template-columns: 1fr; /* Default to one column */
    gap: 20px;
  }
@media only screen and (min-width: 1000px) {
    .grid {
      grid-template-columns: repeat(2, 1fr); /* Two columns on desktop */
    }
  }
 
 .grid-item	{
 	width: 100%;
	padding: 10px;
    box-sizing: border-box;
  	min-height: 100px;
    position: relative;
	padding:10px 24px;
	border: 1px solid gray;
	border-radius: 10px;
 }
 
 
 
 /* For mobile */
 @media (max-width: 1000px) {
  .grid	{
	width: 100%;
  }
}

/* For desktop */
 @media (min-width: 1001px) {
  .grid	{
  	
  }
}



/* ############### CATEGORY HEADER #################### */

	/* Main container */
	.cat-header-container {
		display: flex;
		width: 100%;
		padding: 10px 20px;
		box-sizing: border-box; /* Include padding in width */
		align-items: flex-start; /* Align content to the top */
		margin-bottom: 20px;
	}

	/* Icon */
	.cat-header-icon {
		flex-shrink: 0; /* Prevent the icon from resizing */
		width: 50px;
		margin-right: 10px; /* Space between icon and text */
		display: flex;
		align-items: center; /* Center icon vertically */
	}

	.cat-header-icon img {
		max-width: 100%; /* Ensure the icon fits within 50px */
		height: auto;
	}

	/* Content container */
	.cat-header-content {
		flex: 1; /* Take up remaining space */
		display: flex;
		flex-direction: column; /* Stack rows vertically */
		gap: 5px; /* Add spacing between rows */
	}

	/* Rows */
	.cat-header-row {
		display: flex;
		justify-content: space-between; /* Space elements in the row */
		align-items: center;
		flex-wrap: nowrap; /* Prevent wrapping within a single row */
	}

	/* Title */
	.cat-header-title {
		flex: 1; /* Take as much space as possible */
		font-size: 1.5em;
		font-weight: 400;
		line-height: 1.0em;
		color: #333;
		text-align: left;
	}

	.cat-header-back-to-top {
		margin-left: 10px;
		font-size: 1.5em;
		align-self: flex-start; /* Align to the top of the row */
	}

	.cat-header-back-to-top:hover {
		transform: scale(1.2);
	}

	.cat-header-back-to-top a {
		text-decoration: none;
		color: #0077cc;
	}

	.cat-header-back-to-top a:hover {
		color: #218edc;
		transform: scale(1.1);
	}
	@media (max-width: 768px) { /* Adjust max-width for your mobile breakpoint */
		.cat-header-back-to-top a:hover {
			transform: none;
		}
	}

	/* Status Dots */
	.cat-header-status-dots {
		flex-shrink: 0;
		font-size: 1em;
		color: #007700;
		margin-right: 10px;
		text-align: left;
		white-space: nowrap; /* Prevent wrapping */
	}

	/* Status Text */
	.cat-header-status-text {
		flex: 1;
		font-size: 1em;
		text-align: left;
		color: #666;
		white-space: nowrap; /* Prevent wrapping */
	}

	/* Responsive Design for Mobile */
	@media (max-width: 768px) {
		.cat-header-container {
			flex-wrap: nowrap; /* Prevent icon from moving above */
			height: 120px;
			padding:0;
			padding-top: 10px;
		}

		.cat-header-content {
			display: flex;
			flex-direction: column;
		}

		.cat-header-row {
			flex-wrap: wrap; /* Allow content to wrap but keep icon aligned */
		}

		.cat-header-status-text {
			margin-top: 5px; /* Add spacing below dots */
			white-space: nowrap; /* Prevent wrapping */
		}
	}



/* ############### CATEGORY COLUMN #################### */

	.category-column {
		border: 0;
		box-shadow: none;
		padding: 0;
	}
	@media only screen and (max-width: 800px) { /* stacked on mobile */
		.category-column {
			padding-top: 0;
		}
	}

	.category-content {
		font-size: 1.0em;
		font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
		line-height: 1.5em;
		color: black;
		margin: 0 0 20px 80px;
	}
	@media only screen and (max-width: 800px) { /* stacked on mobile */
		.category-content {
			margin-left: 0;
		}
	}
	

	.category-container {
		display: flex; /* Use flexbox for alignment */
		max-width: 100%; /* Set your desired max width */
		margin: 0 auto; /* Center the container if needed */
		gap: 20px; /* Add space between the icon and text */
		align-items: flex-start; /* Align icon to the top */
	}

	.category-container .icon {
		font-size: 2em;
		color: #c2c5c4;
		flex-shrink: 0; /* Prevent icon from resizing */
		position: relative;
		left: -7px;
	}

	.category-container .text {
		flex: 1; /* Allow text to take up remaining space */
	}

	.category-container .text p {
		word-wrap: break-word; /* Ensure long words wrap */
		font-size: 1em;
	}



	.interpretation-container {
		display: flex; /* Use flexbox for alignment */
		max-width: 100%; /* Set your desired max width */
		margin: 0 auto; /* Center the container if needed */
		gap: 20px; /* Add space between the icon and text */
		align-items: flex-start; /* Align icon to the top */
	}

	.interpretation-container .icon {
		font-size: 2em;
		color: #c2c5c4;
		flex-shrink: 0; /* Prevent icon from resizing */
		position: relative;
		left: -7px;
	}

	.interpretation-container .text {
		flex: 1; /* Allow text to take up remaining space */
	}

	.interpretation-container .text p {
		word-wrap: break-word; /* Ensure long words wrap */
		font-size: 1em;
		font-family: "Kalam", serif;
		font-weight: 400;
		font-style: normal;
		color:rgb(95 96 97);
	}
	.interpretation-container .text strong {
		color:gray;
		font-weight: 400;
	}


/* ############### COMPOUND COLUMN #################### */

	.compound-column {
		border: 0;
		box-shadow: none;
		padding-top: 4px;
	}
	@media only screen and (max-width: 800px) { /* stacked on mobile */
		.compound-column {
			padding: 0;
		}
	}

	.compound-box {
		display: flex;
		flex-direction: column; /* Stack items vertically */
		padding: 5px 10px;
		border-radius: 10px;
		background-color: #F5F5F5;
		margin-bottom: 10px;
		width: 100%; /* Ensure it spans the container width */
		box-sizing: border-box; /* Include padding in width calculation */
	}

	.compound-box {
		cursor: pointer; /* Change cursor to pointer */
		transition: transform 0.3s ease; 
	}
	
	.compound-box:hover {
		transform: scale(1.05);
	}

	.compound-header {
		display: flex; /* Align children in a row */
		justify-content: space-between; /* Push name to the left and icon to the right */
		align-items: center; /* Center align items vertically */
		width: 100%; /* Full width */
		margin-bottom: 0; /* Add spacing below */
	}
	
	.compound-name {
		font-weight: 500;
		font-size: 0.9em;
		flex-grow: 1; /* Allow the name to take up available space */
	}
	
	.compound-details-icon {
		font-size: 1.1em; /* Adjust size for visibility */
		font-weight:300;
		color: #9f9f9f; /* Adjust the color as needed */
		cursor: pointer; /* Indicate it's clickable */
	}
	.normal-compact .compound-details-icon {
		color: #b4d5bb; /* Adjust the color as needed */
	}
	.abnormal-compact .compound-details-icon {
		color: #d5b4b4; /* Adjust the color as needed */
	}
	.borderline-compact .compound-details-icon {
		color: #d5ceb4; /* Adjust the color as needed */
	}

	.compound-bottom {
		display: flex;
		justify-content: space-between; /* Push items to opposite ends */
		align-items: center; /* Align vertically */
		width: 100%; /* Full width */
	}

	.compound-value {
		font-size: 0.8em;
		color: #333;
		padding-left: 5px;
	}

	.compound-range {
		width:30%; /* Width of mini graph */
		text-align: right; /* Align text to the right */
	}

/* ############### COMPOUND LIST COLLAPSIBLE #################### */

/* Container for compounds with collapse functionality */
.compound-list {
    position: relative;
    transition: max-height 1.5s ease;
}

/* Hidden compounds */
.hidden-compound {
    display: none;
}

/* When the list is expanded, show all compounds */
.compound-list.expanded .hidden-compound {
    display: block;
}

/* Fade overlay at the bottom */
.fade-overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 50px; /* Adjust based on desired fade height */
    background: linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,1)); /* Match compound-box background */
    pointer-events: none; /* Allows clicks to pass through */
    z-index: 1; /* Ensure it sits above compound boxes */
    transition: opacity 0.5s ease;
    opacity: 1;
}

/* Hide fade overlay when expanded */
.compound-list.expanded .fade-overlay {
    opacity: 0;
}

.button-container {
    display: flex; /* Use flexbox for layout */
    justify-content: center; /* Horizontally center the button */
    align-items: center; /* Vertically center the button */
    width: 100%; /* Optional: Ensure container spans full width */
}


.toggle-button {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    align-items: center; /* Center content horizontally */
    justify-content: center; /* Center content vertically */
    min-width: 120px; /* Prevent width changes */
    padding: 8px 16px;
    background-color: #ffffff;
    color: #000000;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.8em;
    transition: background-color 0.3s;
    gap: 0px; /* Add space between caret and text */
}

/* Default: caret below text */
.toggle-button .caret-icon {
    order: 2; /* Place caret below the text by default */
    font-size: 1.8em;
    color: rgb(50, 120, 225);
	line-height: 1.3;
}

.toggle-button .button-text {
    order: 1; /* Place text above the caret by default */
    font-size: 1em;
    color: rgb(50, 120, 225);
    text-align: center;
	line-height: 0;
}

/* When the button is showing 'Less' (caret up) */
.toggle-button.up .caret-icon {
    order: 1; /* Move caret above the text */
}

.toggle-button.up .button-text {
    order: 2; /* Move text below the caret */
}




.normal {
	border-top:5px solid #6aad68 !important;
	background: linear-gradient(to bottom, #F5FFF5, rgb(255 255 255)) !important;
}

.normal-compact {
 	border-left: 3px solid #6aad68;
	border-top:0;
	border-bottom: 1px solid #6aad68;
	background-color: #F5FFF5;
	color: rgb(69, 82, 69)
}

.normal-compact i {
	color: #1a8716;
	font-style: normal;
	font-weight: 500;
}

 
.abnormal {
 	border-top:5px solid rgb(205, 90, 14) !important;
	background: linear-gradient(to bottom, rgb(255 243 243), rgb(255 255 255)) !important;
}

.abnormal-compact {
 	border-left: 3px solid rgb(205, 90, 14);
	border-top:0;
	background-color: #FFF5F6;
	border-bottom: 1px solid rgb(205, 90, 14);
	color: rgb(104, 85, 85)
}

.abnormal-compact i {
	color: #933715;
	font-style: normal;
	font-weight: 500;
}

.borderline {
	border-top:5px solid #f2d22e !important;
	background: linear-gradient(to bottom, rgb(255, 255, 245), rgb(255 255 255)) !important;
}

.borderline-compact {
	border-left: 3px solid #f2d22e;
	border-top: 0;
	border-bottom: 1px solid #f2d22e;
	background-color: #fffdea;
	color: #4d4906;
}
  
.borderline-compact i {
	color: #928208;   
	font-style: normal;
	font-weight: 500;
}
  
  
.graph-title {
    position: relative;
    font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
    font-size: 1.5em;
    line-height: 1.2em;
    color: #30669B;
    text-align: center;
    height: 60px; /* Ensures consistent height */
    margin-top: 20px; /* Adds spacing above */
}

.graph-title span {
    font-size: 0.8em;
    color: #787878;
    font-family: 'Courier New', Courier, monospace;
    font-weight: 600;
    position: absolute;
    right: 0; /* Aligns the unit to the far-right of the container */
    top: 50%;
    transform: translateY(-50%); /* Centers vertically within the title */
}





 /* #################### MINI GRAPH ######################## */

.mini-bar {
   display: flex;
   width: 100%; /* Adjust the width as needed */
   height: 3px;
   position: relative;
   background-color: #f7d25a; /* Yellow background */
   border-radius: 5px;
   /* For printing on paper */
   -webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
   color-adjust: exact !important;                 /* Firefox 48 – 96 */
   print-color-adjust: exact !important;
 }

.mini-arrow-bar-container {
    display: flex;
    width: 100%;
    height: 2px;
    position: relative;
}

.mini-down-arrow {
	position: relative;
	display: inline-block; /* Make the child inline-block */
	margin: auto;
	width: 0; 
	height: 0; 
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 5px solid black;    
}


/* ############### GRAPH #################### */
 
 .bar-container {
 	margin-top: 20px;
	margin-bottom: 50px;
 }
 
 .bar {
    display: flex;
    width: 100%; /* Adjust the width as needed */
    height: 20px;
    position: relative;
    background-color: #f7d25a; /* Yellow background */
	border-radius: 5px;
	/* For printing on paper */
	-webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
	color-adjust: exact !important;                 /* Firefox 48 – 96 */
	print-color-adjust: exact !important;
  }
  	.percentage .bar {
		background-color:#007bff;
		/* For printing on paper */
		-webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
		color-adjust: exact !important;                 /* Firefox 48 – 96 */
		print-color-adjust: exact !important;
	}
	
	
  .yellow-part, .green-part {
    height: 100%;
    position: relative; /* For absolute positioning of the labels */
  }

  .yellow-part:first-child {
    background-color: #f7d25a;
	/*background: linear-gradient(to right, #eebfff 0%, #eebfff 90%, #008000 100%);*/
    flex: 1; /* Equal flex value for equal width */
	width:25%;
	border-radius: 5px;
	/* For printing on paper */
	-webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
	color-adjust: exact !important;                 /* Firefox 48 – 96 */
	print-color-adjust: exact !important;
  }

   .yellow-part:last-child {
    background-color: #f7d25a;
	/*background: linear-gradient(to left, #eebfff 0%, #eebfff 90%, #008000 100%);*/
    flex: 1; /* Equal flex value for equal width */
	width:25%;
	border-radius: 5px;
	/* For printing on paper */
	-webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
	color-adjust: exact !important;                 /* Firefox 48 – 96 */
	print-color-adjust: exact !important;
  }
	
  .green-part {
    background: #0aa42b;
	background: linear-gradient(to left, #bacb1f, #4fd86d, #a3cb1f);;
    width: 50%;
	/* For printing on paper */
	-webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
	color-adjust: exact !important;                 /* Firefox 48 – 96 */
	print-color-adjust: exact !important;
  }
	.percentage .green-part {
		background: #0a37d6;
		background: linear-gradient(to left, #6ba3f1, #0a37d6, #6ba3f1);
		width: 100%;
		border-radius: 5px;
		/* For printing on paper */
		-webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
		color-adjust: exact !important;                 /* Firefox 48 – 96 */
		print-color-adjust: exact !important;
		}
		

  .label {
    position: absolute;
    top: 30px; /* Adjust if you want more space between the bar and the label */
    font-size: 0.8em;
	font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
    color: black;
  }

  .label.start { /* Position the "24" at the beginning of the green part */
    left: 0px;
	color:#0aa42b;
	transform: translate(-50%, 0%);
  }
  	.percentage .label.start, .percentage .label.end {
		color: #0a37d6
	}

  .label.end { /* Position the "270" at the end of the green part */
    right: 0px;
	color:#0aa42b;
	transform: translate(50%, 0%);
  }
  .label.middle { /* Position the "270" at the end of the green part */
   	text-align: center;
	width: 100%;
	color: #0aa42b;
	font-size: 0.8em;
	display: flex;
  	align-items: center;
	justify-content: center;
	line-height: 0.9em;
  }
  
  @media only screen and (max-width: 800px) { /* stacked on mobile */
		.label.middle {
		  transform: translate(0px, -4px); 
		}
		.word {
			max-width: 55px;
		}
	}
  
  .left-arrow, .right-arrow {
	width: 0;
	height: 0;
	border-top: 4px solid transparent; /* Adjust arrow size as needed */
	border-bottom: 4px solid transparent; /* Adjust arrow size as needed */
}


	.word { display: flex;
		align-items: center;}

	.left-arrow {
		border-right: 15px solid #0aa42b; /* Adjust arrow size as needed */
		margin-right:10px;
	}

	.right-arrow {
		border-left: 15px solid #0aa42b; /* Adjust arrow size as needed */
		margin-left:10px;
	}
  
  
  .arrow-bar-container {
    display: flex;
    width: 100%; /* Adjust the width as needed */
    height: 20px;
    position: relative;
  }
  
  .arrow-container {
		position: relative;
		top: -15px; /* Adjust based on the height of your bar */
		left: 50%; /* Default position at 50%, adjust via inline style */
		text-align: center;
		transform: translate(-50%, 0%);
  }
  
   .down-arrow {
		position: relative;
		display: inline-block; /* Make the child inline-block */
		margin: auto;
		width: 0; 
		height: 0; 
		border-left: 10px solid transparent;
		border-right: 10px solid transparent;
		border-top: 10px solid black;    
	}
	
	.abnormal .down-arrow {border-top-color: red;}
	
	.arrow-text {
		position: relative;
		display: block; /* Make the child inline-block */
		margin: auto;
		top: -0px; /* Adjust based on the height of your bar */
		font-size: 1em;
		font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
		color: black;
		font-weight: 600;
  }
  
  .unit-text {
	font-size: 0.9em;
	color: #787878;
	font-family: 'Courier New', Courier, monospace;
	font-weight: 600;
	position: relative;
	top: 9px;	
	float:right;
  }







	/* ########################## Collapsible Graph Info ########################## */
		
		.info-content-button {
			position: relative;
			border: 0px;
			background-color: transparent;
			float: left;
			font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
			font-size: 0.8em;
			color:#869FFF;
		}
		
		/* Initial state of content is hidden */
		.info-content {
			max-height: 0;
			overflow: hidden;
			font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
			font-size: 1em;
			padding:40px 20px 0 20px;
			
		}

		/* When content is active, max-height is increased */
		.info-content.active {
			max-height: 100vh; 
			
			overflow: visible;
			
		}

		.info-content p {
			font-size: 1em;
		}

		.info-content li {
			list-style-type: disc;
			margin-left: 30px;
		}

		
	
	/* ########################## Graph Result ########################## */
	
		.result {
			display: block;
			position: relative;
			font-size: 1em;
			font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
			color: red;
		 }
 
		.red {
			color:rgb(205, 90, 14); 
		}

		.green {
			color:#6aad68;
		}

		.black {
			color:black;
		}

		.orange {
			color:#d59114;
		}
		
		 
		 
		 




/* ############### TEST INTERPRETATION ################ */

.test-interpretation {
	padding: 30px 40px 20px 40px;
	font-family: "Kalam", serif;	
}
@media screen and (max-width: 500px) {
	.test-interpretation {
		padding: 20px 0 10px 0px;
	}
	
}
 
.test-interpretation p {
 	font-size: 1.2em;
	line-height: 1.3em;
	color: #454444;
	font-weight: 400;
	margin-bottom: 0.8em;
}

.test-interpretation i {
	display: block;
	font-style: normal;
	padding: 20px;
	background-color: #fff6d7;
	border-radius: 10px;
	font-size: 1em;
}



/* ############### CATEGORY ICONS #################### */

.category-list-icons {
    list-style: none; /* Remove default bullets */
    padding-left: 0;
}

.category-list-icons li {
    padding-left: 70px; /* Space for the custom icon */
	padding-bottom: 10px;
    position: relative;
    margin-bottom: 10px; /* Add spacing between items */
	min-height: 50px;
	line-height: 1.4em;
	border-bottom: 1px solid #E5E5E5;
	font-size: 0.9em;

}

.category-list-icons li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
   	width: 50px; /* Adjust icon width */
    height: 50px; /* Adjust icon height */
    background-size: contain;
    background-repeat: no-repeat;
}

.category-list-icons .category-name {
	font-size: 1.2em;
	font-weight: bold;
	margin-bottom: 10px;
}

.category-list-icons .compound-list {
	padding: 10px 20px 15px 20px;
	padding-top:10px;
}


/* ========== STATUS DOTS STYLES ========== */

	.status-dots-row {
		display: flex;
		align-items: center;
		gap: 3px;
	}
	.dot-wrapper {
		position: relative;
		display: inline-block; /* so the dot is sized per width/height */
		width: 9px;
		height: 9px;
	}
	
	/* The circle */
	.dot {
		display: block;
		width: 100%;
		height: 100%;
		border-radius: 50%;
	}
	
	/* Colors */
	.dot.abnormaldot   { background-color: #d86565; }
	.dot.borderlinedot { background-color: #f4bf56; }
	.dot.normaldot     { background-color: #74c172; }
	
	/* Fade overlay for the last dot if there's more than 10 total */
	.dot-wrapper.fade::after {
		content: "";
		position: absolute;
		top: 0; right: 0; bottom: 0; left: 0;
		background: linear-gradient(to right,
									rgba(255,255,255,0) 60%,
									rgba(255,255,255,1) 100%);
		pointer-events: none;
	}
	
	.status-dots-text {
		display: inline-block;
		padding-left:15px;
		font-size: 0.5em;
		color: #787878;
	}
	@media only screen and (max-width: 800px) { /* stacked on mobile */
		.status-dots-text {
			padding-top: 0;
		}
	}

	.plus-dot-wrapper {
		display: inline-block;
		font-size: 1em;
		color: rgb(134, 134, 134);
		position: relative;
		top:1px;
	}
  
  


/* ############### DETAILS POPUP #################### */

/* ############### DETAILS POPUP #################### */

/* Global Box-Sizing */
*, *::before, *::after {
    box-sizing: border-box;
}

/* Modal Overlay */
.details-modal {
    display: none; /* Hidden by default */
    position: fixed; /* Stay in place */
    z-index: 3000; /* Sit on top */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    background-color: rgba(0, 0, 0, 0.7); /* Black w/ opacity */
    overflow: hidden; /* Prevent scrolling of the background */
}

/* Modal Content */
.details-modal-content {
    margin: auto; /* Centered */
	margin-top: 30px;
    padding: 0; /* Remove padding to manage spacing via header and body */
    width: 95%; /* Adjust width for smaller screens */
    max-width: 800px; /* Max width for desktop */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    position: relative;
    border-radius: 15px;
    display: flex;
    flex-direction: column; /* Stack header and body vertically */
    max-height: 90vh; /* Ensure modal doesn't exceed 90% of the viewport height */
    overflow: hidden; /* Prevent content overflow */
}

/* Modal Header */
.modal-header {
    background-color: transparent;
    position: relative;
    flex: 0 0 auto; /* Prevent header from growing */

}

/* Close Button */
.close-button {
    position: absolute;          /* Position absolutely within the modal header */
    top: 24px;
    right: 5px;                /* Distance from the right */
    transform: translateY(-50%); /* Center vertically */
    width: 30px;                 /* Fixed width for the circle */
    height: 30px;                /* Fixed height for the circle */
    background-color: #ffffff;   /* White background */
    border: 2px solid #000000;   /* Black border */
    border-radius: 50%;          /* Makes it a circle */
    display: flex;               /* Enables flexbox */
    align-items: center;         /* Vertical centering */
    justify-content: center;     /* Horizontal centering */
    color: #000000;              /* Black 'X' color for contrast */
    font-size: 30px;             /* Size of the 'X' */
    font-weight: bold;           /* Bold 'X' for visibility */
    cursor: pointer;             /* Pointer cursor on hover */
    z-index: 1001;               /* Ensure it sits above modal content */
    transition: background-color 0.3s, color 0.3s; /* Smooth transitions */
    border: 1px solid black;                /* Remove default button border */
    padding: 0;                   /* Remove default button padding */
}

.close-button:hover,
.close-button:focus {
    background-color: #f0f0f0;   /* Slightly gray background on hover */
    color: #ff0000;              /* Red 'X' on hover for emphasis */
    outline: none;               /* Remove default focus outline */
}

/* Modal Body */
.modal-body {
    padding: 0px;
    overflow-y: auto; /* Enable vertical scrolling for the content */
    max-height: 100vh; /* Limit body height to fit within viewport */
    flex: 1 1 auto; /* Allow body to grow and shrink as needed */
	scrollbar-width: thin; /* Firefox: Use thin scrollbar */
	scrollbar-color: #ccc transparent; /* Firefox: Thumb and track colors */
}

.modal-body::-webkit-scrollbar {
width: 8px; /* Width of the scrollbar */
}

.modal-body::-webkit-scrollbar-track {
background: transparent; /* Track background color */
}

.modal-body::-webkit-scrollbar-thumb {
background-color: #ccc; /* Thumb color */
border-radius: 4px; /* Round edges */
border: 2px solid transparent; /* Padding inside the track */
}

.modal-body::-webkit-scrollbar-thumb:hover {
background-color: #aaa; /* Darker thumb on hover */
}

.details-compound-description {
	padding: 0 0 0 0;
	font-size: 1.0em;
	line-height: 1.5em;
	color: black;
}
.details-compound-description p {
	font-size: 1em;
}
.details-compound-description ul {
	list-style-type: disc;
	margin-left: 30px;
	line-height: 1.3;
}

.details-compound-interpretation {
	padding: 10px 20px 0 0;
	font-size: 1.1em;
	line-height: 1.5em;
	color: black;
}


/* SHARE TEST RESULTS MODAL */
/* Modal Content */
.share-results-modal-content {
    margin: auto; /* Centered */
	margin-top: 30px;
    padding: 0; /* Remove padding to manage spacing via header and body */
    width: 95%; /* Adjust width for smaller screens */
    max-width: 800px; /* Max width for desktop */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3);
    position: relative;
    border-radius: 15px;
    display: flex;
    flex-direction: column; /* Stack header and body vertically */
    height: 400px; /* Ensure modal doesn't exceed 90% of the viewport height */
    overflow: hidden; /* Prevent content overflow */
}
@media (max-width: 568px) {
	.share-results-modal-content {
		height: 100vh; /* Full height for mobile */
		border-radius: 10px;
	}
}



.other-cats-container {
    display: flex;
    flex-wrap: nowrap;
    gap: 0; /* Space between icons and text */
    align-items: flex-start;
    margin-bottom: 16px; /* Spacing below the container */
}

.other-cats-icons {
    display: grid;
    grid-template-columns: repeat(6, auto); /* Up to 6 icons in one row */
    grid-gap: 0; /* Space between icons */
    flex-shrink: 0; /* Prevent icons from shrinking */
}

.other-cats-category-icon {
    width: 48px; /* Icon size */
    height: 48px; /* Keep square aspect ratio */
	margin-right:2px;
}

.other-cats-text {
    flex: 1; /* Take up remaining space */
    margin: 0 0 10px 0; /* Ensure spacing between icons and text */
    max-width: 100%; /* Prevent text from shrinking */
    word-wrap: break-word; /* Handle long text gracefully */
}


.inline-block-container {
    display: inline-block; /* Makes the element inline-block */
    border: 1px solid #dddddd; /* Border color */
    border-radius: 5px; /* Rounded corners */
    padding: 0 8px 0 0; /* Inner spacing */
	margin:6px 5px 0px 0;
    background-color: #f9f9f9; /* Optional: background color */
    vertical-align: middle; /* Aligns with surrounding inline elements */
}

.inline-block-container img {
    width: 30px; /* Icon width */
    height: 30px; /* Icon height */
   vertical-align: middle; /* Align icon with text */
}

.inline-block-container span {
    font-size: 14px; /* Adjust font size */
    font-weight: 400; /* Font weight */
    color: #333; /* Text color */
    line-height: 30px; /* Align text with the icon */
    vertical-align: middle; /* Ensures text aligns with the icon */
    white-space: nowrap; /* Prevents wrapping */
}


/* Mobile responsiveness */
@media (max-width: 768px) {
    .other-cats-container {
        flex-wrap: wrap; /* Stack content vertically on mobile */
    }
    .other-cats-icons {
        grid-template-columns: repeat(6, 1fr); /* 6 icons in one row */
        width: 100%; /* Full width for icons on mobile */
        margin-bottom: 16px; /* Space below icons */
    }
    .other-cats-text {
        width: 100%; /* Text takes full width below icons */
        margin-left: 0; /* Reset left margin */
    }
}







/* Responsive Styles */
@media screen and (max-width: 800px) {
    .details-modal-content {
        width: 100%; /* Full width for mobile */
        height: 100%; /* Full height for mobile */
        margin: 0; /* Remove margin */
        border-radius: 0; /* Remove border radius */
        padding: 0; /* Remove padding as it's managed by header and body */
		max-height: 100vh;
    }

	.modal-body {
		padding-top: 20px;
		height: 100vh;
	}

      .close-button {
        right: 3px;                /* Adjust right position for better visibility */
		top:20px;
    }

	.details-compound-interpretation {
		padding: 10px 0 0 0;
	}
}



/* ############### BOTTOM INFO #################### */

/* Container */
.bottom-info-title {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr; /* Three equal columns */
    gap: 16px; /* Space between columns */
    font-family: 'Roboto', 'Open Sans', Arial, Verdana, sans-serif;
    font-size: 1.3em;
    line-height: 1.2em;
    color: rgb(0, 0, 0);
    text-align: center;
    border-top: 1px solid rgb(221, 221, 221); /* Border at the top */
    padding: 20px 0 0 0; /* Padding at the top and bottom */
}

/* Left Column */
.bottom-info-left {
    text-align: left;
    font-size: 14px;
    line-height: 1.2em;
}

/* Middle Column */
.bottom-info-middle {
    text-align: center;
    font-size: 12px;
    line-height: 1.2em;
}

/* Right Column */
.bottom-info-right {
    text-align: right;
    font-size: 14px;
    line-height: 1.2em;
}

/* Spacing Element */
.bottom-info-spacing {
    margin-top: 10px;
}

/* Responsive Design for Mobile */
@media (max-width: 768px) {
    .bottom-info-title {
        grid-template-columns: 1fr; /* Stack all columns vertically */
        text-align: left; /* Ensure text aligns left */
    }

    .bottom-info-middle {
        order: 3; /* Move the middle column to the bottom */
        margin-top: 20px; /* Add spacing above the middle column */
		text-align: center;
    }

    .bottom-info-left,
    .bottom-info-right {
        order: initial; /* Keep the left and right info in their natural order */
        margin-bottom: 20px; /* Add spacing below each section */
		text-align: center;
    }
}