You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
421 lines
7.7 KiB
421 lines
7.7 KiB
/* |
|
Specific styles for main app layout. |
|
May have overrides for other components with own stylesheets. |
|
*/ |
|
|
|
/* variables */ |
|
:root { |
|
--header-height: 3.5em; |
|
--right-col-width: 24em; |
|
--video-container-height: calc((9 / 16) * 100vw); |
|
--header-bg-color: rgba(20,0,40,1); |
|
--user-image-width: 10em; |
|
} |
|
|
|
html { |
|
font-size: 14px; |
|
scrollbar-width: none; |
|
} |
|
|
|
#loading-logo { |
|
margin-top: 3%; |
|
margin-left: auto; |
|
margin-right: auto; |
|
height: 80vh; |
|
opacity: 0.2; |
|
} |
|
|
|
a:hover { |
|
text-decoration: underline; |
|
} |
|
|
|
.scrollbar-hidden::-webkit-scrollbar { |
|
width: 0px; |
|
background: transparent; |
|
} |
|
.scrollbar-hidden { |
|
scrollbar-width: none; /* moz only */ |
|
} |
|
|
|
#app-container.config-loading { |
|
visibility: hidden; |
|
} |
|
|
|
button[disabled] { |
|
opacity: .5; |
|
pointer-events: none; |
|
} |
|
|
|
/* accessibility things */ |
|
.visually-hidden { |
|
position: absolute !important; |
|
height: 1px; |
|
width: 1px; |
|
overflow: hidden; |
|
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ |
|
clip: rect(1px, 1px, 1px, 1px); |
|
white-space: nowrap; /* added line */ |
|
} |
|
|
|
|
|
header { |
|
height: var(--header-height); |
|
background-color: var(--header-bg-color); |
|
display: block; |
|
} |
|
|
|
#logo-container { |
|
background-size: 1.35em; |
|
padding: 1.15rem; |
|
background-image: url(/img/logo.svg); |
|
} |
|
|
|
#chat-toggle { |
|
min-width: 3rem; |
|
} |
|
|
|
#user-info-change { |
|
display: none; |
|
} |
|
|
|
#external-actions-container { |
|
margin: 1em 0; |
|
|
|
} |
|
.external-action-button { |
|
border-radius: 4px; |
|
color: #fff; |
|
font-size: .88em; |
|
padding: .25em .75em; |
|
margin: .35em; |
|
margin-left: 0; |
|
display: flex; |
|
max-width: 250px; |
|
padding-top: .3em; |
|
} |
|
.external-action-button:hover { |
|
text-decoration: underline; |
|
} |
|
.external-action-icon { |
|
margin: .25em .5em .25em 0; |
|
} |
|
.external-action-icon img { |
|
height: 1.5em; |
|
width: 1.5em; |
|
} |
|
.external-action-label { |
|
text-overflow: ellipsis; |
|
overflow: hidden; |
|
} |
|
|
|
|
|
|
|
/* ************************************************ */ |
|
|
|
#video-container { |
|
height: var(--video-container-height); |
|
margin-top: var(--header-height); |
|
position: relative; |
|
width: 100%; |
|
|
|
min-height: 480px; |
|
max-height: calc(100vh - var(--header-height) - 3rem); |
|
background-size: 30%; |
|
} |
|
#video-container #video { |
|
transition: opacity .5s; |
|
opacity: 0; |
|
pointer-events: none; |
|
} |
|
.online #video-container #video { |
|
opacity: 1; |
|
pointer-events: auto; |
|
} |
|
|
|
#app-container .custom-thumbnail-image { |
|
transition: opacity 2s; |
|
} |
|
|
|
/* *********** overrides when chat is off ***************************** */ |
|
.chat-disabled #user-options-container { |
|
display: none; |
|
} |
|
|
|
.chat-disabled footer, |
|
.chat-hidden footer { |
|
justify-content: center; |
|
} |
|
|
|
.chat-hidden #chat-toggle { |
|
opacity: .75; |
|
} |
|
|
|
/* hide chat by default */ |
|
#chat-container-wrap { |
|
display: none; |
|
} |
|
|
|
/* *********** overrides when chat is on ***************************** */ |
|
|
|
.chat { |
|
--content-width: calc(100vw - var(--right-col-width)); |
|
} |
|
.chat #chat-container-wrap { |
|
display: block; |
|
} |
|
|
|
.chat main, |
|
.chat footer, |
|
.chat #user-content { |
|
width: var(--content-width); |
|
} |
|
|
|
.chat #video-container { |
|
height: calc((9 / 16) * var(--content-width)); |
|
} |
|
|
|
.short-wide.chat #video-container { |
|
height: calc(100vh - var(--header-height) - 3rem); |
|
min-height: auto; |
|
} |
|
|
|
/* display `send` button on mobile */ |
|
.touch-screen #send-message-button{ |
|
display: inline-block; |
|
} |
|
|
|
|
|
/* *********** single col layout ***************************** */ |
|
|
|
.single-col { |
|
--right-col-width: 0px; |
|
--video-container-height: calc((9 / 16) * 100vw); |
|
} |
|
.single-col main { |
|
position: fixed; |
|
width: 100%; |
|
z-index: 40; |
|
} |
|
.single-col #chat-container { |
|
position: fixed; |
|
bottom: 0; |
|
width: 100%; |
|
height: auto; |
|
} |
|
|
|
.single-col.chat #video-container, |
|
.single-col.chat-disabled #video-container, |
|
.single-col.chat-hidden #video-container, |
|
.single-col #video-container #video, |
|
.single-col.chat #video-container #video { |
|
width: 100vw; |
|
height: var(--video-container-height); |
|
min-height: 212px; |
|
} |
|
.single-col #user-content, |
|
.single-col #chat-container-wrap { |
|
margin-top: calc(var(--video-container-height) + var(--header-height) + 1rem); |
|
} |
|
.single-col #user-content .user-content { |
|
flex-wrap: wrap; |
|
justify-content: center; |
|
} |
|
.single-col.chat #user-content { |
|
display: none; |
|
} |
|
.single-col #messages-container { |
|
flex-grow: 2; |
|
margin-top: calc(var(--video-container-height)); |
|
} |
|
.single-col #message-input-container { |
|
width: 100%; |
|
} |
|
|
|
.single-col #stream-info { |
|
height: 0; |
|
padding: 0; |
|
} |
|
.single-col #stream-info span { |
|
display: none; |
|
} |
|
|
|
.single-col #message-input-wrap { |
|
max-height: 3em; |
|
} |
|
|
|
@media screen and (max-height: 500px) { |
|
.single-col.touch-screen:not(.touch-keyboard-active) { |
|
--header-height: 0px; |
|
} |
|
.single-col.touch-screen:not(.touch-keyboard-active) header { |
|
display: none; |
|
} |
|
} |
|
|
|
|
|
/* ************************************************ */ |
|
|
|
|
|
@media screen and (max-width: 860px) { |
|
:root { |
|
--right-col-width: 20em; |
|
--user-image-width: 6em; |
|
} |
|
#video-container { |
|
min-height: 240px; |
|
} |
|
.instance-title { |
|
font-size: 1rem; |
|
} |
|
} |
|
|
|
/* ************************************************ */ |
|
|
|
|
|
@media screen and (max-width: 600px) { |
|
#user-info-change { |
|
width: 75vw; |
|
} |
|
#user-info-display { |
|
max-width: 30vw; |
|
overflow: hidden; |
|
text-overflow: ellipsis; |
|
} |
|
} |
|
|
|
|
|
#external-modal-iframe { |
|
height: 70vh; |
|
} |
|
|
|
|
|
/************************** |
|
Basic Modal Styles |
|
**************************/ |
|
/* |
|
External modal styling for use with Micromodal from https://gist.github.com/ghosh/4f94cf497d7090359a5c9f81caf60699 |
|
See external-action-modal.js |
|
*/ |
|
.modal { |
|
z-index: 100; |
|
} |
|
|
|
.modal__overlay { |
|
position: fixed; |
|
top: 0; |
|
left: 0; |
|
right: 0; |
|
bottom: 0; |
|
background: rgba(0,0,0,0.75); |
|
display: flex; |
|
justify-content: center; |
|
align-items: center; |
|
z-index: 10; |
|
} |
|
|
|
.modal__container { |
|
background-color: transparent; |
|
padding: 0px; |
|
max-width: 740px; |
|
height: 75vh; |
|
width: 50%; |
|
border-radius: 0px; |
|
overflow: hidden; |
|
box-sizing: border-box; |
|
} |
|
.modal__close { |
|
background: transparent; |
|
border: 0; |
|
cursor: pointer; |
|
margin: 0px; |
|
padding: 0px; |
|
outline: none; |
|
cursor: pointer !important; |
|
} |
|
.modal__close:before { content: "\2715"; font-size: 1.25rem; } |
|
|
|
@supports (display: flex) { |
|
.modal__header { |
|
display: flex; |
|
justify-content: space-between; |
|
align-items: center; |
|
height:initial; |
|
} |
|
.modal__title { |
|
position: static; |
|
} |
|
.modal__close { |
|
position: static; |
|
} |
|
} |
|
|
|
/************************** |
|
Modal Animation Style |
|
**************************/ |
|
|
|
@keyframes mmfadeIn { |
|
from { opacity: 0; } |
|
to { opacity: 1; } |
|
} |
|
|
|
@keyframes mmfadeOut { |
|
from { opacity: 1; } |
|
to { opacity: 0; } |
|
} |
|
|
|
@keyframes mmslideIn { |
|
from { transform: translateY(15%); } |
|
to { transform: translateY(0); } |
|
} |
|
|
|
@keyframes mmslideOut { |
|
from { transform: translateY(0); } |
|
to { transform: translateY(-10%); } |
|
} |
|
|
|
.micromodal-slide { |
|
display: none; |
|
} |
|
|
|
.micromodal-slide.is-open { |
|
display: block; |
|
} |
|
|
|
.micromodal-slide[aria-hidden="false"] .modal__overlay { |
|
animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1); |
|
} |
|
|
|
.micromodal-slide[aria-hidden="false"] .modal__container { |
|
animation: mmslideIn .3s cubic-bezier(0, 0, .2, 1); |
|
} |
|
|
|
.micromodal-slide[aria-hidden="true"] .modal__overlay { |
|
animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1); |
|
} |
|
|
|
.micromodal-slide[aria-hidden="true"] .modal__container { |
|
animation: mmslideOut .3s cubic-bezier(0, 0, .2, 1); |
|
} |
|
|
|
.micromodal-slide .modal__container, |
|
.micromodal-slide .modal__overlay { |
|
will-change: transform; |
|
} |
|
|
|
/* Miromodal mobile styling */ |
|
@media only screen and (min-device-width : 600px) and (max-device-width : 480px) { |
|
.modal__container { |
|
width: 90% !important; |
|
min-width: 90% !important; |
|
} |
|
@supports (display: flex) { |
|
.modal__container { |
|
width: 90% !important; |
|
min-width: 90% !important; |
|
height: 85vh; |
|
} |
|
} |
|
.modal__content { |
|
-webkit-overflow-scrolling: touch; |
|
} |
|
}
|
|
|