/* Global styles */
:root {
  --sans-serif: 'Helvetica Neue', Helvetica, Arial, sans-serif;
}

::placeholder { color: darkgray; opacity: 1; }
::-ms-input-placeholder { color: darkgray; opacity: 1; }
::-webkit-input-placeholder { color: darkgray; opacity: 1; }
* { -webkit-overflow-scrolling: touch; }

a:not([href]) { color: inherit; cursor: inherit; text-decoration: inherit; }
a.skiplink { background: #0a0a0a; color: #fefefe; font-size: 16px; font-weight: 600; left: 0; opacity: 1; padding: 12px 16px; position: fixed; text-shadow: 2px 1px 3px rgba(0,0,0,1); top: -1000px; z-index: 10000; }
a.skiplink:focus { top: 0; }
/* hr { background: #0a0a0a; border: 0; clear: both; display: block; height: 0.0625rem; margin: 2.625rem 0; } */
iframe { border: 0.0625rem solid #554832; display: block; margin: 1rem auto; max-width: 100%; }
img:is(.float-left, .float-right) { max-width: 30vw; }

body { background: rgb(0,92,185); background: linear-gradient(180deg, rgba(0,92,185,0.65) 0%, rgba(137,185,64,0.65) 100%);
  font-size: 14px; line-height: calc(25 / 14); }

h1, h2, h3, h4, h5 { color: #005cb9; font-weight: bold; }
/* h1, h2, h3 { } */
h1, h2 { text-transform: uppercase; }
h3, h4, h5 { text-transform: capitalize; }
/* .page-title h1 { margin-bottom: 0; } */
h2 { margin: 32px 0 30px; }
h3 { margin: 30px 0 34px; }
h4 { margin: 30px 0; }
h5 { margin: 0 0 28px; }
hr { background: #89b940; border: 0; border-radius: 12px; clear: both; content: ''; display: block; height: 2px;
  margin: 40px 0; width: 100%; }

div.icons, div.popover { display: none !important; }
.blue-text { color: #005cb9; }
.button { font-size: 14px; font-weight: bold; line-height: calc(16.8 / 14); text-transform: uppercase; }
.button:hover, .button:focus { background: #89b940; }
.callout>*:nth-last-child(2) { margin-bottom: 0; }
.callout .button { margin: 0; }
.clearfix::after, .clearfix::before { content: ''; display: table; }
.clearfix::after { clear: both; }
.float-group { margin: 1.5rem auto; }
.float-group::after { clear: both; content: ''; display: table; }
.float-left { margin: 10px 24px 10px 0; }
.float-right { margin: 10px 0 10px 24px; }
.hide-display { height: 0; opacity: 0; overflow: hidden; position: absolute; white-space: nowrap; width: 0; }
.icons, .popover { display: none !important; }
.nopad { padding: 0 !important; }
.radius, .rounded { border-radius: 0.313rem; }
.reverse-deco { text-decoration: none; }
.reverse-deco:focus, .reverse-deco:hover { text-decoration: underline; }
.text-black { color: #0a0a0a; }
.text-lower { text-transform: lowercase; }
.text-title { text-transform: capitalize; }
.text-upper { text-transform: uppercase; }
/* [aria-hidden="true"] { visibility: hidden !important; } */
.rc-anchor-invisible-text .rc-anchor-pt a:link { display: inline !important; }
/* .rc-anchor-normal-footer[aria-hidden="true"] { visibility: hidden !important; } */

.system-message-container { font-family: 'Fira Code', 'Courier New', Courier, monospace; font-size: 1rem; line-height: normal; }
.system-message-container .callout { color: #0a0a0a; }
.system-message-header { font-family: 'EB Garamond', 'Source Serif Pro', Georgia, 'Times New Roman', Times, serif;
  font-size: 2rem; font-weight: bold; line-height: normal; margin: 0 0 1rem; text-transform: uppercase; }
.system-message-container p { line-height: normal; margin: 0.625rem 0; padding: 0 0 0 1.5rem; position: relative; text-indent: 0; }
.system-message-container p::before { color: #0a0a0a; content: '•'; direction: rtl; display: inline-block; font-weight: bold; left: 0;
  margin: 0; position: absolute; text-align: right; top: 0; width: 0.75rem; }
.system-message-container p:last-of-type { margin: 0; }
/* End global styles */

/* Masthead */
/* #system-message, #system-message .callout { margin-bottom: 0; } */
.masthead, .masthead-content { position: relative; }
/* .masthead { } */
.logo { background: #fefefe; padding: 28px 10vw 20px; text-align: center; }
.logo p { margin: 0; }

/* The left and right padding here mimics the padding that column classes have */
.masthead-content { font-size: 0; height: inherit; margin-left: auto; margin-right: auto; max-width: 75rem; padding: 0 .625rem; }
.masthead-content::before { content: ''; display: inline-block; height: 100%; vertical-align: middle; width: 0; }
.masthead-content > * { display: inline-block; font-size: 1rem; vertical-align: bottom; }
.masthead-content > *:last-child { width: calc(100% - 360px); }
/* End masthead */

/* Navigation */
.topnavarea { background: #005cb9; box-shadow: 7px 7px 20px 0 rgba(0,0,0,0.24); color: #fefefe; font-size: 12px;
  line-height: calc(14.4 / 12); min-height: 46px; position: relative; }
.mainmenu { font-size: 18px; font-weight: bold; justify-content: center; line-height: calc(21.6 / 18); text-transform: uppercase; }
.mainmenu.menu a { color: #fefefe; }
.mainmenu.menu a:hover { background: #89b940; }
.mainmenu.menu li.active>a { background: #89b940; color: #fefefe; }
.mainmenu > li { position: relative; }
.mainmenu > li:hover::after { background: linear-gradient(180deg, rgba(0,0,0,0.10) 0%, rgba(0,0,0,0) 100%); content: '';
  display: block; height: 100%; pointer-events: none; position: absolute; top: 0; width: 100%; }
.mainmenu.dropdown.menu > li > a { min-width: 200px; padding: 14px 34px; text-align: center; }
.mainmenu > li a:focus, .mainmenu > li a:hover, .dropdown.menu>li.is-active>a { background: #89b940; color: #fefefe; }
.dropdown.menu>li.is-dropdown-submenu-parent>a::after { border-color: #fefefe transparent transparent; content: none; }
.dropdown.menu>li.is-dropdown-submenu-parent.is-active>a::after { border-color: #89b940 transparent transparent; }
.mainmenu .is-dropdown-submenu { background: #005cb9; border: 0; font-size: 16px; line-height: calc(19.2 / 16);
  min-width: 320px; text-transform: capitalize; }
.mainmenu .is-dropdown-submenu li { border: 0 solid #89b940; border-bottom-width: 3px; border-left-width: 3px; }
.mainmenu .is-dropdown-submenu li:last-child { border-bottom-width: 0; }
.mainmenu .is-dropdown-submenu a { line-height: 1.2; }
.mainmenu .submenu a:focus, .mainmenu .submenu a:hover, .mainmenu .submenu .is-active>a, .mainmenu .submenu li.active>a {
  background: #89b940; color: #fefefe; }
.is-dropdown-submenu .is-dropdown-submenu { margin-top: 0; }
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right>a::after { border-color: transparent transparent transparent #fefefe; }
.is-dropdown-submenu .is-dropdown-submenu-parent.opens-right.is-active>a::after { border-color: transparent transparent transparent #fefefe; }

.pushy-menu-btn { display: none; font-size: 18px; line-height: 1; position: absolute; right: 3%;
  text-transform: uppercase; top: 50%; transform: translateY(-50%); }
.pushy-menu-btn, a.pushy-menu-btn:not([href]) { cursor: pointer; }
.pushy-menu-btn .fa { font-size: 30px; margin-left: 10px; }

nav.up-button { bottom: 1rem; left: 0.5rem; position: fixed; z-index: 2; }
a.up-button__link { background-color: #005cb9; bottom: 1rem; border-radius: 1.875rem; color: #fefefe; display: block;
  font-family: 'Font Awesome 5 Free'; font-size: 2rem; -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased;
  font-variant: normal; font-weight: 900; left: 0.5rem; line-height: 1; padding: 0.8125rem 0.8125rem; position: fixed;
  text-decoration: none; text-rendering: auto; transition: background 0.4s; z-index: 2; }
a.up-button__link:focus, a.up-button__link:hover { background-color: #89b940; }
a.up-button__link::before, a.up-button__link:before { content: '\f062'; }
/* End navigation */

/* Slideshow */
section.slideshow { margin: 0 auto; max-width: 75rem; width: 100%; }
/* End slideshow */

/* Copyarea */
.copyarea { background: #fefefe; padding: 36px 70px; }
.copyarea.home { padding-bottom: 20px; }
/* .copyarea.inner { } */
.inner .copy { padding-top: 13px; }
.copyarea ol, .copyarea ul { line-height: calc(23 / 16); margin: 16px 0 30px; padding-left: 54px; }
.copyarea ol li, .copyarea ul li { margin: 0 auto 0.625rem; }
.pagination__wrapper p { margin: 0; }
.pagination__wrapper { margin: 18px 0; }
.copyarea ul.pagination { align-items: center; display: flex; justify-content: flex-start; margin: 14px 0; padding: 0; width: auto; }
.copyarea .pagination > li { margin: 0; }
.pagination a, .pagination li.active span, .pagination button, .pagination .disabled { padding: 5px 12px; }
.pagination a, .pagination a:not([href]) { cursor: pointer; }
.pagination .has-tip { border-bottom: 0; }
/* .copyarea ul.breadcrumbs { } */
/* Reset left/right margins back to auto for component content that may contain its own rows and columns */
.row.reset { margin-left: auto; margin-right: auto; }
/* JCE flex columns */
.wf-columns .wf-column { margin-bottom: 2rem; margin-left: 2rem; }
.wf-columns .wf-column img { display: block; margin-left: auto; margin-right: auto; }

ul.tags { font-size: 0; margin: 16px 0 0; padding: 0; }
ul.tags li { display: inline-block; font-size: 13px; line-height: normal; margin: 0 16px 16px 0; vertical-align: top; }
ul.tags li > a { background: #4b9cd3; border-radius: 0; color: #fefefe; cursor: pointer; display: block; font-size: inherit; line-height: inherit;
  padding: 6px 10px; text-decoration: none; transition: background 0.4s; white-space: nowrap; }
ul.tags li > a:focus, ul.tags li > a:hover { background: #3089c6; }

.column-list, .copyarea .column-list { column-count: 3; column-gap: 50px; font-size: 16px; font-weight: bold;
  line-height: calc(25 / 16); margin: 30px 0 36px; padding-left: 56px; }
.column-list li, .copyarea .column-list li { margin: 0 0 9px; }

h1, .home h2 { margin: 0 -30px 22px; padding-left: 30px; }
.home h2 { padding-right: 30px; }
h1::after, .home h2::after { background: #89b940; border-radius: 12px; content: ''; display: block; height: 4px;
  margin-left: -30px; width: 100%; }
.home h2::after { width: calc(100% + 60px); }

.home h1 { margin: 0 auto 22px; padding: 0; }
.home h1::after { content: none; }
.home h2 { font-size: 21px; line-height: calc(31.122 / 21); margin: 40px -30px 32px; }
.home h2::after { margin-top: 5px; }

dl dt.result-title:first-child { margin: 0 auto 0.3125rem; }
dl dt.result-title:not(:first-child) { margin: 1rem auto 0.3125rem; }
.search-result { margin: 0 auto 30px; }
.search-result:first-child { margin-top: 15px; }
.search-result::after { border: 0; border-bottom: 1px dotted #eee; content: ''; display: block; line-height: 1; margin: 24px auto; }

.videowrapper { /* background styles, etc. */ border: 0; margin: 0 auto 36px; position: relative; }
.videowrapper::before, .videowrapper:before { content: ''; float: left; margin-left: -1px; padding: 56.25% 0 0 0; width: 1px; }
.videowrapper::after, .videowrapper:after { clear: both; content: ''; display: table; }
.videowrapper embed, .videowrapper iframe, .videowrapper object { border: 0; height: 99%; margin: 0; max-width: unset;
  position: absolute; width: 100%; }
.squarephoto { margin: 0 auto; position: relative; }
.squarephoto::before, .squarephoto:before { content: ''; float: left; margin-left: -1px; padding: 100% 0 0 0; width: 1px; }
.squarephoto::after, .squarephoto:after { clear: both; content: ''; display: table; }
.squarephoto img { border: 0; height: 100%; margin: 0; max-width: unset; position: absolute; top: 0; width: 100%; }

.photoblock { background-position: center; background-repeat: no-repeat; background-size: contain; display: inline-block;
  font-size: 0; height: 200px; margin: 10px 0; width: 100%; }
.photoblock a { display: block; height: 100%; }

input[name="a_password"] { display: none; height: 0; visibility: hidden; }

div[class*="leading-"] { clear: both; }
div[class*="leading-"]::after { background: #89b940; border-radius: 12px; clear: both; content: ''; display: block;
  height: 2px; margin: 40px 0; width: 100%; }
div[class*="leading-"]:last-child::after { margin-bottom: 0; }

.readmore { font-weight: bold; margin: 0; text-transform: uppercase; }

/* reset negative margins on these inner rows */
.items-leading.row, .staff-list.row, div[class*="leading-"].row { margin-left: 0; margin-right: 0; }

div[class*="leading-"].row > .columns:first-child { padding-left: 0; }
div[class*="leading-"].row > .columns:last-child { padding-right: 0; }
/* [class*="leading-"] .item-image */
.item-page.newsstand { padding-left: 0; padding-right: 0; }
.item-image img { border: 6.82px solid #005cb9; border-bottom-left-radius: 10px; border-top-right-radius: 10px; }
.blog .item-image, .item-page .item-image { margin-bottom: 16px; }
.slideshow .item-image img { border-bottom-left-radius: 0; border-top-right-radius: 0; }
.item-image img { height: auto; width: 100%; }
.item-header h2 { margin-bottom: 8px; margin-top: 0; }

.intext-image__left { float: left; margin-right: 10px; }
.intext-image__right { float: right; margin-left: 10px; }
.intext-image__left, .intext-image__right { margin-bottom: 10px; margin-top: 10px; max-width: 265px; }

/* Staff page(s) */
.bio-img { float: left; margin-bottom: 10px; margin-right: 18px; width: 200px; }
.bio-img img { border: 6.82px solid #005cb9; border-bottom-left-radius: 10px; border-top-right-radius: 10px;
  height: auto; width: 100%; }

h2.staff-name, h2.testimonial-author { margin: 0 0 10px; }
.staff-subtitle, .testimonial-subtitle { color: #89b940; display: block; font-size: 17px; font-weight: 500;
  line-height: calc(22.4 / 17); text-transform: none; }
/* .staff-member p:last-of-type { margin-bottom: 0; } */
.testimonial blockquote { border: 0; margin: 0; overflow: auto; padding: 0; }
.testimonial p:last-of-type { margin-bottom: 0; }
/* End staff page(s) */

/* Aside */
.sidebar h3 { font-size: 24px; font-weight: bold; line-height: calc(28 / 24); margin: 10px 0; text-transform: uppercase; }
.sidebar h3:first-of-type { margin-top: 0; }

.quote-mark { color: #89b940; font-size: 70px; font-weight: bold; line-height: calc(28 / 70); position: absolute; }

.quote-mark.begin { left: 12px; top: 26px; }
.quote-mark.end { bottom: 3px; right: 17px; }

.related-testimonial { background: #005cb9; border-top-right-radius: 12px; border-bottom-left-radius: 12px; color: #fefefe;
  padding: 50px 35px; position: relative; }

.related-testimonial h3 { color: #fefefe; }
.related-testimonial *:last-child { margin-bottom: 0; }
.testimonial__subtitle { color: #89b940; display: block; font-size: 17px; font-weight: 500; line-height: calc(22.4 / 17);
  text-transform: none; }

/* End aside */
/* End copyarea */

/* Footer */
footer { background: #4d4d4d; color: #fefefe; font-size: 14px; font-weight: 500; line-height: calc(18.4 / 14);
  padding: 45px 0; text-align: center; }
footer a, footer a:focus, footer a:hover { color: #fefefe; }
footer a:focus, footer a:hover { text-decoration: underline; }
.footermenu.menu li.active>a { background: none; }
footer p { margin: 0; }
footer .moduletable:not(:last-child), footer .moduletable_menu:not(:last-child) { margin: 0 0 18px; }

.office-info { font-size: 0; }
.office-info p { align-items: center; display: inline-flex; font-size: 14px; }
.office-info p:not(:last-child)::after { content: '|'; display: inline-flex; margin: 0 9px 0 10px; }

.footermenu { display: block; flex: none; font-size: 0; text-transform: uppercase; }
.footermenu > li { align-items: center; display: inline-flex; font-size: 14px; line-height: calc(18.4 / 14); }
.footermenu > li:not(:last-child)::after { content: '|'; display: inline-flex; margin: 0 9px; }
.footermenu a { padding: 0; }

.dev-copyright { font-size: 12px; line-height: calc(18.4 / 12); }
/* End footer */

/* Locations map styles */
.gmaps-wrapper { position: relative; }
.noscroll { pointer-events: none; }
.gmaps-wrapper, .location-map { border: 0.063rem solid #0a0a0a; box-shadow: 0 0 0.188rem 0 rgba(51,51,51,0.5); }
.gmaps-wrapper .details * { color: #fff; }
.gmaps-wrapper .details a { color: #ccd699; text-decoration: underline; }
.gmaps-wrapper .details a:focus, .gmaps-wrapper .details a:hover { text-decoration: none; }
.gmaps-wrapper .details { background: rgba(0,0,0,0.8); bottom: 0; cursor: default; left: 0;
  padding: 0.625rem; pointer-events: unset; position: absolute; right: 0; top: 0; z-index: 1000; }
/* End locations map styles */

/* Custom CSS */
blockquote { border-left: 0.1875rem solid #0a0a0a; margin: 1rem 0; padding: 0.9375rem 1rem; }
blockquote, blockquote p { color: inherit; }
blockquote > p:last-child, blockquote [class*="button"]:last-of-type { margin-bottom: 0; }
input[readonly] { background-color: inherit; }
select { background-position: right center; }
span.br { display: initial; }
span.horizontal-link { display: inline-block; vertical-align: middle; }
span.horizontal-link:not(:last-child)::after { content: '|'; display: inherit; margin-left: 7px; margin-right: 7px;
  vertical-align: inherit; }

.recap-container { position: relative; }
.recap-container > div { display: none; }
.grecaptcha-badge { margin: 0 0 1rem; }
.required::before, .required:before { color: #c71c24; content: '*'; display: inline-block; vertical-align: top; }
.pagination-list { margin-left: 0; }
/* .pagination li:last-child, .pagination li:first-child, .pagination li.nav-start,
  .pagination li.nav-prev, .pagination li.nav-next, .pagination li.nav-end { display: inline-block; } */

.imageset img { display: block; margin: 0 auto; }

/* End custom CSS */

/* Media queries */
/* Small and up */
@media only screen and (min-width: 0em) {}

/* Small only */
@media screen and (max-width: 32.438em) {
  .footermenu > li { display: block; margin: 24px auto; }
  .footermenu > li:not(:last-child)::after { content: none; }
}

@media screen and (max-width: 37.438em) {
  /* .copyarea { padding: 36px 40px; } */
  .copyarea { overflow: hidden; padding: 36px 15px; }
  .copyarea ol, .copyarea ul { padding-left: 36px; }
}

@media only screen and (max-width: 39.9375em) {
  .masthead-content > *.logo { margin-right: 0; width: 200px; }
  .masthead-content > *:last-child { width: calc(100% - 200px); }

  footer .columns { margin-bottom: 1rem; }
  footer .text-right { text-align: left; }
}

/* Medium and up */
@media only screen and (min-width: 40em) {
  .masthead-content { padding: 0 .9375rem; }
}

/* Medium only */
@media only screen and (min-width: 40em) and (max-width: 63.9375em) {}

@media screen and (max-width: 41.188em) {
  .bio-img { float: none; display: block; margin-right: 0; width: 60%; width: 50vw; }
}

@media screen and (max-width: 42.125em) {
  .column-list, .copyarea .column-list { column-count: 1; column-gap: unset; padding-left: inherit; }
}

/* Variable max-width; depends on size of the menubar */
@media only screen and (max-width: 56.188em) {
  .mainmenu { display: none; }
  .pushy-menu-btn { align-items: center; display: inline-flex; }

  .intext-image__left, .intext-image__right { max-width: 40%; }

  .office-info p { display: block; }
  .office-info p:not(:last-child)::after { content: none; }
}

@media screen and (min-width: 42.188em) and (max-width: 61.188em) {
  .column-list, .copyarea .column-list { column-count: 2; padding-left: 30px; }
}

@media screen and (min-width: 35.625em) and (max-width: 56.188em) {
  .item-page.newsstand { padding-left: 25px; padding-right: 25px; }
}

@media screen and (min-width: 56.250em) {
  .item-page.newsstand { padding-left: 95px; padding-right: 95px; }
}

@media screen and (max-width: 60.000em) {
  .wf-columns .wf-column { border-bottom: 1px solid #ccc; margin-left: 0; justify-content: center; padding-bottom: 2rem; text-align: center; }
  .wf-columns .wf-column p:last-of-type { margin-bottom: 0; }
}

/* Medium and lower */
@media only screen and (max-width: 63.9375em) {

}

/* Large and up */
@media only screen and (min-width: 64em) {

}

/* Large only */
@media only screen and (min-width: 64em) and (max-width: 74.9375em) {}

/* Xlarge and up */
@media only screen and (min-width: 75em) {

}

@media only screen and (max-width: 75em) {
  footer { padding-left: 3%; padding-right: 3%; }
}

/* Xxlarge and up */
@media only screen and (min-width: 90em) {}
