@charset "UTF-8";
.font-heading, h1, h2, h3, h4, h5, h6, .content-styles h1, .content-styles h2, .content-styles h3, .content-styles h4, .content-styles h5, .content-styles h6, .site-content .page-title { font-family: "adobe-caslon-pro", serif; font-weight: 400; font-style: normal; }

.font-body, body, .site-content .page-subtitle { font-family: "interface", sans-serif; font-weight: 500; font-style: normal; }

.font-special, .banner-text { font-family: "rift-soft", sans-serif; font-weight: 400; font-style: normal; }

.semibold { font-weight: 700; }

.lite, a:hover, a:visited, .site-header a, .site-footer a, .site-header a:hover, .site-footer a:hover, .site-header a:visited, .site-footer a:visited, .step-button:hover, .step-button:visited, .xxxxxxvalue-button:hover, .xxxxxxvalue-button:visited { color: #ffffff; }

.dark { color: #212121; }

.c1, .content-styles a, .content-styles a:hover, .content-styles a:visited { color: #114487; }

.c2 { color: #C90F03; }

.c3 { color: #C89902; }

.bg-lite { background-color: #ffffff; }

.bg-dark { background-color: #212121; }

.bg1 { background-color: #114487; }

.bg2 { background-color: #C90F03; }

.bg3 { background-color: #C89902; }

a { text-decoration: none; transition: color 0.33s linear; }

h1, h2, h3, h4, h5, h6 { line-height: 1em; }

h1 { font-size: 3.6em; }

h2 { font-size: 3.2em; }

h3 { font-size: 2.8em; }

h4 { font-size: 2.5em; }

h5 { font-size: 2.2em; }

h6 { font-size: 1.9em; }

p { font-size: 1.5em; line-height: 1.2em; margin-bottom: 1.618rem; }

p:last-of-type { margin-bottom: 0; }

hr { margin: 0 auto 1.618rem; }

button { cursor: pointer; }

.content-container { padding: 1.618rem 2.618rem; margin: auto; }

@media screen and (max-width: 720px) { .content-container { padding: 1.618rem 1rem; } }

.content-inner-wrap { max-width: 1268px; margin: auto; }

.content-styles a { text-decoration: none; transition: color 0.33s linear; }

.content-styles h1, .content-styles h2, .content-styles h3, .content-styles h4, .content-styles h5, .content-styles h6 { line-height: 1em; margin-top: 2.618rem; margin-bottom: .618rem; }

.content-styles h1 + hr, .content-styles h2 + hr, .content-styles h3 + hr, .content-styles h4 + hr, .content-styles h5 + hr, .content-styles h6 + hr { margin-bottom: 1.618rem; }

.content-styles h1 { font-size: 3.6em; }

.content-styles h2 { font-size: 3.2em; }

.content-styles h3 { font-size: 2.8em; }

.content-styles h4 { font-size: 2.5em; }

.content-styles h5 { font-size: 2.2em; }

.content-styles h6 { font-size: 1.9em; }

.content-styles p { font-size: 1.2em; line-height: 1.2em; margin-bottom: 1rem; }

.content-styles p + ul, .content-styles p + ol { margin-top: 1.618rem; }

.content-styles > p:last-of-type { margin-bottom: 0; }

.content-styles > p:last-of-type + blockquote { margin-top: 2.618rem; }

.content-styles blockquote { font-size: 1.2em; line-height: 1.618rem; margin-top: 1.618rem; margin-bottom: 1.618rem; }

.content-styles section { margin-top: 1rem; margin-bottom: 2rem; }

.content-styles ul, .content-styles ol { margin-top: .618rem; margin-left: 1.618rem; margin-bottom: 1.618rem; }

.content-styles ul li, .content-styles ol li { font-size: 1.2em; margin-bottom: 1rem; }

.content-styles form.style-normal { max-width: 600px; background: #C89902; }

.content-styles form.style-normal .other-chosen { display: none; }

.content-styles form.style-normal label { display: block; font-size: 1.2em; line-height: 1.2em; margin-bottom: 1rem; }

.content-styles form.style-normal input, .content-styles form.style-normal textarea, .content-styles form.style-normal select { margin-bottom: 1.618em; width: 100%; }

.content-styles form.style-normal input { padding: 6px; }

.content-styles form.style-normal textarea { padding: 6px; }

.content-styles form.style-normal select { padding: 6px 6px 6px 2px; }

.content-styles form.style-normal select option { line-height: 2rem; }

.content-styles details { display: block; }

.content-styles details summary { display: inline-block; cursor: pointer !important; }

.content-styles .no-marker::-webkit-details-marker, .content-styles details.clean summary::-webkit-details-marker, .content-styles summary.clean::-webkit-details-marker, .content-styles details.no-marker summary::-webkit-details-marker, .content-styles details summary.no-marker::-webkit-details-marker, .content-styles details.clean summary::-webkit-details-marker, .content-styles details summary.clean::-webkit-details-marker { display: none; }

.content-styles .no-marker::-webkit-details-marker > summary:first-of-type, .content-styles details.clean summary::-webkit-details-marker > summary:first-of-type, .content-styles summary.clean::-webkit-details-marker > summary:first-of-type, .content-styles details.no-marker summary::-webkit-details-marker > summary:first-of-type, .content-styles details summary.no-marker::-webkit-details-marker > summary:first-of-type, .content-styles details.clean summary::-webkit-details-marker > summary:first-of-type, .content-styles details summary.clean::-webkit-details-marker > summary:first-of-type { list-style-type: none; }

.content-styles .no-outline::-webkit-details-marker, .content-styles details.clean summary::-webkit-details-marker, .content-styles summary.clean::-webkit-details-marker, .content-styles details.no-outline summary::-webkit-details-marker, .content-styles details summary.no-outline::-webkit-details-marker, .content-styles details.clean summary::-webkit-details-marker, .content-styles details summary.clean::-webkit-details-marker { outline: none; }

body { color: #212121; background-color: #ffffff; font-size: 16px; }

.site-overlay { position: fixed; width: 100%; height: 100%; pointer-events: none; }

.site-content-wrap { width: auto; }

.site-header, .site-footer { position: relative; color: #ffffff; }

.site-header-wrap { width: auto; display: flex; padding: 1em; padding-bottom: 18px; }

.site-header-logo { max-width: 600px; flex-grow: 1; }

.site-header-menu { display: flex; align-self: center; justify-content: flex-end; flex-grow: 1; }

.site-header-menu-icon { display: flex; align-self: center; justify-content: flex-end; max-width: 48px; padding-right: 1em; cursor: pointer; }

.site-header-button-special, .button-special { background: #C89902; padding: 1rem 1.618rem; border-radius: 0 0 .618rem .618rem; }

.site-header-button-special span, .button-special span { color: #ffffff; font-family: "rift-soft", sans-serif; font-size: 2em; }

.site-header-button-special-shell { position: absolute; top: 100%; right: 0; }

.site-footer { background: #114487; }

.site-footer-wrap { width: auto; padding: 1rem; }

.site-footer .site-title { font-size: 0.8em; }

.site-footer .footer-link { display: inline-block; }

@media screen and (max-width: 500px) { .site-footer .footer-link { padding-top: .4em; } }

.site-menu { position: fixed; top: 0; right: -100%; height: 100%; border-left: 2px solid #ffffff; z-index: 99999; transition: right .4s linear; }

.site-menu.active { right: 0; }

.site-menu .close { padding: 24px; }

.site-menu .close::after { position: absolute; top: 0; right: 0; width: 36px; height: 36px; color: #ffffff; z-index: 100000; font-size: 24px; font-family: "rift-soft", sans-serif; font-family: 'Arial', sans-serif; padding: 12px 6px 0 6px; border-radius: 0 0 0 36px; border-radius: 50%; text-align: center; content: 'X'; cursor: pointer; }

.site-menu .close:hover::after { background-color: white; color: #C90F03; }

.site-menu .menu-links { height: 100%; background-color: #114487; text-align: right; background-color: #114487; }

.site-menu .menu-links .menu-link { display: block; padding: .618em 1em; color: #ffffff; min-width: 120px; transition: none; border-left: 4px solid #114487; }

.site-menu .menu-links .menu-link:hover { background-color: #ffffff; color: #114487; }

.site-menu .menu-links .menu-link li { font-size: 1.618em; }

.site-content .page-title { font-size: 3.2em; margin-top: 1rem; margin-bottom: 0rem; }

.site-content .page-subtitle { font-size: 1.1em; text-transform: uppercase; display: block; margin-bottom: 1.618rem; opacity: .8; }

/*
@media screen and (max-width: $screen-small){
  .site-content {
    font-size: 1.4em;
    p {
      font-size: 2em;
      line-height: 1.618em;
    }
    ul, ol {
      li {

      }
    }
  }
}
*/
.button-special-shell { position: fixed; bottom: 0; left: 0; width: 100%; cursor: pointer; pointer-events: all; display: none; }

.button-special { border-radius: 0; text-align: center; }

@media screen and (max-width: 720px) { .site-header-wrap { padding: 0; }
  .site-header-logo { padding: 0; position: relative; padding: 12px 12px 6px 12px; flex-grow: 100; }
  .site-header-menu { position: relative; text-align: right; margin-left: auto; flex-grow: 1; }
  .site-header-menu-icon { margin: 0; text-align: right; padding-right: 12px; margin: 15px 0 0 auto; max-width: 32px; }
  .site-header-button-special-shell { display: none; } }

.text-small { font-size: 1.2em !important; }

.text-large { font-size: 2em !important; }

.text-smaller { font-size: 0.8em !important; }

.text-larger { font-size: 1.618em !important; }

.underline { border-bottom: 2px solid #114487; text-decoration: none !important; }

.underline-special { position: relative; display: inline-block; }

.underline-special::after { position: absolute; width: 100%; top: 90%; left: 0; content: ''; border-bottom: 3px double #C89902; }

.hide { display: none; }

.spaced { padding: 1em 1.618em 0; }

.site-header::before, .site-footer::before { position: absolute; width: 100%; height: 100%; top: 0; left: 0; content: ''; background: linear-gradient(to right, rgba(11, 45, 90, 0.08) 0%, rgba(17, 68, 135, 0.5) 20%, rgba(17, 68, 135, 0.5) 80%, rgba(11, 45, 90, 0.08) 100%), #114487; z-index: -1; }

.site-menu::before { position: absolute; width: 100%; height: 100%; top: 0; left: 0; content: ''; background: linear-gradient(to right, rgba(17, 68, 135, 0.5) 80%, rgba(11, 45, 90, 0.08) 100%), #114487; z-index: -1; }

button, .button { cursor: pointer; }

.button-standard { padding: .8em; font-size: 1.5em; font-weight: 600; margin: .2rem 0 .4rem; }

form select.big { font-size: 1.618em; padding: .618em; }

form .field { margin-bottom: 1em; }

form .field label { align-self: flex-end; }

form .field .title { font-size: 1.2em; }

form .field input, form .field select, form .field textarea { padding: .618rem; display: block; margin: 1rem .618rem 1.618rem; min-width: 200px; }

form.style-plush { max-width: 600px; padding: 1em; border: 1px solid rgba(33, 33, 33, 0.2); border-radius: 16px; }

form.style-plush input, form.style-plush select, form.style-plush textarea { margin: 1rem .618rem 1.618rem; }

form.style-compact { max-width: 480px; }

form.style-compact .field { display: flex; flex-direction: column; }

form.style-compact label { align-self: flex-start; }

form.style-compact input, form.style-compact select, form.style-compact textarea { padding: .618rem; display: flex; flex-grow: 1; margin: .618rem 0 .304rem; min-width: 200px; width: fill-available; }

form button.button { background-color: #C89902; border: 0px solid #ffffff; color: #ffffff; border-radius: .618em; padding: 0.618em; outline: none; stroke: none; box-shadow: none; }

form button.button:hover { background-color: #cd9d02; }

form button.button:focus { background-color: #d2a102; }

.above-the-fold { position: relative; }

.above-the-fold-background { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; background-position: center; background-repeat: no-repeat; background-size: cover; }

.above-the-fold-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #114487; z-index: 2; opacity: .5; }

.above-the-fold-content { position: relative; z-index: 3; padding: 2.618rem; }

.above-the-fold-content h2 { margin-top: 0; color: #C90F03; }

.above-the-fold-content-wrap { padding: 1.618rem; color: #212121; background: rgba(255, 255, 255, 0.8); border-radius: 1em 1em 1.618em 1.618em; }

.step { padding: 1rem 1.618rem 2.618rem; }

.step-title { color: #C89902; font-size: 3em; font-family: "rift-soft", sans-serif !important; }

.step-title-number { font-size: 1.618em; font-family: "adobe-caslon-pro", serif; font-weight: 600; }

.step-content { margin-left: 2rem; }

.step-content a:hover { color: #ffffff; }

.step-content a:visited { color: #ffffff; }

.step-highlight { font-size: 1.618em !important; padding-bottom: 1rem; }

.step-button { display: inline-block; margin-top: 1.618rem; font-size: 1.25em; background: #114487; padding: 1rem; border-radius: .4rem; border: none; color: #ffffff !important; }

.step-button:hover { color: white; box-shadow: inset 0 0 0.2rem 0.05rem rgba(255, 255, 255, 0.4); }

.step-button:hover { color: #ffffff; text-shadow: 0 1px 1px rgba(33, 33, 33, 0.2), 0 1px 2px rgba(200, 153, 2, 0.2), 0 1px 4px rgba(255, 255, 255, 0.08); }

.banner { display: block; position: relative; width: 100%; height: 100%; margin-bottom: 1.618rem; overflow: hidden; transition: all 1s linear; border-radius: .4em; z-index: 2; }

.banner * { transition: all .2s linear; }

.banner-graphic { position: absolute; top: 0; left: 0; width: 100%; height: 100%; max-width: 1200px; max-height: 300px; background-size: cover; z-index: 0; overflow: hidden; }

.banner-text { position: relative; top: 0; left: 0; width: 100%; height: 100%; max-width: 1200px; color: #ffffff; font-size: 4rem; padding: 1rem; text-shadow: 0px 0px 0.4rem #114487, 0px 0px 0.2rem #212121; z-index: 1; }

.banner:hover .banner-graphic { border-radius: .4rem; transform: scale(1.02); }

.banner:hover .banner-text { transform: translateY(-1px); }

.political-stance { margin: 0; margin-bottom: 26px; }

.political-stance * { user-select: none; }

.political-point-container { color: #212121; background-color: #114487; padding: 10px; border: 1px solid white; cursor: pointer; }

.political-point-rest-container { border: 1px solid white; border-top: none; border-radius: 0 0 3px 3px; padding: 10px; }

.political-point-container:hover > .political-point-rest-container { display: block; }

.political-point { font-size: 2rem; }

.political-point-summary { margin: 0px 0 0px; padding: 5px; }

.political-points { padding: 2rem 0 20px; margin: 0; }

.political-points li { margin-bottom: 20px; }

.political-points li ul { margin-top: 10px; }

.political-points li ul li { list-style-position: outside; }

blockquote.opinion { padding: 4.618rem 2.618rem 1.618rem; background: rgba(17, 68, 135, 0.8); color: #ffffff; position: relative; }

blockquote.opinion:before { position: absolute; top: 0; left: 0; content: 'Warning: this section contains personal opinions.'; margin: 1.618rem 1.618rem 1rem; padding: .1rem .4rem .1618rem; color: rgba(255, 255, 255, 0.8); background: rgba(201, 15, 3, 0.5); font-weight: 600; }

blockquote.casey-quote { background-color: rgba(33, 33, 33, 0.08); border-radius: 1.618em 1em 1.618em 1em; padding: 1em 1.618em .304em 1.618em; position: relative; }

blockquote.casey-quote .quote::before, blockquote.casey-quote .quote::after { font-family: "rift-soft", sans-serif; font-size: 1.2em; opacity: .5; position: absolute; }

blockquote.casey-quote .quote::before { content: '“'; margin-left: -.4em; }

blockquote.casey-quote .quote::after { content: '”'; }

blockquote.casey-quote .signature { display: block; margin-left: auto; text-align: right; font-style: italic; }

.note { font-size: 1em !important; opacity: .8; font-style: italic; }

.form .form-field { margin-bottom: .618em; }

.form .form-field label { display: block; padding-bottom: .304em; }

.form .form-field input { min-width: -webkit-fill-available; }

.form .form-field textarea { min-width: -webkit-fill-available; min-height: 48px; }

#how-is-change-possible details[open] summary { color: #114487; opacity: 1; }

#how-is-change-possible details summary { opacity: .5; }

#how-is-change-possible details summary:hover { color: #114487; opacity: 1; }

#how-is-change-possible details summary h6 { margin-top: .618rem; margin-bottom: 1rem; }

#political-writings { display: grid; grid-template-rows: 1fr; grid-template-columns: 50% 50%; grid-gap: 16.18px; }

.writing-category h4 { margin-top: 3px; }

.writing-category li { list-style-position: inside; }

@media screen and (min-width: 1024px) { #political-writings { grid-template-columns: 33.3% 33.3% 33.3%; } }

@media screen and (max-width: 680px) { #political-writings { grid-template-columns: 100%; } }

#political-reform .states .state { background-color: rgba(201, 15, 3, 0.2); padding: 1.618em; margin: 0em auto 1.618em; }

#political-reform .states .state-name { margin-top: 0; }

#political-reform .states .state.populous { background-color: rgba(17, 68, 135, 0.2); }

.ways-to-help { margin: 0 !important; margin-top: 1.618em !important; }

.ways-to-help a li { margin-left: auto; list-style: none; padding: 1em; background: #114487; color: #ffffff; }

.ways-to-help a li:hover { background: rgba(17, 68, 135, 0.82); }

.value-point { font-weight: 600; }

.value-literal { font-weight: 400; display: inline-block; margin-right: .304em; display: none; }

.value-text { color: #C89902; font-family: "rift-soft", sans-serif; font-size: .618em; display: inline-block; margin-right: .618em; }

.value-number { font-family: "adobe-caslon-pro", serif; color: #C89902; font-size: 1.618em; font-weight: 600; }

.value-title { font-family: "interface", sans-serif; }

.xxxxxxvalue { padding: 1rem 1.618rem 2.618rem; }

.xxxxxxvalue-title { color: #C89902; font-size: 3em; font-family: "rift-soft", sans-serif !important; }

.xxxxxxvalue-title-number { font-size: 1.618em; font-family: "adobe-caslon-pro", serif; font-weight: 600; }

.xxxxxxvalue-content { margin-left: 2rem; }

.xxxxxxvalue-content a:hover { color: #ffffff; }

.xxxxxxvalue-content a:visited { color: #ffffff; }

.xxxxxxvalue-highlight { font-size: 1.618em !important; padding-bottom: 1rem; }

.xxxxxxvalue-button { display: inline-block; margin-top: 1.618rem; font-size: 1.25em; background: #114487; padding: 1rem; border-radius: .4rem; border: none; color: #ffffff !important; }

.xxxxxxvalue-button:hover { color: white; box-shadow: inset 0 0 0.2rem 0.05rem rgba(255, 255, 255, 0.4); }

.xxxxxxvalue-button:hover { color: #ffffff; text-shadow: 0 1px 1px rgba(33, 33, 33, 0.2), 0 1px 2px rgba(200, 153, 2, 0.2), 0 1px 4px rgba(255, 255, 255, 0.08); }