h1, h2, h3, h4, h5, h6,
dt, label, input[type="text"], input[type="number"],
p, .type-h1, .type-h2, .type-h3, .type-h4, .type-h5, .type-h6,
.type-headline-lg, .type-headline-md, .type-headline-sm,
.type-title-lg, .type-title-md, .type-title-sm,
.type-label-lg, .type-label-md, .type-label-sm,
.type-body, .subtitle {
    font-family: "Lexend Deca", sans-serif;
    -webkit-font-smoothing: subpixel-antialiased;
}

h1, .type-h1, .type-headline-lg {
    font-size: 51.43px;
    line-height: 52px;
    font-weight: 700;
    letter-spacing: -2px;
}
h2, .type-h2, .type-headline-md {
    font-size: 34.29px;
    line-height: 40px;
    font-weight: 700;
    letter-spacing: -1px;
}
h3, .type-h3, .type-headline-sm {
    font-size: 22.86px;
    line-height: 28px;
    font-weight: 700;
}
h4, .type-h4, .type-title-lg {
    font-size: 22.86px;
    line-height: 28px;
    font-weight: 700;
    text-transform: uppercase;
}
h5, .type-h5, .type-title-md {
    font-size: 20px;
    line-height: 26px;
    font-weight: 700;
    text-transform: uppercase;
}
h6, dt, .type-h6, .type-title-sm {
    font-size: 17.14px;
    line-height: 24px;
    font-weight: 700;
    text-transform: uppercase;
}

label, input[type="text"], input[type="number"], .type-label-lg {
    font-size: 17.14px;
    line-height: 20px;
    font-weight: 500;
}
.type-label-md {
    font-size: 14.29px;
    line-height: 18px;
    font-weight: 500;
}
.type-label-sm {
    font-size: 11.43px;
    line-height: 12px;
    font-weight: 500;
}

p, .type-body {
    font-size: 17.14px;
    line-height: 28px;
    font-weight: 500;
}

/* alignment fixes */
h1::before, .type-h1::before, .type-headline-lg::before { margin-bottom: -0.1806em; }
h1::after,  .type-h1::after,  .type-headline-lg::after  { margin-top: -0.1306em; }
h2::before, .type-h2::before, .type-headline-md::before { margin-bottom: -0.2583em; }
h2::after,  .type-h2::after,  .type-headline-md::after  { margin-top: -0.2083em; }
h3::before, .type-h3::before, .type-headline-sm::before { margin-bottom: -0.2875em; }
h3::after,  .type-h3::after,  .type-headline-sm::after  { margin-top: -0.2375em; }
h4::before, .type-h4::before, .type-title-lg::before { margin-bottom: -0.2875em; }
h4::after,  .type-h4::after,  .type-title-lg::after  { margin-top: -0.2375em; }
h5::before, .type-h5::before, .type-title-md::before { margin-bottom: -0.325em; }
h5::after,  .type-h5::after,  .type-title-md::after  { margin-top: -0.275em; }
h6::before, dt::before, .type-h6::before, .type-title-sm::before { margin-bottom: -0.375em; }
h6::after,  dt::after,  .type-h6::after,  .type-title-sm::after  { margin-top: -0.325em; }

.type-label-lg::before { margin-bottom: -0.2583em; }
.type-label-lg::after  { margin-top: -0.2083em; }
.type-label-md::before { margin-bottom: -0.305em; }
.type-label-md::after  { margin-top: -0.255em; }
.type-label-sm::before { margin-bottom: -0.2em; }
.type-label-sm::after  { margin-top: -0.15em; }

p::before, .type-body::before { margin-bottom: -0.4917em; }
p::after,  .type-body::after  { margin-top: -0.4417em; }

h1::before, h1::after,
h2::before, h2::after,
h3::before, h3::after,
h4::before, h4::after,
h5::before, h5::after,
h6::before, h6::after,
dt::before, dt::after,
.type-h1::before, .type-h1::after,
.type-h2::before, .type-h2::after,
.type-h3::before, .type-h3::after,
.type-h4::before, .type-h4::after,
.type-h5::before, .type-h5::after,
.type-h6::before, .type-h6::after,
.type-headline-lg::before, .type-headline-lg::after,
.type-headline-md::before, .type-headline-md::after,
.type-headline-sm::before, .type-headline-sm::after,
.type-title-lg::before, .type-title-lg::after,
.type-title-md::before, .type-title-md::after,
.type-title-sm::before, .type-title-sm::after,
.type-label-lg::before, .type-label-lg::after,
.type-label-md::before, .type-label-md::after,
.type-label-sm::before, .type-label-sm::after,
p::before, p::after, .type-body::before, .type-body::after {
    content: "";
    display: table;
}

.highlight-higheffort {
    position: relative;
    overflow: hidden;
    background-color: #ffd700 !important;
    color: black !important;
    transition: background-color 0.3s;
}
.highlight-higheffort:hover { background-color: #fddc5c !important; }
.highlight-higheffort::before {
    content: "";
    position: absolute;
    background-color: rgba(0,0,0,0.05) !important;
    transition: width 0.5s ease;
    z-index: 1;
}
.highlight-higheffort:hover::before { width: 100%; }
.highlight-higheffort::after {
    content: "";
    position: absolute;
    top: 0; left: -75%;
    width: 50%; height: 100%;
    background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0) 100%);
    transform: skewX(-20deg);
    z-index: 2;
    pointer-events: none;
    opacity: 0;
}
.highlight-higheffort:hover:not(.active)::after {
    animation: shine 1s ease-out;
    opacity: 1;
}
.highlight-higheffort > * { position: relative; z-index: 3; }
.active .highlight-higheffort { background-color: #f5bf03 !important; color: black !important; }
td.level .active button:not(.highlight-higheffort) {
    background-color: black !important;
    color: white !important;
}

@keyframes shine {
    from { left: -75%; }
    to   { left: 125%; }
}

.red-id { color: #F42C2E; }
.yellow-id { color: #fbff12; }

.meta-container p, .meta-container a:not(h3 a) { font-weight: 400; }

.bold-line, .mainlist-placement { font-weight: 600 !important; }
