:root {
    --border-radius: 5px;
    --shadow: 1px 1px 2px #333;
    --sapphire:#1e3a8a;
    --dark:#333;
	--offwhite:#f0f0f0;
    --line-height: 1.5;
}

html {
	margin:0;
	padding:0;
    z-index:0;
	width:100%;
	height:100%;
}

body {
	background-color:#b9c1d6;
    margin: 0;
    padding: 0;
    height: 100%;
    width:100%;
    position: relative;
    z-index:0;
	
	font-family: 'Orbitron', sans-serif;
    font-size: 15px;
    color: var(--sapphire);
    text-shadow: 0px 0px 1px #333, 0px 0px 1px var(--sapphire);
    letter-spacing: 1.5px;
	
	-webkit-user-select: none; /* Safari */
	-ms-user-select: none; /* IE 10 and IE 11 */
	user-select: none; /* Standard syntax */
}


button {
    color: var(--offwhite);
    border-radius: var(--border-radius);
    display: inline-block;
    font-weight: bold;
    line-height: var(--line-height);
    padding: 5px 8px 3px 8px;
    background-color: var(--sapphire);
    border: 0;
    box-shadow: var(--shadow);
	cursor:pointer;
	-webkit-user-select: none; /* Safari */
	user-select: none;
	white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
	/* font-size: 1.5em; */
	/* padding: 10px 20px; */
}


/* button,select { */
    /* font-size: 18px; */
    /* padding: 10px 20px; */
    /* margin: 20px; */
    /* border:1px solid white; */
/* } */

div { box-sizing:border-box; }

select {
    border: 0;
    background-color: #ffffffe0;
    border-radius: 2px;
    padding: 4px;
}

.monospace {
    font-family:monospace;
    color:#00b7ff;
}

#logo { position:absolute; }

#remote {
	position:absolute;
	top:0;
	left:0;
	width:440px;
	height:auto;
	padding: 20px;
    background-color: var(--offwhite);
	border:2px solid var(--sapphire);
	border-radius: 4px;
	box-shadow: var(--shadow);
}

#remote > div:not(.title) {
	margin:20px;
}

#remote > div > div {
	margin:10px 0;
}

.user_id,.remote_id {
	font-weight:bold;
}

.sending {
	position:absolute;
	top:0;
	right:20px;
}

.center { text-align:center; }

/* --------------------------------- */
/* CONTROLS */

#devices {
	display: flex;
    flex-wrap: wrap;
}

.device {
	min-width: 400px;
	margin:20px;
	position: relative;
}

.device .title {
	position: absolute;
	top: -20px;
}

.label {
	height:20px;
}

.view {
    box-shadow: 0px 0px 3px #333;
    border-radius: 5px;
    display: flex;
    align-items: center;
    height: 400px;
    width: 400px;
}

.view img {
    max-width: 400px;
    max-height: 400px;
    border-radius: 4px;
}

.controls {
	width:100%;
	height:120px;
	position: relative;
	background-color: #8a9ed5;
	margin-top: 5px;
    border-radius: 5px;
}

.controls > div {
    position:absolute;
}

.complexa {
	top: 26px;
    height: 50px;
    width: 50px;
    border-radius: 50px;
    border: 2px solid #ffffff;
    background-color: #23261a;
    padding-top: 15px;
    text-align: center;
}

.complexa .above {
    position:absolute;
	top: -23px;
    left: -25px;
    width: 109px;
}

.complexa .below {
    position:absolute;
    bottom: -23px;
    left: -25px;
    width: 100px;
}

.command {
	cursor:pointer;
}

.pop_select > div {
	cursor:pointer;
}

.command[data-setting='camera'] {
    background-image:url(../img/change_cam2.png);
	bottom:10px;
	right:15px;
    height: 40px;
    width: 40px;
    background-size: cover;
    border-radius: 40px;
    border: 2px solid #c9cbd5;
    background-color: #23261a;
}

.command[data-setting='grabbing'] {
    background-image:url(../img/view_white.png);
    top: 3px;
    right: 12px;
    height: 40px;
    width: 40px;
    background-size: cover;
}

.not_viewing {
    background-image:url(../img/no_view_white.png) !important;
}

.command[data-setting='capture'] {
	left:285px;
}

.symbol {
    height: 28px;
    width: 28px;
    position: absolute;
    top: 10px;
    left: 10px;
}

	.recording {
		border: 1px solid #000000;
		background-color: #9b0000;	
	}

	.snap {
		background-image:url(../img/camera_white.png);
		background-repeat: no-repeat;
		background-position-y: 2px;
		background-position-x: 2px;
		background-size: 28px;
		border-radius: 18px !important;
		height: 33px !important;
		width: 33px !important;
		top: 8px !important;
		left: 8px !important;
	}


	.record {
		background-image: url(../img/recorder_white.png);
		background-repeat: no-repeat;
		background-position-y: 10px;
		background-position-x: 3px;
		background-size: 28px;
		border-radius: 18px !important;
		height: 33px !important;
		width: 33px !important;
		top: 7px !important;
		left: 7px !important;	
	}


.recording_time {
    /* text-decoration: underline; */
    /* text-decoration-thickness: from-font; */
    /* text-decoration-color: red; */
    /* text-underline-offset: 4px; */
    font-size: .8em;
}

.command[data-setting='mode'] {
	background-image:url(../img/change_cam3.png);
    top: 73px;
    right: 6px;
    height: 45px;
    width: 37px;
    background-size: 45px;
}
	.command[data-setting='mode'] > div {
		position: absolute;
		width: 18px;
		left: 13px;
		background-size: 18px;
	}
	
	.command[data-setting='mode'] [data-mode='snap'] {
		background-image: url(../img/recorder_white.png);
		height: 8px;
		top: 18px;
	}
	.command[data-setting='mode'] [data-mode='record']  {
		background-image: url(../img/camera_white.png);
		height: 15px;
		top: 15px;
	}

.hamburger {
    height: 46px;
    width: 42px;
    position:absolute;
    top:10px;
    right:16px;
}
.hamburger div {
    width: 100%;
    height: 6px;
    margin: 9px 0;
    background-color:#ffffffa1;
}

.title {
    font-size:1.2em;
    margin-bottom:20px;
}

.loading_svg {
    z-index:9;
    display:none;
	position:absolute;
	top:20px;
	left:0;
}

.full_scroll {
    overflow:auto;
    width:100%;
    height: calc(100% - 30px);
}

#msg {
	display:none;
	position:absolute;
	top:0;
	left:0;
    z-index:8;
    padding:20px;
    border-radius:10px;
    background-color:#ddd;
    color:black;
    font-weight:bold;
}

#overlay {
	position: fixed;
    display: none;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index:5;
}

.overlay_content {
    position:fixed;
    top:0;
    left:0;
    z-index:6;
    display:none;
    padding: 20px;
    background-color: #272739;
    border: 2px solid #8484a5;
    border-radius: 10px;
}

.settings_container {
    position:absolute;
    height: calc(100% - 10px);
    overflow-y: scroll;
    overflow-x:hidden;
    top: 5px;
    left: 5px;
    padding-right: 4px;
}
::-webkit-scrollbar {
  width: 8px;
  margin-left:4px;
}
::-webkit-scrollbar-track {
    background-color: #555;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb {
    background-color: #1e3a8a;
    border-radius: 4px;
}

.settings {
    display: table;
    cursor: pointer;
}
.setting {
    border-bottom: 1px solid #1e3a8a;
}
.setting.selected {
    background-color:#1e3a8a;
    color: white;
}
.setting > div {
    display: table-cell;
    padding: 5px;
}
.setting .label {
    width:150px;
}
.setting .value {
    max-width: 100px;
    overflow: hidden;
}

.setting .value.locked::before {
    content: "\1F512 ";
}

input[type=range] {
    -webkit-appearance: none;
    margin: 0;
    width: 16px;
    height: 100%;
    writing-mode: vertical-lr;
    direction: rtl;
}
input[type=range]:focus {
    outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 100%;
    background: #3071a9;
    border-radius: 1.3px;
}
input[type=range]::-webkit-slider-thumb {
    -webkit-appearance: none;
    width: 36px;
    height: 16px;
    margin-left: -11px;
    border-radius: var(--border-radius);
    background-color: var(--colorful);
    border: 0;
    box-shadow: var(--box-shadow);
}

.slider_outer_container {
    position: absolute;
    top:-262px;
    right:-50px;
    display:none;
}

.slider_inner_container {
    position: relative;
    width: 16px;
    height: 300px;
}
.slider_val {
    position: absolute;
    left: 20px;
    white-space: nowrap;
    font-family: sans-serif;
}

.slider_auto {
    display:block;
    position: absolute;
    bottom: -70px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px;
    margin: 0;
}

.slider_max, .slider_min {
    position:absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 100px;
    text-align: center;
}
.slider_max {
    top:-20px;
}
.slider_min {
    bottom:-20px;
}