/* Palette */
:root {
	--ink:#011627;
	--muted:#4a5763;
	--teal:#2ec4b6;
	--teal-dark:#1f9e92;
	--orange:#ff9f1c;
	--red:#e71d36;
	--line:#e3e0d8;
	--bg:#fbfaf7;
	--bg-alt:#f1efe9;
}

/* Elements */
html { box-sizing:border-box; }
*, *::before, *::after { box-sizing:inherit; }
body { background-color:var(--bg); color:var(--ink); font-family:'Figtree', sans-serif; font-size:24px; font-weight:500; line-height:1.2; }
p, h1, h2, h3, h4, h5, h6, ol, ul, pre, address, blockquote, dl, fieldset, hr, noscript, table { margin:0 0 30px 0; }
ol ol, ol ul, ul ul, ul ol { margin-bottom:0; }
h1, h2, h3, h4, h5, h6 { color:var(--ink); font-weight:800; line-height:1; }
h1 { font-size:72px; }
h2 { font-size:60px; }
h3 { font-size:48px; }
h4 { font-size:36px; }
h5 { font-size:30px; }
h6 { font-size:24px; }
hr { background-color:var(--line); border-width:0; height:1px; margin:60px 0; }
img { height:auto; max-width:100%; }
a { color:var(--teal-dark); text-decoration:underline; transition:color 0.3s; }
a:hover { color:var(--teal); }
b, strong { font-weight:800; }

/* WordPress Classes */
/* Captions stay above the alignment classes so those can still set their own margins. */
.wp-caption { margin:0; max-width:100%; text-align:center; }
.wp-caption .wp-caption-text { font-size:18px; margin-bottom:0; }

.alignleft { float:left; margin:0 60px 60px 0; }
.aligncenter { margin:0 auto; }
img.aligncenter { display:block; }
table.aligncenter { margin-bottom:30px; }
.alignright { float:right; margin:0 0 60px 60px; }

/* Helper Classes */
.double-bottom-margin { margin-bottom:60px !important; }
.half-bottom-margin { margin-bottom:15px !important; }
.no-bottom-margin { margin-bottom:0 !important; }
.no-bottom-margin .aligncenter { margin-bottom:0 !important; }

.btn { background-color:var(--teal); border-radius:1.25em; color:var(--ink); display:inline-block; font-weight:800; height:2.5em; line-height:2.5em; overflow:hidden; padding:0 1.25em; text-align:center; text-overflow:ellipsis; transition:transform 0.3s; vertical-align:middle; white-space:nowrap; }
.btn::after { content:'\f178'; font-family:'Font Awesome 6 Pro'; font-weight:400; margin-left:0.6em; }
a.btn { text-decoration:none; }
input.btn, button.btn { cursor:pointer; }
.btn:hover { transform:scale(1.05); }
a.btn:hover { color:var(--ink); }
.btn:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }

.btn-group { display:inline-flex; align-items:center; gap:12px; flex-wrap:wrap; }

.arrow-list, .check-list { list-style-type:none; padding-left:1.6em; }
.arrow-list > li, .check-list > li { margin-bottom:0.6em; position:relative; text-align:left; }
.arrow-list > li:last-child, .check-list > li:last-child { margin-bottom:0; }
.arrow-list > li::before, .check-list > li::before { font-family:'Font Awesome 6 Pro'; font-weight:900; position:absolute; top:0; left:-1.6em; }
.arrow-list > li::before { color:var(--teal); content:'\f0da'; }
.check-list > li::before { color:var(--teal); content:'\f058'; }

.separated-list { list-style-type:none; padding-left:0; }
.separated-list > li { border-top:1px solid var(--line); padding:30px 0; break-inside:avoid; }

.column-list { column-count:2; column-gap:90px; }
.column-list > li { break-inside:avoid; }

.styled-table { background-color:#fff; border:1px solid var(--line); border-collapse:separate; border-radius:15px; border-spacing:0; width:100%; }
.styled-table th { text-align:left; }
.styled-table th, .styled-table td { padding:20px 30px; vertical-align:top; }
.styled-table tr + tr th, .styled-table tr + tr td { border-top:1px solid var(--line); }
.styled-table thead + tbody tr:first-child th, .styled-table thead + tbody tr:first-child td { border-top:2px solid var(--line); }
.styled-table tbody + tfoot tr:first-child th, .styled-table tbody + tfoot tr:first-child td { border-top:2px solid var(--line); }
.styled-table > *:first-child > tr:first-child > *:first-child { border-top-left-radius:15px; }
.styled-table > *:first-child > tr:first-child > *:last-child { border-top-right-radius:15px; }
.styled-table > *:last-child > tr:last-child > *:first-child { border-bottom-left-radius:15px; }
.styled-table > *:last-child > tr:last-child > *:last-child { border-bottom-right-radius:15px; }

.responsive-table { margin-bottom:30px; overflow-x:auto; }
.responsive-table .styled-table { margin-bottom:0; }

.medium-font { font-size:1.6em; }
.large-font { font-size:2em; line-height:1; }
.x-large-font { font-size:2.4em; line-height:1; }

.column-break { break-before:column; }

.alert { border:3px solid var(--orange); border-radius:12px; padding:15px 18px; }

.preheading { color:var(--teal-dark); font-size:0.9em; font-weight:800; letter-spacing:0.1em; text-transform:uppercase; }
.preheading::before { color:var(--orange); content:'\f86c'; font-family:'Font Awesome 6 Pro'; font-weight:900; margin-right:0.6em; }

/* Media Queries */
@media (max-width:991px) {
	h1 { font-size:60px; }
	h2 { font-size:50px; }
	h3 { font-size:40px; }
	h4 { font-size:34px; }

	.medium-font { font-size:1.45em; }
	.large-font { font-size:1.7em; }
	.x-large-font { font-size:2.05em; }
}

@media (max-width:767px) {
	body { font-size:22px; }

	h1 { font-size:48px; }
	h2 { font-size:40px; }
	h3 { font-size:34px; }
	h4 { font-size:30px; }
	h5 { font-size:28px; }

	.medium-font { font-size:1.35em; }
	.large-font { font-size:1.55em; }
	.x-large-font { font-size:1.8em; }

	.column-break { break-before:auto; }
}

@media (max-width:575px) {
	body { font-size:21px; }

	h1 { font-size:36px; }
	h2 { font-size:32px; }
	h3 { font-size:28px; }
	h4 { font-size:26px; }
	h5 { font-size:24px; }
	h6 { font-size:22px; }

	.medium-font { font-size:1.25em; }
	.large-font { font-size:1.35em; }
	.x-large-font { font-size:1.5em; }

	.alignleft, .alignright { display:block; float:none; margin:0 0 30px; }

	.column-list { column-count:1; }

	.styled-table th, .styled-table td { padding:15px; }
}