
/* ================================
   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;
}

/* Hover effect (main rows only) */
.airportTable > tbody > tr:not(.noHover):hover {
    background-color: yellow;
    transition: background-color 0.15s ease-in-out;
}

/* 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;
}

/* Hover effect (exclude rows with .noHover) */
.airportTable tbody tr:not(.noHover):hover {
    background-color: yellow;
    transition: background-color 0.15s ease-in-out;
}

/* Outer row cells */
.noHover > td {
    background-color: #E4E1E0;  /* grey for outer row */
    padding: 0; /* optional: remove spacing around inner table */
}

/* 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 */
.airportTable th.asc::after,
.airportTable th.desc::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 */
.airportTable th.sort-text.asc::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-a2z-white-lettering.png");
}

.airportTable th.sort-text.desc::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-z2a-white-lettering.png");
}

/* NUMBER sorting */
.airportTable th.sort-number.asc::after {
    background-image: url("https://www.fusionwings.com/common/_icons/icon-sorted-9to0-white-lettering.png");
}

.airportTable th.sort-number.desc::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 */
}


.country-flag {
    position: relative;
}

/* =====================
   Base bullet + flag styling
   ===================== */
.country-flag::before {
    content: "●";              /* bullet */
    font-size: 1em;            /* bullet size */
    margin-right: 0.15em;      /* space between bullet and flag */
    vertical-align: 0.05em;    /* fine-tune alignment with flag */
}

/* Hide bullet for single-airport cells, but reserve space */
.country-flag.no-bullet::before {
    content: "\00a0";          /* invisible placeholder */
    opacity: 0;                /* make it invisible */
    margin-right: 0.15em;      /* keep alignment with other cells */
    font-size: 1em;            /* same as bullet size */
}

/* Flag styling */
.country-flag a::before {
    content: "";
    display: inline-block;
    height: 0.85em;             /* larger for details */
    aspect-ratio: 32 / 22;  	/* ~1.4545 */
    margin-right: 0.50em;       /* space between flag and text */
    vertical-align: -0.06em;    /* visually centered with text */
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* Per-country flags */
.country-bermuda a::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-bermuda2x.png");
}
.country-canada a::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-canada2x.png");
}

.country-portugal a::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-portugal2x.png");
}
.country-usa a::before {
    background-image: url("https://www.fusionwings.com/common/Images/Icons/flags/flag-usa2x.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; 
}

			/* 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 -->
mark.search-highlight {
    background-color: #00FF00;
    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 */
    background-color: #E4E1E0;   /* row background color */
    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 */
}

/* ================================
   Continue with other CSS rules...
   Add more sections as needed
   ================================ */


