web-workout/style.css

237 lines
5.4 KiB
CSS

:root {
--table-border: #ccc;
--table-grade-top: #eee;
--table-grade-bottom: #ddd;
--table-shadow: #ccc;
--table-active: #04a;
--table-active-grade: #037;
--indicator-pending: #aaa;
--indicator-pending-grade: #888;
--indicator-active: #04a;
--indicator-active-grade: #03a;
--indicator-done: #5a5;
--indicator-done-grade: #282;
}
html {
font-family: "Roboto", sans-serif;
font-optical-sizing: auto;
font-size: 16px;
}
/* Dimensions for mobile screen */
.workout-wrapper {
width: 90%;
}
.workout-wrapper.done {
display: none;
}
.workout-wrapper table {
width: 97%;
}
.workout-wrapper input[type=checkbox] {
transform: scale(1.5);
}
/* Styles for larger screens (e.g., tablets and desktops) */
@media (min-width: 1200px) {
body {
font-size: 20px;
}
.workout-wrapper {
width: 1200px;
}
.workout-wrapper table {
width: 90%;
}
}
.workout-wrapper {
margin: auto;
padding: 1.5em;
}
.workout-wrapper h1 {
font-family: "Boldonse", system-ui;
font-weight: 400;
font-style: normal;
text-align: center;
text-decoration: underline var(--indicator-pending) solid 0.2em;
}
.workout-wrapper h1.done {
text-decoration: underline var(--indicator-done) solid 0.2em;
}
.workout-wrapper table {
margin-left: auto;
margin-right: auto;
margin-top: 2em;
margin-bottom: 1em;
border-spacing: 0px;
border-collapse: collapse;
box-shadow: 1px 1px 7px var(--table-shadow);
}
.workout-wrapper table caption {
font-family: "Boldonse", system-ui;
font-weight: 200;
font-style: normal;
font-size: 1.5em;
text-align: left;
padding: 7px 7px 7px 10px;
font-weight: bold;
border: thin solid var(--table-border);
margin: 0;
border-radius: 0.3em 0.3em 0 0;
background: linear-gradient(var(--table-grade-top), var(--table-grade-bottom));
box-shadow: 1px 1px 7px var(--table-shadow);
}
.workout-wrapper .set-table thead tr {
border: thin solid var(--table-border);
}
.workout-wrapper .set-table tbody tr {
border-bottom: thin solid var(--table-border-top);
}
.workout-wrapper .set-table tbody tr.active {
background: linear-gradient(var(--table-active), var(--table-active-grade));
color: white;
border: 1px solid var(--table-active);
box-shadow: 1px 1px 10px var(--table-active);
}
.workout-wrapper .set-table td,
.workout-wrapper .set-table th {
text-align: left;
padding: 5px;
}
.workout-wrapper .set-table th {
background-color: var(--table-border);
}
.workout-wrapper .set-table .col-status {
width: 20%;
}
.workout-wrapper .set-table .col-name {
width: 80%;
font-weight: bold;
}
/* Workout indicator */
.workout-wrapper .progress-indicator {
display: inline-block;
white-space: pre-wrap;
width: 1em;
line-height: 1em;
border: thin solid gray;
border-radius: 0.7em;
font-size: 0.5em;
vertical-align: middle;
margin-left: 1em;
}
.workout-wrapper .progress-indicator.active {
background: linear-gradient(var(--indicator-active), var(--indicator-active-grade));
border: 1px solid var(--indicator-active);
box-shadow: 1px 1px 7px var(--indicator-active-grade);
}
.workout-wrapper .progress-indicator.pending {
background: linear-gradient(var(--indicator-pending), var(--indicator-pending-grade));
border: 1px solid var(--indicator-pending);
box-shadow: 1px 1px 7px var(--indicator-pending-grade);
}
.workout-wrapper .progress-indicator.done {
background: linear-gradient(var(--indicator-done), var(--indicator-done-grade));
border: 1px solid var(--indicator-done);
box-shadow: 1px 1px 7px var(--indicator-done-grade);
}
/* Global */
.workout-wrapper #app_debug_div {
border: thin dotted blue;
color: grey;
}
/* Workout done sheet that covers everything */
#workout-done {
position: fixed;
top: 0%;
left: 0%;
height: 100%;
width: 100%;
background-color: rgba(200,200,200,0.5);
z-index: 2000;
backdrop-filter: blur(0.5em);
}
#workout-done .workout-done-txt {
position: absolute;
top: 45%;
width: 100%;
text-align: center;
font-family: "Boldonse", system-ui;
font-weight: 400;
font-size: xx-large;
color: white;
text-shadow: var(--indicator-done-grade) 0.5em 0.5em 1em;
}
/* Floating Action Buttons */
#fab-wrapper {
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
z-index: 1000;
}
#fab-wrapper .fab-button {
display: inline-block;
white-space: pre-wrap;
border-radius: 50%;
font-size: 1em;
text-align: center;
vertical-align: middle;
margin: 0;
padding: 0;
cursor: pointer;
}
#fab-wrapper #fab-regress {
border: 0.4em solid gray;
width: 3em;
height: 3em;
}
#fab-wrapper #fab-regress:after {
content: '';
display: inline-block;
width: 0.8em;
height: 0.8em;
margin-top: 0.2em;
margin-left: 0.2em;
border-top: 0.4em solid gray;
border-right: 0.4em solid gray;
transform: rotate(-135deg);
}
#fab-wrapper #fab-advance {
border: 0.4em solid gray;
width: 4em;
height: 4em;
margin-left: 1em;
}
#fab-wrapper #fab-advance:after {
content: '';
display: inline-block;
width: 1.2em;
height: 1.2em;
margin-bottom: -0.2em;
margin-right: 0.6em;
border-top: 0.4em solid gray;
border-right: 0.4em solid gray;
transform: rotate(45deg);
}