* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    width: 100vw;
    height: fit-content;
    display: flex;
    align-items: center;
    flex-direction: column;
    background: var(--bg);
    overflow-x: clip;
}

section {
    position: relative;
    width: 100vw;
    height: fit-content;
    display: flex;
    align-items: center;
    flex-direction: column;
    background: var(--bg);
    padding: 0 calc((100vw - var(--content-width)) / 2);
}

h1,
h2 {
    font-family: var(--font-family);
    color: var(--primary-white-text);
    text-transform: uppercase;
    font-weight: lighter;
    font-size: var(--h1-font-size);
    text-align: center;
}
h2 {
    font-size: var(--h2-font-size);
    font-weight: normal;
}
span,
p,
th,
td,
a,
li,
footer {
    font-family: var(--font-family);
    color: var(--secondary-white-text);
    font-weight: lighter;
    font-size: calc(19px + 0.4vw + 0.2vh);
}

ul {
    margin-top: 12px;
    border-top: 1px solid #23232b;
}
li {
    font-weight: normal;
}

th {
    font-weight: bolder;
    color: var(--theme-color);
}

tr > td:first-of-type {
    font-weight: normal;
    padding-right: 16px;
}


a {
    color: var(--link-color);
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
    filter: brightness(1.3);
}


table {
    border-collapse: collapse;
}
th,
td {
    border: 1px solid #23232b;
    padding: 0 6px;
}


.section-divider {
    width: 100vw;
    height: 90px;
    background: var(--bg);
}


.line {
    background: var(--theme-color);
    height: 1px;
}
.line:has(+ h1) {
    width: 20vw;
    margin-top: 4px;
}
h1 + .line {
    width: 12vw;
    margin-bottom: 32px;
}


.katex,
.katex * {
    font-family: "KaTeX_Main", "Times New Roman", sans-serif !important;
}


.content {
    width: 100%;
}


.img-container {
    position: relative;
    display: inline-block;
    overflow: hidden;
}
.img-container img {
  display: block;
}
.img-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  box-shadow: inset 0 15px 40px 2px var(--bg);
  pointer-events: none; /* drag img */
}

footer {
    margin-top: 8px;
    font-size: 19px;
    color: var(--dark-text);
    font-style: italic;
}
