Files
kopyl.dev/src/components/Controls.module.css

113 lines
1.7 KiB
CSS

.Controls {
position: fixed;
background: var(--clr-bg-secondary);
left: var(--gap-sm);
top: 50%;
transform: translateY(-50%);
padding: var(--gap-sm);
border-radius: var(--radius-md);
width: 64px;
z-index: 10;
}
.chapters {
position: relative;
height: calc(70px * 3);
width: 100%;
margin-bottom: var(--gap-md);
}
.controlsWrapper, .gooWrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.gooWrapper {
filter: url('#goo');
}
.control, .blob {
position: absolute;
left: 50%;
transform: translateX(-50%);
cursor: pointer;
}
.control {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: auto;
padding: var(--gap-sm);
box-sizing: border-box;
}
.control > img {
width: 100%;
}
.blob {
background: var(--clr-bg);
border-radius: 20px;
aspect-ratio: 1/1;
transition: width .6s, height .6s, transform .6s;
width: 0;
height: 0;
}
.selected {
width: 64px;
height: 64px;
transform: translateX(-50%);
}
.control:nth-child(2), .blob:nth-child(2) {
top: 70px;
}
.control:nth-child(3), .blob:nth-child(3) {
top: calc(70px * 2);
}
@media screen and (max-width: 1080px) {
.Controls {
top: unset;
bottom: 0;
left: 0;
width: calc(100% - var(--gap-md));
height: 64px;
border-radius: 0;
transform: translateY(0);
}
.chapters {
width: calc(70px * 3);
height: 64px;
margin: auto;
}
.control, .blob {
top: 0;
left: 0;
transform: translateX(0);
}
.control, .control > img {
width: auto;
height: 100%;
}
.control:nth-child(2), .blob:nth-child(2) {
top: unset;
left: 70px;
}
.control:nth-child(3), .blob:nth-child(3) {
top: unset;
left: calc(70px * 2);
}
}