﻿/*
 *
 * Style Sheet for FrenchBanknotes.com
 * FrenchBanknotes.com site and content (c) 2008 Dave Mills
 * ========================================================
 *
 * Order of entries in this file:
 *	0. Global CSS variables
 *	1. Generic tag styling
 *	2. Shared page styling
 *	3. Page-specific styling
 *	4. Navigation styling
 *	5. Classes added and removed from elements by Javascript to effect style changes
 *	6. Media queries
 *	7. Device-Specific Media queries
 *
 * NOTE: All modern browsers will load all css files even if the media type doesn't match the current output
 * type. That means that splitting out media types into separate files is not a good thing for performance,
 * as it creates more http requests to load the separate files. The only reason to split them apart is for
 * sanity of the programmer. I've kept the media queries here this one CSS file for now.
 *
 * Note on units. See https://zellwk.com/blog/rem-vs-em/ for an excellent write-up of when to use em vs rem.
 * I am trying to stick to this:
 *	- EM is based on the current font size, and is best when you want to scale a sub-component and its children.
 *	- REM is the default browser font size, and is best for when you want everything to scale uniformly page-wide.
 *	  Using REM means that everything in your page scales to that user preference so they don't have to even
 *	  touch the zoom.
 *	- Use px only for small fixed design elements that I do not want to scale (borders, for example)
 * The body font-size is set to 87.5%, which will mean that a setting of 1rem will render as a 14px font if the user
 * is using default browser configuration. The user can then raise or lower that default font size and the fonts
 * on the site will scale accordingly. Remember, rem calculates size relative to the <html> element, where em is
 * calculated by the sizing of its own element.
 *
 * Would like to use :has() and :is() (replaces :matches() and :any()) to provide some interesting CSS flexibility.
 * As of 9/22, all the major browsers support :has() except for Firefox (soon) and Safari for IOS (never for my old
 * iPad, needs IOS 15.4). :is() is quite well supported, except Safari for IOS needs to be v14. Both Chrome and Edge
 * for IOS do support these pseudo-classes, but require IOS 14 as well. IOS 14 doesn't run on my old iPad, so I
 * think my only option is to get a new iPad to use these CSS features. IOS 15 is current and comes on new iPad
 * Air, Pro, Mini or regular iPad. On my Android phone, I use Chrome v105, which supports both of them.
 *
 * There are some classes to help with the responsive switch between desktop, tablet and phone devices:
 *	- enabled, disabled - these classes are used in the ul#groupNav li tags, so that all pages can
 *	list the entire site's navigation, so that it can all be displayed in the hamburger and settings pages on
 *	small devices, but not shown on the larger device pages which each only list the navigation for relevant
 *	sub-pages.
 *	- burgerMenu, styledMenu - these classes are inverses of each other that turn on and off display, and
 *	are used to manage specific <li> tags that should be on or off in one or the other menu.
 *
 * Wherever possible, Javascript should not directly change styles on elements. It should add and remove CSS classes,
 * and allow the CSS to effect visual changes. I follow this except for situations where I need to make style
 * changes (usually size dimensions) that are only known within JS. Rather than encoding magic numbers in the JS, I
 * use the following techniques:
 *		PHP values are sent to JS via "data-" attributes in the <script> tag
 *		CSS variables are defined in the :root section and either used directly in JS (e.g to set a css style) or
 *		assigned to the id #banknoteScript into width and margin values and then pulled from that into a JS array
 *		called "settings". 
 *
 * Country flags images from http://www.iconarchive.com/show/flags-icons-by-wikipedia.7.html#iconlist
 */


/*
 *
 * 0. CSS custom properties, used within CSS var() function. These CSS variables work in all but IE. They also can be
 *    used in Javascript when setting css values. I try to keep "magic number" values in CSS variables as much as possible,
 *    both for color values and for element sizing. In theory, changes here to these values will correctly change the whole
 *    site. In theory.
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 */

:root	{
		/* ---- Colors ---- */
		color-scheme: light dark;			/* This states that the site supports both light and dark color schemes, and defaults to light */
		--font-readable:Lato,Tahoma,Sans-Serif;			/* Font used for smaller text and labels where it's harder to read */
		--font-prose:"Trajen Pro",Georgia,"Times New Roman",Times,Serif;	/* Font used for paragraphs of text */
		--mainnav-font-size:1.3em;			/* Size of the main France, French Prints, etc menu text */
		--groupnav-font-size:1.2em;			/* Size of "group" nav items (A,B,C, France Sections, etc) */
		--leafnav-font-size:0.85em;			/* Size of "leaf" items (country names, artists, etc) */
		--mainnav-height:calc(var(--mainnav-font-size) * 1.3 + 1px);	/* Size of the gray bar holding the mainNav on every page */
		--mainnav-ul-height:calc(var(--mainnav-font-size) * 1.2 + 2px);	/* Size of the gray bar holding the mainNav on every page */
		--groupnav-height:calc(var(--groupnav-font-size) * 1.2 + 1px);	/* Size of the 2nd tier groupNav (A, B, France Sections) */
		--font-color:#222;					/* Default font color */
		--body-background-color:#444;		/* Background behind page */
		--body-border:#AAA;					/* Borders around divs and other box elements */
		--content-background-color:#FFFFFF;	/* Color of the main body of the page */
		--content-background-offset:#EEE;	/* Color of content areas that are to stand out from regular body content */
		--content-background-dec3:255,255,255;	/* Should be able to do this with a hex #RGBA value */
		--button-color:#DDD;				/* Color for all tab and button links */
		--button-background-shiny1:#CCC;	/* Gradient 1 for the background of "shiny" buttons */
		--button-background-shiny2:#F0F8F8;	/* Gradient 2 for the background of "shiny" buttons */
		--background-shiny:linear-gradient(45deg,
							var(--button-background-shiny1) 0% ,
							var(--button-background-shiny2) 70%,
							var(--button-background-shiny1) 100%);
		--button-border:#999;				/* Border around buttons and link elements */
		--button-active-border:#777;		/* Border around active (clicked) button */
		--topnav-gradient-1:#BBB;			/* Background color nav gradient */
		--topnav-gradient-2:#FFF;			/* Background color nav gradient */
		--shadow-color:#CCD;	/* #0244;				/* Drop shadows on various page elements */
		--authority-color:#770;				/* olive;	/* Color of authority name and notes on banknote pages */
		--series-color:#950; /* A70;				/* darkgoldenrod;	/* Color of series headings and notes on banknote pages */
/*		--series-color:#000; /* A70;				/* darkgoldenrod;	/* Color of series headings and notes on banknote pages */
		--abbr-color:#C00;					/* color for <abbr> items (see reference.php for examples) */
		--wrong-catalog-color:Green;		/* color for when I display an alternate catalog from that requested */
		--message-alert-color:Green;		/* Text color for messages */
		--error-alert-color:Red;			/* Text color for error messages */
		--warning-alert-color:Orange;		/* Text color for warning messages */
		--highlight-color:Yellow;			/* Text color for highlighting content (currently just used in timing routines) */
		--highlight-warning-color:Orange;	/* Text color for highlighting content (currently just used in timing routines) */
		--text-link:#00B;					/* Color of link text */
		--text-link-deco:#AAF;						/* Color of the underline beneath link text */
		--text-focus:#B00;					/* Color of link object when focused (tabbed over) or hovered */
		/* ---- Color Filters based on above main color scheme ---- */
		--nav-color-adjust:sepia(100%) hue-rotate(180deg) saturate(600%) brightness(130%);	/* Adjust icon colors to med blue */
		--nav-color-adjust-hover:sepia(100%) hue-rotate(310deg) saturate(600%) brightness(130%);	/* Adjust icon colors to red on hover */
		--dimmer:brightness(96%);			/* Header block background on various pages */
		--brighter:brightness(105%);		/* Filter to brighten area or text, to accent from base color (button hovers, page elements) */
		/* ---- Window sizes ---- */
		--content-width:1008px;				/* On large viewport, width of the white content that sits on a black background. Media query drops below this */
		--content-margin-left:30px;			/* Padding inside --content-width to left&right of actual content on page */ 
		--content-narrow-width:710px;		/* for "narrow" pages */
		--min-content-width:384px;			/* Size at which the layout just cannot go smaller, so set a fixed minimum browser width */
		--body-top-border:15px;				/* Top margin size of dark border (goes away as browser shrinks) */
		--body-min-border:8px;				/* Minimum margin size of dark border around content (at least until that border is removed via MQ) */
		--body-bottom-border:8px;			/* Bottom margin size of dark border */
		--image-thumb-width:180px;			/* Width of banknote thumbnails */
		--image-padding:3px;				/* White padding around images (specifically in detail figures) */
		--default-font-size:14;				/* Assuming browser has default 16px font size, use a 14px default font for the page (See html style below) */
		--detail-min-width:500px;			/* Min width for white detail image display (so small notes don't have a teeny window) */
		--detail-close-box:25px;			/* Size of the X used for a close box on detail pages */
		--detail-close-border:5px;			/* Border around above close box */
/*		--sig-number-width:20px;			/* Width of signature number cell */
/*		--sig-number-width:26px;			/* 4/30/24 Width of signature number cell */
		--sig-number-width:20px;			/* Width of signature number cell */
		--sig-image-native-width:150px;		/* Width of full signature table image */
		--sig-image-width:75px;				/* Width of signature table image */
		--sig-image-height:50px;			/* Height of signature table image */
		--sig-table-spacing:1px;			/* Image border and margin in signature table */
		--sig-table-border:1px; /* 5px;		 left and right padding outside the signature table (dark) */
		--default-sig-width:calc(var(--sig-number-width) + 2 * var(--sig-image-width) + 9px);	/* default used for non-JS browsers */
/*		--min-large-viewport:calc(var(--content-width) + 2 * var(--body-min-border) + 1);	/* boundary below which black background is removed */
		--min-large-viewport:1025px;		/* doing the calculation from above, because otherwise can't pass the calc() to JS (need to confirm, calc() should work with .css() */
		}
/*
 * Adjust color variables for users who've set their client to dark mode (default settings above this are for light mode).
 * On Windows, Light or Dark mode are selected via Start->Settings->Personalization->Colors
 */
@media (prefers-color-scheme:dark)
	{
	:root	{
			--font-color:#EEE;					
			--body-background-color:black;
			--body-border:#777;					/* Borders around divs and other box elements */
			--content-background-color:#444;	/* Color of the main body of the page */
			--content-background-offset:#666;	/* Color of content areas that are to stand out from regular body content */
			--content-background-dec3:68,68,68;
			--button-color:#666;				/* Color for all tab and button links */
			--button-background-shiny1:#666;	/* Gradient 1 for the background of "shiny" buttons */
			--button-background-shiny2:#999;	/* Gradient 2 for the background of "shiny" buttons */
			--button-border:#888;				/* Border around buttons and links elements */
			--button-active-border:#999;		/* Border around active (clicked) button */
			--topnav-gradient-1:#444;			/* Background color nav gradient */
			--topnav-gradient-2:#AAA;			/* Background color nav gradient */
			--shadow-color:#0006;				/* Drop shadows on various page elements */
			--authority-color:#AA0;				/* olive;	/* Color of authority name and notes on banknote pages */
			--series-color:#C90;				/* darkgoldenrod;	/* Color of series notes on banknote pages */
			--abbr-color:#4C4;					/* color for <abbr> items (see reference.php for examples) */
			--error-alert-color:Red;			/* Text color for error messages */
			--text-link:#AEF;					/* Color of link text */
			--text-link-deco:#CFF;				/* Color of underline beneath link text */
			--text-focus:#F85;					/* Color of link object when focused (tabbed over) or hovered */
			/* ---- Color Filters based on above main color scheme ---- */
			--nav-color-adjust:sepia(100%) hue-rotate(180deg) saturate(200%) brightness(340%);	/* Adjust icon colors to med blue */
			--nav-color-adjust-hover:sepia(100%) hue-rotate(310deg) saturate(600%) brightness(130%);	/* Adjust icon colors to red on hover */
			--dimmer:brightness(120%);			/* Header block background on various pages */
			--brighter:brightness(95%);			/* Filter to brighten area or text, to accent from base color (button hovers, page elements) */
			}
	}

/*
 *
 * 1. Generic tag styling
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 */

*									{box-sizing:border-box}
html								{font:calc(100% * var(--default-font-size) / 16) var(--font-prose)}
body								{color:var(--font-color);height:100%;display:flex;flex-direction:column;margin:0;	/* 7/24/23 testing w/o height styles */
									min-height:100vh;background-color:var(--body-background-color);overflow-y:scroll;overflow-x:hidden}
main, section, div, header,
	h1, h2, h3, h4, p				{background-color:inherit}
p, li								{font-size:1em}
#burgerNav form label				{font-size:1.1rem}
li									{margin:4px 0 2px 0;text-align:left}
p									{margin:7px 0 4px 0;text-align:justify;line-height:1.1}			
img									{display:block;margin:0 auto;max-width:100%}		/* display block gets rid of the extra 3 pixels at the bottom of images */
abbr								{color:var(--abbr-color)}
dfn									{font-style:normal;font-weight:bold}
.comment							{font-style:italic}
.center								{text-align:center}
h1									{font-size:1.4em;margin:0.8em 0 0.3em 0;text-align:center}
h2									{font-size:1.17em;font-weight:bold;margin:0.5em 0 0.3em 0;clear:both}
h3									{font-size:1.1em;margin:0.5em 0 0.3em 0;clear:both}
h1+p, h2+p, h3+p,
	* td>p:first-child,
	div>p:first-child				{margin-top:0}
sup									{font-size:0.8em}
sup.foot							{font-size:0.9em;font-style:normal}
sup.foot:before						{font-size:0.85em;content:" ["}
sup.foot:after						{font-size:0.85em;content:"]"}
p.credit							{font:italic 0.7em/1em var(--font-readable);text-align:right;margin:2px}
figcaption,
	p.caption						{clear:both;font:0.9rem var(--font-readable);text-align:center;margin:2px 0 0 0;padding-top:2px}
span.small							{font-size:0.8rem;margin-top:2px}
.tiny								{font:0.7em var(--font-readable);margin-top:4px}
#articlePage .clear					{clear:both}
ol.footnote							{padding:0;margin:20px auto 0;border-top:1px solid var(--body-border)}
ol.footnote li						{font:0.75em var(--font-readable);text-align:justify;margin:0 0 1px 12px}
.error								{color:var(--error-alert-color)}
.warning							{color:var(--warning-alert-color)}
.message							{color:var(--message-alert-color)}
.highlight							{background-color:var(--highlight-color)}
.highlight-warning					{background-color:var(--highlight-warning-color)}

#jsLinkPrev,#jsLinkNext,#jsLinkBack	{display:none}	/* most page movement links are at the bottom of the page, not visible (JS keystrokes use them) */
button #jsLinkPrev,	button #jsLinkNext,
	button #jsDetailLinkBack		{display:inline-block}	/* detail nav links are visible, in navbar */
/*
 * Link styling
 */
a:hover,
	input[type=submit]:hover,
	.notetable em:hover,
	img.icon-x:hover,
	.reftab .sortable:hover			{cursor:pointer}
a									{text-decoration:none;color:var(--text-link)}
p a, span a, .notetable a, input[type=submit]			{text-decoration:dotted underline;text-decoration-color:var(--text-link-deco)}
a:hover, a:focus					{color:var(--text-focus);outline-style:none}	/* outline-style is the dotted border Firefox puts around image links when clicked */
/* "comma list", used in several places where I have a comma-separated list of things like artist names, etc */
ul.commaList						{display:inline;list-style-type:none;padding:0;margin:0}
ul.commaList li						{display:inline}
ul.commaList li:not(:last-of-type)::after	{content: "; "}			/* default commaList, separate list items with semicolons */
span.note ul.commaList li:not(:last-of-type)::after	{content: ". "}	/* Period in denom field commaList */
section.region ul.commaList li:not(:last-of-type)::after,			/* links on banks.php	*/
	span.line1 ul.commaList li:not(:last-of-type)::after,
	.artist ul.commaList li:not(:last-of-type)::after	{content: ", "}	/* Comma in catalog # list */
/*
 * Hover styling, this is used for tooltips from abbr title tags. If hover is supported, let the browser bring up the title
 * in its usual tooltip method. But I also have JS code that monitors touchstart/touchend events on the .tip class, and will
 * display the same title property in a p.class=tooltipup. The media query here just makes sure that if :hover is supported
 * on the device, we don't duplicate the tooltip (I don't know if there are any devices that support both hover and touch,
 * so it might be redundant to need to hide them).
 */
abbr[title]							{color:var(--font-color);border-bottom:1px dotted var(--font-color)}	/* <abbr title="..."> is used for word definition tooltips. No need to make these red */
.notetable div p.tooltipup			{position:relative;top:-1.5em;font-size:0.9em;border:1px solid var(--font-color);border-radius:4px;padding:3px;margin:auto 15px}

@media (hover: hover)
	{
	abbr[title]						{border-bottom:none}	/* <abbr title="..."> is used for word definition tooltips. No need to make these red */
	.notetable div p.tooltipup		{display:none}	/* when hover is supported, make sure my JS tooltips aren't also displayed */
	}
  
/*
   Example use of the :is() pseudo-class for merging similar selector lists.
   Unfortunately as of 2022, :is is not supported by enough browsers, so I'm not using it
   a:is(:hover, :focus)		{color:var(--text-focus);outline-style:none}
 */

/*
 *
 * 2. Shared Page Styling
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 * There are two main page layout types: #banknotePage and #articlePage. The sections in them are the same, but the styles
 * change around. The pages are styled in a "sticky footer" flex implementation, with display:flex;flex-direction:column
 * on body, and flex:1 on the #wrapper to have it grow to fill the space on the page above <footer>.
 *
 * Inside #wrapper (which defines a white "page" centered on a black background), each page uses these main sections:
 *		#topNav, which extends to the very top of the page and includes the main navigation
 *		A <header> block usually containing a horizontal image (must be present even if empty)
 *		On banknote pages, a <nav> called #groupNav listing countries, banks or artists
 *		<main>, which has the main body of the content including any sub-navigation, as well as the hamburger nav
 *		which is displayed at lower page width
 *		<footer> is at the bottom #wrapper and styled with a sticky bottom. It includes the bottom line of copyright
 *
 * For pages that have signature tables, there is another wrapper called #outerWrapper, which is a flexbox that surrounds
 * #wrapper and #signatures.
 *
 */

/*
 * Each page is comprised of two main sections: #wrapper containing the majority of each page, and a <footer> at the bottom which is
 * basically a strip showing the copyright text. These use css flex styling with a bottom margin on #wrapper to implement a "sticky
 * footer" layout
 */
#wrapper							{background-color:var(--content-background-color);width:100%;z-index:1;min-height:100%;min-width:320px;
									flex:1;height:auto;margin:0 auto;max-width:var(--content-width)}
footer								{position:relative;height:calc((var(--body-bottom-border) + 10px + 1.1em));max-width:var(--content-width);	/* 1/30/2020, was 1rem */
									margin:0 auto;width:100%;flex-shrink:0;z-index:1;
									background-image:linear-gradient(var(--content-background-color), var(--content-background-color)),
										linear-gradient(to right,var(--topnav-gradient-2), var(--button-border)),
										linear-gradient(to left,var(--topnav-gradient-1), var(--topnav-gradient-2)),
										linear-gradient(var(--body-background-color),var(--body-background-color));
									background-repeat:repeat-x, repeat-x, repeat-x, repeat-x;
									background-position: 0 0, 0 9px, 0  10px, 0 calc(10px + 1.1em);
									background-size:100% 9px,100% 1px,100% 1.1em,100% var(--body-bottom-border)}
footer p							{padding-top:10px;color:var(--font-color);filter:brightness(110%);float:right;font:0.8em var(--font-readable);margin:0.1em 0.5em 0 0}
footer p.lastUpdate					{float:left;margin:0.1em 0 0 0.5em}
/*
 * main contains the main content section of each page underneath the navigation, not including the signature table
 */
main								{width:calc(100% - 50px);max-width:var(--content-width);margin:10px auto 0;padding-top:0;flex:1 0 auto}
/*
 * main>header is the box above the .notetable, which includes the country name and associated description text
 */
main>header							{position:relative;min-height:calc(1.2rem + 3px)}	/* for groupNav, when image is not displayed */
main header h1						{float:left;margin:0}
main>header p						{text-align:justify;margin:0;padding:5px 0 2px 0}
main>header p.caption				{text-align:center}
main header>p:first-of-type			{clear:left}
main>header img:not([class^=arrow]),
	main>header img:not([class^=icon_*]) {padding:3px;border:1px solid var(--button-border);float:right;margin:0 0 5px 10px}
main>header .icon_settings			{display:inline;filter:grayscale(1);height:1.2em;position: relative;bottom:-3px}
main>header h2						{clear:none}
section>h2							{margin-top:0.2em}
/*
 * The <span> tag is used in the xml files on the countrynote header text to delineate paragraphs. A span is used
 * so the entire text block (which may have multiple paragraphs) can also be surrounded automatically with a <p> allowing
 * the xml to not require the span if there is only one paragraph.
 */
main header span					{display:block;text-align:justify;margin:7px 0 2px 0}
main em.arrow						{font-style:normal;font-size:1.5em;display:inline-block;float:left;color:var(--font-color)}
main em.arrow.left					{margin:0 0.4em 0 0;transform-origin:center;transform:rotate(180deg)}
main em.arrow.right					{margin:-0.1em 0 0 0.5em}
main em.icon-blank					{font-style:normal;display:inline-block}
main em.icon-blank:before			{content:"\20"}

/*
 * Styles used for pages with listings of banknotes
 */
#banknotePage main					{position:relative;width:var(--content-width);max-width:100%;padding:0 var(--content-margin-left) 10px}
#banknotePage aside:not([id=signatures])	{margin:5px var(--content-margin-left) 0;max-width:var(--content-width);width:calc(100% - 2 * var(--content-margin-left))}
#banknotePage main header			{filter:var(--dimmer);margin:0 0 8px;padding:3px 5px;
									border:1px solid var(--button-border);overflow:auto;	/* overflow to get border to wrap around largest object in header */
									position:relative;z-index:1;box-shadow:3px 3px 6px var(--shadow-color)}

#banknotePage #outerWrapper			{display:flex;flex:1;max-width:var(--content-width);	/* 3/1/21 add to try to fix sticky footer */
									margin:0 auto;height:100%;width:calc(100% - calc(2 * var(--body-min-border)))}
#banknotePage #outerWrapper.sigUp	{width:calc(var(--content-width) + var(--default-sig-width));max-width:100%}
#banknotePage #wrapper				{display:flex;flex-direction:column;margin:0;padding-bottom:0;width:var(--content-width);min-height:100vh}
#banknotePage .notetable			{position:relative;z-index:2}	/* z-index to overlap one from header */
/*
 * Styling for Fancybox JS image and html popups. Also check in banknote.js for some fancybox options I set there.
 */
.fancybox-container					{background-color:transparent}
.fancybox-container img+p			{padding-bottom:8px}
.fancybox-container figure			{border:none}
.fancybox-content					{padding:40px 20px}
/*.fancybox-iframe					{padding:5px;width:calc(100% - 12px);margin:5px;border:1px solid #AAA}	*/
.fancybox-button--close				{background-color:transparent}	/* remove the black square around the close button */
.xfancybox-slide					{padding:20px}			/* shrink default padding around whole iframe */
.xfancybox-slide--iframe .fancybox-content {max-width:80%;background:transparent}	/* the popups are ~1000px tall for some reason. This makes them correct, but drops off the watermark images? */
.xfancybox-toolbar,
.xfancybox-navigation .fancybox-button--arrow_right {right:20px}		/* move buttons in from right margin (were on top of scrollbar) */
.xfancybox-toolbar					{opacity:inherit;transition:opacity .25s ease,visibility 0s ease .25s;visibility:visible}	/* turn off fade out of buttons */

/*
 * .notetable and .authority divs used for display of banknotes
 */
.notetable,
	#articletable,
	.authority						{display:flex;flex-direction:column;flex-wrap:wrap;width:100%;font:0.95em var(--font-readable)}
.notetable h2,
	.notetable h3,
	.notetable h4					{margin:0}

/* .notetable em tags are the +/- icons to the left of the image face thumb, used to expand and contract the display of additional banknote varieties. The
 * tags are inside the face thumbnail div, though positioned to their left.
 */
em.plus-sign:after					{content:"\FF0B";content:"+"}	/* unicode + */
em.minus-sign:after					{content:"\FF0D";content:"-"}	/* unicode - */
em.plus-sign:after,			
	em.minus-sign:after				{font:normal 0.8em var(--font-readable);padding:0 2px;border:1px solid var(--button-border);
									border-radius:2px;margin:0;display:inline-block;width:0.6em;text-align:center}

.notetable em.plus-sign,
.notetable em.minus-sign			{position:absolute;z-index:1;left:-1.3rem;bottom:calc(50% - 0.8em)}	/* z-index to make sure the "+" is above the change bars. */
											/* set bottom position to put the + icon halfway up the cell */
.notetable .plus-sign:hover			{filter:brightness(125%)}
.notetable em.plus-sign,
.notetable em.minus-sign			{display:none;font-size:1em;line-height:0.9em;background-color:var(--button-color);border:2px solid var(--content-background-color);border-radius:3px;margin:0}

.notetable .main,.notetable .sub	{display:flex;flex-direction:row;flex-wrap:nowrap;width:100%;break-inside:avoid}
.notetable .sub						{display:none;visibility:hidden}
/*
 * .changebar is the vertical bar along the left of the .notetable image rows that appears when "+" icon is clicked and rows are added
 * .changebartop and .changebarbot are the short 90-deg ends on top and bottom of the change bar. These two classes are added by JS code
 */
.notetable .changebar				{display:none;border-width:0;border-color:var(--button-border);border-style:solid;width:4px;
									position:absolute;left:-0.9rem;border-left-width:1px;height:calc(100% + 4px)}
.notetable .changebartop			{border-top-width:1px;border-top-left-radius:2px}
.notetable .changebarbot			{height:100%;top:-4px;border-bottom-width:1px;border-bottom-left-radius:2px}

/* .notetable colums, left to right */

.notetable .thumb					{max-width:calc(50% - 2px);padding:1px;min-width:var(--image-thumb-width)}	/* 4/27/21 added this, as empty thumb fields were less than 180px */
.notetable .thumb img:focus			{padding:0px;outline:1px dotted var(--text-focus)}
.notetable .thumb {break-inside:avoid}
/* 12/24/22 these two styles are for the second test with the link from the thumnail implemented as a <form> element */
.notetable form, .detail div.denom form		{display:inline}
.notetable .thumb input[type=submit]	{position:absolute;left:0;top:0;width:100%;height:100%;background-color:transparent;border:0}
.notetable .denom input[type=submit],
	.detail input[type=submit]		{xfont-style:italic;font-size:1em;color:var(--text-link);background-color:transparent;border:0;padding:0 2px;margin:0}
.notetable div.denom				{flex-grow:2}
.notetable div.denom .like 			{font-size:0.85rem;background-color:var(--content-background-offset)}
.notetable>div>div					{position:relative;border:1px var(--body-border) dotted;margin:1px}
/* heading lines in notetables */
.notetable div p					{margin:2px 0 0 0}
.notetable div p:first-child		{margin-top:0}
.notetable div.not_owned_note		{border:1px #F27112 dotted}

.notetable div.series				{color:var(--series-color);width:100%;width:fit-content;padding:5px 5px 3px}
.notetable .series>h3				{width:fit-content;font-size:1em;margin:2px 0;padding:1px 2px 0;border-bottom:1px solid;border-top:1px solid}
.notetable div.series p				{xfilter:var(--brighter);padding:1px 2px 0;margin:0}
p.catalog_note 						{color:var(--warning-alert-color);font-style:italic}
.notetable .thumb,						/* width of all displayed banknote thumbnails. Need to specify because if the file */
	.notetable .thumb img			{width:var(--image-thumb-width);box-sizing:content-box}	/* is larger, then the additional resolution is used if user zooms his browser */
.notetable div.denom				{width:310px;padding:4px}
	.notetable div.denom .description,
	#articlePage.detail .description,
	#articlePage.detail .note,
/*	.notetable div.denom .note */	{display:block}
#articlePage.detail .catalogno,
		#articlePage.detail .line1 + ul,
		#articlePage.detail .line1	{font-weight:bold}
.notetable div.denom .catalogno		{font-weight:bold}
.notetable div.denom .catalogno.wrong	{color:var(--wrong-catalog-color);border-bottom:1px dotted}
.notetable div.denom .note,
	.notetable div.denom ul.like
	.detail div.denom ul.like		{font-size:0.87rem;font-style:italic;line-height:1}
.xnotetable div.denom .like			{margin:0;font-style:italic}
.notetable div.denom .like, .detail div.denom ul.like			{margin:0;padding:2px 3px;list-style:none}
.notetable div.denom .like li, .detail div.denom ul.like		{margin:0}
.detail div.denom ul.like			{padding:0}
.notetable div.denom > .like		{margin-top:1px}	/* 1px border above the first ".like" section */
.notetable div.denom > .like ~ .like 	{margin-top:0}	/* 0px border above all other .like sections */
.notetable div.denom img			{position:absolute;bottom:3px;right:3px}
.notetable div.artist				{width:150px;padding:4px}
.notetable div.artist span,
.detail figcaption span				{font-size:0.8em;font-style:italic}	/* in em, so 80% of the table default size */
/*
 * .authority is a div at the same level as .notetable, and contains authority name and info (there may be several on a page)
 */
.authority							{width:100%;padding:3px 5px;color:var(--authority-color)}
.authority p						{filter:var(--brighter);font-size:1.1em;padding:3px 2px 1px;margin:0}	/* for a <note> under <authority> */
.authority>h2						{width:fit-content;padding:1px 2px;margin-top:0.1em;border-bottom:1px solid}
.authority img						{margin:2px}
/*
 * Styling for signature table pop-up. The pop-up works with or without JS; the class .jsBrowserHasJS is used to style
 * the two differently. The class .jsSigUp is set/cleared within JS and used to style things. There is another class,
 * .sigUp, which is used when the browser doesn't have JS, and is 
 * set by the user's click on the "Show Signatures" button, and passed by the query parameter "?sig"
 */
#signatures							{display:none;color:var(--font-color);font:0.7rem/1 var(--font-readable);box-sizing:content-box;	/* my JS for sizing the signature box on the page depends on this box-sizing */
									flex-direction:column;z-index:6;overflow:auto; /* needs to sit above the wrap, and below the NavIcons */
									margin-top:var(--body-top-border);width:0;background-color:transparent}
#signatures em.plus-sign,
	#signatures em.minus-sign		{background-color:var(--button-color);font-size:1em;background-color:var(--button-color);}
/* #signatures em.plus-sign:after		{content:"\FF0B"}	/* unicode + */
/* #signatures em.minus-sign:after		{content:"\FF0D"}	/* unicode - */
/*#signatures em:hover				{cursor:pointer} */
img.icon-x							{height:1.3em;xwidth:1.5em;filter:contrast(20%)}
/* 10/10/24 commented this out, don't think it's used
img.icon-prev, img.icon-next		{height:1.5em;filter:contrast(20%)}
*/
em.icon-x							{font-style:normal;display:inline-block}
#signatures #sig_p					{display:block;position:fixed;width:inherit;text-align:right;background-color:var(--topnav-gradient-1);xmargin:0;padding:0;border:var(--body-background-color)}
#banknotePage:not(.jsBrowserHasJS) #signatures>p {width:calc(var(--sig-number-width) + 2 * var(--sig-image-width))}	/* this width is only used if there is no JS */

/*#n_sig								{xdisplay:none}	* turn off sig menu option by default... *
.jsBrowserHasJS #n_sig				{xdisplay:block}	* ... but turn sig menu option on if we have JS */
/*#n_sig:not(.jsBrowserHasJS)			{display:none}	/* turn off sig menu option if the <body> element does not contain the .jsBrowserHasJS class */
body:not(.jsBrowserHasJS) #n_sig	{display:none}	/* turn off sig menu option if the <body> element does not contain the .jsBrowserHasJS class */

/* .jsSigUp #n_sig						{xdisplay:none}	* hide sig icon by default (no JS in browser) or if sig table is displayed 5/3/24 remove */
.jsSigUp #signatures				{display:flex;flex-direction:column;position:static}	/* needs to be static to take space for position */
#banknotePage #outerWrapper.jsSigUp #signatures		{margin-left:var(--body-min-border)}	/* 8/29/21 was 0px, changed to add gap between #wrap and #signatures */
#signatures #swrap					{background-color:var(--content-background-color);position:fixed;margin-top:calc(1.5em + var(--sig-table-border));	/* height of X box + its margins */
									} /* this height needs to be managed in JS to fill the page but not overflow */
#signatures table					{xborder-collapse:collapse;border-spacing:1px;text-align:center;background-color:var(--header-box-color)}	/* 4/30/24 removed margin */
#signatures td,
	#signatures th					{background-color:var(--header-box-color)}
#signatures td:empty,
	#signatures th:empty			{border:none}
#signatures tr.sigBank th			{height:1em;font:normal 1em/1.1 var(--font-readable);color:var(--authority-color);background-color:var(--content-background-offset)}
#signatures tr.sigTitle	th			{padding:1px;background-color:var(--content-background-offset);font-size:0.9em;font-style:italic;font-weight:normal}
#signatures tr.sigName				{width:calc(var(--sig-image-width) + 2px);font-size:0.9em}
#signatures tr.sigImage td img		{width:var(--sig-image-width);position:relative;top:0}
#signatures tr.sigImage td			{width:calc(var(--sig-image-width) + 2px);height:calc(var(--sig-image-height) + 2px)}
#signatures tr.sigImage td:first-child	{width:calc(var(--sig-number-width) + 2px)}

.detail #sig tr.sigTitle th			{padding:1px;background-color:var(--content-background-offset);font-size:0.9rem;font-weight:normal}
.detail #sig tr.sigName				{width:calc(var(--sig-image-width) + 2px);font-size:0.9em;text-align:center}
.detail #sig tr.sigName	td			{width:calc(var(--sig-image-native-width) + 2px)}	
.detail #sig tr.sigImage td img		{position:relative;top:0}
.detail #sig td:first-of-type		{display:none}

.boxFit-container					{xvisibility:hidden;xborder:1px solid blue;margin:0;padding:0}
.boxFit-container>*					{xborder:1px solid red}

#signatures .icon-x					{width:1.25em; /* 1.25em s/b same as margin of #signatures #swrap style */
									float:right;padding:2px;filter:invert(100%) contrast(100%)}
/*
 * .img-zoom and .transition are for the jquery to zoom in/out on the signature image. JQuery adds or removes the .transition class
 * when the image is hovered, and these styles scale the size of the image
 */
#signatures table .img-zoom			{transition:all .2s ease-in-out}
#signatures table .left.transition	{z-index:5;transform:scale(2) translateX(10px);box-shadow:0 0 2px 2px var(--body-background-color)}
#signatures table .center.transition	{z-index:5;transform:scale(2);box-shadow:0 0 2px 2px var(--body-background-color)}
#signatures table .right.transition {z-index:5;transform:scale(2) translateX(-23px);box-shadow:0 0 2px 2px var(--body-background-color)}
/*
#signatures table .right {z-index:5;transform:scale(2) translateX(-20px);box-shadow:0 0 3px 3px var(--body-background-color)}
*/
/*
 * CSS scrollbars for the sig table. The old IE/non-standard method that is supported now by Blink and WebKit-based browsers (e.g., Chrome, Edge,
 * Opera, Safari, all browsers on iOS, and others). This old method is much more flexible than the new css attributes that are only implemented
 * in Firefox.
 */
/*
#signatures #swrap::-webkit-scrollbar	{xcolor:white;background-color:rgba(0,0,0,0.4);width:9px}
#signatures #swrap::-webkit-scrollbar-track {background-color: transparent}
#signatures #swrap::-webkit-scrollbar-thumb {background-color:#087aea;border-radius:5px;xborder-left:4px solid transparent;background-clip:content-box}
#signatures #swrap::-webkit-scrollbar-thumb:hover {background-color: #a8bbbf}
*/
/* this is the proposed standard for scrollbars, but only currently supported by Firefox */
/*#signatures #swrap					{scrollbar-color:#087aea rgba(0,0,0,0.4);scrollbar-width:thin}
*/

#swrap_i							{}	/* #swrap_i is only here to set the color of the gutter between the data and scrollbar */

/* --- 5/1/24 changes for sig table styles -- */
#signatures							{overflow:inherit}
#signatures #swrap 					{xwidth:inherit;margin-top:0;background-color:transparent}
#signatures #sig_p 					{position:sticky;z-index:99;top:0;float:right;background-color:transparent;mix-blend-mode:difference}
#swrap_i							{overflow:auto;margin-top:20px;background-color:var(--content-background-color);width:fit-content; 
									border:var(--sig-table-border) solid var(--body-background-color)}
#signatures .icon-x					{filter:none;filter:invert;width:1.35em;padding:0.2em}
#signatures img.icon-x				{background-color:var(--body-background-color)}
#mainNav hr							{color:var(--shadow-color)}
/*
 *	Popups 
 */
.popupPage							{visibility:hidden;position:absolute;z-index:99;border:1px solid black;padding:5px;top:30px;
									box-shadow:0 0 40px 15px var(--body-background-color)}
.popupPage .close					{float:right}

/* -------------- scrollbars for whole site */
#outerWrapper *::-webkit-scrollbar	{background-color:rgba(0,0,0,0.4);width:9px}
#outerWrapper *::-webkit-scrollbar-track {background-color: transparent}
#outerWrapper *::-webkit-scrollbar-thumb {background-color:#087aea;border-radius:5px;background-clip:content-box}
#outerWrapper *::-webkit-scrollbar-thumb:hover {background-color: #a8bbbf}
/* this is the proposed standard for scrollbars, but only currently supported by Firefox */
#outerWrapper *						{scrollbar-color:#087aea rgba(0,0,0,0.4);scrollbar-width:thin}	/* var(--body-background-color) */

/*
 * Various page changes for when the signatures are displayed. This was from the media query section
 */
	/*
	 * 3/16/21 think twice before changing following width or max-width for the #wrapper annd #topNav here. These are very specific settings to 
	 * manage a quirk created by the #signatures aside being positioned:fixed, creating some blocky background when the sig table is displayed.
	 */
#banknotePage #outerWrapper.jsSigUp #wrapper		{width:100%;max-width:var(--content-width)}
/*
 * Layout that comes up on launch "State 0" starts with no sig table displayed, and styles for large viewport
 */
.jsBrowserHasJS #outWrapper.jsSigUp #signatures,
	 #outWrapper.sigUp #signatures	{display:flex;width:var(--default-sig-width)}
/*
 * Layout for large page with sig table displayed, State 1
 */
#banknotePage #outerWrapper.sigUp	{max-width:100%}
#banknotePage #outerWrapper.sigUp #signatures	{display:flex;width:max-content;width:var(--default-sig-width)}

/*
 *	Styles for article pages. This is for all pages which do not have the standard table of banknotes, and are mostly styled with
 *	free flow paragraphs of text and imbedded images. 
 */	
#articlePage.detail #wrapper,
	#articlePage.detail footer		{width:98%;background-color:var(--content-background-offset)}
#articlePage main					{margin-top:0}		/* 8/15/19 removed this, seems it is already set? No, put it back*/
#articlePage section				{overflow:auto;clear:both}
#articlePage figure					{background-color:var(--content-background-color)}
#articlePage main section:first-of-type	{margin-top:20px}	/* put a margin between the article headings and the first content section */
#articlePage p.author				{text-align:right;font-style:italic;margin-top:10px}
#articlePage .inset					{overflow:auto;width:98%;margin:10px auto 5px}			/* generic inset box */
#articlePage.narrow main			{max-width:var(--content-narrow-width)}	/* 9/20/18 removing references to notetable from anywhere not listing banknotes. Use class .narrow on main instead */
#articlePage #signatures table		{margin-top:0}
#articlePage h2						{text-align:left;padding-top:5px}
#articlePage h1+h2					{padding-top:0;margin-top:0;text-align:center}
#articlePage h3						{font-weight:bold;padding:0;clear:none}
/* 7/1/23 topnav test
#articlePage #logoIcon				{max-width:25%;float:left;margin:30px 20px 10px 0}
*/
#articlePage main footer			{position:static;width:100%;height:auto;background:transparent;border-top:1px solid black;margin-top:20px}
#articlePage main footer h2			{font-size:1em;margin-top:0.1em}
#articlePage main footer p			{padding-top:5px;float:none;font:0.75rem var(--font-prose);line-height:1rem;margin:0}
#articlePage main footer ol			{padding-left:1em;font-size:0.75rem;line-height:1rem}
#articlePage .right					{float:right}		/* used when positioning images or text blocks in articles */
#articlePage .left					{float:left}
/*#articlePage .center				{text-align:center} */
/*
 * These lines added for articles that use .frame
 * Trying to replace these with figure & figcaption and would love to find a way to do the .p50 etc stuff without all these
 * classes.
 */
figure								{display:inline-block;border:1px #DDD solid;margin:2px auto 5px;padding:var(--image-padding);overflow:auto}	/* by default figures are inline next to each other. If you */
																															/* want one centered across the page, give it class "center" */
figure.p100							{max-width:calc(100% - 0px);margin:2px 5px 5px}
figure.p70							{max-width:calc(70% - 6px)}
figure.p60							{max-width:calc(60% - 6px)}
figure.p50							{max-width:calc(50% - 6px)}
figure.p40							{max-width:calc(40% - 6px)}
figure.p30							{max-width:calc(30% - 6px)}
figure.p25							{max-width:calc(25% - 6px)}
figure.center						{display:block;margin:auto}
figure.left							{margin-right:5px}
figure.right						{margin-left:5px}
figure.noborder						{border:none}
/*figure img						{display:block;max-width:100%} */
figure img.vskip					{margin-top:3px;border-top: 1px solid #DDD;padding-top:3px}
figure.i2 img						{display:inline-block;max-width:calc(50% - 2px);vertical-align:bottom}	/* .i2, 4, 5 will align the img side by side */
figure.i4 img						{display:inline-block;max-width:calc(25% - 3px);vertical-align:bottom}
figure.i5 img						{display:inline-block;max-width:calc(20% - 3px);vertical-align:bottom}

.fancybox-iframe					{border:none;margin:0;padding:0}
.fancybox-slide--iframe .fancybox-content	{box-shadow:none}
/*
 * Error and warning message popup. #errorBackground display property is set w/in JS, if <p> text is found in it. It also needs to be there to catch
 * a click from the user to close the box. As of 10/20/24 I've removed the .icon-x close box as it seems to be a common UI to just let the user click
 * anywhere and not expressly use a close box.
 */
#errorBackground					{display:none;position:absolute;top:0;left:0;z-index:999;width:100%;height:100%;xbackground-color:#0008;background-color:transparent}
#errorBox							{position:relative;margin:10% 20%;padding:1em 1.5em;background-color:lightgoldenrodyellow;box-shadow:0 0 40px 15px orangered}
#errorBox p							{font:normal 1.1em/1.1 var(--font-readable)}
/*#errorBox .icon-x					{position:relative;height:1.2em;top:-3.7em;right:-1.5em;width:1.1em;float:right;filter:invert(100%) contrast(100%)}
*/
#errorBox .icon-x					{position:absolute;top:8px;right:10px;font-size:0.8em;filter:grayscale(100%) brightness(200%)}

/*
 *
 * 3. Page-specific styling
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 */
 
/*
 * .franceIndex is the main index page for France. 
 */
.franceIndex #FranceSec				{display:grid;grid-template-columns:repeat(3,auto);grid-template-rows:repeat(3,auto);
									position:absolute;top:590px;right:125px;grid-gap:15px;max-width:96%;
									background-color:var(--content-background-color);filter:opacity(80%);padding:15px;
									box-shadow: 0 0 5px #000;}
.franceIndex #FranceSec .row		{display:grid}
.franceIndex #FranceSec .box		{position:relative;max-width:130px;background-color:var(--button-color);padding:5px 7px 0px 5px;border-width:1px;
									border-style:solid;border-left-color:#AAA;border-top-color:#AAA;border-bottom-color:#FFF;border-right-color:#FFF}
.franceIndex #FranceSec .box img	{margin:0 auto}
.franceIndex #FranceSec .box p.caption	{margin:2px auto}
/* ---- grid version ends here ---- */

.franceIndex main					{position:relative;width:700px;height:1000px;margin:0 auto;background:url(../images/Sirven-bkg.jpg) 0px 35px no-repeat}

.franceIndex main header			{position:absolute;bottom:490px;right:105px;width:280px;background-color:var(--content-background-color);
									filter: opacity(80%);box-shadow:0 0 5px #000;padding:4px 6px;border:1px var(--button-border) solid}
.franceIndex #notes h1				{margin:0}
.franceIndex main h3				{float:left}

/*
 * Site home page header/logo treatment (display logo image, but put text in h1 shifted off screen for SEO)
 */
#articlePage.index main				{max-width:500px}
#articlePage:not(.oindex,.index) main	{}	/* actual articles #articlePage doesn't contain the #headerImg, and therefore needs padding above */
#articlePage.index main h1			{position:relative;top:-100px;left:-9999px;height:5px;margin:0;padding:0}
/*
 * The #headerImg ID is on a <header> in each of the pages and has some styling on it to allow spacing for the
 * main navigation.
 */
#headerImg							{display:flex;flex-direction:row;flex-wrap:nowrap;margin:0 auto;
									max-width:var(--content-width);width:calc(100% - 2 * var(--content-margin-left))}
#articlePage.index #headerImg		{max-width:400px}
#articlePage.index #headerImg img	{box-shadow:none}
#wrapper>header						{padding-top:50px}
/*#articlePage.narrow #wrapper>header	{max-width:var(--content-narrow-width)}*/
#headerImg img						{width:100%;box-shadow:3px 3px 6px var(--shadow-color)}
#headerImg.nav						{margin-bottom:calc(-1 * var(--groupnav-height) - 2px)}	/* this negative margin defines the top location of #groupNav */
#articlePage main #headerImg		{margin-top:15px}	/* for #headerImg inside main (ie articlePages) */
.narrow #headerImg					{max-width:var(--content-narrow-width);margin:0 auto}
.index main img:nth-of-type(2)		{width:100%;margin-bottom:15px}

/*
 * Table that holds the article headings, in the article index and in additions. Used to be .notetable
 */
#articletable						{border:0;padding-top:10px}
#articletable>a>div					{width:100%;height:80px;padding:0 5px;margin-bottom:5px;border:1px solid transparent;background-repeat:no-repeat}
#articletable>a>div:hover			{border-color:var(--button-active-border)}
#articletable>a>div h2				{font-size:1.2em;margin-left:120px;margin-top:0;padding:2px 3px;background-color:var(--button-color)}
#articletable>a>div p				{clear:left;text-align:left;margin:5px 3px 0 120px}
#articletable>a>div img				{float:left;border:1px solid #CCC;padding:1px}
#articletable h1					{text-align:left;margin:1em 0 0.6em}
/*
 * Styles for "detail" pages, the popups displayed when banknote thumbnails are clicked
 */
#articlePage.detail					{height:100%;overflow-y:auto;font-family:arial,sans-serif;background-color:var(--body-background-color);padding:var(--body-top-border) 4px 4px}	/* 1/29/22 added overflow:hidden to get rid of scrollbar */
#articlePage.detail #wrapper		{xmargin-top:var(--body-top-border)}
#articlePage.inIframe				{background-color:transparent}
#articlePage.detail main			{overflow-y:auto;max-width:100%;height:100%;min-height:inherit;padding:0 var(--image-padding);width:100%;margin:10px auto;border:none;
									min-width:var(--detail-min-width)}
#articlePage.detail section			{overflow-y:auto;max-width:100%;height:100%;min-height:inherit;padding:0 var(--image-padding);width:100%;margin:10px auto;xborder:none;
									max-width:90%;min-width:var(--detail-min-width)}
/* figure below changed from block to inline-block 2/2/24, so detail otherimages can tile */
#articlePage.detail figure			{display:inline-block;vertical-align:top;background-color:var(--content-background-color);max-width:100%}
/*#articlePage.detail figure:first-of-type	{margin-top:0} */
#articlePage.detail img.face		{margin:0px auto 3px}
#articlePage.detail .keywords		{font-size:0.8em;padding:20px 0 10px}
#articlePage.detail .keywords p		{display:inline;text-align:left}
#articlePage.detail h1				{font-size:1.3rem;padding:0 3px;margin:0;display:inline-block;height:1.8rem}
#articlePage.detail h2				{font-size:0.9rem;text-align:center;margin:2px 0;clear:none;padding-top:0;}	/* On detail pages, h2 does not clear (ie can be pushed left or right */
#articlePage.detail h3				{font-size:1rem;text-align:center;margin:2px 0;font-weight:normal;clear:both;padding-top:0}	/* On detail pages, h2 does not clear (ie can be pushed left or right */
#articlePage.detail .grid			{display:block;xclear:both;margin-top:20px}
#articlePage.detail .grid:after		{content:'';display:block;xclear:both}
#articlePage.detail .grid .grid-item {margin:0 0 5px 0;display:inline-block;vertical-align:top}
#articlePage.detail .description,
	#articlePage.detail .note		{display:block}

/*
 * Styling for keyword index, printers, and artists index pages
 */
#indexGrid							{columns:4 15em;font-size:100%;margin-top:15px}
#indexGrid .listLetter				{break-inside:avoid}
#indexGrid a						{text-decoration:none}
#indexGrid h2						{border-bottom:1px #aaa solid;margin:10px 0 0 0}
#indexGrid>h2:first-of-type			{margin-top:0}
#indexGrid ul						{margin:0;padding-left:0}
#indexGrid ul li					{display:flex;line-height:1.1}
#indexGrid ul li .term				{order:1;padding-right:5px;font-size:0.85em}
#indexGrid ul li .def				{order:3;text-align:right;padding-left:5px;font-size:0.75em}
#indexGrid ul li .ref				{order:4;text-align:right;font-style:italic}
#xindexGrid ul li::after				{order:2;content:"";flex-grow:1}
#indexGrid ul li.dots::after		{border-bottom:1px #AAA dotted}

#indexGrid ul li.entry				{display:flex;width:100%}
#indexGrid .entry .term				{order:unset}
#indexGrid .entry .dots2			{height:1.1em; /* very important */
									overflow:hidden; /* very important */
									word-wrap:break-word; /* where magic happens */
									color: #999;letter-spacing:3px;font-size:0.75em;
}
#indexGrid .entry .dots2:after		{content: '...........................................................................'}
#indexGrid .entry .def				{order:unset;font-style:italic;xoverflow:hidden;word-wrap:break-word;padding-left:0}



#indexGrid ul li a					{xline-height:1.2}
#indexGrid ul li p					{line-height:1.2;margin:0}
#indexGrid ul li span.type				{font-size:0.8em;text-transform:uppercase}
/*
 * Styling for additions (new banknotes) page
 */
#banknotePage.additions .notetable .plus-sign	{display:none}
#banknotePage.additions #headerImg,
	#banknotePage.additions main	{margin-left:auto;margin-right:auto}
/*
 * Styling for the reference.php page. reftab is the table that holds all the definitions of terms.
 */
.reftab								{font-family:Arial, Helvetica, sans-serif;font-size:0.9em;border-collapse:collapse}
.reftab td, .reftab th				{border:1px solid #ddd;padding:4px 4px 2px}
.reftab tr:nth-child(even)			{background-color:var(--button-color);filter:var(--brighter)}
.reftab tr:hover					{background-color:var(--button-color);filter:brightness(100%)}
.reftab th							{padding:4px;text-align:left;background-color:#04A;color:white}
.reftab img							{display:inline;position:relative;top:2px}
.reftab .sortable					{min-width:8em}
.reftab .sortable img				{height:1.0em;float:right}

/*
 * Styling for contact page form
 */
#envelope							{overflow:auto;width:100%;padding:15px;margin:20px auto 5px;background:#f8efe0;box-shadow:0 0 5px #000}
#envelope label						{color:#000;font:bold 0.85em var(--font-readable);padding-left:5px}
#envelope fieldset					{border:none}
#envelope input,
	#envelope textarea				{margin-bottom:5px;width:100%}
#envelope textarea					{height:120px;overflow:auto}
#envelope .from						{width:200px;max-width:50%}
#envelope .to						{margin:20px 10% 0 10%}
#envelope fieldset.spamck			{float:right;margin-top:20px;overflow:auto;border:1px solid #AAA;border-radius:2px;padding:4px 5px}
#envelope fieldset input:not([type=submit]),
	#envelope fieldset textarea		{background-color:#faf4e9;border:1px #FFF solid;border-right-color:#aaa;border-bottom-color:#aaa;
									font:1em var(--font-readable);padding:0px 3px 3px 3px;margin-top:3px}
#envelope .SpamInputField			{margin:0 15px 0 0}							
#envelope fieldset textarea:focus,
	#envelope fieldset input:focus,
	#envelope .SpamInputField:focus	{background-color:#eae4d9;border:1px #FFF solid;border-left:1px #ccc solid;border-top:1px #ccc solid}
#envelope .spamck input[type=submit]	{width:5em;float:right;margin:2px 0 0 0}
#envelope fieldset input.RequiredField,
#envelope fieldset textarea.RequiredField	{border-right-color:#A00;border-bottom-color:#A00}
#envelope fieldset input.alert,
	#envelope fieldset textarea.alert	{border:1px dashed red}

#errorDiv							{width:300px;margin:10px auto;padding:3px 5px;border:1px solid #F00}
#errorDiv>p:last-of-type			{margin-bottom:0}
img[src*="IBNSlogo"]				{width:100px;float:right;margin-top:30px}
/*
 *	Styling for performance profile report table
 */
#profileSection							{background-color:lightgray;padding:10px}
table.profileResults					{float:left;background-color:white;width:660px;margin:0 10px 10px;font:0.9em courier}
table.profileResults th					{text-align:center;border-bottom:1px solid black;padding:0 5px}
table.profileResults .foot th			{text-align:left;border-top:1px solid black;border-bottom:none}
table.profileResults td					{text-align:right;padding:0 5px}
table.profileResults th:nth-of-type(1)	{width:30px}
table.profileResults th:nth-of-type(2)	{width:30px}
table.profileResults th:nth-of-type(3)	{width:280px}
table.profileResults th:nth-of-type(4)	{width:90px}
table.profileResults th:nth-of-type(5)	{width:90px}
table.profileResults th:nth-of-type(6)	{width:70px}
table.profileResults th:nth-of-type(7)	{width:70px}
table.profileResults td:nth-of-type(3)	{text-align:left}

table.profileConsResults					{float:left;background-color:white;width:490px;margin:0 10px 10px;font:0.9em courier}
table.profileConsResults th					{text-align:center;border-bottom:1px solid black;padding:0 5px}
table.profileConsResults .foot th			{text-align:left;border-top:1px solid black;border-bottom:none}
table.profileConsResults td					{text-align:right;padding:0 5px}
table.profileConsResults th:nth-of-type(1)	{width:30px}
table.profileConsResults th:nth-of-type(2)	{width:280px}
table.profileConsResults th:nth-of-type(3)	{width:30px}
table.profileConsResults th:nth-of-type(4)	{width:80px}
table.profileConsResults th:nth-of-type(5)	{width:70px}
table.profileConsResults td:nth-of-type(2)	{text-align:left}

/*
 *
 * 4. Navigation Styling
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 * nav#topNav is the gray navbar fixed at the very top of the page. It is styled with flexbox, and thus all its included elements
 * are also. Flexbox is allowing much simpler styling of the main navigation, with less html and mostly less CSS. And the result sizes
 * nicely as the page is made smaller. #topNav contains:
 *		A <ul> called #mainNav which has has <li> elements for the FB logo, tabs for "France", "French Prints", etc, small
 *		icons for selecting the signature table, sorting, etc, and the flag depicting the current language.
 *		A (normally hidden) <a> image and href for the hamburger menu, displayed only on small screens
 *
 * ul#groupNav is below #topNav, and contains the next level detail for the page we're on. For French Prints, that's a set
 * of letters, each of which is a <li> that contains another <ul> listing each country that starts with that letter. For
 * Artists, France, and Banks, it's just the word "Artists", "France" or "Central Banks", and then it opens up to
 * the detail level UL below (the reason for this is consistency of the UI with the French Prints pages, and ability
 * to re-use the same code and styles across all the pages).
 *
 * #burgerNav is below the majority of the page content, and is the whole layout of the hamburger navigation used on smaller displays
 *
 * Navigation classes:
 *	.active is assigned to the currently viewed <li>
 *	.checked is assigned to currently selected <li> items that use a checkmark in the list item to show it's been selected
 *	.dim is assigned to <li> items that don't exist for this page, but should appear dimly as a placeholder. This ends up being
 *		quite similar to .active, maybe identical. Check it...
 *	.disabled is assigned to an <li> to make it not show on this page
 *
 */
.shiny								{font-family:var(--font-readable);font-size: 0.8em;border:1px solid var(--button-border);padding:0;
									background-image:var(--background-shiny);box-shadow:0px 0px 2px 2px var(--shadow-color)}
.shiny a.styledMenu,
	.shiny span,
	.shiny>p,
	.shiny>a						{padding: 0 0.4em .05em;margin:0}
.navi .shiny:not(.active):hover		{box-shadow:0px 0px 2px 2px var(--text-focus)}
.navi .shiny.dim:hover				{box-shadow:0px 0px 2px 2px transparent}


/* 3/12/24 test slick transition for main navigation

#mainNav.navi li a::before,
#mainNav.navi li a::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #000;
  transform: scaleX(0);
  transition: transform 0.6s ease;
}
#mainNav.navi li a:after {
  transform: scaleX(1);
  transition: transform 0s;
}
#mainNav.navi li a:hover::before {
  transform: scaleX(1);
}
#mainNav.navi li a:hover::after {
  transform: scaleX(0);
}

/* */

/*
 * .styledMenu and .burgerMenu are opposites, the styledMenu being displayed on larger browser widths, and the
 * burgerMenu for smaller pages. By default the styledMenu is selected, enable the hamburger menu in the 720px
 * media query below.

7/5/23 I'm not using either of these classes, ostensibly they are for swapping between standard and hamburger menu

.styledMenu							{display:inline-block;xmargin: 0.15em 0.4em}
.burgerMenu							{display:none}
*/
#topNav								{display:flex;flex-direction:row;justify-content:space-between;flex-wrap:nowrap;
									z-index:15;position:fixed;padding-top:var(--body-top-border);	/* space down past black background */
									max-width:var(--content-width);width:calc(100% - calc(2 * var(--body-min-border)));	/* 8/13/21 copied this width from outerWrapper */
									height:calc(var(--body-top-border) + 11px + var(--mainnav-height)); /* background + band of nav + 1px dark line + 2px white + 8px fade */
									background-image:linear-gradient(var(--body-background-color), var(--body-background-color)),
										linear-gradient(to right, var(--topnav-gradient-1) 0%, var(--topnav-gradient-2) 100%),
										linear-gradient(to right, var(--button-border), var(--button-border)),
										linear-gradient(to bottom, rgba(var(--content-background-dec3),1),rgba(var(--content-background-dec3),0));	/* was var(--bkg-gradient);	/* replaces url('/images/site/topnav-gradient') with encoded string */
									background-repeat:repeat-x, repeat-x, repeat-x, repeat-x;
									background-position:0 0,					0 var(--body-top-border),	0 calc(var(--body-top-border) + var(--mainnav-height)),	0 calc(var(--body-top-border) + 1px + var(--mainnav-height));
									background-size:100% var(--body-top-border),100% var(--mainnav-height),	100% 1px,										100% 8px}
#topNav #burgerIcon					{height:var(--mainnav-height)}
/*#topNav */ #n_logo						{margin:0 0 0 0.3em;height:var(--mainnav-height)}
/*#topNav*/ #n_logo img					{height:100%;height:calc(100% - 4px);filter:var(--nav-color-adjust)}

/*
 * 7/1/23 testing "mainNav", a single UL in topNav positioned using Flex. This is quite a bit simpler than the previous implementation
 * that used floats and margins. It replaces #mainNav and elliminates #navIcons, and will be called #mainNav when done.
 */

#mainNav							{display:flex;width:100%;position:relative;height:var(--mainnav-ul-height);
									margin:calc(var(--mainnav-font-size) * 0.1) 5px 0;padding:0}
#mainNav > li						{flex:0 0 25px;position:relative;padding:0;margin:0 0 0 4px;white-space:nowrap}
#mainNav li:not(.active):hover		{cursor:pointer}
#mainNav li.dim:hover				{cursor:default}
#mainNav li.tab						{font:var(--mainnav-font-size) "Copperplate Gothic Light",var(--font-prose);text-align:center;
									padding:0 3px; padding:1px 4px;background-color:var(--button-color);border:1px solid var(--button-border);
									border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:1px solid var(--button-active-border)}
#mainNav li.tab a					{xtext-decoration:none}
#mainNav li.tab:hover				{border-top-left-radius:4px;border-top-right-radius:4px;border:1px solid #CCC;border-bottom:1px solid #BBB}
#mainNav li.tab.active				{background-color:var(--content-background-color);border-top-left-radius:4px;border-top-right-radius:4px;
									border:1px solid var(--button-active-border);border-bottom:1px solid var(--content-background-color)}
#mainNav li#n_logo					{margin:0 10px 0 0;display:inline-block;padding-top:1px;flex:0 0 calc(var(--mainnav-height) * 2 - 2px)}
#mainNav li#n_logo img				{padding:0}
#mainNav li.icon button				{background-color:transparent;border:none;padding:0}
#mainNav li.icon img				{margin:0}				
#mainNav li.tab.drop				{xmargin-right:8px}
#mainNav li#n_kebab					{flex: 0 0 18px;padding:1px 4px 0}
#mainNav li#n_gear					{margin-left:auto}	/* Push config gear and flag images to the far right */
#mainNav li#n_flag					{xmargin-left:auto}	/* Push config gear and flag images to the far right */
#mainNav li#n_flag img				{height:inherit}
#mainNav li#n_flag img:hover		{filter:brightness(110%)}
#mainNav li#n_flag .n_flaglist		{position:absolute;top:7em;right:5em}
#mainNav li#n_burger				{flex:0 0 28px}
#mainNav li#n_burger img			{height:calc(100% - 5px);width:18px}
/* from here down, #mainNav used to be #navIcons, just surrounding the image nav items (sort, sig, etc) in #topNav. This is part of the 7/1/23 test */
#mainNav li.icon > a img,
	#mainNav li.icon > img			{position:relative;height:calc(100% - 4px);padding:2px 0 0px}	/* scales the icons and creates the gap between them and the drop-down below */															/* */
#errorBox .icon						{position:relative;display:inline-block;height:2em;top:0.5em;border:1px solid var(--body-background-color)}
#errorBox .icon > img				{height:100%;padding:2px}
#mainNav li.icon:not(#n_flag,#n_gear) img,
	#topNav #burgerIcon	img,
	#errorBox .icon	img				{filter:var(--nav-color-adjust)}

#mainNav li.icon:not(#n_flag) img:hover,
	#topNav #burgerIcon img:hover	{filter:var(--nav-color-adjust-hover)}
#mainNav li ul li.flagp:hover		{border-color:var(--text-focus);box-shadow:0 0 5px var(--text-focus)}
#mainNav li ul li.flagp				{border-color:var(--text-focus);box-shadow:0 0 5px var(--text-focus)}

/* Styling for the nav ul for the icons and drop-downs */

#mainNav li ul						{position:absolute;margin:0;padding:0.5rem;z-index:15;	/* can't have top margin here, leaves a gap and hover breaks. dropdowns fall above topnav-fade and signature table */
									visibility:hidden;opacity:0;display:none;border-radius:3px;border:1px solid var(--button-border);
									background-color:var(--content-background-color);box-shadow:0 0 5px var(--shadow-color)}
#mainNav li ul ul					{background-color:var(--content-background-color) /30%;border:none;box-shadow:none}	/* drop-down sub-menu */
#mainNav li ul li					{margin:8px 0 0 0}
#mainNav li ul ul li.shiny			{border: 1px solid #000;box-shadow:0 0 3px #000;margin-top:4px}
#mainNav li ul ul li.shiny.active	{background-color:var(--content-background-color)}
#mainNav li#n_sort ul li p,
	#mainNav li#n_flag ul li p,
	#mainNav li#n_sort ul li a		{mask-image:linear-gradient(90deg, #000 80%, transparent)}	/* fade out long catalog names rather than a really wide pulldown */
#mainNav li ul li:first-of-type		{margin-top:0}
#xxxmainNav #n_sort ul				{left:-2.3em;max-width:15rem}			/* center the drop-downs below the icons, set max width to cut off long catalog names */
#xxxn_sort ul li:not(.checked) a,
	#xxxn_colcat:not(.checked) a,
	#xxxn_sig:not(.checked) a		{padding-left:1.5em}					/* leave space at left for checkmark */
#n_sort ul							{position:absolute;top:1em;right:5em;max-width:18rem}
#xxxn_flag ul						{position:absolute;top:8em;left:3em}	/* leave inline in code for now since I only want this if IsDave() */
#mainNav li.tab.drop ul				{left:-4em}
#mainNav .languageIcon+ul			{left:-1.4em}
#mainNav #n_gear > ul				{right:0}
#mainNav li:hover > ul,
	#mainNav li ul:hover			{visibility:visible;opacity:1;display:block}
#mainNav #n_flag,
	#mainNav .n_flaglist li			{display:flex}	/* set these to flex to left-justify language text and right justify flag */
#mainNav li ul img					{margin:0;border:none}
#mainNav li ul .text				{display:inline;display:inline-block;width:100%;font:0.9rem var(--font-readable)}	/* fill <li> box so hover and click don't need to be on text */
#mainNav li#n_flag svg				{display:inline-block;height:1.6em;padding:0 2px 1px 0;vertical-align:top;xmargin-left:10px}
/*
#mainNav li ul:not(.navi) li.active>p:before,
	#mainNav li ul:not(.navi) li.active>a:before,
*/
.shiny.unchecked>p,
	.shiny.unchecked>a				{position:relative;left:-0.6em;padding-left:1em}
.shiny.checked>p,
	.shiny.checked>a				{position:relative;left:-0.6em;padding-left:1em}

#mainNav li ul li#n_colcat,
	#mainNav li ul li#n_sig,
	#mainNav li ul li#n_flag ul li,
	#mainNav li ul li#n_sort ul li	{xmargin-left:1.3em}

#mainNav li ul li#n_colcat.checked,
	#mainNav li ul li#n_sig.checked,
	#mainNav li ul li#n_flag ul li.checked,
	#mainNav li ul li#n_sort ul li.checked 	{margin-left:1.3em}


#mainNav li.checked a,
	#mainNav li.checked p			{position:relative;left:-1.4em}
#mainNav li.checked>a:before,
	#mainNav li.checked>p:before	{position:relative;left:-0.8em;content:"\2713";font-size:0.9em} /* Insert checkmark before <p> content */

#mainNav li ul li.flagp				{height:1.3em}
#mainNav li ul li p.active:hover 	{opacity:0.3}
/* ...end of 7/1/23 test */

/*
 * The .drop class is for the drop-down from the main navigation that contains less important nav items (admin, reference, etc)
 */
#topNav #burgerIcon img				{height:1.1em}	/* hamburger that controls whole menu at smaller page sizes */

/*
 * Styles for the icon drop-downs
 */
#topNav #burgerIcon					{display:none}
#topNav #settingsIcon				{display:none;float:right;margin:4px 10px 0 0}

/*
 * #groupNav
 */
#groupNav							{display:inline-block;height:var(--groupnav-height);position:-webkit-sticky;	/* for ios. Works in a small test, but on FB it isn't */
									position:sticky;top:calc(var(--body-top-border) + var(--mainnav-height) + 12px);	/* top is where it sits when sticky. When not sticky, the top point is defined by #headerImg  */
									z-index:10;max-width:var(--content-width);width:calc(100% - 50px);margin:0 auto 0 var(--content-margin-left)}

#groupNav							{padding:0;opacity:1;width:100%}
#groupNav>li						{position:relative;margin:-2px 0 0 6px;
									font:var(--groupnav-font-size)/1 var(--font-prose)}
#groupNav li						{float:left}	/* IE needs z-index:5 here, but as of 3/12/24 removed this */
#groupNav>li:hover,
	#groupNav>li>a:hover			{cursor:default}
#groupNav li:hover ul,
	#groupNav li.keyon ul			{visibility:visible;opacity:1}	/* remove width here, calculate it in JS. keyon class managed in JS when tabbing thru list */

/*
 * ul underneath #groupNav .navi used to be called .itemNav, now is just another ul
 */
#groupNav ul						{opacity:0;visibility:hidden;position:absolute;max-width:500px;	/* can adjust max-width to have the itemNav list wrap in a narrower block */
									margin:0;padding-top:7px;left:-5px;padding-left:0;width:500px}	/* allow max of 3 rows of li items. 8/19/19 commented out height asince the ul seems to surround all the li's anyway */
#groupNav ul li						{margin:3px;	/* any margin here breaks the :hover on the list */
									font:var(--leafnav-font-size) var(--font-readable);color:var(--font-color)}	/* This border is the space between the li items */
#groupNav ul li a,
#groupNav ul li.active span			{display:inline-block;width:100%}

/*
 * #burgerNav is the usually hidden hamburger navigation menu that only appears on smaller displays. The styles with #n_flag are used
 * to change from a drop-down for the language flags to a horizontal layout
 */
#burgerNav							{display:none}
#burgerNav .box						{margin-top:25px}
#burgerNav p.close					{text-align:left}
#burgerNav form button[type=submit]		{font-size:1.2rem;margin:15px 5px 5px;padding:5px 20px}
#burgerNav #n_flag					{margin-top:0.4em}
#burgerNav #n_flag .languageIcon	{display:inline}
#burgerNav #n_flag .languageIcon,
	#burgerNav #n_flag ul img		{height:26px;width:36px}
#burgerNav #n_flag>img				{border:2px solid #666;padding:1px}
#burgerNav #n_flag ul img			{border:3px solid transparent}
#burgerNav #n_flag ul				{margin-left:0px}
#burgerNav #n_flag ul li			{margin:0 0 0 30px}

#burgerNav #colcatp					{margin-top:0.4em}
#burgerNav #colcatp .languageIcon	{display:inline}
#burgerNav #colcatp .languageIcon,
	#burgerNav #colcatp ul img		{height:36px;width:31px}
#burgerNav #colcatp>img				{display:inline;margin:inherit;border:2px solid #666;padding:1px}
#burgerNav #colcatp ul img			{border:3px solid transparent}
#burgerNav #colcatp ul				{margin-left:0px}
#burgerNav #colcatp ul li			{margin:0 0 0 30px}

/*
 * [4/2/23  not true anymore] The .navi class is added to all the ul's (mainNav, groupNav, itemNav) so that some common styling can be applied to all the text navigations
 */
.navi, .navi li						{list-style:none}
.navi li.active,
	#groupNav ul li.active,
	.navi li.dim:hover				{transition:opacity 2s}

.navi li:not(.active):hover			{cursor:pointer}
.navi li.active:not(.drop):hover,
	.navi>li.drop.active>ul>li.active:hover	{cursor:default;opacity:0.4}

#settingsIcon						{margin:0}
#groupNav .enabled					{display:block}
#groupNav .disabled					{display:none}
/*
 * #detailNav, for the header along the top of detail pages
 */
#detailNav							{display:flex;flex-direction:row;flex-wrap: nowrap;xborder:1px solid black;padding-top:2px}
#detailNav button					{display:flex;height:1.6em}
#detailNav img						{filter: var(--nav-color-adjust)}	/* on the FB logo, this turns it blue */
#detailNav button:nth-of-type(2)	{margin-left:auto}
#detailNav button #n_logo			{margin:0}
#detailNav button.close,
	.popupPage button.close			{background-color:transparent;border:none;xpadding:0;xmargin:0.5em 0.7em 0 0;xheight:1.6em;xwidth:1.6em}
/*
 * New li.navi3 class, handling 3 modes: dim fade-out (.dim), enabled blue link ([none]), enabled with checkmark (.checked)
 */
.navi.enabled						{xdisplay:block}
.navi li.enabled:hover				{cursor:pointer}
.navi li.dim						{cursor:default;opacity:0.8}
.navi li.dim:hover					{xcursor:default;opacity:0.4}

/*
 *
 * 5. Classes added and removed from elements by Javascript to effect style changes
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 */

#banknoteScript						{}										/* this #banknoteScript ID is used to pass info to the banknote.js script */
.jsBrowserHasJS						{}										/* added by JS to the <body> tag. Used by other styles when they depend on JS */
#articlePage.detail.inIframe		{overflow:hidden}
#jsLinkBack							{}										/* ID on a button the JS can look for that designates the user wants to close the page (i.e X) */
#jsLinkBack:hover					{cursor:pointer}
/* 11/1/24 .inIframe #jsLinkBack				{display:none}							/* for detail pages, to turn off backlink and scrolling for pages in popup frame */
.jsDisplay							{}										/* class added/removed from elements via JS. Intention is that when an element has the class it is displayed on screen */
.lazy								{}										/* class used on <img> tags when we want to lazy load them (JS routines search on this class) */
.pop								{}										/* class used on popup images to allow JS selections */
main .fb							{}										/* class applied to all face and back <img> elements, only used by JS to select them */
.notetable .changebar.jsDisplay,
.notetable em.plus-sign.jsDisplay,
.notetable em.minus-sign.jsDisplay,
#burgerNav.jsDisplay				{display:block}							/* this pair used to hide/show changebars (trying to get rid of .jsNoDisplay) */
.notetable .sub.jsDisplay			{visibility:visible;display:flex}		/* .jsShowRow added to <div> rows when user requests to see them (default is hidden) */
#keypress							{display:none}							/* Not managed by JS, but this is for the span that contains the prev/next links for JS to jump to */

.thumb img							{display:block}
/*
body:not(.jsBrowserHasJS) .thumb img.lazy	{display:none}
body.jsBrowserHasJS .thumb img:not(.lazy)	{display:none}
*/
/*
 *
 * 6. MEDIA QUERIES
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 * The CSS for this site is arranged as "desktop first", with the media queries handling sucessively smaller
 * pages lower in the file. So "max-width" getting smaller further down the file is the way to apply style
 * changes. A "mobile first" arrangement would use min-width instead.
 *
 * I'm thinking this media query might be deletable as it is very close to the one below (hamburger menu change)
 * Screen < 1024px media query covers the case where we switch from desktop sized windows to the iPad tablet. As of
 * 2020, I'm not doing any media queries that target the iPad. I have two to target the Android phone (landscape
 * and portrait orientations) and another for "teeny" devices, of which I can only simulate by shrinking a browser.
 *
 * Main design changes are:
 *		Remove the outer border and shadow and make all pages full screen white background
 *		The popup for displaying the detail pages of full sized banknotes is no longer implemented as a JS Shadowbox popups,
 *		but instead it is a simple html link to the detail pages. *** Note that there is also code in banknote.js which 
 *		swaps in and out the href/data-src attributes on the thumbnail links to switch from direct links to popups. That
 *		JS code has a hard-coded window boundary of 1024px for this swap.
 *		The signature tables are not provided.
 */

/*
 * 8/15/21 Adding in this media query specific to the point where the dark background is removed. Its size needs to correspond
 * to the JS routine ResetPopups which swaps the popups to have them not "pop" but simply link to an external page for the
 * detail displays. Currently, that's 1024px, hard-coded here and as a :root variable at the top of this CSS. It is passed to 
 * theJS as a part of the #banknoteScript ID, along with other properties for similar function. I do need to ensure that the value
 * in this media query and the :root variable track each other though; You can't use var() in the media query definition (yet).
 */
@media only screen and (max-width:1024px) 
	{
	body							{background-color:var(--content-background-color);xcolor:purple}
	#banknotePage #outerWrapper		{margin:0!important}
	#wrapper						{min-width:320px}
	#wrapper > header				{padding-top:30px}
    #topNav							{height:calc(var(--mainnav-ul-height) + 2px);padding-top:0;	 /* band of nav + 1px dark line + 2px white + 8px fade */
									background-image:linear-gradient(to right, var(--topnav-gradient-1) 0%, var(--topnav-gradient-2) 100%),
										linear-gradient(var(--button-active-border),var(--button-active-border)),
										linear-gradient(var(--content-background-color), var(--content-background-color)),
										linear-gradient(to bottom, rgba(var(--content-background-dec3),1),rgba(var(--content-background-dec3),0));	/* was var(--bkg-gradient);	/* replaces url('/images/site/topnav-gradient') with encoded string */
									background-repeat:repeat-x, repeat-x, repeat-x, repeat-x;
									background-position:0 0, 0 var(--mainnav-height), 0 calc(var(--mainnav-height) + 1px), 0 calc(var(--mainnav-height) + 3px);
									background-size:100% var(--mainnav-height), 100% 1px, 100% 2px, 100% 8px;
									}
	footer							{height:26px;margin:0px auto 0;max-width:100%}
	.franceIndex main				{background-position:0 20px}
	.franceIndex #FranceSec			{top:575px}
	#banknotePage #outerWrapper,
		#banknotePage #wrapper,
		#articlePage #wrapper,
		#banknotePage main,
		#topNav						{width:100%;max-width:100%}
	#headerImg img,
		#banknotePage main header,
		#articlePage.oindex main .notetable,
		#banknotePage .notetable	{box-shadow:none}
	#articlePage.detail				{background-color:var(--content-background-color);padding:0}
	#articlePage.detail section:first-of-type {margin-top:0}
/*	#articlePage.detail figure:first-of-type {margin-top:var(--image-padding)}
*/	#articlePage.detail button.close	{display:none}
	#signatures						{margin-top:0}
	ol.footnote,
		#groupNav					{top:calc(var(--mainnav-height) + 8px)}	/* 12/26/21 new, moves groupNav up when no black page background */
		#banknotePage #outerWrapper.jsSigUp #signatures		{display:none!important}	/* drop signature table */
	#topNav #n_sig,
		#banknotePage #outerWrapper.jsSigUp #signatures		{display:none!important}	/* drop signature table */
	#mainNav li#n_flag .n_flaglist		{top:6.5em;left:4em}
	}

/*
 * Screen < 780px (45em) is where the nominal size of most of the content areas on FrenchBanknotes.com start breaking. So
 * at this smaller page size, we need to start shrinking lots of things and certainly all extraneous "fluff" is going
 * away:
 *		Page navigation changed to a hamburger menu
 *		Artist column on banknote tables is removed
 *		Most images at the top of the pages go away
 *		Remove drop shadows
 *		Arrows linking to next/previous country are removed
 *		France index page is completely reorganized and minimized
 */
@media only screen and (max-width:780px)	/* Galaxy 8 triggers right around 795-800px. Do not want it to trigger on this mq when in landscape */
/*@media only screen and (max-width:45em)*/		/* At 30em triggers Galaxy 8 in portrait */
	{
/* below is the css from the 45em media query above */
	#wrapper						{height:auto;background:var(--content-background-color);xcolor:darkblue}
	a								{text-decoration:none}		/* Remove underline on links for smaller displays */
	main>ol.footnote,
		#banknotePage main header section	{display:none;visibility:hidden;opacity:0}
	#banknotePage main header		{margin-top:var(--mainnav-ul-height)}
	#groupNav						{padding-right:0}
	#banknotePage #outerWrapper		{width:100%}
	#wrapper						{width:100%}
	#wrapper main					{width:calc(100% - 0.2rem - 3px)}	/* 0.2rem for +/- + 3px right margin */

	/* 6/8/24 adjust notetable so that thumbnails and description column shrink proportially at 33% each */
	.notetable .thumb				{max-width:33%;min-width:20%}
	.notetable div.denom			{width:40%}
	.notetable .thumb img			{max-width:100%;max-height:100%;height:auto} */

	#banknotePage #wrapper main		{width:calc(100% - 1.5rem);padding:1.7em 0 0.5em 0}	/* 1/28/22 1.7em top pad req'd for narrow pages */
	#articlePage.detail section		{max-width:100%}
	#articlePage.detail figure		{margin:2px 2px 5px}
	#articlePage main				{}		/* actual articles #articlePage doesn't contain the #headerImg, and therefore needs padding above */
	#articlePage #wrapper,
		#articlePage footer			{width:100%}
	footer							{height:26px;margin:0px auto 0;max-width:100%}
	#banknotePage main				{margin:5px;padding: 0 5px 0 1em}
 	#banknotePage #headerImg		{width:calc(100% - 1.5rem);margin:0 0.3rem 0 1.2rem;padding:0}
 	#articlePage #headerImg			{width:100%}

	#banknotePage main header,		/* Remove drop shadows */
		#banknotePage main .notetable,
		#headerImg,
		#headerImg img,
		#articlePage #headerImg		{box-shadow:none}
	#headerImg.nav					{margin-bottom:0;padding-left:0;padding-right:0}
	main header h1					{margin-top:5px}
	.franceIndex main				{width:100%;background-image:none;height:auto}
	.franceIndex #FranceSec			{top:555px;position:static;max-width:450px;margin:5px auto;right:auto;top:auto;box-shadow:none}
	.franceIndex #FranceSec	.box	{border-width:0}
	.franceIndex main header		{bottom:580px;position:static;width:100%;border:none;margin:0;box-shadow:none;background:none}
	.franceIndex main > header h1	{padding-top:0}

	main>header						{padding:0;border:none;margin:0 0 5px 5px}

	#topNav							{max-width:100%;padding-top:1px;width:100%;height:calc(1.5em + 6px);	 /* 1px dark line + band of nav + 1px dark line + 4px white */
									background-image:linear-gradient(to right, var(--topnav-gradient-1) 0%, var(--topnav-gradient-2) 100%),
										linear-gradient(var(--button-active-border), var(--button-active-border)),
										linear-gradient(to bottom, rgba(var(--content-background-dec3),1),rgba(var(--content-background-dec3),0));
									background-repeat:repeat-x, repeat-x, repeat-x;
									background-position:0 0, 0 calc(1px + 1.5em), 0 calc(2px + 1.5em);
									background-size:100% calc(1px + 1.5em), 100% 1px, 100% 4px}
	#topNav p						{text-align:center;font-size:0.75em}
	/* get rid of the shaded box behind the navIcons */
	#mainNav .prio_low				{display:none}	/* Remove low priority mainNav items to make room */
	#topNav #burgerIcon				{position:fixed;display:block;padding:0.1em 0 0 0;margin:0.1em 0 0 0.7em;z-index:10;left:0}	/* need left here for IE */
	/* changes for sticky nav */
	#banknotePage #wrapper aside,
		#mainNav,							/* Turn off the navigation icons when the burger menu is up */
		#banknotePage #wrapper>header>img,	/* 1/27/22 new for omni */
		#banknotePage main>header>img,
		#articlePage:not(.index) main>header img,
		footer,
		.denom .details,
		div.artist,
		#groupNav					{display:none}
	#articlePage.detail section		{min-width:inherit}
	/*
	 * Hamburger menu styles, trying to look like what's expected on a phone
	 */
	#burgerNav						{font:1.3em var(--font-readable);position:fixed;top:0;left:0;width:100%;height:100%;z-index:25;background-color:var(--body-background-color)}
	#burgerNav .box					{border-radius:6px;padding:2px 5px;margin:5px;background-color:var(--content-background-color)}
	#burgerNav h2,
		#burgerNav h3				{clear:none;float:left;text-align:left;color:#666;margin:0;width:fit-content}
	#burgerNav h2					{padding-top:0;text-transform:uppercase;border-bottom:1px solid #AAA}
	#burgerNav h3					{font-size: 1.1em}
	#burgerNav p.close				{font-size:2em;color:var(--text-link);background-color:transparent;cursor:pointer;margin:0 0.6rem;float:left;font-weight:bold}
	#burgerNav ul					{display:inline-block;width:100%;list-style:none;margin:0.5rem 1rem 0;padding-left:0}
	#burgerNav #n_flag ul			{width:auto}
	#burgerNav ul li				{float:left;clear:left;font:1.1rem/1.3 var(--font-readable)}
	#burgerNav>ul>li				{color:#888;text-transform:uppercase;overflow:hidden}
	#burgerNav>ul>li.head			{margin-top:0.5rem;font-style:normal;width:100%}
	#burgerNav>ul>li.head:after		{	/* put horizontal line after the list item, centered vertically */
									background-color:#AAA;content:"";display:inline-block;height:1px;position:relative;
									vertical-align:middle;width:100%;left:0.5em;margin-right:-100%}
	#burgerNav ul li.flagp			{display:inline-block;float:none;margin-right:30px}
	#burgerNav ul li.flagp img		{width:34px;padding:2px}
	#burgerNav ul li.flagp.selected img,
		#burgerNav ul li.colcatp.selected img	{border:2px solid #666}
	#burgerNav ul li.colcatp		{display:inline-block;float:none;margin-top:0.3em;margin-right:30px}
	#burgerNav ul li.colcatp img	{width:29px;padding:2px}

	/*
	 * .jsTr class shifts in the level2 burger menus (france, prints, artists, etc) from the right of the page
	 */
	#burgerNav .level2				{position:absolute;overflow-y:scroll;top:0;left:750px;width:100%;height:100%;z-index:26;background-color:var(--content-background-color);
									transition-property:all;transition-duration:0.3s}
	/* 5/13/19 this is the last .tr  usage, and is the one that shifts in the second-level burger menus (list of countries, artists, etc) from the
	right, when someone clicks on a level 1 topnav item in the burger menu. */
	#burgerNav .level2.jsTr			{left:0}
	}

/*
 * 520px is about the smallest size the site will work at, even narrower than a phone in portrait mode. So
 * mostly just a minimal use case. Fix the page width at this point and let them scroll left/right if 
 * necessary. Changes include:
 *	"denom" banknote column goes away, so only the face & back images are shown
 *	footer (copyright line) goes away
 *	+/- for displaying sub-types goes away
 */
@media only screen and (max-width:500px)
/* @media only screen and (max-width:30em)		* At 30em triggers Galaxy 8 in portrait */
	{
	#wrapper						{xcolor:darkblue}
	#banknotePage main				{padding:1.5em 5px 0}
	.franceIndex #FranceSec .box	{padding:0;background-color:inherit}
	.franceIndex #FranceSec			{width:98%;box-shadow:none;background-color:transparent}
	.franceIndex main>header		{padding-bottom:5px}
	#headerImg.nav					{display:none;width:var(--min-content-width);margin:0 auto}
	#banknotePage main header		{background-color:var(--content-background-color);filter:none;padding:0;border:none;margin-top:5px}
	main header						{border:none;padding:0}
/*	.notetable					{max-width:calc(2 * var(--image-thumb-width) + 7px);margin:0 auto}	/ at the smallest page width, just let the thumbnails be as big as they can */
	#banknotePage #wrapper main		{max-width:100%;margin:0 5px}
	.notetable,
		.notetable > div > div		{border: none}
	/* 6/8/24 adjust notetable so that thumbnails and description column shrink proportially at 33% each */
	.notetable .thumb				{width:100%;max-width:none;min-width:0}
	.notetable .thumb img			{width:100%;height:auto;min-width:0}

/*	.notetable em.plus-sign,
		.notetable em.minus-sign	{left:-1.5rem}	/* z-index to make sure the "+" is above the change bars.
*/
	footer,
		.notetable div.denom		{display:none}

	/* 6/8/24 below items moved up from the duplicate 450px media query below */
	.authority,
	.notetable div.series			{background-color:var(--content-background-color)}
	#topNav #n_sig,
		#banknotePage #outerWrapper #signatures,	/* drop signature table */
		.notetable em.plus-sign.jsDisplay,			/* drop +/- icons */
		.notetable em.minus-sign.jsDisplay,
		.notetable .authority p,					/* drop detail text below the authority name */
		p.catalog_note,
		#articlePage.detail section.boxFit,
		#articlePage.detail section.boxFit-container,
		#articlePage.detail section.keywords	{display:none}
	#articlePage.detail h1			{font-size:1rem}
	}


/*
 * 7. Device-Specific Media queries
 * --------------------------------------------------------------------------------------------------------------------------------------
 *
 * I'm trying to use these device-specific queries as little as possible, and to maintain a "media query when
 * the design breaks" philosophy instead. But there are instances where I've needed to do something based on
 * the device, mostly a result of font sizes being so different. In those cases, I've found the site
 * http://cssmediaqueries.com/overview.html to be helpful to figure out a query for a device.
 */

/*
 * iPad landscape or portrait
 *
 * The main reason there's bulk to this one is that I don't want the black background on the iPad page, where
 * I do have it on the desktop pages of the same size. It could be that judicious use of em's rather than pixels
 * might be able to get rid of this, though I haven't tried too hard. So for now (3/23/21) the iPad in landscape
 * first sees the 67em media query above, then this one. In portrait, it sees the 54em media query, then this one.
 *
 * Eliminate dark border around page
 * Eliminate shadows on various components
 * Adjust main France index to fit on page better
 */

@media only screen
/*	and (min-width: 768px) */
	and (max-width: 1024px) 
	{
	#wrapper						{xfont-size:120%;xcolor:green}

	@media (orientation: portrait)
	/*
	 * iPad  portrait mode, narrow the country nav display so it doesn't wrap
	 */
		{
		#wrapper					{xcolor:maroon}
		#groupNav ul				{max-width:280px}	/* this width is the containing box around country menu and if it's off the page, the iPad scrolls right/left */
		}
	}


/*
 *	The Samsung Galaxy Note8 has a screen size is 6.3" (160 mm) diagonal with a resolution of 2960 x 1440 px at 521 ppi, which yields
 *	a viewport size of 414 x 846px. But for reasons I don't understand, only triggers this media query at about 450px or higher.
 *
*/

/*
 *	The following three media queries are here only for testing. They change the font color as I shrink the page down,
 *	so I can tell which section of the CSS is being applied.
 *
 *	iPad Mini 2 in landscape triggers below 1024px but above 1000px, and in portrait below 800px but above 780px. It has actual resolution of 2048x1536
 *	Samsung Galaxy Note8 in landscape triggers below 780px, and in portrait below 450px
 *
 *	Font size on Galaxy is fine. On iPad, the font is too small
 *
@media only screen and (max-width:1024px)
	{ 
	body							{xcolor:darkred}
	}
@media only screen and (max-width:780px)
	{ 
	body							{xcolor:orange}
	}
@media only screen and (max-width:450px)
	{ 
	body							{xcolor:darkblue}
	}
 *
 */

/*	iPad Styling, for whatever reason the fonts all render smaller on the iPad. This MQ of course
 *	is just grabbing the particular device width, but seems to work.
 */
@media handheld, all and (device-width:768px) and (device-height:1024px)
	{
	body							{font-size:120%}
	}
