a425e0d7b7d3dd637125baae3735bf1e9044c09d
hiram
  Wed Aug 21 09:39:14 2024 -0700
correct tooltip class definitions for column headers tips refs #32596

diff --git src/hg/htdocs/style/assemblySearch.css src/hg/htdocs/style/assemblySearch.css
index 1073c81..b7e8f3b 100644
--- src/hg/htdocs/style/assemblySearch.css
+++ src/hg/htdocs/style/assemblySearch.css
@@ -1,165 +1,228 @@
 .fixedHeightTable {
   max-width: 100%;
   max-height: 1024px;
   overflow-y: auto;
     /* overflow-x: auto; */
 }
 
 .stickyTable {
   position: sticky;
   top: 0;
   z-index: 100;
   background-color: white;
 }
 
 table {
   width: 98%;
   table-layout: auto;
   border-collapse: collapse;
 }
 th, td {
   border: 1px solid black;
   padding: 8px;
   text-align: left;
 }
 th {
   background-color: #f2f2f2;
 }
 
 thead th {
   border: 3px solid black;
 }
 
 .fifthRowHighlight tr:nth-child(5n) th,
 .fifthRowHighlight tr:nth-child(5n) td {
    background-color: #d3d3d3;
 }
 
 .submitContainer {
   position: relative;
   display: inline-block;
 }
 
 /* Spinner styles */
 .spinner {
     display: none; /* Hidden by default */
     position: absolute;
     top: 5%;
     left: 30%;
     transform: translate(-50%, -50%);
     border: 8px solid transparent; /* Light grey */
     border-top: 8px solid #3498db; /* Blue */
     border-bottom: 8px solid #9834db; /* light grey */
     border-radius: 50%;
     width: 30px;
     height: 30px;
     animation: spin 1s linear infinite;
 }
 
 /*    border: 8px solid #f3f3f3; light grey
     border-top: 8px solid #3498db;  blue
 */
 
 .submitContainer.loading button {
     opacity: 0.5;
 }
 
 /* Spinner animation */
 @keyframes spin {
     0% { transform: rotate(0deg); }
     100% { transform: rotate(360deg); }
 }
 
 /* CSS styles to position radio button groups */
 .radioGroupContainer {
     display: flex; /* Use flexbox to align items horizontally */
     gap: 20px; /* Optional: Add space between the two groups */
     border: 2px solid #000; /* Add a 2px solid black border around the container */
     padding: 10px; /* Optional: Add padding inside the border */
 }
 
 .radioGroup {
     display: flex;
     flex-direction: column; /* Arrange radio buttons vertically */
 }
 
 .radioGroup:last-child {
     align-items: center;
     justify-content: flex-end; /* Aligns the radio button and label to the right */
     margin-left: auto; /* Push the second group to the right */
 }
 
 .formDiv > div, .radioGroupContainer {
     width: 100%;
     box-sizing: border-box;
 }
 
 .searchTip {
     position: relative;
     display: inline-block;
     cursor: pointer;
     background-color: #e5cb99;
     color: #00f;
 }
 
 .searchTiptext {
     visibility: hidden;
     width: 600px;
     background-color: #fff;
     color: #000;
     border: 1px solid black;
     text-align: left;
     border-radius: 5px;
     padding: 5px;
     position: absolute;
     z-index: 1;
     bottom: -925%; /* Position above the text */
     left: 50%;
     /* margin-left: -70px; /* Center the searchTip */
     margin-left: -300px;
     transition: opacity 0.3s;
 }
 
 .searchTip:hover .searchTiptext {
     visibility: visible;
     opacity: 1;
 }
 
 ol.noBullets {
   list-style-type: none;
   padding: 0;
   margin: 0;
 }
 
 #modalWrapper.overlay::before {
     content: " ";
     width: 100%;
     height: 100%;
     position: fixed;
     z-index: 100;
     top: 0;
     left: 0;
     background: #000;
     background: rgba(0,0,0,0.7);
 }
 
 #modalWindow {
     display: none;
     z-index: 200;
     position: fixed;
     left: 50%;
     top: 50%;
     width: 460px;
     height: 80%;
     overflow: auto;
     padding: 10px 20px;
     background: #fff;
     border: 5px solid #999;
     border-radius: 10px;
     box-shadow: 0 0 10px rgba(0,0,0,0.5);
 }
 
 #modalWrapper.overlay #modalWindow {
     display: block;
 }
 
+/* allow content in table header cells to overflow to allow tooltip
+ *  legend display outside the cell
+ */
+.dataTable thead tr th {
+  overflow: visible;
+}
+
+.tooltip {
+  position: relative;
+  display: inline-block;
+  overflow: visible;
+}
+
+.dataTable thead tr th:hover .tooltiptext {
+  visibility: visible;
+}
+
+.dataTable thead tr th:hover .tooltiptextright {
+  visibility: visible;
+}
+
+.tooltip .tooltiptext {
+  border: 2px solid #000;
+  visibility: hidden;
+  overflow: visible;
+  position: absolute;
+  padding: 2px;
+  z-index: 5;
+  float: left;
+  margin: 0 auto;
+  height: auto;
+  width: 300px;
+  color: black;
+  left: -10px;
+  transform: translate(1px, -110%);
+  top: 0;
+  background: #ffffff;
+  color: #000000;
+}
+
+/* right most two columns have right margins instead of left so as
+ *  not to run off the page to the right
+ */
+
+.tooltip .tooltiptextright {
+  border: 2px solid #000;
+  visibility: hidden;
+  overflow: visible;
+  position: absolute;
+  padding: 2px;
+  z-index: 5;
+  float: right;
+  margin: 0 auto;
+  height: auto;
+  width: 300px;
+  color: black;
+  right: -10px;
+  transform: translate(1px, -110%);
+  top: 0;
+  background: #ffffff;
+  color: #000000;
+}
+