/* Font import for offline use - PT Sans Narrow fallback */
@font-face {
    font-family: 'PT Sans Narrow';
    src: local('PT Sans Narrow'), local('PTSans-Narrow');
    font-weight: normal;
    font-style: normal;
}

/* Base styles */
body {
    font-family: Helvetica, 'PT Sans Narrow', sans-serif;
    margin: 0;
    padding: 0;
}

/* Color palette from notes.md */
:root {
    --main-blue: #003e83;
    --main-red: #b90048;
    --main-green: #29bdad;
    --main-yellow: #edc032;
    --secondary-1: #f4f4bf;
    --secondary-2: #b08699;
    --secondary-3: #f879b2;
    --secondary-4: #ffe500;
    --secondary-5: #ffb300;
}

/* Remark.js slideshow styles */
.remark-slide-content {
    font-family: Helvetica, 'PT Sans Narrow', sans-serif;
    font-size: 24px;
    padding: 0.5em 2em;
}

.remark-slide-content h1 {
    font-size: 2.5em;
    color: var(--main-blue);
    margin-top: 0;
    margin-bottom: 0.3em;
}

.remark-slide-content h2 {
    font-size: 2em;
    color: var(--main-blue);
    margin-bottom: 0.5em;
}

.remark-slide-content h3 {
    font-size: 1.5em;
    color: var(--main-red);
}

/* Title slide - first slide style */
.title-slide {
    background-color: var(--main-blue);
    background-image: url('img/fabacademy.svg');
    background-repeat: no-repeat;
    background-position: left center;
    background-size: auto 100%;
    color: white;
    padding: 2em 2em 2em 45%;
}

.title-slide h1 {
    color: white;
    font-size: 2.5em;
    margin-bottom: 0.3em;
}

.title-slide h2 {
    color: var(--secondary-1);
    font-size: 1.5em;
    font-weight: normal;
}

.title-slide p {
    color: var(--main-yellow);
}

/* Regular slides */
.default-slide {
    background-color: white;
}

.default-slide h1 {
    border-bottom: 4px solid var(--main-blue);
    padding-bottom: 0.3em;
}

/* Blue slide */
.blue-slide {
    background-color: var(--main-blue);
    color: white;
}

.blue-slide h1,
.blue-slide h2 {
    color: white;
}

/* Red accent slide */
.red-slide {
    background-color: var(--main-red);
    color: white;
}

.red-slide h1,
.red-slide h2 {
    color: white;
}

/* Green accent slide */
.green-slide {
    background-color: var(--main-green);
    color: white;
}

.green-slide h1,
.green-slide h2 {
    color: white;
}

/* Yellow accent slide */
.yellow-slide {
    background-color: var(--main-yellow);
    color: var(--main-blue);
}

/* Two column layout */
.two-columns {
    display: flex;
    gap: 2em;
}

.two-columns .column {
    flex: 1;
}

/* Code styling */
.remark-code {
    font-size: 0.9em;
    background-color: #f5f5f5;
    border-radius: 5px;
    padding: 0.5em;
}

/* List styling */
ul, ol {
    line-height: 1.4;
}

li {
    margin-bottom: 0.2em;
}

/* Footer */
.remark-slide-number {
    color: var(--main-blue);
    font-size: 14px;
    opacity: 0.7;
}

/* Image styling */
img {
    max-width: 100%;
    height: auto;
}

/* Emphasis colors */
.blue { color: var(--main-blue); }
.red { color: var(--main-red); }
.green { color: var(--main-green); }
.yellow { color: var(--main-yellow); }

/* Bold text in main blue */
strong {
    color: var(--main-blue);
}

/* Links */
a {
    color: var(--main-green);
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

/* Quote styling */
blockquote {
    border-left: 4px solid var(--main-yellow);
    padding-left: 1em;
    font-style: italic;
    color: #555;
}
