@charset "UTF-8";
/*
Theme Name: GovPress
Theme URI: https://github.com/govfresh/govpress
Author: GovFresh
Author URI: https://govfresh.com
Description: GovPress is a free WordPress theme for government and public-sector websites, designed around WCAG accessibility guidelines with automatic light and dark mode that follows each visitor's device settings — no toggle required. Banner position, menu placement, colors, and an optional icon navigation menu are all configurable from the Customizer, without touching code. All code is peer reviewed and patches are welcome via GitHub: https://github.com/govfresh/govpress. Documentation: https://github.com/govfresh/govpress/wiki. Release notes: https://github.com/govfresh/govpress/releases.
Version: 1.5.16
Requires at least: 5.0
Tested up to: 7.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: govpress
Domain Path: /languages/
Tags: two-columns, custom-header, custom-menu, featured-image-header, full-width-template, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

GovPress WordPress Theme, Copyright 2014-2026 GovFresh
GovPress is based on Underscores http://underscores.me/, (C) 2012-2014 Automattic, Inc.
*/
/* =Global Variables
----------------------------------------------- */
/*
 * Color tokens for dark mode support (prefers-color-scheme).
 * --color-primary is the odd one out: rather than adapting the same blue,
 * dark mode replaces the nav/hero/footer-credit bands with a neutral dark
 * background instead, so the site doesn't default to an all-blue dark
 * theme. Links (--color-link) stay blue in both schemes.
 */
:root {
  --color-text: #1c1d1f;
  --color-text-muted: #666;
  --color-link: #005ea2;
  --color-link-hover: #1a4480;
  --color-primary: #005ea2;
  --color-page-bg: #f8f8f8;
  --color-surface: #fff;
  --color-border: #f8f8f8;
  --color-button-neutral-bg: #f1f3f6;
  --color-button-neutral-border: #71767a;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-text: #f0f0f1;
    --color-text-muted: #a9aeb1;
    --color-link: #4da3ff;
    --color-link-hover: #8ec1ff;
    --color-primary: #2d2e30;
    --color-page-bg: #1b1b1b;
    --color-surface: #2d2e30;
    --color-border: #3a3b3d;
    --color-button-neutral-bg: #353638;
    --color-button-neutral-border: #a9aeb1;
  }
  /*
   * Overrides inc/customizer.php's light-mode-only inline rule for the
   * same selector (an admin's chosen Background Color isn't guaranteed
   * to work against a dark page, so dark mode uses the theme's own token
   * instead).
   */
  #footer-widgets {
    background: var(--color-page-bg);
  }
}
/* =Public Sans
----------------------------------------------- */
@font-face {
  font-family: "Public Sans";
  src: url("fonts/public-sans/PublicSans-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("fonts/public-sans/PublicSans-Italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("fonts/public-sans/PublicSans-SemiBold.woff2") format("woff2");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("fonts/public-sans/PublicSans-SemiBoldItalic.woff2") format("woff2");
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("fonts/public-sans/PublicSans-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Public Sans";
  src: url("fonts/public-sans/PublicSans-BoldItalic.woff2") format("woff2");
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
/*
Resetting and rebuilding styles have been helped along thanks to the fine work of
Eric Meyer http://meyerweb.com/eric/tools/css/reset/index.html
along with Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
and Blueprint http://www.blueprintcss.org/
*/
/* =Reset
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}

html {
  font-size: 62.5%; /* Corrects text resizing oddly in IE6/7 when body font-size is set using em units http://clagnut.com/blog/348/#c790 */
  overflow-y: scroll; /* Keeps page centered in all browsers regardless of content height */
  -webkit-text-size-adjust: 100%; /* Prevents iOS text size adjust after orientation change, without disabling user zoom */
  -ms-text-size-adjust: 100%; /* www.456bereastreet.com/archive/201012/controlling_text_size_in_safari_for_ios_without_disabling_user_zoom/ */
}

*,
*:before,
*:after { /* apply a natural box layout model to all elements; see http://www.paulirish.com/2012/box-sizing-border-box-ftw/ */
  -webkit-box-sizing: border-box; /* Not needed for modern webkit but still used by Blackberry Browser 7.0; see http://caniuse.com/#search=box-sizing */ /* Still needed for Firefox 28; see http://caniuse.com/#search=box-sizing */
  box-sizing: border-box;
}

body {
  background: #fff;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
nav,
section {
  display: block;
}

ol, ul {
  list-style: none;
}

table { /* tables still need 'cellspacing="0"' in the markup */
  border-collapse: separate;
  border-spacing: 0;
}

caption, th, td {
  font-weight: normal;
  text-align: left;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

a:focus {
  outline: thin dotted;
}

a:hover,
a:active {
  outline: 0;
}

a img {
  border: 0;
}

/* =Global
----------------------------------------------- */
body,
button,
input,
select,
textarea {
  color: var(--color-text);
  font-family: "Public Sans", sans-serif;
  font-size: 1.6rem;
  line-height: 1.5;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-weight: 700;
}

hr {
  background-color: #ccc;
  border: 0;
  height: 1px;
  margin-bottom: 1.5em;
}

/* Text elements */
p {
  margin-bottom: 1.5em;
}

ul, ol {
  margin: 0 0 1.5em 3em;
}

ul {
  list-style: disc;
}

ol {
  list-style: decimal;
}

li > ul,
li > ol {
  margin-bottom: 0;
  margin-left: 1.5em;
}

dt {
  font-weight: 600;
}

dd {
  margin: 0 1.5em 1.5em;
}

b, strong {
  font-weight: 600;
}

dfn, cite, em, i {
  font-style: italic;
}

blockquote {
  margin: 0 1.5em;
}

address {
  margin: 0 0 1.5em;
}

pre {
  background: #eee;
  font-family: "Courier 10 Pitch", Courier, monospace;
  font-size: 1.5rem;
  line-height: 1.6;
  margin-bottom: 1.6em;
  max-width: 100%;
  overflow: auto;
  padding: 1.6em;
}

code, kbd, tt, var {
  font: 15px Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr, acronym {
  border-bottom: 1px dotted #666;
  cursor: help;
}

mark, ins {
  background: #fff9c0;
  text-decoration: none;
}

sup,
sub {
  font-size: 75%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  bottom: 1ex;
}

sub {
  top: 0.5ex;
}

small {
  font-size: 75%;
}

big {
  font-size: 125%;
}

figure {
  margin: 0;
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

th {
  font-weight: 600;
}

img {
  height: auto; /* Make sure images are scaled correctly. */
  max-width: 100%; /* Adhere to container width. */
}

/* Forms */
label {
  cursor: pointer;
  display: block;
}

button,
input,
select,
textarea {
  font-size: 100%; /* Corrects font size not being inherited in all browsers */
  margin: 0; /* Addresses margins set differently in IE6/7, F3/4, S5, Chrome */
  vertical-align: baseline; /* Improves appearance and consistency in all browsers */
}

button,
.button,
input[type=button],
input[type=reset],
input[type=submit] {
  border-style: solid;
  border-width: 0px;
  cursor: pointer;
  margin: 0 0 1rem;
  position: relative;
  text-decoration: none;
  text-align: center;
  -webkit-appearance: none;
  border-radius: 3px;
  display: inline-block;
  padding: 0.7rem 2rem 0.9rem;
  background-color: var(--color-primary);
  -webkit-box-shadow: inset 0 -2px rgba(0, 0, 0, 0.2);
          box-shadow: inset 0 -2px rgba(0, 0, 0, 0.2);
  color: #fff;
  font-size: 1.5rem;
}

button:active,
input[type=button]:active,
input[type=reset]:active,
input[type=submit]:active {
  -webkit-box-shadow: inset 0 2px rgba(0, 0, 0, 0.15);
          box-shadow: inset 0 2px rgba(0, 0, 0, 0.15);
  padding: 0.8rem 2rem;
}

button:focus,
input[type=button]:focus,
input[type=reset]:focus,
input[type=submit]:focus {
  -webkit-box-shadow: inset 0 2px rgba(0, 0, 0, 0.15);
          box-shadow: inset 0 2px rgba(0, 0, 0, 0.15);
  padding: 0.8rem 2rem;
  outline: 3px solid var(--color-link);
  outline-offset: 2px;
}

input[type=checkbox],
input[type=radio] {
  padding: 0; /* Addresses excess padding in IE8/9 */
}

button::-moz-focus-inner,
input::-moz-focus-inner { /* Corrects inner padding and border displayed oddly in FF3/4 */
  border: 0;
  padding: 0;
}

input[type=text],
input[type=password],
input[type=date],
input[type=email],
input[type=search],
input[type=url],
input[type=tel],
input[type=email],
textarea {
  -webkit-appearance: none;
  background-color: var(--color-surface);
  font-family: inherit;
  border: none;
  -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.025), inset 0 1px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.025), inset 0 1px 1px rgba(0, 0, 0, 0.2);
  color: var(--color-text);
  display: block;
  font-size: 1.5rem;
  margin: 0 0 1em 0;
  padding: 0.8rem;
  width: 100%;
  border-radius: 3px;
}

input[type=text]:focus,
input[type=password]:focus,
input[type=date]:focus,
input[type=email]:focus,
input[type=search]:focus,
input[type=url]:focus,
textarea:focus {
  background-color: var(--color-surface);
  outline: 3px solid var(--color-link);
  outline-offset: 2px;
  -webkit-box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1), inset 0 1px 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 1px 0px rgba(0, 0, 0, 0.1), inset 0 1px 1px rgba(0, 0, 0, 0.2);
}

input[type=search]::-webkit-search-decoration {
  /* Corrects inner padding displayed oddly in S5, Chrome on OSX */
  -webkit-appearance: none;
}

input[name=post_password] {
  margin-top: 0.5em;
}

textarea {
  overflow: auto; /* Removes default vertical scrollbar in IE6/7/8/9 */
  vertical-align: top; /* Improves readability and alignment in all browsers */
  height: auto;
  min-height: 5rem;
}

/* Links */
a {
  color: var(--color-link);
}

a:hover,
a:active {
  color: var(--color-link-hover);
}

a:focus {
  color: var(--color-link-hover);
  outline: 3px solid var(--color-link);
  outline-offset: 2px;
}

/* Alignment */
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin: 0 auto;
}

/* Text meant only for screen readers */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
}

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
          box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 1.4rem;
  font-weight: 700;
  height: auto;
  left: 0.5rem;
  line-height: normal;
  padding: 1.5rem 2.3rem 1.4rem;
  text-decoration: none;
  top: 0.5rem;
  width: auto;
  z-index: 100000; /* Above WP toolbar */
}

/* Clearing */
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/* @noflip */
body.rtl {
  direction: rtl;
  unicode-bidi: embed;
}

/* =General
----------------------------------------------- */
body {
  -webkit-font-smoothing: antialiased;
  background: var(--color-page-bg);
}

a {
  text-decoration: none;
  -webkit-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}

a:hover {
  text-decoration: underline;
}

/* =Layout
----------------------------------------------- */
#page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  min-height: 100vh;
}

.admin-bar #page {
  min-height: calc(100vh - 46px);
}

@media screen and (min-width: 783px) {
  .admin-bar #page {
    min-height: calc(100vh - 32px);
  }
}
#page > .col-width {
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  -ms-flex-item-align: center;
      align-self: center;
  width: 100%;
}

.content-area {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  min-width: 0;
}

.col-width {
  max-width: 116rem;
  padding: 0 2rem;
  margin: 0 auto;
}

#secondary {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
  min-width: 0;
}

.site-footer {
  clear: both;
  width: 100%;
}

/* =Header
----------------------------------------------- */
.site-description {
  font-weight: 400;
  margin: 0;
}

/* =Menu
----------------------------------------------- */
#site-navigation {
  background: var(--color-primary);
  position: relative;
}

.main-navigation ul {
  list-style: none;
  margin: 0;
}

.main-navigation li {
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.main-navigation ul ul {
  margin-left: 2rem;
}

.main-navigation a {
  color: #fff;
  text-decoration: none;
  display: block;
}

.main-navigation a:hover {
  color: rgba(255, 255, 255, 0.8);
}

.main-navigation {
  font-size: 1.4rem;
  min-height: 4.8rem;
  position: relative;
}

.main-navigation.toggled-on {
  padding: 7.2rem 0 3.6rem;
}

.main-navigation .nav-menu {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  display: none;
}

.main-navigation.toggled-on .nav-menu {
  display: block;
}

.main-navigation a {
  padding: 0.7rem 0;
}

.menu-toggle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.6);
  border-radius: 3px;
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0;
  min-width: 4.4rem;
  min-height: 4.4rem;
  overflow: hidden;
  position: absolute;
  top: 0.2rem;
  right: 1rem;
}

/* =Icon Menu
----------------------------------------------- */
#menu-icon {
  margin: 0 0 1.5em;
}

.menu-icon-container {
  background: var(--color-surface);
  border-radius: 5px;
  padding: 1em;
}

.menu-icon-container ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1.5em 1em;
  text-align: center;
  list-style: none;
  margin: 0;
}

.menu-icon-container li {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 16rem;
          flex: 0 1 16rem;
  padding: 1em 0;
}

.menu-icon-container a:hover {
  text-decoration: none;
  color: var(--color-text);
}

/*
 * Icon Menu items get a Font Awesome class (fa-*) assigned via
 * inc/icon-menu-extras.php, plus a base "fa" class that Font Awesome 5+
 * requires. That base class's rule sets font-family/font-weight on the
 * whole <a> (not just the icon), which would otherwise make the menu
 * item's visible text render in the icon font too. Reset it back to the
 * theme's normal font on the link itself, then re-apply Font Awesome's
 * font explicitly on :before, where the icon glyph actually lives.
 */
.menu-icon-container a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  font-family: "Public Sans", sans-serif;
  font-weight: 400;
  text-align: center;
}

.menu-icon-container a:before {
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
  font-size: 5.2rem;
  margin: 0 0 1.5rem;
  text-decoration: none;
}

.menu-icon-container a:hover:before {
  opacity: 0.8;
}

/* =Header
----------------------------------------------- */
.site-header {
  font-weight: 400;
  padding: 1em 0;
  text-align: center;
}

.custom-logo {
  max-width: 100%;
  max-height: 12.5rem;
  width: auto;
}

.site-title {
  font-size: 3.6rem;
  font-weight: 700;
  margin: 0;
}

.site-title a {
  text-decoration: none;
}

/* =Content
----------------------------------------------- */
#content {
  background: var(--color-surface);
  border-radius: 5px;
  padding: 1.75em 1.5em;
  margin: 0 0 3em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0 3rem;
}

.sticky {
  /* Required for theme review */
}

.hentry {
  margin: 0 0 1.5em;
}

.entry-title {
  font-size: 3rem;
  border-bottom: 1px solid var(--color-border);
  padding: 0 0 0.5em;
  margin: 0 0 0.5em;
}

.entry-content {
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 1em;
}

.entry-content a {
  text-decoration: underline;
}

.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6 {
  margin: 0 0 1em;
  clear: none;
}

.entry-content h1 {
  font-size: 2.2rem;
}

.entry-content h2 {
  font-size: 2rem;
}

.entry-content h3 {
  font-size: 1.8rem;
}

.entry-title a:hover {
  color: var(--color-text);
  text-decoration: none;
}

.entry-meta {
  color: var(--color-text-muted);
  font-size: 1.4rem;
  border-bottom: 1px solid var(--color-border);
}

.entry-meta a {
  color: var(--color-text-muted);
}

.entry-header .entry-meta {
  padding: 0 0 1em;
  margin: 0 0 1.5em;
}

.byline,
.updated {
  display: none;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.author-meta {
  border-bottom: 1px solid var(--color-border);
  padding: 0 0 1.5em;
  margin: 0 0 1.5em;
  position: relative;
  font-size: 1.4rem;
  color: var(--color-text-muted);
  min-height: 10rem;
}

.author-avatar {
  position: absolute;
  left: 0;
}

.author-avatar img {
  border-radius: 50%;
}

.author-description {
  margin-left: 10rem;
}

.author-description h3 {
  font-size: 1.8rem;
  margin-bottom: 0.5em;
}

footer.entry-meta {
  padding-bottom: 0.75em;
  font-size: 1.2rem;
}

footer.entry-meta ul {
  list-style: none;
  margin: 0;
}

footer.entry-meta li {
  display: inline-block;
  margin: 0 0.5em 0.5em 0;
}

footer.entry-meta a {
  display: block;
  background: var(--color-page-bg);
  border-radius: 5px;
  color: var(--color-text-muted);
  padding: 0.5em 0.75em;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

/* =Layouts
----------------------------------------------- */
.layout-sidebar-left #secondary {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1;
}

/* =Search and 404 page
----------------------------------------------- */
.search .entry-header {
  margin: 0 0 1.5em;
}

.search .entry-title {
  font-size: 2.6rem;
}

.search-form:after {
  content: "";
  display: block;
  clear: both;
}

.search-form label {
  width: 100%;
  padding-right: 5.9rem;
  float: left;
}

.search-form input, .search-form button {
  margin: 0;
}

.search-form .search-submit {
  width: 5.4rem;
  margin-left: -5.4rem;
  float: left;
  height: 3.8rem;
}

.search-form .search-submit,
.wp-block-search__button {
  background-color: var(--color-button-neutral-bg);
  border: 1px solid var(--color-button-neutral-border);
  color: var(--color-text);
}

.search #main .search-form,
.error404 #main .search-form {
  border-radius: 5px;
  background: var(--color-page-bg);
  padding: 1em;
  margin: 0 0 1.5em;
}

.search #main .search-form .search-field,
.error404 #main .search-form .search-field {
  background: var(--color-surface);
}

.error404 .page-content .widgettitle {
  font-size: 1.6rem;
  margin: 0 0 0.5em;
}

/* =Asides
----------------------------------------------- */
.blog .format-aside .entry-title,
.archive .format-aside .entry-title {
  display: none;
}

/* =Media
----------------------------------------------- */
.page-content img.wp-smiley,
.entry-content img.wp-smiley,
.comment-content img.wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

.wp-caption {
  border: 1px solid #ccc;
  margin-bottom: 1.5em;
  max-width: 100%;
}

.wp-caption img[class*=wp-image-] {
  display: block;
  margin: 1.2% auto 0;
  max-width: 98%;
}

.wp-caption-text {
  text-align: center;
}

.wp-caption .wp-caption-text {
  margin: 0.8075em 0;
}

.site-main .gallery {
  margin-bottom: 1.5em;
}

.gallery-caption {
  /* Required for theme review */
}

.site-main .gallery a img {
  border: none;
  height: auto;
  max-width: 90%;
}

.site-main .gallery dd {
  margin: 0;
}

/* Make sure embeds and iframes fit their containers */
embed,
iframe,
object {
  max-width: 100%;
}

/* =Navigation
----------------------------------------------- */
.site-main [class*=navigation] {
  margin: 0 0 1.5em;
  overflow: hidden;
}

[class*=navigation] .nav-previous {
  float: left;
  width: 50%;
}

[class*=navigation] .nav-next {
  float: right;
  text-align: right;
  width: 50%;
}

.paging-navigation, .post-navigation {
  font-size: 1.5rem;
  fonts-size: 1.5rem;
}

/* =Comments
----------------------------------------------- */
.comments-title {
  margin: 0 0 1.5em;
}

.comment-list {
  list-style: none;
  margin: 0 0 3em;
}

.comment-list .children {
  list-style: none;
  margin: 1.5em 0 0 5em;
}

.comment {
  margin-bottom: 1em;
  position: relative;
}

.comment-body {
  padding: 0 0 0 5em;
}

#comments .avatar {
  left: 0;
  position: absolute;
  border-radius: 50%;
}

.comment-content, .reply {
  font-size: 1.6rem;
}

.comment-content a {
  word-wrap: break-word;
}

.comment-content p {
  margin: 0 0 0.5em;
}

.comment-meta {
  margin: 0 0 0.5em;
}

.comment-metadata {
  font-size: 1.3rem;
}

.bypostauthor {
  background: #f8f8f8;
  padding: 0.5em;
}

.bypostauthor .avatar {
  left: 0.5em;
}

#reply-title {
  margin: 0 0 0.5em;
}

#commentform label[for=author],
#commentform label[for=email],
#commentform label[for=url] {
  float: left;
  padding: 0.5rem 0;
  width: 10rem;
}

.form-allowed-tags, .form-allowed-tags code {
  font-family: "Public Sans";
  font-size: 1.3rem;
}

/* =Widgets
----------------------------------------------- */
.widget {
  font-size: 1.6rem;
  margin: 0 0 1.5em;
}

.widget ul {
  list-style: none;
}

.widget ul li {
  margin-bottom: 0.2em;
}

/* Make sure select elements fit in widgets */
.widget select {
  max-width: 100%;
}

/* Prevent the core Search block's flex layout from overflowing its widget */
.widget .wp-block-search__inside-wrapper {
  max-width: 100%;
}

.widget .wp-block-search__input {
  min-width: 0;
}

/* Sidebar Widgets & Home Page Featured Widgets */
#secondary .widget, #home-page-featured .widget {
  background: var(--color-page-bg);
  padding: 1.25em;
  overflow: hidden;
  border-radius: 5px;
}
#secondary .widget-title, #home-page-featured .widget-title {
  color: #fff;
  background: var(--color-primary);
  padding: 0.5em 1.25em;
  margin: -1.25em -1.25em 1em;
}
#secondary .widget-title a, #home-page-featured .widget-title a {
  color: #fff;
}
#secondary .widget ul, #home-page-featured .widget ul {
  margin: 0;
}

/* Specific Widget Styling */
#secondary .widget-title .rsswidget img,
#home-page-featured .widget-title .rsswidget img {
  display: none;
}
#secondary .widget_search .widget-title,
#home-page-featured .widget_search .widget-title {
  margin-bottom: 0;
}
#secondary .widget_search .search-field,
#home-page-featured .widget_search .search-field {
  background: var(--color-surface);
}

/* Header Widgets */
#hero-widgets .widget {
  font-size: 1.8rem;
  margin: 0 0 1em;
  clear: both;
}

#hero-widgets .widget a {
  color: #fff;
  text-decoration: underline;
}

#hero-widgets .widget-title {
  font-size: 3rem;
  margin-bottom: 0.5em;
}

#hero-widgets {
  background: var(--color-primary);
  color: #fff;
  margin-bottom: 3em;
  padding: 1.5em 0;
  text-align: center;
}

#hero-widgets .section-wrap {
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.3);
  padding: 1.75em 1.5em;
}

@media (prefers-color-scheme: dark) {
  /*
   * The overlay above is tuned for a lighter-blue card against the
   * light-mode primary color; against dark mode's near-black
   * --color-primary the same overlay reads as a flat mid-gray, so it
   * needs a much lower opacity here instead.
   */
  #hero-widgets .section-wrap {
    background: rgba(255, 255, 255, 0.06);
  }
}
#hero-widgets .search-form {
  max-width: 36rem;
  display: block;
  margin: 0 auto;
}

/* Footer Widgets */
#footer-widgets {
  margin-bottom: 3em;
  padding: 0 1.5em;
}

#footer-widgets a {
  color: var(--color-link);
  text-decoration: none;
}

#footer-widgets a:hover {
  color: var(--color-link-hover);
  text-decoration: underline;
}

#footer-widgets .widget-title {
  font-size: 1.8rem;
  margin-bottom: 1em;
}

#footer-widgets .widget ul {
  margin: 0 0 1.5em;
}

#footer-widgets .widget ul ul {
  margin: 0 0 0 1.5em;
}

#footer-widgets.widgets-count-2 .widget-area {
  float: left;
  width: 47.5%;
  margin-right: 5%;
}

#footer-widgets.widgets-count-2 #footer-widget-2 {
  margin-right: 0;
}

#footer-widgets.widgets-count-3 .widget-area {
  float: left;
  width: 30%;
  margin-right: 5%;
}

#footer-widgets.widgets-count-3 #footer-widget-3 {
  margin-right: 0;
}

#footer-widgets .widget_search .search-field {
  background: var(--color-surface);
}

#footer-widgets .search-form {
  max-width: 36rem;
  display: block;
  margin: 0 auto;
}

/* =Footer
----------------------------------------------- */
.site-banner {
  font-size: 1.4rem;
  background: var(--color-primary);
  color: #fff;
  padding: 0.75em 0;
  text-align: center;
}

.site-banner .widget-area :last-child {
  margin-bottom: 0;
}

.site-banner.align-left {
  text-align: left;
}

.site-banner a {
  color: #fff;
}

.site-banner .search-form {
  max-width: 36rem;
  display: block;
  margin: 0 auto;
}

.site-banner.align-left .search-form {
  margin-left: 0;
}

/* =Plugin Support
----------------------------------------------- */
.breadcrumb {
  font-size: 1.4rem;
  padding: 0.8rem 1.5rem;
  margin-bottom: 1.5em;
  list-style: none;
  background-color: var(--color-page-bg);
  border-radius: 4px;
}

/* Plugin : WP PageNavi */
.wp-pagenavi {
  font-weight: 600;
}

.wp-pagenavi a,
.wp-pagenavi span {
  color: var(--color-text-muted);
  font-size: 1.5rem;
  padding: 0.7rem 0.8rem;
  display: inline;
  margin: 0 0.2rem;
}

.wp-pagenavi span.pages {
  display: block;
  color: var(--color-text-muted);
  margin-bottom: 1em;
}

.wp-pagenavi a:hover,
.wp-pagenavi a:active,
.wp-pagenavi span.current {
  color: var(--color-text);
}

.wp-pagenavi a {
  color: var(--color-link);
  border-top: 1px solid var(--color-border);
}

/* =Infinite Scroll
----------------------------------------------- */
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .paging-navigation,
.infinite-scroll.neverending .site-footer { /* Theme Footer (when set to scrolling) */
  display: none;
}

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before */
.infinity-end.neverending .site-footer {
  display: block;
}

/* =Plugin support
----------------------------------------------- */
.wsp-category-title {
  font-weight: 600;
}

.wsp-pages-list,
.wsp-posts-list {
  list-style: none;
  margin-left: 0;
}

.wsp-pages-list ul,
.wsp-posts-list ul {
  margin-left: 3em;
}

/* =Responsive
----------------------------------------------- */
@media screen and (min-width: 1100px) {
  /* Primary Navigation */
  .main-navigation {
    padding: 0;
  }
  .main-navigation .menu-toggle {
    display: none;
    padding: 0;
  }
  .main-navigation .nav-menu {
    border-bottom: 0;
    display: block;
  }
  .main-navigation.toggled-on {
    border-bottom: 0;
    margin: 0;
    padding: 0;
  }
  .main-navigation li {
    border: 0;
    display: inline-block;
    height: 4.8rem;
    line-height: 4.8rem;
    position: relative;
  }
  .main-navigation a {
    display: inline-block;
    padding: 0 1.2rem;
    white-space: nowrap;
  }
  .main-navigation .current_page_item > a,
  .main-navigation .current_page_ancestor > a,
  .main-navigation .current-menu-item > a,
  .main-navigation .current-menu-ancestor > a {
    background: var(--color-page-bg);
    color: var(--color-text-muted);
  }
  .main-navigation ul > li.menu-item-has-children:hover > a,
  .main-navigation ul > li.menu-item-has-children.focus > a,
  .main-navigation ul > li.page_item_has_children:hover > a,
  .main-navigation ul > li.page_item_has_children.focus > a {
    color: var(--color-text-muted);
    background: var(--color-page-bg);
  }
  .main-navigation ul ul {
    background-color: #f8f8f8;
    border: 1px solid #ccc;
    border-top: none;
    float: left;
    margin: 0 0 0 -1px;
    position: absolute;
    top: 4.8rem;
    left: -999em;
    z-index: 99999;
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out;
  }
  .main-navigation li li {
    border: 0;
    display: block;
    height: auto;
    line-height: 1.2;
  }
  .main-navigation ul ul ul {
    left: -999em;
    top: 0;
  }
  .main-navigation ul ul a {
    color: #555;
    padding: 1.6rem 1.2rem;
    white-space: normal;
    width: 19rem;
  }
  .main-navigation ul ul a:hover,
  .main-navigation ul ul li.focus > a,
  .main-navigation ul ul li:hover {
    color: #555;
    background-color: #fefefe;
  }
  .main-navigation ul ul li.menu-item-has-children:hover > a,
  .main-navigation ul ul li.menu-item-has-children.focus > a,
  .main-navigation ul ul li.page_item_has_children:hover > a,
  .main-navigation ul ul li.page_item_has_children.focus > a {
    color: #555;
    background-color: #fefefe;
  }
  .main-navigation ul li:hover > ul,
  .main-navigation ul li.focus > ul {
    left: auto;
    opacity: 1;
  }
  .main-navigation ul ul li:hover > ul,
  .main-navigation ul ul li.focus > ul {
    left: 100%;
  }
  .main-navigation .menu-item-has-children > a,
  .main-navigation .page_item_has_children > a {
    padding-right: 2.6rem;
  }
  .main-navigation .menu-item-has-children > a:after,
  .main-navigation .page_item_has_children > a:after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    border-left: 0.4rem solid transparent;
    border-right: 0.4rem solid transparent;
    border-top: 0.4rem solid #fff;
    position: absolute;
    right: 1.2rem;
    top: 2.2rem;
  }
  .main-navigation li .menu-item-has-children > a,
  .main-navigation li .page_item_has_children > a {
    padding-right: 2rem;
    width: 16.8rem;
  }
  .main-navigation .menu-item-has-children li.menu-item-has-children > a:after,
  .main-navigation .menu-item-has-children li.page_item_has_children > a:after,
  .main-navigation .page_item_has_children li.menu-item-has-children > a:after,
  .main-navigation .page_item_has_children li.page_item_has_children > a:after {
    content: "\f0da";
    right: 0.8rem;
    top: 2rem;
  }
}
@media screen and (max-width: 840px) {
  .content-area,
  #secondary {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
  }
  .layout-sidebar-left #secondary {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0;
  }
}
@media screen and (max-width: 680px) {
  #footer-widgets.widgets-count-3 .widget-area {
    float: none;
    width: auto;
    margin-right: 0;
  }
  .comment-list .children {
    list-style: none;
    margin: 1.5em 0 0 0;
  }
}
@media screen and (max-width: 480px) {
  .col-width {
    padding: 0;
  }
  .site-footer .col-width {
    padding: 0 1.5em;
  }
  .main-navigation.toggled-on {
    padding: 4.2rem 0 0;
  }
  .main-navigation a {
    padding: 0.7rem 2rem;
  }
}
/* =Post Thumbnails
----------------------------------------------- */
.entry-thumbnail {
  margin-bottom: 1.5em;
}

.entry-thumbnail img {
  display: block;
  height: auto;
  max-width: 100%;
}

/* =Block Styles
----------------------------------------------- */
.wp-block-quote.is-style-govpress {
  border-left: 4px solid var(--color-link);
  font-style: italic;
  padding-left: 1.5em;
}
