1304 lines
26 KiB
CSS
Executable File
1304 lines
26 KiB
CSS
Executable File
@import url('https://fonts.googleapis.com/css?family=Comfortaa:wght@500&display=swap');
|
|
|
|
/*--------------------------------------------------------------
|
|
# Fade in page on load
|
|
--------------------------------------------------------------*/
|
|
|
|
@-webkit-keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@-moz-keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Root settings
|
|
--------------------------------------------------------------*/
|
|
|
|
:root {
|
|
/* common */
|
|
--bg: linear-gradient(to left, #363434, #000000);
|
|
--msger-top: 50%;
|
|
--msger-left: 50%;
|
|
--msger-height: 680px;
|
|
--msger-width: 420px;
|
|
/* video iframe */
|
|
--iframe-width: 640px;
|
|
--iframe-height: 480px;
|
|
/* whiteboard resize */
|
|
--wb-width: 800px;
|
|
--wb-height: 600px;
|
|
--wb-bg: linear-gradient(to left, #1f1e1e, #000000);
|
|
/* my settings */
|
|
--mySettings-select-w: 100%;
|
|
/* btns hover scale 110% zoom */
|
|
--btns-hover-scale: scale(1.1);
|
|
/* video elem border color */
|
|
--elem-border-color: grey 1px solid;
|
|
/* left buttons bar vertical default */
|
|
--btns-top: 50%;
|
|
--btns-right: 0%;
|
|
--btns-left: 20px;
|
|
--btns-margin-left: 0px;
|
|
--btns-width: 40px;
|
|
--btns-flex-direction: column;
|
|
/* left buttons bar horizontal
|
|
--btns-top: 95%;
|
|
--btns-right: 25%;
|
|
--btns-left: 50%;
|
|
--btns-margin-left: -300px;
|
|
--btns-width: 600px;
|
|
--btns-flex-direction: row;
|
|
*/
|
|
/* neon theme default */
|
|
--body-bg: black;
|
|
--msger-bg: linear-gradient(to left, #383838, #000000);
|
|
--msger-private-bg: black;
|
|
--left-msg-bg: #da05f3;
|
|
--private-msg-bg: #f77070;
|
|
--right-msg-bg: #579ffb;
|
|
--box-shadow: 3px 3px 6px #0500ff, -3px -3px 6px #da05f3;
|
|
--btn-bg: white;
|
|
--btn-color: black;
|
|
--btn-opc: 1;
|
|
--wb-bg: linear-gradient(to left, #1f1e1e, #000000);
|
|
--wb-hbg: #000000;
|
|
--my-settings-label-color: white;
|
|
--hover-color: grey;
|
|
/* rgb(8, 189, 89); */
|
|
/* dark theme
|
|
--body-bg: #16171b;
|
|
--msger-bg: linear-gradient(to left, #383838, #000000);
|
|
--msger-private-bg: black;
|
|
--left-msg-bg: #222328;
|
|
--private-msg-bg: #f77070;
|
|
--right-msg-bg: #0a0b0c;
|
|
--box-shadow: 3px 3px 6px #0a0b0c, -3px -3px 6px #222328;
|
|
--btn-bg: white;
|
|
--btn-color: black;
|
|
--btn-opc: 1;
|
|
--wb-bg: linear-gradient(to left, #1f1e1e, #000000);
|
|
--wb-hbg: #000000;
|
|
--my-settings-label-color: white;
|
|
*/
|
|
/* forest theme
|
|
--body-bg: black;
|
|
--msger-bg: linear-gradient(to left, #383838, #000000);
|
|
--msger-private-bg: black;
|
|
--left-msg-bg: #2e3500;
|
|
--private-msg-bg: #f77070;
|
|
--right-msg-bg: #004b1c;
|
|
--box-shadow: 3px 3px 6px #27944f, -3px -3px 6px #14843d;
|
|
--btn-bg: white;
|
|
--btn-color: black;
|
|
--btn-opc: 1;
|
|
--wb-bg: linear-gradient(to left, #1f1e1e, #000000);
|
|
--wb-hbg: #000000;
|
|
--my-settings-label-color: white;
|
|
*/
|
|
/* sky theme
|
|
--body-bg: black;
|
|
--msger-bg: linear-gradient(to left, #383838, #000000);
|
|
--msger-private-bg: black;
|
|
--left-msg-bg: #0c95b7;
|
|
--private-msg-bg: #f77070;
|
|
--right-msg-bg: #012a5f;
|
|
--box-shadow: 3px 3px 6px #03a5ce, -3px -3px 6px #03a5ce;
|
|
--btn-bg: white;
|
|
--btn-color: black;
|
|
--btn-opc: 1;
|
|
--wb-bg: linear-gradient(to left, #1f1e1e, #000000);
|
|
--wb-hbg: #000000;
|
|
--my-settings-label-color: white;
|
|
*/
|
|
/* ghost theme
|
|
--body-bg: black;
|
|
--msger-bg: linear-gradient(to left, transparent, rgba(0, 0, 0, 0.7));
|
|
--msger-private-bg: black;
|
|
--left-msg-bg: rgba(0, 0, 0, 0.7);
|
|
--private-msg-bg: rgba(252, 110, 110, 0.7);
|
|
--right-msg-bg: rgba(0, 0, 0, 0.7);
|
|
--box-shadow: "0px";
|
|
--btn-bg: white;
|
|
--btn-color: black;
|
|
--btn-opc: 0.7;
|
|
--wb-bg: transparent;
|
|
--wb-hbg: #000000;
|
|
--my-settings-label-color: white;
|
|
*/
|
|
/* https://developer.mozilla.org/it/docs/Web/CSS/object-fit */
|
|
--video-object-fit: cover;
|
|
}
|
|
|
|
* {
|
|
outline: none;
|
|
font-family: 'Comfortaa';
|
|
}
|
|
|
|
html {
|
|
min-height: 100%;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Body setup
|
|
--------------------------------------------------------------*/
|
|
|
|
body {
|
|
background: var(--body-bg);
|
|
background-image: url('../images/bg.svg');
|
|
background-repeat: no-repeat;
|
|
background-attachment: fixed;
|
|
background-position: center;
|
|
margin: 0;
|
|
padding: 0;
|
|
justify-content: center;
|
|
align-items: center;
|
|
height: 100vh;
|
|
opacity: 0;
|
|
/* make things invisible upon start */
|
|
-webkit-animation: fadeIn ease-in 1;
|
|
-moz-animation: fadeIn ease-in 1;
|
|
animation: fadeIn ease-in 1;
|
|
-webkit-animation-fill-mode: forwards;
|
|
-moz-animation-fill-mode: forwards;
|
|
animation-fill-mode: forwards;
|
|
-webkit-animation-duration: 0.3s;
|
|
-moz-animation-duration: 0.3s;
|
|
animation-duration: 0.3s;
|
|
overflow: hidden;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Loading...
|
|
--------------------------------------------------------------*/
|
|
|
|
#loadingDiv {
|
|
position: relative;
|
|
color: white;
|
|
top: 40%;
|
|
left: 60%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
#loadingDiv h1 {
|
|
font-size: 70px;
|
|
}
|
|
|
|
#loadingDiv pre {
|
|
font-size: 15px;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Pulse class effect
|
|
--------------------------------------------------------------*/
|
|
|
|
.pulsate {
|
|
animation: pulsate 3s ease-out;
|
|
animation-iteration-count: infinite;
|
|
-webkit-animation: pulsate 3s ease-out;
|
|
-webkit-animation-iteration-count: infinite;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
@-webkit-keyframes pulsate {
|
|
0% {
|
|
opacity: 0.5;
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
@keyframes pulsate {
|
|
0% {
|
|
opacity: 0.5;
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
@-webkit-keyframes pulsate {
|
|
0% {
|
|
opacity: 0.5;
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Status menù (time-name-audio-video)
|
|
--------------------------------------------------------------*/
|
|
|
|
.statusMenu {
|
|
z-index: 7;
|
|
display: none;
|
|
position: absolute;
|
|
padding: 10px;
|
|
background: var(--bg);
|
|
font-size: small;
|
|
/* 4 mobile */
|
|
font-weight: bold;
|
|
text-align: center;
|
|
width: 100%;
|
|
cursor: default;
|
|
/* center */
|
|
top: 18px;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
-webkit-transform: translate(-50%, -50%);
|
|
-moz-transform: translate(-50%, -50%);
|
|
overflow: hidden;
|
|
}
|
|
|
|
.statusMenu i,
|
|
.statusMenu p,
|
|
.statusMenu h4 {
|
|
color: white;
|
|
display: inline;
|
|
border: none;
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.statusMenu button {
|
|
float: right;
|
|
margin-right: 3px;
|
|
color: white;
|
|
background: transparent;
|
|
display: inline;
|
|
border: none;
|
|
}
|
|
|
|
.statusMenu p:hover,
|
|
.statusMenu h4:hover,
|
|
.statusMenu button:hover {
|
|
color: var(--hover-color);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Avatar Image on video OFF
|
|
--------------------------------------------------------------*/
|
|
|
|
.videoAvatarImage {
|
|
z-index: 8;
|
|
display: none;
|
|
position: absolute;
|
|
/*center*/
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Left buttons
|
|
--------------------------------------------------------------*/
|
|
|
|
#buttonsBar {
|
|
z-index: 12;
|
|
display: none;
|
|
position: absolute;
|
|
padding: 15px;
|
|
top: var(--btns-top);
|
|
right: var(--btns-right);
|
|
left: var(--btns-left);
|
|
margin-left: var(--btns-margin-left);
|
|
width: var(--btns-width);
|
|
flex-direction: var(--btns-flex-direction);
|
|
justify-content: space-around;
|
|
grid-gap: 0.4rem;
|
|
-webkit-transform: translate(0%, -50%);
|
|
-ms-transform: translate(0%, -50%);
|
|
transform: translate(0%, -50%);
|
|
border-radius: 20px;
|
|
background: transparent;
|
|
box-shadow: var(--box-shadow);
|
|
overflow: hidden;
|
|
}
|
|
|
|
#buttonsBar button {
|
|
border: none;
|
|
font-size: 1.5rem;
|
|
transition: all 0.3s ease-in-out;
|
|
background: var(--btn-bg);
|
|
padding: 4px;
|
|
border-radius: 5px;
|
|
opacity: var(--btn-opc);
|
|
color: var(--btn-color);
|
|
}
|
|
|
|
#buttonsBar button:hover {
|
|
color: var(--hover-color);
|
|
transform: var(--btns-hover-scale);
|
|
}
|
|
|
|
#buttonsBar button:focus {
|
|
outline: none;
|
|
}
|
|
|
|
#initAudioBtn,
|
|
#initVideoBtn {
|
|
border: none;
|
|
border-radius: 5px;
|
|
width: 40px;
|
|
background: white;
|
|
color: black;
|
|
font-size: 1.5rem;
|
|
padding: 4px;
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
#buttonsBar #leaveRoomBtn:hover {
|
|
color: red;
|
|
transform: var(--btns-hover-scale);
|
|
}
|
|
|
|
.fa-microphone-slash,
|
|
.fa-video-slash {
|
|
color: #e74c3c !important;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Chat room aka msger
|
|
--------------------------------------------------------------*/
|
|
|
|
.msger-draggable {
|
|
z-index: 10;
|
|
display: none;
|
|
position: fixed;
|
|
/* center screen */
|
|
top: var(--msger-top);
|
|
left: var(--msger-left);
|
|
transform: translate(-50%, -50%);
|
|
/* end center screen */
|
|
height: var(--msger-height);
|
|
width: var(--msger-width);
|
|
background: var(--msger-bg);
|
|
/* text-align: justify; */
|
|
overflow: hidden;
|
|
border-radius: 5px;
|
|
box-shadow: var(--box-shadow);
|
|
}
|
|
|
|
.msger {
|
|
display: flex;
|
|
flex-flow: column wrap;
|
|
justify-content: space-between;
|
|
top: var(--msger-top);
|
|
left: var(--msger-left);
|
|
height: var(--msger-height);
|
|
width: var(--msger-width);
|
|
background: var(--msger-bg);
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Chat room header
|
|
--------------------------------------------------------------*/
|
|
|
|
.msger-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 10px;
|
|
background: rgb(0, 0, 0);
|
|
color: #666;
|
|
cursor: move;
|
|
}
|
|
|
|
.msger-private-header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
padding: 10px;
|
|
background: rgb(0, 0, 0);
|
|
color: #666;
|
|
}
|
|
|
|
.msger-header-title button,
|
|
.msger-header-options button {
|
|
border: none;
|
|
font-size: 1.2rem;
|
|
background: rgb(0, 0, 0);
|
|
color: #fff;
|
|
border-radius: 5px;
|
|
transition: all 0.3s ease-in-out;
|
|
transition: background 0.23s;
|
|
}
|
|
|
|
.msger-header-title button:hover,
|
|
.msger-header-options button:hover {
|
|
color: var(--hover-color);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Chat room output area
|
|
--------------------------------------------------------------*/
|
|
|
|
.msger-chat {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
padding: 10px;
|
|
background: var(--msger-bg);
|
|
}
|
|
|
|
.msger-chat::-webkit-scrollbar {
|
|
width: 5px;
|
|
}
|
|
|
|
.msger-chat::-webkit-scrollbar-track {
|
|
background: transparent;
|
|
}
|
|
|
|
.msger-chat::-webkit-scrollbar-thumb {
|
|
background: black;
|
|
/*aqua;*/
|
|
}
|
|
|
|
.msg {
|
|
display: flex;
|
|
align-items: flex-end;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.msg:last-of-type {
|
|
margin: 0;
|
|
}
|
|
|
|
/* left side */
|
|
|
|
.left-msg .msg-bubble {
|
|
background: var(--left-msg-bg);
|
|
border-bottom-left-radius: 0;
|
|
color: #fff;
|
|
}
|
|
|
|
.left-msg .private-msg-bubble {
|
|
background: var(--private-msg-bg);
|
|
border-bottom-left-radius: 0;
|
|
color: #fff;
|
|
}
|
|
|
|
.left-msg .msg-caption-bubble {
|
|
background: var(--left-msg-bg);
|
|
border-bottom-left-radius: 0;
|
|
color: #fff;
|
|
}
|
|
|
|
/* right side */
|
|
|
|
.right-msg {
|
|
flex-direction: row-reverse;
|
|
}
|
|
|
|
.right-msg .msg-bubble {
|
|
background: var(--right-msg-bg);
|
|
border-bottom-right-radius: 0;
|
|
color: #fff;
|
|
}
|
|
|
|
.right-msg .private-msg-bubble {
|
|
background: var(--private-msg-bg);
|
|
border-bottom-right-radius: 0;
|
|
color: #fff;
|
|
}
|
|
|
|
.right-msg .msg-img {
|
|
margin: 0 0 0 10px;
|
|
}
|
|
|
|
/* common */
|
|
|
|
.msg-img {
|
|
width: 50px;
|
|
height: 50px;
|
|
margin-right: 10px;
|
|
background-repeat: no-repeat;
|
|
background-position: center;
|
|
background-size: cover;
|
|
/* border-radius: 50%; */
|
|
}
|
|
|
|
.private-msg-bubble,
|
|
.msg-bubble {
|
|
max-width: 200px;
|
|
padding: 15px;
|
|
border-radius: 15px;
|
|
}
|
|
|
|
.msg-caption-bubble {
|
|
max-width: 70%;
|
|
padding: 15px;
|
|
border-radius: 15px;
|
|
}
|
|
|
|
.msg-info {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
margin-bottom: 10px;
|
|
}
|
|
|
|
.msg-info-name {
|
|
margin-right: 10px;
|
|
font-weight: bold;
|
|
}
|
|
|
|
.msg-info-time {
|
|
font-size: 0.85em;
|
|
}
|
|
|
|
.msg-text {
|
|
/* https://css-tricks.com/almanac/properties/o/overflow-wrap/ */
|
|
overflow-wrap: break-word;
|
|
word-wrap: break-word;
|
|
hyphens: auto;
|
|
}
|
|
|
|
#chat-msg-a {
|
|
color: white;
|
|
}
|
|
|
|
button:hover {
|
|
transform: var(--btns-hover-scale);
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Chat room input area
|
|
--------------------------------------------------------------*/
|
|
|
|
.msger-inputarea {
|
|
display: flex;
|
|
padding: 10px;
|
|
background: var(--msger-bg);
|
|
}
|
|
|
|
.msger-inputarea * {
|
|
padding: 10px;
|
|
border: none;
|
|
border-radius: 3px;
|
|
font-size: 1em;
|
|
margin: 2px;
|
|
color: white;
|
|
}
|
|
|
|
.msger-input {
|
|
flex: 1;
|
|
background: rgb(0, 0, 0);
|
|
}
|
|
|
|
#msgerVideoUrlBtn,
|
|
#msgerEmojiBtn,
|
|
#msgerCPBtn,
|
|
#msgerSendBtn {
|
|
background: rgb(0, 0, 0);
|
|
color: #fff;
|
|
transition: background 0.23s;
|
|
}
|
|
|
|
#msgerVideoUrlBtn:hover,
|
|
#msgerEmojiBtn:hover,
|
|
#msgerCPBtn:hover,
|
|
#msgerSendBtn:hover {
|
|
color: var(--hover-color);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Chat Connected Peers
|
|
--------------------------------------------------------------*/
|
|
|
|
#msgerCP {
|
|
z-index: 11;
|
|
display: none;
|
|
position: absolute;
|
|
bottom: 55px;
|
|
width: 100%;
|
|
height: 50%;
|
|
cursor: default;
|
|
background: var(--msger-private-bg);
|
|
overflow: hidden;
|
|
}
|
|
|
|
#msgerCPChat {
|
|
flex: 1;
|
|
overflow-y: auto;
|
|
background: var(--msger-bg);
|
|
}
|
|
|
|
#msgerCPList {
|
|
border: grey 1px solid;
|
|
}
|
|
|
|
#msgerCPList button {
|
|
border: none;
|
|
font-size: 1rem;
|
|
transition: all 0.3s ease-in-out;
|
|
background: rgb(0, 0, 0);
|
|
color: #fff;
|
|
border-radius: 5px;
|
|
transition: background 0.23s;
|
|
}
|
|
|
|
#msgerCPList button:hover {
|
|
color: var(--hover-color);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
#searchPeerBarName {
|
|
width: 94.5%;
|
|
padding: 10px;
|
|
font-size: 1rem;
|
|
background-color: transparent;
|
|
color: #ffffff;
|
|
border: grey 1px solid;
|
|
}
|
|
|
|
.msger-peer-inputarea {
|
|
display: flex;
|
|
padding: 10px;
|
|
background: var(--msger-bg);
|
|
}
|
|
|
|
.msger-peer-inputarea * {
|
|
padding: 10px;
|
|
border: none;
|
|
border-radius: 3px;
|
|
font-size: 1em;
|
|
color: white;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Emoji picker
|
|
--------------------------------------------------------------*/
|
|
|
|
emoji-picker {
|
|
z-index: 0;
|
|
position: absolute;
|
|
bottom: 55px;
|
|
width: 100%;
|
|
height: 50%;
|
|
--background: #16171b;
|
|
--num-columns: 8;
|
|
--emoji-size: 1.5rem;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Video Grid
|
|
--------------------------------------------------------------*/
|
|
|
|
#myVideo.mirror {
|
|
-webkit-transform: rotateY(180deg);
|
|
-moz-transform: rotateY(180deg);
|
|
transform: rotateY(180deg);
|
|
}
|
|
|
|
video {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: var(--video-object-fit);
|
|
cursor: pointer;
|
|
}
|
|
|
|
video:fullscreen {
|
|
object-fit: contain;
|
|
/* cover; */
|
|
border: var(--elem-border-color);
|
|
}
|
|
|
|
.video {
|
|
float: left;
|
|
width: 25vw;
|
|
height: 50vh;
|
|
overflow: hidden;
|
|
position: relative;
|
|
}
|
|
|
|
.video.one {
|
|
width: 100vw;
|
|
height: 100vh;
|
|
}
|
|
|
|
.video.two {
|
|
width: 49.6vw;
|
|
height: 99vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
/* --video-object-fit: contain; */
|
|
}
|
|
|
|
.video.three {
|
|
/* width: 33vw;
|
|
height: 99vh; */
|
|
width: 49.6vw;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
|
|
.video.four {
|
|
width: 49.6vw;
|
|
height: 49vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
|
|
.video.five {
|
|
width: 33vw;
|
|
height: 49vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
|
|
.video.six {
|
|
width: 33vw;
|
|
height: 49vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Handle video elements on screen resize
|
|
--------------------------------------------------------------*/
|
|
|
|
@media only screen and (max-width: 720px) {
|
|
/* 960px */
|
|
.video {
|
|
float: left;
|
|
width: 50vw;
|
|
height: 25vh;
|
|
overflow: hidden;
|
|
}
|
|
.video.two {
|
|
width: 99vw;
|
|
height: 49vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
.video.three {
|
|
width: 99vw;
|
|
height: 33vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
.video.four {
|
|
width: 49vw;
|
|
height: 49vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
.video.five {
|
|
width: 49vw;
|
|
height: 33vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
.video.six {
|
|
width: 49vw;
|
|
height: 33vh;
|
|
--video-object-fit: cover;
|
|
border: var(--elem-border-color);
|
|
}
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Room QR
|
|
--------------------------------------------------------------*/
|
|
|
|
#qrRoomContainer {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# My settings
|
|
--------------------------------------------------------------*/
|
|
|
|
#mySettings {
|
|
display: none;
|
|
z-index: 16;
|
|
min-width: 320px;
|
|
/* gui */
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
border-radius: 5px;
|
|
margin: auto;
|
|
box-shadow: var(--box-shadow);
|
|
padding: 10px;
|
|
min-width: 330px;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#mySettingsHeader {
|
|
cursor: move;
|
|
}
|
|
|
|
#mySettings label {
|
|
width: 7em;
|
|
display: flex;
|
|
color: var(--my-settings-label-color);
|
|
}
|
|
|
|
#mySettings select {
|
|
width: var(--mySettings-select-w);
|
|
height: 30px;
|
|
color: white;
|
|
background-color: #2b2b2b;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
#mySettingsCloseBtn {
|
|
border: none;
|
|
font-size: 1.2rem;
|
|
background: transparent;
|
|
color: #fff;
|
|
transition: background 0.23s;
|
|
}
|
|
|
|
#mySettingsCloseBtn:hover {
|
|
color: var(--hover-color);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
#myPeerNameSet {
|
|
border: 1px solid white;
|
|
color: white;
|
|
background-color: #2b2b2b;
|
|
}
|
|
|
|
#myPeerNameSetBtn,
|
|
#muteEveryoneBtn,
|
|
#hideEveryoneBtn,
|
|
#lockUnlockRoomBtn,
|
|
#speechRecognitionStart,
|
|
#speechRecognitionStop {
|
|
padding: 5px;
|
|
border-radius: 5px;
|
|
color: white;
|
|
background-color: transparent;
|
|
}
|
|
|
|
#myPeerNameSetBtn:hover,
|
|
#lockUnlockRoomBtn:hover,
|
|
#speechRecognitionStart:hover,
|
|
#speechRecognitionStop:hover {
|
|
color: var(--hover-color);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
#muteEveryoneBtn:hover,
|
|
#hideEveryoneBtn:hover {
|
|
color: rgb(255, 0, 0);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
/* Style the tab */
|
|
|
|
.tab {
|
|
overflow: hidden;
|
|
border: 1px solid rgb(0, 0, 0);
|
|
background-color: rgba(0, 0, 0);
|
|
}
|
|
|
|
/* Style the buttons inside the tab */
|
|
|
|
.tab button {
|
|
background-color: inherit;
|
|
float: left;
|
|
border: none;
|
|
outline: none;
|
|
cursor: pointer;
|
|
padding: 14px 16px;
|
|
transition: 0.3s;
|
|
color: white;
|
|
}
|
|
|
|
/* Change background color of buttons on hover */
|
|
|
|
.tab button:hover {
|
|
background-color: transparent;
|
|
color: var(--hover-color);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
/* Create an active/current tablink class */
|
|
|
|
.tab button.active {
|
|
background-color: rgb(30 29 29);
|
|
}
|
|
|
|
/* Style the tab content */
|
|
|
|
.tabcontent {
|
|
display: none;
|
|
padding: 6px 12px;
|
|
border: 1px solid rgb(0, 0, 0);
|
|
border-top: none;
|
|
}
|
|
|
|
/* on open display devices tab */
|
|
|
|
#tabDevices {
|
|
display: block;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Swal2
|
|
--------------------------------------------------------------*/
|
|
|
|
.swal2-validation-message,
|
|
.swal2-title,
|
|
.swal2-content,
|
|
.swal2-input {
|
|
text-align: center;
|
|
color: white !important;
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
.swal2-file {
|
|
color: white !important;
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
.swal2-html-container {
|
|
color: rgb(165, 165, 165) !important;
|
|
background-color: transparent !important;
|
|
}
|
|
|
|
/* .swal2-popup {
|
|
font-size: 0.8 !important;
|
|
} */
|
|
|
|
.swal2-select {
|
|
background-color: black !important;
|
|
color: white !important;
|
|
border-radius: 6px !important;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Pulse class effect
|
|
--------------------------------------------------------------*/
|
|
|
|
.pulsate {
|
|
animation: pulsate 3s ease-out;
|
|
animation-iteration-count: infinite;
|
|
-webkit-animation: pulsate 3s ease-out;
|
|
-webkit-animation-iteration-count: infinite;
|
|
opacity: 0.5;
|
|
}
|
|
|
|
@-webkit-keyframes pulsate {
|
|
0% {
|
|
opacity: 0.5;
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
@keyframes pulsate {
|
|
0% {
|
|
opacity: 0.5;
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
@-webkit-keyframes pulsate {
|
|
0% {
|
|
opacity: 0.5;
|
|
}
|
|
50% {
|
|
opacity: 1;
|
|
}
|
|
100% {
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Send File
|
|
--------------------------------------------------------------*/
|
|
|
|
#sendFileDiv,
|
|
#receiveFileDiv {
|
|
z-index: 17;
|
|
display: none;
|
|
min-width: 320px;
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
border-radius: 5px;
|
|
margin: auto;
|
|
box-shadow: var(--box-shadow);
|
|
padding: 10px;
|
|
color: white;
|
|
font-size: 1rem;
|
|
overflow: hidden;
|
|
}
|
|
|
|
#sendAbortBtn,
|
|
#receiveHideBtn {
|
|
padding: 5px;
|
|
border-radius: 5px;
|
|
font-size: 1rem;
|
|
color: white;
|
|
background-color: transparent;
|
|
transition: background 0.23s;
|
|
}
|
|
|
|
#sendAbortBtn:hover,
|
|
#receiveHideBtn:hover {
|
|
color: rgb(255, 0, 0);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
progress {
|
|
width: 0;
|
|
min-width: 100%;
|
|
}
|
|
|
|
#imgShareSend:hover,
|
|
#imgShareReceive:hover {
|
|
cursor: move;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Video IFrame
|
|
--------------------------------------------------------------*/
|
|
|
|
#videoUrlCont {
|
|
z-index: 15;
|
|
display: none;
|
|
width: var(--iframe-width);
|
|
height: var(--iframe-height);
|
|
box-shadow: var(--box-shadow);
|
|
border-radius: 5px;
|
|
}
|
|
|
|
#videoUrlHeader {
|
|
position: absolute;
|
|
display: flex;
|
|
left: 0px;
|
|
top: 0px;
|
|
width: 100%;
|
|
cursor: move;
|
|
border-radius: 5px;
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
}
|
|
|
|
#videoUrlHeader button {
|
|
height: 30px;
|
|
width: 30px;
|
|
font-size: 1.2rem;
|
|
margin-top: 10px;
|
|
margin-left: 10px;
|
|
border: none;
|
|
color: white;
|
|
background: black;
|
|
}
|
|
|
|
#videoUrlHeader button:hover {
|
|
color: var(--hover-color);
|
|
transform: var(--btns-hover-scale);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
#videoUrlIframe {
|
|
width: var(--iframe-width);
|
|
height: var(--iframe-height);
|
|
border-radius: 5px;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# About
|
|
--------------------------------------------------------------*/
|
|
|
|
#about {
|
|
cursor: default;
|
|
/*text-decoration: none;*/
|
|
}
|
|
|
|
#about a {
|
|
color: white;
|
|
text-decoration: none;
|
|
}
|
|
|
|
#about a:hover {
|
|
color: var(--hover-color);
|
|
transition: all 0.3s ease-in-out;
|
|
}
|
|
|
|
#about img {
|
|
cursor: pointer;
|
|
border-radius: 10px;
|
|
}
|
|
|
|
#about button {
|
|
border: none;
|
|
width: 170px;
|
|
height: 40px;
|
|
font-size: 1.2rem;
|
|
background: linear-gradient(100deg, #376df9 0, #ff5fa0 75%, #ffc55a 100%);
|
|
box-shadow: 0 0 6px 0 rgb(251 255 0 / 82%);
|
|
color: #ffffff;
|
|
transition: background 0.23s;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#about button:hover {
|
|
font-weight: bold;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Speech bar
|
|
--------------------------------------------------------------*/
|
|
|
|
.speechbar {
|
|
position: absolute;
|
|
top: 0;
|
|
bottom: 0;
|
|
right: 2px;
|
|
width: 10px;
|
|
display: flex;
|
|
flex-direction: column;
|
|
justify-content: center;
|
|
align-items: center;
|
|
pointer-events: none;
|
|
}
|
|
|
|
.bar {
|
|
width: 6px;
|
|
border-radius: 6px;
|
|
background: rgba(#19bb5c, 0.65);
|
|
transition-property: height background-color;
|
|
transition-duration: 0.25s;
|
|
/*box-shadow: var(--box-shadow);*/
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# speech recognition languages
|
|
--------------------------------------------------------------*/
|
|
|
|
#recognitionDialect,
|
|
#recognitionLanguage {
|
|
background-color: rgba(0, 0, 0, 0.7);
|
|
color: #ffffff;
|
|
font-size: small;
|
|
max-width: 135px;
|
|
border-radius: 5px;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Other
|
|
--------------------------------------------------------------*/
|
|
|
|
#webRTCSeo {
|
|
/* just for SEO */
|
|
display: none;
|
|
}
|
|
|
|
/*--------------------------------------------------------------
|
|
# Common
|
|
--------------------------------------------------------------*/
|
|
|
|
button {
|
|
cursor: pointer;
|
|
}
|
|
|
|
.hidden {
|
|
display: none;
|
|
}
|
|
|
|
.show {
|
|
display: block;
|
|
}
|
|
|
|
.center {
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
-webkit-transform: translate(-50%, -50%);
|
|
-moz-transform: translate(-50%, -50%);
|
|
}
|
|
|
|
.center-img {
|
|
display: block;
|
|
margin-left: auto;
|
|
margin-right: auto;
|
|
width: 50%;
|
|
}
|
|
|
|
.fadein {
|
|
-webkit-animation: fadeIn ease-in 1;
|
|
-moz-animation: fadeIn ease-in 1;
|
|
animation: fadeIn ease-in 1;
|
|
-webkit-animation-fill-mode: forwards;
|
|
-moz-animation-fill-mode: forwards;
|
|
animation-fill-mode: forwards;
|
|
-webkit-animation-duration: 1s;
|
|
-moz-animation-duration: 1s;
|
|
animation-duration: 1s;
|
|
}
|
|
|
|
/*
|
|
z-index
|
|
7 statusMenu -----
|
|
- peer name
|
|
- hand status
|
|
- video status
|
|
- audio status
|
|
- kick out
|
|
------------------
|
|
8 video avatar img
|
|
9 count time
|
|
10 chat room
|
|
11 chat peers private msg
|
|
12 left buttons
|
|
13 chat emoji
|
|
14 whiteboard
|
|
15 video iframe
|
|
16 settings
|
|
17 send File Div
|
|
*/
|