  /* =========================================================
   COURSE FINDER
   PRINT RESULTS BUTTON
   ========================================================= */

/*
 * These styles intentionally apply to the Course Finder page
 * because the Print Results button exists outside the
 * generated print document.
 */

.course-results-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
}

.course-results-heading > p {
    margin: 0;
}

.course-results-heading .course-print {
    margin-left: auto;
    flex-shrink: 0;
}

.course-results-heading .course-print-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;

    cursor: pointer;

    background-color: #ffffff;
}

.course-results-heading .course-print-icon {
    display: block;

    width: 18px;
    height: 18px;

    object-fit: contain;
}


/* =========================================================
   PRINT DOCUMENT
   ========================================================= */

.course-print-document {
    width: 100%;

    font-family: Arial, Helvetica, sans-serif;

    color: #111111;
}


/* =========================================================
   REPORT HEADER
   ========================================================= */

.course-print-document .course-print-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    gap: 40px;

    width: 100%;

    margin-bottom: 30px;
    padding-bottom: 20px;

    border-bottom: 2px solid #004b79;
}


/* =========================================================
   LOGO
   ========================================================= */

.course-print-document .course-print-logo {
    flex: 0 0 auto;
}

.course-print-document .course-print-logo img {
    display: block;

    width: 220px;
    max-width: 100%;
    height: auto;
}


/* =========================================================
   REPORT HEADING
   ========================================================= */

.course-print-document .course-print-heading {
    flex: 1;

    text-align: right;
}

.course-print-document .course-print-heading h1 {
    margin: 0 0 10px;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 28px;
    line-height: 1.1;
    font-weight: 700;

    color: #004b79;
}


/* =========================================================
   ACTIVE FILTER INFORMATION
   ========================================================= */

.course-print-document .course-print-report-info {
    margin-top: 8px;
}


/* TERM */

.course-print-document .course-print-term {
    margin-bottom: 5px;

    font-size: 13px;
    line-height: 1.4;

    color: #222222;
}

.course-print-document .course-print-term strong {
    font-weight: 700;
}


/* =========================================================
   SESSION / DIVISION / FORMAT
   ========================================================= */

.course-print-document .course-print-filters {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;

    gap: 4px 18px;

    margin-bottom: 6px;

    font-size: 12px;
    line-height: 1.4;

    color: #333333;
}

.course-print-document .course-print-filter {
    display: inline-block;

    white-space: nowrap;
}

.course-print-document .course-print-filter strong {
    font-weight: 700;
}


/* =========================================================
   REPORT CREATED DATE
   ========================================================= */

.course-print-document .course-print-created {
    margin-top: 8px;

    font-size: 10px;
    line-height: 1.4;

    color: #666666;
}


/* =========================================================
   RESULT COUNT
   ========================================================= */

.course-print-document .course-print-count {
    width: 100%;

    margin-bottom: 12px;

    font-size: 12px;
    line-height: 1.4;

    color: #333333;
}


/* =========================================================
   COURSE RESULTS
   ========================================================= */

.course-print-document .course-print-results {
    width: 100%;
}


/* =========================================================
   COURSE TABLE
   ========================================================= */

.course-print-document .course-print-table {
    width: 100%;

    border-collapse: collapse;
    table-layout: fixed;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 13px;
    line-height: 1.35;

    color: #111111;
}


/* =========================================================
   TABLE HEADER
   ========================================================= */

.course-print-document .course-print-table thead {
    display: table-header-group;
}

.course-print-document .course-print-table th {
    padding: 12px;

    background: #004b79;
    color: #ffffff;

    border: 1px solid #004b79;

    font-size: 12px;
    font-weight: 700;

    text-align: left;
    text-transform: uppercase;

    vertical-align: middle;
}


/* =========================================================
   TABLE ROWS
   ========================================================= */

.course-print-document .course-print-table td {
    padding: 10px 12px;

    border-bottom: 1px solid #cccccc;

    text-align: left;
    vertical-align: top;
}


/* Alternating row background */

.course-print-document
.course-print-table
tbody
tr:nth-child(even) {
    background: #f5f5f5;
}


/* =========================================================
   COLUMN WIDTHS
   ========================================================= */

/* Course Title */

.course-print-document .course-print-table th:nth-child(1),
.course-print-document .course-print-table td:nth-child(1) {
    width: 28%;
}


/* Course */

.course-print-document .course-print-table th:nth-child(2),
.course-print-document .course-print-table td:nth-child(2) {
    width: 17%;
}


/* Days */

.course-print-document .course-print-table th:nth-child(3),
.course-print-document .course-print-table td:nth-child(3) {
    width: 12%;
}


/* Dates */

.course-print-document .course-print-table th:nth-child(4),
.course-print-document .course-print-table td:nth-child(4) {
    width: 28%;
}


/* Credits */

.course-print-document .course-print-table th:nth-child(5),
.course-print-document .course-print-table td:nth-child(5) {
    width: 15%;
}


/* =========================================================
   REPORT FOOTER
   ========================================================= */

.course-print-document .course-print-footer {
    width: 100%;

    margin-top: 30px;
    padding-top: 12px;

    border-top: 1px solid #cccccc;

    font-size: 10px;
    line-height: 1.4;

    color: #666666;
}

.course-print-document .course-print-footer p {
    margin: 0;
}


/* =========================================================
   PDF PAGE SETTINGS
   ========================================================= */

@page {
    size: landscape;

    margin: 0.5in;
}


/* =========================================================
   PRINT
   ========================================================= */

@media print {

    /*
     * This is safe because this stylesheet is also loaded
     * directly inside the separate print window.
     */
    html,
    body {
        margin: 0;
        padding: 0;

        background: #ffffff;
    }


    /* Document */

    .course-print-document {
        width: 100%;
    }


    /* Header */

    .course-print-document .course-print-header {
        break-inside: avoid;
        page-break-inside: avoid;
    }


    /* Repeat table headings */

    .course-print-document .course-print-table thead {
        display: table-header-group;
    }


    /* Keep individual courses together */

    .course-print-document .course-print-table tr {
        break-inside: avoid;
        page-break-inside: avoid;
    }


    /* Preserve colors */

    .course-print-document .course-print-table th,
    .course-print-document
    .course-print-table
    tbody
    tr:nth-child(even) {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }


    /* Logo */

    .course-print-document .course-print-logo img {
        width: 220px;
        height: auto;
    }
}


/* =========================================================
   COURSE FINDER MOBILE
   ========================================================= */

@media (max-width: 600px) {

    .course-results-heading {
        flex-wrap: wrap;
    }
}