/**
 * Theme Name: Idaho Webmaster v4 - Child
 * Template: Webmaster-v4
 * Description: The theme to use and edit for making any changes to a specific site.
 * Author: White Whale Web
 * Author URI: https://whitewhaleweb.com/
 * Version: 1.0.1
 * Text Domain: webmaster-bs4
 */


/*--------------------------------------------------------------
# 1. FONT SETUP
--------------------------------------------------------------*/

:root {
  --font-family-base: 'Atkinson Hyperlegible', sans-serif !important;
}

/* Typography scale — consistent vertical rhythm */
h1, h2, h3, h4, h5, h6, p, a, li {
  font-family: var(--font-family-base);
  color: var(--color-text);
}


/*--------------------------------------------------------------
# 2. COLOR PALETTE
--------------------------------------------------------------*/

:root {
  --color-sidebar: #F4F3F1;      /* Sidebar / panel backgrounds */
  --color-links: #30758D;        /* Links / buttons / accents */
  --color-cta: #30758D;          /* CTA sections (same as links) */
  --color-icons: #E9E9C8;        /* Icons / highlights */
  --color-meta: #E9E9C8;         /* Meta / subtext / info boxes */
  --color-misc: #8D4D30;         /* Decorative / miscellaneous */
  --color-white: #FFFFFF;        /* White / background */
  --color-text: #555555;         /* Primary text color */
  --color-bg: #FCFCFC;           /* Page background */
}


/*--------------------------------------------------------------
# 3. GLOBAL ELEMENTS
--------------------------------------------------------------*/

#main {
	padding-top: 3em;
}

body {
  font-family: var(--font-family-base);
  font-size: 16px;
  line-height: 26px;
  color: var(--color-text);
  background-color: var(--color-bg);
  font-weight: 400;
  margin: 0;
  padding: 0;
}

a {
  color: var(--color-links);
  text-decoration: underline;
  transition: color 0.3s ease;
}

a:hover,
a:focus {
  color: var(--color-misc);
  text-decoration: none;
}


/*--------------------------------------------------------------
# 4. HEADINGS
--------------------------------------------------------------*/

/* h1 — Bold, Large, 60/65 */
h1, .h1 {
  font-weight: 700;
  font-size: 2.5em !important; /* 50px ÷ 16 = 3.125em */
  line-height: 1em!important;
  color: var(--color-text);
  margin-bottom: 0.5em;
}

/* h2 — Bold, 50/60 */
h2, .h2 {
  font-weight: 700;
   font-size: 1.87em !important; /* 40px ÷ 16 =.master-agreement .elementor-shortcode 2.5em */
  line-height: 1em!important;
  color: var(--color-text);
  margin-bottom: 0.6em;
}

/* h3 — Bold, 40/50 */
h3, .h3 {
  font-weight: 700;
 font-size: 1.875em !important; /* 30px ÷ 16 = 1.875em */
 line-height: 1em!important;
  color: var(--color-text);
  margin-bottom: 0.6em;
}

/* h4 — Bold, 30/40 */
h4, .h4 {
  font-weight: 700;
   font-size: 1.25em !important; /* 20px ÷ 16 = 1.25em */
 line-height: 1em!important;
  color: var(--color-text);
  margin-bottom: 0.6em;
}

/* h5 — Bold, 20/30 */
h5, .h5 {
  font-weight: 700;
   font-size: 1.25em !important; /* 20px ÷ 16 = 1.25em */
  line-height: 1em!important;
  color: var(--color-text);
}

/* h6 — Bold, 20/30 */
h6, .h6 {
  font-weight: 700;
  font-size: 1.25em !important; /* 20px ÷ 16 = 1.25em */
  line-height: 1em!important;
  color: var(--color-text);
}


/* =======================================================
   Remove Top Margin for First Heading in Elementor Inner Containers
   ======================================================= */
.elementor-element > h1:first-child,
.elementor-element > h2:first-child,
.elementor-element > h3:first-child,
.elementor-element > h4:first-child,
.elementor-element > h5:first-child,
.elementor-element > h6:first-child {
	margin-top: 0 !important;
}

.broken_link, a.broken_link {
	text-decoration: none!important
}

:focus-visible {
	outline: none!important
}

.nav-link:focus {
	color: var(--color-icons) !important;
}

/*--------------------------------------------------------------
# 5. BODY & INTRO TEXT
--------------------------------------------------------------*/

/* Paragraphs */
p, .body-text {
  font-weight: 400;
  font-size: 16px;
  line-height: 26px;
  color: var(--color-text);
}

/* Intro paragraphs — larger lead-in sections */
.intro, .lead {
  font-weight: 400;
  font-size: 24px;
  line-height: 30px;
  color: var(--color-text);
  margin-bottom: 1.2em;
}

/* Meta text — smaller helper or info text */
.meta {
  font-size: 14px;
  line-height: 20px;
  color: var(--color-meta);
}


/*--------------------------------------------------------------
# 5A. CONTACT SIDEBAR
--------------------------------------------------------------*/

.contact-sidebar {
	padding: 40px!important;
	margin: 0px!important;
	width: 400px!important
}

.law-sidebar {
	width: 400px!important
}



.contact-sidebar .elementor-button {
	font-size: 20px!important;
	padding: 7px 50px!important
}

.law-sidebar {
	padding: 30px!important;
}

@media (max-width: 768px) {
    .law-sidebar {
        margin-top: 50px!important;
		padding: 30px!important;
		width: 100%!important;
    }
	
	.contact-sidebar {
	padding: 40px!important;
	margin:20px auto!important
}
}


/*--------------------------------------------------------------
# 6. BUTTONS & LINKS
--------------------------------------------------------------*/

/* General Button Styles */
button,
.btn,
.wp-element-button,
input[type="submit"] {
  font-family: var(--font-family-base);
  font-size: 16px;
  font-weight: 600;
  color: var(--color-white);
  background-color: var(--color-links);
  border: none;
  border-radius: 4px;
  padding: 10px 30px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

button:hover,
.btn:hover,
.wp-element-button:hover {
  background-color: var(--color-misc);
  color: var(--color-white);
}

input {
	padding: 5px
}


/*--------------------------------------------------------------
# 6A. GRAVITY FORMS BUTTONS
--------------------------------------------------------------*/

/* Universal Gravity Forms Submit Button Styles
   Color: var(--color-links)
   Padding: 7px 50px !important */

.gform_wrapper input[type="submit"],
.gform_button,
button.gform_button {
	background-color: var(--color-links) !important;
	color: var(--color-white) !important;
	padding: 7px 50px !important;
	border: none !important;
	border-radius: 4px;
	font-size: 20px;
	font-weight: 600;
	cursor: pointer;
	text-transform: none;
	transition: background-color 0.3s ease, color 0.3s ease;
	display: inline-block;
	height: 35px !important;
}

/* Hover & Focus states */
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="submit"]:focus,
.gform_button:hover,
button.gform_button:hover {
	background-color: var(--color-text) !important; /* Slightly darker shade */
	color: var(--color-white) !important;
}

/* Optional: Center button inside forms */
.gform_footer {
	text-align: center;
}


/*--------------------------------------------------------------
# 6B. ELEMENTOR BUTTONS
--------------------------------------------------------------*/

/* Elementor Universal Button */
a.elementor-button.elementor-button-link.elementor-size-sm {
	padding: 8px 50px;
	background: var(--color-links)!important;
	font-weight: 700;
	font-size: 20px;
	color: var(--color-white)!important;
}

a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	padding: 8px 50px;
	background: var(--color-text)!important;
	font-weight: 700;
	color: var(--color-white)!important;
	text-decoration: none;
	font-style: normal;
}

.style-guide-buttons {
	padding: 50px!important
}

/* Optional Button Variations */
.btn-primary-light a.elementor-button.elementor-button-link.elementor-size-sm {
	background: var(--color-white)!important;
	padding: 8px 50px;
	font-weight: 700;
	color: var(--color-text)!important;
}
.btn-primary-light a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	background: var(--color-text)!important;
	color: var(--color-white)!important;
	font-style: normal;
	text-decoration: none;
}

.btn-secondary-light a.elementor-button.elementor-button-link.elementor-size-sm {
	background: var(--color-white)!important;
	padding: 10px 50px;
	font-weight: 700;
	font-size:25px;
	color: var(--color-text)!important;
}
.btn-secondary-light a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	background: var(--color-text)!important;
	color: var(--color-white)!important;
	font-style: normal;
	text-decoration: none;
}

.btn-secondary-dark a.elementor-button.elementor-button-link.elementor-size-sm {
	background: var(--color-links)!important;
	padding: 10px 50px;
	font-weight: 700;
	font-size:25px;
	color: var(--color-white)!important;
}
.btn-secondary-dark a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	background: var(--color-text)!important;
	color: var(--color-white)!important;
	font-style: normal;
	text-decoration: none;
}


/*--------------------------------------------------------------
# 7. CTA SECTIONS
--------------------------------------------------------------*/

.cta-section {
  background-color: var(--color-cta);
  color: var(--color-white);
  text-align: center;
  padding: 60px 20px;
}

.cta-section h2,
.cta-section p {
  color: var(--color-white);
}


/*--------------------------------------------------------------
# 8. SIDEBAR & PANELS
--------------------------------------------------------------*/

.sidebar,
.sidebars {
  background-color: var(--color-sidebar)!important;
  border-radius: 4px;
  padding: 40px;
}

.row>.sidebars {
	background-color: var(--color-sidebar)!important;
}

.row>.sidebars .textwidget{
	color: var(--color-text);
}

.sidebar h3,
.sidebars h3 {
  color: var(--color-text);
  font-size: 30px;
  line-height: 40px;
}


/*--------------------------------------------------------------
# 9. ICONS & DECORATIVE ELEMENTS
--------------------------------------------------------------*/

.icon {
  color: var(--color-icons);
  font-size: 1.5rem;
}


/*--------------------------------------------------------------
# 10. ACCESSIBILITY UTILITY
--------------------------------------------------------------*/

.screen-reader-text {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

/* Focus state for keyboard users */
:focus-visible {
  outline: 2px dashed var(--color-links);
  outline-offset: 4px;
}


/*--------------------------------------------------------------
# 11. RESPONSIVE TYPE SCALING
--------------------------------------------------------------*/

@media (max-width: 1024px) {
  h1 { font-size: 48px; line-height: 56px; }
  h2 { font-size: 40px; line-height: 50px; }
  h3 { font-size: 32px; line-height: 42px; }
  .intro { font-size: 20px; line-height: 28px; }
}

@media (max-width: 768px) {
  h1 { font-size: 40px; line-height: 50px; }
  h2 { font-size: 32px; line-height: 40px; }
  h3 { font-size: 26px; line-height: 34px; }
  p, .body-text { font-size: 15px; line-height: 24px; }
}

@media (max-width: 480px) {
  h1 { font-size: 34px; line-height: 42px; }
  h2 { font-size: 28px; line-height: 36px; }
  .intro { font-size: 18px; line-height: 26px; }
}

/*--------------------------------------------------------------
# 12. STYLE GUIDE PAGE
--------------------------------------------------------------*/

/* Color Tooltip for Copy Functionality */
.color-box[data-copied] {
	position: relative;
}

.color-box[data-copied]::after {
	content: attr(data-copied);
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	background: #333;
	color: #fff;
	font-size: 12px;
	padding: 4px 8px;
	border-radius: 4px;
	white-space: nowrap;
	z-index: 999;
}

.color-tooltip {
	position: absolute;
	top: 5px;
	left: 50%;
	transform: translateX(-50%);
	background: rgba(0, 0, 0, 0.8);
	color: #fff;
	font-size: 12px;
	padding: 4px 8px;
	border-radius: 4px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.5s ease-out;
	z-index: 10;
}

.color-tooltip.show {
	opacity: 1;
}

/* Style Guide Page Layout */
.page-id-19066 .sidebars.col-sm-12.col-md-4.col-lg-4.d-print-flex.d-print-block {
	display: none!important;
}

.page-id-19066 div#primary {
    width: 100%;
}

.page div#primary {
    width: 100%;
}

/*--------------------------------------------------------------
# 13. HOMEPAGE LAYOUT & SECTIONS
--------------------------------------------------------------*/

/* Homepage General Layout */
.page-id-4 .sidebars {
	display: none;
}

.page-id-4 div#primary {
	width: 100%;
	margin: 0 auto
}

.page-id-4 .custom-post-grid h3.custom-post-title {
	line-height: .7rem!important
}

.page-id-4 h2.wp-block-heading{
	margin-bottom: 40px!important
}

.page-id-4 #main {
    padding-top: 0em;
}

@media (max-width: 770px) {
    .search-blocks {
        display: grid !important;
        grid-template-columns: repeat(4, 2fr) !important;
        gap: 5px !important;
        justify-items: center;
    }
}

h3.search-result-title.mb-1 {
    margin-bottom: 0px !important;
}

/* Homepage Hero Text */


.wp-block-heading.home-text-top {
  max-width: 1030px;
  margin: 50px auto;
  padding: 0px;
  text-align: center;
  color: var(--color-links);
  font-size: 40px;
  line-height: 1.4;
}

/* Homepage Featured Services */
.card-body.text-center h2 {
	line-height: 28px;
}

@media (max-width: 1199px) {
    .featured-services-container .service-box .card-title a {
        color: var(--color1);
        text-decoration: none;
        font-weight: 700;
        font-size: 19px!important;
    }
}

.featured-services-container .service-box .card-title {
	background: var(--color-cta);
	display: flex;
    align-items: center;
	padding: 5px;
    justify-content: center;
}

.featured-services-container .service-box .card-title:hover {
	background: var(--color-text);
	padding: 5px;
}

/* Homepage Responsive Styles */
@media (max-width: 1024px) {
  .wp-block-heading.home-text-top {
    font-size: 32px;
    padding: 0 30px;
  }
}
@media (max-width: 1024px) {
  .featured-services-container .service-box .card-title  {
    line-height: 1.2em;
  }
}

.featured-services-container .service-box .card-title a

.page-id-4 h2.wp-block-heading {
	text-align: center!important;
}

@media (max-width: 768px) {
  .page-id-4 h2.wp-block-heading {
	text-align: center!important;
	margin-bottom: 0px!important;
  }

  .wp-block-heading.home-text-top {
    font-size: 26px;
    padding: 0 20px;
  }

  h2.wp-block-heading.has-text-align-center.home-text-top.has-text-color.has-link-color.wp-elements-a978ca86a5985c1980dd77f2b433f7ef {
    margin-top: 40px;
  }

  .featured-services-container .card {
    margin-bottom: 0px;
    position: relative;
    border-radius: 0 !important;
  }

  .wp-block-buttons.home-page-grp-buttons.is-horizontal.is-content-justification-left.is-nowrap.is-layout-flex.wp-container-core-buttons-is-layout-f62218a8.wp-block-buttons-is-layout-flex {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 480px) {
  .wp-block-heading.home-text-top {
    font-size: 22px;
    padding: 0 15px;
  }
}


/*--------------------------------------------------------------
# 13A. HOMEPAGE ANNOUNCEMENTS GRID
--------------------------------------------------------------*/

.custom-post-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 30px;
  margin-top: 30px;
}
@media (max-width: 990px) {
  .custom-post-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    gap: 30px;
    margin-top: 30px;
  }
}

.custom-post-item {
  background: #fff;
  border-radius: 4px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.custom-post-thumb img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 4px;
}

.custom-post-meta {
  font-size: 0.9em;
  color: var(--color-links);
  margin: 10px 0 5px;
}

.custom-post-title {
  font-size: 1.1em;
  font-weight: 700;
  margin: 0 0 20px;
}

h3.custom-post-title {
	line-height: 1.2em;
}

.custom-post-title a {
  color: var(--color-text);
  text-decoration: none;
	font-size:20px;
	line-height: 1.2em
}

.custom-post-title a:hover {
  color: var(--color-links);
  font-style: normal;
}

.custom-post-excerpt {
  font-size: 0.95em;
  line-height: 1.6;
  color: var(--color-text);
  margin-bottom: auto;
}

.custom-learn-more {
  display: inline-block;
  margin-top: 30px;
  padding: 7px 50px;
  background-color: var(--color-links);
  color: var(--color-white);
  font-weight: bold;
  border-radius: 4px;
  text-align: center;
  font-size: 20px;
  text-decoration: none;
  width: 220px;
}

.custom-learn-more:hover {
  background-color: var(--color-text);
	text-decoration: none;
	font-style: normal;
	color: var(--color-white)!important;
}

.page-id-19066 h3.custom-post-title {
	margin-top: 0px;
	margin-bottom: 20px;
}

.page-id-19066 .custom-post-meta {
	margin: 10px 0 0px;
}

/* Homepage Announcement Button Group */
.home-page-grp-buttons a.wp-block-button__link.wp-element-button{
	padding: 7px 50px!important;
	background: var(--color-cta)!important;
	border-radius: 4px;
}

.home-page-grp-buttons a.wp-block-button__link.wp-element-button:hover{
	padding: 7px 50px!important;
	background: var(--color-text)!important;
	border-radius: 4px;
}

.wp-block-buttons.is-content-justification-left {
    justify-content: flex-start;
	gap: 20px!important;
}
	
/*--------------------------------------------------------------
# 13B. HOMEPAGE CTA SECTION
--------------------------------------------------------------*/

.cta-section-left-icon {
	background-color: var(--color-cta);
	padding: 50px 50px;
}

.cta-text-left p {
	font-size: 1.5em!important;
	line-height: 1.2em;
	margin-bottom: 20px;
}

.cta-text-left h2 {
	line-height: 1.25em!important;
	margin-top: 20px!important;
	font-size: 1.87em!important;
}

.cta-content-left-icon {
    display: flex;
    align-items: center;
    gap: 80px;
    margin-left: 30px;
}

.cta-button-left {
	color: var(--color-text)!important;
}

.cta-text-left h2 {
	line-height: 0px;
	margin-bottom: 10px;
}

.cta-button-left:hover {
	background: var(--color-text)!important;
}

@media (max-width: 767px) {
    .cta-content-left-icon {
        display: flex;
        align-items: center;
        gap: 80px;
        margin-left: 0px;
        flex-direction: column;
    }
}

@media (max-width: 767px) {
    .cta-button-left {
        padding: 10px 42px;
    }
}



/*--------------------------------------------------------------
# 13C. HOMEPAGE EVENTS CALENDAR
--------------------------------------------------------------*/

/* Homepage Events General Layout */
.homepage-events {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
}

.homepage-events a.tribe-events-calendar-list__event-title-link.tribe-common-anchor-thin {
	font-size: 30px!important;
}

.homepage-events .tribe-events-calendar-list__event-description p {
    color: var(--color-text) !important;
    font-size: 1.0em !important
}

.homepage-events .tribe-common--breakpoint-medium.tribe-common .tribe-common-l-container {
    padding-left: 0px !important;
    padding-right: 0px !important
}

.homepage-events .tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row {
    margin-bottom: 50px
}

.homepage-events .tribe-events-calendar-list__event-date-tag {
    min-width: 200px !important;
    height: 200px;
}

/* Event Item Layout */
.event-item {
	display: grid;
	grid-template-columns: 150px 1fr 240px;
	align-items: stretch;
	gap: 4rem!important;
	background: #fff;
	padding: 1rem 0rem;
}

.event-item {
    display: grid;
    grid-template-columns: 150px 1fr 295px;
    align-items: stretch;
    gap: 1.5rem;
    background: #fff;
    padding: 1rem 0rem;
}

/* Event Date Box */
.event-date {
	background-color: var(--color-misc);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--color-white);
	border-radius: 4px;
	padding: 0.5rem;
	text-align: center;
	height: 190px;
	width: 190px;
}

.event-date-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	line-height: 1.2;
}

.event-date .month {
	font-weight: 400;
	font-size: 1.5rem;
	text-transform: uppercase;
}

.event-date .day {
	font-size: 3.12rem;
	font-weight: 900;
}

.event-date .year {
	font-size: 1rem;
	opacity: 0.9;
}

/* Optional: alternate color by index */
.event-item:nth-child(1) .event-date { background-color: var(--color-misc); }

/* Event Content */
.event-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.event-title {
	font-weight: 700;
	font-size: 1.25rem;
	margin-bottom: 10px;
}

.event-title a {
	color: var(--color-text);
	text-decoration: none!important;
	font-weight: 700 !important;
	font-size: 1.87rem!important;
}

.event-title a:hover {
	text-decoration: none;
	font-style: normal;
}

.event-datetime {
	font-size: 1.5rem!important;
	color: var(--color-text);
	margin-bottom: 0rem;
}

.event-excerpt {
	font-size: 1rem;
	color: var(--color-text);
}

/* Event Venue */
p.event-venue {
    display: flex;
    gap: 4px;
	color: var(--color-links);
}

a.event-venue-link:hover {
	font-style: normal
}

a.event-more-link {
	color: var(--color-links);
}

a.event-more-link:hover {
	font-style: normal;
}

/* Event Image */
.event-image {
	border-radius: 4px;
	overflow: hidden;
	height: 190px;
}

.event-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* View All Events Button */
.view-all-events {
    text-align: left;
}

.btn-view-all-events {
    display: inline-block;
    background-color: var(--color-links);
    color: var(--color-white) !important;
    font-weight: 700;
	font-size: 20px;
	color: var(--color-white);
    padding: 7px 50px;
    border-radius: 4px;
    text-decoration: none;
    transition: background-color 0.3s ease;
}

.btn-view-all-events:hover {
    background-color: var(--color-text);
    text-decoration: none;
	font-style: normal;
	color: var(--color-white)!important
}

/* Homepage Events Responsive */
@media (max-width: 768px) {
    .view-all-events {
        text-align: center;
    }

	.event-item {
		grid-template-columns: 1fr;
		text-align: center;
		display: block
	}

	.event-image {
		order: -1;
	}
}

@media (max-width: 767px) {
    .event-date {
        background-color: var(--color-misc);
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--color-white);
        border-radius: 4px;
        padding: 0.5rem;
        text-align: center;
        height: 150px;
        width: 150px;
        margin: 30px auto;
    }

	.event-excerpt {
		margin-bottom:30px;
	}

	.event-image {
        height: 190px;
        width: 295px;
        margin: 0 auto;
    }

    p.event-venue {
        display: flex;
        gap: 4px;
        color: var(--color-links);
        margin: 10px auto;
    }

    a.event-venue-link {
        display: block;
        margin: 0 auto;
    }
}


/* FOOTER STARTS */

.row.row-footer-links {
    padding: 20px;
	width: 100%;
	margin: 0 auto;
}

.site-footer {
	background-color: var(--color-sidebar);
	color: var(--color-text);
}

.site-footer .textwidget.custom-html-widget {
	color: var(--color-text);
}

.site-footer a {
	color: var(--color-text);
	text-decoration: none;
}

.site-footer .quick-links a {
	color: var(--color-text)!important;
}

.site-footer .quick-links a:hover {
	color: var(--color-links)!important;
}

.site-footer .img-fluid {
    max-width: 100%;
    opacity: 0.75;
}
.contact-info {
    font-family: 'Atkinson Hyperlegible', sans-serif;
    color: var(--color-links);
    line-height: 1.6;
}

.contact-info a {
	color: var(--color-links)!important
}

.contact-info a:hover {
	color: var(--color-links)!important;
	font-style: normal
}

.contact-info p {
    margin: 0px;
    display: flex;
    align-items: center;
    gap: 8px;
	 line-height: 1.6;
}

.contact-info i {
    color: var(--color-links);
    min-width: 18px;
}

.contact-info p.inside-items {
	margin-bottom: 10px;
}

i.fa-clock.fa-solid {
    margin-top: -27px;
}

.row-footer-links a {
	margin: 0px;
	text-decoration: underline!important;
}

.row-footer-links a:hover{
	 color: var(--color-meta);
}



/* Add divider after each link except the last */
div[role="navigation"] a {
    position: relative;
    color: var(--color-white); /* or adjust based on background */
    text-decoration: none;
    font-size: 15px;
    padding: 15px;
}

div[role="navigation"] a:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -3px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 15px;
    background-color: var(--color-icons);
}

/* Optional: hover styling */
div[role="navigation"] a:hover {
    text-decoration: underline;
}

/* Responsive adjustment for smaller screens */
@media (max-width: 768px) {
    div[role="navigation"] {
        flex-direction: column;
        align-items: flex-start;
    }

    div[role="navigation"] a:not(:last-child)::after {
        display: none; /* remove divider when stacked */
    }
}

@media only screen and (max-width: 991px) {
    #colophon {
        padding-left: 0em;
        padding-right: 0em;
    }
}

@media only screen and (max-width:768px) {
    .contact-info {
    margin-bottom: 30px;
}
}

@media only screen and (max-width:768px) {
div#custom_html-4 {
    margin-bottom: 30px;
}
}

.blog footer p, .archive footer p {
    color: var(--color-text);
}

/* FOOTER ENDS */

/*--------------------------------------------------------------
# 14. HEADER & TOP NAVIGATION
--------------------------------------------------------------*/

/* Top Navigation Bar Styling */
.custom-topp-nav {
    background: var(--color-links) !important;
}

#top-navigation ul li.active a {
	color: var(--color-icons) !important;
}


.top-menu a span:hover{
	color: var(--color-icons) !important;
}

.top-navigation [onclick]:hover {
	color: var(--color-icons) !important;
}

a>.fa-search:hover {
	color: var(--color-icons) !important;
}

a>i:hover {
	color: var(--color-icons) !important;
}

div#top-navigation {
	gap:20px
}

#top-navigation span {
	font-size:1em;
}

#top-navigation .top-menu.nav li {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 0 20px;
}



.fontsizer.current {
    text-decoration: none;
}

/* Line before each item */
#top-navigation .top-menu.nav li::before {
    content: "";
    display: inline-block;
    width: 1px;
    height: 15px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* Line after each item */
#top-navigation .top-menu.nav li::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 15px;
    background-color: rgba(255, 255, 255, 0.5);
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

/* Optional: remove double lines between adjacent items */
#top-navigation .top-menu.nav li + li::before {
    display: none;
}

/* Font Sizer & Language Selector */
.fontsizer {
	font-weight: 100!important
}

.fontsizer:hover {
	background: none;
}

select.gt_selector.notranslate {
    background: none;
    border: none;
    color: var(--color-white) !important;
    width: auto;
	font-size: 18px;
}

/* Site Branding & Search */
.site-branding i.fa-search.fa-solid {
    color: var(--color-links);
    font-size: 30px;
}

.site-branding button.search-toggle {
    background: none;
    padding: 0px;
}

.site-branding .d-flex {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
}

.top-navigation i.fa-search.fa-solid {
	margin-right: 15px;
}

i.fa-search.ml-2.fa-solid::after {
	display: none;
}

/* Default: Caret-down icon */
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {
  content: "\f0d7"; /* Font Awesome caret-down */
  font-family: "Font Awesome 6 Free"; /* or "Font Awesome 5 Free" depending on version */
  font-weight: 900;
  display: inline-block;
  margin-left: 6px;
	margin-top: -5px;
  font-size: 1.12em;
  vertical-align: middle;
  transition: transform 0.3s ease, content 0.3s ease;
}

/* When submenu is expanded (mobile .mega-toggle-on state): show caret-up */
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {
  content: "\f0d8"; /* Font Awesome caret-up */
  transform: rotate(0deg);
}

/* Optional: Limit to mobile only */
@media (max-width: 990px) {
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator:after {
    content: "\f0d7"; /* caret-down */
  }

  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator:after {
    content: "\f0d8"; /* caret-up */
  }
}
#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:hover, #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item > a.mega-menu-link:focus {
	background: #555!important;
	color: #fff!important
}

/* Mega Menu Styling */


#mega-menu-wrap-primary, .navbar {
	background: var(--color-sidebar);
}

#mega-menu-wrap-primary a.mega-menu-link {
	color: var(--color-text)!important;
}

#mega-menu-wrap-primary a.mega-menu-link:hover{
	color: var(--color-white)!important;
	background: var(--color-text)!important;
}

#mega-menu-wrap-primary .mega-menu-toggle {
	background: var(--color-sidebar);
}

#mega-menu-wrap-primary #mega-menu-primary > a.mega-menu-link {
	color: var(--color-white)!important;
	background: var(--color-text);
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-megamenu>ul.mega-sub-menu {
    background: #30758D!important;
    width: 100vw;
    max-width: 100vw;
    opacity: 1 !important;
}



@media (max-width: 767px) {
 #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item.mega-toggle-on>a.mega-menu-link {
	color: #fff!important
}
	a.mega-menu-link {
	display: flex!important;
		justify-content: space-between!important;
		}
	#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
		margin-left: 10px;
	}
}

.mega-sub-menu {
    opacity: 1 !important;
}

ul.mega-sub-menu .menu-item {
    line-height: 1.4em !important;
    font-size: 18px!important
}

@media (max-width: 767px) {
  ul.mega-sub-menu {
    padding: 4px !important;
  }
}

@media (max-width: 767px) {
  #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu > ul.mega-sub-menu > li.mega-menu-row {
    width: 100%;
    padding: 10px 0px!important;
  }
}

@media (max-width: 767px) {
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
    background: var(--color7);
/*     color: var(--color8) !important; */
    border-color: var(--color7);
  }
}

@media (max-width: 767px) {
  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link:hover {
    background: #555!important;
    color: #fff !important;
  }
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item.mega-menu-megamenu ul.mega-sub-menu ul.mega-sub-menu {
    display: flex;
    flex-direction: row;
	flex-wrap: wrap;
	padding: 10px;
	row-gap: 20px;
}
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-megamenu>ul.mega-sub-menu>li.mega-menu-row {
	width: 100%;
	padding: 30px 0px;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-megamenu > ul.mega-sub-menu .mega-block-title {
    color: #E9E9C8 !important;
    text-transform: none !important;
    font-size: 20px !important;
    padding-bottom: 20px !important;
    padding-top: 10px !important;
}

#mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
    box-shadow: none!important;
	background: none!important;
	width: 320px!important
}

/* Header Responsive Styles */
@media (max-width: 768px) {
    .top-navigation .img-fluid {
        max-width: 100%;
        margin: 0 auto;
    }

    .site-branding .d-flex {
        display: flex !important;
        width: 100%;
		height: 90%!important;
        flex-direction: column;
		margin-bottom: 30px;
		margin-top: 30px;
    }

    .img-fluid {
        max-width: 50%;
        margin: 0 auto;
    }

    .search-bar-wrapper {
        width: 100%!important;
    }

    .top-navigation .row {
        flex-direction: row;
        align-items: center;
    }

	#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
		color: var(--color-white) !important;
	}
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link{
	font-size: 20px!important;
}

@media only screen and (max-width: 991px) {
    #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
        color: var(--color7) !important;
    }
}

/*--------------------------------------------------------------
# 15. SEARCH DIALOG & MODAL
--------------------------------------------------------------*/

/* General Modal Styling */

@media (max-width: 768px) {
    .section-title {
        font-size: 24px;
        font-weight: 100;
        color: #3C3C3C;
        text-align-last: center;
        margin-top: 150px!important;
        margin-bottom: 30px!important;
    }
}
@media (max-width: 768px) {
.custom-modal-close-button {
    top: -5px!important;
    right: -20px!important;
    background: none;
    border: none;
    font-size: 40px;
    color: #3C3C3C;
    position: absolute;
	}}

.modal-body button:hover {
	background: none;
	color: var(--color-links)
}

.modal-body {
    background: var(--color-sidebar);
    margin: 17%;
    padding: 5% 8%;
}

.modal-header {
    border-bottom: none;
    padding: 10px 15px;
    text-align: center;
	display: block;
	margin-bottom: 50px;
}

.modal-title {
    font-size: 30px;
    font-weight: bold;
    color: var(--color-text);
	text-align-last: center;
}

.custom_header_search .search-submit i {
    color: var(--color-links);
    font-size: 30px;
}

input#s-1 {
    height: 60px;
}

.custom_header_search .search-submit {
	right: 5px!important;
    top: 5px!important;
}

.search-field {
	color: var(--color-text)!important;
	font-family: 'Atkinson Hyperlegible', sans-serif;
	border: 1px solid #E1E1E1 !important;
}

input[type=search]:hover {
	box-shadow: none!important;
	border: 1px solid #E1E1E1!important
}

input[type=search]:focus {
	box-shadow: none!important;
	border: 1px solid #E1E1E1!important
}

/* Close Button */
.custom-modal-close-button {
    top: 5px;
    right: 5px;
    background: none;
    border: none;
    font-size: 40px;
    color: #3C3C3C;
    position: absolute;
}

.modal-body button {
	padding: 5px 10px;
}

/* Popular Topics Section */
.popular-topics {
    margin-top: 30px;
}

.header_search {
	max-width: 780px;
}

.section-title {
    font-size: 24px;
    font-weight: 100;
    color: #3C3C3C;
    text-align-last: center;
	margin-top: 70px;
    margin-bottom: 30px;
}

@media (max-width: 768px) {
    .section-title {
        font-size: 24px;
        font-weight: 100;
        color: #3C3C3C;
        text-align-last: center;
        margin-top: 150px!important;
        margin-bottom: 30px!important;
    }
}

.screen-reader-text {
	color: var(--color-sidebar);
}

/* Topic Box Styling */
.custom-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-evenly;
    width: 100%;
    height: 130px!important;
    background-color: var(--color-links);
    text-decoration: none;
    padding: 15px;
	line-height: 1.2em;
    transition: background-color 0.3s ease;
}

.custom-box:hover {
	background: var(--color-text)
}

.custom-box i {
    font-size: 1.5em; 
    margin-bottom: 10px;
    color: var(--color5)!important;
}

.search-blocks a:hover {
	font-style: normal!important;
	text-decoration: none!important;
}


.custom-box span {
    font-size: 20px;
    font-weight: bold;
    color: var(--color7);
}
.boxtext:hover {
	font-style: normal!important;
	text-decoration: none!important;
}

.search-bar-wrapper {
    width: 50%;
	border: 1px solid #E1E1E1
}

.search-bar-wrapper a {
    background: var(--color7);
    color: transparent;
    border-right: none;
    padding-right: 0;
    border-right-width: 0;
    border-color: transparent;
}

.search-bar-wrapper a i {
    color: var(--color-links);
    transition: color 0.3s ease;
    font-size: 30px;
}

.search-bar-wrapper a i:hover {
    color: #004658;
}

.search-bar-wrapper {
    background: var(--color7);
    padding: 10px 10px;
}

#searchform .search-bar-wrapper {
	padding: 0px!important
}

#searchform .search-bar-wrapper button:hover {
	background: none;
	text-decoration: none;
}

i.fa-search.fa-solid:hover {
    text-decoration: none !important;
	color: var(--color1) !important;
}

button#searchsubmit {
    padding: 10px 20px;
}

.search .search-bar-wrapper input[type="text"] {
	padding: 6px 20px;
}

#header-search::placeholder {
  color: var(--color-text);
  opacity: 1; /* Ensures full opacity in Firefox */
}

button.submit.search-submit.btn.bg-white.py-0 {
padding: 10px 10px!important
}

.search-bar-wrapper .fa-search:before {
    vertical-align: middle;
}

.center-content {
    align-content: center;
    display: grid !important;
}

.center-content {
    align-content: center;
}

@media screen and (min-width: 1024px) and (max-width: 1024px) {
    .center-content {
        display: flex;
        align-content: center;
        display: grid !important;
    }
}

.search-bar input {
    width: 94%;
    border: none;
}

.search-bar {
    line-height: 0px;
    margin-bottom: 0px;
    display: flex;
}

.boxtext {
    text-align: center !important;
    font-size: 18px !important;
    color: var(--color-white) !important;
    font-weight: 600 !important;
    line-height: 1.2em !important;
	margin-bottom: 0px;
}

.custom-box .text-center {
    text-align: center;
}


.custom-box i {
    font-size: 1.5em; 
    margin-bottom: 10px;
    color: var(--color-icons)!important;
}

.custom-box span {
    font-size: 20px;
    font-weight: bold;
    color: var(--color7);
}

.custom-box .text-center {
    text-align: center;
}

.custom-box:hover {
    background-color: var(--color-text);
}

.custom-modal-close-button .close-text {
  font-size: 14px;
  font-weight: 100;
  margin-right: 4px;
}

.custom-modal-close-button {
	font-size:18px;
	font-weight: 200;
}

.custom-box i {
    transition: none;
}

.custom-box:hover i {
    color: inherit;
}

i.fa.fa-external-link.external-link {
    font-size: 1em;
    display: flex;
    width: 100%;
    float: right;
    text-align: right;
    justify-content: end;
	position: static;
}

/* External Link Icon */
.external-link {
    position: absolute;
/*     top: 8px; */
/*     right: 10px; */
/*     font-size: 12px; */
    color: var(--color-white);
}

@media (max-width: 768px) {
    .row {
        flex-direction: column;
        align-items: center;
    }
    
    .custom-box {
        width: 90%;
		border-radius: 0px!important
    }
}

.search-blocks {
    width: 800px;
    margin: 0 auto;
}

.search-blocks p {
	text-align-last: center;
}

/* Tablet-friendly (768px and up) */
@media (max-width: 1024px) and (min-width: 768px) {
    .custom-box i {
        margin-bottom: 8px; 
		font-size: 1.5em;
    }
}

/* Mobile-friendly (less than 768px) */
@media (max-width: 767px) {
    .custom-box i {
        margin-bottom: 6px; 
        text-align: center; 
        display: block!important; 
		font-size: 1.5em!important;
    }
}

/* Tablet-friendly (768px and up) */
@media (max-width: 1024px) and (min-width: 768px) {
    .boxtext {
        font-size: 14px !important; /* Slightly smaller font size for tablets */
    }
}

/* Mobile-friendly (less than 768px) */
@media (max-width: 767px) {
    .boxtext {
        font-size: 20px !important; 
        padding: 0px;
    }
}

@media screen and (max-width: 1024px) {
	.modal-body {
		margin: 7%;
		overflow-y: scroll;
        max-height: 90vh;
	}
}

@media (max-width: 600px) {
    .search-form {
        padding: 0;
    }
}


/* Mobile Responsiveness */
@media (max-width: 768px) {
    .search-blocks {
        width: 100%;
		flex-direction: column!important;
        align-items: center!important;
        text-align: center!important;
        text-align-last: center;
    }

    .input-group {
        flex-direction: row;
        width: 100%;
    }

    .search-field {
        font-size: 14px;
    }

    .row {
        flex-direction: column;
        align-items: center;
    }
    
    .custom-box {
        width: 100%;
        max-width: 100%;
        height: auto;
        padding: 15px;
    }
	
	.search-blocks .col-md-3.col-12.mb-3{
		padding: 0px!important;
		margin-bottom: 0px !important;
	}
	.modal-header {
    border-bottom: none;
    padding: 10px 15px;
    text-align: center;
    display: block;
    margin-bottom: 20px;
}
}

.site-branding .d-flex {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
}


/* Default desktop (4 columns) */
.search-blocks .col-md-3 {
  flex: 0 0 25%;
  max-width: 25%;
}

/* Force 2-column layout on mobile */
@media (max-width: 768px) {
  /* Reset Bootstrap's row and column behavior */
  .search-blocks {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: space-between;
    margin: 0 !important;
  }

  /* Override col-12 width */
  .search-blocks > div {
    flex: 0 0 48% !important;
    max-width: 48% !important;
    margin-bottom: 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Optional styling for the boxes */
  .search-blocks .custom-box {
    display: block;
    width: 100%;
    background-color: var(--color-links);
    color: var(--color-white);
    padding: 20px 10px;
    border-radius: 4px;
    text-align: center;
  }

  .search-blocks .custom-box i {
    font-size: 28px;
    margin-bottom: 8px;
  }

  .search-blocks .boxtext {
    font-size: 14px;
    line-height: 1.3;
  }
}


@media (max-width: 768px) {
.modal-body {
    background: var(--color-sidebar);
    margin: 3%;
    padding: 4%;
	}
}

/*--------------------------------------------------------------
# 16. GENERAL PAGE LAYOUT
--------------------------------------------------------------*/

.page .row>.sidebars {
	display: none;
}

.page .breadcrumbs {
	margin-bottom: 40px;
}

.page div#content {
	width: 100%
}

.page h3 {
	margin-top: 0px;
}


/*--------------------------------------------------------------
# 17. STATEWIDE CONTRACTS PAGE
--------------------------------------------------------------*/

.statewide-contract footer#colophon {
	display: none;
}


/* Contract Listing Page */
.statewide-contracts-page .mb-4 {
    margin-bottom: 0rem !important;
}

.statewide-contracts-page .contracts-filter-form {
  margin-top: 40px;
/*   border-bottom: 1px solid #999; */
  padding-bottom: 15px;
	margin-bottom: 0px!important;
}
button#clear-filters {
    font-size: 18px;
    padding: 10px !important;
    line-height: 1em;
    margin-bottom: 40px;
    width: 130px !important;
}

.statewide-contracts-page .contracts-filter-form input#search, select#service-category, select#contract-status, select#posts_per_page {
	border-radius: 0px;
	border: 1px solid var(--color-text)
}

.entries-select-wrapper {
	display: flex;
	justify-content: center;
    align-items: center;
	gap: 10px;
}

.contract-card .card {
  border-radius: 0px;
  background: var(--color-white);
  margin-bottom: 0px;
}

.contract-card p {
	margin-bottom: 0px;
}

.contract-card h2.h4.mb-2 {
	margin-top: 10px!important;
	line-height: 5px;
	margin-bottom: 0px!important
}

.contract-card img{
	margin-bottom: 0px!important;
	display: none;
}

.contract-card .description {
	color: var(--color-text);
	font-size: 1em
}

.contract-url {
  font-style: italic;
  color: var(--color-text);
  font-size: 0.9rem;
  margin-bottom: 10px!important;
  word-break: break-all;
}

.contract-title-link {
  color: var(--color-links);
	font-size: 16px;
	font-weight:100;
  text-decoration: none;
  transition: color 0.2s ease;
}

.contract-title-link:hover,
.contract-title-link:focus {
  color: var(--color-links);
  text-decoration: underline;
}

.contract-logo {
  display: block;
  max-height: 70px;
  object-fit: contain;
}
@media (max-width: 767px) {
  .contracts-filter-form .row > * {
    margin-bottom: 15px;
  }
}

.sidebar-wrap {
	 background: var(--color-sidebar)!important;
	border-radius: 4px;
	padding: 30px 30px;
	margin-bottom: 100px;
}

.sidebar-wrap .btn {
	padding: 7px 50px!important;
	background: var(--color-links)!important;
	color: var(--color-white)!important;
/* 	width: 300px!important; */
	font-size: 20px;
	 display: inline-block;
}
.sidebar-wrap .btn:hover {
	background: var(--color-text)!important
}

.contracts-pagination {
  text-align: center;
  margin-top: 40px;
  color: #333;
  display: flex;
  justify-content: space-between;
  margin-bottom: 100px;
}

.contracts-pagination .pagination-info {
  font-size: 0.95rem;
  color: var(--color-text);
  margin-bottom: 10px;
}

.contracts-pagination ul {
  display: inline-flex;
  gap: 5px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.contracts-pagination ul li {
  display: inline-block;
}

.contracts-pagination a,
.contracts-pagination span {
  color: var(--color-links);
  padding: 5px 10px;
	text-decoration: underline!important;
  text-decoration: none;
  border-radius: 4px;
  transition: background 0.2s ease, color 0.2s ease;
}

.contracts-pagination a:hover {
  color: var(--color-text);
}

.contracts-pagination .current {
  color: var(--color-text);
	text-decoration: none!important
}

.sidebar-box-links h3 {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-text);
  padding-bottom: 8px;
  margin-bottom: 15px;
}

.sidebar-box-links ul li a {
  position: relative;
  padding-left: 22px;
  display: inline-block;
  color: var(--color-links);
  text-decoration: none;
	line-height: 32px;
}

.sidebar-box-links ul li a::before {
  font-family: "Font Awesome 6 Free";   /* must match loaded version */
  font-weight: 900;                      /* solid icons */
  position: absolute;
  left: 0;
  top: 8px;
  transition: color 0.2s ease;
  line-height: 1;
}

/* Internal link icon */
.sidebar-box-links ul li a.internal-link::before {
  content: "\f0c1"; /* fa-link */
  color: var(--color-links);
}

/* External link icon */
.sidebar-box-links ul li a.external-link::before {
  content: "\f35d"; /* fa-up-right-from-square */
  color: var(--color-links);
}

.sidebar-box-links ul li a:hover {
  text-decoration: underline;
}



/* ===== Section Title ===== */
.sidebar-documents h3 {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-text);
  padding-bottom: 8px;
  margin-bottom: 15px;
}

/* ===== Document List ===== */
.sidebar-documents .document-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ===== Each Document Item ===== */
.sidebar-documents .document-list li {
  padding: 20px 0;
  border-bottom: 1px solid var(--color-text);
}

/* ===== Document Title Link ===== */
.sidebar-documents .document-list li a {
  color: var(--color-links);
	font-size: 16px;
  font-weight: 100;
  text-decoration: none;
  display: block;
  margin-bottom: 4px;
  line-height: 1.4;
}

.sidebar-documents .document-list li a:hover {
  text-decoration: underline;
	font-style: normal;
}

/* ===== Document URL Line ===== */
.sidebar-documents .doc-url {
  color: var(--color-text);
  font-size: 0.85rem;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 10px; /* space between icon and URL text */
  word-break: break-all;
	line-height: 1.25;
}

/* ===== File Type Icon Styling ===== */
.sidebar-documents .doc-url i {
  font-size: 20px;
  flex-shrink: 0;
  margin-top: 1px;
}

/* ===== Icon Colors by File Type ===== */
.sidebar-documents .doc-url.pdf i {
  color: #e74c3c; /* Red for PDF */
}

.sidebar-documents .doc-url.doc i {
  color: #2b579a; /* Blue for Word */
}

.sidebar-documents .doc-url.xls i {
  color: #217346; /* Green for Excel */
}

/* ===== Responsive Adjustment ===== */
@media (max-width: 768px) {
  .sidebar-documents {
    padding: 15px;
  }
}


/* ===== Section Title ===== */
.sidebar-webpages h3 {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-text);
  padding-bottom: 8px;
  margin-bottom: 15px;
}

/* ===== Web Page List ===== */
.sidebar-webpages .webpage-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ===== Individual Web Page Row ===== */
.sidebar-webpages .webpage-list li {
  padding: 10px 0;
  border-bottom: 1px solid var(--color-text);
}

/* ===== Web Page Title Link ===== */
.sidebar-webpages .webpage-list li a {
  color: var(--color-links);
  font-weight: 100;
  text-decoration: none;
  display: block;
  margin-bottom: 4px;
  line-height: 1.4;
}

.sidebar-webpages .webpage-list li a:hover {
  text-decoration: underline;
	font-style: normal
}

/* ===== Web Page URL Line ===== */
.sidebar-webpages .page-url {
  color: var(--color-text);
  font-size: 0.85rem;
  margin: 0;
  word-break: break-all;
}

/* ===== Responsive Adjustment ===== */
@media (max-width: 768px) {
  .sidebar-webpages {
    padding: 15px;
  }
}


/* ===== Section Title ===== */
.sidebar-faqs h3 {
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--color-text);
  border-bottom: 1px solid var(--color-text);
  padding-bottom: 8px;
  margin-bottom: 15px;
}

/* ===== FAQ List ===== */
.sidebar-faqs .faq-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ===== Individual FAQ Item ===== */
.sidebar-faqs .faq-list li {
  padding: 10px 0;
  border-bottom: 1px solid var(--color-text);
}

/* ===== FAQ Link Styling ===== */
.sidebar-faqs .faq-list li a {
  color: var(--color-links);
  font-weight: 400;
  text-decoration: none;
  display: block;
  line-height: 1.5;
}

.sidebar-faqs .faq-list li a:hover {
  text-decoration: underline;
  color: var(--color-links);
	font-style: normal;
}

/* ===== Responsive Adjustments ===== */
@media (max-width: 768px) {
  .sidebar-faqs {
    padding: 15px;
  }
}

.contracts-overview .btn.view-guide {
  display: inline-block;
  background-color: var(--color-links);
  color: var(--color-white);
  font-weight: 700;
  padding: 7px 50px;
  border-radius: 4px;
	font-size: 20px;
  text-decoration: none;
  transition: background-color 0.2s ease;
	margin-top: 30px;
}

.contracts-overview h2 {
  font-size: 1.25em!important;
  font-weight: 700;
  color: var(--color-links);
  margin-bottom: 10px;
}

.contracts-overview p {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1rem;
}

.contracts-overview .btn.view-guide:hover {
  background-color: var(--color-text);
  color: var(--color-white)!important;
	font-style: normal;
}

/*--------------------------------------------------------------
# 17A. SINGLE CONTRACT PAGE
--------------------------------------------------------------*/

.elementor-18303 .elementor-element.elementor-element-3b55167 > .elementor-container {
    max-width: 1320px;
	gap: 50px;
}

.elementor-18303 .elementor-element.elementor-element-23efdfa > .elementor-element-populated {
    padding: 0px 0px 0px 0px;
    gap: 5px;
}


/*--------------------------------------------------------------
# 18. BREADCRUMBS
--------------------------------------------------------------*/

.breadcrumb {
    margin-top:0px;
	margin-bottom: 0px;
}

.single-statewide-contract .breadcrumbs {
    font-size: 16px;
    color: var(--color-text);
	margin-top: 10px!important
}

.single-statewide-contract  .breadcrumbs a {
    color: var(--color-links);
    text-decoration: none;
}

.single-statewide-contract  .breadcrumbs a:hover {
    text-decoration: underline;
}

.single-statewide-contract  .breadcrumbs span {
    color: rgb(33 37 41 / 75%);
    font-weight: 500;
}

.single-statewide-contract h2{
	font-size: 18px!important
}


/*--------------------------------------------------------------
# 19. SEARCH BLOCKS RESPONSIVE GRID
--------------------------------------------------------------*/

/* Default desktop (Bootstrap behavior retained) */
@media (min-width: 769px) {
  .search-blocks {
    display: flex;
    flex-wrap: wrap;
  }
}

/* Mobile/tablet grid view */
@media (max-width: 768px) {
  .search-blocks {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
    justify-items: center;
  }

  /* Reset Bootstrap column spacing */
  .search-blocks > div {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Box styling */
  .search-blocks .custom-box {
    width: 100%;
    aspect-ratio: 1 / 1; /* perfect square */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    background-color: var(--color-links);
    color: var(--color-white);
    border-radius: 6px;
    text-decoration: none;
    transition: transform 0.2s ease-in-out, background 0.3s;
  }

  /* Hover effect */
  .search-blocks .custom-box:hover {
    background-color: var(--color-text);
    transform: translateY(-3px);
  }

  /* Icons */
  .search-blocks .custom-box i {
    font-size: 28px;
    margin-bottom: 8px;
    color: var(--color-icons); /* softer icon tone */
  }

  /* Text */
  .search-blocks .boxtext {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--color-white);
  }
}

@media (max-width: 768px) {
    .search-blocks > div {
        flex: 0 0 48% !important;
        max-width: 100% !important;
        margin-bottom: 10px !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
}

/*--------------------------------------------------------------
# 20. 404 ERROR PAGE
--------------------------------------------------------------*/

.error-404.not-found {
	background: url(/wp-content/uploads/404_bg.jpg) no-repeat center center;
	background-size: cover;
	color: var(--color-white);
}

.error-404.not-found h1 {
	color: var(--color-white);
	font-size: 150px!important;
}

.error-404.not-found h2 {
    margin-top: 0 !important;
    color: var(--color-misc);
	margin-bottom: 40px;
}

.error-404.not-found p {
    margin: 20px 0;
    color: var(--color-white);
}

.error-404.not-found a {
	color: var(--color-icons)!important
}

.card-body path {
	fill: var(--color-icons)
}


/*--------------------------------------------------------------
# 21. FAQ PAGE
--------------------------------------------------------------*/

.page-template-page-faq-php .elementor-accordion-item {
  border-bottom: 1px solid #ddd;
  margin-bottom: 0px;
}
.page-template-page-faq-php .elementor-tab-title {
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: 700;
	color: var(--color-links)!important;
	font-size:20px;
	text-decoration: none!important;
  padding: 15px 0px;
/*   background: #f4f4f4; */
	flex-direction: row-reverse;
}

.page-template-page-faq-php a.elementor-accordion-title {
	color: var(--color-links);
	text-decoration: none!important
}

.page-template-page-faq-php a.elementor-accordion-title:hover {
	font-style: normal!important
}

.page-template-page-faq-php .elementor-tab-content {
  display: none;
  padding: 15px;
}
.page-template-page-faq-php .elementor-tab-content.active {
  display: block;
}

.faq-page {
	margin-bottom: 100px!important;}

.faq-category-section h2{
	margin-bottom: 0px;
}


/*--------------------------------------------------------------
# 22. ACCORDION STYLES (GENERAL)
--------------------------------------------------------------*/

/* Accordion Styles */
.elementor-accordion .elementor-accordion-item {
  border-bottom: 1px solid #ddd;
}

.elementor-accordion .elementor-tab-title {
  cursor: pointer;
  padding: 10px 0;
  font-weight: 700;
  color: var(--color-links)!important;
  display: flex;
	font-size: 20px;
  justify-content: space-between;
  align-items: center;
	flex-direction: row-reverse;
}

.elementor-accordion .elementor-tab-content {
  display: none;
  padding: 10px 0;
}

a.elementor-accordion-title {
    color: var(--color-links);
    text-decoration: none !important;
	font-style: normal!important;
}

.page-id-710 a.elementor-accordion-title {
    color: var(--color-links);
    text-decoration: none !important;
}

.elementor-accordion .elementor-accordion-item.active .elementor-tab-content {
  display: block;
}

/* Active FAQ state */
.elementor-accordion .elementor-accordion-item.active .elementor-tab-title {
  color: var(--color-links);
}

.e-n-accordion-item-title-text {
	color: var(--color-links)!important;
}

.e-n-accordion-item {
	border-bottom: 1px solid #E1E1E1!important
}

.e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-opened::before {
    content: "\f0d8";
    color: var(--color-links);
    margin-top: -7px;
    font-size: 18px;
}

.e-n-accordion-item-title-icon .e-closed::before {
    content: "\f0d7";
    margin-top: -7px;
    color: var(--color-links);
    font-size: 18px;
}

/* Optional: Rotate caret icon when open */
.elementor-accordion .elementor-accordion-item.active .elementor-accordion-icon i {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}


/*--------------------------------------------------------------
# 23. EVENTS CALENDAR (ARCHIVE)
--------------------------------------------------------------*/

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    margin: 50px auto;
    padding: 0;
}

.tribe-common-g-row {
	margin-bottom: 50px!important;
}

.tribe-common-g-row a {
	font-size: 30px!important;
	line-height: 1.25em!important;
}

/* EVENTS END */

/* Accordion Styles */
.elementor-accordion .elementor-accordion-item {
  border-bottom: 1px solid #ddd;
}

.elementor-accordion .elementor-tab-title {
  cursor: pointer;
  padding: 10px 0;
  font-weight: 700;
  color: var(--color-links)!important;
  display: flex;
	font-size: 20px;
  justify-content: space-between;
  align-items: center;
	flex-direction: row-reverse;
}

.elementor-accordion .elementor-tab-content {
  display: none;
  padding: 10px 0;
}

a.elementor-accordion-title {
    color: var(--color-links);
    text-decoration: none !important;
	font-style: normal!important;
}

.page-id-710 a.elementor-accordion-title {
    color: var(--color-links);
    text-decoration: none !important;
}

.elementor-accordion .elementor-accordion-item.active .elementor-tab-content {
  display: block;
}

/* Active FAQ state */
.elementor-accordion .elementor-accordion-item.active .elementor-tab-title {
  color: var(--color-links);
}

.e-n-accordion-item-title-text {
	color: var(--color-links)!important;
}

.e-n-accordion-item {
	border-bottom: 1px solid #E1E1E1!important
}

.e-n-accordion-item[open] .e-n-accordion-item-title-icon .e-opened::before {
    content: "\f0d8";
    color: var(--color-links);
    margin-top: -7px;
    font-size: 18px;
}

.e-n-accordion-item-title-icon .e-closed::before {
    content: "\f0d7";
    margin-top: -7px;
    color: var(--color-links);
    font-size: 18px;
}

/* Optional: Rotate caret icon when open */
.elementor-accordion .elementor-accordion-item.active .elementor-accordion-icon i {
  transform: rotate(180deg);
  transition: transform 0.3s ease;
}
/* Active FAQ state ENDS */

/* BLOG  */
.announcements-grid h2.elementor-heading-title.elementor-size-default {
    font-size: 19px !important;
	margin-top 0px!important;
	margin-bottom: 20px!important
}

.announcements-grid a.elementor-button.elementor-button-link.elementor-size-sm {
	margin-top: 30px!important;
	font-size: 20px!important;
}

.announcements-grid ul.elementor-inline-items.elementor-icon-list-items.elementor-post-info {
	margin-top: 20px;
	margin-bottom: 10px;
}

/* BLOG ENDS */

/* Tablepress */
.tablepress {
    --head-active-bg-color: #5F2C15!important;
    --head-active-text-color: var(--head-text-color);
    --head-sort-arrow-color: var(--head-active-text-color);
	--even-bg-color: #E9E9C8
}



#tablepress-15 thead a {
    background-color: #fffffe;
    color: #000000;
}

.tablepress>:where(thead,tfoot)>tr>* {
	background-color: var(--color-misc);

}

.tablepress>:where(tbody.row-striping)>:nth-child(even of :where(:not(.child,.dtrg-group)))>* {
/* 	background: #E9E9C8!important; */
	color: var(--color-text)!important
}

.tablepress>:where(tbody.row-striping)>:nth-child(odd of :where(:not(.child,.dtrg-group)))>*  {
	color: var(--color-text)!important
}
/* Tablepress Ends */


/* Single Page Post */


.single-post .site-main .img-fluid {
    width: -webkit-fill-available;
    width: -moz-available;
    aspect-ratio: 6 / 4;
    border-radius: 0.375em;
    object-fit: cover;
    object-position: center;
/*     min-height: 300px !important; */
    width: 100% !important;
}

.post-thumbnail.single-post-thumbnail {
	position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    height: 410px;
    object-fit: contain;
}


@media (max-width: 768px) {
    .related-articles-grid .img-fluid {
        max-width: 100%;
        margin: 0 auto;
    }
}

@media (max-width: 768px) {
    .related-articles-grid .blog-post {
        padding: 0px!important;
    }
	
	.related-articles-bottom {
		padding:  1rem;
	}
}

h2.faq-category-title {
    margin-bottom: 20px;
}

.related-articles-grid p { overflow: hidden!important; 
width:100%!important; 
display: -webkit-box!important; 
-webkit-line-clamp: 6!important; 
-webkit-box-orient: vertical!important;  }

.related-articles-bottom .entry-title a {
    text-decoration: none;
    color: var(--color8);
    font-weight: bold;
    font-size: 18px;
}

.single-post li.breadcrumb-item.active {
	margin-bottom: 50px
}

.single-post .post-title-wrap h1 {
	margin-bottom: 0px;
}

/* EVENTS STARTS  */

.tribe-common--breakpoint-medium.tribe-common .tribe-common-b2 {
    font-size: var(--tec-font-size-2);
    line-height: var(--tec-line-height-3);
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .post-type-archive .tribe-common .tribe-common-g-row {
        display: flex;
        flex-wrap: wrap;
        gap: 20px;
        flex-direction: column;
        align-content: center;
        justify-content: center;
        align-items: center;
    }
}
@media (max-width: 767px) {
    .related-articles-grid img {
        width: 100%!important
    }
}




@media (max-width: 767px) {
    .tribe-events .tribe-events-calendar-list__event-date-tag {
    flex: none;
    position: relative;
    width: 150px !important;
    height: 150px !important;
}
}

@media(max-width: 767px) {
	.tribe-common .tribe-common-h5 {
		line-height: 1em;
	}
	.tribe-events .tribe-events-calendar-list__event-title{
		text-align: center;
		font-size: 30px!important;
		line-height: 1em!important;
		margin-bottom: 10px;
	}
	.tribe-events-calendar-list__event-datetime-wrapper.tribe-common-b2 {
    text-align: center;
		margin-bottom: 5px;
		
}
}

@media (max-width: 767px) {
 address.tribe-events-calendar-list__event-venue.tribe-common-b2 {
    text-align: center;
	 margin-bottom: 10px !important;
}
	.tribe-events .tribe-events-c-events-bar__search-form {
    width: 100%;
    padding: 10px!important;
}
	.tribe-events-calendar-list__month-separator h3{
		margin: 0px!important;
	}
}



@media (max-width: 768px) {
  .tribe-events-calendar-list__event.tribe-common-g-row {
    display: flex;
    flex-direction: column-reverse; /* reverses image/details order */
  }

  .tribe-events-calendar-list__event-featured-image-wrapper {
    order: 2;
  }

  .tribe-events-calendar-list__event-details {
    order: 1;
  }
	header.tribe-events-header {
    padding: 20px 40px !important;
}
}

@media (max-width: 767px) {
    .tribe-events .tribe-events-calendar-list__month-separator {
        align-items: center;
        display: flex;
        margin-top: 0;
        padding: 0px 10px;
    }
	.tribe-common-g-row {
    margin-bottom: 30px !important;
		
}
}


@media (max-width: 767px) {
    nav.tribe-events-calendar-list-nav.tribe-events-c-nav {
    padding: 10px 20px;
    /* margin-top: 10px; */
}
	.tribe-events-c-subscribe-dropdown {
    padding: 0px 20px !important;
}
}

@media (max-width: 767px) {
a.tribe-events-calendar-list__event-title-link.tribe-common-anchor-thin {
    line-height: 1em !important;
    font-size: 25px !important;
	margin-bottom: 10px!important;
}

}

.tribe-events-calendar-list__event-date-tag {
    background: var(--color-misc);
    border-radius: 5px;
}

span.tribe-events-calendar-list__event-date-tag-weekday {
	line-height: 1.2em!important
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-h4--min-medium {
	line-height: 1.2em!important
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag {
    height: 160px;
    width: 160px;
}


/*--------------------------------------------------------------
# 24. BLOG & ANNOUNCEMENTS
--------------------------------------------------------------*/

.announcements-grid h2.elementor-heading-title.elementor-size-default {
    font-size: 19px !important;
	margin-top: 0px!important;
	margin-bottom: 20px!important
}

.announcements-grid a.elementor-button.elementor-button-link.elementor-size-sm {
	margin-top: 30px!important;
	font-size: 20px!important;
}

.announcements-grid ul.elementor-inline-items.elementor-icon-list-items.elementor-post-info {
	margin-top: 20px;
	margin-bottom: 10px;
}


/*--------------------------------------------------------------
# 25. SINGLE BLOG POST
--------------------------------------------------------------*/

.single-post .site-main .img-fluid {
    width: -webkit-fill-available;
    width: -moz-available;
    aspect-ratio: 6 / 4;
    border-radius: 0.375em;
    object-fit: cover;
    object-position: center;
/*     min-height: 300px !important; */
    width: 100% !important;
}

.post-thumbnail.single-post-thumbnail {
	position: relative;
    width: 100%;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    height: 410px;
    object-fit: contain;
}

.related-articles-grid p {
    overflow: hidden!important;
    width:100%!important;
    display: -webkit-box!important;
    -webkit-line-clamp: 6!important;
    -webkit-box-orient: vertical!important;
}

.related-articles-bottom .entry-title a {
    text-decoration: none;
    color: var(--color8);
    font-weight: bold;
    font-size: 18px;
}

.single-post li.breadcrumb-item.active {
	margin-bottom: 50px
}

.single-post .post-title-wrap h1 {
	margin-bottom: 0px;
}


/*--------------------------------------------------------------
# 26. TABLEPRESS TABLES
--------------------------------------------------------------*/

.tablepress {
    --head-active-bg-color: #5F2C15!important;
    --head-active-text-color: var(--head-text-color);
    --head-sort-arrow-color: var(--head-active-text-color);
}

.tablepress>:where(thead,tfoot)>tr>* {
	background-color: var(--color-misc);
}

.tablepress>:where(tbody.row-striping)>:nth-child(even of :where(:not(.child,.dtrg-group)))>* {
	color: var(--color-text)!important
}

.tablepress>:where(tbody.row-striping)>:nth-child(odd of :where(:not(.child,.dtrg-group)))>*  {
	color: var(--color-text)!important
}




/*--------------------------------------------------------------
# 26. ELEMENTO BLOCKS 
--------------------------------------------------------------*/


/* CTA Section Left Icon */

.cta-section-elementor-left-icon h4{
	color: #fff!important;
	font-size: 1.87em!important;
	margin-bottom: 10px!important
}

.cta-section-elementor-left-icon p {
	color: #fff!important;
	font-size: 1.5em!important;
	margin-bottom: 30px!important
}

.cta-section-elementor-left-icon .elementor-element{
	background: none!important
}

.cta-section-elementor-left-icon a.elementor-button.elementor-button-link.elementor-size-sm {
	padding: 9px 50px!important;
	background: var(--color-white)!important;
	font-weight: 700;
	font-size: 20px;
	color: var(--color-links)!important;
}


.cta-section-elementor-left-icon a.elementor-button.elementor-button-link.elementor-size-sm:hover {
	padding: 9px 50px!important;
	background: var(--color-text)!important;
	font-weight: 700;
	font-size: 20px;
	color: #fff !important;
}


.cta-section-elementor-left-icon .elementor-element{
	gap: 0px!important
}
@media (max-width: 767px) {
  .cta-section-elementor-left-icon {
    padding: 40px !important;
  }
}

@media (max-width: 767px) {
  .cta-section-elementor-left-icon .elementor-element {
    gap: 20px !important;
  }
}

/* CTA section left icon end */


/* cta-top-icon-vertical */

.cta-top-icon-vertical {
	background-color: #30758D!important
}

.cta-top-icon-vertical h1{
	font-size: 1.87em!important
}

.cta-top-icon-vertical h5{
	margin-bottom: 50px!important;
	line-height: 1.25em!important
}

.cta-top-icon-vertical .elementor-button {
	padding: 15px!important;
	background: #555555!important
}

.cta-top-icon-vertical .elementor-button:hover {
	padding: 15px!important;
	background: #fff!important;
	color: #555!important
}

.cta-top-icon-vertical .cta-top-icon-vertical .elementor-widget-button .elementor-button:hover{
	background: #555!important;
	color: #fff!important
}
.cta-top-icon-vertical .elementor-button:hover .elementor-button-text {
  color: #555 !important;
}
@media (max-width: 767px) {
  .cta-top-icon-vertical h1, h5 {
   padding: 0px 40px!important;
  }
}




/* Attention cta */
@media (max-width: 767px) {
  .attention-cta  {
   padding: 40px!important;
  }
	
	.attention-cta p{
		text-align: center;
	}
	
	i.fa-sharp.fa-solid.fa-triangle-exclamation {
            margin: 20px !important;
}
}

.attention-cta p {
	color: #fff !important;
    font-size: 24px!important;
    display: flex;
    align-items: center;
    margin: 0;
}

@media (max-width: 767px) {
  .attention-cta p {
    color: #fff !important;
    font-size: 24px !important;
    display: flex;
    align-items: center;
    margin: 0;
    flex-direction: column;
    align-content: center;
    justify-content: center;
  }
	span.elementor-button-text {
		font-size: 20px;
	}
}

.attention-cta a.elementor-button.elementor-button-link.elementor-size-sm  {
	background: #fff!important;
	color: #555!important
}

.attention-cta a.elementor-button.elementor-button-link.elementor-size-sm:hover  {
	background: #30758D!important;
	color: #fff!important
}

/* Random */

.page-id-19066 h2.elementor-heading-title.elementor-size-default {
    margin-top: 50px !important;
}

@media (max-width: 390px) {
.wp-block-buttons.home-page-grp-buttons.is-horizontal.is-content-justification-left.is-nowrap.is-layout-flex.wp-container-core-buttons-is-layout-f62218a8.wp-block-buttons-is-layout-flex {
    display: grid;
}
}

.pagination-links ul {
  display: inline-flex;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 6px;
}


/* MOBILE HOME TOP */

@media (max-width: 768px) {
  #masthead .header-background {
    background: url('/wp-content/uploads/mobileheader.jpg') center/cover no-repeat!important;
    flex-direction: column;
    justify-content: flex-end;
    padding: 20px;
	  height: 70vh!important
  }
	    #masthead .logo img {
        min-width: 70%;
        display: block;
    }
	.site-branding .d-flex {
    display: flex !important;
    justify-content: space-between;
    width: 100%;
    height: 80%;
}
	.modal-body.position-relative {
    overflow-x: hidden;
		
}
}
@media (max-width: 768px) {
button.close.position-absolute.custom-modal-close-button {
    position: absolute;
    left: 290px;
	}
}

/* Four Boxes */

.four-boxes .elementor-widget-heading .elementor-heading-title{
	display: flex;
    color: #fff;
    line-height: 1.52em;
    /* height: 20px; */
    /* min-width: 50px; */
    padding: 15px;
    justify-content: center;
    align-items: center;
}

a.nolinkstyle h5.elementor-heading-title.elementor-size-default {
  transition: all 0.3s ease;
	background: #30758D
}

a.nolinkstyle:hover h5.elementor-heading-title.elementor-size-default {
  background-color: #555;
  color: #fff;
	text-decoration: none!important
}

.four-boxes .elementor-element {
	justify-content: center;
}

.four-boxes .nolinkstyle {
    font-style: unset;
	gap: 0
}

.global-side-tabs .e-n-tabs {
  gap: 50px !important;
}

.global-side-tabs .e-n-tabs-content {
  padding-top: 0px !important;
}

a.stretched-link {
    color: #fff !important;
	
}

@media (max-width: 767px) {
  h5.elementor-heading-title.elementor-size-default {
    width: 100%;
    justify-content: center;
    align-items: center;
	  height: 50px;
  }
	.four-boxes .nolinkstyle {
    width: 100%
}
}

a.stretched-link:hover {
	font-style: normal!important
}

/* HOME END */


/*--------------------------------------------------------------
# 1. Featured Services Long
--------------------------------------------------------------*/

.featured-services-long .e-con-inner {
	gap:20px!important;
}

.featured-services-long .featured-services-long-card {
    background-color: #E8E7C2; /* light beige background */
    padding: 60px 30px!important;
/*     max-width: 320px; */
    margin: 0 auto;
	gap: 20px;
	display: flex;
    text-align: center;
}

.featured-services-long .featured-services-long-card img,
.featured-services-long .featured-services-long-card svg {
    width: 60px;
    height: auto;
    margin-bottom: 25px;
}

.featured-services-long .featured-services-long-card h3 {
    font-size: 40px!important;
    font-weight: 700;
    color: #3C3C3C;
    margin-bottom: 20px;
}

.featured-services-long .featured-services-long-card p {
    font-size: 16px;
    line-height: 1.6;
    color: #3C3C3C;
    margin-bottom: 35px;
}

.featured-services-long .featured-services-long-card .cta-button {
    display: inline-block;
    background-color: #30758D;
    color: #fff;
    padding: 12px 30px;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
	font-size: 20px!important;
}
/*--------------------------------------------------------------
# 1. Featured Services Long End
--------------------------------------------------------------*/



/* GRID WRAPPER */
.icon-box-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 25px;
	 width: 820px!important;
    max-width: 100%;
    margin-left: auto !important;
    margin-right: auto !important;
	justify-content: center;
	align-items: center
}

/* CARD STYLING */
.icon-box-grid .icon-box-card {
    background-color: #30758D; /* teal background */
    padding: 20px 30px!important;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.icon-box-grid .elementor-icon-box-wrapper {
    gap: 0px !important;
}

/* ICON */
.icon-box-grid .icon-box-card img,
.icon-box-grid .icon-box-card svg {
    width: 30px;
    height: auto;
    margin-bottom: 18px;
}

.icon-box-grid .icon-box-card svg path {
    fill: #E9E9C8;
}

/* TITLE */
.icon-box-grid .icon-box-card h3 {
    color: #fff; /* light beige text */
    font-size: 20px!important;
    font-weight: 700;
    margin: 0;
    line-height: 1.3;
}

/* OPTIONAL - On Hover */
.icon-box-grid .icon-box-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 6px 18px rgba(0,0,0,0.15);
	color: #fff;
}

.icon-box-grid .icon-box-card:hover h3.elementor-icon-box-title span {
    color: #fff !important;
}

@media(max-width: 767px) {
    .tribe-common .tribe-common-h5 {
        line-height: 1em;
    }
    .tribe-events .tribe-events-calendar-list__event-title{
        text-align: center;
        font-size: 30px!important;
        line-height: 1em!important;
        margin-bottom: 10px!important;
        margin-top: 30px !important;
    }
    .tribe-events-calendar-latest-past__event-header {
    text-align: center;
        margin-bottom: 5px;
        
}

}

	.tribe-events .tribe-events-calendar-latest-past__event-date-tag-datetime {
    display: flex;
    height: 100%;
    text-align: center;
    align-content: center;
    justify-content: center;
    flex-direction: column;
}

.tribe-events-calendar-latest-past__event-date-tag.tribe-common-g-col {
    height: 150px;
    width: 150px;
    background: #8D4D30;
    border-radius: 4px;
    color: #fff;
}

.tribe-events-calendar-latest-past__event-date-tag-month {
    font-weight: 400;
    font-size: 1.5rem;
    text-transform: uppercase;
}

span.tribe-events-calendar-latest-past__event-date-tag-daynum.tribe-common-h5.tribe-common-h4--min-medium {
	font-size: 3.12rem;
    font-weight: 900;
}
.tribe-events-calendar-latest-past__event-date-tag-year {
	font-size: 1rem;
    opacity: 0.9;
}

.tribe-events .tribe-events-calendar-list__event-title-link:visited {
    color: #555;
}

.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
	gap: 5px;
}

.tribe-events-calendar-list__event-description p {
    color: #555 !important;
    font-size: 16px !important;
}

.tribe-events-calendar-list__event-datetime {
    font-size: 24px !important;
}

h1.events-template-title {
	font-size: 3.12em;
	font-weight: 700!important;
}

ol.breadcrumb {
    margin-bottom: 50px;
}

ol.breadcrumb a{
	color: #3270B9!important;
	text-decoration: underline;
}

.tribe-common--breakpoint-medium.tribe-common .tribe-common-l-container {
    padding-left: 0px !important;
    padding-right: 0px !important;
    padding-top: 0px;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-latest-past__event-row {
    margin: 30px auto;
}


.tribe-events .tribe-events-calendar-latest-past__event-date-tag-month {
	color: #fff;
	font-size: 1.5em !important;
    line-height: 1em;
}

span.tribe-events-calendar-latest-past__event-date-tag-daynum.tribe-common-h5.tribe-common-h4--min-medium {
    font-size: 3.12rem;
    font-weight: 900;
	color: #fff;
}

.tribe-events .tribe-events-calendar-latest-past__event-date-tag-year {
	color: #fff;
	font-size: 16px;
}

/* TABLE FOR CURREN DOP PAGE */

/* ==========================================
   COLUMN BORDERS (vertical lines)
========================================== */
.sheet-table th,
.sheet-table td {
    border-right: 1px solid #D8CFC9; /* light brown/gray like screenshot */
}

.sheet-table th:last-child,
.sheet-table td:last-child {
    border-right: none; /* no extra border on edge */
}

/* ================================
   TABLE BASE STYLES
================================ */
.sheet-table {
    width: 100%;
    border-collapse: collapse;
    font-family: "Atkinson Hyperlegible", sans-serif;
    font-size: 16px;
    color: #081E33; /* Dark text from screenshot */
}

/* Header row */
.sheet-table .sheet-th2-row th {
    background-color: #8A4A32; /* Brown header bar from screenshot */
    color: #fff;
    padding: 14px 12px;
    font-weight: 600;
    text-align: left;
    border-right: 1px solid rgba(255,255,255,0.2);
}
.sheet-table .sheet-th2-row th:last-child {
    border-right: none;
}

/* PROJECT COLUMN — full text + bold */
.sheet-table td:nth-child(1),
.sheet-table th:nth-child(1) {
    width: 18%;
    max-width: 260px;
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
    font-weight: 700;  /* bold */
}

/* ==========================================
   DESCRIPTION COLUMN — shorter, full text
========================================== */
.sheet-table td:nth-child(2),
.sheet-table th:nth-child(2) {
    width: 26%;
    max-width: 300px; 
    white-space: normal;
    overflow: visible;
    text-overflow: unset;
    word-break: break-word;
}



/* AGENCY column — small column */
.sheet-table td:nth-child(8),
.sheet-table th:nth-child(8) {
    width: 8%;
    max-width: 100px;
	white-space: normal!important;
    word-wrap: break-word!important;
    overflow-wrap: break-word!important;

}

/* ================================
   ROW STYLING
================================ */
.sheet-table tr:nth-child(odd),
#procurementTable tr:nth-child(odd) {
    background: #F9F9F9; /* Very light beige similar to screenshot alternating rows */
}
.sheet-table tr:nth-child(even),
#procurementTable tr:nth-child(even) {
    background: #e9f3f9;
}

.sheet-table td {
    padding: 14px 12px;
    vertical-align: middle;
    border-bottom: 1px solid #E1D9D4;
}

/* Hover effect */
.sheet-table tr:hover td,
#procurementTable tr:hover td {
    background-color: #EFE7E2;
}
#procurementTable.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
#procurementTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control::before {
    display: none !important;
}
#procurementTable.dtr-inline.collapsed > tbody > tr > td.dtr-control .proc-desc::after,
#procurementTable.dtr-inline.collapsed > tbody > tr > td.dtr-control .proc-name::after {
    display: inline-block;
    margin-left: .5em;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0d7" !important; /* caret-down */
    font-size: 18px;
    line-height: 1;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: var(--color2);
}
#procurementTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control .proc-desc::after,
#procurementTable.dtr-inline.collapsed > tbody > tr.dtr-expanded > td.dtr-control .proc-name::after {
    content: "\f0d8" !important; /* caret-up */
}
#procurementTable.dtr-inline.collapsed > tbody > tr > td.dtr-control .proc-desc {
    display: flex;
    align-items: center;
}

#procurementTable {
    white-space: normal;
}
#procurementTable th.dt-type-date div.dt-column-header {
    flex-direction: row;
    text-align: left;
}

/* Target all date columns (4 through 8) */
#procurementTable th:nth-child(n+4):nth-child(-n+8),
#procurementTable td:nth-child(n+4):nth-child(-n+8) {
    /* your styles here */
}

#procurementTable td:nth-child(n+4):nth-child(-n+8) {
    text-align: center;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

/* ================================
   STATUS DOTS
================================ */
.sheet-table .status-dot {
    height: 12px;
    width: 12px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 6px;
    position: relative;
    top: 1px;
}

#procurementTable .status-dot {
    height: 12px;
    width: 12px;
    border-radius: 50%;
    display: inline-block;
    margin-right: 5px;
    position: relative;
    top: -2px;
}
#procurementTable .project-status-dot-wrap {
    display: inline-flex; 
    align-items: center;
}
#procurementTable .project-status-dot-wrap .project-status-label {
    display: inline-flex;
    align-items: center;
    flex-wrap: nowrap;
    white-space: nowrap;
}
#procurementTable .project-status-dot-wrap .project-status-label::before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f111";
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin-right: 6px;
    vertical-align: middle;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    transform: translateY(-1px);
}

#procurementTable tr.child .project-status-label::before {
    display: none;
}

#procurementTable_wrapper .dt-paging .dt-paging-button {
    display: inline-flex;
    align-items: center;
}
 
/* ================================
   AGENCY LINK STYLING
================================ */
.sheet-table td a {
    color: #276099;
    font-weight: 500;
    text-decoration: none;
}
.sheet-table td a:hover {
    text-decoration: underline;
}

/* ================================
   RESPONSIVE TABLE
================================ */
@media (max-width: 900px) {
    .sheet-table thead {
        display: none;
    }

    .sheet-table tr {
        display: block;
        margin-bottom: 16px;
        border: 1px solid #DDD3CE;
        border-radius: 6px;
        padding: 10px;
    }

    .sheet-table td {
        display: flex;
        justify-content: space-between;
        padding: 8px 6px;
        border-bottom: 1px solid #E1D9D4;
    }

    .sheet-table td:last-child {
        border-bottom: none;
    }

    .sheet-table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #8A4A32;
        margin-right: 10px;
    }
}
/* Shared dot style */
.status-dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 6px;
    vertical-align: middle;
	margin-top: -1px;
}

/* ================================
   PAGINATION WRAPPER
================================ */
.dataTables_paginate {
    float: right;
    padding-top: 15px;
}

.dataTables_info {
    padding-top: 15px;
    font-size: 15px;
    color: #555;
}

/* Hide numeric buttons */
.dataTables_paginate .paginate_button:not(.previous):not(.next) {
    display: none !important;
}

/* ================================
   LINK BASE STYLE
================================ */
.dataTables_paginate .paginate_button.previous,
.dataTables_paginate .paginate_button.next {
    color: #276099 !important;  /* default blue */
    font-size: 15px;
    font-weight: 500;
    background: none !important;
    border: none !important;
    padding: 8px 14px;  /* larger click area */
    margin: 0 6px;     /* space between Prev & Next */
    border-radius: 4px;
    transition: color 0.2s ease, background 0.2s ease;
    cursor: pointer;
}



/* Header styling with new color */
.sheet-table thead th,
#procurementTable thead th {
    background-color: #8D4D30 !important;
    color: #ffffff;
    font-weight: 600;
    line-height: 1;
    padding: 12px 10px;
    border-color: #74402A;
    border-bottom: 2px solid #74402A; /* optional darker border */
}

/* Hover state */
.dataTables_paginate .paginate_button.previous:hover,
.dataTables_paginate .paginate_button.next:hover {
    color: #30758D !important; 
}

/* ================================
   ICONS — Font Awesome carets
================================ */

/* LEFT caret */
.dataTables_paginate .paginate_button.previous:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0d9"; /* caret-left */
    margin-right: 8px;
    font-size: 16px!important;
    color: #30758D; /* matches text color */
    transition: color 0.2s ease;
	
}

/* Default (unsorted) – caret up/down dimmed */
table.dataTable thead>tr>th.sorting:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0d7"!important; /* caret-down */
    position: absolute;
    right: 8px;
	top: 40%!important;
    transform: translateY(-50%);
    color: rgba(255,255,255,0.6);
    font-size: 16px!important;
}

div.dataTables_paginate a.next:after, div.dataTables_paginate a.last:after {
    position: absolute;
    top: 9px;
    right: 0px;
    display: block;
	font-size: 16px!important;
	content: "\f0da"!important;

}

div.dataTables_paginate a.first:before, div.dataTables_paginate a.previous:before {
    position: absolute;
    top: 8px;
    left: 0px;
    display: block;
	content: "\f0d9"!important;
    font-size: 16px!important;
}

/* Ascending (caret-up) */
table.dataTable thead>tr>th.sorting:before {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0d8"!important; /* caret-up */
    position: absolute;
    right: 8px;
    top: 50%!important;
    transform: translateY(-50%);
    color: #ffffff;     /* full white for active */
    font-size: 16px!important;
}
/* Base FA icon style */
table.dataTable thead th.sorting,
table.dataTable thead th.sorting_asc,
table.dataTable thead th.sorting_desc {
    position: relative;
    padding-right: 26px !important; /* space for icon */
}

/* Descending (caret-down) */
table.dataTable thead th.sorting_desc:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0d7"!important; /* caret-down */
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    color: #ffffff;     /* full white for active */
    font-size: 14px;
}

/* RIGHT caret */
.dataTables_paginate .paginate_button.next:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f0da"; /* caret-right */
    margin-left: 8px;
    font-size: 14px;
    color: #30758D; /* matches text color */
    transition: color 0.2s ease;
}

.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
	color: #000!important
}

/* ================================
   DISABLED STATE
================================ */
.dataTables_paginate .paginate_button.disabled {
    color: #bbb !important;
    cursor: default !important;
    pointer-events: none;
}

.dataTables_paginate .paginate_button.disabled:before,
.dataTables_paginate .paginate_button.disabled:after {
    color: #bbb !important;
}

/* --- Status Colors --- */

.status-complete .status-dot {
    background-color: #30758D;    /* blue */
}
.status-complete .project-status-label::before {
    color: #30758D;
}

.status-ontrack .status-dot {
    background-color: #4E9B00;    /* green */
}
.status-ontrack .project-status-label::before {
    color: #4E9B00;
}

.status-atrisk .status-dot {
    background-color: #D6BD00;    /* yellow */
}
.status-atrisk .project-status-label::before {
    color: #D6BD00;
}

.status-offtrack .status-dot {
    background-color: #8D4D30;    /* red */
}
.status-offtrack .project-status-label::before {
    color: #8D4D30;
}

.status-onhold .status-dot {
    background-color: #000; 
}
.status-onhold .project-status-label::before {
    color: #000;
}


h4.mega-block-title a {
	    color: #E9E9C8 !important;
}

h4.mega-block-title a:hover {
	text-decoration: underline;
}

span.announcement-text {
    display: block;
/*     width: 70%; */
    text-align: left;
}

table.dataTable.display>tbody>tr.odd>* {
	white-space: normal;
    text-overflow: unset;
}
/* Description cell container */
.desc-cell {
    position: relative;
    cursor: pointer;
    padding-right: 35px !important; /* space for caret */
}

/* Preview (single line, truncated) */
.desc-preview {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Full description (hidden until expanded) */
.desc-full {
    display: none;
    margin-top: 6px;
    line-height: 1.4;
    color: #333;
}

/* Caret toggle icon — vertically centered */
.desc-toggle {
    position: absolute;
    right: 12px;
    top: 50%;                 /* move to middle */
    transform: translateY(-50%);  /* perfect vertical centering */
    color: #30758D;
    font-size: 16px;
    transition: transform 0.25s ease;
    pointer-events: none;     /* caret does not block row click */
}

/* When expanded, rotate the caret */
.desc-cell.open .desc-toggle {
    transform: translateY(-50%) rotate(180deg);
}

/* Description cell positioning */
.desc-cell {
    position: relative;
    cursor: pointer;
    padding-right: 40px !important; /* ensure space for caret */
}
.announcement-bar {
    background-color: #356699!important;
    /* color: var(--color7); */
    /* text-align: center; */
    /* padding: 10px 20px; */
    /* position: relative; */
    /* font-weight: 600; */
    /* font-size: 1.25em; */
    /* line-height: 1.5; */
    /* z-index: 999; */
    display: flex;
    align-items: center;
    justify-content: start;
    width: 100%;
	gap: 20px;
}

.announcement-bar .announcement-btn {
    background-color: #fff;
    color: #04639F;
    font-weight: 700;
    padding: 6px 50px !important;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s 
ease-in-out;
}

.announcement-bar .announcement-btn:hover {
    background-color: #081E33;
    color: #fff !important;
    text-decoration: none !important;
    font-style: normal !important;
}

.idaho-announcement-bar {
    padding: 25px 0px;
    background: var(--color-misc)!important;
}

img.announcement-icon {
    width: 50px;
}

@media (max-width: 767px) {
  .announcement-bar {
    display: flex;
    justify-content: center;
    align-items: center;
	  gap: 20px!important;
	  flex-direction: column;
  }
}

@media (max-width: 767px) {
  	span.announcement-text {
	text-align: center!important;
}
}

.idaho-announcement-bar .announcement-content {
    max-width: 1295px;
    margin: 0 auto;
    gap: 50px;
    display: flex;
    height: auto!important;
    align-items: center;
    justify-content: space-around;
}

a.announcement-btn {
    background-color: #fff;
    color: #04639F;
    font-weight: 700;
    padding: 6px 50px !important;
    border-radius: 4px;
    text-decoration: none;
    transition: all 0.2s ease-in-out;
	white-space: nowrap;
}

a.announcement-btn:hover {
	background: #555;
	color: #fff;
}

/* Tooltip wrapper */
.tooltip-wrap {
  position: relative;
  display: inline-block;
}

/* Tooltip bubble ABOVE the element */
.tooltip-bubble {
  visibility: hidden;
  opacity: 0;
  position: absolute;
  bottom: 100%; /* Move above */
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  width: 220px;
  background: #000;
  color: #fff;
  padding: 8px 10px;
  border-radius: 6px;
  text-align: left;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
  z-index: 999;
  transition: opacity .2s ease, visibility .2s ease, transform .2s ease;
}

/* Downward arrow */
.tooltip-bubble:after {
  content: "";
  position: absolute;
  top: 100%;      /* Arrow points downward */
  left: 50%;
  transform: translateX(-50%);
  border-width: 6px;
  border-style: solid;
  border-color: #000 transparent transparent transparent;
}

/* Show on hover */
.tooltip-wrap:hover .tooltip-bubble {
  visibility: visible;
  opacity: 1;
  transform: translateX(-50%) translateY(0);
}

@media only screen and (max-width: 991px) {
    .footer-navigation {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin-top: 50px;
    }
	.footer-navigation p {
		font-size: 16px!important
	}
	
	.footer-navigation a {
		padding: 0px
	}
}

@media (max-width: 767px) {
    #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-item.mega-toggle-on > a.mega-menu-link {
        background:none;

    }
}
.contract-portfolio-pills {
  display: none;
  flex-wrap: wrap;
  gap: 8px;
}

.portfolio-pill {
  display: inline-block;
	margin-top: 10px;
  padding: 6px 20px;
  font-size: 1rem;
  font-weight: 500;
  color: #264B6B;
  background-color: #f5f6f7;
  border-radius: 999px;
  white-space: nowrap;
}

.form-select {
	border-radius: 0px!important;
	border: 1px solid #212529!important
}
.single-statewide-contract .status-active {
  color: #1E7E34;
  font-weight: 600;
}

.single-statewide-contract .status-inactive {
    color: #c1121f;
    font-weight: 700;
}


.single-statewide-contract .status-pending {
    color: #f59e0b; /* accessible orange */
    font-weight: 700;
}



/* ========================================
   PAGINATION STYLES
======================================== */

.contracts-pagination {
  margin: 2rem 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 1rem;
}

/* Page info text (left side) */
.pagination-info {
  color: #666;
  font-size: 14px;
}

/* Pagination wrapper (right side) */
.pagination-wrapper {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Reset default Bootstrap styles if present */
.contracts-pagination .pagination {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

/* Page items */
.contracts-pagination .page-item {
  list-style: none;
  margin: 0;
}

/* All page links and spans */
.contracts-pagination .page-link,
.contracts-pagination .page-item span.page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 32px;
  padding: 0 8px;
  color: #0066cc;
  font-size: 14px;
  font-weight: 400;
  text-decoration: none;
  background: transparent;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
}

/* Hover state */
.contracts-pagination .page-link:hover {
  color: #004999;
  background-color: #f0f0f0;
}

/* Active page */
.contracts-pagination .page-item.active .page-link {
  color: #333;
  font-weight: 600;
  background-color: transparent;
  cursor: default;
  pointer-events: none;
}

/* Disabled state (ellipsis and disabled buttons) */
.contracts-pagination .page-item.disabled .page-link {
  color: #999;
  cursor: default;
  pointer-events: none;
}

/* Previous/Next buttons */
.contracts-pagination .page-link.prev-link,
.contracts-pagination .page-link.next-link {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 0 12px;
  color: #0066cc;
  font-weight: 500;
}

.contracts-pagination .page-item.disabled .prev-link,
.contracts-pagination .page-item.disabled .next-link {
  color: #ccc;
}

/* Arrow icons */
.contracts-pagination .page-link.prev-link::before {
  content: '◄';
  font-size: 10px;
  margin-right: 4px;
}

.contracts-pagination .page-link.next-link::after {
  content: '►';
  font-size: 10px;
  margin-left: 4px;
}

/* Ellipsis */
.contracts-pagination .ellipsis {
  color: #999;
  padding: 0 4px;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .contracts-pagination {
    justify-content: center;
  }
  
  .pagination-info {
    width: 100%;
    text-align: center;
    order: -1;
  }
  
  .pagination-wrapper {
    width: 100%;
    justify-content: center;
  }
  
  .contracts-pagination .page-link,
  .contracts-pagination .page-item span.page-link {
    min-width: 28px;
    height: 28px;
    font-size: 13px;
  }
  
  /* Hide some page numbers on mobile */
  .contracts-pagination .page-item:not(.active):not(:first-child):not(:last-child):not(:nth-child(2)):not(:nth-last-child(2)) {
    display: none;
  }
	.announcement-bar .announcement-content {
    width: auto!important;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
		gap: 20px
}
}

.page-template-statewide-contracts .contract-card:last-child {
    margin-bottom: 50px;
}


@media (max-width: 900px) {
    .sheet-table thead {
        display: flex;
    }
}

@media (max-width: 900px) {
    .sheet-table tr {
        display: flex;
        margin-bottom: 0px!important;
        border: 1px solid #DDD3CE;
        border-radius: 0px;
        padding: 0px!important;
    }
}


/* Hide mobile cards on desktop */
.mobile-cards {
    display: none;
}

/* Show/hide at 900px breakpoint */
@media (max-width: 900px) {
    .desktop-table {
        display: none !important;
    }
    
    .mobile-cards {
        display: block;
        padding: 15px 0px;
    }
}

/* Mobile Card Styles */
.task-card {
    background: #fff;
    border: 1px solid #ddd;
/*     border-radius: 8px; */
    margin-bottom: 15px;
/*     box-shadow: 0 2px 4px rgba(0,0,0,0.1); */
    overflow: hidden;
}

.card-header {
    background: #8D4D30;
    padding: 12px 15px;
    border-bottom: 1px solid #ddd;
}

.task-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #fff!important;
}

.card-body {
    padding: 0px;
}

.card-field {
    border-bottom: 1px solid #eee;
}

.card-field:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.card-field label {
    display: block;
    font-weight: 600;
    font-size: 16px;
    color: #666;
    text-transform: uppercase;
    margin-bottom: 4px;
	padding-top: 10px;
	padding-left: 10px;
}

.card-field span {
    display: flex;
    font-size: 14px;
    color: #333;
	padding-bottom: 10px;
	padding-left: 10px;
}

/* Description toggle for mobile */
.desc-content {
    position: relative;
	padding-top: 10px;
	padding-left: 10px;
}

.desc-content .desc-preview {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 16px;
    color: #333;
    line-height: 1.4;
}

.desc-content .desc-full {
    display: none;
    font-size: 16px;
    color: #333;
    line-height: 1.4;
}

.desc-content.expanded .desc-preview {
    display: none;
}

.desc-content.expanded .desc-full {
    display: block;
}

.desc-toggle-btn {
    background: none;
    border: none;
    color: #007bff;
    cursor: pointer;
    font-size: 12px;
    padding: 4px 0;
    margin-top: 4px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.desc-toggle-btn:hover {
    color: #0056b3;
}

.desc-content.expanded .desc-toggle-btn i {
    transform: rotate(180deg);
}

.desc-toggle-btn i {
    transition: transform 0.3s ease;
	font-size: 18px!important;
	color:#30758D!important
}

.desc-toggle-btn i:hover {
	color: #000!important
}

/* Alternating background colors */
.card-field:nth-child(odd) {
    background-color: #fff;
}

.card-field:nth-child(even) {
    background-color: #eff9ff;
}

.card-field:last-child {
    border-bottom: none;
}

button.desc-toggle-btn:hover {
	background: none!important
}

h3.task-title {
    margin: 0px !important;
	font-size: 24px!important
}


.status-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 600;
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

/* Status Colors */
.status-on-track {
    color: #155724;
}

.status-on-track .status-dot {
    background-color: #28a745;
}

.status-at-risk {
    color: #856404;
}

.status-at-risk .status-dot {
    background-color: #ffc107;
}

.status-off-track {
    color: #721c24;
}

.status-off-track .status-dot {
    background-color: #dc3545;
}

.status-complete {
    color: #0c5460;
}

.status-complete .status-dot {
    background-color: #17a2b8;
}

.status-pending {
    color: #383d41;
}

.status-pending .status-dot {
    background-color: #6c757d;
}

.status-default {
/*     background-color: #f8f9fa; */
    color: #495057;
}

.status-default .status-dot {
    background-color: #6c757d;
}

.elementor-widget-text-editor p {
	font-size: 1em!important
}

/* Hide category bubbles in search results */
.contract-categories,
.category-pill,
.contract-category-tags {
  display: none !important;
}

.master-agreement .elementor-shortcode {
	font-size: 18px!important;
	color: #555!important
}

.announcement-bar .announcement-content {
    width: 1300px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
	gap: 20px;
}

.tribe-events .tribe-events-header__content-title {
    align-items: center;
    display: none;
}
h1.mb-4 {
	margin-bottom: 0px!important;
}

nav.tribe-events-nav-pagination {
    display: none;
}

span.tribe-events-event-categories-label.tribe-events-meta-label, span.tribe-events-event-categories.tribe-events-meta-value {
    display: none!important;
}

li.tribe-events-meta-item {
    display: flex;
    gap: 6px;
    align-content: center;
    align-items: center;
}

/* Add colon after Events Calendar meta labels */
.tribe-events-meta-group-organizer .tribe-events-meta-label::after {
    content: ":";
    margin-right: 0.20em;
	margin-left: -3px;
}

span.tribe-venue-tel-label.tribe-events-meta-label {
    display: none;
}
span.tribe-venue-tel.tribe-events-meta-value {
	 display: none;
}

span.tribe-delimiter {
    margin-left: -4px;
}

.special-instructions a {
	font-size: 18px!important
}

.special-instructions {
    margin-top: 5px;
}

.special-instructions p {
font-size: 18px!important	
}

.e-n-accordion p {
	color: #55555C!important;
}

.contract-status.status-active {
    color: #1a7f37;
	font-size: 18px;
    font-weight: 600;
}

.contract-status.status-pending {
    color: #d97706;
	font-size: 18px;
    font-weight: 600;
}

.contract-status.status-expired {
    color: #b91c1c;
	font-size: 18px;
    font-weight: 700;
}

.contract-status.status-active,
.contract-status .status-active {
  color: #1f7a1f;
	font-size: 18px;
  font-weight: 600;
}

.single-statewide-contract .elementor-shortcode {
	font-size:18px;
}

table.dataTable thead>tr>th.dt-orderable-asc .dt-column-order:before {
	line-height: 15px!important;
}

table.dataTable thead>tr>th.dt-orderable-desc .dt-column-order:before{
	line-height: 15px!important;
}

.contract-status.status-pending,
.contract-status .status-pending {
  color: #d98200;
	font-size: 18px;
  font-weight: 600;
}

.contract-status.status-expired,
.contract-status .status-expired {
  color: #b00020;
	font-size: 18px;
  font-weight: 600;
}

.dt-container .dt-paging .dt-paging-button.current {
	padding: 0px 10px!important;
}

div.dt-container .dt-paging .dt-paging-button {
	padding: 0px 10px!important;
}



@media (max-width: 768px) {
    header.tribe-events-header {
        padding: 20px 30px !important;
    }
	h1.events-template-title {
    padding: 0px 10px;
}

.events-template-breadcrumbs {
    padding: 0px 10px !important;
}
}