/*
** Fundamentals
*/
:root {

	/* cc- constant colors */
	--cc-body-hover:   #00b4f4;
	--cc-action-btn:   #002a9a;
	--cc-input-text:   #03050c;
	--cc-input-back:   #c3c5cc;
	--sc-body-hover:   0 0 0.8rem rgba(0, 180, 244, 0.9);

	/* cm- scheme mode-specific colors */
	--cm-back-light:   #909090;
	--cm-back-dark:    #2e2e2e;

	/* cs- scheme-adjusted colors (default light) */
	--cs-body-h1:      #008000;
	--cs-body-link:    #002aff;
	--cs-menu-back:    #cccccc;
	--cs-menu-border:  #0c0c0c;
	--cs-quote-text:   #000333;
	--cs-quote-em:     #5500ff;
	--cs-quote-back:   #e0e0e0;
	--cs-note-bold:    #500000;
	--cs-note-border:  #005000;
	--cs-btn-back:     #008000;
	--cs-btn-border:   #454545;
	--cs-img-border:   #808080;
	--cs-link:         #c0c0c0;
	--cs-lang:         #8d8d8d;

	/* ss- scheme-adjusted box shadows */
	--ss-body-h1: 		 0.2rem 0.2rem 0.2rem rgba(0, 0, 0, 0.2);
	--ss-menu-border:  0 0 0.8rem rgba(0,0,0,0.7);
	--ss-quote-norm: 	 0 0 0.8rem rgba(0, 0, 0, 0.3);
 	--ss-quote-label:  0 0 0.8rem rgba(255, 0, 0, 0.3);
 	--ss-srch-border:  0 0 0.8rem rgba(0, 128, 0, 0.9);

	/* other values */
	--min-width: 600px;
}

body {
	font-family: Arial, sans-serif;
	padding: 0;
	margin: 0;
}
body.no-scroll {
  overflow: hidden;
}
button {
	display: inline-block;
	width: fit-content;
	height: fit-content;
	border: none;
	margin: 0;
	padding: 0;
	line-height: 0;
	background: none;
}
a {
	color: var(--cs-body-link);
}
a:hover {
	color: var(--cc-body-hover);
}

/*
** SchemeControl Light/Dark mode container
*/
#main {
	display: block;
	transition: all 0.6s ease;
}
#main.scheme-light {
	background-color: var(--cm-back-light);
	--sm-quote-bold: 0 0 1.6rem rgba(0, 0, 63, 0.9);
}
#main.scheme-dark {
 	background-color: var(--cm-back-dark);
	--sm-quote-bold: 0 0 1.6rem rgba(158, 158, 192, 0.9);
}

/*
** top of page elements
*/
#header {
	display: flex;
	justify-content: space-between;
	padding-left: 2.5rem;
	padding-right: 4.0rem;
	padding-top: 0.5rem;
	padding-bottom: 0;
	margin-bottom: 0.5rem;
	min-width: calc(var(--min-width) + 4.0rem);
}
#toolbar-container {
	display: block;
	position: sticky;
	top: 0;
	z-index: 10;
	background-color: inherit;
	padding-left: 2.5rem;
	padding-right: 4.0rem;
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
	min-width: calc(var(--min-width) + 4.0rem);
}
#main-padding {
	padding-left: 2.5rem;
	padding-right: 4.0rem;
	padding-top: 0;
	padding-bottom: 2.5rem;
}
/*
** header components
*/
#header h1 {
	color: var(--cs-body-h1);
	margin: 0;
	text-shadow: var(--ss-body-h1); 
	font-size: 2.4rem;
	flex-grow: 1;
}
#menu-fixed {
  display: flex;
  justify-content: center;
  align-items: center;
	margin-top: 0.5rem;
	min-width: 2.6rem;
	height: 2.6rem;
	border: 1px solid var(--cs-menu-border);
	border-radius: 8px;
}
#menu-float {
	display: flex;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 21;
	bottom: 0.8rem;
	right: 0.8rem;
	width: 2.6rem;
	height: 2.6rem;
	border: 1px solid var(--cs-menu-border);
	border-radius: 8px;
}
#menu-fixed button, #menu-float button {
	font-size: 2.0rem;
	line-height: 2.0rem;
	color: var(--cs-quote-text);
}
#menu-fixed button::before, #menu-float button::before {
	content: "\002630";
}
#menu-fixed button:hover, #menu-float button:hover {
	cursor: pointer;
	color: var(--cc-body-hover);
	text-shadow: 0 0 1.0rem var(--cc-body-hover);
}
/*
** toolbar components 
*/
#toolbar {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--cs-menu-border);
	border-radius: 0.5rem;
	background-color: var(--cs-menu-back);
	color: var(--cs-quote-text);
	line-height: 40px; /* sync with icon size */
	font-size: 1.8rem;
	position: relative;
}
#toolbar .vr {
	display: flex;
	width: 0;
	height: 36px;
	border: 1px dashed var(--cs-menu-border);
	margin: 0 0.25rem;
}
#toolbar label {
	display: flex;
	flex-grow: 1;
	margin: 2px 8px;
}
#toolbar input {
	width: 10.0rem;
	margin-top: auto;
	margin-bottom: auto;
	margin-left: 0.5rem;
	font-size: 1.6rem;
	height: 1.8rem;
	border: 1px solid var(--cs-note-border);
	color: var(--cc-input-text);
	background-color: var(--cc-input-back);
}
#toolbar .menu-item {
	display: flex;
	width: fit-content;
	margin: 2px;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
	background: inherit;
	align-content: center;
}
#toolbar .menu-item:hover {
	cursor: pointer;
	color: var(--cc-body-hover);
}
#toolbar .disabled {
	opacity: 60%;
}
#toolbar .disabled:hover {
	cursor: default;
	color: inherit;
}
/*
** panel for notifications
*/
#notice {
	display: block;
	z-index: 22;
	position: fixed;
	top: -100%;
	left: 20%;
	width: 60%;
	overflow: hidden;
	padding: 0.5rem;
	text-align: center;
	font-size: 1.8rem;
	font-weight: bold;
	color: var(--cs-quote-back);
	background-color: var(--cs-note-border);
	border: 0.2rem solid var(--cs-menu-border);
	border-radius: 0.4rem;
	transition: top 1s ease-in-out;
}
/*
** Used by MenuControl
*/
#main-menu {
	display: block;
	position: fixed;
	z-index: 21;
	min-width: 15rem;
	border: 2px solid var(--cs-menu-border);
	border-radius: 0.5rem;
	box-shadow: var(--ss-menu-border);
	padding: 1.0rem;
	background-color: var(--cs-menu-back);
}
#main-menu hr {
	margin: 0.5rem 0;
	border: 1px dashed var(--cs-quote-text);
	width: 100%;
}
#main-menu .menu-item {
	display: flex;
	width: fit-content;
	padding: 0.2em;
	color: var(--cs-quote-text);
	line-height: 40px; /* sync with icon size */
	font-size: 1.8rem;
	border-radius: 1.0rem;
	background: none;
	align-content: center;
}
#main-menu .menu-item:hover {
	cursor: pointer;
	background-color: var(--cc-body-hover);
}
