/*
 * Logitude base styles. Replaces Hello's reset.css + theme.css (switched off in Hello's own settings).
 * Every value here was measured on the live site (computed styles), so pages render the same without the old theme.
 * Plain element selectors on purpose: low specificity, so Elementor/widget styles still win exactly as before.
 */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; -webkit-tap-highlight-color: transparent; }
body {
	margin: 0;
	background: #fff;
	color: #677294;
	font-family: Roboto, sans-serif;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.6;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
}

/* The old theme wrapped header, content and footer in a box that clipped anything poking out of it
   (hidden FAQ panes, off-canvas decorations). HFE's #page wrapper holds the same three parts. */
#page.site { overflow: hidden; }

h1, h2, h3, h4, h5, h6 { margin: 0 0 .5rem; color: #051441; font-weight: 600; line-height: 1.2; }
h1 { font-size: calc(1.375rem + 1.5vw); }
h2 { font-size: calc(1.325rem + .9vw); }
h3 { font-size: calc(1.3rem + .6vw); }
h4 { font-size: calc(1.275rem + .3vw); }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
@media (min-width: 1200px) {
	h1 { font-size: 2.5rem; }
	h2 { font-size: 2rem; }
	h3 { font-size: 1.75rem; }
	h4 { font-size: 1.5rem; }
}

p { margin: 0 0 1rem; }
ul, ol { margin: 0 0 1rem; padding-left: 2rem; }
ul ul, ul ol, ol ul, ol ol { margin-bottom: 0; }
dl { margin: 0 0 1rem; }
b, strong { font-weight: 600; }
small { font-size: .875em; }
sub, sup { position: relative; font-size: .75em; line-height: 0; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }

a { color: inherit; text-decoration: none; }
a:hover { color: #1e73be; }

img, svg { vertical-align: middle; }
/* WordPress alignment classes in post/page content. */
.alignleft, .alignright { display: inline; margin-bottom: 10px; }
.alignleft { float: left; margin-right: 1.5em; }
.alignright { float: right; margin-right: 1em; margin-left: 1.5em; }
.aligncenter { clear: both; display: block; max-width: 100%; margin-right: auto; margin-left: auto; }
img.aligncenter { height: auto; }
figure { margin: 0 0 1rem; }
hr { margin: 1rem 0; border: 0; color: inherit; background-color: currentColor; opacity: .25; }
hr:not([size]) { height: 1px; }
blockquote {
	position: relative;
	overflow: hidden;
	margin: 40px 0 45px;
	padding: 28px 40px 22px;
	border-left: 6px solid #1e73be;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 10px 30px 0 rgba(20, 3, 67, .08);
}
blockquote::before { content: ""; display: inline-block; width: 30px; height: 30px; background-color: #1e73be; -webkit-mask: url(img/quote.svg) 50% 50% / 40px 25px no-repeat; mask: url(img/quote.svg) 50% 50% / 40px 25px no-repeat; }
blockquote::after { content: ""; position: absolute; top: 50%; right: 30px; z-index: -1; width: 100px; height: 100px; background-color: #f2effd; -webkit-mask: url(img/quote.svg) 50% 50% / 400px 100px no-repeat; mask: url(img/quote.svg) 50% 50% / 400px 100px no-repeat; }
blockquote i { display: inline-block; padding-bottom: 12px; color: #1e73be; font-size: 30px; }
cite { font-style: normal; font-size: 14px; color: #848ca5; }

table { width: 100%; margin: 0 0 1.5em; border-collapse: collapse; border-spacing: 0; caption-side: bottom; }
thead, tbody, tfoot, tr, td, th { border: 0 solid; border-color: inherit; }
th { font-weight: 500; text-align: left; }
td, th { padding: 10px; border-top: 1px solid #ededed; }

label { display: inline-block; }
button { border-radius: 0; }
input, button, select, optgroup, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button, select { text-transform: none; }
textarea { resize: vertical; }

[hidden] { display: none !important; }
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	word-wrap: normal !important;
}

fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
legend { float: left; width: 100%; margin-bottom: .5rem; padding: 0; font-size: calc(1.275rem + .3vw); line-height: inherit; }
legend + * { clear: left; }
@media (min-width: 1200px) { legend { font-size: 1.5rem; } }

/* Form fields as the old theme styled every field; form plugins (Formidable) override most of it, but heights and line-heights still come from here. */
input {
	display: inline;
	height: auto;
	padding: 4px;
	border: 1px solid #ccc;
	background: #fff none;
	box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
	color: #555;
	font-size: 14px;
	line-height: 1.42857143;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}
input[type=text], input[type=password], input[type=email], textarea {
	width: 100%;
	height: 60px;
	padding-left: 30px;
	border: 1px solid #fff;
	border-radius: 4px;
	background-color: #fff;
	box-shadow: 0 2px 4px 0 rgba(12, 0, 46, .04);
	color: #222d39;
	font: 400 15px/60px Poppins, sans-serif;
}
input[type=text] { outline: 0; }
@media (max-width: 768px) {
	input[type=email], textarea { border-radius: 1px; -webkit-appearance: none; }
}
