@charset "utf-8";
/* CSS Document */


/* ----------------------------- */
/* 1. PAGE SETTINGS FOR PDF      */
/* ----------------------------- */
@page {
  size: letter portrait;   /* PDF page size */
  margin: 0.5in;           /* Printable margins */
}

/* ----------------------------- */
/* 2. PRINT‑ONLY STYLES          */
/* ----------------------------- */
@media print {

  /* Hide UI elements */
  nav, .print-btn {
    display: none !important;
  }

  /* Only show the main content */
/*  body * {
    visibility: hidden;
  }*/

  .header, .header h1, main, main * {
    visibility: visible;
    padding: 0;
  }
  .header h1 {
    display: inline;
  }
  .header h1 span::after {
    content: " ";
  }
  .header h1 small {
    padding-top: 0;
  }

  /* Position printable content at top-left */
  main {
    /*position: absolute;
    top: 0;
    left: 0;*/
    width: 100%;
  }

  /* Prevent awkward page breaks */
  section {
    page-break-inside: avoid;
  }

  /* Optional: scale to ensure one-page fit */
  body {
    zoom: 0.80;
  }
  .nltv-channels ul {
    columns: 2;
  -webkit-columns: 2;
  -moz-columns: 2;
  border: none !important;
  }
  hr {
    break-before: page;
    page-break-before: always; /* legacy */
  }
}

/* ----------------------------- */
/* 3. SCREEN STYLES (NORMAL USE) */
/* ----------------------------- */
body {
  font-family: system-ui, sans-serif;
  line-height: 1.5;
  margin: 0.5in;
  padding: 0;
  background-color: #eeeeee;
  min-width: 675px;
}
.header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 0;
}
.header h1 {
  line-height: 1;
  display: flex;
  flex-flow: row nowrap;
}
.header h1 span:nth-child(1):after {
  content: " / ";
  padding-right: .5rem;
}
.header h1 small {
  padding-top: .5rem;
}

main {
  
}

h1, h2 {
  margin-top: 0;
}

.nltv-channels {
  border: 2px solid #ccc;
  padding: 1.5rem 2rem;
}
.nltv-channels ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
  line-height: 1.4;
  
  columns: 3;
  -webkit-columns: 3;
  -moz-columns: 3;
  column-gap: 2rem;
  column-rule: 1px dashed #ccc;
  column-fill: balance;
}
.nltv-channels ul li {
  display: flex;
  flex-flow: row nowrap;
  justify-content: flex-start;
  text-align: left;
  border-bottom: 1px solid #bbb;
  padding: 0.15rem 0.25rem;
  break-inside: avoid;
  max-width: 100%;
  white-space: nowrap;        /* stop wrapping */
  overflow: hidden;           /* hide anything that doesn't fit */
  text-overflow: ellipsis;    /* show "..." */
}
.nltv-channels .num {
  flex: 0;
  min-width: 26px;
  padding-right: 0.5rem;
}
.nltv-channels .chan {
  flex: 5;
}

.print-btn {
  padding: 0.5rem 1rem;
  font-size: small;
  font-weight: bold;
  cursor: pointer;
  border: 2px solid #ccc;
  border-radius: 4px;
  color: #aaa;
  display: flex;
  flex-flow: column nowrap;
  justify-content: center;
}
.print-btn:hover {background-color: #fff;}

.notes {
  display: none !important;
  border: 2px solid #ccc;
  padding: 0.25rem 2rem;
  margin-top: 1rem;
  line-height: 1;
}

.blue {
  color: #236;
  font-weight: bold;
  font-size: 90%;
}
.bluegray {
  background-color: #e0e0e0;
  font-weight: 900;
}
hr {
  margin: 1rem 0;
}

footer {
  padding: 0 2rem;
  font-size: smaller;
}

