/* Standalone meeting document pages (no site chrome). */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    background-color: #c9c4bc;
    font-size: 16px;
}

body.meeting-document {
    animation: document-body-enter 0.55s ease-out both;
    background-color: #c9c4bc;
    color: #111111;
    font-family: "Courier New", Courier, "Liberation Mono", monospace;
    margin: 0;
    min-height: 100vh;
    padding: 2rem 1rem 3rem;
}

@keyframes document-body-enter {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.document-sheet {
    --document-paper: #faf7f0;
    animation: document-sheet-enter 0.75s cubic-bezier(0.22, 1, 0.36, 1) 0.06s both;
    background-color: var(--document-paper);
    border: 1px solid #b8b3a8;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
    margin: 0 auto;
    max-width: 8.5in;
    min-height: 11in;
    padding: 1in 1.1in 1.25in;
    position: relative;
}

@keyframes document-sheet-enter {
    from {
        opacity: 0;
        transform: translateY(22px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@view-transition {
    navigation: auto;
}

@keyframes document-page-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes document-page-fade-out {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

::view-transition-old(root) {
    animation: 0.45s ease-in-out both document-page-fade-out;
}

::view-transition-new(root) {
    animation: 0.65s ease-out both document-page-fade-in;
}

.document-close {
    align-items: center;
    color: #444444;
    display: flex;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1.75rem;
    font-weight: 300;
    height: 2.25rem;
    justify-content: center;
    line-height: 1;
    position: absolute;
    right: 0.65rem;
    text-decoration: none;
    top: 0.5rem;
    width: 2.25rem;
}

.document-close:hover,
.document-close:focus {
    color: #111111;
    text-decoration: none;
}

.legal-home-logo {
    display: block;
    line-height: 0;
    margin: 0 0 1rem;
    text-align: left;
    width: fit-content;
}

.legal-home-logo:hover .legal-home-logo-img,
.legal-home-logo:focus .legal-home-logo-img {
    opacity: 0.88;
}

.legal-home-logo-img {
    display: block;
    height: auto;
    max-width: 100%;
    mix-blend-mode: multiply;
    width: 4.75rem;
}

.document-banner {
    border-bottom: 1px solid #333333;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin-bottom: 1.25rem;
    padding-bottom: 0.75rem;
}

.document-banner p {
    font-size: 0.85rem;
    letter-spacing: 0.02em;
    line-height: 1.4;
    margin: 0 0 0.35rem;
}

.document-kicker {
    font-weight: 600;
}

.document-attachments-footer {
    border-top: 1px solid #333333;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    margin-top: 1.25rem;
    padding-top: 0.75rem;
}

.document-attachments-footer a.document-attachment {
    font-weight: 500;
    text-decoration: none;
}

.document-attachment {
    align-items: center;
    color: #111111;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    text-align: center;
    text-decoration: none;
    width: 100%;
}

.document-attachment-icon {
    display: block;
    height: 40px;
    width: 40px;
}

.document-attachment-label {
    font-size: 0.72rem;
    font-weight: 500;
    line-height: 1.25;
}

.document-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem 1rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.document-attachments > li {
    flex: 0 0 6rem;
}

.document-attachments-footer a.document-attachment:hover,
.document-attachments-footer a.document-attachment:focus {
    text-decoration: none;
}

.document-attachment:hover .document-attachment-label,
.document-attachment:focus .document-attachment-label {
    text-decoration: underline;
}

.document-body {
    font-family: "Times New Roman", Times, serif;
    font-size: 12pt;
    line-height: 1.45;
}

.document-body p {
    margin: 0 0 0.75rem;
}

.document-body h3 {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1rem;
    margin: 1rem 0 0.5rem;
}

.document-body ol,
.document-body ul {
    margin: 0 0 0.75rem;
    padding-left: 1.5rem;
}

.document-body li {
    margin: 0 0 0.35rem;
}

.document-body table {
    border-collapse: collapse;
    margin: 0 0 0.75rem;
    width: 100%;
}

.document-body td {
    border: 1px solid #bfbfbf;
    padding: 0.35rem 0.5rem;
    vertical-align: top;
}

.document-pre {
    font-family: "Courier New", Courier, "Liberation Mono", monospace;
    font-size: 12pt;
    line-height: 1.45;
    margin: 0;
    white-space: pre-wrap;
    word-wrap: break-word;
}

@media (max-width: 640px) {
    body.meeting-document {
        padding: 1rem 0.4rem 2rem;
    }

    .document-sheet {
        min-height: auto;
        padding: 0.85rem 0.65rem 1.25rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.meeting-document {
        animation: none;
    }

    .document-sheet {
        animation: none;
    }

    ::view-transition-group(*),
    ::view-transition-old(*),
    ::view-transition-new(*) {
        animation: none !important;
    }
}

@media print {
    body.meeting-document {
        animation: none;
        background-color: #ffffff;
        padding: 0;
    }

    html {
        background-color: #ffffff;
        font-size: 12pt;
    }

    .document-banner a,
    .document-attachments-footer a {
        color: #000000;
    }

    .document-sheet {
        animation: none;
        border: none;
        box-shadow: none;
        margin: 0;
        max-width: none;
        min-height: auto;
        padding: 0.75in;
    }

    .document-close,
    .legal-home-logo {
        display: none;
    }
}
