/* Box sizing */
html {
box-sizing: border-box;
}
*, *:before, *:after {
box-sizing: inherit;
}
/* Constants */
:root {
--color-active: #F3E87F;
--color-active-hover: #FBEF81;
--color-header: brown;
--color-header-darker: #822929;
--color-highlight: #888888;
--color-title: brown;
/* Form */
--color-label: #333333;
--color-button: #333333;
--color-button-hover: #555555;
--color-input-border: #CCCCCC;
--color-focus: orange;
/* Timer */
--color-timer-arc-total: #222222;
--color-timer-hover: #DDEEDD;
--color-warm-up: #C679D9;
--color-prepare: #3B6EDC;
--color-work: #71B571;
--color-rest: #B15B5B;
--base-font-size: 18px;
}
@media all and (max-width: 800px) {
:root {
--base-font-size: 14px;
}
}
/* Layout */
html {
font-size: var(--base-font-size);
}
body {
margin: 0;
}
.g-Layout__Page {
height: 100vh;
overflow-y: auto;
}
.g-Layout__Header {
background-color: var(--color-header);
color: white;
padding: 1rem 2rem;
font-size: 2rem;
border-bottom: 0.1rem solid var(--color-header-darker);
}
/* Config */
.g-Form {
display: flex;
flex-direction: column;
align-items: center;
padding-top: 2rem;
background-color: white;
}
.g-Form__Section {
display: flex;
flex-direction: column;
align-items: center;
padding: 1rem 0;
}
.g-Form__Tabatas {
display: flex;
flex-direction: column;
width: 17rem;
}
.g-Form__Line {
display: flex;
align-items: flex-end;
margin-bottom: 2rem;
}
.g-Form__Title {
text-align: center;
}
.g-Form__Label {
display: flex;
flex-direction: column;
align-items: flex-start;
margin-bottom: 1rem;
text-align: center;
margin: 0 1rem;
color: var(--color-label);
line-height: 2rem;
}
.g-Form__Tabata {
display: grid;
grid-template-columns: auto auto;
grid-gap: 1rem;
margin-bottom: 1rem;
}
.g-Form__Operator {
padding-bottom: 0.3rem;
}
.g-Form__NumberInput {
width: 5rem;
}
.g-Form__TabataInput {
width: 10rem;
}
.g-Form__Duration {
text-align: center;
font-size: 1.5rem;
margin-bottom: 1rem;
}
/* Timer */
.g-Timer {
display: grid;
grid-template-columns: 10% auto 10%;
grid-template-rows: 10% auto 10% 10% 10%;
color: black;
}
.g-Timer--WarmUp {
background-color: var(--color-warm-up);
color: white;
}
.g-Timer--Work {
background-color: var(--color-work);
color: white;
}
.g-Timer--Rest {
background-color: var(--color-rest);
color: white;
}
.g-Timer--Prepare {
background-color: var(--color-prepare);
color: white;
}
.g-Timer__Pause {
background-color: var(--color-highlight);
}
.g-Timer__Dial {
display: flex;
align-items: center;
justify-content: center;
flex-direction: column;
white-space: pre-wrap;
text-align: center;
line-height: 6rem;
width: 100%;
height: 100%;
grid-row: 2;
grid-column: 2;
background-color: transparent;
color: inherit;
font-size: 3rem;
position: relative;
border: none;
}
.g-Timer__Arc {
width: inherit;
height: inherit;
position: absolute;
top: 0;
left: 0;
}
.g-Timer__ArcTotal {
stroke: var(--color-timer-arc-total);
fill: none;
stroke-width: 20;
}
.g-Timer__ArcPrepare {
stroke: var(--color-prepare);
fill: none;
stroke-width: 18;
}
.g-Timer__ArcWarmUp {
stroke: var(--color-warm-up);
fill: none;
stroke-width: 18;
}
.g-Timer__ArcWork {
stroke: var(--color-work);
fill: none;
stroke-width: 18;
}
.g-Timer__ArcRest {
stroke: var(--color-rest);
fill: none;
stroke-width: 18;
}
.g-Timer__ArcProgress {
stroke: var(--color-active);
fill: none;
stroke-width: 18;
}
.g-Timer__Buttons {
display: flex;
justify-content: space-around;
grid-row: 4;
grid-column: 2;
width: 100%;
height: 100%;
}
/* Titles */
h1 {
font-weight: normal;
color: var(--color-title);
margin-top: 0;
text-decoration: underline;
}
/* Input */
.g-Input {
display: block;
font-size: inherit;
padding: 0.3rem;
border: 0.1rem solid var(--color-input-border);
}
.g-Input:focus {
border-color: var(--color-focus);
}
/* Button */
.g-Button {
display: inline-flex;
justify-content: center;
align-items: center;
text-decoration: none;
font-size: inherit;
background-color: var(--color-button);
border: 0.1rem solid var(--color-button);
color: white;
padding: 0.5rem 0.8rem;
cursor: pointer;
}
.g-Button:hover {
background-color: var(--color-button-hover);
}
.g-Button:focus {
border-color: var(--color-focus);
}
.g-Button--Active {
background-color: var(--color-active);
color: black;
}
.g-Button--Active:hover {
background-color: var(--color-active-hover);
color: black;
}
/* List */
.g-List {
margin: 0;
padding: 0;
}