body {
    margin: 0;
    padding: 0;
    background-color: white;
}

h1 {
    text-align: center;
}

body.standalone .browser {
    display: none;
}

body.standalone :not(input):not(textarea) {
    user-select: none;
    cursor: default;
}

body.standalone .selectable {
    user-select: all !important;
    cursor: auto !important;
}

body.player .noplayer {
    display: none;
}

#player {
    display: none;
    text-align: center;
}

body.player #player {
    display: block;
}

#player-menu {
    height: 20px;
    line-height: 1;
}

#player-menu button {
    margin: 0px;
    height: 20px;
    min-height: 20px;
    box-sizing: border-box;
}

#player-menu .onoff.active {
    background-color: lightgreen;
}

#screen {
    display: none;
    width: 100%;
    height: calc(100vh - 20px);
    padding: 0;
    margin: 0;
    border: none;
    background-color: #ccc;
}

#content {
    margin: 0 auto;
    max-width: 400pt;
}

.block {
    border: 2px solid #ccc;
    border-radius: 4pt;
    margin: 12pt auto;
}

#pairing {
    padding: 8pt 0;
    text-align: center;
}

#pairing .pin {
    font-size: 40pt;
}

#pairing .pin * {
    font-size: 40pt;
}

#pairing h2 {
    font-size: 20pt;
    text-align: center;
    margin: 0 0 10pt 0;
    padding: 0;
}

#pairing input::-webkit-outer-spin-button,
#pairing input::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

#pairing input[type=number] {
    -moz-appearance: textfield;
}

#publishOrPlay {
    text-align: center;
}

#player video {
    touch-action: none;
}

#player .streamrect {
    position: absolute;
    overflow: hidden;
    pointer-events: none;
    box-sizing: border-box;
    border: 2px solid red;
    color: green;
    text-align: center;
    top: 0;
    left: 0;
}

.streamlist li {
    list-style-type: none;
    text-align: left;
}

.streamlist .connectionstate {
    margin: 0 10pt;
}

.streamlist .connectionstate_ready {
    color: green;
}

.streamlist .connectionstate_connected {
    color: red;
}

.streamlist .connectionstate_disconnected {
    color: darkred;
}

#devices>div {
    border: solid 1px #ccc;
    min-height: 50pt;
    border-radius: 6pt;
    padding-bottom: 0 5pt;
    margin-bottom: 8pt;
}

#devices>div>span {
    display: block;
    border-top-left-radius: 4pt;
    border-top-right-radius: 4pt;
    width: 100%;
    background-color: #e0e8f8;
    font-weight: bold;
    margin-bottom: 4pt;
}

#devices>div>span>span {
    display: inline-block;
    width: calc(100% - 30pt);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#devices>div>span>button {
    float: right;
}

.nodevices-msg {
    display: none;
}

.nodevices .nodevices-msg {
    display: block;
}

.loading-spinner {
	display: block;
    padding: 10px;
	text-align: center;
}

.loading-spinner::before {
	display: inline-block;
	width: 30px;
	height: 30px;
	border: 2px solid #aaa;
	content: "";
	animation: loading-animation 1s linear infinite;
}
@keyframes loading-animation {
	0%   { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}
