.pfm-nfl-schedule {
--pfm-red: #8b0f1a;
--pfm-red-dark: #690b13;
--pfm-ink: #111827;
--pfm-copy: #334155;
--pfm-muted: #64748b;
--pfm-line: #dfe4ec;
--pfm-soft: #f8fafc;
max-width: 1180px;
margin: 0 auto;
color: var(--pfm-copy);
font-family: Roboto, "Helvetica Neue", Arial, sans-serif!important;
font-size: 16px;
line-height: 1.6;
}
.pfm-nfl-schedule * { box-sizing: border-box; }
.pfm-nfl-schedule h1,
.pfm-nfl-schedule h2,
.pfm-nfl-schedule p,
.pfm-nfl-schedule form,
.pfm-nfl-schedule label,
.pfm-nfl-schedule select,
.pfm-nfl-schedule button,
.pfm-nfl-schedule summary { font-family: inherit!important; }
.pfm-nfl-schedule h1,
.pfm-nfl-schedule h2 { color: var(--pfm-ink)!important; font-weight: 900!important; letter-spacing: -.025em!important; text-transform: none!important; }
.pfm-nfl-schedule h1 { margin: 0!important; font-size: clamp(34px, 5vw, 52px)!important; line-height: 1.05!important; }
.pfm-nfl-schedule h2 { margin: 26px 0 10px!important; font-size: 22px!important; line-height: 1.15!important; }
.pfm-nfl-schedule a { color: var(--pfm-red); font-weight: 800; text-underline-offset: 3px; }
.pfm-nfl-schedule a:hover,
.pfm-nfl-schedule a:focus { color: var(--pfm-red-dark); }
.pfm-nfl-schedule a:focus-visible,
.pfm-nfl-schedule select:focus-visible,
.pfm-nfl-schedule button:focus-visible,
.pfm-schedule-sources summary:focus-visible { outline: 3px solid rgba(139,15,26,.22); outline-offset: 3px; }
.pfm-schedule-hero { margin: 0 0 18px!important; }
.pfm-schedule-title-rule { display: block; width: 48px; height: 3px; margin-top: 13px; background: var(--pfm-red); }
.pfm-nfl-schedule .pfm-schedule-intro { max-width: 900px; margin: 14px 0 0!important; color: #475569!important; font-size: 16px!important; font-weight: 400!important; line-height: 1.55!important; }
.pfm-schedule-controls { display: flex; align-items: center; justify-content: space-between; gap: 10px 18px; flex-wrap: wrap; margin: 0!important; padding: 11px 0!important; border-top: 1px solid var(--pfm-line); border-bottom: 1px solid var(--pfm-line); font-family: inherit!important; font-size: 14px; }
.pfm-schedule-week-form { display: flex; align-items: center; gap: 8px; min-width: 0; margin: 0!important; }
.pfm-schedule-week-form label { margin: 0!important; color: var(--pfm-muted)!important; font-size: 11px!important; font-weight: 900!important; letter-spacing: .045em!important; line-height: 1!important; text-transform: uppercase!important; }
.pfm-schedule-select-wrap { position: relative; display: inline-flex; align-items: center; min-width: 142px; }
.pfm-schedule-select-wrap::after { content: ""; position: absolute; right: 13px; top: 50%; width: 7px; height: 7px; margin-top: -6px; border-right: 2px solid var(--pfm-red); border-bottom: 2px solid var(--pfm-red); transform: rotate(45deg); pointer-events: none; }
.pfm-nfl-schedule .pfm-schedule-controls select { -webkit-appearance: none!important; appearance: none!important; width: 100%!important; min-width: 142px!important; height: 42px!important; min-height: 42px!important; margin: 0!important; padding: 0 38px 0 12px!important; border: 1px solid #cbd5e1!important; border-radius: 8px!important; background: #fff!important; color: var(--pfm-ink)!important; font-family: inherit!important; font-size: 14px!important; font-weight: 850!important; line-height: 40px!important; text-transform: none!important; box-shadow: none!important; cursor: pointer; }
.pfm-nfl-schedule .pfm-schedule-controls select:hover,
.pfm-nfl-schedule .pfm-schedule-controls select:focus { border-color: var(--pfm-red)!important; background: #fff8f8!important; }
.pfm-nfl-schedule .pfm-schedule-go { display: inline-flex!important; align-items: center!important; justify-content: center!important; width: auto!important; min-width: 56px!important; height: 42px!important; min-height: 42px!important; margin: 0!important; padding: 0 16px!important; border: 1px solid var(--pfm-red)!important; border-radius: 8px!important; background: var(--pfm-red)!important; color: #fff!important; font-family: inherit!important; font-size: 13px!important; font-weight: 900!important; letter-spacing: 0!important; line-height: 1!important; text-transform: none!important; box-shadow: none!important; cursor: pointer; }
.pfm-nfl-schedule .pfm-schedule-go:hover,
.pfm-nfl-schedule .pfm-schedule-go:focus { background: var(--pfm-red-dark)!important; border-color: var(--pfm-red-dark)!important; color: #fff!important; }
.pfm-schedule-step-links { display: flex; align-items: center; justify-content: flex-end; gap: 16px; min-width: 0; }
.pfm-schedule-controls a { color: var(--pfm-ink); text-decoration: none; }
.pfm-schedule-controls a:hover,
.pfm-schedule-controls a:focus { color: var(--pfm-red); }
.pfm-schedule-step { font-size: 13px; line-height: 1.3; white-space: nowrap; }
.pfm-schedule-step--next { margin-left: auto; }
.pfm-schedule-current-link { color: var(--pfm-red)!important; }
.pfm-schedule-all-weeks { display: flex; align-items: center; gap: 10px; width: 100%; max-width: 100%; margin: 10px 0 0; min-width: 0; overflow: hidden; font-family: inherit!important; }
.pfm-schedule-all-weeks-label { flex: 0 0 auto; color: var(--pfm-muted); font-size: 10px; font-weight: 900; letter-spacing: .045em; line-height: 1; text-transform: uppercase; }
.pfm-schedule-all-weeks-links { display: flex; align-items: center; flex: 1 1 auto; gap: 4px; min-width: 0; max-width: 100%; overflow-x: auto; padding: 1px 1px 4px; scrollbar-width: thin; -webkit-overflow-scrolling: touch; }
.pfm-nfl-schedule .pfm-schedule-week-link { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 28px; width: 28px; height: 28px; border: 1px solid var(--pfm-line); border-radius: 6px; background: #fff; color: var(--pfm-copy); font-size: 11.5px; font-weight: 850; line-height: 1; text-decoration: none; }
.pfm-nfl-schedule .pfm-schedule-week-link:hover,
.pfm-nfl-schedule .pfm-schedule-week-link:focus { border-color: var(--pfm-red); color: var(--pfm-red); background: #fff8f8; }
.pfm-nfl-schedule .pfm-schedule-week-link.is-selected { border-color: rgba(139,15,26,.38); background: #fff4f4; color: var(--pfm-red); }
.pfm-nfl-schedule .pfm-schedule-week-link[aria-current="page"] { border-color: var(--pfm-red); background: var(--pfm-red); color: #fff; }
.pfm-schedule-day { margin-top: 24px; }
.pfm-nfl-schedule .pfm-schedule-day h2 { margin: 0 0 10px!important; font-family: inherit!important; font-size: 22px!important; line-height: 1.15!important; }
.pfm-schedule-table-wrap { overflow: hidden; border: 1px solid var(--pfm-line); border-radius: 10px; background: #fff; }
.pfm-schedule-table { width: 100%; margin: 0!important; border: 0!important; border-collapse: collapse!important; table-layout: auto; background: #fff!important; color: var(--pfm-copy); font-family: inherit!important; font-size: 14px; box-shadow: none!important; }
.pfm-schedule-table th,
.pfm-schedule-table td { padding: 7px 10px; border: 0!important; text-align: right; vertical-align: middle; white-space: nowrap; background: #fff!important; color: var(--pfm-copy); font-family: inherit!important; line-height: 1.3; box-shadow: none!important; }
.pfm-schedule-table thead th { padding: 8px 10px; background: var(--pfm-soft)!important; color: var(--pfm-muted); font-size: 10px; font-weight: 900; letter-spacing: .055em; text-transform: uppercase; }
.pfm-schedule-table thead th:first-child,
.pfm-schedule-table thead th:nth-child(2) { text-align: left; }
.pfm-schedule-table thead th:nth-child(1) { width: 118px; }
.pfm-schedule-table thead th:nth-child(2) { width: 31%; }
.pfm-schedule-table thead th:nth-child(3) { width: 102px; }
.pfm-schedule-table thead th:nth-child(4) { width: 92px; }
.pfm-schedule-table thead th:nth-child(5) { width: 92px; }
.pfm-schedule-table thead th:nth-child(6) { width: 29%; }
.pfm-schedule-game + .pfm-schedule-game .pfm-schedule-game-start > th,
.pfm-schedule-game + .pfm-schedule-game .pfm-schedule-game-start > td { border-top: 1px solid var(--pfm-line)!important; }
.pfm-schedule-game-end > th,
.pfm-schedule-game-end > td { border-top: 1px solid rgba(100,116,139,.18)!important; }
.pfm-schedule-team-cell { text-align: left!important; font-weight: 800; }
.pfm-schedule-team-cell > a { display: inline-flex; align-items: center; gap: 8px; min-height: 31px; color: var(--pfm-ink); font-size: 14px; font-weight: 850; text-decoration: none; }
.pfm-schedule-team-cell img { width: 28px; height: 28px; object-fit: contain; flex: 0 0 28px; }
.pfm-schedule-home-marker { display: inline-flex; align-items: center; justify-content: center; width: 24px; margin-right: 2px; color: var(--pfm-muted); font-size: 10px; font-weight: 850; text-align: center; text-transform: lowercase; }
.pfm-schedule-time { color: var(--pfm-ink)!important; font-weight: 900; text-align: left!important; }
.pfm-schedule-score { color: var(--pfm-red); font-size: 15px; font-weight: 900; }
.pfm-schedule-rank-link { color: var(--pfm-red)!important; font-size: 14px; font-weight: 900; text-decoration: none; }
.pfm-schedule-rating-tbd { color: var(--pfm-muted); font-size: 12px; font-weight: 700; }
.pfm-schedule-tv { color: var(--pfm-ink)!important; font-weight: 850; }
.pfm-schedule-venue { color: var(--pfm-muted)!important; font-size: 12px; line-height: 1.4!important; white-space: normal!important; }
.pfm-schedule-glance { display: grid; grid-template-columns: auto repeat(3,minmax(0,1fr)); margin: 14px 0 0; border-top: 1px solid var(--pfm-line); border-bottom: 1px solid var(--pfm-line); background: var(--pfm-soft); font-family: inherit!important; font-size: 12px; line-height: 1.45; }
.pfm-schedule-glance > strong,
.pfm-schedule-glance > span { display: flex; align-items: center; min-width: 0; padding: 8px 11px; }
.pfm-schedule-glance > strong { color: var(--pfm-ink); font-size: 11px; font-weight: 900; letter-spacing: .035em; text-transform: uppercase; }
.pfm-schedule-glance > span { color: var(--pfm-muted); border-left: 1px solid var(--pfm-line); }
.pfm-schedule-glance > span b { margin-left: 4px; color: var(--pfm-ink); font-weight: 850; }
.pfm-schedule-legend { margin: 18px 0 0; padding: 9px 12px; border-top: 1px solid var(--pfm-line); border-bottom: 1px solid var(--pfm-line); background: var(--pfm-soft); font-family: inherit!important; }
.pfm-schedule-legend-label { display: block; color: var(--pfm-ink); font-size: 10.5px; font-weight: 900; letter-spacing: .035em; line-height: 1.3; text-transform: uppercase; }
.pfm-schedule-legend-value { display: block; margin-top: 2px; color: var(--pfm-muted); font-size: 11.5px; font-weight: 400; line-height: 1.55; }
.pfm-schedule-legend a { color: var(--pfm-muted); font-weight: 700; text-decoration: underline; text-decoration-color: #a8b1bd; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.pfm-schedule-legend span[aria-hidden="true"] { display: inline-block; margin: 0 4px; color: #a8b1bd; }
.pfm-schedule-sources { margin-top: 16px; padding-top: 11px; border-top: 1px solid var(--pfm-line); color: var(--pfm-muted); font-family: inherit!important; font-size: 12px; }
.pfm-schedule-sources summary { margin: 0!important; cursor: pointer; color: var(--pfm-muted)!important; font-family: inherit!important; font-size: 12px!important; font-weight: 800!important; line-height: 1.4!important; }
.pfm-schedule-sources p { max-width: 860px; margin: 8px 0 0!important; color: var(--pfm-muted)!important; font-family: inherit!important; font-size: 11.5px!important; font-weight: 400!important; line-height: 1.55!important; }
.pfm-schedule-sources a { color: var(--pfm-muted); font-weight: 700; text-decoration: underline; text-decoration-color: #a8b1bd; text-decoration-thickness: 1px; }
.pfm-nfl-schedule .screen-reader-text { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0 0 0 0)!important; white-space: nowrap!important; border: 0!important; }
@media (min-width: 761px) { .pfm-nfl-schedule .pfm-schedule-home-marker {
height: 31px;
line-height: 1;
vertical-align: middle;
}
.pfm-nfl-schedule .pfm-schedule-team-cell > a {
vertical-align: middle;
}
.pfm-nfl-schedule .pfm-schedule-table thead th:nth-child(5),
.pfm-nfl-schedule .pfm-schedule-tv {
text-align: center!important;
}
}
@media (max-width: 760px) {
.pfm-nfl-schedule { font-size: 16px; }
.pfm-schedule-hero { margin-bottom: 14px!important; }
.pfm-schedule-title-rule { margin-top: 11px; }
.pfm-nfl-schedule .pfm-schedule-intro { margin-top: 12px!important; font-size: 15px!important; line-height: 1.5!important; }
.pfm-schedule-controls { display: block; padding: 10px 0!important; }
.pfm-schedule-week-form { display: grid; grid-template-columns: auto minmax(0,1fr) 56px; gap: 8px; width: 100%; }
.pfm-schedule-select-wrap { width: 100%; min-width: 0; }
.pfm-nfl-schedule .pfm-schedule-controls select { width: 100%!important; min-width: 0!important; }
.pfm-nfl-schedule .pfm-schedule-go { width: 56px!important; min-width: 56px!important; padding: 0!important; }
.pfm-schedule-step-links { width: 100%; margin-top: 9px; padding-top: 8px; border-top: 1px solid rgba(100,116,139,.12); justify-content: space-between; gap: 12px; }
.pfm-schedule-step-links:empty { display: none; }
.pfm-schedule-step { font-size: 12px; }
.pfm-schedule-all-weeks { display: block; margin-top: 9px; overflow: visible; }
.pfm-schedule-all-weeks-label { display: block; margin-bottom: 6px; }
.pfm-schedule-all-weeks-links { width: 100%; max-width: 100%; flex-wrap: wrap; overflow: visible; padding: 0; }
.pfm-nfl-schedule .pfm-schedule-week-link { flex-basis: 27px; width: 27px; height: 27px; font-size: 11px; }
.pfm-schedule-day { margin-top: 22px; }
.pfm-nfl-schedule .pfm-schedule-day h2 { margin: 0 0 9px!important; font-size: 21px!important; line-height: 1.15!important; }
.pfm-nfl-schedule .pfm-schedule-table-wrap { overflow: hidden; border: 1px solid var(--pfm-line); border-radius: 9px; background: #fff; }
.pfm-nfl-schedule .pfm-schedule-table { display: block!important; width: 100%!important; margin: 0!important; border: 0!important; border-collapse: collapse!important; background: #fff!important; box-shadow: none!important; }
.pfm-nfl-schedule .pfm-schedule-table thead { position: absolute!important; width: 1px!important; height: 1px!important; margin: -1px!important; padding: 0!important; overflow: hidden!important; clip: rect(0 0 0 0)!important; white-space: nowrap!important; border: 0!important; }
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game { display: grid!important; width: 100%!important; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 8px; margin: 0!important; padding: 7px 10px 8px!important; border: 0!important; background: #fff!important; }
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game + tbody.pfm-schedule-game { border-top: 1px solid var(--pfm-line)!important; }
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game tr { display: contents!important; }
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game th,
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game td { display: block!important; width: auto!important; min-width: 0!important; margin: 0!important; padding: 0!important; border: 0!important; background: transparent!important; font-family: inherit!important; text-align: left!important; white-space: normal!important; box-shadow: none!important; }
.pfm-nfl-schedule .pfm-schedule-time { display: flex!important; grid-column: 1/3; grid-row: 1; align-items: center; min-height: 28px; color: var(--pfm-ink)!important; font-size: 12.5px!important; font-weight: 900!important; line-height: 1.2!important; white-space: nowrap!important; }
.pfm-nfl-schedule .pfm-schedule-tv { display: flex!important; grid-column: 3/5; grid-row: 1; align-items: center; justify-content: flex-end; min-height: 28px; color: var(--pfm-ink)!important; font-size: 12.5px!important; font-weight: 850!important; line-height: 1.2!important; text-align: right!important; white-space: nowrap!important; }
.pfm-nfl-schedule .pfm-schedule-time,
.pfm-nfl-schedule .pfm-schedule-tv { border-bottom: 1px solid rgba(100,116,139,.14)!important; }
.pfm-nfl-schedule .pfm-schedule-team-cell--away { grid-column: 1/5; grid-row: 2; }
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game .pfm-schedule-team-cell--home { grid-column: 1/5; grid-row: 4; margin-top: 5px!important; padding-top: 5px!important; border-top: 1px solid rgba(100,116,139,.18)!important; }
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game .pfm-schedule-team-cell { display: flex!important; align-items: center!important; }
.pfm-nfl-schedule .pfm-schedule-team-cell > a { display: flex!important; align-items: center!important; min-height: 34px; min-width: 0; gap: 7px; color: var(--pfm-ink); font-size: 14.5px!important; font-weight: 850!important; line-height: 1.2!important; white-space: nowrap; }
.pfm-nfl-schedule .pfm-schedule-team-cell > a span { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pfm-nfl-schedule .pfm-schedule-team-cell img { width: 27px; height: 27px; flex: 0 0 27px; }
.pfm-nfl-schedule .pfm-schedule-home-marker { width: 21px; flex: 0 0 21px; margin-right: 2px; color: var(--pfm-muted); font-size: 9.5px; }
.pfm-nfl-schedule .pfm-schedule-score-cell { grid-column: 1/3; align-self: center; padding-top: 1px!important; font-size: 12.5px!important; line-height: 1.2!important; white-space: nowrap!important; }
.pfm-nfl-schedule .pfm-schedule-rank-cell { grid-column: 3/5; align-self: center; padding-top: 1px!important; font-size: 12.5px!important; line-height: 1.2!important; text-align: right!important; white-space: nowrap!important; }
.pfm-nfl-schedule .pfm-schedule-game-start .pfm-schedule-score-cell,
.pfm-nfl-schedule .pfm-schedule-game-start .pfm-schedule-rank-cell { grid-row: 3; }
.pfm-nfl-schedule .pfm-schedule-game-end .pfm-schedule-score-cell,
.pfm-nfl-schedule .pfm-schedule-game-end .pfm-schedule-rank-cell { grid-row: 5; }
.pfm-nfl-schedule .pfm-schedule-score-cell::before { content: "PFM Score "; color: var(--pfm-muted); font-size: 9.5px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.pfm-nfl-schedule .pfm-schedule-rank-cell::before { content: "PFM Rank "; color: var(--pfm-muted); font-size: 9.5px; font-weight: 900; letter-spacing: .03em; text-transform: uppercase; }
.pfm-nfl-schedule .pfm-schedule-score { font-size: 13.5px; }
.pfm-nfl-schedule .pfm-schedule-rank-link { font-size: 12.5px; }
.pfm-nfl-schedule .pfm-schedule-venue { grid-column: 1/5; grid-row: 6; margin-top: 4px!important; padding-top: 3px!important; color: var(--pfm-muted)!important; font-size: 10.75px!important; line-height: 1.35!important; white-space: nowrap!important; overflow: hidden!important; text-overflow: ellipsis; }
.pfm-schedule-glance { grid-template-columns: 1fr; margin-top: 14px; }
.pfm-schedule-glance > strong,
.pfm-schedule-glance > span { padding: 6px 9px; }
.pfm-schedule-glance > span { border-left: 0; border-top: 1px solid var(--pfm-line); }
.pfm-schedule-glance > span b { margin-left: auto; padding-left: 8px; text-align: right; }
.pfm-schedule-legend { margin-top: 15px; padding: 8px 10px; }
.pfm-schedule-legend-value { font-size: 11px; line-height: 1.55; }
.pfm-schedule-sources { margin-top: 14px; padding-top: 10px; }
.pfm-schedule-sources summary { font-size: 11.5px!important; }
.pfm-schedule-sources p { font-size: 11px!important; }
}
@media (max-width: 360px) {
.pfm-nfl-schedule h1 { font-size: 32px!important; }
.pfm-schedule-week-form { grid-template-columns: auto minmax(0,1fr) 52px; gap: 7px; }
.pfm-nfl-schedule .pfm-schedule-go { width: 52px!important; min-width: 52px!important; }
.pfm-nfl-schedule .pfm-schedule-table tbody.pfm-schedule-game { gap: 0 6px; padding: 6px 8px 7px!important; }
.pfm-nfl-schedule .pfm-schedule-team-cell > a { gap: 6px; font-size: 13.5px!important; }
.pfm-nfl-schedule .pfm-schedule-team-cell img { width: 25px; height: 25px; flex-basis: 25px; }
.pfm-nfl-schedule .pfm-schedule-home-marker { width: 19px; flex-basis: 19px; font-size: 9px; }
.pfm-nfl-schedule .pfm-schedule-score-cell,
.pfm-nfl-schedule .pfm-schedule-rank-cell { font-size: 12px!important; }
.pfm-nfl-schedule .pfm-schedule-score-cell::before,
.pfm-nfl-schedule .pfm-schedule-rank-cell::before { font-size: 9px; }
.pfm-nfl-schedule .pfm-schedule-score { font-size: 13px; }
.pfm-nfl-schedule .pfm-schedule-rank-link { font-size: 12px; }
.pfm-nfl-schedule .pfm-schedule-time,
.pfm-nfl-schedule .pfm-schedule-tv { font-size: 12px!important; }
}
@media (prefers-reduced-motion: reduce) {
.pfm-nfl-schedule * { scroll-behavior: auto!important; animation: none!important; transition: none!important; }
}