/* Custom Course Catalog Printer-Friendly Styles */
@charset "UTF-8";

@media print {

  /* base colors */
  body { background-color: #fff !important; }

  h1, h2, h3, h4, h5, h6 { color: #000 !important; }
  .gx-card-title { color: #000 !important; }

  /* hide UI buttons */
  a.btn.btn-sm.btn-primary { display: none !important; }

  /* links */
  a:link { color: #000 !important; }
  #gx_main_content p a,
  #gx_main_content li a {
    color: #000 !important;
    text-decoration: none !important;
  }

  /* headings + borders */
  #gx_main_content section h2 {
    color: #000 !important;
    border-bottom: 1px solid #000 !important;
    font-size: 16pt !important; /* unify sizing here */
  }

  /* tables */
  #gx_main_content table {
    background-color: #fff !important;
    color: #000 !important;
    text-shadow: 0 0 transparent !important;
    font-size: 9pt !important;  /* orig 14px */
    line-height: 14px !important;
    width: auto !important;
  }
  #gx_main_content table .td-medium-1 {
    background-color: rgba(0, 0, 0, 0.35) !important;
  }
  #gx_main_content table .td-medium-2 {
    background-color: rgba(0, 0, 0, 0.20) !important;
  }

  /* cards / boxes */
  #gx_main_content .content-box-light {
    background-color: #fff !important;
    border: 0 none transparent !important;
    box-shadow: none !important;
    padding: 0 !important;

    /* keep whole card on a page */
    break-inside: avoid;
    page-break-inside: avoid;
    display: table;  /* reliable no-break for print */
    width: 100%;
  }

  .note {
    background-color: rgba(0, 0, 0, 0.10) !important;
    color: #000 !important;
  }

  /* type scale (approx 75%) */
  .division-chair-header { font-size: 14pt !important; }
  .main-heading { font-size: 21pt !important; }        /* orig 28px */
  p, ul li, dd { font-size: 10.5pt !important; }       /* orig 14px */
  h2.gx-card-title { font-size: 14pt !important; }     /* orig 20px */
  h3 { font-size: 12pt !important; }                   /* orig 18px */
  label { font-size: 9pt !important; }                 /* orig 12px */
  .gx-page-title .gx-breadcrumb h5 { font-size: 18pt !important; } /* orig 24px */
  .gx-page-title .gx-breadcrumb ul li { font-size: 9.75pt !important; } /* orig 13px */
  .feature-card h5 { font-size: 10.5pt !important; }   /* orig 14px */
  h1.section-title { font-size: 1.5em !important; }    /* orig 2em */
  #gx_main_content p.lead,
  #gx_main_content section .lead-paragraph { font-size: 12pt !important; } /* orig 20px */
  #gx_main_content ol,
  #gx_main_content ol li,
  #gx_main_content ul,
  #gx_main_content ul li { font-size: 10.5pt !important; } /* orig 14px */
  #gx_main_content section h2.division-chair-header { font-size: 1.125rem !important; } /* orig 1.5rem */
  #gx_main_content section h3.general-education-header { font-size: 0.75rem !important; } /* orig 1rem */
  #gx_main_content article .degree-listing-link { font-size: 12pt !important; } /* orig 16px */
  #gx_main_content article .degree-listing-link-concentration { font-size: 10.5pt !important; } /* orig 14px */
  .multi-column-title { font-size: 12pt !important; }

  /* keep grouped content together */
  .multi-column-block {
    break-inside: avoid;
    page-break-inside: avoid;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
  }
  .content-box-light p { orphans: 3; widows: 3; } /* fewer lonely lines */

  /* page size/margins */
  @page { size: 8.5in 11in; margin: 0.5in; }

  /* container width */
  .container, .container-fluid {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* ===== Preserve Bootstrap grid at print (MD breakpoint) ===== */

  /* keep flex behavior */
  .row {
    display: flex !important;
    flex-wrap: wrap !important;
  }

  /* OPTIONAL reset (retain only if you define sizes below) */
  .row > [class^="col-"],
  .row > [class*=" col-"] {
    flex-basis: auto !important;
    max-width: none !important;
  }

  /* full set: col-md-1 ... col-md-12 */
  .row > .col-md-1  { flex: 0 0 8.333333% !important;  max-width: 8.333333% !important; }
  .row > .col-md-2  { flex: 0 0 16.666667% !important; max-width: 16.666667% !important; }
  .row > .col-md-3  { flex: 0 0 25% !important;        max-width: 25% !important; }
  .row > .col-md-4  { flex: 0 0 33.333333% !important; max-width: 33.333333% !important; }
  .row > .col-md-5  { flex: 0 0 41.666667% !important; max-width: 41.666667% !important; }
  .row > .col-md-6  { flex: 0 0 50% !important;        max-width: 50% !important; }
  .row > .col-md-7  { flex: 0 0 58.333333% !important; max-width: 58.333333% !important; }
  .row > .col-md-8  { flex: 0 0 66.666667% !important; max-width: 66.666667% !important; }
  .row > .col-md-9  { flex: 0 0 75% !important;        max-width: 75% !important; }
  .row > .col-md-10 { flex: 0 0 83.333333% !important; max-width: 83.333333% !important; }
  .row > .col-md-11 { flex: 0 0 91.666667% !important; max-width: 91.666667% !important; }
  .row > .col-md-12 { flex: 0 0 100% !important;       max-width: 100% !important; }

  
  /* additional class to force page breaks for printing */
  .force-print-page-break {
    break-before: page !important;        /* modern */
    page-break-before: always !important; /* legacy */
  }
  
  
  /* ===== Optional: force new page before later sections (keep commented) ===== */
  /*
  #gx_main_content section ~ section h2 {
    color: #000 !important;
    font-size: 24px !important;
    break-before: page !important;
    page-break-before: always !important;
  }
  */
}