*,
*::before,
*::after {
    box-sizing: border-box;
}

* {
    margin: 0;
}

.page-wrapper {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

.garmin-section {
    height: 100%;
    flex-grow: 1;
    padding-bottom: 1rem;
}

.hidden {
    display: none;
}

img,
svg {
    display: block;
    max-width: 100%;
}

input,
button,
textarea,
select {
    font: inherit;
}

h1 {
    letter-spacing: .05rem;
}

p,
h1,
h2,
h3,
h4,
h5,
h6 {
    overflow-wrap: break-word;
}

body,
p,
ol,
ul,
h1 {
    font-family: Roboto, sans-serif;
}

body {
    overflow: auto;
}

h2,
h3,
h4,
h5,
h6 {
    font-family: Oswald, sans-serif;
}

input:focus,
select:focus-visible,
textarea:focus-visible {
    border-color: #000000;
    outline: none;
}

.required-star {
    color: #920000;
    padding-left: 0.25rem;
    font-size: .9rem;
}

label {
    font-size: .9rem;
    font-weight: 700;
    text-align: left;
    line-height: 2rem;
}

input,
textarea {
    display: block;
    border: 1px solid #d9d9d9;
    border-radius: 0;
    font-size: 1rem;
    line-height: 1.15;
    padding: 0.875em;
    width: 100%;
    height: auto;
    color: #000;
}

input {
    transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out, -webkit-box-shadow .15s ease-in-out;
}

input.added {
    border-color: #38b151;
    padding-right: calc(1.5em + 0.75rem);
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8'%3E%3Cpath fill='%2338b151' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right calc(0.375em + 0.1875rem) center;
    background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

select {
    border-radius: 0;
    font-size: .9rem;
    color: #000000;
    outline: 0;
    width: 100%;
    height: auto;
    background-color: #ffffff;
    border: 1px solid #d9d9d9;
    margin: 0.3rem 0 0.3rem 0;
    padding: 0.875em 3em 0.875em 0.875em;
}

ul,
li {
    list-style: none;
}

@media only screen and (min-width: 768px) {
    select {
        font-size: 1rem;
    }
}