.pace-tracker { display: flex; flex-direction: column; justify-content: center; align-items: center; font-family: "ÐÇ¿Õ´«Ã½Sans-Regular", sans-serif; font-weight: normal; border: 1px solid var(--white); border-radius: 20px; box-shadow: 0 2px 8px 2px rgba(0, 0, 0, 0.14); padding: 10px; margin: 10px auto; max-width: 750px; --color-dark: #187ec6; --color-light: #cee8fa; --color-extra-dark: #0a4c7a; --black: #222; --white: #fdfdfd; --off-white: #aaa; } .bold { font-family: "ÐÇ¿Õ´«Ã½Sans-Bold", sans-serif; } .black { font-family: "ÐÇ¿Õ´«Ã½Sans-Black", sans-serif; } .pace-tracker .section { display: flex; flex-direction: column; justify-content: center; align-items: center; width: 100%; padding: 6px; background-color: var(--white); line-height: 1.25; /* border-top: 1px solid var(--black); */ } .pace-tracker .container { margin: 5px auto; display: flex; flex-direction: row; gap: 6px; text-align: center; align-items: center; justify-content: center; background: var(--white); } .pace-tracker .intro-title { font-size: 28px; text-align: center; } .pace-tracker .intro-text { font-size: 14px; text-align: center; margin: 5px 0 20px; } .pace-tracker .dropdown-container { position: relative; display: flex; align-items: center; justify-content: center; margin: 10px 0 0; width: 100%; } .pace-tracker select { font-family: "ÐÇ¿Õ´«Ã½Sans-Bold", Roboto, sans; font-size: 36px; text-align-last: center; border: none; border-radius: 25px; padding: 2px 4px; width: calc(100% - 20px); background-color: var(--color-light); box-shadow: 5px 5px 10px #eee, -5px -5px 10px #e1fdff33; cursor: pointer; -webkit-appearance: none; -moz-appearance: none; } .pace-tracker .section.note { width: calc(100% - 60px); font-size: 14px; background: rgba(225, 168, 27, 0.5); border-radius: 5px; padding: 10px; margin: 10px; } .section.note span { font-family: "ÐÇ¿Õ´«Ã½Sans-Bold", sans-serif; } .pace-tracker select option { -moz-appearance: none; font-family: inherit; } .pace-tracker .dropdown-arrow { height: 100%; width: 65px; position: absolute; right: 0; display: flex; align-items: center; justify-content: center; pointer-events: none; } .pace-tracker option { font-size: 18px; background-color: var(--white); font-family: "ÐÇ¿Õ´«Ã½Sans-Regular", Roboto, sans; } .pace-tracker .target-card { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; border-radius: 25px; background: var(--color-light); color: var(--black); margin: 5px; padding: 6px 0; overflow: hidden; } .target-card.inactive { opacity: 0.5; pointer-events: none; background: #dedede; } .pace-tracker .target-title { font-size: 22px; /* border-bottom: 2px solid #fdfdfd; */ width: 100%; text-align: center; padding: 5px 0; } .pace-tracker .section.target { display: flex; flex-direction: row; justify-content: space-evenly; align-items: stretch; } .pace-tracker .target-text { text-align: center; font-size: 18px; padding: 10px 20px; line-height: 1.4; display: flex; flex-direction: column; } .target-text > div { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; } .target-text > div > span { margin: 3px 5px; } .target-text span { /* font-family: "ÐÇ¿Õ´«Ã½Sans-Black", Roboto, sans; */ } .target-text span.date { font-family: "ÐÇ¿Õ´«Ã½Sans-Bold", Roboto, sans; color: var(--white); background: var(--color-dark); padding: 0px 8px; border-radius: 15px; white-space: nowrap; } .section.target .target-label { font-size: 12px; margin-top: 10px; } .section.target .current { font-size: 22px; margin-bottom: 2px; } .section.target .current > span { font-size: 12px; font-family: "ÐÇ¿Õ´«Ã½Sans-Regular", sans-serif; } .target-card > .toggle { color: var(--white); background: var(--color-dark); border-radius: 50px; margin: 8px; box-shadow: 0 0 0 4px var(--white); } .target-card.inactive .toggle { background-color: var(--white); opacity: 1; pointer-events: all; } .target-card.inactive .toggle > span { opacity: 0; } .target-card.inactive .toggle:hover { opacity: 0.75; box-shadow: 0 0 0 5px var(--white); } .pace-tracker .container input { font-family: Roboto, sans-serif; font-size: 32px; width: 70px; text-align: center; border: none; /* border-bottom: 2px dotted #222; */ border-radius: 0; background-color: transparent; -moz-appearance: textfield; } input::-webkit-outer-spin-button, input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } .radio-container .label { font-size: 12px; color: var(--off-white); } .pace-tracker .radio { display: flex; justify-content: center; gap: 20px; align-items: center; } .radio-option { cursor: pointer; user-select: none; border: none; border-radius: 50px; padding: 5px 12px; font-size: inherit; font-family: inherit; background-color: var(--white); box-sizing: border-box; border: 2px solid transparent; transition-duration: 0.05s; transition-property: border; letter-spacing: 0.4px; } .radio-option:hover { background: var(--color-light); } .radio-option.active { /* border: 2px solid var(--black); */ background-color: var(--color-dark); color: var(--white); font-family: "ÐÇ¿Õ´«Ã½Sans-Bold", sans-serif; letter-spacing: 0px; } .pace-tracker .number-input { /* border: 2px solid #222; */ padding: 4px 6px; border-radius: 50px; background: linear-gradient(145deg, #fff, #eee); box-shadow: 5px 5px 10px #bbd3e4, -5px -5px 10px #e1fdff33; } .pace-tracker .number-input > span { font-family: Roboto; font-size: 24px; margin-left: -15px; color: var(--black); } .pace-tracker .number-input button, .pace-tracker .toggle { cursor: pointer; display: flex; align-items: center; justify-content: center; text-align: center; border: none; padding: 6px; border-radius: 50px; background: var(--color-dark); color: var(--white); user-select: none; } /* CHART */ .chart svg { font-family: "ÐÇ¿Õ´«Ã½Sans-Regular", Roboto, sans; fill: #666; font-size: 10px; width: calc(100% - 40px); min-width: 350px; height: 300px; /* box-shadow: 0 0 2px 1px #ccc; */ } .chart svg .title text { fill: #222; text-anchor: middle; } .chart svg .legend text { font-size: 12px; } .chart svg .date-highlight.inactive { display: none; } .chart svg .date-highlight > text { text-anchor: middle; font-size: 14px; fill: var(--white); } .chart svg .date-highlight > rect { fill: var(--color-dark); rx: 10; } .chart svg .date-highlight > line { stroke-width: 4px; stroke: #bbb; /* stroke-dasharray: 2 2; */ } .chart svg .date-highlight > .percent-line { stroke-width: 3px; stroke: #ddd; } .chart svg .title text.sub-title { font-family: "ÐÇ¿Õ´«Ã½Sans-Regular", Roboto, sans; fill: #222; text-anchor: middle; } .chart svg .chart line { fill: none; stroke: #222; stroke-width: 1px; } .chart svg path, .chart svg .legend line { fill: none; stroke: var(--black); stroke-width: 4px; stroke-linecap: round; stroke-linejoin: round; } .chart svg path.first, .chart svg line.first { stroke: var(--color-dark); } .chart svg path.filled, .chart svg line.filled { fill: var(--color-light); stroke: none; } .chart svg path.fully, .chart svg line.fully { stroke: var(--color-extra-dark); } .chart .dashed, .chart svg .legend line.dashed { stroke-dasharray: 0 7; opacity: 1; } .chart line { shape-rendering: crispEdges; } .chart .y-axis line { stroke-dasharray: 2 4; stroke: #ddd; stroke-width: 1px; } .chart line.zero { stroke-dasharray: none; stroke: #999; } .chart .x-axis line { stroke: #999; } .chart .x-axis text { text-anchor: middle; } /* MATERIAL ICONS */ .material-icons { font-family: "Material Icons"; font-weight: normal; font-style: normal; font-size: 24px; /* Preferred icon size */ display: inline-block; line-height: 1; text-transform: none; letter-spacing: normal; word-wrap: normal; white-space: nowrap; direction: ltr; /* Support for all WebKit browsers. */ -webkit-font-smoothing: antialiased; /* Support for Safari and Chrome. */ text-rendering: optimizeLegibility; /* Support for Firefox. */ -moz-osx-font-smoothing: grayscale; /* Support for IE. */ font-feature-settings: "liga"; } /* Rules for sizing the icon. */ .material-icons.md-18 { font-size: 18px; } .material-icons.md-24 { font-size: 24px; } .material-icons.md-36 { font-size: 36px; } .material-icons.md-48 { font-size: 48px; } /* Rules for using icons as black on a light background. */ .material-icons.md-dark { color: rgba(0, 0, 0, 0.54); } .material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); } /* Rules for using icons as white on a dark background. */ .material-icons.md-light { color: rgba(255, 255, 255, 1); } .material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); } .material-icons.md-18 { font-size: 18px; } .material-icons.md-24 { font-size: 24px; } .material-icons.md-36 { font-size: 36px; } .material-icons.md-48 { font-size: 48px; } .material-icons.md-dark { color: rgba(0, 0, 0, 0.54); } .material-icons.md-dark.md-inactive { color: rgba(0, 0, 0, 0.26); } .material-icons.md-light { color: rgba(255, 255, 255, 1); } .material-icons.md-light.md-inactive { color: rgba(255, 255, 255, 0.3); } .material-icons.red { color: rgb(226, 40, 45); } .material-icons.yellow { color: rgb(225, 168, 27); } .material-icons.green { color: rgb(32, 147, 27); } @media only screen and (max-width: 600px) { .pace-tracker .target-title { font-size: 18px; } .section.target .current { font-size: 18px; } .section.target .target-label { font-size: 11px; margin-top: 9px; } .pace-tracker .container input { font-size: 28px; width: 50px; } .pace-tracker .number-input > span { font-family: Roboto; font-size: 18px; } .pace-tracker select { font-size: 26px; } .pace-tracker .target-text { font-size: 14px; } }