@import url("https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Google+Sans+Code:ital,wght@0,300..800;1,300..800&display=swap");

/* ---------- Theme Variables ---------- */
:root {
    /* Colors */
    --primary-color: #24384d;
    --secondary-color: #1f4d3a;
    --tertiary-color: #8e44ad;
    --line-number-color: #56c8f9;

    /* Fonts */
    --sans: "Inter";
    --mono: "Google Sans Code";
}

.remark-slide > .title {
    vertical-align: middle;
    text-align: center;
}

.remark-slide-content {
    font-family: var(--sans);
    font-size: 1.75rem;
    font-weight: 400;
    color: var(--primary-color);
}

.remark-slide-content h1 {
    font-weight: 600;
    font-size: 2em;
    color: var(--primary-color);
}

.remark-slide-content h2 {
    font-weight: 500;
    font-size: 1.5em;
    color: var(--secondary-color);
}

.remark-slide-content h3 {
    font-weight: 500;
    font-size: 1.25em;
    color: var(--secondary-color);
}

.remark-slide-content strong {
    font-weight: 600;
    color: var(--tertiary-color);
}

.remark-slide-content ul {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.remark-slide-content ul ul,ol {
    margin-top: .25em;
}

.remark-slide-content ul ul,ol {
    gap: 0em;
}

.remark-slide-content table {
    border-collapse: separate;
    border-spacing: 2em 0.25em;
}

.remark-slide-content thead {
    color: var(--secondary-color);
}

.remark-slide-content blockquote {
    border-left: 0.3em solid var(--tertiary-color);
    padding: 0 0.5rem;
    font-style: italic;
    color: var(--secondary-color);
}

.remark-code,
.remark-inline-code {
    font-family: var(--mono);
}

.remark-code {
    font-size: 0.85rem;
    border-radius: 5px;
}

.remark-inline-code {
    font-size: 1em;
    color: var(--tertiary-color);
}

.remark-slide-number {
    font-size: 1.25rem;
    opacity: 1;
    color: var(--secondary-color);
}

.remark-slide-content footer {
    position: fixed;
    bottom: 12px;
    left: 20px;
    width: calc(100% - 40px);
    font-size: 1.25rem;
    font-style: italic;
    text-align: left;
    color: var(--secondary-color);
}

.remark-slide-content.title footer {
    text-align: right;
}

.mb-0 p:last-child {
    margin-block-end: -1em;
}

.remark-slide-content.no-bullets ul {
    list-style: none;
    padding-left: 0.5em;
}

.remark-slide-content .twocolumn {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 1em;
    text-align: left;
}

.line-numbers .remark-code {
    counter-reset: line;
}

.line-numbers .remark-code-line {
    counter-increment: line;
}

.line-numbers .remark-code-line:not(:only-child):before {
    content: counter(line);
    display: inline-block;
    text-align: right;
    width: 1.25em;
    padding-right: 0.5em;
    margin-right: 0.5em;
    color: var(--line-number-color);
    border-right: var(--line-number-color) 1px solid;
}
