/* Styles for Pequod child theme */

/* Font */

@font-face {
    font-family: "EurostileExtended";
    src: url("../../fonts/EurostileExtended-Black.woff2") format("woff2");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

:root {
    --pequod-dark: #000;
    --pequod-light: #fff;
    --pequod-primary-background: #fff;
    --pequod-secondary-background: #F9F9F9;
    --pequod-accent1: #0064E5;
    --pequod-accent2: #002879;
    --pequod-accent3: #8BBDFF;
    --pequod-accent4: #F9F9F9;
    --pequod-focus: #0064E5;
    --pequod-alert: #FBFF01;
    --pequod-zebra: #004545; /*#008282*/

    --pequod-primary-button-background: var(--pequod-accent1);
    --pequod-primary-button-color: var(--pequod-light);
    --pequod-primary-button-background-hover: var(--pequod-dark);
    --pequod-primary-button-color-hover: var(--pequod-light);

    --pequod-primary-button-dark-background: var(--pequod-accent1);
    --pequod-primary-button-dark-color: var(--pequod-light);
    --pequod-primary-button-dark-background-hover: var(--pequod-dark);
    --pequod-primary-button-dark-color-hover: var(--pequod-light);

    --pequod-primary-button-light-background: var(--pequod-light);
    --pequod-primary-button-light-color: var(--pequod-dark);
    --pequod-primary-button-light-background-hover: var(--pequod-dark);
    --pequod-primary-button-light-color-hover: var(--pequod-light);

    --pequod-secondary-button-background: var(--pequod-accent1);
    --pequod-secondary-button-color: var(--pequod-light);
    --pequod-secondary-button-background-hover: var(--pequod-dark);
    --pequod-secondary-button-color-hover: var(--pequod-light);

    --pequod-secondary-button-dark-background: var(--pequod-accent1);
    --pequod-secondary-button-dark-color: var(--pequod-light);
    --pequod-secondary-button-dark-background-hover: var(--pequod-dark);
    --pequod-secondary-button-dark-color-hover: var(--pequod-light);

    --pequod-secondary-button-light-background: var(--pequod-light);
    --pequod-secondary-button-light-color: var(--pequod-dark);
    --pequod-secondary-button-light-background-hover: var(--pequod-dark);
    --pequod-secondary-button-light-color-hover: var(--pequod-light);

    --pequod-tertiary-button-background: var(--pequod-accent2);
    --pequod-tertiary-button-color: var(--pequod-dark);
    --pequod-tertiary-button-background-hover: var(--pequod-dark);
    --pequod-tertiary-button-color-hover: var(--pequod-light);

    --pequod-tertiary-button-dark-background: var(--pequod-accent2);
    --pequod-tertiary-button-dark-color: var(--pequod-dark);
    --pequod-tertiary-button-dark-background-hover: var(--pequod-dark);
    --pequod-tertiary-button-dark-color-hover: var(--pequod-light);

    --pequod-tertiary-button-light-background: var(--pequod-accent2);
    --pequod-tertiary-button-light-color: var(--pequod-dark);
    --pequod-tertiary-button-light-background-hover: var(--pequod-light);
    --pequod-tertiary-button-light-color-hover: var(--pequod-dark);

    --pequod-background-dark: var(--pequod-accent1);
    --pequod-background-light: var(--pequod-accent3);
    --pequod-background-white: var(--pequod-light);

    --pequod-gradient-radial: radial-gradient(var(--pequod-accent1) 0%, var(--pequod-accent2) 100%);
    --pequod-gradient-linear: linear-gradient(90deg, var(--pequod-accent2) 0%, #FFFFFF 100%);
}

/* General styles */
body {
    background-color: var(--pequod-background-light);
    color: var(--pequod-dark);
}

/* header */

#site-header {
    background-color: var(--pequod-light);
}

#topbar,
#topbar .topbar-left-content {
    background-color: var(--pequod-accent1);
    color: var(--pequod-light);
}

#topbar .topbar-inner {
    padding: 9px 0;
}

#site-header .header-inner {
    border-bottom: none;
}

@media (max-width: 767px) {
	.topbar-inner {
		flex-direction: column;
	}
}

@media (max-width: 1120px) {
    .site-navigation ul.menu > li.menu-item {
        margin: 5px 9px;
        display: flex
    ;
        align-items: center;
        position: unset;
    }
}

@media (max-width: 468px) {
    .pequod-resizer-container #resizer {
        padding-left: 10px;

    }

    #topbar .topbar-icons {
        gap: 15px;
    }
}

.site-header .site-branding img {
    max-height: 140px;
}

/* header */

/* Default: overlapping, translucent — as it works today. */
#site-header {
	background-color: hsl(0deg 0% 100% / 60%);
	top: 0;
	z-index: 999;
	position: sticky;
	margin-bottom: -140px;
	transition: background-color 0.2s ease-in-out;
}

/* Interior pages: solid header sitting above the hero, no overlap. */
body:not(.home) #site-header {
	background-color: var(--pequod-light);
	margin-bottom: 0;
}

/* .home #site-header {
	  background-color: hsl(0deg 0% 100% / 60%);
	  margin-bottom: -140px;
	  top: 0;
  z-index: 999;
	  position: sticky;
  transition: background-color 0.2s ease-in-out;
} */

#site-header.is-scrolled {
  background-color: var(--pequod-light);
}

#site-header.is-search-open {
  margin-bottom: -200px; /* instant, no animation */
}

/* button and links  */
a,
a:visited {
    color: var(--pequod-accent1);
    text-decoration: underline;
}

a:hover,
a:focus {
    color: var(--pequod-accent1);
    font-style: normal;
    text-decoration: none;
}

a.pequod-button,
a.elementor-button,
a.btn,
a.elementor-button-link,
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
    background-color: var(--pequod-accent1);
    color: var(--pequod-light);
	border-radius: 2px !important;
	text-transform: uppercase;
	letter-spacing: 2px;
}

a.pequod-button:hover,
a.elementor-button:hover,
a.btn:hover,
a.elementor-button-link:hover,
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
input[type="reset"]:hover {
    background-color: var(--pequod-accent2);
    color: var(--pequod-light);
}

a.pequod-button:focus,
a.elementor-button:focus,
a.btn:focus,
a.elementor-button-link:focus,
button:focus,
input[type="button"]:focus,
input[type="submit"]:focus,
input[type="reset"]:focus {
    background-color: var(--pequod-accent2);
    color: var(--pequod-light);
}

h1, h2 {
	font-family: "EurostileExtended" !important;
}

.pequod-button.primary,
.pequod-button.primary-button {
    background-color: var(--pequod-primary-button-background);
    color: var(--pequod-primary-button-color);
}

.pequod-button.primary-button.dark,
.pequod-button.primary.dark {
    background-color: var(--pequod-primary-button-dark-background);
    color: var(--pequod-primary-button-dark-color);
}

.pequod-button.primary-button.dark:hover,
.pequod-button.primary.dark:hover {
    background-color: var(--pequod-accent2);
    color: var(--pequod-primary-button-dark-color-hover);
}

.pequod-button.primary-button.light,
.pequod-button.primary.light {
    background-color: var(--pequod-primary-button-light-background);
    color: var(--pequod-primary-button-light-color);
}

.pequod-button.primary-button.light:hover,
.pequod-button.primary.light:hover {
    background-color: var(--pequod-primary-button-light-background-hover);
    color: var(--pequod-primary-button-light-color-hover);
}

.pequod-button.secondary,
.pequod-button.secondary-button {
    background-color: var(--pequod-secondary-button-background);
    color: var(--pequod-secondary-button-color);
}

.pequod-button.secondary:hover,
.pequod-button.secondary-button:hover {
    background-color: var(--pequod-secondary-button-background-hover);
    color: var(--pequod-secondary-button-color-hover);
}

.pequod-button.secondary-button.dark,
.pequod-button.secondary.dark {
    background-color: var(--pequod-secondary-button-dark-background);
    color: var(--pequod-secondary-button-dark-color);
}

.pequod-button.secondary-button.dark:hover,
.pequod-button.secondary.dark:hover {
    background-color: var(--pequod-accent2);
    color: var(--pequod-secondary-button-dark-color-hover);
}

.pequod-button.secondary-button.light,
.pequod-button.secondary.light {
    background-color: var(--pequod-secondary-button-light-background);
    color: var(--pequod-secondary-button-light-color);
}

.pequod-button.secondary-button.light:hover,
.pequod-button.secondary.light:hover {
    background-color: var(--pequod-secondary-button-light-background-hover);
    color: var(--pequod-secondary-button-light-color-hover);
}

.pequod-button.tertiary,
.pequod-button.tertiary-button {
    background-color: var(--pequod-tertiary-button-background);
    color: var(--pequod-tertiary-button-color);
}

.pequod-button.tertiary:hover,
.pequod-button.tertiary-button:hover {
    background-color: var(--pequod-tertiary-button-background-hover);
    color: var(--pequod-tertiary-button-color-hover);
}

.pequod-button.tertiary-button.dark,
.pequod-button.tertiary.dark {
    background-color: var(--pequod-tertiary-button-dark-background);
    color: var(--pequod-tertiary-button-dark-color);
}

.pequod-button.tertiary-button.dark:hover,
.pequod-button.tertiary.dark:hover {
    background-color: var(--pequod-tertiary-button-dark-background-hover);
    color: var(--pequod-tertiary-button-dark-color-hover);
}

.pequod-button.tertiary-button.light,
.pequod-button.tertiary.light {
    background-color: var(--pequod-tertiary-button-light-background);
    color: var(--pequod-tertiary-button-light-color);
}

.pequod-button.tertiary-button.light:hover,
.pequod-button.tertiary.light:hover {
    background-color: var(--pequod-tertiary-button-light-background-hover);
    color: var(--pequod-tertiary-button-light-color-hover);
}


#resizer {
    color: var(--pequod-light);
}

#resizer:hover {
    color: var(--pequod-accent3);
}

#resizer-menu li:hover {
    background-color: var(--pequod-accent2);
}

#topbar .top-bar-separator {
    background-color: var(--pequod-light);
}

#resizer img {
    border-bottom-color: var(--pequod-light);
}

#resizer-menu li {
    background-color: var(--pequod-accent1);
    color: var(--pequod-light);
}

#resizer-menu button {
    color: var(--pequod-light);
}

#resizer-menu .resizer-option.selected:after {
    color: var(--pequod-light);
}

#topbar .search-form {
    background-color: var(--pequod-accent1);
    color: var(--pequod-accent1);
}

#topbar .search-form.active {
    background-color: var(--pequod-light);
	color: var(--pequod-accent1);
}

#topbar .search-button:hover {
	background-color: var(--pequod-accent3) !important;
}

#topbar .search-button svg {
    color: var(--pequod-light);
}

#topbar a.topbar-icon {
    color: var(--pequod-light);
}

#topbar a.topbar-icon:hover {
    color: var(--pequod-accent3);
}

.site-navigation ul.menu li ul.sub-menu li:hover {
    background-color: var(--pequod-accent2);
}

.site-navigation ul.menu>li.menu-item>a {
    text-transform: uppercase;
    letter-spacing: 2px;
}

.pequod-rating-text {
	font-size: 0.875rem;
	line-height: 1.125rem;
}

.pequod-socials {
    gap: 6px;
}

.topbar-left-content a {
	color: var(--pequod-light);
	text-decoration: none;
}

.topbar-left-content a:hover {
	text-decoration: underline;
}

.menu-item a,
.menu-item a:visited {
    color: var(--pequod-dark);
    text-decoration: none;
}

.menu-item a:hover,
.menu-item a:active,
.menu-item a[aria-current] {
    color: var(--pequod-dark);
    text-decoration: underline;
}

@media (max-width: 767px) {
    h2, .h2 {
        font-size: var(--pequod-h3-font-size);
        line-height: var(--pequod-h3-line-height);
        font-weight: var(--pequod-h3-font-weight);
        letter-spacing: var(--pequod-h3-letter-spacing);
    }
}

/* Footer */

#site-footer .footer-1 h3 {
	font-size: 1.875rem;
	line-height: 1.2;
}

#site-footer p, #site-footer .wp-block-list a {
	font-size: 0.875rem !important;
	line-height: 1.125rem !important;
}

#site-footer .wp-block-list li {
    margin-bottom: 2px;
}

#site-footer .footer-1 {
    max-width: 27%;
}

	#site-footer .footer-1 p {
	    margin-bottom: 34px;
	}

@media (min-width: 1000px) {
	#site-footer .footer-1 p {
	    margin-right: 30px;
	}
}

#site-footer {
    background-color: var(--pequod-light);
}

#site-footer .footer-form-inner,
#site-footer .bottom-bar-inner {
    border-color: var(--pequod-dark);
}

#menu-bottom-bar-menu li a {
    color: var(--pequod-accent1);
}

#site-footer .footer-form-content-wrap .gform_fields .ginput_container input[type="email"] {
    background-color: var(--pequod-accent4);
    box-shadow: none;
}

#site-footer .footer-form-content-wrap .gform_fields .ginput_container input[type="email"]:focus {
	background-color: var(--pequod-accent3);
}

body #site-footer .gform-button {
	    border-radius: 2px !important;
    text-transform: uppercase !important;
    letter-spacing: 2px;
    min-width: 173px;
	max-height: 34px !important;
}

/* body #site-footer .gform-button:hover {
	background-color: var(--pequod-accent2) !important;
}
 */

.footer-navigation {
	display: none;
}

#site-footer .footer-form-content-wrap .gform_fields
	.gform-button.gform-button--white.button:hover {
	background-color: var(--pequod-accent2) !important;
}

#site-footer  .gform_wrapper .gform_footer {
    margin-top: 0;
}

#site-footer .bottom-bar-inner {
    padding: 10px 0 15px !important;
}

@media (max-width: 480px) {

    #menu-bottom-bar-menu {
        flex-direction: column;
        gap: 0;
    }

    #site-footer .gform_wrapper .gform_fields {
        flex-direction: column;
    }
}

/* Civic Light Styles (XD) */
/* 
Developed by David Bridgeman. These are the style overrides for the Civic Light theme, loaded after the Pequod Base CSS.
 */

/* Progress Bar */

.elementor-progress-bar {
    background-image: linear-gradient(to right, var(--pequod-accent1), var(--pequod-accent1)) !important;
}

/* Search */

body .elementor-widget-search .e-search .e-search-submit, .wp-block-search__button {
    border: none !important;
    background-size: 22px;
}

.e-search-form {
    box-shadow: none;
    border-radius: 50px;
    background-color: var(--pequod-accent1);
}

.elementor-widget-search .e-search-form .e-search-input, .wp-block-search__button, body .elementor-widget-search .e-search .e-search-submit, body .elementor-widget-search .e-search .e-search-submit:hover {
    background-color: var(--pequod-accent1) !important;
    color: var(--pequod-light) !important;
}

.elementor-widget-search .e-search-form .e-search-input::placeholder {
    color: var(--pequod-light);
}

body .elementor-widget-search .e-search .e-search-submit, .wp-block-search__button {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='white' d='M416 208c0 45.9-14.9 88.3-40 122.7L486.6 441.4 509.3 464 464 509.3l-22.6-22.6L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") !important;
}

.search-container {
	margin-right: -8px;
}

/* Video Playlist */

.e-tabs-header-right-side {
    visibility: visible;
}

.e-tabs-videos-count {
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-weight: 400;
}

.e-tabs-items [aria-selected="true"] {
    border-style: solid;
    border-color: var(--pequod-dark);
    border-width: 1px !important;
    border-radius: 10px;
    background-color: var(--pequod-accent3) !important;
}

.e-tab-duration {
    visibility: visible;
    font-size: var(--font-size-base);
    line-height: var(--line-height-base);
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-weight: 400;
}

/* Testimonial & Testimonial Carousel */
div[data-element_type="container"]:has(.elementor-widget.elementor-widget-testimonial), div[data-element_type="container"]:has(div[data-widget_type="testimonial-carousel.default"]) {
    background-color: var(--pequod-accent1);
}

/* Light/Dark overrides for Elementor widgets */
/* These styles are applied to specific Elementor widgets when the light or dark mode is selected. */
.elementor-widget.is-light h1.pequod-accent1,
.elementor-widget-wrapper.is-light h1.pequod-accent1,
.elementor-widget.is-light h2.pequod-accent1,
.elementor-widget-wrapper.is-light h2.pequod-accent1,
.elementor-widget.is-light h3.pequod-accent1,
.elementor-widget-wrapper.is-light h3.pequod-accent1 {
    color: var(--pequod-accent1);
}

/* Archive start */
.pequod-archive {
    gap: 50px 16px;
    padding-top: 0;
}

.archive-header-separator {
    margin-top: 50px;
    margin-bottom: 50px;
    color: var(--pequod-dark);
}

.pequod-archive .entry-title a {
    font-size: 1.375rem; /*22px*/
    line-height: 1.45; /*32px*/
    font-weight: bold;
    color: var(--pequod-dark);
}

.pequod-archive h2 {
    margin-bottom: 0.75rem;
}

.pequod-archive .entry-category a {
    color: var(--pequod-dark);
}

.pequod-archive .pequod-post-content p {
    margin-bottom: 35px;
}

.pequod-archive-header .category-filter-wrap {
    display: flex;
    align-items: center;
    gap: 16px;
}

.pequod-archive-header .pequod-archive-cat-filter .pequod-archive-cat-select {
    background-color: var(--pequod-accent3);
    border: 1px solid var(--pequod-dark);
    font-size: 1.0625rem;
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
}

.pagination {
    margin-top: 50px;
    text-align: right;
}

.pagination .nav-links {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.pagination .pequod-pagination .page-numbers {
    color: var(--pequod-dark);
}

.pagination a {
    color: var(--pequod-dark);
}

.pagination .next {
    display: inline-flex;
    color: var(--pequod-dark);
    text-decoration: none;
    margin-left: 20px;
}

.pagination .prev {
    display: inline-flex;
    color: var(--pequod-dark);
    text-decoration: none;
    margin-right: 20px;
}

.pagination .next:hover,
.pagination .prev:hover {
    text-decoration: underline;
}

.pagination .meta-nav {
    display: inline-flex;
    align-items: center;
}

.pagination svg {
    fill: var(--pequod-dark);
    height: 20px;
}

.pequod-archive-cat-select {
    padding: 0.5rem 0.5rem 0.5rem 0.3rem;
}

.pequod-sign-up-widget .sign-up-content {
    max-width: 687px;
}

#post-newsletter .gform_wrapper .gform_fields .ginput_container input {
    border: none;
    height: 40px !important;
    border-radius: 2px;
    padding-left: 16px;
}

#civic-news-alert {
    width: 100%;
    background-color: var(--pequod-accent3);
}

#civic-news-alert .e-con-inner {
    max-width: 1280px;
}

@media(max-width: 1400px) {
    .pequod-archive {
        /* padding-left: 20px;
        padding-right: 20px; */
    }
}

@media (max-width: 767px) {
    .pequod-archive-header .category-filter-wrap {
        padding-left: 20px;
    }

    .pequod-alert .pequod-alert-inner .title {
        font-size: var(--pequod-h4-font-size);
        line-height: var(--pequod-h4-line-height);
        font-weight: var(--pequod-h4-font-weight);
        letter-spacing: var(--pequod-h4-letter-spacing);
    }
}

.pequod-pagination {
    margin-top: 40px;
    display: flex;
    justify-content: center;
}

.pequod-pagination ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pequod-pagination li {
    margin: 0;
    padding: 0;
}

.pequod-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 36px;
    padding: 0 0px;
    font-size: 1rem;
    line-height: 1;
    text-decoration: none;
    border-radius: 4px;
}

.pequod-pagination .page-numbers.current {
    font-weight: 600;
    cursor: default;
}

.pequod-pagination .prev,
.pequod-pagination .next {
    gap: 6px;
}

.pequod-pagination svg {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
}

.pequod-pagination a:hover {
    text-decoration: underline;
}


/* Archive end */

/* Home Page */

.elementor {
    background-color: var(--pequod-light);
}

#civic-home-header {
    width: 100%;
    min-height: 785px;
}

#civic-home-header .e-con-inner {
    max-width: 1280px;
    justify-content: center;
    gap: 1.5em;
}

#civic-home-header .e-con-inner h1 {
    color: var(--pequod-accent1);
	max-width: 646px;
}

#civic-home-header p {
    color: var(--pequod-dark);
    font-size: 1.875rem;
    line-height: 2.5rem;
    max-width: 646px;
}

/* #civic-home-header .elementor-button {
    background-color: var(--pequod-light);
}

#civic-home-header .elementor-button .elementor-button-text {
    color: var(--pequod-dark); 
}

#civic-home-header .elementor-button:hover {
    background-color: var(--pequod-dark);
}

#civic-home-header .elementor-button:hover .elementor-button-text {
    color: var(--pequod-light); 
} */

.pequod-services-products-items {
    column-gap: 1em !important;
    row-gap: 5.5em !important;
    flex-wrap: wrap;
}

.pequod-services-products-item {
  flex: 0 0 calc(25% - (3em / 4)) !important;
  box-sizing: border-box;
}

.pequod-services-products-item img {
    border-radius: 10px 10px 0 0;
}
/* 
@media (max-width: 767px) {

    .home #civic-home-header {
        min-height: 852px; 
    }

    .home #civic-home-header h1 {
        text-align: center;
        font-size: 3.125rem;
        line-height: 3.4375rem;
        padding-top: 240px;
    }

    .home #civic-home-header .elementor-widget-text-editor {
        text-align: center;
        display: none;
    }

    .home #civic-home-header .primary-button {
        margin: auto;
        margin-top: -45px;
        margin-bottom: 10px;
    }

    .home #site-header {
        position: absolute;
        z-index: 100;
        background-color: transparent;
    }

    .home #site-header .header-inner {
        background-color: transparent;
    }

    .home #hamburger-menu span {
        background: var(--pequod-light);
    }

    .home .site-mobile-navigation ul.menu li ul.sub-menu {
        display: block;
        background: #f9f9f9;
    }

    .home .elementor-1489 .elementor-element.elementor-element-13b29a7:not(.elementor-motion-effects-element-type-background) {
        background-image: url(/wp-content/uploads/2025/11/civic-hero-mobile.png) !important;
    }

    .home .site-branding .custom-logo {
        content: url('/wp-content/uploads/2025/11/Group-422.png');
        width: auto;
        height: auto;
    }

    .home .site-branding {
        margin: auto;
        padding-left: 28px;
    }

    .home .site-branding img {
        max-height: none !important;
        width: 170px !important;
        padding-top: 85px;
    }

}
 */
@media (max-width: 405px) {
    .home #civic-home-header .e-con-inner .e-con-full {
        gap: 0;
    }
}

/* help secion */

.pequod-services-products-item-heading {
    color: var(--pequod-accent1);
}

.pequod-services-products-item-description {
    font-size: 1.0625rem;
    line-height: 1.75rem;
    max-width: 376px;
}

@media (max-width: 767px) {
    #civic-home-header .e-con-inner {
        flex-direction: row;
        padding: 3em 0;
    }

    .e-con-boxed {
        padding-left: 20px;
        padding-right: 20px;
    }

    #testimonial-carousel {
        padding-left: 0;
        padding-right: 0;
    }

    .pequod-services-products-item {
        flex: 0 0 100% !important;
        box-sizing: border-box;
    }

    .pequod-services-products-item-description {
        margin-left: auto;
        margin-right: auto;
    }
}

/* notices and announcements */

#notices-and-announcements {
    background-color: var(--pequod-accent1);
    width: 100%;
}

#notices-and-announcements .e-con-inner {
    max-width: 1280px;
}

#notices-and-announcements h2 {
    color: var(--pequod-light);
}

.pequod-archive .pequod-post {
    border: none;
}

#notices-and-announcements .primary-button .elementor-button {
    background-color: var(--pequod-light);
    color: var(--pequod-dark);
}

#notices-and-announcements .secondary {
    padding: 14px 40px;
    border-radius: 100px;
}

#notices-and-announcements .primary-button .elementor-button-wrapper {
    text-align: center;
}

#notices-and-announcements .primary-button .elementor-button-wrapper .elementor-button-link .elementor-button-text {
    color: var(--pequod-accent1);
}

#notices-and-announcements .primary-button .elementor-button-wrapper .elementor-button-link:hover {
    background-color: var(--pequod-dark);
}

#notices-and-announcements .primary-button .elementor-button-wrapper .elementor-button-link:hover .elementor-button-text {
    color: var(--pequod-light);
}

/* notices and announcements - gray background */

#notices-and-announcements-gray { 
    background-color: var(--pequod-accent3);
    color: var(--pequod-dark);
    width: 100%;
}

#notices-and-announcements-gray .primary-button .elementor-button {
    background-color: var(--pequod-accent1);
    color: var(--pequod-light) !important;
}

#notices-and-announcements-gray .e-con-inner {
    max-width: 1280px;
}

#notices-and-announcements-gray h2 {
    color: var(--pequod-dark);
}

#notices-and-announcements-gray .secondary {
    padding: 14px 40px;
    border-radius: 100px;
}

#notices-and-announcements-gray .primary-button .elementor-button-wrapper {
    text-align: center;
}

#notices-and-announcements-gray .primary-button .elementor-button-wrapper .elementor-button-link .elementor-button-text {
    color: var(--pequod-light);
}

#notices-and-announcements-gray .primary-button .elementor-button-wrapper .elementor-button-link:hover {
    background-color: var(--pequod-dark);
}

#notices-and-announcements-gray .primary-button .elementor-button-wrapper .elementor-button-link:hover .elementor-button-text {
    color: var(--pequod-light);
}

/* events */

#home-events {
    background-color: var(--pequod-light);
}

#home-events .e-con-inner {
    gap: 0px;
}

#home-events .tribe-events .tribe-events-event-separator {
    border: none;
}

#home-events .tribe-events-calendar-list__event-featured-image-wrapper img {
    display: none;
}

#home-events .tribe-events-calendar-list__event-row {
    display: flex;
}

#home-events .tribe-events .tribe-events-calendar-list__event-title-link {
    background: #0000;
    color: var(--tec-color-text-events-title);
}

.elementor hr, .elementor .elementor-widget-container hr {
    margin: 0;
    display: none;
}

#home-events .tribe-events-calendar-list__event-title a {
    font-size: 1.5rem;
    color: var(--pequod-dark);
}

#home-events .tribe-events-custom-details-line {
    font-weight: 400;
    font-size: 1.375rem;
}

#home-events .tribe-events-calendar-list__event-description p {
    margin-bottom: 34px;
}

#home-events .tribe-events .tribe-events-calendar-list__event-date-tag {
    min-width: 96px;
    width: var(--tec-grid-width-1-of-9);
    border: 1px solid #000;
    border-radius: 11px;
    text-align: center;
}

#home-events .tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
    border: none;
    border-radius: 0px;
    height: auto;
}

#home-events .tribe-events-calendar-list .tribe-common-g-row {
    padding-left: 40px;
}

.home-view-all-events {
    text-align: center;

}

#home-events-low-spacer {
    border-bottom: 1px solid #000;
    margin-bottom: 3em;
}

@media (max-width: 992px) {  
    #home-events .tribe-events-calendar-list .tribe-common-g-row {
        padding-left: 0px;
    }
}

/* services */

#home-services {
    background-color: var(--pequod-accent1);
    width: 100%;
}

#home-services .e-con-inner {
    max-width: 1380px;
    gap: 2em;
}

#home-services h2 {
    color: var(--pequod-light);
    text-align: center;
}

.swiper-slide .e-child {
    text-align: center;
}

#home-services h4, #home-services p {
    color: var(--pequod-light);
}

#home-services .services-more .elementor-button {
    background-color: var(--pequod-accent2);
    padding: 5px 30px;
}

#home-services .elementor-button span {
    color: var(--pequod-dark);
}

#home-services .elementor-button:hover {
    background-color: var(--pequod-light);
}

#home-services .e-con {
    padding-left: 40px;
    padding-right: 40px;
}

#home-services .primary-button .elementor-button {
    background-color: var(--pequod-light);
    padding: var(--pequod-primary-button-padding-y) var(--pequod-primary-button-padding-x);
    border-radius: var(--pequod-primary-button-border-radius);
}

#home-services .primary-button .elementor-button:hover {
    background-color: var(--pequod-dark);
}

#home-services .primary-button .elementor-button:hover span {
    color: var(--pequod-light);
}

/* steps */

#home-steps {
    width: 100%;
    background-color: var(--pequod-accent3);
}

#home-steps .e-con-inner {
    max-width: 1280px;
}

#home-steps .pequod-process-steps .bottom {
    display: none;
}

.pequod-process-steps .step-box {
    border: none;
    background-color: white;
}

.pequod-process-steps .step-box .step-title {
    margin-top: 30px;
    margin-bottom: 5px;
}

.pequod-process-steps .step-box .step-subtitle {
    margin-bottom: 1.7em;
}

/* hero slider */

#home-hero-slider {
    width: 100%;
    background-color: var(--pequod-accent1);
    padding-left: 0;
    padding-right: 0;
}

#home-hero-slider .e-con-inner {
    max-width: 1380px;
}

@media (max-width: 767px) {
    #home-hero-slider .swiper-slide-contents {
        text-align: center;
    }

    #home-hero-slider .elementor-widget-pequod_slides .slide-buttons.left {
        justify-content: center;
    }

    #home-hero-slider .swiper-slide-contents {
        justify-content: center;
    }
}

.swiper-slide .swiper-slide-inner {
    background-color: var(--pequod-accent1);
}

/* portfolio */

#home-portfolio {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

#home-portfolio h2 {
    max-width: 1320px;
    margin: auto;
    padding-left: 20px;
    padding-right: 20px;
}

#home-portfolio .e-con-inner  {
    gap: 5em;
    min-width: 100%;
}

.home-portfolio-title {
    max-width: 848px;
    margin: auto;
    gap: 3em;
}

.home-portfolio-title h2 {
    text-align: center;
    color: var(--pequod-accent1);
}

.home-portfolio-title p {
    font-size: 1.375rem;
    line-height: 2rem;
    text-align: center;
}

.elementor-widget-portfolio .elementor-portfolio-item__title {
    font-size: 1.375rem;
    line-height: 2rem;
    font-weight: var(--e-global-typography-primary-font-weight);
}

.elementor-portfolio-item__overlay {
    background-color: var(--pequod-accent1);
}

@media (max-width: 767px) {
    .home-portfolio-title p {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* get involved */

#home-get-involved {
    width: 100%;
    min-height: 260px;
}

#home-get-involved .e-con-inner {
    max-width: 1280px;
    justify-content: center;
    flex-direction: row;
    /* justify-content: space-between; */
    align-items: center;
        gap: 21em;
}

@media (max-width: 1280px) {
    #home-get-involved .e-con-inner {
        justify-content: space-between;
        gap: 2em;
    }
}

#home-get-involved h2 {
    color: var(--pequod-light);
}

/* accordion */

/* #home-accordion {
    padding-top: 6em;
    padding-bottom: 6em;
} */

#home-accordion .e-con-inner {
    max-width: 1064px;
    gap: 4em;
}

#home-accordion h2 {
    text-align: center;

}

#home-accordion p {
    max-width: 924px;
    margin: auto;
}

.elementor-widget-n-accordion .e-n-accordion-item-title {
    border: none;
    border-bottom: none !important;
}

.elementor-widget-n-accordion .e-n-accordion-item {
    border-bottom: 1px solid var(--pequod-dark) !important;
}

.e-n-accordion details div[role="region"] {
    padding-bottom: 20px !important;
}

.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon span > svg, .elementor-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon span > svg {
    fill: var(--pequod-dark) !important;
}

/* testimonials */

#home-testimonial {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

#home-testimonial .e-con-inner {
    max-width: 1280px;
}

#home-testimonial .elementor-widget-testimonial-carousel .elementor-testimonial__text, .elementor-widget-testimonial .elementor-testimonial-content {
    font-size: 1.375rem !important;
    line-height: 2rem;
/*     font-style: italic !important; */
	font-style: normal !important;
    max-width: 848px;
    margin: auto;
}

.elementor-widget-testimonial-carousel .elementor-testimonial__name {
    text-transform: uppercase !important;
	letter-spacing: 2px;
}

#home-testimonial .elementor-widget-testimonial-carousel .swiper-slide {
    padding-bottom: 5em;
}

#home-testimonial .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 5px !important;
    width: 16px !important;
    height: 16px !important;
}

#home-testimonial .elementor-testimonial__title {
    margin-top: -5px;
}

#home-testimonial .elementor-widget-testimonial-carousel .swiper-slide .elementor-testimonial__content::before, .elementor-testimonial-content::before
 {
    font-size: 4rem !important;
}

@media only screen and (min-width: 600px) {
    #home-testimonial div[data-element_type="container"]:has(.elementor-widget.elementor-widget-testimonial), div[data-element_type="container"]:has(div[data-widget_type="testimonial-carousel.default"]) {
        padding-bottom: 180px !important;
    }
}

/* county emergencies */

.county-emergencies {
    background-color: var(--pequod-accent3);
    width: 100%;
}

.county-emergencies .e-con-inner {
    max-width: 1280px;
}

/* Home end */

/* Events Page */

.tribe-events-header h1 {
    margin: 0;
}

.tribe-common a, .tribe-common a:active, .tribe-common a:focus, .tribe-common a:hover, .tribe-common a:visited {
    color: var(--pequod-light);
}

.tribe-events .tribe-events-event-separator {
    border: none;
}

article.tribe-events-calendar-list__event .event-btns {
    display: flex;
    gap: 1.5em;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-bottom: 120px;
    padding-top: 70px;
}

.tribe-events-header {
    padding-bottom: 15px !important;
}

.tribe-events-view {
    background-color: var(--pequod-light);
}

/* Events Page end */

/* About Page start */

#civic-about-header {
    width: 100%;
    min-height: 600px;
}

#civic-about-header .e-con-inner {
    max-width: 1060px;
    justify-content: center;
    gap: 1.5em;
}

#civic-about-header .e-con-inner h1 {
    color: var(--pequod-accent1);
        font-size: 3.125rem;
    line-height: 3.4375rem;
}

#civic-about-header p {
    color: var(--pequod-dark);
    font-size: 1.875rem;
    line-height: 2.5rem;
    max-width: 548px;
}

#civic-about-header .elementor-button {
    background-color: var(--pequod-light);
}

#civic-about-header .elementor-button .elementor-button-text {
    color: var(--pequod-accent1); 
}

#civic-about-header .elementor-button:hover {
    background-color: var(--pequod-dark);
}

#civic-about-header .elementor-button:hover .elementor-button-text {
    color: var(--pequod-light); 
}

/* About Page end */

/* Double Box */

#pequod-double-box {
    width: 100%;
    background-color: var(--pequod-accent1);
    padding: 0px;
}

#pequod-double-box .e-con-inner {
    width: 100%;
    max-width: 100%;
    min-width: 100%;
    padding: 0px;
    margin: 0px;
}

#pequod-double-box .e-con-full {
    gap: 2em;
}

@media (max-width: 767px) {
    #pequod-double-box .e-con-full {
        padding-top: 6rem;
    }
}

#pequod-double-box img {
    width: 100%;
}

#pequod-double-box h2, #pequod-double-box h3, #pequod-double-box p {
    color: var(--pequod-light);
    padding-left: 5rem;
}

#pequod-double-box h3 {
    margin-bottom: 0px;
    font-size: 1.5rem;
}

#pequod-double-box p {
    margin-bottom: 2em;
	font-size: 1.375rem;
	line-height: 2rem;
	padding-right: 3rem;
}

#pequod-double-box .e-con-full:first-child {
    justify-content: center;
}

#pequod-double-box .elementor-widget-image img {
    border-radius: 0px !important;
}

@media (max-width: 1400px) {
    #pequod-double-box h2, #pequod-double-box h3, #pequod-double-box p {
        padding-left: 80px;
    }
}

@media (max-width: 767px) {
    #pequod-double-box h2, #pequod-double-box h3, #pequod-double-box p {
        padding-left: 20px;
    }
}

/* Double Box end */

/* Image left Text right start */

#image-left-text-right .e-con-inner {
    max-width: 1060px;
}

@media (min-width: 768px) {
    #image-left-text-right .pequod-hero-row-image-inner {
        flex-direction: row-reverse;
        justify-content: flex-end;
    }
}

#image-left-text-right .pequod-hero-row-image {
    padding: 0 0 0 0;
}

#image-left-text-right .btn-star-rating {
    display: none;
}

#image-left-text-right .image-box {
    width: 416px;
    height: 416px;
}

#image-left-text-right h2 {
    color: var(--pequod-accent1);
    font-size: 1.875rem;
    line-height: 2.1875rem;
    max-width: 419px;
}

#image-left-text-right p {
    font-size: 1.0625rem;
    line-height: 1.75rem;
    max-width: 532px !important;
}

#image-left-text-right .pequod-hero-row-image .title-content {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

@media (max-width: 1050px) {
    #image-left-text-right .image-box {
    width: 100%;
    margin: auto;
}
}

/* Image left Text right end */

/* Story Box */

#civic-story-box {
    width: 100%;
    background-color: var(--pequod-accent3);
}

#civic-story-box .e-con-inner {
    max-width: 1280px;
}

#civic-story-box .pequod-button.primary-button.dark {
    background-color: var(--pequod-accent2);
    color: var(--pequod-dark);
}

#civic-story-box .pequod-button.primary-button.dark:hover {
    background-color: var(--pequod-dark);
    color: var(--pequod-light);
}

/* Our Offices */

#civic-offices {
    width: 100%; 
    background-color: var(--pequod-accent3);
}

#civic-offices .e-con-inner {
    max-width: 1280px;
}

#civic-offices h2 {
    text-align: center;
    color: var(--pequod-accent1);
    max-width: 648px;
    margin: auto;
    margin-bottom: 2rem;
}

#civic-offices p {
    text-align: center;
    max-width: 848px;
    margin: auto;
    font-size: 1.375rem;
    line-height: 2rem;
    margin-bottom: 1.2rem;
}

#civic-offices h3 {
    text-align: center;
    color: var(--pequod-accent1);
    max-width: 648px;
    margin: auto;
    font-size: 1.375rem;
    margin-bottom: -7px;
}

#civic-offices .civic-sub-text p {
    font-size: 1.0625rem;
    line-height: 1.75rem;
    text-align: center;
}

#civic-offices .elementor-widget-button {
    margin: auto;
}

/* Civic Text Left Image Right */

#civic-text-left-img-right .e-con-inner {
    max-width: 1064px;
    margin: auto;
}

#civic-text-left-img-right {
    padding-left: 0;
    padding-right: 0;
}

#civic-text-left-img-right h2 {
    color: var(--pequod-accent1);
    font-size: 3.125rem;
    line-height: 3.4375rem;
    max-width: 548px;
}


#civic-text-left-img-right p {
    font-size: 1.375rem;
    line-height: 2rem;
    max-width: 548px;
}


#civic-text-left-img-right .image-box {
    max-height: 416px;
}

#civic-text-left-img-right .pequod-hero-row-image .left {
    gap: 30px;
}

#civic-text-left-img-right  .pequod-hero-row-image .title-content {
    gap: 48px;
}

#civic-text-left-img-right .pequod-hero-row-image .star-rating-outside {
    display: none;
}

/* Civic People Post Type */

#civic-people {
    width: 100%;
    background-color: var(--pequod-accent3);
}

#civic-people .e-con-inner {
    max-width: 848px;
    margin: auto;
}

#civic-people p {
    font-size: 1.375rem;
    line-height: 2rem;
    margin-top: 1.5rem;
}


@media (min-width: 768px) {
    #civic-people .e-child:first-child {
        flex: 0 0 33%;
    }


        #civic-people .e-child:first-child img {
            display: block;
            margin: 0;
        }


}

@media (max-width: 767px) {
        #civic-people .e-child:first-child img {
            display: block;
            margin: 0;
            float: left;
        }

    #civic-people {
        float: left;
        display: block;
    }
}

#civic-person h4 {
    margin-bottom: 0.5rem;
}

#civic-person p {
    font-size: 1.0625rem;
    line-height: 1.75rem;
    max-width: 598px;
    margin-top: 0rem;
    margin-bottom: 1rem;
}

.type-team {
    background-color: transparent;
}

.type-team h2 {
    font-size: var(--pequod-h4-font-size);
    line-height: var(--pequod-h4-line-height);
    font-weight: var(--pequod-h4-font-weight);
    letter-spacing: var(--pequod-h4-letter-spacing);
    margin-top: var(--pequod-h4-margin-top);
}

.type-team .e-con-full {
    column-gap: 2.5rem;
    row-gap: 0.5rem;
}

#civic-people .type-team p {
    font-size: 1.0625rem;
    line-height: 1.75rem;
    max-width: 598px;
    margin-top: 0.6rem;
    margin-bottom: 1.7rem;
}

#civic-people .elementor-grid {
    grid-row-gap: var(--grid-row-gap, 100px);
}

#civic-people .elementor-button-wrapper a {
    color: var(--pequod-light);
}

.e-loop__load-more {
    border-top: 1px solid;
    padding-top: 3rem;
    margin-top: 6rem !important;
}



.team-description {
    overflow: hidden;
    transition: max-height 0.4s ease;
    max-height: 140px !important;
}

.team-description.collapsed {
    max-height: 140px !important;
}

.team-description.expanded {
    max-height: 5000px !important; /* large enough for full text */
}

.expand-btn {
    cursor: pointer !important;
    margin-top: 10px;
    display: inline-block;
}
.expand-btn.hidden {
    display: none !important;
}


/* Civic Contact Us */

#civic-contact-box {
    width: 100%;
    background-color: var(--pequod-accent3);
}

#civic-contact-box .e-con-inner {
    max-width: 848px;
    margin: auto;
}

#civic-contact-box h1 {
    font-size: 3.125rem;
    line-height: 3.4375rem;
}

#civic-contact-box .asterisk-denotation p {
    font-size: 0.875rem;
    margin-top: -12px;
}

#civic-contact-box  .elementor-element.elementor-element-5b3afb5 > .elementor-widget-container {
    margin: 0px 0px 0px 0px;
}

#civic-contact-box .gform_body .gform_fields .gfield_label, .gform_body .gform_fields .gform-field-label {
    color: var(--pequod-dark);
}

#civic-contact-box .gform_wrapper .gform_fields .ginput_container input {
    background-color: var(--pequod-accent4);
    box-shadow: none;
}

#civic-contact-box .gform_required_legend {
    display: none;
}

#civic-contact-box .gform_body .gform_fields .gfield_label .gfield_required {
    color: var(--pequod-dark);
    font-size: 1rem;
}

#civic-contact-box  .ginput_container .gform-field-label.gform-field-label--type-sub, #civic-contact-box .ginput_container .gform-field-label.gform-field-label--type-description, #civic-contact-box .gform_body .gform_fields .gfield .gfield_description {
    color: var(--pequod-dark);
}

#civic-contact-box .gform_wrapper .gform_fields .ginput_container input, 
#civic-contact-box .gform_wrapper .gform_fields .ginput_container textarea, 
#civic-contact-box .gform_wrapper .gform_fields .ginput_container select {
    background-color: var(--pequod-accent4);
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    border: none;
}

#civic-contact-box .gform_wrapper .gform_fields .ginput_container input::placeholder, 
#civic-contact-box .gform_wrapper .gform_fields .ginput_container textarea::placeholder, 
#civic-contact-box .gform_wrapper .gform_fields .ginput_container select::placeholder {
    font-family: var(--e-global-typography-text-font-family), sans-serif !important;
    font-size: 1.0625rem !important;
}

#civic-contact-box .gform_wrapper .gform_fields .ginput_container .gfield-choice-input {
    background-color: transparent !important;
    height: 14px !important;
    width: 14px !important;
    /* border-radius: 0px !important; */
    border: 1px var(--pequod-dark) solid !important;
    margin: auto;
}


#civic-contact-box .gfield-choice-input::before {
    color: var(--pequod-dark) !important;
}

#civic-contact-box .ginput_container_radio .gfield-choice-input::before {
    color: var(--pequod-dark) !important;
    background-color: var(--pequod-dark) !important;
}

#civic-contact-box .gform_wrapper input.gform_button[type="submit"] {
    background-color: var(--pequod-accent1) !important;
    color: var(--pequod-light) !important;
    margin-top: 1rem;
}

#civic-contact-box .gform_wrapper input.gform_button[type="submit"]:hover {
    background-color: var(--pequod-dark) !important;
}

#civic-contact-box .gform_footer {
    justify-content: flex-start;
}

.three-col-accordion .e-con-inner p {
    font-size: 1.0625rem;
    line-height: 1.75rem;
    max-width: 268px !important;
}

.three-col-accordion .e-con-inner p a {
    text-decoration: underline;
}

.three-col-accordion .e-con-inner p a:hover {
    text-decoration: none;
}

.three-col-accordion .e-con-inner p:first-child {
    line-height: 1.5rem;
}

#e-n-accordion-item-5620 .e-con-inner {
    max-width: 916px;
    margin-left: 0;
    gap: 20px;
}

/* Resources List */

.civic-resources-list { 
    width: 100%;
    background-color: var(--pequod-accent3);
}

.civic-resources-list .e-con-inner {
    max-width: 1280px;
}

.civic-resources-list .pequod-services-products-item-heading {
    color: var(--pequod-dark);
    margin-bottom: 35px;
}

.civic-resources-list .elementor-widget-pequod_services_products .pequod-services-products-item img {
    margin-bottom: 19px;
}

.civic-resources-list h2 {
    text-align: left !important;
    margin: 0;
    font-size: 1.875rem !important;
    line-height: 2.1875rem;
}

.civic-resources-list .elementor-widget-pequod_services_products .pequod-services-products-main-heading {
    margin-bottom: 50px !important;
}

/* Resources Accordion */

#resources-accordion .e-con-inner {
    max-width: 1064px;
    gap: 4em;
}

#resources-accordion h2 {
    text-align: center;

}

#resources-accordion p {
    max-width: 924px;
    margin: auto;
}

#resources-accordion li {
    font-size: 1.0625rem;
    line-height: 1.75rem;
    margin-bottom: 2px;
}

#resources-accordion a {
    text-decoration: underline;
}

#resources-accordion a:hover {
    text-decoration: none;
}

.elementor-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text {
    font-size: 1.375rem !important;
}

.elementor-widget-n-accordion .e-n-accordion-item-title-text
 {
    font-size: 1.375rem !important;
}

#resources-accordion ul {
    list-style: none; /* hides the real bullet */
    padding-left: 0;
}

#resources-accordion ul li {
    position: relative;
    padding-left: 23px; /* space for the PNG */
}

#resources-accordion ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px; /* adjust vertically */
    width: 16px; /* size of PNG */
    height: 16px;
    background-image: url('/wp-content/uploads/2025/11/link.png');
    background-size: contain;
    background-repeat: no-repeat;
}

/* Resources Publications */

#resources-publications {
    background-color: var(--pequod-accent1);
    width: 100%;
}

#resources-publications .e-con-inner {
    max-width: 848px;
}

#resources-publications h2 {
    color: var(--pequod-light);
}

#resources-publications .elementor-price-list-title, #resources-publications .elementor-price-list-separator, #resources-publications .elementor-price-list-price, #resources-publications .elementor-price-list-description {
    color: var(--pequod-light);
}

#resources-publications .elementor-price-list .elementor-price-list-item::after {
    background-color: var(--pequod-accent2);
    color: var(--pequod-dark);
    margin-top: 32px;
	content: "Download";
}

#resources-publications .elementor-price-list .elementor-price-list-item::after:hover {
    background-color: var(--pequod-dark);
    color: var(--pequod-light);
}

#resources-publications .elementor-price-list .elementor-price-list-item .elementor-price-list-header {
    margin-bottom: 6px;
}

#resources-publications .elementor-price-list li:not(:last-child) {
    margin-bottom: 38px;
}

.elementor-price-table .elementor-price-table__features-list li {
        height: 55px !important;
}

.elementor-price-table .elementor-price-table__features-list li:before {
        display: none !important;
}

.elementor-1556 .elementor-element.elementor-element-dc7b443 .elementor-price-table__additional_info {
    margin: auto !important;
    margin-top: 60px !important;
}

/* Resources and Search Hero */

#resources-hero {
    width: 100%;
    min-height: 510px;
}

#resources-hero .e-con-inner {
    max-width: 1280px;
    justify-content: center;
}

#resources-hero h1 {
    font-size: 3.125rem;
    line-height: 3.4375rem;
    color: var(--pequod-light);
    text-align: center;
}

#resources-hero p {
    font-size: 1.375rem;
    line-height: 2rem;
    color: var(--pequod-light);
    max-width: 725px;
    margin: auto;
    text-align: center;
}

#resources-hero .elementor-widget-search {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    max-width: 848px;
    margin-top: 3em;
}

#resources-hero .e-search-input {
    background-color: var(--pequod-light) !important;
}

#resources-hero .e-search-form {
    box-shadow: none;
}

#resources-hero .e-search .e-search-submit {
    background-color: var(--pequod-light) !important;
    color: var(--pequod-accent1) !important;
}

#resources-hero .elementor-widget-search .e-search .e-search-submit, .wp-block-search__button {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='%23005252' d='M416 208c0 45.9-14.9 88.3-40 112.7L486.6 441.4 509.3 464 464 509.3l-22.6-22.6L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z'/%3E%3C/svg%3E") !important;
}

#resources-hero input[type="search"], #resources-hero .elementor-widget-search .e-search-form .e-search-input, #resources-hero .wp-block-search .wp-block-search__input {
    color: var(--pequod-dark) !important;
}

/* Search Page */

.search-results {
    background-color: var(--pequod-light);
}

.search-results .entry-title {
    font-size: 1.875rem;
    line-height: 2.1875rem;
}

.search-results .pequod-post-content .text-lg {
    margin-bottom: 16px;
    color: var(--pequod-accent1);
}

.search-results a {
    text-decoration: none;
}

.search-results a:hover {
    text-decoration: underline;
}

/* Single Post */

.single-post {
    background-color: var(--pequod-light);
}

.single-post main#content, .single-post body:not(.elementor-page) main#content {
    max-width: 632px !important;
    padding-top: 25px !important;
}

.single-post h1 {
    font-size: 3.125rem;
    line-height: 3.4375rem;
    padding-right: 10px;
}

.single-post .post-thumbnail img {
    width: 100%;
}

.breadcrumbs {
    font-size: 0.875rem;
    max-width: 1280px;
    margin: auto;
    padding-top: 1rem;
}

.single-post h2, .single-post .h2 {
    font-size: var(--pequod-h3-font-size) !important;
    line-height: var(--pequod-h3-line-height) !important;
    font-weight: var(--pequod-h3-font-weight) !important;
    letter-spacing: var(--pequod-h3-letter-spacing) !important;
    margin-top: 2rem;
    margin-bottom: 0.5rem;
}

.single-post .recent-news-posts h2 {
	font-size: var(--pequod-h2-font-size) !important;
    line-height: var(--pequod-h2-line-height) !important;
    font-weight: var(--pequod-h2-font-weight) !important;
    letter-spacing: var(--pequod-h2-letter-spacing) !important;
    margin-top: 0rem;
    margin-bottom: -10px;
}

.page-id-919 .single-post h2, .page-id-919 .single-post .h2 {
    font-size: var(--pequod-h2-font-size) !important;
    line-height: var(--pequod-h2-line-height) !important;
    font-weight: var(--pequod-h2-font-weight) !important;
    letter-spacing: var(--pequod-h2-letter-spacing) !important;
    margin-top: 0rem;
    margin-bottom: 0rem;
}

.single-post .entry-title {
    margin-bottom: 0px !important;
    margin-top: 0px !important;
}

.single-post .page-header .entry-title {
    margin-bottom: 50px !important;
}

.single-post .entry-socials {
    margin-top: 1.5rem;
}

@media (max-width: 1320px) {
    .breadcrumbs {
        padding-left: 20px;
        padding-right: 20px;
    }
}

/* Pequod Blocks Example Page */

.page-id-919 main#content{
    max-width: 100%;
}

.page-id-919 .e-con-boxed {
    width: 100%;
}

.page-id-919 .pequod-process-steps .step-box {
    border: 1px solid var(--color-border);
}

.page-id-919 .pequod-button.primary-button.dark, .page-id-919 .pequod-button.primary.dark {
    background-color: var(--pequod-light);
    color: var(--pequod-dark);
}

.page-id-919 .pequod-services-products-button-wrapper .pequod-button.primary-button.dark {
    background-color: var(--pequod-accent1);
    color: var(--pequod-light);
}

.page-id-919 main#content, .page-id-919 body:not(.elementor-page) main#content {
    padding: 0px 0px !important;
}

/* Elementor Style Guide Page */

.page-id-1507 main#content {
    max-width: 100%;
}

.page-id-1507 h2, .page-id-1507 .h2 {
    font-size: var(--pequod-h2-font-size);
    line-height: var(--pequod-h2-line-height);
    font-weight: var(--pequod-h2-font-weight);
    letter-spacing: var(--pequod-h2-letter-spacing);
}

.page-id-1507 h1 {
    font-size: var(--pequod-h1-font-size);
    line-height: var(--pequod-h1-line-height);
    font-weight: var(--pequod-h1-font-weight);
    letter-spacing: var(--pequod-h1-letter-spacing);
}

.elementor-1507 .elementor-element.elementor-element-27d8252 > .elementor-widget-container {
    background-color: var(--pequod-accent1);
}

.elementor-1507 .elementor-element.elementor-element-1cb419c > .elementor-widget-container {
    background-color: var(--pequod-accent1);
}

.page-id-1507 #civic-contact-box .gform_body .gform_fields .gfield_label, .page-id-1507 .gform_body .gform_fields .gform-field-label {
    color: var(--pequod-light);
}

.page-id-1507 .gform_required_legend {
    color: var(--pequod-light);
}

/* Gutenberg Style Guide Page */

.page-id-1505 main#content {
    max-width: 100% !important;
}

.page-id-1505 main#content .page-content {
    max-width: 1280px;
    margin: auto;
}

.page-id-1505 h2, .page-id-1505 .h2 {
    font-size: var(--pequod-h2-font-size);
    line-height: var(--pequod-h2-line-height);
    font-weight: var(--pequod-h2-font-weight);
    letter-spacing: var(--pequod-h2-letter-spacing);
}

.page-id-1505 h1 {
    font-size: var(--pequod-h1-font-size);
    line-height: var(--pequod-h1-line-height);
    font-weight: var(--pequod-h1-font-weight);
    letter-spacing: var(--pequod-h1-letter-spacing);
}

.page-id-1505 #civic-contact-box .gform_body .gform_fields .gfield_label, .page-id-1505 .gform_body .gform_fields .gform-field-label {
    color: var(--pequod-light);
}

.page-id-1505 .gform_required_legend {
    color: var(--pequod-light);
}

/* Elementor (All) Page */

/* .page-id-1556 main#content {
    padding: 0px 0px !important;
}

.page-id-1556 .entry-content {
    margin-top: 0px;
} */

.page-id-1556 h2, .page-id-1556 .h2 {
    font-size: var(--pequod-h2-font-size);
    line-height: var(--pequod-h2-line-height);
    font-weight: var(--pequod-h2-font-weight);
    letter-spacing: var(--pequod-h2-letter-spacing);
    margin-top: 0;
    margin-bottom: 0;
}

.page-id-1556 h1 {
    font-size: var(--pequod-h1-font-size);
    line-height: var(--pequod-h1-line-height);
    font-weight: var(--pequod-h1-font-weight);
    letter-spacing: var(--pequod-h1-letter-spacing);
}

.page-id-1556 input[type="search"]::placeholder {
    color: var(--pequod-light) !important;
}


/* Popup */

.elementor-popup-modal .e-con-inner {
    gap: 0;
    background-color: var(--pequod-accent1);
}

.elementor-popup-modal .elementor-button {
    background-color: var(--pequod-light);
    color: var(--pequod-dark);
}

.elementor-popup-modal .elementor-button:hover {
    background-color: var(--pequod-dark);
    color: var(--pequod-light);
}

@media (max-width: 767px) {
    .dialog-lightbox-message .e-con-boxed {
        padding-left: 0;
        padding-right: 0;
    }
}

/* Pequod Pricing Features */

@media (max-width: 767px) {
    .pequod-pricing-features {
        padding-left: 0px;
        padding-right: 0px;
    }
}

/* 404 Page */


.fourohfour::before {
    background: var(--pequod-accent3);
}

.error404 input[type="search"], .error404 input[type="search"]:focus {
	background-color: var(--pequod-light);
}

/* Tables */

.elementor-widget-pequod_comparison .table-row:nth-child(even) {
    background-color: #007878;
}

.comparison-table .item-cell:nth-child(2) {
    color: var(--pequod-light) !important;
}

.comparison-table .item-cell:nth-child(3) {
    color: var(--pequod-light) !important;
}

.item-header div {
	color: var(--pequod-light) !important;
}

.gform-field-label {
    margin-bottom: 2px !important;
}

.gform_fields input,
.gform_fields select,
.gform_fields textarea {
	border-radius: 2px;
}

.gform_wrapper .gform_fields .ginput_container input:focus, .gform_wrapper .gform_fields .ginput_container textarea:focus, .gform_wrapper .gform_fields .ginput_container select:focus {
    background-color: var(--pequod-accent3);
}

/* ==========================================================================
   Gravity Forms — normalize field + placeholder type size
   ========================================================================== */

.gform_wrapper .gfield input[type="text"],
.gform_wrapper .gfield input[type="email"],
.gform_wrapper .gfield input[type="tel"],
.gform_wrapper .gfield input[type="url"],
.gform_wrapper .gfield input[type="number"],
.gform_wrapper .gfield input[type="password"],
.gform_wrapper .gfield input[type="search"],
.gform_wrapper .gfield input[type="date"],
.gform_wrapper .gfield textarea,
.gform_wrapper .gfield select,
.gform_wrapper .ginput_container_select select.gfield_select {
	font-size: 1rem;
}

/* Inline style on the placeholder <option> requires !important */
.gform_wrapper .gfield select option,
.gform_wrapper .ginput_container_select select.gfield_select option {
	font-size: 1rem !important;
}

/* Real placeholders */
.gform_wrapper .gfield input::placeholder,
.gform_wrapper .gfield textarea::placeholder {
	font-size: 1rem;
	opacity: 1; /* Firefox dims placeholders by default */
}

/* Legacy prefixes — Safari/older Edge */
.gform_wrapper .gfield input::-webkit-input-placeholder,
.gform_wrapper .gfield textarea::-webkit-input-placeholder {
	font-size: 1rem;
	opacity: 1;
}

.gform_wrapper .gfield input:-ms-input-placeholder,
.gform_wrapper .gfield textarea:-ms-input-placeholder {
	font-size: 1rem;
	opacity: 1;
}


/* ==========================================================================
   Gravity Forms — submit button
   Beats GF's framework selector (0,5,1) at (0,6,1). No IDs, no !important.
   ========================================================================== */

.gform_wrapper.gform-theme.gform-theme--framework input.gform_button.button[type="submit"],
.gform_wrapper.gform-theme.gform-theme--framework button.gform_button.button {
	border-radius: 2px !important;
	text-transform: uppercase !important;
	letter-spacing: 2px !important;
	background-color: var(--pequod-light) !important;
	color: var(--pequod-accent1) !important;
}

.gform_wrapper.gform-theme.gform-theme--framework input.gform_button.button[type="submit"]:hover,
.gform_wrapper.gform-theme.gform-theme--framework button.gform_button.button:hover {
	background-color: var(--pequod-accent2) !important;
	color: avr(--pequod-light) !important;
}

/* Legacy forms (pre-2.7, no framework classes) */
.gform_wrapper input.gform_button[type="submit"],
.gform_wrapper button.gform_button {
	border-radius: 2px !important;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.gform_body .gform_fields .gfield .gfield_description {
    color: var(--pequod-light);
}


element.style {
}
table caption+thead tr:first-child td, table caption+thead tr:first-child th, table colgroup+thead tr:first-child td, table colgroup+thead tr:first-child th, table thead:first-child tr:first-child td, table thead:first-child tr:first-child th {
    border-block-start: none;
}
table caption+thead tr:first-child td, table caption+thead tr:first-child th, table colgroup+thead tr:first-child td, table colgroup+thead tr:first-child th, table thead:first-child tr:first-child td, table thead:first-child tr:first-child th {
    border-block-start: 1px solid hsla(0, 0%, 50%, .502);
}
table thead tr th:first-child, table tbody tr td:first-child, .wp-block-table table thead tr th:first-child, .wp-block-table table tbody tr td:first-child {
    padding-left: 20px;
}
.elementor *, .elementor :after, .elementor :before {
    box-sizing: border-box;
}
table thead th, .wp-block-table table thead th {
    background-color: var(--pequod-light);
}

table tbody>tr:nth-child(2n+1)>td, .wp-block-table table tbody>tr:nth-child(2n+1)>td {
    background-color: #d9d9d9 !important;
}

table.tablepress tbody>tr:nth-child(even)>td {
    background-color: var(--pequod-light) !important;
}

.tablepress> :where(thead, tfoot)>tr>* {
    background-color: var(--pequod-light) !important;
}

table.tablepress tbody>tr:nth-child(2n+1)>td {
    background-color: #d9d9d9 !important;
}

table tbody>tr:nth-child(even)>td, .wp-block-table table tbody>tr:nth-child(even)>td {
    background-color: var(--pequod-light);
}

/* button icons */

.icon-button svg {
    height: auto;
    width: 29px;
}

.icon-button .elementor-button {
	padding-left: 20px !important;
    padding-right: 20px !important;
	    padding-top: 12px !important;
    padding-bottom: 7px !important;
}

/* ==========================================================================
   Icon Button — crossfade icon on hover
   Hover scoped to .elementor-button (the actual <a>), not .icon-button
   (outer widget wrapper), so only the visible button triggers it.
   ========================================================================== */

.icon-button .elementor-button-icon {
	position: relative;
	display: inline-block;
}

.icon-button .elementor-button-icon svg {
	position: relative;
	z-index: 1;
	transition: opacity 0.2s ease-in-out;
}

.icon-button .elementor-button-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('/wp-content/uploads/2026/08/chat-bubble-b-.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0;
	transition: opacity 0.2s ease-in-out;
}

.icon-button .elementor-button:hover .elementor-button-icon svg {
	opacity: 0;
}

.icon-button .elementor-button:hover .elementor-button-icon::before {
	opacity: 1;
}

/* button icons calculator */

.icon-button-cal svg {
    height: auto;
    width: 20px;
}

.icon-button-cal .elementor-button {
	padding-left: 20px !important;
    padding-right: 20px !important;
	    padding-top: 15px !important;
    padding-bottom: 9px !important;
}

/* ==========================================================================
   Icon Button — crossfade icon on hover
   Swaps the inline SVG for chat-bubble-b-.svg via background-image fade.
   ========================================================================== */

.icon-button-cal .elementor-button-icon {
	position: relative;
	display: inline-block; /* needed for the background-image to have box to paint in */
}

.icon-button-cal .elementor-button-icon svg {
	position: relative;
	z-index: 1;
	transition: opacity 0.2s ease-in-out;
}

/* .icon-button-cal .elementor-button-icon::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: url('/wp-content/uploads/2026/08/messages-blue.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	opacity: 0;
	transition: opacity 0.2s ease-in-out;
} */
/* 
.icon-button-cal:hover .elementor-button-icon svg,
.icon-button.elementor-button:hover .elementor-button-icon svg {
	opacity: 0;
}

.icon-button-cal:hover .elementor-button-icon::before,
.icon-button-cal.elementor-button:hover .elementor-button-icon::before {
	opacity: 1;
} */

/* ribbon icons */

.ribbon-six .e-con-inner {
    max-width: 1280px !important;
    padding-left: 0px;
    padding-right: 0px;
    margin-left: auto;
    margin-right: auto;
}

.pequod-feature-ribbon {
    width: 100%;
    display: flex;
    justify-content: space-between;
}

.pequod-feature-ribbon-inner .feature-title {
	color: var(--pequod-dark) !important;
}

/* help options */

#civic-home-help-options h2 {
	color: var(--pequod-light);
	margin-bottom: 4.5rem;
}

#civic-home-help-options .pequod-services-products-item-heading h3, #civic-home-help-options .pequod-services-products-item-description {
	color: var(--pequod-light) !important;
}

.pequod-services-products h2 {
	font-size: 2.5rem !important;
	line-height: 2.5rem;
}

.core-services h2 {
	color: var(--pequod-accent1) !important;
	margin-bottom: 5rem;
}

.core-services img {
	border-radius: 2px !important;
}

.core-services .pequod-services-products-items {
	padding-bottom: 120px !important;
}


body .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, body .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin-top: 33px !important;
}

.elementor-element .swiper .elementor-swiper-button-prev, .elementor-element .swiper~.elementor-swiper-button-prev, .elementor-lightbox .swiper .elementor-swiper-button-prev, .elementor-lightbox .swiper~.elementor-swiper-button-prev {
    left: 30px;
}

.elementor-element .swiper .elementor-swiper-button-next, .elementor-element .swiper~.elementor-swiper-button-next, .elementor-lightbox .swiper .elementor-swiper-button-next, .elementor-lightbox .swiper~.elementor-swiper-button-next {
    right: 30px;
}

.elementor-element.elementor-pagination-position-outside .swiper .elementor-swiper-button, .elementor-element.elementor-pagination-position-outside .swiper~.elementor-swiper-button, .elementor-lightbox.elementor-pagination-position-outside .swiper .elementor-swiper-button, .elementor-lightbox.elementor-pagination-position-outside .swiper~.elementor-swiper-button {
    top: calc(56% - 18px / 2);
}

/* progress bars */

.elementor-progress-text, .elementor-progress-percentage {
	font-size: 1.125rem !important;
	letter-spacing: 2px;
    padding-right: 30px;
}

.elementor-widget-progress .elementor-title {
	font-weight: 900 !important;
	letter-spacing: 0px !important;
}

.first-bar  .elementor-progress-wrapper {
    margin-top: 35px !important;
}

body #main-content .elementor-progress-wrapper .elementor-progress-bar {
    border-radius: 0px 50px 50px 0px;
    background-image: linear-gradient(to right, var(--pequod-accent1), var(--pequod-accent2)) !important;
    height: 50px;
    line-height: 50px;
    padding-left: 15px;
}

.elementor-progress-wrapper {
    background-image: linear-gradient(to right, var(--pequod-accent1), var(--pequod-accent3)) !important;	
}

.progress-bars .e-con-inner, .all-text .e-con-inner {
	max-width: 1280px;
}

/* isolated message */

.isolated-message h3 {
	color: var(--pequod-light) !important;
}


/* Testimonial & Testimonial Carousel */
div[data-element_type="container"]:has(.elementor-widget.elementor-widget-testimonial), div[data-element_type="container"]:has(div[data-widget_type="testimonial-carousel.default"]) {
    background-color: var(--pequod-accent1);
}

.pequod-testimonial-arrow,
.pequod-testimonial-arrow:hover,
.pequod-testimonial-arrow:focus {
	background-color: transparent;
}

/* sign up title */

.sign-up-title {
	color: var(--pequod-light) !important;
}

/* alert */

.pequod-alert .pequod-alert-inner {
    background-color: var(--pequod-accent1);
}

/* popup */

.elementor-location-popup .elementor-icon-box-title span {
    font-family: "Atkinson Hyperlegible", Sans-serif !important;
	letter-spacing: 0px !important;
}

.elementor-location-popup .elementor-icon-box-title {
	max-width: 250px !important;
}

.elementor-location-popup .gform_title {
	display: none;
}

.elementor-location-popup .elementor-shortcode {
	max-width: 416px;
	margin: auto;
}

.elementor-location-popup .elementor-icon-box-wrapper {
	padding-bottom: 25px;
}

.elementor-location-popup textarea {
	height: 120px;
    min-height: 120px;
}

.elementor-location-popup .gform-theme--foundation .gfield textarea.large {
    min-block-size: 2rem;
}

.elementor-location-popup .gform_footer {
    justify-content: center !important;
}

#elementor-popup-modal-894 .dialog-message {
    padding: 20px 0 74px 0 !important;
}


/* ==========================================================================
   GF #5 — leading icon on the SEND button (additive only)
   ========================================================================== */

/* The converted <button> no longer matches your existing input[type="submit"]
   rules. Point those same rules at the button by adding this selector to them,
   OR leave this line out entirely if you'd rather widen the original selector. */
#gform_wrapper_5 .gform_footer button.gform_button {
	font: inherit;
			font-size: 1.125rem !important;
	height: 52px;
    width: 136px;
}

/* Lay out icon + label side by side. */
#gform_wrapper_5 .gform_footer .ww-btn--icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.6em;
}

/* Icon — painted in the button's current text color. */
#gform_wrapper_5 .gform_footer .ww-btn__icon {
	flex: 0 0 auto;
	width: 1.15em;
	height: 1.15em;
	background-color: currentColor;
	-webkit-mask: url("/wp-content/uploads/2025/06/message-arrow.svg") no-repeat center / contain;
	mask: url("/wp-content/uploads/2025/06/message-arrow.svg") no-repeat center / contain;
}

#gform_wrapper_5 .gform_footer button.gform_button:hover {
	color: var(--pequod-light) !important;
}

/* Icon turns white on hover, matching the label. */
#gform_wrapper_5 .gform_footer .ww-btn--icon:hover .ww-btn__icon,
#gform_wrapper_5 .gform_footer .ww-btn--icon:focus-visible .ww-btn__icon {
	background-color: #fff;
}

/* mega menu */

    #mega-menu-wrap-menu-1 {
        background-color: transparent;
    }

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link, #mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item.mega-current-page-ancestor > a.mega-menu-link {
    background-color: transparent;
    color: var(--pequod-accent1);
    font-weight: normal;
    text-decoration: none;
    border-color: #fff;
}

.mega-menu-link {
	color: var(--pequod-dark) !important;
	font-size: 1.125rem !important;
	letter-spacing: 2px;
	text-transform: uppercase !important;
}

.mega-menu-link:hover {
	background: transparent !important;
	text-decoration: underline !important;
	padding-bottom: 2px;
}

#mega-menu-wrap-menu-1 #mega-menu-menu-1 > li.mega-menu-item > a.mega-menu-link {
    padding: 0px 18px !important;
}
/* ==========================================================================
   Mega menu — Services panel
   Scoped to .ww-mega-parent (set via Appearance → Menus → CSS Classes).
   Desktop nav only; .site-mobile-navigation is untouched.
   ========================================================================== */

/* --- Containing block --------------------------------------------------- */

#site-header {
	position: relative;
}

/* .header-inner is capped at 1440px — keep it out of the positioning chain
   so the panel can span the full header width. */
.site-header .header-inner {
	position: static;
}

/* Panel measures against #site-header, not this <li>. */
.site-navigation ul.menu li.ww-mega-parent {
	position: static;
}

/* --- Hover bridge ------------------------------------------------------- */

/* !important guarantees the <a> is the containing block. Without it the
   bridge escapes to #site-header and spans the full page width. */
.site-navigation ul.menu li.ww-mega-parent > a {
	position: relative !important;
}

.site-navigation ul.menu li.ww-mega-parent > a::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	/* Panel measures against #site-header, not this link, so the bridge must
	   reach the header's bottom edge. Measured gap is ~40px (header 190px tall,
	   link bottom at 150px); 60px keeps margin for topbar height changes. */
	height: 60px;
	pointer-events: none;
}

/* Bridge only becomes interactive while the trigger or panel is engaged,
   so it can never catch a stray click over the hero. */
.site-navigation ul.menu li.ww-mega-parent:hover > a::after,
.site-navigation ul.menu li.ww-mega-parent:focus-within > a::after {
	pointer-events: auto;
}

/* --- The panel (2nd level <ul>) ----------------------------------------- */

.site-navigation ul.menu li.ww-mega-parent > ul.sub-menu {
	display: flex !important;
	flex-direction: row;
	align-items: flex-start;
	gap: 2rem;

	position: absolute;
	top: 100% !important;
	left: 0 !important;
	right: auto !important;
	width: 100%;
	min-width: 0;
	max-width: none;
	z-index: 999;

	/* Overrides the theme's padding-top: 60px / margin-top: -60px bridge. */
	margin: 0 !important;
	padding: 3rem 4rem 4rem !important;

	background-color: var(--pequod-accent1);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.2s ease, visibility 0.2s;
}

.site-navigation ul.menu li.ww-mega-parent:hover > ul.sub-menu,
.site-navigation ul.menu li.ww-mega-parent:focus-within > ul.sub-menu,
.site-navigation ul.menu li.ww-mega-parent.is-open > ul.sub-menu {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

/* --- Columns (2nd level <li>) ------------------------------------------- */

/* flex-direction: column is essential — the theme sets every menu <li> to
   display: flex, which would otherwise lay the links out beside the heading. */
.site-navigation ul.menu li.ww-mega-parent > ul.sub-menu > li {
	display: flex;
	flex-direction: column;
	align-items: stretch;

	flex: 1 1 0;
	width: auto;
	min-width: 0;
	position: static;

	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

/* Remove the theme's ▾ / ▸ arrows inside the panel. */
.site-navigation ul.menu li.ww-mega-parent > ul.sub-menu li.menu-item-has-children::after {
	content: none;
	display: none;
}

/* --- Column headings (2nd level <a>) ------------------------------------ */

.site-navigation ul.menu li.ww-mega-parent > ul.sub-menu > li > a {
	display: block;
	margin: 0 0 1.25rem;
	padding: 0;

	color: var(--pequod-light);
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;

	pointer-events: none;
	cursor: default;
}

/* --- Link lists (3rd level <ul>) — in flow, always open ----------------- */

.site-navigation ul.menu li.ww-mega-parent ul.sub-menu ul.sub-menu {
	display: flex !important;
	flex-direction: column;
	gap: 0.75rem;

	position: static !important;
	left: auto !important;
	top: auto !important;
	width: 100%;
	min-width: 0;

	margin: 0 !important;
	padding: 0 !important;
	background: none !important;

	opacity: 1;

	/* inherit, NOT visible — `visible` would un-inherit the panel's hidden
	   state and leave these links clickable over the hero. */
	visibility: inherit;
}

.site-navigation ul.menu li.ww-mega-parent ul.sub-menu ul.sub-menu > li {
	display: block;
	position: static;
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

/* --- Links (3rd level <a>) ---------------------------------------------- */

.site-navigation ul.menu li.ww-mega-parent ul.sub-menu ul.sub-menu a {
	display: block;
	padding: 0;
	color: var(--pequod-light);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
	text-decoration: none;
	transition: opacity 0.15s ease;
}

.site-navigation ul.menu li.ww-mega-parent ul.sub-menu ul.sub-menu a:hover,
.site-navigation ul.menu li.ww-mega-parent ul.sub-menu ul.sub-menu a:focus-visible {
	text-decoration: underline;
	opacity: 0.85;
}

.site-navigation ul.menu li.ww-mega-parent a:focus-visible {
	outline: 2px solid var(--pequod-light);
	outline-offset: 3px;
}

/* left and right blocks */

.elementor-widget-image img {
    border-radius: 2px !important;
}

.text-left h2, .text-right h2, .text-left-sm h2 {
	color: var(--pequod-accent1);
}

.largetext p {
	font-size: 1.75rem;
	line-height: 2.25rem;
}

.twentytwo p {
	font-size: 1.375rem;
	line-height: 2rem;
}
/* ==========================================================================
   Title / image / info — 40:60 split with reversible order
   .text-left  = image left, text right (as built)
   .text-right = text left, image right
   ========================================================================== */

.title-image-info-inner {
	flex-direction: row;
	max-width: 1280px;
	margin: auto;
}

/* ==========================================================================
   Title / image / info — column split with reversible order
   .text-left     = image left (40%), text right
   .text-right    = text left, image right (40%)
   .text-left-sm  = image left (33%), text right
   ========================================================================== */

.text-left .title-image-info-inner,
.text-right .title-image-info-inner,
.text-left-sm .title-image-info-inner {
	flex-direction: row;
}

/* --- 40 / 60 --- */

.text-left .title-image-info-inner > .box1,
.text-right .title-image-info-inner > .box1 {
	flex: 0 0 40%;
}

.text-left .title-image-info-inner > .box2,
.text-right .title-image-info-inner > .box2 {
	flex: 1 1 60%;
}

/* --- 33 / 67 --- */

.text-left-sm .title-image-info-inner > .box1 {
	flex: 0 0 33%;
}

.text-left-sm .title-image-info-inner > .box2 {
	flex: 1 1 67%;
}

/* --- Reversed --- */

.text-right .title-image-info-inner {
	flex-direction: row-reverse;
}

/* --- Stack on mobile --- */

@media (max-width: 767px) {
	.text-left .title-image-info-inner,
	.text-right .title-image-info-inner,
	.text-left-sm .title-image-info-inner {
		flex-direction: column;
	}

	.text-left .title-image-info-inner > .box1,
	.text-left .title-image-info-inner > .box2,
	.text-right .title-image-info-inner > .box1,
	.text-right .title-image-info-inner > .box2,
	.text-left-sm .title-image-info-inner > .box1,
	.text-left-sm .title-image-info-inner > .box2 {
		flex: 1 1 auto;
	}
}

.text-right .title-image-info-inner {
	flex-direction: row-reverse;
}

.title-image-info-inner {
	gap: 45px;
}

@media (min-width: 1200px) {
	.twentytwo p {
		margin-right: 10px;
	}
}

@media (max-width: 767px) {
	.title-image-info-inner,
	.text-right .title-image-info-inner {
		flex-direction: column;
	}

	.title-image-info-inner > .box1,
	.title-image-info-inner > .box2 {
		flex: 1 1 auto;
	}
}

/* other page heroes */

.outra-hero h1 {
	color: var(--pequod-light) !important;
	max-width: 636px !important;
	font-size: 2.5rem;
	line-height: 2.5rem;
}

.outra-hero p {
	color: var(--pequod-light) !important;
	font-size: 1.75rem !important;
	margin-bottom: 0px !important;
}

.outra-hero {
	min-height: 300px !important;
	padding-top: 20px;
	padding-bottom: 20px;
}

.is-light .pequod-call-to-action .pequod-call-to-action-inner .bottom {
    background-color: var(--pequod-light);
}

/* people */

#civic-people {
	background-color: var(--pequod-light) !important;
}

#civic-people h2 {
	color: var(--pequod-accent1)
}

.e-loop-item h2 {
	font-family: "Atkinson Hyperlegible" !important;
	color: var(--pequod-dark) !important;
	font-weight: 900 !important;
	text-transform: capitalize;
}

.projects-slider .swiper-slide-inner {
  margin: 0;
  aspect-ratio: 1 / 1;
}

.projects-slider .swiper-slide-image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}