.table-checkbox-inner {
	padding-right: 10px;
	overflow-y: auto;
	background-color: transparent;
	box-shadow: none;
}

#priceRangeSlider,
#zipcodeRangeSlider {
	margin-top: 10px;
}

#minPriceInput,
#maxPriceInput,
#minZipcodeInput,
#maxZipcodeInput {
	width: 60px;
	margin-top: 5px;
}

#partId {
	width: 259px;
	displa: inline-block;
	position: absolute;
	content: "";
	border-left: 2px solid black;
	border-top: 2px solid black;
	padding: 5px;
	right: 10px;
	top: 20%;
	position: relative;
	cursor: pointer;
	display: inline-block;
	padding: 5px 50px 5px 10px;
	border: 1px solid #ccc;
	-moz-transform: rotate(-135deg);
	-ms-transform: rotate(-135deg);
	-o-transform: rotate(-135deg);
	/* -webkit-transform: rotate(-135deg); */
	/* transform: rotate(-135deg); */
}

.dialog-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	z-index: 9999;
}

.dialog-box {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-color: #fff;
	padding: 20px;
	border-radius: 5px;
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.close-btn {
	position: absolute;
	top: 10px;
	right: 10px;
	cursor: pointer;
}

/* Custom CSS */
#partsTable {
	color: #969696 !important;
}

#partsTable thead tr th.sorting {
	font-size: 1rem;
	font-weight: 500;
	border: 1px solid #b5b5b5;
	vertical-align: top;
	/*white-space: nowrap;*/
}

th.sorting {
	white-space: nowrap;
}

#partsTable thead tr th.sorting div {
	overflow-y: auto;
	max-height: 200px;
	background-color: transparent;
}

.table-checkbox-inner {
	font-weight: normal;
	font-size: 0.9rem;
}

table.dataTable.display tbody tr.odd>.sorting_1,
table.dataTable.order-column.stripe tbody tr.odd>.sorting_1 {
	/*
min-width: 225px;
*/
}

table.dataTable thead th,
table.dataTable thead td {
	padding: 0;
	border-bottom: none;
}

.param-header {
	padding: 1rem 0.5rem;
	display: inline-block;
	background-color: #009899;
	color: #fff;
	width: 100%;
	border-bottom: solid 1px #b5b5b5;
	height: 80px;
	text-align: center;
}

th.sorting>div {
	padding: 1rem 0.5rem;
}

.table-checkbox-inner>input {
	margin-right: 0.3rem;
}

table.dataTable.display tbody tr>.sorting_1 {
	text-align: left;
}

table.dataTable.display tbody tr>td {
	text-align: center;
	border: 1px solid #b5b5b5;
	white-space: nowrap;
	color: #969696 !important;
}

table.dataTable.no-footer {
	border-bottom: none;
}

.table-buttons {
	margin-top: 2rem;
	margin-bottom: 2rem;
	position: relative;
}

.table-buttons button {
	border: 1px solid #b5b5b5;
}

.dataTables_length {
	margin-bottom: 2rem;
}

.partId.sorting {
	text-align: center;
}

#partsTable thead tr>th.sorting:nth-of-type(1) {
	min-width: 300px;
	background-color: #fff !important;
}

#partsTable thead tr>th.sorting:nth-of-type(1) .param-header {
	background-color: #fff;
	color: #009899;
}

span.part-number {
	min-width: 150px;
	display: inline-block;
	text-align: left;
}

span.part-number a {
	text-decoration: underline;
	color: #009899;
}

.info-icon {
	padding-left: 10px;
	padding-right: 10px;
}

table.dataTable.display tbody tr>td:nth-of-type(1) {
	text-align: left;
}

.dummy-scrollbar {
	overflow-x: auto;
	overflow-y: hidden;
	height: 20px;
	/* height of the scrollbar */
}

.table-container {
	width: auto;
}

.table-container::-webkit-scrollbar {
	display: none;
	/* hide the default scrollbar for webkit browsers */
}

.dummy-content {
	/* Set this width to be the same as your table's width when it overflows. 
You might need to adjust this value based on your actual table width. */
	width: 2790px;
	height: 1px;
}

.dummy-scrollbar-top,
.dummy-scrollbar-bottom,
.table-container {
	overflow-x: scroll;
	overflow-y: hidden;
}

.dummy-scrollbar-top {
	height: 20px;
	margin-bottom: 20px;
}

.dummy-scrollbar-bottom {
	height: 20px;
}

.dummy-content-top,
.dummy-content-bottom {
	height: 20px;
}

.partsTable_wrapper {
	height: 200px;
	background-color: #88ff88;
	overflow: auto;
}

.table-container::-webkit-scrollbar {
	display: none;
}

table.dataTable thead .sorting_asc span {
	background-image: url("https://cdn-icons-png.flaticon.com/128/8572/8572573.png");
	background-repeat: no-repeat;
	background-position: right;
	background-size: 15px 15px;
	border-right: 5px solid transparent;
	padding-right: 15px;
}

table.dataTable thead .sorting_desc span {
	background-image: url("https://cdn-icons-png.flaticon.com/128/8572/8572572.png");
	background-repeat: no-repeat;
	background-position: right;
	background-size: 15px 15px;
	border-right: 5px solid transparent;
	padding-right: 15px;
}

table.dataTable thead .sorting {
	background-image: none !important;
}

#partCountVal {
	background-image: none !important;
}

.GFG {
	color: white;
	background: green;
	padding: 5px 10px;
}

.tooltip-text {
	position: absolute;
	z-index: 2;
	color: white;
	font-size: 12px;
	background-color: #192733;
	border-radius: 10px;
	padding: 5px 5px 5px 5px;
	width: 350px;
}

.tooltip-text a {
	color: white;
	text-decoration: bold;
}

#fadetip {
	opacity: 0;
	transition: opacity 1s;
}

#delay {
	opacity: 0;
	transition: opacity 5s;
	transition-delay: 3s;
}

.hover-text:hover #fadetip {
	opacity: 1;
}

.hover-text:hover #delay {
	opacity: 1;
}

.hover-text {
	position: relative;
	display: inline-block;
}

.hover-text a {
	color: #009899;
	font-weight: bold;
}

.closePModal {
	position: absolute;
	right: 10px;
	top: 10px;
	border: none;
	width: 40px;
}

.p-search .modal-header {
	border-bottom: none;
	border-right: 1px solid #8c8c8c;
	border-radius: 0;
}

.p-search .modal-dialog {
	max-width: 750px;
	margin: 2.75rem auto;
}

.pdfdocicon .tooltip-pdf {
	visibility: hidden;
	width: 320px;
	background-color: black;
	color: #fff;
	text-align: center;
	padding: 5px 0;
	border-radius: 6px;
	position: absolute;
	z-index: 1;
}

.pdfdocicon:hover .tooltip-pdf {
	visibility: visible;
}

.carticon .tooltip-pdf {
	visibility: hidden;
	width: 250px;
	background-color: black;
	color: #fff;
	text-align: left;
	padding: 10px 10px 10px 10px;
	border-radius: 6px;
	position: absolute;
	z-index: 1;
}

.carticon:hover .tooltip-pdf {
	visibility: visible;
}

.tooltip-pdf a {
	color: #009899;
	font-weight: bold;
}

.new_product {
	color: #ffffff;
	background: #009899;
	padding-right: 4px;
	padding-left: 4px;
}

.compare-checkbox {
	vertical-align: bottom;
	position: relative;
	top: -5px;
	*: ;
	overflow: hidden;
}

.topbuttonlist,
.dt-button {
	font-family: 'titillium web';
	font-style: normal;
	font-weight: 400;
	font-size: 13px;
	line-height: 17px;
	text-align: center;
	color: #ffffff;
	background-color: inherit;
	margin: 0 0 0 0;
	padding: 10px 20px 10px 20px;
	border: none;
	border: 1px solid #333;
	letter-spacing: 1.4px;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	text-transform: uppercase;
	background-image: none;
	color: #ffffff !important;
	background-color: #333 !important;
}

div.dt-buttons>.dt-button:first-child {
	position: absolute;
	right: 0;
	margin-right: 2px;
}

.buttons-columnVisibility {
	background-color: #ffffff !important;
	color: #333 !important;
	font-size: 13px;
}

.helpTextHeader {
	font-family: 'titillium web';
	text-align: left;
	font-size: 16px;
}

body.circuit-protection .table-buttons {
    display: inline-block;
    float: right;
}

body.circuit-protection .table-buttons .dt-button.buttons-csv {
    position: relative;
}

/* The Modal (background) */
.helpContent {
	position: absolute;
	top: 30%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 1100px;
	height: auto;
	text-align: left;
	background-color: #fff;
	box-sizing: border-box;
	/* border-block-color: red; */
	border: 1px solid #009899;
	z-index: 100;
	display: none;
	font-size: 14px;
}

.helpContent h3 {
	background-color: #009899;
	padding-left: 15px;
	color: #fff;
}

.helpContent li {
	padding-left: 13px;
}

.helpClose-btn {
	position: absolute;
	right: 10px;
	top: 5px;
	background-color: black;
	color: white;
	border-radius: 5%;
	padding: 4px;
	cursor: pointer;
}

/*
ADJUSTED FOR THE STICKY HEADER STARTS HERE
*/
/*
.table-container {
width: auto;
}
*/
.table-container {
	width: auto;
	max-height: 1500px;
	/* Adjust this height as needed */
	overflow-y: auto;
	position: relative;
}

thead th {
	position: sticky;
	top: 0;
	background-color: #f8f9fa;
	z-index: 10;
	box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.1);
}

/*
ADJUSTED FOR THE STICKY HEADER ENDS HERE
*/

/* Range Slider Styling */
.range-slider-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin: 1px 0;
	height: 150px;
	position: relative;
	background-color: rgba(0, 153, 154, 0.05);
}

.range-slider {
	height: 120px;
	margin: 10px 15px;
}

.ui-slider-vertical {
	width: 8px;
	overflow-y: initial !important;
}

.ui-slider-vertical .ui-slider-handle {
	width: 20px !important;
	height: 10px !important;
	border-radius: 2px !important;
	left: 50% !important;
	margin-left: -10px !important;
	background: #00999a !important;
	border: 1px solid #007777 !important;
	cursor: pointer !important;
}

.ui-slider-handle:hover {
	background: #00b3b4 !important;
}

.min-value-display,
.max-value-display {
	margin: 5px 0;
	font-size: 12px;
	text-align: center;
	width: 100%;
	padding-left: 15px;
}

#partsTable th,
#partsTable td {
	box-sizing: border-box;
	padding: 8px;
	margin: 0;
}



/* A class that sets fixed positioning but starts invisible. */
.parametrics-search--fixed {
  position: fixed;
  top: 0;
  left: 0;         
  z-index: 22;
  background: #fff;

  /* Start hidden and fade in/out with a transition. */
  opacity: 0;
  transition: opacity 0.3s ease; 
}

/* A second class that simply toggles opacity from 0 to 1. */
.parametrics-search--fixed.parametrics-search--visible {
  opacity: 1;  
}




table.dataTable thead th, table.dataTable thead td {
	padding: 0 !important;
}
table#partsTable {
    font-size: 14px;
}

/* =================================================================
   PARAMETER HEADERS AND FILTERS
   ================================================================= */

.param-header {
    padding: 1rem 0.5rem;
    display: inline-block;
    background-color: #eaeaea;
    color: #000000;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    width: 100%;
    border-bottom: solid 1px #b5b5b5;
    height: 50px;
    text-align: left;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#partsTable thead tr > th.sorting:nth-of-type(1) .param-header {
    background-color: #eaeaea;
    color: #000;
}

#partsTable thead tr > th .param-header, 
#partsTable thead tr > th .collapse-control, 
#partsTable thead tr > th .collapse-control + div {
    padding-left: 20px;
    text-align: left;
}

/* Second column header - additional padding */
#partsTable thead tr > th:nth-child(2) .param-header,
#partsTable thead tr > th:nth-child(2) .collapse-control,
#partsTable thead tr > th:nth-child(2) .collapse-control + div {
    padding-left: 30px; /* 20px + 10px = 30px */
}
#partsTable tbody tr td:nth-child(2) {
    padding-left: 30px !important; /* Match header padding */
}

/* Filter areas */
#partsTable thead th > div {
    position: relative;
    z-index: 1002;
    padding: 0 0.5rem;
}

#partsTable thead tr th div#partsTable_filter {
    width: 100% !important;
    text-align: left;
}

#partsTable thead th:first-of-type > div {
    z-index: 999;
    padding-top: 0;
}

.filter-scroll-container {
    max-height: 150px;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    width: 100% !important;
    box-sizing: border-box !important;
}

th.sorting {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
}

.sorting_1{
  display: flex;
  flex-wrap: wrap;
}

tr {
    vertical-align:middle
}

tr {
    vertical-align:middle
}

#partsTable td:not(.sorting_1) {
    color: #000!important;
}

/* =================================================================
   COLLAPSE CONTROLS AND FILTER ICONS
   ================================================================= */

.collapse-control {
    display: block;
    text-align: center;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #5f5d5d;
    transition: color 0.2s ease;
}

.collapse-control[data-state="collapsed"] {
    border-bottom: none;
}

.collapse-control[data-state="expanded"] {
    border-bottom: 1px solid #b5b5b5;
}

.collapse-control:hover {
    color: #009899;
    text-decoration: none;
}

.filter-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

.filter-icon svg {
    width: 100%;
    height: 100%;
    max-width: 14px;
}

.collapse-control:hover .filter-icon svg line,
.collapse-control:hover .filter-icon svg path {
    stroke: #009899;
}

.helpTextHeader a.collapse-control,
a.collapse-control {
    outline: none;
    text-align: left;
}

a[data-state="expanded"] + div {
    padding-right: 20px !important;
    text-align: left;
    padding-left: 0.7rem;
    padding-top: 8px !important;
}

/* =================================================================
   CHECKBOXES AND INPUTS
   ================================================================= */

.table-checkbox-inner {
    padding-right: 10px;
    overflow-y: auto;
    background-color: transparent;
    box-shadow: none;
    min-width: 100px;
    font-weight: normal;
    font-size: 1rem;
}

.table-checkbox-inner > input {
    margin-right: 0.3rem;
}

.compare-checkbox {
    vertical-align: middle !important;
    margin-right: 5px !important;
    overflow: hidden;
    display: inline-block;
    width: 14px;
    margin-top: -5px;
}

.dataTables_wrapper .dataTables_filter input {
    background-color: #fff;
}
/* =================================================================
   SCROLLBARS
   ================================================================= */

/* Hide native horizontal scrollbar */
.table-container::-webkit-scrollbar {
    height: 0;
    display: none;
}

/* Fake horizontal scrollbar */
.fake-horizontal-scroll {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 17px;
    overflow-x: auto;
    overflow-y: hidden;
    background: #f0f0f0;
    z-index: 1000;
    display: none;
    border-top: 1px solid #ddd;
}

.fake-horizontal-scroll::-webkit-scrollbar {
    height: 17px;
}

.fake-scroll-content {
    height: 1px;
    background: transparent;
}

/* Scrollbar styling */
.table-container::-webkit-scrollbar,
.fake-horizontal-scroll::-webkit-scrollbar {
    height: 15px;
}

.table-container::-webkit-scrollbar-track,
.fake-horizontal-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.table-container::-webkit-scrollbar-thumb,
.fake-horizontal-scroll::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 6px;
}

.table-container::-webkit-scrollbar-thumb:hover,
.fake-horizontal-scroll::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Filter scrollbar styling */
.filter-scroll-container::-webkit-scrollbar {
    width: 6px;
}

.filter-scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.filter-scroll-container::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 3px;
}

.filter-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Firefox scrollbar styling */
.filter-scroll-container {
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}

/* =================================================================
   RANGE SLIDERS
   ================================================================= */

#priceRangeSlider, 
#zipcodeRangeSlider {
    margin-top: 10px;
}

#minPriceInput, 
#maxPriceInput, 
#minZipcodeInput, 
#maxZipcodeInput {
    width: 60px;
    margin-top: 5px;
}

.range-slider-container {
    display: flex;
    flex-direction: column;
    align-items: start;
    margin: 1px 0;
    height: 150px;
    position: relative;
    z-index: 1003;
    background: white;
    background-color: rgba(0, 153, 154, 0.05);
    transition: height 0.3s ease;
}

.range-slider {
    height: 120px;
    margin: 5px 15px;
    transition: height 0.3s ease;
    max-width: 4px;
}

.ui-slider-vertical {
    width: 8px;
    overflow-y: initial !important;
}

.ui-slider-vertical .ui-slider-handle {
    width: 20px !important;
    height: 10px !important;
    border-radius: 2px !important;
    left: 50% !important;
    margin-left: -10px !important;
    background: #5f5d5d!important;
    color: #0a0909;
    border: 1px solid #5f5d5d!important;
    cursor: pointer !important;
}

.ui-slider-handle:hover {
    background: #00b3b4 !important;
}

.min-value-display, 
.max-value-display {
    margin: 5px 0;
    font-size: 12px;
    text-align: left;
    width: 100%;
    padding-left: 0;
    overflow-y: hidden !important;
}

/* =================================================================
   BUTTONS AND CONTROLS
   ================================================================= */


/* =================================================================
   DIALOGS AND MODALS
   ================================================================= */

.dialog-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

.dialog-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
}

.modal {
    z-index: 9998;
}

.p-search .modal-header {
    border-bottom: none;
    border-right: 1px solid #8c8c8c;
    border-radius: 0;
}

.p-search .modal-dialog {
    max-width: 750px;
    margin: 2.75rem auto;
}

.closePModal {
    position: absolute;
    right: 10px;
    top: 10px;
    border: none;
    width: 40px;
}

/* =================================================================
   HELP CONTENT
   ================================================================= */

.helpContent {
    position: fixed;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1100px;
    height: auto;
    text-align: left;
    background-color: #fff;
    box-sizing: border-box;
    border: 1px solid #009899;
    z-index: 9999;
    display: none;
    font-size: 14px;
}

.helpContent h3 {
    background-color: #009899;
    padding-left: 15px;
    color: #fff;
}

.helpContent li {
    padding-left: 13px;
}

.helpClose-btn {
    position: absolute;
    right: 10px;
    top: 5px;
    background-color: black;
    color: white;
    border-radius: 5%;
    padding: 4px;
    cursor: pointer;
}

.helpTextHeader {
    font-family: 'titillium web';
    text-align: left;
    font-size: 16px;
}

/* =================================================================
   TOOLTIPS
   ================================================================= */

.tooltip-text {
    position: absolute;
    z-index: 2;
    color: white;
    font-size: 12px;
    background-color: #192733;
    border-radius: 10px;
    padding: 5px;
    width: 350px;
}

.tooltip-text a {
    color: white;
    text-decoration: bold;
}

.pdfdocicon .tooltip-pdf,
.carticon .tooltip-pdf {
    visibility: hidden;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
}

.pdfdocicon .tooltip-pdf {
    width: 320px;
}

.carticon .tooltip-pdf {
    width: 250px;
    text-align: left;
    padding: 10px;
    z-index: 9999;
}

.pdfdocicon:hover .tooltip-pdf,
.carticon:hover .tooltip-pdf {
    visibility: visible;
}

.tooltip-pdf a {
    color: #009899;
    font-weight: bold;
}

/* =================================================================
   SPECIAL ELEMENTS
   ================================================================= */

#partId {
    width: 259px;
    display: inline-block;
    position: relative;
    border-left: 2px solid black;
    border-top: 2px solid black;
    padding: 5px 50px 5px 10px;
    cursor: pointer;
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
}

#partCountVal {
    background-image: none !important;
}

.info-icon {
    padding-left: 10px;
    padding-right: 10px;
}

.new_product {
    color: #ffffff;
    background: #009899;
    padding-right: 4px;
    padding-left: 4px;
}

.highlighted-interface {
    background-color: #ffff99;
    font-weight: bold;
    padding: 2px 4px;
    border-radius: 3px;
}

/* Part number styling */
span.part-number {
    display: inline-block;
    max-width: 200px !important;
    min-width: 150px;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
    margin-bottom: 7px;
}

span.part-number + a {
    display: inline-block;
    margin-left: 23px;
}

span.part-number a {
    text-decoration: none;
    color: #5f5d5d;
    white-space: nowrap !important;
    font-weight: 600;
    font-size: 19px;
}

/* =================================================================
   HOVER EFFECTS AND ANIMATIONS
   ================================================================= */

.hover-text {
    position: relative;
    display: inline-block;
}

.hover-text a {
    color: #009899;
    font-weight: bold;
}

#fadetip {
    opacity: 0;
    transition: opacity 1s;
}

#delay {
    opacity: 0;
    transition: opacity 5s;
    transition-delay: 3s;
}

.hover-text:hover #fadetip {
    opacity: 1;
}

.hover-text:hover #delay {
    opacity: 1;
}

/* =================================================================
   TABLE STYLING OVERRIDES
   ================================================================= */

table.dataTable.no-footer {
    border-bottom: none;
}

table.dataTable.display tbody tr.odd > .sorting_1,
table.dataTable.order-column.stripe tbody tr.odd > .sorting_1,
table.dataTable.display tbody tr > .sorting_1 {
    text-align: left;
}

#partsTable tbody tr:first-child td {
    border-top: none;
}

table.dataTable.display tbody tr > td img {
    max-width: 20px !important;
    height: auto !important;
    vertical-align: middle !important;
}

/* Remove DataTables row effects */
table.dataTable.stripe>tbody>tr.odd>*, 
table.dataTable.display>tbody>tr.odd>*,
table.dataTable.hover>tbody>tr:hover>*, 
table.dataTable.display>tbody>tr:hover>* {
    box-shadow: none !important;
}

/* =================================================================
   UTILITIES
   ================================================================= */

.dataTables_length {
    margin-bottom: 2rem;
}

.dataTables_filter,
.dataTables_info,
.dataTables_paginate {
    position: relative;
    z-index: 1;
}

.helptexttohide {
    display: block !important;
}

.GFG {
    color: white;
    background: green;
    padding: 5px 10px;
}

/* =================================================================
   RESPONSIVE DESIGN
   ================================================================= */

body {
    overflow-x: auto;
    min-width: 100%;
}

@media (max-width: 768px) {
    #partsTable th,
    #partsTable td {
        min-width: 100px;
        font-size: 12px;
    }
}

div.dt-buttons>.dt-button, div.dt-buttons>div.dt-button-split .dt-button {
    color: #fff;
}

.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 5px;
    background-color: transparent;
    color: inherit;
    margin-left: 15px;
    width: 90%;
}
#partsTable tbody tr td .carticon {
    position: relative;
}


/* For cells containing tooltips */
#partsTable tbody tr td:has(.carticon) {
    position: relative;
    overflow: visible !important;
}

#partsTable tbody tr td:first-child:has(.carticon):hover {
    clip-path: none !important;
    z-index: 9999 !important;
    box-shadow: none !important;
}

#partsTable tbody tr td .carticon .tooltip-pdf {
    z-index: 10000 !important;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
}

/* =================================================================
   MISCELLANEOUS
   ================================================================= */
  /* Change svg to gray */
#partsTable tbody tr td img[src$=".svg"] {
  filter: brightness(0) saturate(100%);
  filter: brightness(0) saturate(100%) invert(50%);
  -webkit-filter: brightness(0) saturate(100%) invert(50%);
}

:is(tr.even, tr.odd) td > a::after {
  content: "|";
  margin: 0 0.5em;
  color: #ccc;
}

td.sorting_1 {
  font-size: 0;
  width: 220px; 
  min-width: 220px; 
  max-width: 220px;
}

td.sorting_1 > a,
td.sorting_1 > span,
td.sorting_1 > input {
  font-size: 1rem;
}

/* =================================================================
   TABLE STRUCTURE AND LAYOUT
   ================================================================= */

/* Main table structure */
#partsTable {
    position: relative;
    border-collapse: separate;
    border-spacing: 0;
    width: 100% !important;
    z-index: 1;
}

/* Table container and wrappers */
.table-container {
    width: 100%;
    position: relative;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
}

.table-container.loading {
    opacity: 0.5;
    pointer-events: none;
}

.table-scroll-wrapper {
    position: relative;
    overflow: hidden;
    transition: padding-top 0.2s ease;
}

/* DataTables wrapper adjustments */
.dataTables_wrapper {
    position: relative;
    width: 100% !important;
}

.dataTables_scroll,
.dataTables_scrollHead,
.dataTables_scrollBody {
    overflow: visible !important;
}

.dataTables_scrollBody {
    overflow-x: auto !important;
    width: 100% !important;
}

/* =================================================================
   STICKY HEADER IMPLEMENTATION
   ================================================================= */
   rder

/* Performance optimization for sticky headers */
#partsTable thead {
    will-change: transform;
}

#partsTable thead,
#partsTable th:first-child,
#partsTable td:first-child {
    transition: none;
}

/* Sticky header when active */
#partsTable.sticky-header thead {
    position: fixed;
    top: 0;
    z-index: 999;
    background: white;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    overflow: visible;
    transform: translateZ(0);
    backface-visibility: hidden;
}

/* Fallback sticky positioning */
#partsTable > thead > tr {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 0 !important;
    background-color: #fff !important;
    z-index: 999 !important;
}

/* Header placeholder for maintaining table height */
.header-placeholder {
    visibility: collapse !important;
    line-height: 0 !important;
    height: 0 !important;
}

#partsTable.sticky-header .header-placeholder {
    visibility: visible !important;
    height: auto !important;
    line-height: normal !important;
}

.header-placeholder td {
    padding: 0 !important;
    border: none !important;
    line-height: inherit !important;
}

/* =================================================================
   FIXED FIRST COLUMN
   ================================================================= */

#partsTable thead tr th:first-child,
#partsTable tbody tr td:first-child {
    position: sticky !important;
    position: -webkit-sticky !important;
    left: 0 !important;
    z-index: 998;
    background: #faf9f9;
    border-right: 2px solid #eaeaea;
    padding-left: 0px !important;
}


/* Apply shadow with clip-path to create continuous effect on all first column cells */
#partsTable thead tr th:first-child,
#partsTable tbody tr td:first-child {
    box-shadow: 0px 0px 14px 5px rgb(98 96 96 / 90%) !important;
    clip-path: inset(0 -20px -1px 0px); /* Slight inset to hide seams between cells */
}

/* Clip the top shadow on the first header cell */
#partsTable thead tr:first-child th:first-child {
    clip-path: inset(-0.404px  -20px 0px 0px); /* Same as others - clips top shadow */
}

/* Clip the bottom shadow on the last body cell */
#partsTable tbody tr:last-child td:first-child {
    clip-path: inset(0px -20px 0px 0px); /* Same as others - clips bottom shadow */
}

#partsTable tbody tr td:first-child {
    padding-left: 10px !important;
}

#partsTable thead th:first-child,
#partsTable.sticky-header thead th:first-child {
    z-index: 9999 !important;
    position: sticky;
    position: -webkit-sticky;
    left: 0;
}

/* First column width constraints */
#partsTable.dataTable thead .sorting:first-child,
#partsTable.dataTable tbody td:first-child {
    width: 220px !important;
    min-width: 220px !important;
    max-width: 220px !important;
}

#partsTable.dataTable thead th:first-child div
 {
    height: auto;
    overflow: hidden;
    text-wrap: auto;
}
/* =================================================================
   TABLE HEADERS AND CELLS
   ================================================================= */

/* Header styling */
#partsTable thead tr th {
    padding: 0 !important;
    background-color: #faf9f9;
    border-top: 0.09375rem solid #707070;
    border-bottom: 0.05rem solid #707070;
}

#partsTable thead tr th.sorting {
    font-size: 1rem;
    font-weight: 500;
    vertical-align: top;
    min-height: 100px !important;
    white-space: nowrap;
    background-image: none !important;
}

#partsTable thead tr th.sorting div {
    overflow-y: auto;
    max-height: 200px;
    background-color: transparent;
    transition: height 0.3s ease;
    width: 100% !important;
    color: #808080;
    text-wrap: auto;
}

/* DataTable header and cell defaults */
table.dataTable thead th,
table.dataTable thead td {
    padding: 0;
    border-bottom: none;
    position: sticky;
    white-space: normal !important;
    vertical-align: top !important;
    background: white;
    position: relative;
    overflow: visible !important;
}

table.dataTable thead th,
table.dataTable tbody td {
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    padding: 8px 12px !important;
    border-bottom: 1px solid #ddd;
}

/* Body cell styling */
table.dataTable.display tbody tr > td {
    text-align: left !important;
    white-space: nowrap;
    color: #000 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    padding: 15px 8px !important;
    padding-left: 20px !important;
    vertical-align: middle;
}

/* First column cell specific */
table.dataTable tbody td:first-child,
table.dataTable.display tbody tr > td:first-child {
    text-align: left;
    white-space: normal !important;
    word-wrap: break-word !important;
    font-weight: 500;
}

/* Remove DataTables default sorting icons */
table.dataTable thead>tr>th::after, 
table.dataTable thead>tr>th::before {
    content: none !important;
}

/* =================================================================
   PARAMETER HEADERS AND FILTERS
   ================================================================= */

.param-header {
    padding: 1rem 0.5rem;
    display: inline-block;
    background-color: #eaeaea;
    color: #000000;
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    width: 100%;
    border-bottom: solid 1px #b5b5b5;
    height: 50px;
    text-align: left;
    box-sizing: border-box !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

#partsTable thead tr > th.sorting:nth-of-type(1) .param-header {
    background-color: #eaeaea;
    color: #000;
}

#partsTable thead tr > th .param-header, 
#partsTable thead tr > th .collapse-control, 
#partsTable thead tr > th .collapse-control + div {
    padding-left: 20px;
    text-align: left;
}

/* Second column header - additional padding */
#partsTable thead tr > th:nth-child(2) .param-header,
#partsTable thead tr > th:nth-child(2) .collapse-control,
#partsTable thead tr > th:nth-child(2) .collapse-control + div {
    padding-left: 30px; /* 20px + 10px = 30px */
}
#partsTable tbody tr td:nth-child(2) {
    padding-left: 30px !important; /* Match header padding */
}

/* Filter areas */
#partsTable thead th > div {
    position: relative;
    z-index: 1002;
    padding: 0 0.5rem;
}

#partsTable thead tr th div#partsTable_filter {
    width: 100% !important;
    text-align: left;
}

#partsTable thead th:first-of-type > div {
    z-index: 999;
    padding-top: 0;
}

.filter-scroll-container {
    max-height: 150px;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* =================================================================
   COLLAPSE CONTROLS AND FILTER ICONS
   ================================================================= */

.collapse-control {
    display: block;
    text-align: center;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #5f5d5d;
    transition: color 0.2s ease;
}

.collapse-control[data-state="collapsed"] {
    border-bottom: none;
}

.collapse-control[data-state="expanded"] {
    border-bottom: 1px solid #b5b5b5;
}

.collapse-control:hover {
    color: #009899;
    text-decoration: none;
}

.filter-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
}

.filter-icon svg {
    width: 100%;
    height: 100%;
    max-width: 14px;
}

.collapse-control:hover .filter-icon svg line,
.collapse-control:hover .filter-icon svg path {
    stroke: #009899;
}

.helpTextHeader a.collapse-control,
a.collapse-control {
    outline: none;
    text-align: left;
}

a[data-state="expanded"] + div {
    padding-right: 20px !important;
    text-align: left;
    padding-left: 0.7rem;
    padding-top: 8px !important;
}

/* =================================================================
   CHECKBOXES AND INPUTS
   ================================================================= */

.table-checkbox-inner {
    padding-right: 10px;
    overflow-y: auto;
    background-color: transparent;
    box-shadow: none;
    min-width: 100px;
    font-weight: normal;
    font-size: 1rem;
}

.table-checkbox-inner > input {
    margin-right: 0.3rem;
}

.compare-checkbox {
    vertical-align: middle !important;
    margin-right: 5px !important;
    overflow: hidden;
    display: inline-block;
    width: 14px;
    margin-top: -5px;
}

.dataTables_wrapper .dataTables_filter input {
    background-color: #fff;
}
/* =================================================================
   SCROLLBARS
   ================================================================= */

/* Hide native horizontal scrollbar */
.table-container::-webkit-scrollbar {
    height: 0;
    display: none;
}

/* Fake horizontal scrollbar */
.fake-horizontal-scroll {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 17px;
    overflow-x: auto;
    overflow-y: hidden;
    background: #f0f0f0;
    z-index: 1000;
    display: none;
    border-top: 1px solid #ddd;
}

.fake-horizontal-scroll::-webkit-scrollbar {
    height: 17px;
}

.fake-scroll-content {
    height: 1px;
    background: transparent;
}

/* Scrollbar styling */
.table-container::-webkit-scrollbar,
.fake-horizontal-scroll::-webkit-scrollbar {
    height: 15px;
}

.table-container::-webkit-scrollbar-track,
.fake-horizontal-scroll::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.table-container::-webkit-scrollbar-thumb,
.fake-horizontal-scroll::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 6px;
}

.table-container::-webkit-scrollbar-thumb:hover,
.fake-horizontal-scroll::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Filter scrollbar styling */
.filter-scroll-container::-webkit-scrollbar {
    width: 6px;
}

.filter-scroll-container::-webkit-scrollbar-track {
    background: #f1f1f1;
}

.filter-scroll-container::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 3px;
}

.filter-scroll-container::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Firefox scrollbar styling */
.filter-scroll-container {
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}

/* =================================================================
   RANGE SLIDERS
   ================================================================= */

#priceRangeSlider, 
#zipcodeRangeSlider {
    margin-top: 10px;
}

#minPriceInput, 
#maxPriceInput, 
#minZipcodeInput, 
#maxZipcodeInput {
    width: 60px;
    margin-top: 5px;
}

.range-slider-container {
    display: flex;
    flex-direction: column;
    align-items: start;
    margin: 1px 0;
    height: 150px;
    position: relative;
    z-index: 1003;
    background: white;
    background-color: rgba(0, 153, 154, 0.05);
    transition: height 0.3s ease;
}

.range-slider {
    height: 120px;
    margin: 5px 15px;
    transition: height 0.3s ease;
    max-width: 4px;
}

.ui-slider-vertical {
    width: 8px;
    overflow-y: initial !important;
}

.ui-slider-vertical .ui-slider-handle {
    width: 20px !important;
    height: 10px !important;
    border-radius: 2px !important;
    left: 50% !important;
    margin-left: -10px !important;
    background: #5f5d5d!important;
    color: #0a0909;
    border: 1px solid #5f5d5d!important;
    cursor: pointer !important;
}

.ui-slider-handle:hover {
    background: #00b3b4 !important;
}

.min-value-display, 
.max-value-display {
    margin: 5px 0;
    font-size: 12px;
    text-align: left;
    width: 100%;
    padding-left: 0;
    overflow-y: hidden !important;
}

/* =================================================================
   BUTTONS AND CONTROLS
   ================================================================= */

/*.table-buttons {
    margin-top: 2rem;
    margin-bottom: 2rem;
    position: relative;
    text-align: end;
    left: -155px;
}

.table-buttons button {
    border: 1px solid #b5b5b5;
}

.topbuttonlist, 
.dt-button {
    font-family: 'titillium web';
    font-style: normal;
    font-weight: 400;
    font-size: 13px;
    line-height: 17px;
    text-align: center;
    color: #ffffff;
    background-color: #333 !important;
    margin: 0;
    padding: 10px 20px;
    border: 1px solid #333;
    letter-spacing: 1.4px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    text-transform: uppercase;
    background-image: none;
}

div.dt-buttons>.dt-button:first-child {
    position: absolute;
    margin-right: 2px;
    max-width: 147px;
    left: 100%;
    margin-left: 4px;
}

.buttons-columnVisibility {
    background-color: #ffffff !important;
    color: #333 !important;
    font-size: 13px;
}*/

/* =================================================================
   DIALOGS AND MODALS
   ================================================================= */

.dialog-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 9999;
}

.dialog-box {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    padding: 20px;
    border-radius: 5px;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
}

.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    cursor: pointer;
}

.modal {
    z-index: 9998;
}

.p-search .modal-header {
    border-bottom: none;
    border-right: 1px solid #8c8c8c;
    border-radius: 0;
}

.p-search .modal-dialog {
    max-width: 750px;
    margin: 2.75rem auto;
}

.closePModal {
    position: absolute;
    right: 10px;
    top: 10px;
    border: none;
    width: 40px;
}

/* =================================================================
   HELP CONTENT
   ================================================================= */

.helpContent {
    position: fixed;
    top: 30%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1100px;
    height: auto;
    text-align: left;
    background-color: #fff;
    box-sizing: border-box;
    border: 1px solid #009899;
    z-index: 9999;
    display: none;
    font-size: 14px;
}

.helpContent h3 {
    background-color: #009899;
    padding-left: 15px;
    color: #fff;
}

.helpContent li {
    padding-left: 13px;
}

.helpClose-btn {
    position: absolute;
    right: 10px;
    top: 5px;
    background-color: black;
    color: white;
    border-radius: 5%;
    padding: 4px;
    cursor: pointer;
}

.helpTextHeader {
    font-family: 'titillium web';
    text-align: left;
    font-size: 16px;
}

/* =================================================================
   TOOLTIPS
   ================================================================= */

.tooltip-text {
    position: absolute;
    z-index: 2;
    color: white;
    font-size: 12px;
    background-color: #192733;
    border-radius: 10px;
    padding: 5px;
    width: 350px;
}

.tooltip-text a {
    color: white;
    text-decoration: bold;
}

.pdfdocicon .tooltip-pdf,
.carticon .tooltip-pdf {
    visibility: hidden;
    background-color: black;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    border-radius: 6px;
    position: absolute;
    z-index: 1;
}

.pdfdocicon .tooltip-pdf {
    width: 320px;
}

.carticon .tooltip-pdf {
    width: 250px;
    text-align: left;
    padding: 10px;
    z-index: 9999;
}

.pdfdocicon:hover .tooltip-pdf,
.carticon:hover .tooltip-pdf {
    visibility: visible;
}

span.pdfdocicon {
    margin-left: 23px;
}

span.pdfdocicon::after {
    content: "|";
    margin: 0 0.5em;
    color: #ccc;
}

.tooltip-pdf a {
    color: #009899;
    font-weight: bold;
}

/* =================================================================
   SPECIAL ELEMENTS
   ================================================================= */

#partId {
    width: 259px;
    display: inline-block;
    position: relative;
    border-left: 2px solid black;
    border-top: 2px solid black;
    padding: 5px 50px 5px 10px;
    cursor: pointer;
    -moz-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    -o-transform: rotate(-135deg);
}

#partCountVal {
    background-image: none !important;
}

.info-icon {
    padding-left: 10px;
    padding-right: 10px;
}

.new_product {
    color: #ffffff;
    background: #009899;
    padding-right: 4px;
    padding-left: 4px;
}

.highlighted-interface {
    background-color: #ffff99;
    font-weight: bold;
    padding: 2px 4px;
    border-radius: 3px;
}

/* Part number styling */
span.part-number {
    display: inline-block;
    max-width: 200px !important;
    min-width: 150px;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    vertical-align: middle !important;
    margin-bottom: 7px;
}

span.part-number + a {
    display: inline-block;
    margin-left: 23px;
}

span.part-number a {
    text-decoration: none;
    color: #5f5d5d;
    white-space: nowrap !important;
    font-weight: 600;
    font-size: 19px;
}

/* =================================================================
   HOVER EFFECTS AND ANIMATIONS
   ================================================================= */

.hover-text {
    position: relative;
    display: inline-block;
}

.hover-text a {
    color: #009899;
    font-weight: bold;
}

#fadetip {
    opacity: 0;
    transition: opacity 1s;
}

#delay {
    opacity: 0;
    transition: opacity 5s;
    transition-delay: 3s;
}

.hover-text:hover #fadetip {
    opacity: 1;
}

.hover-text:hover #delay {
    opacity: 1;
}

/* =================================================================
   TABLE STYLING OVERRIDES
   ================================================================= */

table.dataTable.no-footer {
    border-bottom: none;
}

table.dataTable.display tbody tr.odd > .sorting_1,
table.dataTable.order-column.stripe tbody tr.odd > .sorting_1,
table.dataTable.display tbody tr > .sorting_1 {
    text-align: left;
}

#partsTable tbody tr:first-child td {
    border-top: none;
}

table.dataTable.display tbody tr > td img {
    max-width: 20px !important;
    height: auto !important;
    vertical-align: middle !important;
}

/* Remove DataTables row effects */
table.dataTable.stripe>tbody>tr.odd>*, 
table.dataTable.display>tbody>tr.odd>*,
table.dataTable.hover>tbody>tr:hover>*, 
table.dataTable.display>tbody>tr:hover>* {
    box-shadow: none !important;
}

/* =================================================================
   UTILITIES
   ================================================================= */

.dataTables_length {
    margin-bottom: 2rem;
}

.dataTables_filter,
.dataTables_info,
.dataTables_paginate {
    position: relative;
    z-index: 1;
}

.helptexttohide {
    display: block !important;
}

.GFG {
    color: white;
    background: green;
    padding: 5px 10px;
}

/* =================================================================
   RESPONSIVE DESIGN
   ================================================================= */

body {
    overflow-x: auto;
    min-width: 100%;
}

@media (max-width: 768px) {
    #partsTable th,
    #partsTable td {
        min-width: 100px;
        font-size: 12px;
    }
}

div.dt-buttons>.dt-button, div.dt-buttons>div.dt-button-split .dt-button {
    color: #fff;
}

.dataTables_wrapper .dataTables_filter input {
    border: 1px solid #aaa;
    border-radius: 3px;
    padding: 5px;
    background-color: transparent;
    color: inherit;
    margin-left: 15px;
    width: 90%;
}
#partsTable tbody tr td .carticon {
    position: relative;
}


/* For cells containing tooltips */
#partsTable tbody tr td:has(.carticon) {
    position: relative;
    overflow: visible !important;
}

#partsTable tbody tr td:first-child:has(.carticon):hover {
    clip-path: none !important;
    z-index: 9999 !important;
    box-shadow: none !important;
}

#partsTable tbody tr td .carticon .tooltip-pdf {
    z-index: 10000 !important;
    position: absolute;
    left: 100%;
    top: 50%;
    transform: translateY(-50%);
}

/* =================================================================
   MISCELLANEOUS
   ================================================================= */
  /* Change svg to gray */
#partsTable tbody tr td img[src$=".svg"] {
  filter: brightness(0) saturate(100%);
  filter: brightness(0) saturate(100%) invert(50%);
  -webkit-filter: brightness(0) saturate(100%) invert(50%);
}

:is(tr.even, tr.odd) td > a::after {
  content: "|";
  margin: 0 0.5em;
  color: #ccc;
}

td.sorting_1 {
  font-size: 0;
}

td.sorting_1 > a,
td.sorting_1 > span,
td.sorting_1 > input {
  font-size: 1rem;
}