385 lines
6.8 KiB
CSS
385 lines
6.8 KiB
CSS
/* Import font-family */
|
|
@import url('https://fonts.googleapis.com/css?family=Comfortaa:wght@500&display=swap');
|
|
|
|
/* Variables */
|
|
:root {
|
|
--border-radius: 10px;
|
|
--bg-color: #222;
|
|
--text-color: #fff;
|
|
--btn-size: 48px;
|
|
--btn-size-mobile: 40px;
|
|
--highlight-color: rgba(0, 0, 0, 0.1);
|
|
--fallback-bg: #222;
|
|
}
|
|
|
|
/* Global Styles */
|
|
* {
|
|
outline: none;
|
|
font-family: 'Comfortaa', sans-serif;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
html,
|
|
body {
|
|
margin: 0;
|
|
padding: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
overflow: auto;
|
|
scroll-behavior: smooth;
|
|
}
|
|
|
|
body {
|
|
display: flex;
|
|
justify-content: center;
|
|
align-items: center;
|
|
background:
|
|
url('background.jpg') center/cover no-repeat fixed,
|
|
var(--fallback-bg);
|
|
will-change: background;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
body {
|
|
background-attachment: scroll;
|
|
}
|
|
}
|
|
|
|
/* Unsplash and Author attribution */
|
|
#attribution {
|
|
z-index: 3;
|
|
position: absolute;
|
|
padding: 10px;
|
|
bottom: 0;
|
|
right: 10px;
|
|
font-size: small;
|
|
color: var(--text-color);
|
|
background: var(--highlight-color);
|
|
border-radius: var(--border-radius);
|
|
}
|
|
|
|
/* Random image */
|
|
img {
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
/* Ensure the random image spans the entire screen */
|
|
#randomImage {
|
|
position: fixed;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
/* Prevent buttons from inheriting the image as background */
|
|
button {
|
|
background: none;
|
|
color: inherit;
|
|
touch-action: manipulation; /* Prevent zoom and other default behaviors */
|
|
}
|
|
|
|
/* Swap camera mobile only */
|
|
#swapCameraBtn {
|
|
display: none;
|
|
}
|
|
|
|
/* Session Time */
|
|
#sessionTime {
|
|
display: none;
|
|
position: absolute;
|
|
text-align: center;
|
|
align-items: center;
|
|
padding: 5px;
|
|
top: 10px;
|
|
right: 20px;
|
|
font-size: 0.9rem;
|
|
font-weight: bold;
|
|
color: var(--text-color);
|
|
background: rgba(0, 0, 0, 0.5);
|
|
border-radius: var(--border-radius);
|
|
}
|
|
|
|
/* Room */
|
|
#roomPage {
|
|
position: absolute;
|
|
display: none;
|
|
}
|
|
|
|
/* Home Sign in */
|
|
#signInPage {
|
|
position: absolute;
|
|
display: none;
|
|
}
|
|
|
|
/* General Card Styles */
|
|
.card {
|
|
max-width: 90% !important;
|
|
margin: 0 auto !important;
|
|
color: var(--text-color) !important;
|
|
font-weight: bold !important;
|
|
border: none !important;
|
|
border-radius: var(--border-radius) !important;
|
|
background: rgba(0, 0, 0, 0.07) !important;
|
|
}
|
|
|
|
.card-header h1 {
|
|
margin-top: 15px;
|
|
}
|
|
|
|
/* Video Styles */
|
|
video {
|
|
width: 100%;
|
|
height: auto;
|
|
border: none;
|
|
border-radius: var(--border-radius);
|
|
object-fit: contain;
|
|
cursor: pointer;
|
|
}
|
|
|
|
video:hover {
|
|
filter: contrast(105%);
|
|
}
|
|
|
|
video::-webkit-media-controls {
|
|
display: none !important;
|
|
}
|
|
|
|
/* Local Video Styles */
|
|
#localVideoContainer {
|
|
z-index: 1;
|
|
position: absolute;
|
|
top: 10px;
|
|
left: 20px;
|
|
width: 15vw;
|
|
height: 15vh;
|
|
border-radius: var(--border-radius);
|
|
border: none;
|
|
}
|
|
|
|
#localUsername {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
color: var(--text-color);
|
|
font-size: x-small;
|
|
border-radius: 5px;
|
|
margin: 5px;
|
|
}
|
|
|
|
/* Remote Video Styles */
|
|
#remoteVideo {
|
|
z-index: 2;
|
|
width: 100%;
|
|
background: rgba(0, 0, 0, 0.5);
|
|
border-radius: var(--border-radius);
|
|
border: none;
|
|
}
|
|
|
|
/* Hide Local Video on Mobile */
|
|
@media (max-width: 768px) {
|
|
#localUsername {
|
|
font-size: 8px;
|
|
}
|
|
#remoteVideo {
|
|
height: 70vh;
|
|
object-fit: cover;
|
|
}
|
|
}
|
|
|
|
/* Hidden Elements */
|
|
.hide {
|
|
visibility: hidden;
|
|
opacity: 0;
|
|
}
|
|
|
|
input {
|
|
text-align: center;
|
|
}
|
|
|
|
/* Style the input field */
|
|
#usernameIn {
|
|
width: 100%;
|
|
padding: 10px 15px;
|
|
font-size: 16px;
|
|
color: var(--text-color);
|
|
border: 1px solid #ccc;
|
|
border-radius: 8px;
|
|
background: rgba(0, 0, 0, 0.5);
|
|
transition:
|
|
border-color 0.3s,
|
|
background-color 0.3s;
|
|
}
|
|
|
|
#usernameIn:hover {
|
|
border-color: #007bff;
|
|
}
|
|
|
|
/* Select Input Styles */
|
|
select {
|
|
width: 100%;
|
|
padding: 10px;
|
|
margin-bottom: 10px;
|
|
background: rgba(0, 0, 0, 0.5);
|
|
color: var(--text-color);
|
|
border: none;
|
|
border-radius: 4px;
|
|
font-size: 16px;
|
|
text-align: center;
|
|
text-align-last: center;
|
|
appearance: none;
|
|
outline: none;
|
|
cursor: pointer;
|
|
}
|
|
|
|
#callUsernameSelect option[data-icon]::before {
|
|
font-family: 'Font Awesome 6';
|
|
font-weight: 900;
|
|
margin-right: 8px;
|
|
font-size: 1rem;
|
|
content: attr(data-icon);
|
|
}
|
|
|
|
select::-ms-expand {
|
|
display: none;
|
|
}
|
|
|
|
/* Center Alignment */
|
|
.center {
|
|
position: fixed;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
}
|
|
|
|
/* Custom button */
|
|
.btn-custom {
|
|
height: var(--btn-size);
|
|
width: var(--btn-size);
|
|
margin: 0.1rem;
|
|
border: none;
|
|
border-radius: 50px !important;
|
|
}
|
|
|
|
@media (max-width: 768px) {
|
|
.btn-custom {
|
|
height: var(--btn-size-mobile);
|
|
width: var(--btn-size-mobile);
|
|
}
|
|
.btn-custom i {
|
|
font-size: 12px;
|
|
}
|
|
}
|
|
|
|
/* GitHub div */
|
|
#githubDiv {
|
|
position: absolute;
|
|
top: 10px;
|
|
right: 10px;
|
|
}
|
|
|
|
/* Swal2 custom theme */
|
|
.swal2-popup {
|
|
background: rgba(0, 0, 0, 0.5) !important;
|
|
color: var(--text-color) !important;
|
|
border: none !important;
|
|
}
|
|
|
|
.swal2-popup .swal2-styled:focus {
|
|
box-shadow: none !important;
|
|
}
|
|
|
|
.swal2-title {
|
|
color: var(--text-color) !important;
|
|
}
|
|
|
|
.swal2-actions .swal2-confirm {
|
|
background-color: #157346 !important;
|
|
color: var(--text-color) !important;
|
|
border: none !important;
|
|
}
|
|
|
|
.swal2-actions .swal2-cancel {
|
|
background-color: #666 !important;
|
|
color: var(--text-color) !important;
|
|
border: none !important;
|
|
}
|
|
|
|
.swal2-timer-progress-bar {
|
|
background-color: green !important;
|
|
}
|
|
|
|
/* Webkit-Scrollbar Styles */
|
|
::-webkit-scrollbar {
|
|
width: 10px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: radial-gradient(#333, #000000);
|
|
border-radius: 5px;
|
|
cursor: pointer;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background-color: radial-gradient(#333, #000000);
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #1a1b1f;
|
|
}
|
|
|
|
.red {
|
|
background: red !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;
|
|
}
|
|
}
|