/* MPF Events — Print / Save as PDF */

/* ---- The button (screen) ---- */
.mpfe-print-btn {
	display: inline-flex; align-items: center; gap: 8px;
	margin: 18px 0 0; padding: 9px 18px;
	font-family: "Open Sans", Calibri, Arial, sans-serif; font-size: 12px; font-weight: 700;
	letter-spacing: .08em; text-transform: uppercase; line-height: 1;
	color: inherit; background: transparent; border: 1.5px solid currentColor; border-radius: 3px;
	cursor: pointer; transition: background .15s, color .15s;
}
.mpfe-print-btn:hover, .mpfe-print-btn:focus-visible { background: rgba(0, 85, 140, .08); outline: none; }
.mpfe-print-btn.mpfe-on-dark:hover, .mpfe-print-btn.mpfe-on-dark:focus-visible { background: rgba(255, 255, 255, .16); }
.mpfe-print-btn svg { flex: 0 0 auto; }
.mpfe-print-row { margin: 22px 0 0; }
.mpfe .mpfe-print-btn { color: var(--mpfe-navy, #1b4b7a); margin-top: 0; }
.mpfe-print-wrap { display: none; }

/* ---- Print template ---- */
@media print {
	@page { size: Letter; margin: 0.55in 0.6in 0.55in; }
	/* Page numbers (Chrome/Edge); the empty boxes suppress the browser's own date/title/URL header and footer. */
	@page {
		@top-left { content: ""; } @top-center { content: ""; } @top-right { content: ""; }
		@bottom-left { content: ""; } @bottom-center { content: ""; }
		@bottom-right { content: "Page " counter(page) " of " counter(pages); font: 8.5pt "Open Sans", Calibri, Arial, sans-serif; color: #7a8590; }
	}

	html { margin: 0 !important; padding: 0 !important; }
	body.mpfe-printing { margin: 0 !important; padding: 0 !important; background: #fff !important; color: #2b3138; font-size: 10.5pt; line-height: 1.5;
		-webkit-print-color-adjust: exact; print-color-adjust: exact; }
	body.mpfe-printing > :not(.mpfe-print-wrap) { display: none !important; }
	body.mpfe-printing .mpfe-print-wrap { display: table; width: 100%; border-collapse: collapse; table-layout: fixed; }
	.mpfe-print-wrap > thead { display: table-header-group; }
	.mpfe-print-wrap > tfoot { display: table-footer-group; }
	.mpfe-print-wrap td { padding: 0; vertical-align: top; }
	.mpfe-print-wrap > thead td { padding-bottom: 18px; }
	.mpfe-print-wrap > tfoot td { padding-top: 26px; }

	/* Header: logo + site, repeats on every page */
	.mpfe-ph { display: flex; align-items: flex-end; justify-content: space-between; border-bottom: 2px solid #00558c; padding-bottom: 8px; }
	.mpfe-ph img { height: 34px !important; width: auto !important; max-width: 60% !important; max-height: 34px !important; object-fit: contain; }
	.mpfe-ph-name { font: 700 14pt Garamond, "EB Garamond", Georgia, serif; color: #00558c; }
	.mpfe-ph-r { font: 700 8.5pt "Open Sans", Calibri, Arial, sans-serif; letter-spacing: .06em; text-transform: uppercase; color: #00558c; text-align: right; }
	.mpfe-ph-r span { display: block; font-weight: 400; letter-spacing: 0; text-transform: none; color: #676767; }
	.mpfe-ph-accent { width: 72px; height: 2px; background: #7cc142; }

	/* Footer: name, address, print date */
	.mpfe-pf { display: flex; justify-content: space-between; gap: 20px; border-top: 1px solid #d9dee5; padding-top: 6px; font: 8.5pt "Open Sans", Calibri, Arial, sans-serif; color: #7a8590; }
	.mpfe-pf b { color: #00558c; }
	.mpfe-pf a { color: inherit; text-decoration: none; }

	/* Things that never print */
	.mpfe-printing .mpfe-print-hide, .mpfe-printing .mpfe-print-btn, .mpfe-printing .mpfe-print-row,
	.mpfe-printing .elementor-widget-nav-menu, .mpfe-printing .elementor-widget-button,
	.mpfe-printing .elementor-widget-testimonials_single, .mpfe-printing .elementor-widget-publication_breadcrumb_widget,
	.mpfe-printing .elementor-widget-publication_related_articles_widget, .mpfe-printing .elementor-widget-search-form,
	.mpfe-printing .elementor-widget-video, .mpfe-printing .elementor-widget-share-buttons, .mpfe-printing .elementor-widget-form,
	.mpfe-printing .mpfe-form, .mpfe-printing .cmplz-cookiebanner-container, .mpfe-printing .pub-share-row, .mpfe-printing .pub-share-btn,
	.mpfe-printing .nectar-social, .mpfe-printing .sharing-buttons, .mpfe-printing [class*="share-row"], .mpfe-printing [class*="social-share"], .mpfe-printing #cmplz-manage-consent,
	.mpfe-printing .elementor-background-video-container, .mpfe-printing .elementor-motion-effects-layer,
	.mpfe-printing .swiper-button-next, .mpfe-printing .swiper-button-prev, .mpfe-printing .swiper-pagination { display: none !important; }

	/* Elementor layout: single column, full width, no fancy backgrounds on the hero */
	.mpfe-printing .e-con, .mpfe-printing .e-con-inner, .mpfe-printing .elementor-section, .mpfe-printing .elementor-container {
		--width: 100% !important; --content-width: 100% !important; --container-max-width: 100% !important;
		width: 100% !important; max-width: 100% !important; min-height: 0 !important; flex-basis: auto !important;
		--margin-top: 0; --margin-bottom: 0; --margin-left: 0; --margin-right: 0; margin-left: 0 !important; margin-right: 0 !important;
		box-shadow: none !important; transform: none !important; opacity: 1 !important;
	}
	.mpfe-printing .e-con.e-flex > .e-con-inner, .mpfe-printing .e-con.e-flex { flex-wrap: wrap !important; }
	/* Tighter spacing on paper */
	.mpfe-printing .e-con { --padding-top: 6px !important; --padding-bottom: 6px !important; --padding-left: 10px !important; --padding-right: 10px !important;
		--gap: 8px !important; --row-gap: 8px !important; --column-gap: 14px !important; --min-height: 0 !important; }
	.mpfe-printing .agenda-item { padding: 8px 0 !important; break-inside: avoid; }
	.mpfe-printing .agenda-day-block { margin-bottom: 18px !important; }
	.mpfe-printing .agenda-day-header, .mpfe-printing .agenda-day-block > *:first-child { break-after: avoid; }
	.mpfe-printing [data-elementor-type] > .e-con, .mpfe-printing [data-elementor-type] > .e-con > .e-con-inner {
		padding-left: 0 !important; padding-right: 0 !important; padding-top: 0 !important; padding-bottom: 12px !important;
		background: transparent !important; background-image: none !important; border: 0 !important;
	}
	.mpfe-printing [data-elementor-type] > .e-con::before, .mpfe-printing [data-elementor-type] > .e-con > .e-con-inner::before { display: none !important; }
	.mpfe-printing .elementor-element, .mpfe-printing .elementor-widget-container { animation: none !important; transform: none !important; opacity: 1 !important; visibility: visible !important; }
	.mpfe-printing .elementor-invisible { visibility: visible !important; }

	/* Type: hero text turns navy/ink on white */
	.mpfe-printing [data-elementor-type] > .e-con:first-child .elementor-heading-title,
	.mpfe-printing [data-elementor-type] > .e-con:first-child h1, .mpfe-printing [data-elementor-type] > .e-con:first-child h2 { color: #00558c !important; }
	.mpfe-printing [data-elementor-type] > .e-con:first-child .elementor-widget-text-editor,
	.mpfe-printing [data-elementor-type] > .e-con:first-child .elementor-widget-text-editor * { color: #3d4650 !important; }
	.mpfe-printing [data-elementor-type] > .e-con:first-child .ph-eyebrow, .mpfe-printing [data-elementor-type] > .e-con:first-child .ph-resource { color: #7cc142 !important; }
	.mpfe-printing [data-elementor-type] > .e-con:first-child .ph-type-chip { border: 1px solid #00558c !important; color: #00558c !important; background: transparent !important; }
	.mpfe-printing [data-elementor-type] > .e-con:first-child .ph-title { color: #00558c !important; }
	.mpfe-printing [data-elementor-type] > .e-con:first-child .ph-meta, .mpfe-printing [data-elementor-type] > .e-con:first-child .ph-meta * { color: #676767 !important; }
	.mpfe-printing [data-elementor-type] > .e-con:first-child [style*="max-width"] { max-width: 100% !important; }

	.mpfe-printing h1, .mpfe-printing h1.elementor-heading-title, .mpfe-printing .ph-title { font-size: 24pt !important; line-height: 1.15 !important; margin: 0 0 6px !important; }
	.mpfe-printing h2, .mpfe-printing h2.elementor-heading-title { font-size: 17pt !important; line-height: 1.2 !important; }
	.mpfe-printing h3, .mpfe-printing h3.elementor-heading-title { font-size: 13.5pt !important; line-height: 1.25 !important; }
	.mpfe-printing h4, .mpfe-printing h5, .mpfe-printing h6, .mpfe-printing h4.elementor-heading-title, .mpfe-printing h5.elementor-heading-title { font-size: 11pt !important; }
	.mpfe-printing .elementor-widget-text-editor, .mpfe-printing .elementor-widget-text-editor p, .mpfe-printing .elementor-widget-text-editor li,
	.mpfe-printing .elementor-widget-icon-box, .mpfe-printing .elementor-widget-icon-list, .mpfe-printing .elementor-widget-publication_body_widget,
	.mpfe-printing .elementor-widget-publication_body_widget p, .mpfe-printing .elementor-widget-publication_body_widget li,
	.mpfe-printing .elementor-icon-box-description, .mpfe-printing .elementor-icon-list-text { font-size: 10.5pt !important; line-height: 1.5 !important; }
	.mpfe-printing .elementor-widget-text-editor p, .mpfe-printing .elementor-widget-publication_body_widget p { margin: 0 0 9pt !important; }
	.mpfe-printing .elementor-widget:not(:last-child) { margin-bottom: 6px !important; }
	/* Page title and its small kicker (marked by print.js) */
	.mpfe-printing .mpfe-print-title, .mpfe-printing .mpfe-print-title .elementor-heading-title { font-size: 24pt !important; line-height: 1.15 !important; color: #00558c !important; }
	.mpfe-printing .mpfe-print-kicker, .mpfe-printing .mpfe-print-kicker .elementor-heading-title { font-size: 9.5pt !important; font-weight: 700 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: #7cc142 !important; margin: 0 0 4px !important; }

	/* Links, images, pagination */
	.mpfe-printing a { color: #00558c !important; text-decoration: none !important; }
	.mpfe-printing a[href]::after { content: none !important; }
	.mpfe-printing img { max-width: 100% !important; height: auto !important; break-inside: avoid; }
	.mpfe-printing .elementor-widget-heading, .mpfe-printing .elementor-widget-image { break-after: avoid; break-inside: avoid; }
	.mpfe-printing .elementor-widget-icon-box, .mpfe-printing .elementor-widget-image-box, .mpfe-printing .mpfe-avoid-break,
	.mpfe-printing .elementor-widget-testimonial, .mpfe-printing .elementor-widget-counter, .mpfe-printing table tr { break-inside: avoid; }
	.mpfe-printing .swiper-slide { display: block !important; }
	.mpfe-printing details { display: block; } .mpfe-printing details > * { display: block; }

	/* Registration confirmation: only the confirmation box prints */
	.mpfe-printing .mpfe-done { max-width: 100% !important; }
	.mpfe-printing .mpfe-done-inner { border: 0 !important; padding: 0 !important; }
	.mpfe-printing .mpfe-check-icon { display: none !important; }
	.mpfe-printing .mpfe-done h3 { color: #00558c !important; font-size: 24pt !important; }
	.mpfe-printing .mpfe-summary td { padding: 6px 10px 6px 0 !important; }
}
