html { height: 100vh; } body { background-color: #eaeaea; margin: 0; min-height: 100vh; padding-bottom: 50px; position: relative; } .App { padding-bottom: 20px; text-align: center; } .App-logo { animation: App-logo-spin infinite 20s linear; height: 80px; } .App-header { background-color: #222; height: 150px; padding: 20px; color: white; } .App-title { font-size: 1.5em; } .App-intro { font-size: large; } .App-nav-profile-img { max-width: 32px; max-height: 32px; border-radius: 50%; } .App-profile-img-small { max-width: 150px; max-height: 150px; border-radius: 50%; } @keyframes App-logo-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } a { color: #40578a; } input[type="text"], textarea { width: 100%; } label { width: 100%; } .add-workout { margin-top: 50px; } .add-workout-radio { margin-right: 10px; } .admin-img { max-width: 35px; max-height: 35px; } .admin-items { list-style-type: square; } .admin-message { color: #7c7c7d; font-size: 0.9em; font-style: italic; margin-left: 10px; } .app-config-form label { font-weight: bold; } .btn { margin-right: 10px; } .card { text-align: left; } .chart { font-size: 0.9em; } .chart-workouts { margin-left: 60px; } .chart-arrows { margin-top: 7px; } .chart-filters { padding-bottom: 10px; } .chart-info { font-size: 0.8em; font-style: italic; } .chart-radio { display: flex; font-size: 0.9em; } .chart-radio label { /* display: flex; */ } .chart-radio input { margin-right: 10px; } .chart-stats { font-size: 0.8em; } .chart-title { font-size: 1.1em; margin-bottom: 10px; } .col-workout-logo{ padding-right: 0; } .custom-modal { background-color: #fff; border-radius: 5px; max-width: 500px; margin: 20% auto; z-index: 1250; } .custom-modal-backdrop { position: fixed; top: 0; bottom: 0; left: 0; right: 0; background-color: rgba(0,0,0,0.3); padding: 50px; z-index: 1240; } .custom-fa { margin-right: 5px; } .custom-fa-small { font-size: 0.8em; margin-left: -0.8em; } @media only screen and (max-width: 992px) { .custom-fa-small { font-size: 0.6em; } } .custom-tooltip { background-color: #fff; border: 1px solid lightgrey; padding: 10px; } .custom-tooltip p { margin: 5px; } .custom-tooltip-label { font-weight: bold; } .dashboard { height: 100%; } .dashboard, .history { margin-top: 30px; } .dropdown-wrapper { width: 50px; } .dropdown-list { background-color: #f8f9fa; padding: 5px 0; position: absolute; text-align: left; z-index: 10; } .dropdown-item { cursor: default; font-size: 0.9em; } .dropdown-item-selected { font-weight: bold; } .dropdown-item-selected::after { content: " ✔"; } .error-message { margin: 10px 0; } .fa-as-link { cursor:pointer; color: #40578a; } .fa-as-link:hover { color: #0056b3; } .fa-question-circle { color: #6c757d; margin-left: 3px; } .fa-trophy { color: goldenrod; } .fa-color { color: #405976; } .footer { background-color: #f8f9fa; bottom: 0; color: #8b8c8c; font-size: 0.9em; height: 50px; line-height: 50px; position: absolute; width: 100%; } /* Chrome, Safari, Edge, Opera */ .form-disabled .form-group input::-webkit-outer-spin-button, .form-disabled .form-group input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; } /* Firefox */ .form-disabled .form-group input[type=number] { -moz-appearance: textfield; } .form-disabled .form-group input{ border: none; pointer-events: none; } .gpx-file { height: inherit; } .huge { font-size: 25px; } .i18n-flag svg { height: 100%; opacity: .9; width: 15px; } .inactive-link { color: lightgrey; } .leaflet-container { height: 400px; } .loader { animation: spin 2s linear infinite; border: 8px solid #f3f3f3; border-top: 8px solid #3498db; border-radius: 50%; height: 60px; margin-left: 41%; width: 60px; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .map-attribution { bottom: 0; font-size: 11px; position: absolute; } .map-attribution-text { background-color: rgba(255, 255, 255, .5); padding-left: 2px; padding-right: 2px; } .no-picture { color: #405976; } .page-title { font-size: 2em; margin: 1em; text-align: center; } .password-forget { margin: 10px; font-size: .9em; font-style: italic; } .radioLabel { text-align: center; } .record-logo { margin-right: 5px; max-width: 25px; max-height: 25px; } .record-table table, .record-table th, .record-table td{ font-size: 0.9em; padding: 0.1em; } .remaining-chars { font-size: 0.8em; font-style: italic; } .sport-img { max-width: 35px; max-height: 35px; } .sport-img-medium { max-width: 45px; max-height: 45px; } .stats-disabled { opacity: 0.3; pointer-events: none; } .svg-icon { fill: #405976; height: 70px; margin-left: auto; margin-right: auto; width: 70px; } .time-frames { align-items: center; display: inline-flex; } .time-frame label { float: left; padding: 0 5px; } .time-frame label input { display: none; } .time-frame label span { border: #a9a9a9 solid 1px; border-radius: 9%; color: #7b7b7b; display: block; font-size: 0.9em; padding: 2px 6px; text-align: center; } .time-frame input:checked + span { background-color: #a9a9a9; color: #ffffff; } .timezone-custom { font-size: .9em !important; height: inherit !important; } .timezone-custom input { border: 0 !important; padding: 5px 1px !important; } .timezone-custom ul { background: white; } .timezone-picker { padding: 0; } .timezone-picker-textfield { font-size: 15px; } .unlink { color: black; } .user-bio, .workout-notes { white-space: pre-wrap; } .user-filters { font-size: 0.9em; margin-bottom: 10px; } .user-label { font-weight: bold; } .weather-img { max-width: 35px; max-height: 35px; } .weather-img-small { max-width: 20px; max-height: 20px; } .weather-table { margin-bottom: 0; } .weather-table table, .weather-table th, .weather-table td{ font-size: 0.9em; padding: 0.1em; } .workouts-result { font-size: 0.85em; } .workout-card { margin-bottom: 15px; } .workout-details { font-size: 0.95em; } .workout-date { font-size: 0.75em; } .workout-filter { font-size: 0.9em; } .workout-filter .col-2, .col-5{ padding: 0; } .workout-label { font-size: 0.8em; color: #666 } .workout-logo { margin: 0 5px; max-width: 20px; max-height: 20px; } .workout-map { background-color: #eaeaea; height: 225px; width: 400px; } .workout-no-map { background-color: #eaeaea; color: #666666; font-style: italic; height: 400px; line-height: 400px; } .workout-notes, .actvity-segments { font-size: 0.9em; font-style: italic; margin-top: 10px; padding: 5px; } .workout-page { margin-top: 20px; } .workout-segments-list { list-style: square; } .workout-sport { margin-right: 1px; max-width: 18px; max-height: 18px; } .workout-title img, .workout-title .map-attribution-list { display: none; } .workout-title img { border: 1px solid lightgrey; border-radius: 4px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); display: none; margin-left: 20px; position: absolute; z-index: 1000; } .workout-title .map-attribution-list { display: none; font-size: 11px; margin-left: 20px; position: absolute; z-index: 1000; } .workout-title:hover img, .workout-title:hover .map-attribution-list { display: block; } /* responsive table */ /* adapted from https://uglyduck.ca/making-tables-responsive-with-minimal-css/ */ .heading-span, .heading-span-absolute { background: #eee; color: dimgrey; display: none; font-size: 10px; font-weight: bold; padding: 5px; text-transform: uppercase; top: 0; left: 0; } .heading-span-absolute { position: absolute; display: none; } @media(max-width: 1024px) { table thead { left: -9999px; position: absolute; visibility: hidden; } table tr { border-bottom: 0; display: flex; flex-direction: row; flex-wrap: wrap; margin-bottom: 40px; } table td { border: 1px solid lightgrey; margin: 0 -1px -1px 0; padding-top: 30px !important; position: relative; text-align: center; width: 50%; } .record-tr { margin-bottom: 0; } .record-td { padding-top: 0 !important; } .heading-span, .heading-span-absolute { display: block; } } /* calendar */ :root { --main-color: #1a8fff; --text-color: #777; --text-color-light: #ccc; --border-color: #eee; --bg-color: #f9f9f9; --neutral-color: #fff; } .calendar .col-start { justify-content: flex-start; text-align: left; } .calendar .col-center { justify-content: center; text-align: center; } .calendar .col-end { justify-content: flex-end; text-align: right; } .calendar { display: block; position: relative; width: 100%; background: var(--neutral-color); border: 1px solid var(--border-color); } .calendar .header { text-transform: uppercase; font-weight: 700; /*font-size: 115%;*/ padding: 0.5em 0; border-bottom: 1px solid var(--border-color); } .calendar .header .icon { cursor: pointer; transition: .15s ease-out; } .calendar .header .icon:hover { transform: scale(1.75); transition: .25s ease-out; color: var(--main-color); } .calendar .header .icon:first-of-type { margin-left: 1em; } .calendar .header .icon:last-of-type { margin-right: 1em; } .calendar .days { text-transform: uppercase; font-weight: 400; color: var(--text-color-light); font-size: 70%; padding: .75em 0; border-bottom: 1px solid var(--border-color); } .calendar .body .cell { position: relative; height: 3em; border-right: 1px solid var(--border-color); background: var(--neutral-color); } .calendar .body .cell:hover { background: var(--bg-color); } .calendar .body .selected { border-left: 10px solid transparent; border-image: linear-gradient(45deg, #1a8fff 0%,#53cbf1 40%); } .calendar .body .row { border-bottom: 1px solid var(--border-color); margin: 0; } .calendar .body .row:last-child { border-bottom: none; } .calendar .body .cell:last-child { border-right: none; } .calendar .body .cell .number { position: absolute; font-size: 82.5%; line-height: 1; top: .75em; right: .75em; font-weight: 700; } .calendar .body .disabled { color: var(--text-color-light); pointer-events: none; } .calendar .body .col { flex-grow: 0; flex-basis: calc(100%/7); width: calc(100%/7); } .calendar .body .img-disabled { opacity: .4; } .calendar .body .weekend { background: #f5f5f5; } .calendar .body .today { background: #eff1f3; } .calendar-workout, .calendar-more { display: none; } .calendar-more { color: #405976; font-size: .7em; margin-left: 0.3em; } .calendar-display-more { background: whitesmoke; border-radius: 4px; box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19); margin-bottom: 10px; padding: 10px 15px; position: absolute; min-width: 52px; z-index: 1000; } .calendar-workout-more { display: none; } @media only screen and (max-width: 992px) { .calendar-workout:nth-child(-n+2), .calendar-workout:nth-child(n+3) ~ .calendar-more, .calendar-workout-more:nth-child(n+3) { display: inline-block; } } @media only screen and (min-width: 992px) and (max-width: 1200px) { .calendar-workout:nth-child(-n+4), .calendar-workout:nth-child(n+5) ~ .calendar-more, .calendar-workout-more:nth-child(n+5) { display: inline-block; } } @media only screen and (min-width: 1200px) { .calendar-workout:nth-child(-n+6), .calendar-workout:nth-child(n+7) ~ .calendar-more, .calendar-workout-more:nth-child(n+7) { display: inline-block; } }