/* ==========================================================================
   BookieFinder — Base
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

body.bf-page {
	margin: 0;
	font-family: var(--bf-font);
	font-size: 16px;
	color: var(--bf-ink);
	background: var(--bf-bg);
	-webkit-font-smoothing: antialiased;
	line-height: 1.55;
	overflow-x: hidden;
}

img { max-width: 100%; display: block; }

a { color: inherit; text-decoration: none; }
a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 2px; }

button { font-family: inherit; cursor: pointer; }

h1, h2, h3, h4 {
	margin: 0;
	line-height: 1.15;
	font-family: var(--bf-font-display);
	font-weight: 600;
	letter-spacing: -0.01em;
	overflow-wrap: anywhere;
}
h1 { font-size: clamp(30px, 4vw, 42px); }
h2 { font-size: clamp(22px, 2.6vw, 28px); }
h3 { font-size: 19px; }
h4 { font-size: 16px; }

p { margin: 0; }

ul, ol { margin: 0; padding: 0; list-style: none; }

input, select, textarea { font-family: inherit; font-size: 16px; color: var(--bf-ink); }

.screen-reader-text {
	position: absolute;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.bf-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	background: var(--bf-brand);
	color: #fff;
	padding: 12px 20px;
	z-index: 10000;
}
.bf-skip-link:focus { left: 0; }

.bf-container {
	max-width: var(--bf-container);
	margin: 0 auto;
	padding: 0 24px;
}

.bf-main { display: block; min-height: 40vh; }

.bf-i { display: inline-block; vertical-align: -3px; flex: 0 0 auto; }

/* Focus visibility */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--bf-accent-dark);
	outline-offset: 2px;
}

/* Small caps label used for section eyebrows, tiers, table headers */
.bf-eyebrow {
	display: block;
	font-family: var(--bf-font);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bf-muted);
	margin-bottom: 8px;
}

.bf-lede { font-size: 17px; color: var(--bf-muted); max-width: 62ch; }

/* Tabular figures for counts and distances */
.bf-num { font-variant-numeric: tabular-nums; }
