
/* ================================
   Airport Table Styles
   ================================ */
.airportTable {
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
    overflow: visible;      /* allow table content to show */
    text-align: left;
    width: auto;
}

/* ================================
   Page Styles
   ================================ */
.my-page {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    width: 100%;            /* Adjusts page width */
}
			/* Style for color BLUE */
				.color-blue {
					color	: #00FFFF	;
				}

			/* Style for color RED */
				.color-red {
					color	: #FDD7E4	;
				}

			/* Align text LEFT */
				.align-left {
					text-align: left	;
				}

			/* Style for table for MILITARY Airports JMM */
				.my-table-airports-military-verdana {
					border			: 15px outset #FF00FF	;
					border-radius	: 20px					;
					font-size		: 11.5px				;
					line-height		: 1.2em					;
					text-align		: left					;
				}

			/* Style for the MAIN table on the Master page JMM */
				.mainTable {
					margin-left		: auto	;
					margin-right	: auto	;
				}

			/* Style for table TD for MILITARY Airports JMM */
				.my-td-airports-military-verdana {
					align				: center			;
					background-color	: #E4E1E0			;
					line-height			: 1.5em				;
					padding				: 10px				;
					text-align			: center			;
				}

				.footerTimestamp td {
					line-height			: 0.5em		;
				}

				tr.night-flight {
					color: red;
				}

				.subheaders td {
					background-color	: grey;
					color				: #ffffff;
					font-weight			: 600;
					padding				: 5px 10px;
					text-align			: center;
					transition			: background-color 0.2s ease-in-out;
				}

				.totals-year-legend td {
					background-color	: black		;
					color				: white		;
					font-weight			: bold		;
					text-align			: center	!important	;
				}

				.totals-year td {
					background-color	: black		;
					color				: white		;
					font-weight			: bold		;
				}

				.totals-year-divider td {
					background-color	: #FF00FF	;
				}


tr.totals-year-divider {
    opacity: 1;
    transition: opacity 0.3s ease;  /* smooth fade over 0.3 seconds */
}
tr.totals-year-divider.hidden {
    opacity: 0;
    height: 0;
    line-height: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
}

tr.totals-year-divider td {
    background: linear-gradient(to bottom, #FF00FF 0%, #FF99FF 50%, #FF00FF 100%);
    border-top: 1px solid #FF00FF;
    border-bottom: 1px solid #FF00FF;
    height: 12px;  /* adjust to match your spacing preference */
}

				.totals-year-blank {
					background-color	: #E4E1E0	!important ;
				}

				.totals-accumulated td {
					background-color	: #00b151	;
					color				: white		;
					font-weight			: bold		;
				}

				.totals-accumulated-divider td {
					background-color	: #FF00FF	;
				}

				.totals-accumulated-blank {
					background-color	: #E4E1E0	!important ;
				}




				.jmm-bold {
					background-color	: black		;
					font-weight			: bold		;
				}

/* Center the first two columns in all rows */
table.flightsTableCivil tr td:nth-child(1),
table.flightsTableCivil tr td:nth-child(2) {
    text-align: center;
}






















/* ==================================================================
   ITEMS ABOVE HERE I HAVE CONFIRMED ARE USED ON THIS CURRENT PROJECT
   ================================================================== */



/* Overall table */
.airportTable {
    border-collapse: collapse;
    font-family: Arial, sans-serif;
    font-size: 14px;
	overflow: visible; /* allow sticky headers to show */
	text-align:left;
    width: auto;                 /* or 100% if you prefer */
}

/* Headers */
.airportTable thead th {
    background-color: grey;
    color: #ffffff;
    text-align: center;
    padding: 5px 10px;
    font-weight: 600;
    transition: background-color 0.2s ease-in-out;
}

.airportTable thead th.sortable {
    cursor: pointer;
}

.airportTable thead th.sortable:hover {
    background-color: #d68fd6;
}

/* Cells */
.airportTable td,
.airportTable th {
    padding: 2px 10px;
    white-space: nowrap;
}

/* Zebra striping (main rows only) */
.airportTable > tbody > tr:nth-child(odd) {
    background-color: #f8f9fa;
}

.airportTable > tbody > tr:nth-child(even) {
    background-color: #ffffff;
}

/* Subtle row separator */
.airportTable tbody tr {
    border-bottom: 1px solid #e0e0e0;
}

/* Inner table */
.subFooter {
    background-color: white !important; /* always white */
    border: none;
    border-collapse: collapse;
    margin: 0 auto;    /* center table */
    width: auto;
    text-align: center;
}

/* Inner table cells */
.subFooter td {
    background-color: white !important; /* keep cells white */
    border: none;
}

.airportTable {
    border-radius: 10px;
    overflow: hidden;
}

/* Subtle vertical dividers */
.airportTable td:not(:last-child),
.airportTable th:not(:last-child) {
	border-right: 1px solid #f0f0f0;}

.airportTable td.kbd-code {
    text-align: center;
    font-family: "IBM Plex Mono", monospace;
    font-size: 11.5px;
}

.flightsTableCivil td.kbd-code-left {
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 11.5px						;
    text-align	: left							;
}

.flightsTableCivil td.kbd-code-left-night {
    color		: red							;
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 11.5px						;
    text-align	: left							;
}

.flightsTableCivil td.kbd-code-center {
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 11.5px						;
    text-align	: center							;
}

.flightsTableCivil td.kbd-code-center-night {
    color		: red							;
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 11.5px						;
    text-align	: center							;
}

.flightsTableCivil td.kbd-code-right {
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 11.5px						;
    text-align	: right							;
}

.flightsTableCivil td.kbd-code-right-night {
    color		: red							;
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 11.5px						;
    text-align	: right							;
}

kbd {
    font-family: "IBM Plex Mono", monospace;
    font-size: 12.0px;
}

kbd-left {
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 12.0px						;
    text-align	: left							;
}

kbd-center {
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 12.0px						;
    text-align	: center						;
}

kbd-right {
    font-family	: "IBM Plex Mono", monospace	;
    font-size	: 12.0px						;
    text-align	: right							;
}

.airportTable th {
    position: relative;
}


/* =========================================
   TEXT-BASED SORT ARROWS (BACKUP OPTION)
   ========================================= */

/* incase I wish to use these in the future, with a class called "airportTable"
	.airportTable th.asc::after {
		content: " ▲";
		font-size: 11px;
		opacity: 0.85;
	}

	.airportTable th.desc::after {
		content: " ▼";
		font-size: 11px;
		opacity: 0.85;
	}
*/

/* incase I wish to use these in the future, with just a class called "sortable"
	.sortable.asc::after {
		content: " ▲";
		font-size: 11px;
		opacity: 0.85;
	}

	.sortable.desc::after {
		content: " ▼";
		font-size: 11px;
		opacity: 0.85;
	}
*/

.airportTable th.asc,
.airportTable th.desc {
    background-color: #FF00FF;
}

.airportTable td.country-bermuda::before {
    color: blue;
}

.airportTable td.country-canada::before {
    color: red;
}

/* Shared icon base: only for current sorted column */
.airportTable th.sorted::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.65;
}

/* TEXT sorting: always ascending for normal columns */
.airportTable th.sort-text.sorted::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-a2z-white-lettering.png");
}

/* NUMBER sorting: always ascending for normal columns */
.airportTable th.sort-number.sorted::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-9to0-white-lettering.png");
}

/* Landings column: always descending */
.airportTable th.landings.sorted::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-0to9-white-lettering.png");
}

.opacity50 {
		opacity: 0.50;
}

.opacity75 {
		opacity: 0.75;
}

.airportTable th:first-child,
.airportTable td:first-child {
    text-align: center;
    padding-left: 4px;
    padding-right: 4px;
	white-space: nowrap;
}

.myHeaderLabel {
	background-color	: grey		;
	border-radius		: 5px		;
	color				: white		;
	font-size			: 12.5px	;
	font-weight			: bold		;
	padding				: 1px		;
}

.mySpanLabel {
	background-color	: grey		;
	border-radius		: 5px		;
	color				: white		;
	font-size			: 12.5px	;
	font-weight			: bold		;
	padding				: 1px		;
}

.mixed-alignment-cell {
  /* Ensures the TD can contain the aligned elements effectively */
  width: 100%; 
}

.left-aligned-content {
  text-align: left; /* Aligns content to the left within its div */
}

.centered-content {
  text-align: center; /* Centers content within its div */
}


/* Base flag styling for Country column */
.country-flag {
    position: relative;
    padding-left: 1.6em;       /* space for the flag */
}

/* Flag placement — remove bullets completely */
.country-flag::before {
    content: "";               /* no bullet */
    display: inline-block;
    height: 0.85em;            /* adjust size */
    aspect-ratio: 32 / 22;     /* correct flag ratio */
    margin-right: 0.50em;      /* space between flag and text */
    vertical-align: -0.06em;   /* fine-tune vertical alignment */
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Per-country flags */
.country-belgium::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-belgium.png");
}

.country-bermuda::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-bermuda2x.png");
}

.country-canada::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-canada2x.png");
}

.country-england::before {
    background-image: url("https://www.fusionwings.com/common/_flags/flag-gb.png");
}

.country-france::before {
    background-image: url("https://www.fusionwings.com/common/_flags/flag-fr.png");
}

.country-portugal::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-portugal2x.png");
}

.country-usa::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-usa2x.png");
}

.country-west-germany::before {
    background-image: url("https://www.fusionwings.com/common/_flags/flag-rectangle-germany.png");
}

tr.night-flight {
    color: red;
}

/* Make table cells respect border-radius */
table {
  border-collapse: separate; /* critical */
  border-spacing: 0; /* optional, for tighter look */
}

/* Legend row styling */
tr.column-legend td {
    background-color: grey;
    color: white;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    padding: 5px 3px; /* adjust as needed */
}

/* Rounded corners for first and last cell */
tr.column-legend td:first-child {
    border-top-left-radius: 5px; /* or 10px */
}

tr.column-legend td:last-child {
    border-top-right-radius: 5px; /* or 10px */
}

/* Default link styling (blue) */
/* Default link styling (day flights) */
.airport-link {
    color: blue;
    font-weight: bold;
    text-decoration: none;
}

/* Night flights: links inside rows with class 'night-flight' */
tr.night-flight td .airport-link {
    color: red;
}

.airport-link:hover {
    text-decoration: underline;
}

/* Simple styles to mimic your table setup */
.airportTable {
    border-collapse: collapse;
    width: 100%;
}
.airportTable th, .airportTable td {
    border: 1px solid #ccc;
    padding: 4px 4px;
    text-align: left;
}

/* Monospace left-aligned code cells */
.kbd-code-left { 
    font-family: "IBM Plex Mono", monospace; 
    text-align: left; 
}

.kbd-code-left-decimal {
    font-family: "IBM Plex Mono", monospace;
    text-align: right;   /* numbers hug the right edge */
    white-space: nowrap; /* prevent wrapping */
    padding-right: 4px;  /* optional */
}

/* Monospace right-aligned code cells */
.kbd-code-right { 
    font-family: "IBM Plex Mono", monospace; 
    text-align: right; 
}

/* Left-aligned code cells */
td.kbd-code-left {
    font-family: "IBM Plex Mono", monospace;
    text-align: left;
}

/* Right-aligned code cells */
td.kbd-code-right {
    font-family: "IBM Plex Mono", monospace;
    text-align: right;
}

/* Center-aligned code cells (optional) */
td.kbd-code-center {
    font-family: "IBM Plex Mono", monospace;
    text-align: center;
}

			/* RED label for Ratings */
				.rating {
					background-color	: red		;
					border-radius		: 5px		;
					color				: white		;
					font-size			: 10.5px	;
					font-weight			: bold		;
					padding				: 2px 2px	;
					text-align			: center	;
				}

/* Optional: ensure table scrolls instead of body scroll */

/* Full screen page layout */
.page-container {
    height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Scrollable area */
.table-wrapper {
    flex: 1;
    overflow-y: auto;
}

/* Table behaves like a normal table */
.flightsTableCivil {
    border-collapse: collapse;
    width: 100%;
}


/* SEARCH HIGHLIGHT CSS */
.airportTable mark.search-highlight {
    background-color: #00FF00 !important;
    color: black;
    font-weight: bold;
}

/* Main CSS file (after all other styles) */

/* Included table override */
.subfooterTimestamp,
.subfooterTimestamp tr,
.subfooterTimestamp td {
    background-color: white !important; 
    border: none !important;             
    border-collapse: collapse;
    text-align: center;
}

.subfooterTimestamp {
    width: auto;      
    margin: 0 auto;  
}

/* Entire search box row */
td.searchBoxRow {
    text-align: center;          /* center the content inside the td */
    padding: 10px 0;             /* optional vertical spacing */
}

/* Inner wrapper (the box itself) */
.searchBoxWrapper {
    display: inline-block;       /* shrink-wrap to content */
    background-color: #f0f0f0;   /* the light grey background of the box */
    border: 2px solid #999;      /* border around the entire search box */
    border-radius: 8px;           /* optional: rounded corners */
    padding: 10px 15px;          /* inner spacing inside the box */
    text-align: center;          /* center contents inside the box */
}

/* ================================
   Flights Table Civil Header Styles
   (Clean, no sticky behavior)
   ================================ */
.flightsTableCivil thead th {
    background-color: grey;   /* header background */
    color: white;             /* header text color */
    padding: 5px 10px;        /* spacing inside header cells */
    text-align: center;       /* center text */
    position: static;         /* remove sticky behavior */
    z-index: auto;            /* default stacking */
}

.airport-military,
.airport-military a {
    color: red;
    font-weight: bold;
}

.airport-civilian,
.airport-civilian a {
    color: blue;
    font-weight: bold;
}

.airport-military i,
.airport-civilian i {
    margin-right: 3px;
}

			/* Style for the LEGEND table near the bottom of the page JMM */
				.legendTable {
					background-color: white					;
					border			: 0px					;
					border-radius	: 10px					;
					margin-left		: auto					;
					margin-right	: auto					;
					padding			: 5px					;
					text-align		: left					;
				}

/* --- Super-compact legend table styling --- */
.legendTable,
.legendTablen {
    background-color: white !important;   /* white table */
    border-radius: 10px !important;       /* rounded corners */
    border-collapse: separate !important; /* keep rounded corners working */
    margin: 0 auto;                        /* center table */
    padding: 5px;                          /* optional spacing */
}

.legendTable *,
.legendTablen * {
    background-color: white !important;   /* ignore zebra striping */
    border: none !important;              /* remove all borders */
    text-align: left !important;          /* left-align all text */
    cursor: default !important;           /* remove hover pointer */
}

.legendTable tr:hover,
.legendTablen tr:hover {
    background-color: white !important;   /* prevent yellow hover */
}

/* Clean tfoot rows with nested legend tables */
.airportTable tfoot tr,
.airportTable tfoot td {
    border: none !important;
    background-color: #E4E1E0;
    padding: 0;
}

.airportTable tfoot tr:hover,
.airportTable tfoot td:hover {
    background-color: #E4E1E0 !important;  /* prevent yellow hover */
}

/* Fine-tune spacing between main table and first legend table */
.airportTable tfoot td > table:first-child {
    margin-top: 4px; /* small space, adjust 2–6px as needed */
}

/* Optional: ensure no extra spacing at bottom of first legend table */
.airportTable tfoot td > table:first-child tr:last-child td {
    padding-bottom: 0; /* remove extra bottom padding if needed */
}

/* Keep the spacing between the two legend tables as-is */
.legendTable {
    margin-bottom: 0; /* do not add extra bottom margin */
}

/* Fine-tune spacing between the main table and first legend table */
.airportTable tfoot td > table:first-child {
    margin-top: 4px;        /* keeps spacing above first legend table */
    margin-bottom: 2px;    /* spacing between the two tables in footer */
}

/* Optional: ensure no extra padding inside the first table's last row */
.airportTable tfoot td > table:first-child tr:last-child td {
    padding-bottom: 0;
}

/* 1) Keep grey background on the two main tfoot rows */
.airportTable tfoot tr {
    background-color: #E4E1E0; /* grey for outer row */
}

/* 2) Nested tables inside tfoot: always white, no borders */
.airportTable tfoot tr td > table {
    background-color: white !important; /* white tables */
    border: none !important;             /* remove any inherited borders */
}

/* 3) All cells inside those nested tables: white bg, no hover effect */
.airportTable tfoot tr td > table td {
    background-color: white !important; /* cell white */
    border: none !important;             /* no cell borders */
    cursor: default;                     /* pointer stays default */
}

/* 4) Prevent hover from outer table affecting the nested tables */
.airportTable tfoot tr:hover,
.airportTable tfoot td:hover,
.airportTable tfoot tr td > table td:hover {
    background-color: inherit !important; /* keep inner table cells unchanged */
}

/* ========================
   Hover for main tbody rows ONLY
   ======================== */
.airportTable tbody tr:hover {
    background-color: #FFFF99;  /* yellow */
    transition: background-color 0.15s ease-in-out;
}

/* ========================
   Footer rows styling
   ======================== */
.airportTable tfoot > tr {
    background-color: #E4E1E0;  /* grey background */
}

/* Nested tables inside footer */
.airportTable tfoot table {
    background-color: white !important;   /* white background inside footer tables */
    border: none !important;              /* remove any borders */
    margin: 0;                             /* reset margins if needed */
}

/* All td inside nested footer tables */
.airportTable tfoot table td {
    background-color: white !important;   /* white background for all cells */
    border: none !important;              /* remove borders */
    padding: 2px 4px;                      /* optional inner spacing */
}

/* Spacer td in footer tables */
.airportTable tfoot td {
    background-color: inherit;  /* keeps grey for main row, white inside nested tables */
}

/* ----------------------------
   Disable hover for all footer content
   ---------------------------- */
.airportTable tfoot,
.airportTable tfoot tr,
.airportTable tfoot td {
    background-color: #E4E1E0;  /* grey for the tfoot rows */
    border: none !important;     /* remove any borders */
}

/* Nested tables inside footer */
.airportTable tfoot table {
    background-color: white !important; /* white background for all nested tables */
    border: none !important;            /* no borders */
    margin: 0;
    float: none;                        /* center via outer td if needed */
}

/* All td inside nested tables */
.airportTable tfoot table td {
    background-color: white !important; /* white inside nested tables */
    border: none !important;            /* remove borders */
    padding: 2px 4px;                   /* adjust inner spacing if needed */
}

/* Force no hover effect */
.airportTable tfoot tr:hover,
.airportTable tfoot td:hover,
.airportTable tfoot table td:hover {
    background-color: inherit !important; /* ignore any hover */
}

/* ----------------------------
   Footer rows outer <td> reset
   ---------------------------- */
.airportTable tfoot > tr > td {
    background-color: transparent !important; /* prevents grey bleed behind nested tables */
    padding: 4px 0;                             /* spacing around nested tables */
    border: none !important;
    text-align: center;                         /* center nested tables */
}

/* Nested tables inside footer */
.airportTable tfoot table {
    background-color: white !important; /* keep inner tables white */
    border: none !important;
    margin: 0 auto;                      /* center tables inside outer td */
}

/* Nested table cells */
.airportTable tfoot table td {
    background-color: white !important;
    border: none !important;
    padding: 2px 4px;                    /* inner spacing */
}

/* Prevent any hover effect on tfoot nested content */
.airportTable tfoot tr:hover,
.airportTable tfoot td:hover,
.airportTable tfoot table td:hover {
    background-color: inherit !important;
}

/* -----------------------------
   Disable hover effects on tfoot
   ----------------------------- */
.airportTable tfoot tr,
.airportTable tfoot td,
.airportTable tfoot table,
.airportTable tfoot table td {
    background-color: inherit !important;
    border: none !important;
    transition: none !important;  /* remove hover transition */
}

/* -----------------------------
   Ensure nested footer tables render rounded corners correctly
   ----------------------------- */
.airportTable tfoot table {
    border-collapse: separate !important; /* critical for rounded corners */
    border-spacing: 0 !important;
    border-radius: 10px !important;
    background-color: white !important;
    overflow: hidden;                     /* ensures rounded corners are visible */
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
}

/* Nested table cells */
.airportTable tfoot table td {
    background-color: white !important;
    border: none !important;
    padding: 2px 4px;
}

/* Optional: add tiny spacing between footer tables */
.airportTable tfoot td > table:first-child {
    margin-bottom: 2px;
}

/* Outer td that contains the inner legend tables */
.airportTable tfoot td > table {
    padding: 4px; /* space for rounded corners to show */
}

/* Left legend table */
.airportTable tfoot td > table td:first-child table.legendTable {
    border-radius: 10px;
    background-color: white;
    border-collapse: separate;
    overflow: hidden;
}

/* Right legend table */
.airportTable tfoot td > table td:last-child table.legendTablen {
    border-radius: 10px;
    background-color: white;
    border-collapse: separate;
    overflow: hidden;
}

/* Force spacer column to fill the row completely */
tfoot td.spacer-column {
    width: 10px; /* your desired width */
    background-color: #E4E1E0 !important;
    padding: 0;
    height: 100%;
    line-height: 0;
}

.airportTable tfoot td.spacer-column,
.airportTable tfoot td.spacer-column > div {
    background-color: #E4E1E0 !important;
    border: none !important;
    padding: 0 !important;
}

/* Highlight the currently sorted column */
.airportTable th.sorted {
    background-color: #FF00FF; /* magenta for current sort */
}

/* Shared icon base */
.airportTable th.sorted::after {
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-left: 6px;
    vertical-align: middle;
    background-size: contain;
    background-repeat: no-repeat;
    opacity: 0.65;
}

/* TEXT sorting: always ascending for normal text columns */
.airportTable th.sortable[data-type="text"].sorted::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-a2z-white-lettering.png");
}

/* NUMBER sorting: always descending for Landings column */
.airportTable th.sortable[data-type="number"].sorted::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-9to0-white-lettering.png");
}




/* ================================
   Continue with other CSS rules...
   Add more sections as needed
   ================================ */


