/* ==========================================================================
   Extracted custom styles from HTML files
   ========================================================================== */

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* From homepage.html */
body.font-hyperlegible {
    font-size: 20px;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Custom component classes from original HTML */

/* Custom Logo styling to constrain size in header */
.site-logo img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

.icon-btn {
    padding: 0.5rem;
    border-radius: 9999px;
    border-width: 1px;
    border-color: rgb(255 255 255 / 0.3);
    display: flex;
    align-items: center;
    justify-content: center;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
}

.icon-btn:hover {
    background-color: rgb(255 255 255 / 0.2);
}

.resource-card {
    padding: 2rem;
    border-radius: 0.5rem;
    border-width: 1px;
    border-color: #E0E0E0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    transition-property: box-shadow;
    transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
    transition-duration: 150ms;
    background-color: rgb(255 255 255 / 1);
}

.dark .resource-card {
    background-color: rgb(30 41 59 / 1);
    border-color: rgb(51 65 85 / 1);
}

.resource-card:hover {
    --tw-shadow: 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1);
    --tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow);
}

/* From innerpage.html */
.atkinson-text {
    font-size: 20px;
    font-family: 'Atkinson Hyperlegible', sans-serif;
}

.body-text {
    font-size: 22px;
    line-height: 1.6;
}

/* From news-archive.html */
.news-card-border {
    border-left-width: 2px;
    border-left-color: #002d70;
}

.search-focus:focus {
    border: 4px solid #002d70 !important;
    outline: none;
}

/* From single-news.html */
.article-content {
    font-family: 'Newsreader', serif;
    font-size: 22px;
    line-height: 1.6;
}