/*Copyright Epic Games, Inc. All Rights Reserved.*/
html {
	font-size: 10px;
}

:root {
	/*Using colour scheme https://color.adobe.com/TD-Colors---Option-3-color-theme-10394433/*/
	--colour1:#2B3A42;
	--colour2:#242424;
	--colour3:#BDD4DE;
	--colour4:#b0b0b0;
	--colour5:#0262c3;
	--colour6:#0f0f0f;
	--colour7:#2f2f2f;
	--colour8:#151515;
	--pofcolor:#365958;
	
	--buttonFont: roboto, sans-serif;
	--inputFont: roboto, sans-serif;
}

body {
    margin: 0px;
    background-color: #fff;
	background-repeat: no-repeat;
	background-size: cover;
}	

#playerUI {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 10;
}

.statsContainer {
	background-color: var(--colour6);
	text-align: left;
	display: block;
	margin-top: 5px;
}

.stats {
	font-size: 14px;
	font-weight: bold;
	padding: 6px;
	color: var(--colour5);
}

canvas{
    image-rendering: crisp-edges;
    position: absolute;
}

video{
	position: absolute;
	width: 100%;
	height: 100%;
}

#player {
	position: relative;
}

#overlay{
	display: none;

	-moz-border-radius-bottomright: 5px;
	-moz-border-radius-bottomleft: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px; /* future proofing */
	border-bottom-left-radius: 5px; /* future proofing */
	-khtml-border-bottom-right-radius: 5px; /* for old Konqueror browsers */
	-khtml-border-bottom-left-radius: 5px; /* for old Konqueror browsers */
	
	-webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
	
	position: absolute;
	top: 0;
	right: 2%;
	z-index: 100;
	border: 4px solid var(--colour8);
	border-top-width: 0px;
}

.overlay {
    background-color: var(--colour2);
	font-family: var(--buttonFont);
	font-weight: lighter;
	color: var(--colour4);
}

.overlay-shown > #overlaySettings {
	display: block;
}

.overlay-shown > div > #overlayButton {
	transform: rotate(-135deg);
	-webkit-transform: rotate(-135deg); /* Safari */
	-moz-transform: rotate(-135deg); /* Firefox */
	-ms-transform: rotate(-135deg); /* IE */
	-o-transform: rotate(-135deg); /* Opera */
}

#overlayButton:hover{
	cursor: pointer;
}

#overlayButton{
	transition-duration: 250ms;
	text-align: right;
	font-size: 40px;
}

#qualityStatus{
	font-size: 37px;
	padding-right: 4px;
}

.setting {
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 2px 10px 2px 10px;
}

#overlaySettings{
	font-size: 1em;
	width: 400px;
	display: none;
}

.greyStatus {
	color: grey;
}

.limeStatus {
	color: lime;
}

.orangeStatus {
	color: orange;
}

.redStatus {
	color: red;
}

#videoMessageOverlay{
	z-index: 30;
	position: absolute;
	color: var(--pofcolor);
	font-size: 1.8em;
	font-family: var(--inputFont);
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,1);
}

#videoPlayOverlay{
	z-index: 30;
	position: absolute;
	color: var(--pofcolor);
	font-size: 1.8em;
	font-family: var(--inputFont);
	width: 100%;
	height: 100%;
	background-color: rgba(255,255,255,1);
}

/* State for element to be clickable */
.clickableState{
	align-items: center;
	justify-content: center;
	display: flex;
	cursor: pointer;
}

/* State for element to show text, this is for informational use*/
.textDisplayState{
	align-items: center;
	justify-content: center;
	display: flex;
}

/* State to hide overlay, WebRTC communication is in progress and or is playing */
.hiddenState{
	display: none;
}

#playButton{
	display: inline-block;
	height: auto;
}

img#playButton{
	max-width: 241px;
	width: 10%;
}

#UIInteraction{
	position: fixed;
}

#UIInteractionButtonBoundary{
	padding: 2px;
}

#UIInteractionButton{
	cursor: pointer;
}

#hiddenInput{
	position: absolute;
	left: -10%;   /* Although invisible, push off-screen to prevent user interaction. */
	width: 0px;
	opacity: 0;
}

#editTextButton{
	position: absolute;
	height: 40px;
	width: 40px;
}

#overlayHeader{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	border-bottom: 1px solid var(--colour8);
	background-color: var(--colour7);
}

section {
	display: flex;
	flex-direction: column;
}

section > :first-child{
	background-color: var(--colour7);
	padding: 4px;
	font-weight: bold;
	border-top: 1px solid var(--colour8);
	border-bottom: 1px solid var(--colour8);
	justify-content: space-between;
    display: flex;
    flex-direction: row;
    align-items: baseline;
}

.subtitle-text {
	font-style: italic;
	font-size: 0.6em;
}

.settings-text{
	color: var(--colour4);
	vertical-align: middle;
	font-weight: normal;
}

.overlay-button{
	line-height: 1.1;
	padding: 1px 6px;
}

.btn-overlay{
	vertical-align: middle;
	display: inline-block;
}

.btn-flat{
	background: var(--colour7);
	border: 2px solid var(--colour8);
	color: var(--colour4);
	font-weight: bold;
	cursor: pointer;
	font-family: var(--buttonFont);
	font-size: 10px;
	border-radius: 5px;
	height: 20px;
	text-align: center;
}

.btn-flat:disabled{
	background: var(--colour8);
	border-color: var(--colour6);
	cursor: not-allowed;
}

.btn-flat:hover:enabled{
	outline: none;
	background: var(--colour2);
	border-color: var(--colour4);
}

.btn-flat:active:enabled{
	background: var(--colour8);
	border-color: var(--colour6);
	color: var(--colour7);
}

/*** Toggle Switch styles ***/
.tgl-switch {
  vertical-align: middle;
  display: inline-block;
}

.tgl-switch .tgl {
	display:none;
}

.tgl, .tgl:after, .tgl:before, .tgl *, .tgl *:after, .tgl *:before, .tgl + .tgl-slider {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.tgl::-moz-selection, .tgl:after::-moz-selection, .tgl:before::-moz-selection, .tgl *::-moz-selection, .tgl *:after::-moz-selection, .tgl *:before::-moz-selection, .tgl + .tgl-slider::-moz-selection {
  background: none;
}
.tgl::selection, .tgl:after::selection, .tgl:before::selection, .tgl *::selection, .tgl *:after::selection, .tgl *:before::selection, .tgl + .tgl-slider::selection {
  background: none;
}

.tgl + .tgl-slider {
  outline: 0;
  display: block;
  width: 40px;
  height: 18px;
  position: relative;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.tgl + .tgl-slider:after, .tgl + .tgl-slider:before {
  position: relative;
  display: block;
  content: "";
  width: 50%;
  height: 100%;
}
.tgl + .tgl-slider:after {
  left: 0;
}
.tgl + .tgl-slider:before {
  display: none;
}

.tgl-flat + .tgl-slider {
  padding: 2px;
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  background: var(--colour6);
  border: 3px solid var(--colour4);
  border-radius: 2em;
}

.tgl-flat + .tgl-slider:after {
  -webkit-transition: all .2s ease;
  transition: all .2s ease;
  background: var(--colour4);
  content: "";
  border-radius: 1em;
}

.tgl-flat:checked + .tgl-slider {
  border: 3px solid var(--colour5);
}

.tgl-flat:checked + .tgl-slider:after {
  left: 50%;
  background: var(--colour5);
}
/*** Toggle Switch styles ***/

#encoderSettings, #webRTCSettings {
	margin: 10px 0px;
}

.collapse {
	padding-left: 5%;
}

#overlay input[type="number"]:disabled {
	background: var(--colour7);
	border: none;
	color: var(--colour4);
	cursor: not-allowed;
}

#overlay select {
	text-align: right;
}

.form-control {
	background-color: var(--colour6);
	border: 2px solid var(--colour7);
	border-radius: 4px;
	color: var(--colour4);
}

.form-control:hover {
	border-color: var(--colour4);
}

.form-group {
	padding-top: 4px;
	display: grid;
	grid-template-columns: 50% 50%;
	row-gap: 4px;
	padding-right: 10px;
	padding-left: 10px;
}

.form-group label {
	color: var(--colour4);
	vertical-align: middle;
	font-weight: normal;
}

#latencyTest {
	display: block;
}

#latencyTest button {
	margin: 30px 0px;
}

#freezeFrameOverlay {
	background-color: transparent;
}

.freezeframeBackground {
	background-color: #000 !important;
}

#popupContainer {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 100;
	background-color: rgba(255,255,255,0.5);
	backdrop-filter: blur(5px);
	display: none;
}

#popup {
	margin: auto;
	display: block;
	border: 1px solid var(--pofcolor);
	box-shadow: 2px 2px 8px rgba(0,0,0,0.5);
	background-color: #fff;
	max-width: calc(100% - 6rem);
	max-height: calc(80% - 2rem);
	max-height: 90%;
	overflow-y: auto;
}

#popupContent {
	display: flex;
	padding: 2rem;
	flex-flow: column;
}

.popupTextContainer {
	font-family: var(--inputFont);
	color: var(--pofcolor);
	margin: 0;
	flex-grow: 1;
	font-size: 1.2rem;
}

.popupTextContainer h1 {
	font-size: 1.6rem;
	font-weight: normal;
}

.popupTextContainer a, .popupTextContainer a:visited {
	color: var(--brandColor);
	text-decoration: underline;;
}

.popupButtonsContainer {
	margin: 0;
	margin-top: 1rem;
}

.popupButtonsContainerItem {
	display: block;
	float: left;
	margin: 0 1rem 1rem 0;
}

.popupButtonsContainer button {
	padding: 0.6rem 1rem;
	background-color: var(--pofcolor);
	color: #fff;
	letter-spacing: 1px;
	border: 0;
	appearance: none;
	cursor: pointer;
	font-size: 1.2rem;
}

#popup input {
	border: 0.1rem solid var(--pofcolor);
	font-size: 1.2rem;
	padding: 0.6rem;
	margin: 0;
	appearance: none;
}

#popup input[type=submit] {
	height: unset;
}

#guideButtonContainer {
	bottom: 2rem;
	z-index: 100;
}

.guideContainer {
	display: flex;
	flex-flow: column;
	margin-bottom: 1rem;
}

.guideRow {
	display: flex;
	flex-flow: row;
	margin-bottom: 1rem;
}

.guideBlock {
	display: flex;
	margin-right: 2rem;
}

.guideBlock img {
	display: block;
	margin: auto;
	width: 3rem;
	height: auto;
}

.guideBlock p {
	margin: auto;
}

.guideBlock h1 {
	margin: auto;
}

#interestedTab {
	display: none;
	top: 15rem;
}

.sideTab {
	position: absolute;
	
	transform: rotate(-90deg);
	height: 2rem;
	z-index: 100;
}

.sideTabRight {
	transform-origin: bottom left;
	right: 0;
	transform: translateX(100%) rotate(-90deg);
}

.sideTabLeft {
	transform-origin: bottom left;
	left: 2rem;
}

.sideTab button {
	background-color: var(--brandColor);
	appearance: none;
	border: 0;
	height: 100%;
	padding: 0 1rem;
	letter-spacing: 0.2rem;
	font-size: 1.2rem;
	color: #fff;
	cursor: pointer;
}

.whiteBackground {
	background-color: #fff;
}

.transparentBackground {
	background-color: transparent;
}

#saveMaterialsTab {
	display: none;
	bottom: 2rem;
}

#asuntoikkunaMenu {
	z-index: 200;
}

#asuntoikkunaCalendar {
	z-index: 200;
}

@media (min-width: 500px) {
	#popup {
		max-width: 45rem;
	}

	.guideBlock img {
		width: 4rem;
	}
}

@media (min-width: 1025px) {
	#popup {
		max-width: 80rem;
	}

	#popupContent {
		padding: 4rem;
	}

	#popup input {
		font-size: 1.6rem;
		padding: 1.1rem;
	}

	.popupTextContainer {
		font-size: 1.6rem;
	}

	.popupTextContainer h1 {
		font-size: 2rem;
	}

	.popupButtonsContainer button {
		padding: 1rem 2rem;
		letter-spacing: 2px;
		font-size: 1.6rem;
	}

	.guideBlock img {
		width: 5rem;
	}

	.sideTab {
		height: 4rem;
	}

	.sideTabLeft {
		left: 4rem;
	}

	.sideTab button {
		font-size: 2rem;
	}

	#interestedTab {
		display: none;
		top: 19rem;
	}
}

@media (orientation: portrait) {
	body {
		background-image: url('imgs/background_portrait.jpg');
	}
}

@media (orientation: landscape) {
	body {
		background-image: url('imgs/background_landscape.jpg');
	}
}