@media screen and (orientation:portrait) {
	html {
		transform:rotate(-90deg);
		transform-origin: left top;
		width:100vh;
		height:100vw;
		overflow-x:hidden;
		position:absolute;
		top:100%;
		left:40%;
	}
}
@media screen and (orientation:landscape) {
}
/* color scheme */
/* fonts */
/* font faces */
@font-face {
  font-family: "headerFont";
  src: url('https://fonts.googleapis.com/css2?family=Josefin+Sans');
}
@font-face {
  font-family: "buttonFont";
  src: url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,500;1,400&display=swap',rel='stylesheet');
}
@font-face {
  /*font-family: "bannerFont";*/
  src: url("https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,500;1,400&display=swap",rel="stylesheet");
}
@font-face {
  font-family: "countFont";
  src: url('https://fonts.googleapis.com/css2?family=Roboto'  rel='stylesheet');
}
@font-face {
  font-family: "signFont";
  /* src: url('fonts/VitesseSans-BlackItalic.otf'); */
  src: url('https://fonts.googleapis.com/css2?family=Roboto'  rel='stylesheet');
}
@font-face {
  font-family: "gearFont";
  src: url('https://fonts.googleapis.com/css2?family=Roboto:500');
}
@font-face {
  font-family: "dialogActive";
  src: url('https://fonts.googleapis.com/css2?family=Roboto'  rel='stylesheet');
}
@font-face {
  font-family: "responseDesc";
  src: url('https://fonts.googleapis.com/css2?family=Roboto'  rel='stylesheet');
}
@font-face {
  font-family: "dialogCompleted";
  src: url('https://fonts.googleapis.com/css2?family=Roboto'  rel='stylesheet');
}
/* font types*/
.headerFont {
  font-family: 'headerFont';
  font-size: 42px;
  padding: 20px 0px;
  font-weight: normal;
  text-shadow: -2px 2px 1px #888;
}
.bannerFont {
  /*font-family: "bannerFont";*/
  font-size: 32px;
  letter-spacing: 4px;
}
.signFont {
  /*font-family: "signFont";*/
  font-size: 40px;
  letter-spacing: 2px;
  fill: #000;
}
.buttonFont {
  font-family: "buttonFont";
  font-size: 36px;
}
.buttonMenu {
  font-family: "buttonFont";
  font-size: 14px;
}
.gearFont {
  font-family: gearFont;
  font-size: 36px;
  font-weight: normal;
  fill: #FFF;
}
/* default div formatting */
#epicyclicGearing {
  height: 500px;
  width: 100%;
  position: relative;
  z-index: 100;
  margin:auto;
  margin-bottom:120px;
}
#epicyclicGearing h2 {
  font-size: 42px;
  text-shadow: 2px 2px #DDDDDD;
}
/* Disc layers
 * includes: (backside,backlight,gears,raceway,lightpath,labels,labelGlass,exitLabel,dialog)
 * Does NOT include: (bghalf1,bghalf2,btnHalf1,btnHalf2)
 * z-index "stacking context" and IE z-index bug forces some 'IE-hacks' in the code base
 */
#disc {
  width: 400px;
  height: 400px;
  z-index: 100;
  /* margins are set dynamically according to the browser window; see inline scripts */
}
#backside {
  position: absolute;
  z-index: 20;
}
#backlight {
  position: absolute;
  z-index: 10;
}
/* Gears */
#gears {
  position: absolute;
  z-index: 20;
  /* .gear:not(.interiorGear) path { */
  /* TODO: Find way to stroke the gear path but NOT the interiorGear path */
  /* 	stroke-width: 1.5px; */
  /* 	stroke:black; */
  /* } */
}
#gears text {
  /*font-family: gearFont;*/
  font-size: 2em;
  font-weight: normal;
  fill: #FFF;
}
#gears .you path {
  fill: #05afb6;
  stroke: #025053;
  stroke-width: 2.5px;
}
#gears .presence path {
  fill: #bd3367;
  stroke: #6f1235;
  stroke-width: 2.5px;
}
#gears .relevance path {
  fill: #b39d0a;
  stroke: #685806;
  stroke-width: 2.5px;
}
#gears .organic path {
  fill: #cc8803;
  stroke: #4d3b18;
  stroke-width: 2.5px;
}
#gears .ring path {
  fill: #025a5a;
  stroke: #333;
  stroke-width: 2.5px;
}
/* Raceway */
#raceway {
  position: absolute;
  z-index: 70;
}
#lightpath {
  position: absolute;
  z-index: 75;
}
/* Labels
 *	Note: IE hacks enable it to render an empty (html) div (w/svg) with a correct z-index (even though the IE debugger does not show it).
 * 	(Yeah, pain in the ass.)
 */
#labels {
  top: 0px;
  left: -40px;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  /* IE hack to make IE respect the z-index */
  position: absolute;
  z-index: 1;
  /*jQuery raises and lowers this in the view.php*/
}
#labelGlass {
  top: 0px;
  left: 475px;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0);
  /* IE hack to make IE respect the z-index */
  position: absolute;
  z-index: 1;
  /*jQuery raises and lowers this in the view.php*/
}
#exitLabel {
  left: -50px;
  /* 100 was added to the exitLabel width */
  top: 0px;
  position: relative;
  z-index: 1;
  /*jQuery raises and lowers this in the view.php*/
}
#exitLabel svg {
  overflow:visible;
}
#exitText {
  font-family: "signFont";
  font-size: 42px;
  letter-spacing: 2px;
  fill: #000;
}
/* Meter
 * Note: Includes meter glass loader as well as dialog box containing rendered content
 */
#meterGlass {
  position: absolute;
  font-size: 42px;
  font-family: "Helvetica Neue";
  z-index: 30;
}
.progress-meter .background {
  fill: white;
}
.progress-meter .facia {
  fill: red;
}
.progress-meter text {
  font-family: "Helvetica Neue";
  font-size: 24px;
  font-weight: bold;
}
/* Buttons

 * Button Structure:
 * Two halfs: One has 1 & 2 quads.  Two has 3 & 4 quads
 * epicyclicGearing > btnHalf1 > quad1Btns > form > button
 * 
 * Button background structure:
 * epicyclicGearing > bghalf1 > bgquad1 
 */
/* Button Class Styling */
.menuBtn {
  /*font-family: "buttonFont";*/
  font-size: 14px;
  margin: auto;
  font-size: 16;
  padding: 14px 15px 8px;
  line-height: 16px;
  color: white;
  border-radius: 5px;
  border: solid 1px #20538D;
  text-shadow: -1px -2px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s;
}
.quadBtn {
  /*font-family: "buttonFont";*/
  font-size: 36px;
  line-height: 28px;
  padding: 15px 25px;
  margin: 7px;
  color: white;
  display: block;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: solid 1px #20538D;
  text-shadow: -1px -2px 1px rgba(0, 0, 0, 0.4);
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.2);
  -webkit-transition-duration: 0.2s;
  -moz-transition-duration: 0.2s;
  transition-duration: 0.2s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btnRight {
  margin: 7px;
  float: right;
  clear: both;
}
.btnLeft {
  margin: 7px;
  float: left;
  clear: both;
}
/* Button Active and Click classes */
.btnRunning {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #444444;
  /* default darkening agent */
  border: solid 1px #203E5F;
}
/* Button Groups */
/* left */
#btnHalf1 {
  position: absolute;
  z-index: 5;
  left: 0px;
  height: 100%;
}
/* right */
#btnHalf2 {
  position: absolute;
  z-index: 5;
  right: 0px;
  height: 100%;
}
/* Button hover states */
.zone1 {
  background-color: #05afb6;
}
.zone1:hover {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #04979d;
  border: solid 1px #203E5F;
}
.zone1:active {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #01383a;
  border: solid 1px #203E5F;
}
.zone2 {
  background-color: #bd3367;
}
.zone2:hover {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #a92e5c;
  border: solid 1px #203E5F;
}
.zone2:active {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #590e2b;
  border: solid 1px #203E5F;
}
.zone3 {
  background-color: #cc8803;
}
.zone3:hover {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #b37703;
  border: solid 1px #203E5F;
}
.zone3:active {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #3a2c12;
  border: solid 1px #203E5F;
}
.zone4 {
  background-color: #b39d0a;
}
.zone4:hover {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #9b8809;
  border: solid 1px #203E5F;
}
.zone4:active {
  -webkit-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  -moz-box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.6);
  background: #504405;
  border: solid 1px #203E5F;
}
.q1Hover {
  background-color: #05afb6;
}
.q2Hover {
  background-color: #bd3367;
}
.q3Hover {
  background-color: #cc8803;
}
.q4Hover {
  background-color: #b39d0a;
}
/* Button ID Stying*/
#bghalf1 {
  width: 50%;
  height: 100%;
  float: left;
  position: absolute;
  z-index: 5;
  /* debugging */
  /* background-color:black; */
  /* opacity:0.2; */
}
#bgquad1 {
  width: 100%;
  height: 50%;
  float: left;
  /* background-color:#00f; */
  opacity: 0.3;
  z-index: 5;
}
#bgquad2 {
  width: 100%;
  height: 50%;
  float: left;
  /* background-color:#00A; */
  opacity: 0.3;
  z-index: 5;
}
#bghalf2 {
  width: 50%;
  height: 100%;
  right: 0px;
  position: absolute;
  z-index: 5;
  /* debugging */
  /* background-color:red; */
  /* opacity:0.2; */
}
#bgquad3 {
  width: 100%;
  height: 50%;
  float: right;
  /* background-color:#008; */
  opacity: 0.4;
  z-index: 5;
}
#bgquad4 {
  width: 100%;
  height: 50%;
  float: right;
  /* background-color:#0F0; */
  opacity: 0.5;
  z-index: 5;
}
#quad1Btns {
  position: relative;
  z-index: 50;
  height: 50%;
  white-space: nowrap;
}
#quad1Btns form {
  margin: 0 0 5px;
  position: absolute;
  top: 0px;
  left: 0px;
}
#quad1Btns form button {
  margin: 7px;
  float: left;
  clear: both;
}
#quad2Btns {
  position: relative;
  bottom: 0px;
  z-index: 50;
  height: 50%;
  white-space: nowrap;
}
#quad2Btns form {
  margin: 0 0 5px;
  position: absolute;
  bottom: 0px;
  left: 0px;
}
#quad2Btns form button {
  margin: 7px;
  float: left;
  clear: both;
}
#quad3Btns {
  position: relative;
  top: 0px;
  right: 0px;
  z-index: 50;
  height: 50%;
  white-space: nowrap;
}
#quad3Btns form {
  margin: 0 0 5px;
  positon: absolute;
  top: 0px;
  left: 0px;
}
#quad3Btns form button {
  margin: 7px;
  float: right;
  clear: both;
}
#quad4Btns {
  position: relative;
  bottom: 0px;
  right: 0px;
  z-index: 50;
  height: 50%;
  white-space: nowrap;
}
#quad4Btns form {
  margin: 0 0 5px;
  position: absolute;
  bottom: 0px;
  right: 0px;
}
#quad4Btns form button {
  margin: 7px;
  float: right;
  clear: both;
}
/*	Notes:
 *		Banners: (the initial four quadrant buttons)
 *		Balloons: (the subsequent 3 oval shaped buttons the are produced using svg)
 *		Dialog: The rectangular box that pops up when a Balloon is clicked on
 *			head-dialog : holds the dialog's header info
 *			inner-dialog: presently not used, but could be used by the balloon href to load the sign & caption dialog elements
 *			text-dialog : The 'Menu Control' and 'Menu Response' to guide the user.
 *
 *	Implementation:
 *		The dialog's z-index is raised and lowered as needed; see opening/closing code.
 *		
 */
/* 
* Dialog :: Framing
* Discover the class of the #dialog element.
* Pass color param based on that class.
*/
#Coloring .exposure {
  background-color: rgba(5,175,182,0.95);
  border-color: #000000;
}
#Coloring .exposure .close-dialog {
  color: #05afb6;
  -webkit-text-stroke: 1px #047f84;
  text-shadow: 3px 3px 0 #047f84, -1px -1px 0 #047f84, 1px -1px 0 #047f84, -1px 1px 0 #047f84, 1px 1px 0 #047f84;
}
#Coloring .exposure .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#Coloring .organic {
  background-color: #cc8803;
  border-color: #030200;
}
#Coloring .organic .close-dialog {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 42px;
  color: #cc8803;
  -webkit-text-stroke: 1px #9a6602;
  text-shadow: 3px 3px 0 #9a6602, -1px -1px 0 #9a6602, 1px -1px 0 #9a6602, -1px 1px 0 #9a6602, 1px 1px 0 #9a6602;
}
#Coloring .organic .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#Coloring .presence {
  background-color: #bd3367;
  border-color: #1c080f;
}
#Coloring .presence .close-dialog {
  color: #bd3367;
  -webkit-text-stroke: 1px #952851;
  text-shadow: 3px 3px 0 #952851, -1px -1px 0 #952851, 1px -1px 0 #952851, -1px 1px 0 #952851, 1px 1px 0 #952851;
}
#Coloring .presence .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#Coloring .relevance {
  background-color: #b39d0a;
  border-color: #000000;
}
#Coloring .relevance .close-dialog {
  color: #b39d0a;
  -webkit-text-stroke: 1px #837307;
  text-shadow: 3px 3px 0 #837307, -1px -1px 0 #837307, 1px -1px 0 #837307, -1px 1px 0 #837307, 1px 1px 0 #837307;
}
#Coloring .relevance .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#dialog {
  top: 0px;
  left: 0px;
  position: absolute;
  z-index: 80;
  border-radius: 40px;
  border-style: groove;
  border-width: 5px;
  padding: 20px;
  font-size: 1.2rem;
  display: none;
}
#dialog h3 {
	color:unset !important;
}
#dialog h2 {
	font-size:1.75em !important;
}
#dialog.opus {
  background-color: rgba(5,175,182,0.95);
  border-color: #000000;
  left:unset;
  right:0px;
  width:800px;/*dyn overridden*/
}
#dialog.thought .close-dialog {
  position: absolute;
  top: 20px;
  right: 40px;
  font-size: 42px;
  color: #05afb6;
  -webkit-text-stroke: 1px #047f84;
  text-shadow: 3px 3px 0 #047f84, -1px -1px 0 #047f84, 1px -1px 0 #047f84, -1px 1px 0 #047f84, 1px 1px 0 #047f84;
}
#dialog.thought .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#dialog.action {
  background-color: #cc8803;
  border-color: #030200;
  left:0px;
  right:unset;
  width:800px;/*dyn overridden*/
}
#dialog.action .close-dialog {
  position: absolute;
  top: 20px;
  right: 40px;
  font-size: 42px;
  color: rgb(155,136,9);
  -webkit-text-stroke: 1px #827207;
  text-shadow: 3px 3px 0 #827207, -1px -1px 0 #827207, 1px -1px 0 #827207, -1px 1px 0 #827207, 1px 1px 0 #827207;
}
#dialog.action .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#dialog.organization {
  background-color:rgba(221,127,163,.95);
  border-color: #1c080f;
  left:unset;
  right:0px;
  width:800px;/*dyn overridden*/
}
#dialog.organization .close-dialog {
  position: absolute;
  top: 20px;
  right: 40px;
  font-size:42px;
  color: #bd3367;
  -webkit-text-stroke: 1px #952851;
  text-shadow: 3px 3px 0 #952851, -1px -1px 0 #952851, 1px -1px 0 #952851, -1px 1px 0 #952851, 1px 1px 0 #952851;
}
#dialog.organization .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#dialog.distribution .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
#dialog.networks {
  background-color: rgba(179,157,8,0.95);
  border-color: #000000;
  left:0px;
  right:unset;
  width:800px;/*dyn overridden*/
}
#dialog.understanding .close-dialog {
  position: absolute;
  top: 20px;
  right: 40px;
  font-size:42px;
  color: rgb(204,136,3);
  -webkit-text-stroke: 1px #837307;
  text-shadow: 3px 3px 0 #837307, -1px -1px 0 #837307, 1px -1px 0 #837307, -1px 1px 0 #837307, 1px 1px 0 #837307;
}
#dialog.understanding .close-dialog:hover {
  cursor: default;
  color: #FFF !important;
}
.fading-message {
  --fade-start: 5%;   /* higher = more text stays clear */
  --fade-end: 25%;    /* usually leave this at 100% */

  overflow: hidden;

  -webkit-mask-image: linear-gradient(
    to bottom,
    black 0%,
    black var(--fade-start),
    rgba(0,0,0,0.1) var(--fade-end)
  );

  mask-image: linear-gradient(
    to bottom,
    black 0%,
    black var(--fade-start),
    rgba(0,0,0,0.1) var(--fade-end)
  );
}

.click-to-view {
position:relative;
top:-434px;
  text-align: center;
  font-weight: 600;
  letter-spacing: 0.04em;
  color: #047f84;
font-style:oblique;
background:#000;
padding:1em 0;
}
