/* Elements */
body { background-color:#fff; color:#333; font-family:'Jost', sans-serif; font-size:18px; font-weight:400; line-height:1.4; }
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:#07233d; font-weight:700; line-height:1; }
h1 { font-size:3.6em; }
h2 { font-size:2.6em; }
h3 { font-size:2em; }
h4 { font-size:1.8em; }
h5 { font-size:1.6em; }
h6 { font-size:1.4em; }
h1 em, h2 em, h3 em, h4 em, h5 em, h6 em { color:#aa1111; font-family:'Mr Dafoe', cursive; font-size:1.3em; font-style:normal; font-weight:400; text-transform:none; }
hr { background-color:#efefef; border-width:0; height:1px; margin:60px 0; }
img { height:auto; max-width:100%; }
a { color:#aa1111; text-decoration:underline; transition:color 0.3s; }
a:hover { color:#07233d; }
b, strong { font-weight:700; }
ol > li { margin-bottom:1em; }

/* WordPress Classes */
.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; }

.wp-caption { margin:0; max-width:100%; text-align:center; }
.wp-caption .wp-caption-text { font-size:14px; }

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

.btn, .frm_submit button { background-color:#aa1111; border-radius:2.4em; color:#fff; font-size:0.7em; font-weight:700; height:4.8em; letter-spacing:0.1em; line-height:4.8em; max-width:100%; overflow:hidden; padding:0 2.8em; text-align:center; text-overflow:ellipsis; text-transform:uppercase; transition:transform 0.3s; vertical-align:middle; white-space:nowrap; }
.btn.outline { outline:1px solid #fff; outline-offset:0.4em; }
.btn:hover, .frm_submit button:hover { transform:scale(1.05); }
input.btn, button.btn, .frm_submit button { border-width:0; cursor:pointer; }
a.btn { display:inline-block; text-decoration:none; }
a.btn:hover { color:#fff; }

a.underline-btn { border-bottom:3px solid #07233d; color:#aa1111; display:inline-block; font-size:0.9em; font-weight:700; max-width:100%; overflow:hidden; outline-width:0; padding:0.1em 0.1em 0.2em; vertical-align:middle; text-overflow:ellipsis; text-transform:uppercase; text-decoration:none; transition:border-color 0.3s, color 0.3s; white-space:nowrap; }
a.underline-btn::after { color:#aa1111; content:'\f0da'; display:inline-block; font-family:'Font Awesome 6 Pro'; font-weight:900; margin:0 0.6em; transition:color 0.3s, transform 0.3s; }
a.underline-btn.light, a.underline-btn.light::after { border-bottom-color:#aa1111; color:#fff; }
a.underline-btn:hover::after { transform:translateX(0.2em); }

.small-font { font-size:0.8em; }
.medium-font { font-size:1.2em; line-height:1.2; }
.large-font { font-size:2em; line-height:1; }
.x-large-font { font-size:2.6em; line-height:1; }

.styled-list, .styled-list ul { list-style-type:none; padding-left:1.2em; position:relative; }
.styled-list li { margin-bottom:0.3em; position:relative; text-align:left; }
.styled-list li:last-child { margin-bottom:0; }
.styled-list li::before { color:#aa1111; content:'\f105'; font-family:'Font Awesome 6 Pro'; font-weight:400; position:absolute; top:0; left:-1.2em; }

.checklist, .checklist ul { list-style-type:none; padding-left:1.8em; position:relative; }
.checklist li { margin-bottom:0.3em; position:relative; text-align:left; }
.checklist li:last-child { margin-bottom:0; }
.checklist li::before { color:#aa1111; content:'\f00c'; font-family:'Font Awesome 6 Pro'; font-weight:400; position:absolute; top:0; left:-1.8em; }

.styled-table { border-width:0; border-collapse:collapse; width:100%; }
.styled-table th, .styled-table td { border-style:solid; border-width:1px; border-color:#ddd; padding:0.6em; vertical-align:top; }
.styled-table thead tr:last-child th, .styled-table thead tr:last-child td { border-bottom:2px solid #ddd; }
.styled-table tbody tr:nth-of-type(odd) { background-color:#f8f8f8; }
.styled-table tfoot tr:first-child th, .styled-table tfoot tr:first-child td { border-top:2px solid #ddd; }

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

img.round { border-radius:50%; }

.round-background { background-color:#aa1111; border-radius:50%; color:#fff; display:inline-block; width:1.8em; height:1.8em; line-height:1.8em; text-align:center; }

.uppercase { text-transform:uppercase; }

.letter-spacing { letter-spacing:0.3em; }