-
Giovanni Caruso authoredGiovanni Caruso authored
styles.css 7.87 KiB
html,
body {
height: 100%;
}
body {
background-color: black;
margin: 0;
display: flex;
flex-direction: column;
}
#canvas {
width: calc(100vw - 8px);
background-color: white;
border: 4px solid red;
flex-grow: 1;
}
#tools-panel {
padding-top: 8px;
display: flex;
align-items: center;
}
#connected-room-info {
display: none;
color: white;
flex: 1;
text-align: right;
}
button.selected {
background-color: gray !important;
}
#top-panel {
padding: 8px;
}
.top-bar {
background-color: black;
width: 100%;
height: 36px;
display: flex;
align-items: stretch;
z-index: 999;
}
.dropdown {
position: relative;
display: inline-block;
}
.dropdown-peers {
background-color: #2f2f2f;
color: white;
font-size: 16px;
border: none;
cursor: pointer;
border-radius: 4px;
transition-duration: 0.4s;
height: 100%;
width: 36px;
}
.peers {
display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
z-index: 999;
padding: 16px;
}
.peers a {
color: black;
padding: 12px 16px;
text-decoration: none;
display: block;
}
.peers a:hover {
background-color: #f1f1f1;
}
#connected-peers {
white-space: nowrap;
list-style: none;
padding: 0 0 4px 0;
margin: 0;
}
@keyframes connected-peers-slide {
from {
transform: translateY(-10px);
}
to {
opacity: 1;
transform: translateY(0px);
}
}
#connected-peers li {
animation: connected-peers-slide 0.5s forwards;
border-bottom: 1px solid black;
padding: 4px 0;
opacity: 0;
}
#connected-peers li:nth-child(2) {
animation-delay: 0.125s;
}
#connected-peers li:nth-child(3) {
animation-delay: 0.25s;
}
#connected-peers li:nth-child(4) {
animation-delay: 0.375s;
}
#connected-peers li:nth-child(5) {
animation-delay: 0.5s;
}
#connected-peers li:nth-child(6) {
animation-delay: 0.625s;
}
#connected-peers li:nth-child(7) {
animation-delay: 0.75s;
}
#connected-peers li:nth-child(8) {
animation-delay: 0.875s;
}
#connected-peers li:last-child {
border-bottom-width: 0px;
}
.peer-status {
width: 15px;
height: 15px;
margin-left: 5px;
display: inline-block;
border-radius: 10px;
}
.peer-status.unsynced {
background-color: gray;
}
@keyframes peer-status-negotiating {
from {
background-color: gray;
}
50%,
to {
background-color: orange;
}
}
.peer-status.negotiating {
animation: peer-status-negotiating 0.5s step-end infinite;
background-color: orange;
}
.peer-status.synced {
background-color: green;
}
.dropdown:hover .peers {
display: block;
}
.dropdown:hover .dropdown-peers {
background-color: #4f4f4f;
}
#overall-status-icon {
pointer-events: none;
border-radius: 50%;
width: 16px;
height: 16px;
padding: 4px;
margin-left: -18px;
margin-top: -4px;
z-index: 0;
}
@keyframes overall-status-synchronising {
to {
transform: rotate(-360deg);
}
}
#overall-status-icon.synchronising {
background-color: orange;
animation: overall-status-synchronising 2s linear infinite;
}
#overall-status-icon.synchronised {
background-color: green;
}
#overall-status-icon-img {
height: inherit;
}
#room-id {
flex: 1;
padding: 10px;
margin: 0 8px;
box-sizing: border-box;
opacity: 0.8;
border-radius: 4px;
}
#room-connect {
background-color: #2f2f2f;
color: white;
padding: 8px;
font-size: 12px;
border: none;
cursor: pointer;
border-radius: 4px;
}
#pen-tool {
background-color: #2f2f2f;
color: white;
padding: 10px;
font-size: 16px;
border: none;
cursor: pointer;
border-radius: 50%;
margin-right: 8px;
}
#pen-tool:hover {
background-color: #4f4f4f !important;
transition-duration: 0.4s;
}
#eraser-tool {
background-color: #2f2f2f;
color: white;
padding: 10px;
font-size: 16px;
border: none;
cursor: pointer;
border-radius: 50%;
}
#eraser-tool:hover {
background-color: #4f4f4f !important;
transition-duration: 0.4s;
}
.properties {
display: none;
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0, 0, 0);
background-color: rgba(0, 0, 0, 0.4);
}
.pen-contents {
position: relative;
background-color: #fefefe;
margin: auto;
padding: 0;
border: 1px solid #888;
width: 80%;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
animation-name: animatetop;
animation-duration: 0.4s;
font-family: "Martel", sans-serif;
}
.close {
color: white;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
.pen-header {
padding: 2px 16px;
background-color: #2f2f2f;
color: white;
}
.pen-body {
padding: 2px 16px;
display: flex;
align-items: center;
}
@keyframes animatetop {
from {
top: -300px;
opacity: 0;
}
to {
top: 0;
opacity: 1;
}
}
#rectangle {
height: 20px;
width: 30px;
background-color: blue;
}
.palette-selector {
position: relative;
background-color: #fefefe;
margin: auto;
padding: 0;
border: 1px solid #888;
width: 500px;
height: 500px;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
font-family: "Martel", sans-serif;
}
.wheelPiece {
opacity: 0.8;
}
.wheelPiece:hover {
opacity: 1;
}
.wheel-header {
padding: 2px 16px;
background-color: #2f2f2f;
color: white;
text-align: center;
}
.slide-size {
width: 90%;
height: 20%;
margin-left: 2.2%;
}
.slider {
-webkit-appearance: none;
appearance: none;
width: 100%;
height: 25px;
background: #d3d3d3;
outline: none;
opacity: 0.7;
-webkit-transition: 0.2s;
transition: opacity 0.2s;
margin-top: 30px;
}
.slider:hover {
opacity: 1;
}
.slider::-webkit-slider-thumb {
-webkit-appearance: none;
appearance: none;
width: 25px;
height: 25px;
background: #4f4f4f;
cursor: pointer;
}
.slider::-moz-range-thumb {
width: 25px;
height: 25px;
background: #4f4f4f;
cursor: pointer;
}
@media only screen and (max-width: 600px) {
.properties {
display: none;
position: fixed;
z-index: 1;
padding-top: 80px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgb(0, 0, 0);
background-color: rgba(0, 0, 0, 0.4);
}
.palette-selector {
position: relative;
background-color: #fefefe;
margin: auto;
padding: 0;
border: 1px solid #888;
width: 80%;
height: 80%;
box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
font-family: "Martel", serif;
}
.wheel-header {
padding: 2px 16px;
background-color: #2f2f2f;
color: white;
text-align: center;
}
}
#others {
margin-top: 2%;
display: flex;
align-items: center;
padding-left: 40%;
background-color: #3cbc8d;
color: white;
padding-top: 4px;
padding-bottom: 4px;
}
#other-colours {
background-color: #3cbc8d;
}
#colours {
background-color: blue;
height: 32px;
width: 64px;
border: 4px solid #555;
border-radius: 4px;
opacity: 0.5;
margin-left: 2%;
}
#colours:hover {
border: 4px solid #4f4f4f;
border-radius: 4px;
opacity: 1;
transition-duration: 0.4s;
}
#other-colours {
visibility: hidden;
}
@font-face {
font-family: "Martel";
font-style: normal;
font-weight: 400;
src: url("./assets/fonts/martel-v4-latin/martel-v4-latin-regular.eot");
src: local("Martel"), local("Martel-Regular"),
url("./assets/fonts/martel-v4-latin/martel-v4-latin-regular.eot?#iefix")
format("embedded-opentype"),
url("./assets/fonts/martel-v4-latin/martel-v4-latin-regular.woff2")
format("woff2"),
url("./assets/fonts/martel-v4-latin/martel-v4-latin-regular.woff")
format("woff"),
url("./assets/fonts/martel-v4-latin/martel-v4-latin-regular.ttf")
format("truetype"),
url("./assets/fonts/martel-v4-latin/martel-v4-latin-regular.svg#Martel")
format("svg");
}