handbook-engine / app /static /css /print.css
internationalscholarsprogram's picture
Initial deploy: ISP Handbook PDF engine
2deab8c verified
/* =========================================================
ISP HANDBOOK - CORRECTED PRINT CSS
Uses real page margins (2.54 cm all sides)
Removes negative-margin / negative-offset layout tricks
Keeps decorative elements from breaking content flow
========================================================= */
/* ------------------------------
PAGE SETUP
------------------------------ */
@page {
size: A4;
margin: 2.54cm;
}
/* Optional cover page: use only if your renderer supports named pages */
@page cover {
size: A4;
margin: 0;
}
/* ------------------------------
RESET
------------------------------ */
*,
*::before,
*::after {
box-sizing: border-box;
}
html,
body {
margin: 0;
padding: 0;
font-family: "Century Gothic", "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
font-size: 10pt;
line-height: 1.45;
color: #1a1a1a;
text-align: justify;
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
background: #ffffff;
}
/* ------------------------------
EXTERNAL PLAYWRIGHT HEADER/FOOTER
Keep hidden in body flow if using templates
------------------------------ */
.page-header,
.page-footer {
display: none !important;
}
.page-header img {
display: block;
width: 8.45in;
height: 1.03in;
}
/* ------------------------------
SAFE CONTENT WRAPPER
------------------------------ */
.page-content {
display: block;
width: 100%;
max-width: 100%;
margin: 0;
padding: 0;
position: relative;
z-index: 1;
overflow: visible;
word-wrap: break-word;
overflow-wrap: break-word;
}
/* Prevent accidental blank page after cover */
.cover-page+.page-content,
.cover-page+.toc-page,
.cover-page+.section-block {
page-break-before: auto;
break-before: auto;
}
/* Prevent accidental blank page from a leading .page-break */
.page-content> :first-child.page-break,
.page-content> :first-child.section-block.page-break {
page-break-before: auto;
break-before: auto;
}
/* ------------------------------
DECORATIVE RIGHT-SIDE LABEL
Hidden in the base HTML. Rendered as a PDF overlay
by pdf_renderer.py onto content pages only.
Kept here so the <img> loads for src extraction.
Dimensions: 2.5cm × 24.6cm (vertical strip, right edge, matches Word image4.png)
------------------------------ */
.hb-right-label {
position: absolute;
top: -9999px;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
pointer-events: none;
}
.hb-right-label img {
display: block;
}
/* ------------------------------
TYPOGRAPHY — matching Word handbook exactly
H1: 12pt, #0263A3, uppercase, no bold, no border
H2-H6: color varies by context, no bold, no border
------------------------------ */
.hb-heading-1,
.h2,
h1 {
font-size: 12pt;
font-weight: 700;
color: #0263A3;
margin: 4pt 0 10pt;
padding-bottom: 0;
border-bottom: none;
line-height: 1.25;
text-transform: uppercase;
text-align: left;
text-decoration: none;
page-break-after: avoid;
break-after: avoid;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-heading-2,
.h3,
h2,
h3,
h4,
h5,
h6 {
font-size: 11pt;
font-weight: 700;
color: #199970;
margin: 12pt 0 6pt;
padding-bottom: 0;
border-bottom: none;
line-height: 1.25;
text-align: left;
text-decoration: none;
page-break-after: avoid;
break-after: avoid;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-paragraph,
.p,
p {
margin: 6pt 0 2pt;
font-size: 10pt;
line-height: 1.5;
text-align: justify;
orphans: 3;
widows: 3;
}
strong,
b {
font-weight: 700;
}
em,
i {
font-style: italic;
}
a,
a:visited {
color: #0263A3;
text-decoration: none;
border-bottom: 0.5pt solid #0263A3;
word-break: break-word;
}
/* ------------------------------
LISTS
------------------------------ */
.hb-bullet-list,
.ul,
ul.hb-bullet-list {
list-style: none !important;
margin: 4pt 0 10pt 16pt;
padding: 0;
font-size: 9.5pt;
}
.hb-bullet-list li,
.ul li,
ul.hb-bullet-list li {
position: relative;
margin: 0 0 5pt;
padding-left: 16pt;
line-height: 1.45;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-bullet-list li::before,
.ul li::before,
ul.hb-bullet-list li::before {
content: "\27A4";
position: absolute;
left: 0;
top: 0;
color: #0263A3;
font-size: 8pt;
font-weight: 700;
}
/* ordered lists */
.hb-numbered-list,
.ol,
ol.hb-numbered-list {
list-style: decimal !important;
margin: 4pt 0 10pt 18pt;
padding: 0;
font-size: 9.5pt;
}
.hb-numbered-list li,
.ol li,
ol.hb-numbered-list li {
margin: 0 0 5pt;
padding-left: 2pt;
line-height: 1.45;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-numbered-list li::before,
.ol li::before,
ol.hb-numbered-list li::before {
content: none !important;
}
/* Sub-bullets — checkmarks, indented under parent bullet */
.hb-sub-bullets {
margin-left: 32pt !important;
}
.hb-sub-bullets li::before {
content: "\2713" !important;
color: #199970;
font-size: 9pt;
font-weight: 700;
}
/* ------------------------------
NOTES / EMPHASIS
Guideline requires full bold text;
NOTE and ONLY IF in red.
------------------------------ */
.hb-note,
.note {
margin: 10pt 0 12pt;
padding: 8pt 10pt 8pt 14pt;
border-left: 3.5pt solid #C00000;
background: #FFF8F8;
border-radius: 0 2pt 2pt 0;
font-size: 10pt;
line-height: 1.45;
font-weight: 700;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-note-keyword,
.note-keyword,
.note .keyword,
.only-if {
color: #C00000;
font-weight: 700;
}
/* ------------------------------
BOLD EMPHASIS FOR KEY INFORMATION
Payment amounts, REGULAR, PRIME, critical terms
------------------------------ */
.hb-bold-keyword {
font-weight: 700;
}
.hb-red-keyword {
font-weight: 700;
color: #C00000;
}
/* ------------------------------
SCHOOL INFO - Green color for school information
------------------------------ */
.hb-school-info {
color: #199970;
font-size: 9.5px;
}
/* ------------------------------
HELPERS
------------------------------ */
.page-break {
page-break-before: always;
break-before: page;
}
.avoid-break {
page-break-inside: avoid;
break-inside: avoid;
}
.keep-with-next {
page-break-after: avoid;
break-after: avoid;
}
.clearfix::after {
content: "";
display: block;
clear: both;
}
.debug-block {
border: 2px dashed #cc0000;
padding: 12px;
background: #fffbe6;
page-break-inside: avoid;
break-inside: avoid;
}
/* ------------------------------
COVER PAGE
Prefer named page.
If unsupported by renderer, cover will still render safely.
------------------------------ */
.cover-page {
page: cover;
page-break-after: always;
break-after: page;
margin: 0;
padding: 0;
position: relative;
overflow: hidden;
}
.cover-img {
display: block;
width: 100%;
height: auto;
}
/* ------------------------------
FULL-PAGE IMAGE PAGES
Only use when intentionally full-page.
------------------------------ */
.fullpage-img-wrap {
page: cover;
page-break-before: always;
break-before: page;
page-break-after: always;
break-after: page;
margin: 0;
padding: 0;
position: relative;
overflow: hidden;
}
.fullpage-img {
display: block;
width: 100%;
height: auto;
}
img {
max-width: 100%;
height: auto;
}
/* ------------------------------
TABLES - GLOBAL
Clean styling matching Word handbook: white cells,
bold headers, thin black borders, no colored fills.
------------------------------ */
table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
max-width: 100%;
overflow: hidden;
page-break-inside: auto;
break-inside: auto;
}
thead {
display: table-header-group;
}
tfoot {
display: table-row-group;
}
tr {
page-break-inside: avoid;
break-inside: avoid;
}
.hb-table,
.tbl {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
max-width: 100%;
margin: 10pt 0 14pt;
font-size: 9.5pt;
line-height: 1.35;
border: 0.75pt solid #000000;
}
.hb-table th,
.hb-table td,
.tbl th,
.tbl td {
border: 0.75pt solid #000000;
padding: 6pt 8pt;
vertical-align: top;
word-wrap: break-word;
overflow-wrap: break-word;
font-size: 9.5pt;
line-height: 1.35;
background: #ffffff;
color: #1a1a1a;
text-align: left;
}
.hb-table th,
.tbl th {
font-weight: 700;
text-transform: uppercase;
}
/* comparison table */
.hb-table-comparison,
.tbl-comparison {
font-size: 9pt;
}
.hb-table-comparison th,
.tbl-comparison th {
text-align: left;
font-size: 9pt;
font-weight: 700;
text-transform: uppercase;
}
/* Section-divider row: teal background matching Word doc #31849B */
.hb-table th.is-regular-col,
.hb-table td.is-regular-col,
.tbl th.is-regular-col,
.tbl td.is-regular-col {
color: #ffffff;
font-weight: 700;
background: #31849B;
}
.hb-table td.is-regular-col,
.tbl td.is-regular-col {
color: #31849B;
background: transparent;
}
.hb-table th.is-prime-col,
.hb-table td.is-prime-col,
.tbl th.is-prime-col,
.tbl td.is-prime-col {
color: #ffffff;
font-weight: 700;
background: #1F497D;
}
.hb-table td.is-prime-col,
.tbl td.is-prime-col {
color: #1F497D;
background: transparent;
}
/* ------------------------------
PROGRAM TABLES
Matching Word handbook: bold green (#199970) header text,
white cells, thin black borders, no colored fills.
------------------------------ */
.hb-programs,
table.programs {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
max-width: 100%;
margin: 10pt 0 14pt;
border: 0.75pt solid #000000;
font-family: "Century Gothic", "Segoe UI", sans-serif;
}
.hb-programs th,
.hb-programs td,
table.programs th,
table.programs td {
border: 0.75pt solid #000000;
padding: 5pt 6pt;
vertical-align: top;
word-wrap: break-word;
overflow-wrap: break-word;
font-size: 8.75pt;
line-height: 1.3;
background: #ffffff;
color: #1a1a1a;
}
.hb-programs th,
table.programs th {
font-weight: 700;
background: #ffffff;
color: #199970;
text-transform: uppercase;
text-align: left;
letter-spacing: 0.3px;
font-size: 8.5pt;
padding: 6pt 6pt;
}
.hb-programs td,
table.programs td {
text-align: left;
}
.hb-programs td a,
table.programs td a {
text-decoration: none;
border-bottom: none;
color: #1c75bc;
font-weight: 700;
}
.hb-programs th:nth-child(1),
.hb-programs td:nth-child(1),
table.programs th:nth-child(1),
table.programs td:nth-child(1) {
width: 22%;
}
.hb-programs th:nth-child(2),
.hb-programs td:nth-child(2),
table.programs th:nth-child(2),
table.programs td:nth-child(2) {
width: 14%;
}
.hb-programs th:nth-child(3),
.hb-programs td:nth-child(3),
table.programs th:nth-child(3),
table.programs td:nth-child(3) {
width: 16%;
}
.hb-programs th:nth-child(4),
.hb-programs td:nth-child(4),
table.programs th:nth-child(4),
table.programs td:nth-child(4) {
width: 30%;
}
.hb-programs th:nth-child(5),
.hb-programs td:nth-child(5),
table.programs th:nth-child(5),
table.programs td:nth-child(5) {
width: 18%;
}
/* career list inside programs table */
.hb-career-list,
.career-list {
margin: 0;
padding-left: 12pt;
list-style-type: disc;
}
.hb-career-list li,
.career-list li {
margin: 0 0 2pt;
padding-left: 0;
line-height: 1.2;
font-size: 8.75pt;
}
.hb-career-list li::before,
.career-list li::before {
content: none;
}
/* ------------------------------
TABLE OF CONTENTS
Stable within content width
------------------------------ */
/* ── Table of Contents ─────────────────────────── */
.toc-page {
display: block;
width: 100%;
margin: 0;
padding: 0;
page-break-after: always;
break-after: page;
page-break-inside: avoid;
break-inside: avoid;
}
.toc {
width: 100%;
margin: 0;
padding: 0;
}
.toc-heading {
display: block;
font-size: 14pt;
font-weight: 700;
text-transform: uppercase;
color: #0263A3;
margin: 0 0 6pt;
padding-bottom: 3pt;
border-bottom: 2.5pt solid #0263A3;
line-height: 1.2;
}
/* Each TOC row: flex row, single line, with dot leader filling gap */
.toc-entry {
display: flex;
flex-direction: row;
align-items: baseline;
margin: 0;
padding: 1.5pt 0;
line-height: 1.2;
font-size: 9pt;
color: #1a1a1a;
overflow: hidden;
white-space: nowrap;
}
/* Major section rows: bold, uppercase */
.toc-entry--major {
font-weight: 700;
text-transform: uppercase;
font-size: 9pt;
}
/* Sub-items (universities): regular weight */
.toc-entry--sub {
font-weight: 400;
text-transform: none;
font-size: 8.5pt;
}
/* Indented entries (universities) */
.toc-entry--indent {
padding-left: 16pt;
}
/* Title text: no shrink, no wrap */
.toc-label {
flex: 0 1 auto;
overflow: hidden;
text-overflow: clip;
white-space: nowrap;
}
/* Dot leader: fills remaining space between title and page number */
.toc-leader {
flex: 1 1 auto;
overflow: hidden;
white-space: nowrap;
margin: 0 3pt;
min-width: 16pt;
}
.toc-leader::after {
content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .";
display: inline;
font-size: 7.5pt;
letter-spacing: 0pt;
color: #999;
word-spacing: 0;
}
/* Page number: fixed width, right-aligned, no shrink */
span.toc-page {
flex: 0 0 auto;
text-align: right;
min-width: 20pt;
font-weight: 400;
color: #1a1a1a;
white-space: nowrap;
font-style: normal;
font-size: inherit;
}
/* Links inside TOC */
.toc-entry a,
.toc-entry a:visited {
color: inherit;
text-decoration: none;
border-bottom: none;
}
/* ------------------------------
SECTION BLOCKS
------------------------------ */
.section-block {
display: block;
width: 100%;
margin: 0 0 12pt;
padding: 0;
border: none;
}
.section-block> :first-child {
margin-top: 0;
}
.summary-section {
display: block;
}
/* Tier group divider heading (Tier One, Tier Two, etc.) */
.tier-group-heading {
page-break-before: always;
break-before: page;
}
.tier-group-heading .hb-heading-1,
.tier-group-heading .h1 {
font-size: 12pt;
font-weight: normal;
color: #199970;
text-align: center;
border-bottom: none;
border-top: none;
padding: 10pt 0;
margin: 20pt 0 12pt;
}
/* ------------------------------
ENROLMENT STEPS
Dedicated page block
------------------------------ */
.hb-enrollment-steps,
.sec-steps {
page-break-before: always;
break-before: page;
page-break-after: always;
break-after: page;
}
.hb-step {
margin: 0 0 12pt;
padding: 8pt 0 8pt 12pt;
border-left: 3pt solid #199970;
background: #F6FBF9;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-step-title {
font-size: 10.5pt;
font-weight: 700;
color: #199970;
margin: 0 0 4pt;
line-height: 1.25;
page-break-after: avoid;
break-after: avoid;
}
.hb-step-qr-wrap {
margin: 4pt 0 6pt;
text-align: center;
}
.hb-step-qr {
display: inline-block;
width: 72pt;
height: 72pt;
margin: 4pt 0 6pt;
}
.hb-telegram-link {
margin: 4pt 0 2pt;
text-align: center;
}
.hb-telegram-link a {
color: #0263A3;
text-decoration: underline;
font-size: 9pt;
}
.hb-plain-url {
font-weight: 400;
color: #0263A3;
text-decoration: underline;
}
/* legacy step support */
.sec-steps .h3 {
margin: 0 0 4pt;
font-size: 10pt;
color: #199970;
}
.sec-steps .p {
margin: 0 0 6pt;
}
.sec-steps .ul {
margin: 0 0 6pt 16pt;
}
/* ------------------------------
UNIVERSITY / SCHOOL PAGE
------------------------------ */
.uni,
.hb-school-profile {
page-break-before: always;
break-before: page;
padding: 0;
}
.hb-uni-name,
.uni-name {
font-size: 12pt;
font-weight: 700;
margin: 0 0 3pt;
padding-bottom: 0;
border-bottom: none;
color: #0263A3;
line-height: 1.2;
text-transform: none;
text-decoration: underline;
text-underline-offset: 2pt;
}
.hb-uni-name a,
.hb-uni-name-link,
.uni-name a.uni-name-link {
color: #0263A3;
text-decoration: underline;
text-underline-offset: 2pt;
border-bottom: none;
font-weight: 700;
}
/* School info directly below school name in green */
.hb-summary-title,
.summary-title {
font-size: 10pt;
font-weight: 700;
text-transform: uppercase;
margin: 6pt 0 4pt;
color: #199970;
letter-spacing: 0.2px;
}
.hb-summary-ul,
.summary-ul {
list-style: none;
margin: 0 0 8pt;
padding: 0;
}
.hb-summary-ul li,
.summary-ul li {
margin: 0 0 3pt;
padding: 0;
font-size: 10pt;
line-height: 1.3;
color: #199970;
font-weight: 700;
}
.hb-summary-ul li::before,
.summary-ul li::before {
content: none;
}
.hb-lbl,
.lbl {
font-weight: 700;
color: #199970;
}
.hb-uni-website,
.uni-website {
margin: 4pt 0 8pt;
font-size: 10pt;
color: #199970;
}
/* top school layout */
.hb-school-top-table,
.school-top-table {
width: 100%;
border-collapse: collapse;
table-layout: fixed;
margin: 0 0 6pt;
border: none;
}
.hb-school-top-table td,
.school-top-table td {
border: none;
padding: 0;
vertical-align: top;
}
.hb-school-top-summary,
.school-top-summary {
width: 52%;
padding-right: 10pt !important;
}
.hb-school-top-campus,
.school-top-campus {
width: 48%;
text-align: right;
}
.hb-campus-img,
.campus-top-img {
display: block;
width: 100%;
max-height: 180pt;
height: 180pt;
border: 0.75pt solid #CBD5E1;
object-fit: cover;
box-shadow: 0 1pt 4pt rgba(0, 0, 0, 0.10);
}
.hb-campus-caption,
.campus-top-cap {
display: none;
}
.hb-campus-placeholder,
.campus-placeholder-cell {
width: 100%;
min-height: 120pt;
border: 1pt dashed #CBD5E1;
color: #94A3B8;
font-size: 10pt;
padding: 10pt;
background: #F8FAFC;
}
/* ------------------------------
BENEFITS SECTION
Guideline colors retained
------------------------------ */
.hb-benefits-section,
.benefits-section {
clear: both;
margin: 8pt 0 8pt;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-benefits-heading {
margin: 0 0 4pt;
line-height: 1.3;
}
.hb-benefits-bar,
.benefits-bar {
display: inline-block;
background: linear-gradient(135deg, #199970 0%, #00C853 100%);
color: #ffffff;
font-weight: 700;
padding: 4pt 12pt;
font-size: 10pt;
line-height: 1.35;
letter-spacing: 0.3px;
}
.hb-benefits-ul,
.benefits-ul {
list-style: none;
margin: 0;
padding: 0;
}
.hb-benefits-ul li,
.hb-benefit-item,
.benefit-li {
margin: 3pt 0;
padding: 0;
font-size: 9.75pt;
line-height: 1.35;
background: none;
border: none;
}
.hb-benefits-ul li::before,
.hb-benefit-item::before,
.benefit-li::before {
content: "\27A4";
display: inline-block;
margin-right: 6pt;
color: #199970;
font-weight: 700;
}
.hb-benefit-text,
.benefit-text {
display: inline-block;
background: #E0F7FA;
padding: 2pt 6pt;
border-left: 2pt solid #00BCD4;
}
.benefit-bullet {
display: none;
}
/* ------------------------------
FUNDING SECTION
Matches benefits styling with distinct bar color
------------------------------ */
.hb-funding-section,
.funding-section {
clear: both;
margin: 6pt 0 8pt;
page-break-inside: avoid;
break-inside: avoid;
}
.hb-funding-heading {
margin: 0 0 4pt;
line-height: 1.3;
}
.hb-funding-bar,
.funding-bar {
display: inline-block;
background: linear-gradient(135deg, #0263A3 0%, #0288D1 100%);
color: #ffffff;
font-weight: 700;
padding: 4pt 12pt;
font-size: 10pt;
line-height: 1.35;
letter-spacing: 0.3px;
}
.funding-ul {
list-style: none;
margin: 0;
padding: 0;
}
.funding-li {
margin: 3pt 0;
padding: 0;
font-size: 9.75pt;
line-height: 1.35;
}
.funding-li .benefit-bullet {
display: none;
}
.funding-li::before {
content: "\27A4";
display: inline-block;
margin-right: 6pt;
color: #0263A3;
font-weight: 700;
}
.hb-funding-section .hb-benefit-item::before {
color: #0263A3;
}
.hb-funding-section .hb-benefit-text {
background: #E3F2FD;
border-left: 2pt solid #0288D1;
}
.funding-li .benefit-text {
display: inline-block;
background: #E3F2FD;
padding: 2pt 6pt;
border-left: 2pt solid #0288D1;
}
/* ------------------------------
UNIVERSITY SUMMARY LIST
Black, bold, numbered
------------------------------ */
.hb-university-list {
margin: 4pt 0 12pt 18pt;
padding: 0;
list-style: decimal;
font-size: 10pt;
color: #1a1a1a;
}
.hb-university-list li {
margin: 0 0 5pt;
padding-left: 0;
font-weight: 700;
line-height: 1.45;
color: #0263A3;
}
.hb-university-list li::before {
content: none;
}
/* ------------------------------
QUALIFICATION / MUTED TEXT
------------------------------ */
.hb-qualify,
.qualify {
margin: 10pt 0 8pt;
font-weight: 700;
font-size: 10pt;
font-style: normal;
color: #1a1a1a;
width: 100%;
padding: 8pt 10pt;
background: #F4F7FA;
border-left: 3pt solid #0263A3;
}
.hb-muted,
.muted {
color: #666666;
font-size: 10pt;
}
/* ------------------------------
SECTION-SPECIFIC OVERRIDES
------------------------------ */
.sec-overview .hb-heading-1,
.sec-overview .h2 {
margin-top: 0;
}
.sec-overview .hb-paragraph,
.sec-overview .p {
text-align: justify;
line-height: 1.4;
}
.sec-qualification .hb-heading-1,
.sec-qualification .h2 {
color: #C00000;
}
.sec-how .hb-heading-2 {
color: #C00000;
}
.sec-qualification .hb-heading-2,
.sec-qualification .h3 {
margin-top: 10pt;
}
.sec-qualification .hb-table,
.sec-qualification .tbl {
margin: 6pt 0 10pt;
}
.sec-policy .hb-heading-2,
.sec-policy .h3 {
margin-top: 10pt;
padding-bottom: 0;
}
.sec-policy .hb-note,
.sec-policy .note {
margin-top: 8pt;
}
.sec-policy .hb-table,
.sec-policy .tbl {
margin: 6pt 0 10pt;
}
.sec-refund .hb-table,
.sec-refund .tbl {
margin: 6pt 0 10pt;
}
.sec-contributions .hb-paragraph,
.sec-contributions .p,
.sec-contributions .hb-bullet-list li,
.sec-contributions .ul li {
font-weight: 700;
color: #1a1a1a;
}
.sec-contributions .hb-heading-1,
.sec-contributions .hb-heading-2,
.sec-contributions .h2,
.sec-contributions .h3 {
color: #199970;
}
.sec-contributions .hb-table,
.sec-contributions .tbl {
margin: 6pt 0 10pt;
}
.sec-contributions .hb-programs th,
.sec-contributions .hb-programs td,
.sec-contributions table.programs th,
.sec-contributions table.programs td,
.sec-funding .hb-programs th,
.sec-funding .hb-programs td,
.sec-funding table.programs th,
.sec-funding table.programs td {
text-align: left;
}
.sec-contributions .hb-programs th,
.sec-contributions table.programs th,
.sec-funding .hb-programs th,
.sec-funding table.programs th {
color: #ffffff;
font-weight: 700;
font-size: 10pt;
line-height: 1.2;
background: #199970;
}
.sec-funding .hb-table,
.sec-funding .tbl {
margin: 6pt 0 10pt;
}
.sec-funding {
page-break-before: always;
break-before: page;
}
.sec-funding .hb-table th,
.sec-funding .tbl th {
color: #ffffff;
font-weight: 700;
background: #199970;
}
/* Images must stay inside margins */
.page-content img {
max-width: 100%;
height: auto;
}
/* ------------------------------
BREAKDOWN — RELOCATION COST
------------------------------ */
/* Banner heading (teal background bar) */
.hb-banner-heading {
background: linear-gradient(135deg, #199970 0%, #0D7B55 100%);
color: #FFFFFF !important;
padding: 8pt 14pt;
margin: 12pt 0 8pt;
font-size: 11.5pt;
font-weight: 700;
letter-spacing: 0.4px;
}
/* Page break before Relocation Cost */
.sec-breakdown .page-break {
page-break-before: always;
break-before: page;
}
/* Relocation cost table — merged note cell */
.hb-relocation-table {
margin: 0 0 12pt;
}
.hb-relocation-table td {
vertical-align: top;
padding: 5pt 8pt;
border: 0.75pt solid #CBD5E1;
font-size: 9.5pt;
}
.hb-merged-note {
font-style: italic;
font-weight: 400;
font-size: 9.5pt;
line-height: 1.4;
display: block;
padding: 4pt 2pt;
}
/* ISP FINANCING line */
.hb-isp-financing {
margin: 16pt 0 8pt;
padding: 8pt 0;
border-top: 2pt solid #0263A3;
border-bottom: 2pt solid #0263A3;
text-align: center;
font-size: 10.5pt;
letter-spacing: 0.3px;
}
.hb-isp-financing strong {
font-weight: 700;
color: #0263A3;
}
.hb-isp-financing em {
font-style: italic;
color: #199970;
font-weight: 700;
}
/* NB: CREDIT FACILITY — green */
.hb-credit-note {
text-align: center;
color: #199970;
font-size: 10.5pt;
font-weight: 700;
margin: 8pt 0;
letter-spacing: 0.2px;
}