/*
 * Base element styles.
 * The live site's unstyled defaults come from Hello Elementor (normalise + base, GPL) with the
 * Elementor kit's tag rules layered on top. Both are reproduced here so bare elements render
 * identically: system font stack, 16px / 1.5, #333; h2 and h3 in Gibson; Gibson buttons.
 */

/* ---- Hello Elementor reset ---- */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
*, ::before, ::after { box-sizing: border-box; }
body {
	margin: 0;
	font-family: var(--ew-font-system);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.5;
	color: var(--ew-body-text);
	background-color: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
h1, h2, h3, h4, h5, h6 {
	margin-block-start: .5rem;
	margin-block-end: 1rem;
	font-family: inherit;
	font-weight: 500;
	line-height: 1.2;
	color: inherit;
}
h1 { font-size: 2.5rem; }
h2 { font-size: 2rem; }
h3 { font-size: 1.75rem; }
h4 { font-size: 1.5rem; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1rem; }
p { margin-block-start: 0; margin-block-end: .9rem; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; white-space: pre-wrap; }
a { background-color: transparent; text-decoration: none; color: #c36; }
a:active, a:hover { color: #336; }
a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus,
a:not([href]):not([tabindex]):hover { color: inherit; text-decoration: none; }
a:not([href]):not([tabindex]):focus { outline: 0; }
abbr[title] { border-block-end: none; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -.25em; }
sup { top: -.5em; }
img { border-style: none; height: auto; max-width: 100%; }
details { display: block; }
summary { display: list-item; }
figcaption { font-size: 16px; color: #333; line-height: 1.4; font-style: italic; font-weight: 400; }
[hidden], template { display: none; }
label { display: inline-block; line-height: 1; vertical-align: middle; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 1rem; line-height: 1.5; margin: 0; }
input[type=date], input[type=email], input[type=number], input[type=password], input[type=search],
input[type=tel], input[type=text], input[type=url], select, textarea {
	width: 100%;
	border: 1px solid #666;
	border-radius: 3px;
	padding: .5rem 1rem;
	transition: all .3s;
}
input[type=date]:focus, input[type=email]:focus, input[type=number]:focus, input[type=password]:focus,
input[type=search]:focus, input[type=tel]:focus, input[type=text]:focus, input[type=url]:focus,
select:focus, textarea:focus { border-color: #333; }
button, input { overflow: visible; }
button, select { text-transform: none; }
[type=button], [type=reset], [type=submit], button { width: auto; -webkit-appearance: button; }
[type=button]:not(:disabled), [type=submit]:not(:disabled), button:not(:disabled) { cursor: pointer; }
[type=button]:focus:not(:focus-visible), [type=submit]:focus:not(:focus-visible), button:focus:not(:focus-visible) { outline: none; }
fieldset { padding: .35em .75em .625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; resize: vertical; }
[type=checkbox], [type=radio] { box-sizing: border-box; padding: 0; }
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto; }
[type=search] { -webkit-appearance: textfield; outline-offset: -2px; }
[type=search]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
select { display: block; }
table { background-color: transparent; width: 100%; margin-block-end: 15px; font-size: .9em; border-spacing: 0; border-collapse: collapse; }
table td, table th { padding: 15px; line-height: 1.5; vertical-align: top; border: 1px solid #80808080; }
table th { font-weight: 700; }
table thead:first-child tr:first-child td, table thead:first-child tr:first-child th { border-block-start: 1px solid #80808080; }
table tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th { background-color: #80808012; }
table tbody tr:hover > td, table tbody tr:hover > th { background-color: #8080801a; }
dd, dl, dt, li, ol, ul { margin-block-start: 0; margin-block-end: 0; border: 0; outline: 0; font-size: 100%; vertical-align: baseline; background: transparent; }

/* ---- Elementor kit tag rules (post-6.css) ---- */
h2 {
	font-family: var(--ew-font-gibson);
	font-size: 35px;
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.1em;
}
h3 {
	font-family: var(--ew-font-gibson);
	font-size: 30px;
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.1em;
}
button, input[type="button"], input[type="submit"], .ew-button {
	display: inline-block;
	background-color: var(--ew-purple);
	font-family: var(--ew-font-gibson);
	font-size: 20px;
	font-weight: 700;
	text-transform: uppercase;
	line-height: 1em;
	color: var(--ew-white);
	text-align: center;
	white-space: nowrap;
	border: 0;
	border-radius: 0;
	padding: 20px 40px;
	transition: all .3s;
}
button:hover, button:focus,
input[type="button"]:hover, input[type="button"]:focus,
input[type="submit"]:hover, input[type="submit"]:focus,
.ew-button:hover, .ew-button:focus {
	background-color: var(--ew-off-white);
	color: var(--ew-purple);
	text-decoration: none;
}
label {
	font-family: var(--ew-font-jakarta);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.4em;
}
input:not([type="button"]):not([type="submit"]), textarea {
	font-family: var(--ew-font-jakarta);
	font-size: 18px;
	font-weight: 300;
	line-height: 1.4em;
}

/* Accessibility helper */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #eee; clip: auto !important; clip-path: none; color: #333;
	display: block; font-size: 1rem; height: auto; left: 5px; line-height: normal;
	padding: 12px 24px; text-decoration: none; top: 5px; width: auto; z-index: 100000;
}
