/*
 * Base typography the site was designed on (from the HomePress theme and its typography settings).
 * Kept deliberately low-specificity so anything set in Elementor still wins.
 */

/* Reset HomePress applied (zero margins, no list bullets) */
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, img, ol, ul, li,
dl, dt, dd, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, figure, figcaption, footer, header, nav, section {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
}
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote::before, blockquote::after, q::before, q::after { content: none; }
table { margin-bottom: 30px; border-collapse: collapse; border-spacing: 0; }
*, *::before, *::after { box-sizing: border-box; }

body {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	line-height: 24px;
	font-weight: 400;
	color: #222222;
	background-color: #ffffff;
}

h1, h2, h3, h4, h5, h6 {
	font-family: 'Nunito', sans-serif;
	color: #303441;
	font-weight: 400;
	word-wrap: break-word;
}
h1 { font-size: 50px; line-height: 65px; margin-bottom: 24px; }
h2 { font-size: 40px; line-height: 50px; margin-bottom: 20px; }
h3 { font-size: 30px; line-height: 44px; margin-bottom: 20px; }
h4 { font-size: 28px; line-height: 36px; margin-bottom: 20px; }
h5 { font-size: 24px; line-height: 32px; margin-bottom: 20px; }
h6 { font-size: 18px; line-height: 26px; margin-bottom: 20px; letter-spacing: 0; }

@media (max-width: 420px) {
	body h1 { font-size: 44px; line-height: 48px; }
	body h2 { font-size: 32px; line-height: 40px; }
	body h3 { font-size: 26px; line-height: 34px; }
	body h4 { font-size: 20px; line-height: 28px; }
	body h5 { font-size: 14px; line-height: 22px; }
	body h6 { font-size: 12px; line-height: 16px; }
}

p { margin-bottom: 30px; }
img { max-width: 100%; height: auto; vertical-align: top; }
a { color: #010E3A; text-decoration: none; transition: all 0.15s ease-out; }
a:hover { color: #010E3A; }
hr { margin: 42px 0; border: 0; border-top: 1px solid #cccccc; }
strong, b { font-weight: 700; }

/* 70px breathing space between the page content and the footer, as before. (The old theme also
   put 60px above the content, which most pages cancelled with margin-top:-60px; the rebuild
   removed both, so pages simply start under the header.) */
.site-main { padding-bottom: 70px; }
/* Hello underlines links inside page content; this site never did. */
.page-content a { text-decoration: none; }

/* Footer text: the old theme set 13px / 30px on the footer (address, trading line, copyright). */
footer#colophon { line-height: 30px; font-weight: 400; font-size: 13px; }
footer#colophon .elementor-widget-text-editor p:last-child { margin-bottom: 0; }

blockquote {
	display: block;
	margin: 0 0 30px;
	padding: 25px 50px 25px 30px;
	border-left: 5px solid #010E3A;
	background-color: #f0f0f0;
	line-height: 28px;
	font-style: italic;
	font-weight: 600;
	font-size: 18px;
}
blockquote p { font-style: normal; margin: 0 0 6px; }

/* Lists in text, as the old theme drew them: 14px, 5px indent, small navy diamond markers;
   numbered lists keep their numbers. */
.elementor-widget-text-editor ul { display: block; margin: 0 0 30px; padding: 0 0 0 5px; font-size: 14px; }
.elementor-widget-text-editor ul li { position: relative; padding: 0 0 0 25px; margin: 0 0 12px; line-height: 24px; }
.elementor-widget-text-editor ul li::before {
	content: '';
	position: absolute; left: 0; top: 10px;
	width: 4px; height: 4px;
	background-color: #010E3A; border: 1px solid #010E3A;
	transform: rotate(45deg);
}
.elementor-widget-text-editor ul li ul { margin: 12px 0 0; }
.elementor-widget-text-editor ol { margin: 0 0 30px; padding: 0 0 0 20px; }
.elementor-widget-text-editor ol li { list-style: decimal; padding: 0 0 0 10px; margin: 0 0 12px; line-height: 24px; }

/* Small core buttons defaulted to navy on this site. */
body .elementor-button.elementor-size-sm { background-color: #010E3A; }

/* Form fields (contact forms) — grey, borderless inputs and the navy button the site used. */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="url"],
input[type="password"], input[type="search"], textarea, select {
	font-family: 'Lato', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	color: #000;
	background-color: #f0f0f0;
	border: 0;
	border-radius: 0;
	padding: 15px 20px;
}
textarea { padding: 18px 20px; }
input[type="text"], input[type="email"], input[type="tel"] { height: 54px; }
input[type="submit"], input[type="button"], button[type="submit"] {
	font-family: 'Lato', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 18px;
	color: #fff;
	background-color: #010E3A;
	border: 0;
	border-radius: 4px;
	padding: 15px 20px;
	cursor: pointer;
}
input[type="submit"]:hover, input[type="button"]:hover, button[type="submit"]:hover { color: #fff; background-color: #010E3A; }
.nf-form-cont .nf-field-label label { line-height: 24px; }
