*, *::before, *::after {
	box-sizing: border-box;
}

body {
	overflow-wrap: break-word;
	color: #212630;
	line-height: 1.55;
	font-family: "Alegreya Sans", Arial, sans-serif;
	margin: 0;
	font-size: 1.125em;
	background: #ffffff;
}

h1, h2, h3, h4 {
	color: #131720;
	line-height: 1.25;
	font-family: "Alegreya", Georgia, serif;
}

a {
	color: #1d46a5;
}

img {
	max-width: 100%;
	height: auto;
}

pre, table {
	max-width: 100%;
	overflow-x: auto;
}

table {
	display: block;
	border-collapse: collapse;
}

blockquote {
	padding: 0.25em 1.25em;
	color: #606776;
	border-left: 3px solid #2855bd;
	margin: 1.25em 0;
}

.visually-hidden {
	position: absolute;
	clip: rect(0 0 0 0);
	overflow: hidden;
	white-space: nowrap;
	width: 1px;
	height: 1px;
}

.skip-link {
	position: absolute;
	left: -60em;
	top: 0;
}

.skip-link:focus {
	padding: 0.5em;
	z-index: 50;
	left: 1em;
	background: #ffffff;
}

.page-nav {
	justify-content: space-between;
	display: flex;
	gap: 1em;
	margin-top: 2em;
	flex-wrap: wrap;
}

.all-posts li {
	padding: 0.35em 0;
}

.all-posts__year-month {
	margin-top: 1.75em;
	font-size: 1.2em;
}

.branding > .page-width {
	display: grid;
	padding-top: 1.5em;
	gap: 0.75em;
	padding-bottom: 1.25em;
	grid-template-columns: minmax(0,1fr);
}

.branding {
	border-bottom: 1px solid #131720;
}

.branding__brand {
	color: #131720;
	font-family: "Alegreya", Georgia, serif;
	font-size: 1.8em;
	font-weight: 700;
	text-decoration: none;
}

.branding__strapline {
	color: #606776;
	margin: 0.25em 0 0;
	font-size: 0.9em;
}

.index-no {
	color: #2855bd;
	font-size: 0.75em;
	font-weight: 700;
}

.menu__links {
	list-style: none;
	padding: 0;
	justify-content: flex-start;
	margin: 0;
	display: flex;
	gap: 0.25em 1.1em;
	flex-wrap: wrap;
}

.menu__links a {
	color: #212630;
	font-size: 0.95em;
	text-decoration: none;
}

.menu__links a:hover {
	color: #1d46a5;
	text-decoration: underline;
}

.intro {
	overflow-wrap: break-word;
	box-sizing: border-box;
	margin-bottom: 2em;
}

.intro .intro__display-title {
	line-height: 1.15;
	margin: 0 0 0.5em;
	font-size: 2em;
}

.intro .intro__text {
	margin: 0 0 1em;
	max-width: 60ch;
	font-size: 1.08em;
}

.intro img {
	max-width: 100%;
}

.intro-cs > .page-width {
	padding-top: 3em;
	padding-bottom: 1.5em;
	text-align: center;
}

.intro-cs .intro__text {
	margin-right: auto;
	margin-left: auto;
}

.intro-cs .intro__visual img {
	display: block;
	object-fit: cover;
	width: 100%;
	max-height: 26em;
}

.page-title h1 {
	color: #131720;
	margin: 0 0 1.25em;
	font-size: 1.5em;
}

.page-width {
	margin: 0 auto;
	padding-left: 1em;
	max-width: 72em;
	padding-right: 1em;
	box-sizing: border-box;
}

.row {
	padding-top: 1.5em;
	padding-bottom: 2.5em;
}

.page-content {
	min-width: 0;
}

.sidebar-right {
	min-width: 0;
	margin-top: 2em;
}

.post-item__entry-title {
	line-height: 1.25;
	font-family: "Alegreya", Georgia, serif;
	margin: 0 0 0.4em;
	font-size: 1.55em;
}

.post-item__entry-title a {
	color: #131720;
	text-decoration: none;
}

.post-item__entry-title a:hover {
	color: #1d46a5;
	text-decoration: underline;
}

.post-item__dateline {
	color: #606776;
	margin: 0 0 0.9em;
	font-size: 0.85em;
}

.post-item__dateline a {
	color: #606776;
}

.post-item__details img {
	max-width: 100%;
	height: auto;
}

.post-item__details h2:not(.post-item__entry-title), .post-item__standfirst h2 {
	margin: 1.25em 0 0.5em;
	font-size: 1.15em;
}

.post-item__details h3, .post-item__standfirst h3 {
	font-size: 1.02em;
}

.post-item__media {
	margin: 0 0 1em;
}

.post-item__media img {
	border-radius: 0.75em;
	display: block;
	width: 100%;
	height: auto;
}

.top-story .post-item__entry-title {
	line-height: 1.15;
	font-size: 2.1em;
}

.top-story {
	border-bottom: 3px solid #131720;
	padding-bottom: 1.5em;
	margin-bottom: 2em;
}

.side-story {
	display: grid;
	gap: 2em;
	grid-template-columns: minmax(0,1fr);
	margin-bottom: 2em;
}

.posts-sm {
	list-style: none;
	padding: 0;
	margin: 0;
}

.posts-sm .post-item {
	display: grid;
	gap: 0.5em;
	border-bottom: 1px solid #d2d8e4;
	padding-bottom: 2em;
	grid-template-columns: minmax(0,1fr);
	margin-bottom: 2em;
}

.posts-sm .post-item__dateline {
	letter-spacing: 0.05em;
	text-transform: uppercase;
	font-size: 0.75em;
}

.panel {
	font-size: 0.92em;
	margin-bottom: 1.75em;
}

.panel__block-title {
	color: #131720;
	font-family: "Alegreya", Georgia, serif;
	margin: 0 0 0.6em;
	border-bottom: 2px solid #2855bd;
	padding-bottom: 0.35em;
	text-transform: none;
	font-size: 1em;
}

.panel__link-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.panel__link-list li, .panel__link-list > div {
	padding: 0.3em 0;
	border-bottom: 1px solid #d2d8e4;
}

.panel a {
	color: #1d46a5;
	text-decoration: none;
}

.panel a:hover {
	text-decoration: underline;
}

.story-page__heading {
	color: #131720;
	line-height: 1.2;
	font-family: "Alegreya", Georgia, serif;
	margin: 0 0 0.5em;
	font-size: 2.1em;
}

.story-page__entry-info {
	color: #606776;
	margin: 0 0 1.5em;
	font-size: 0.88em;
}

.story-page__entry-info a {
	color: #606776;
}

.story-page__article-body img {
	max-width: 100%;
	height: auto;
}

.story-page__after-post {
	padding-top: 1.5em;
	margin-top: 2.5em;
	border-top: 1px solid #d2d8e4;
}

.on-this-page {
	padding: 1em 1.25em;
	border-radius: 0.75em;
	background: #edf0f7;
	margin-bottom: 1.5em;
}

.on-this-page p {
	margin: 0 0 0.4em;
}

.about {
	padding: 1.25em;
	border-radius: 0.75em;
	border: 1px solid #d2d8e4;
	margin-bottom: 1.5em;
}

.about p {
	margin: 0 0 0.4em;
}

.related-posts h2 {
	font-size: 1.15em;
}

.page-nav {
	justify-content: space-between;
	display: flex;
	gap: 1em;
	margin-top: 1.5em;
	flex-wrap: wrap;
}

.breadcrumb {
	color: #606776;
	margin: 0 0 1em;
	font-size: 0.82em;
}

.breadcrumb a {
	color: #606776;
}

.bottom-ar {
	padding: 2em 0;
	margin-top: 2.5em;
	background: #edf0f7;
}

.bottom-ar .coverage {
	display: flex;
	gap: 0.5em;
	flex-wrap: wrap;
}

.bottom-ar .coverage span {
	padding: 0.2em 0.6em;
	border-radius: 999px;
	border: 1px solid #d2d8e4;
	font-size: 0.85em;
	background: #ffffff;
}

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

.bottom-ar .panel__link-list {
	display: flex;
	gap: 0.3em 1em;
	flex-wrap: wrap;
}

.bottom-ar .bottom__footer-bottom {
	color: #606776;
	margin-top: 1.25em;
	font-size: 0.82em;
}

.bottom-ar .bottom__footer-bottom a {
	color: #606776;
	margin-left: 0.6em;
}

.posts__heading, h2.posts__heading {
	margin: 0 0 1.5em;
}

.posts__heading h2, h2.posts__heading {
	font-size: 1.9em;
	margin-bottom: 0.35em;
}

.posts__heading p {
	color: #606776;
	margin: 0;
}

.contact-card {
	margin: 1em 0;
	max-width: 100%;
	box-sizing: border-box;
}

.contact-card .contact-form {
	display: grid;
	gap: 0.6em;
	grid-template-columns: minmax(0,1fr);
}

.contact-card .form-row {
	display: grid;
	gap: 0.2em;
	min-width: 0;
}

.contact-card label {
	font-size: 0.85em;
	font-weight: 600;
}

.contact-card input[type=text], .contact-card input[type=tel], .contact-card textarea {
	padding: 0.5em 0.6em;
	color: #212630;
	border-radius: 0.75em;
	font: inherit;
	border: 1px solid #d2d8e4;
	box-sizing: border-box;
	width: 100%;
	background: #ffffff;
}

.contact-card button {
	padding: 0.65em 1.1em;
	color: #ffffff;
	cursor: pointer;
	border-radius: 0.75em;
	font: inherit;
	border: 0;
	background: #2855bd;
	font-weight: 700;
}

.contact-card .hotline {
	margin: 0.6em 0 0;
	font-size: 0.9em;
}

.contact-card .hero-lede {
	margin: 0 0 0.6em;
}

.contact-card-boxed {
	padding: 1.25em;
	color: #212630;
	border-radius: 1.5em;
	box-shadow: 0 10px 30px rgba(0,0,0,.14);
	border: 1px solid #d2d8e4;
	background: #ffffff;
}

.contact-card-inline {
	padding: 0.9em;
	color: #212630;
	border-radius: 1.5em;
	background: #edf0f7;
}

.contact-card-tabbed {
	padding: 1em;
	color: #212630;
	box-shadow: 0 6px 20px rgba(0,0,0,.1);
	border-top: 4px solid #2855bd;
	background: #ffffff;
}

.contact-card .tabs {
	display: flex;
	gap: 0;
	border-bottom: 1px solid #d2d8e4;
	flex-wrap: wrap;
}

.contact-card .tabs input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.contact-card .tabs label {
	padding: 0.45em 0.9em;
	color: #606776;
	cursor: pointer;
	border-bottom: 3px solid transparent;
}

.contact-card .tabs input:checked + label {
	color: #131720;
	border-bottom-color: #2855bd;
}

.contact-card-call {
	padding: 1em;
	color: #212630;
	border-radius: 1.5em;
	text-align: center;
	background: #edf0f7;
}

.contact-card .ring-us {
	padding: 0.9em 1.6em;
	color: #ffffff;
	border-radius: 999px;
	display: inline-block;
	font-size: 1.25em;
	background: #2855bd;
	font-weight: 700;
	text-decoration: none;
}

.contact-card-two {
	padding: 1.1em;
	color: #212630;
	border-radius: 1.5em;
	border: 2px dashed #d2d8e4;
	background: #ffffff;
}

.contact-card fieldset {
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.5em;
	min-width: 0;
	border: 0;
}

.contact-card legend {
	color: #606776;
	letter-spacing: 0.08em;
	font-size: 0.75em;
}

.contact-card details > summary {
	list-style: none;
	padding: 0.5em 1em;
	color: #ffffff;
	cursor: pointer;
	margin: 0.3em 0;
	border-radius: 0.75em;
	display: inline-block;
	background: #131720;
}

.contact-card-compact {
	padding: 1em;
	color: #212630;
	border-radius: 1.5em;
	border: 1px solid #d2d8e4;
	background: #edf0f7;
}

.contact-card-side {
	color: #212630;
	border-radius: 1.5em;
	display: grid;
	overflow: hidden;
	border: 1px solid #d2d8e4;
	background: #ffffff;
}

.contact-card-side > .cta-band {
	align-content: center;
	padding: 1.1em;
	color: #ffffff;
	display: grid;
	gap: 0.4em;
	text-align: center;
	background: #131720;
}

.contact-card-side > .cta-band p {
	margin: 0;
}

.contact-card-side .ring-us {
	overflow-wrap: anywhere;
	padding: 0.6em 1em;
	color: #ffffff;
	border-radius: 0.75em;
	display: inline-block;
	background: #2855bd;
	font-weight: 700;
	text-decoration: none;
}

.contact-card-side > .form-step {
	padding: 1.1em;
}

.reader-note {
	overflow-wrap: anywhere;
	padding: 1em 1.15em;
	border-left: 3px solid #2855bd;
	margin: 0 0 2em;
	border-radius: 1.5em;
	border: 1px solid #d2d8e4;
	background: #edf0f7;
}

.reader-note p {
	margin: 0 0 0.5em;
}

.reader-note ul, .reader-note ol {
	margin: 0;
	padding-left: 1.25em;
}

.reader-note li {
	margin: 0 0 0.35em;
}

.row.row-single {
	max-width: 44em;
}

.row.row-single {
	padding-top: 1.5em;
	padding-bottom: 2.5em;
}

.row.row-single > .page-content {
	min-width: 0;
}

.story-page__entry-header .story-page__entry-info {
	margin: 0 0 1.25em;
}

.branding__brand {
	font-variant: small-caps;
	letter-spacing: 0.05em;
}

.intro__action, .ring-us, .contact-card button, .query button {
	color: #2855bd;
	border: 2px solid #2855bd;
	background: transparent;
}

.post-item__media img, .story-page__article-body img, .post-item__details img {
	border-radius: 1.25em;
}

.post-item__details > p:first-child, .story-page__article-body > p:first-child {
	font-size: 1.15em;
}

body {
	line-height: 1.7;
}

.on-this-page ul, .on-this-page ol {
	display: flex;
	gap: 0.4em;
	flex-wrap: wrap;
}

.on-this-page li {
	padding: 0.15em 0.6em;
	border-radius: 999px;
	border-bottom: 0;
	background: #edf0f7;
}

.post-item__details blockquote, .story-page__article-body blockquote {
	padding: 1em;
	border-radius: 1.5em;
	border: 1px solid #d2d8e4;
	background: #edf0f7;
}

.post-item__details ul, .story-page__article-body ul {
	list-style-type: square;
}

.trending a::before, .post-item__dateline a::before {
	color: #2855bd;
	content: "#";
}

.news-line-accentTop {
	padding: 0.35em 0;
	overflow: hidden;
	white-space: nowrap;
	font-size: 0.82em;
	text-overflow: ellipsis;
	text-align: center;
}

.news-line-accentTop, .news-line-accentTop a {
	color: #ffffff;
	background: #2855bd;
}

.page-nav-top {
	margin: 0.5em 0;
	text-align: right;
}

.page-nav-top-circle a {
	color: #ffffff;
	justify-content: center;
	border-radius: 50%;
	align-items: center;
	display: inline-flex;
	width: 2.4em;
	background: #2855bd;
	text-decoration: none;
	height: 2.4em;
}

.page-nav-num {
	justify-content: flex-start;
	gap: 0.4em;
}

.page-nav-num a, .page-nav-num span {
	padding: 0.3em 0.7em;
	border-radius: 0.75em;
	border: 1px solid #d2d8e4;
}

@media (min-width: 768px) {
	.branding > .page-width {
		align-items: end;
		grid-template-columns: minmax(0,1fr) auto;
	}
	.intro .intro__display-title {
		font-size: 2.6em;
	}
	.intro-cs .intro__display-title {
		line-height: 1.02;
		font-size: 3.6em;
	}
	.row {
		align-items: flex-start;
		display: flex;
		gap: 2.25em;
	}
	.page-content {
		order: 2;
		flex: 1 1 0;
	}
	.sidebar-right {
		order: 3;
		margin-top: 0;
		flex: 0 0 18em;
	}
	.side-story {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
	.posts-sm .post-item {
		gap: 1.5em;
		grid-template-columns: 9em minmax(0,1fr);
	}
	.contact-card-inline .contact-form {
		align-items: end;
		grid-template-columns: minmax(0,1fr) minmax(0,1fr) auto;
	}
	.contact-card-side:has(> .cta-band) {
		grid-template-columns: minmax(0,2fr) minmax(0,3fr);
	}
	.row.row-single {
		display: block;
	}
}
