.headerCastButton {
	display:none!important 
}

/* load font */
@font-face {
	font-family: 'SourceSansPro';
	src: url('./Source_Sans_Pro/SourceSansPro-Regular.ttf');
}
@font-face {
	font-family: 'Megaphone';
	src: url('./Megaphone/Red\ Rooster\ Collection\ -\ Megaphone.otf');
}


/* -------------  My css Stuff */
/* debug */
.debugRedLine              {outline: solid 3px rgba(255, 0, 0, 0.3);}

/* removing default spacings */
*                          {padding: 0;margin: 0;}

/* flex Classes */
.flex                      {display: flex;}
.flexColumn                {flex-direction: column;}
/* justify */
.flexJustifyCenter         {justify-content: center !important;}
.flexJustifyStart          {justify-content: flex-start;}
.flexJustifyEnd            {justify-content: flex-end;}
.flexJustifyBetween        {justify-content: space-between;}
.flexJustifyAround         {justify-content: space-around;}
.flexJustifyEvenly         {justify-content: space-evenly;}
/* alignment */
.flexAlignCenter           {align-items: center !important;}
.flexAlignStart            {align-items: flex-start;}
.flexAlignEnd              {align-items: flex-end;}
.flexAlignStretch          {align-items: stretch;}
.flexAlignBaseline         {align-items: baseline;}
/* flex-grow */
.flexGrow                  {flex-grow: 1;}

/* sizing divs */
.fillWidth                 {width: 100%;}
.fillHeight                {height: 100%;}
.hugHeight                 {height: fit-content;}
.hugWidth                  {width: fit-content;}

/* spacings */
.padding                   {padding: 1em;}
.paddingHalfu              {padding: 0.5em;}
.margin                    {margin: 1em;}

/* visibility */
.hide                      {display: none;}
.fadeOut                   {opacity: 0;}

/* layering over */
.overlay                   {position: absolute;top: 0;left: 0;}
 




/* -------- globals */
/* font */
*{font-family: 'SourceSansPro', sans-serif; font-weight: 400;}
.megaphone{font-family: 'Megaphone', sans-serif;text-transform: uppercase;}
.orange{color: #C5B783; }
/* basic colors */
.bgColor{background-color: black;}
.textColor {color:white;}
.dropShadow{
	filter: drop-shadow(-30px 10px 50px rgba(0,0,0,0.8));
	z-index:-1;
}
/* element Selectors */
html {
	overflow-x: hidden;
}
body {
	width: 100%;
	overflow-x: visible;
}
img {
	width: 500px;
}
.explainerRoot img {
	display:flex;
	align-self: flex-start;
	aspect-ratio: 16/9;
}




/* ---------- specific classes */
.explainerRoot {
}
.text--blurb {
	font-size: 1em;
	text-align: center;
	max-width: 800px;
	width: 100%;
	padding: 1em 0 1.5em 0;
}
.text--blurb > .orange{
	font-weight: 500;
	font-size: 2.5em;
}

/* flowchart */
.flowchartRoot {
	position:relative;
	overflow-x: visible;
}
.flowchartRoot > img {
	width: 100%;
}
.text--whatisthis {
	font-size: 1em;
	font-weight: 700;
	padding: 1rem 1rem 1rem 2rem;
}
.text--whatisthis.orange{
	font-size: 2.5em;
	font-weight: 500;
}
.text--whatisthisParagraph {
	font-weight: 300;
	padding: 0rem 0 1em 2rem;
}
/* flowchart */
.subChartRoot {
	position: relative;
	left: 37.5%;
	transform-origin: top left;
	overflow-x:visible;
	transform: scale(1);
}
.chartLeftArrow {
	position: relative;
	top:0;
	left: -37.5%;
	transform: scaleX(-1) !important;
	overflow-x:visible;
	 
	width: 50% !important;
}
.chartRightArrow {
	position: absolute;
	transform-origin: top left;
	left: 12.5%;
	top: 0;
	overflow-x:visible;
	 
	width: 50% !important;
}
.chartLeftImage {
	position: relative;
	transform-origin: 50% top;
	left: -62.25%;
	top:100%;
	overflow-x:visible;
	 
	width: 50%;
}
.chartRightImage {
	position: absolute;
	transform-origin: 50% top !important;
	left: 37.25%;
	top:50%;
	overflow-x:visible;
	 
	width: 50%;
}
 
/* why is this root */
.whyIsThisRoot {
	margin-top: 3em;
}

/* Contact us section */
.contactUs {
	padding: 1em 0em;
	margin-top: 1em;
}
.text--contactUs{font-size: 2em;}
.contactUs a {
	background-color: #C5B783;
	margin: 1em;
	padding: 1em 2em;
	border-radius: 0.25em;
	font-size: 1rem;
	color: black;
	font-weight: 300;
	text-decoration: none;
	transition: 0.3s;
}
.contactUs a:hover {
	transform: scale(1.1);
}
.contactUs a:active {
	transform: scale(0.9);
}




/* --------- video player stuff */
.videoRoot {
	position: relative;
	background-color: black;
	display: block;
	aspect-ratio: 16 / 9;
}
.videoRootFullScreened{display: flex !important;}
.disable-select {
	user-select: none; /* supported by Chrome and Opera */
-webkit-user-select: none; /* Safari */
-khtml-user-select: none; /* Konqueror HTML */
-moz-user-select: none; /* Firefox */
-ms-user-select: none; /* Internet Explorer/Edge */
}
#CCButton{
	align-self:center;
	transform: scale(1.5);
	transform-origin: 50% 50%;
}
#CCButtonIcon{align-self: center !important;}
/* caption styling */
/* .video::cue{
	background-color: rgba(0,0,0, 0);
} */
 
/* start card */
.startCard {
	background-color: rgba(0,0,0, 0.8);
	transition: 0.5s;
	opacity: 1;
}
.shortFilmTitle {
	font-size: 5em;
	height: 0.8em;
}
.startEndCardButtons {
	margin-top: 1.25em;
	background-color: white;
	padding: 0.5em;
	outline: none;
	border: none;
	border-radius: 0.5em;
	transition: 0.3s;
	cursor: pointer;
}
.startEndCardButtons:hover {
	transform: scale(1.05);
	transform-origin: 50% 50%;
}
.startEndCardButtons:active {
	transform: scale(0.95);
	transform-origin: 50% 50%;
}
.endCardButton{font-size: 1em; margin: 0.5em; }
.startCardButton{font-size: 1.5em;}
/* end card */
.endCard {
	background-color: rgba(0,0,0, 0.8);
	font-size: 2em;
	 
	transition: 0.5s;
	 
	opacity: 1;
}
/* card button stuff */
@keyframes opacityPingPong-default {from{opacity: 0.3}to{opacity: 0.5}}
@keyframes opacityPingPong-hover {from{opacity: 1}to{opacity: 1}}
@keyframes opacityPingPong-select {from{opacity: 0.7}to{opacity: 1}}
@keyframes opacityPingPong-deselect {from{opacity: 0.0}to{opacity: 0.4}}
.cardButtonMask{
	pointer-events: fill;
	cursor: pointer;
	position:relative;
}
.cardGlowLayersRoot{
	height: 100%; width: 100%;;
	 
	display: flex;
	align-items: center; justify-content: center;
	 
	object-fit: scale-down;
}
.cardGlowLayer{
	animation-direction: alternate;
	animation-duration: 1s;
	animation-iteration-count: infinite;
	 
	/* background-color: rgba(255,0,0, 0.25);
	align-self: inherit;
	width: 100%;
	aspect-ratio: 16/9; */
	width: 100%;

	position: absolute;
	align-self: inherit;
}
.cardGlowLayer-default{animation-name: opacityPingPong-default;}
.cardGlowLayer-hover{animation-name: opacityPingPong-hover !important;}
.cardGlowLayer-selected{animation-name: opacityPingPong-select;}
.cardGlowLayer-deselected{animation-name: opacityPingPong-deselect;}
/* question prompt */
.questionPromptOverlay {
	overflow-y: clip;
	cursor: default ;
	pointer-events: none;
	 
	opacity: 1;
	transition: 0.3s;
}
.questionPromptOverlay--hidden{opacity: 0}
.questionPromptOverlay--hidden > * > *{pointer-events: none !important;}
.questionPromptRoot {
	position: relative; 
	bottom: 0em;
	transition: 0.5s;
	 
	height: 5em;
	background-color: #221E1E;
	 
	pointer-events: auto;
}
.questionPromptRoot--slideDown{
	bottom: -6em;
}
.promptButton {
	text-align: center;
	background-color: rgba(255,255,255, 0);
	color: white;
	padding: 0.5em;
	border: white solid 1px;
	border-radius: 0.5em;
	width: 10em;
	height: fit-content;
	transition: 0.3s;
}
.promptButton:hover {
	transform: scale(0.95);
	transform-origin: 50% 50%;
}
.promptButton--selected {
	background-color: rgba(255,255,255, 1);
	color: black;
	transform: scale(1.1);
	transform-origin: 50% 50%;
	box-shadow: inset 0 0 20px rgba(0,0,0, 0.5);
	font-weight: 700;
	border: none
}
.promptButton--deselected {
	opacity: 0.7;
	background-color: rgba(0,0,0, 0);
	transform: scale(0.9);
	transform-origin: 50% 50%;
}
.timerRoot{
	height: 3px;
}
.timerBar{
	background-color: white;
	width: 50%;
	transition: 0.4s;
}
#leftTimerBar{
	transform-origin: 100% 50%;
}
#rightTimerBar{
	transform-origin: 0% 50%;
}
 
/* player controls */
.controlsOverlay{
	overflow-y: hidden;
}
.controlsRoot {
	height: 3em;
	 
	background: linear-gradient(0deg,  black 20%, rgba(0,0,0,0) 100%);
	 
	position: relative;
	bottom: 0;
	 
	transition: 0.3s;
}
.controlsRoot--slideDown{
	bottom: -3em;
}
.playerIcon{
	margin: 0 1em;
	width: 1em;
	align-self: center !important;
	 
	transition: 0.3s;
	transform-origin: 50% 50%;
	 
	opacity: 0.8;
	 
	cursor: pointer;
}
.playerIcon:hover{
	transform: scale(1.1);
	opacity: 1;
}
.playerIcon:active{
	transform: scale(0.9);
}
#volumeRoot{
	position: relative;
}
#volumeRoot > .volumeSliderRoot{
	height: 6em;
	width: 3em;
	 
	position: absolute;
	transition: 0.3s;
	transform-origin: 50% 100%;
	transform: scaleY(0);
	top: -6em;
	 
	cursor: pointer;
}
#volumeRoot:hover > .volumeSliderRoot{
	position: absolute;
	transform: scaleY(1);
	cursor: pointer;
}
input[type=range][orient=vertical]{
	writing-mode: bt-lr; /* IE */
 	-webkit-appearance: slider-vertical; /* Chromium */
	cursor: pointer;
}

/* top header */
.topHeader{
	margin-top: 0.25em;
	margin-bottom: 0.25em;
	min-height: 2em;
	overflow-y: hidden;
	color: white;
	font-size: 2.5em;
	max-width: 100%;
}
.topHeader > img{
	max-width: 2em;
	cursor: pointer;
}
.topHeader > div{
	font-size: 0.5em;
	font-weight: 700;
	gap: 0.5em;
	cursor: pointer;
	margin-right: 0.5em;
}
.topHeader > div:hover *{
 filter: drop-shadow(0 0 10px  #fff);
}
.topHeader > div > img{
	width: 1em;
}


/* for mobile screens */
@media only screen and (max-width: 700px) {
	/* globals */
	html {
	}
	img{
		width: 40vw;
		display: flex;
		align-self: flex-start;
	}
	/* specifics */
	.text--blurb{
		font-size: 0.8em;
	}
	.text--whatisthis{
		padding: 0em 0 0.5rem 1rem;
	}
	.text--whatisthisRoot{
		max-width: 50vw;
	}
	.text--whatisthisParagraph{
		font-size: 0.8em;
		padding: 0em 0 0.5rem 1rem;
	}
	.whyIsThisRoot {
		margin-top: 1em;
	}
	.whyIsThisImage{
		height:auto;
	}
	 
	.startCard{
		font-size: 0.5em;
	}

	.topHeader{
		font-size: 2em;
	}
}


/* ios prompt */
#iosPrompt{
	background-color: rgba(0,0,0, 0.8);
	position: absolute; left: 0; top: 0;
	width: 100vw;
	height: 100vh;
	top: 0px;
	z-index: 2;
	color: white;
}
#iosPrompt > div {
	background-color: white;
	border-radius: 2em;
	color: black;
	max-width: 20em;
	margin: 2em;
	text-align: center;
	margin: 1em;
	padding: 1em;
}
#iosPrompt button{
	color: white;
	padding: 0.5em 0.5em;
	border-radius: 2em;
	background-color: black;
	margin: 1em;
	transition: 0.3s;
	transform-origin: 50% 50%;
}
#iosPrompt button:active{
	transform: scale(0.8);
}



/* make chart shrink when screen reaches 500px */
@media only screen and (max-width: 510px) {
	.subChartRoot{transform: scale(0.7);}
}



/* increase size for contact us on desktop */
@media only screen and (min-width: 700px) {
	.contactUs{
		max-width:100%;
		font-size: 2em;
	}
	.explainerRoot img {
		display:flex;
		align-self: flex-start;
		height: auto;
		aspect-ratio: 16/9;
	}
	.startCard > img {
		align-self: center;
	}
	.controlsOverlay img{
		align-self: center;
	}
}
/* allow proper video fitting in landscaped fullscreen */
@media (min-aspect-ratio: 16/9) {
	.videoRootFullScreened > .video {height: 100vh}
	.videoRootFullScreened .cardGlowLayer{ 
		height: 100%;
		width: auto;
	}
}

/* remove chromecast icon */
.headerCastButton {
	display:none!important 
}
