/**
* Theme Name: Town Hall Child
* Description: This is a child theme of Town Hall.
* Author: <a href="https://cmsmasters.net/">cmsmasters</a>
* Template: town-hall
* Version: 1.0.1.2.9
* Tested up to: 6.6
* Requires PHP: 7.4
* License:
* License URI:
* Text Domain: town-hall-child
* Copyright: cmsmasters 2025 / All Rights Reserved
*/

html { scroll-padding-top: 180px !important; }
html:has(body.admin-bar) { scroll-padding-top: 200px !important; }

header { z-index: 99999 !important;position: relative;width: 100vw; }

body {
    --bg-color: var(--e-global-color-secondary);
}

.grecaptcha-badge { width: 70px !important; overflow: hidden !important; transition: all 0.3s ease !important; left: 4px !important;z-index: 100001; }
.grecaptcha-badge:hover { width: 256px !important; }
@media ( max-width: 600px ) { .grecaptcha-badge { visibility: hidden; } }
.grecaptcha-badge .grecaptcha-logo iframe { margin: 0; }

#cookie-notice .cn-button { color: #fff !important;background: var(--e-global-color-primary) !important;border-radius:0px !important; }
#cookie-notice .cn-button:hover { background: #fff !important;color:#000 !important; }
#cookie-notice button.cn-button:before,
#cookie-notice button.cn-button:after { display:none; }

.pojo-a11y-toolbar-overlay { position: relative; float: left; margin-top: -325px}
.pojo-a11y-toolbar-toggle-link { border-radius: 100px !important; }
@media only screen and (max-width: 600px) { .pojo-a11y-toolbar-toggle-link, .pojo-a11y-toolbar-overlay { display: none !important; } }

header .header-main-container { column-gap: 10 !important; }
header .header--logo, header .header--logo-mobile { width: 100%;max-width: 300px;min-width: 100px; }
header .header--logo .elementor-widget-cmsmasters-site-logo__container, header .header--logo-mobile .elementor-widget-cmsmasters-site-logo__container { flex-wrap: wrap;align-content: stretch;width: 100%;row-gap:15px;}
header .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__image-container,
header .header--logo-mobile .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__image-container { width: 115px; }
header .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper,
header .header--logo-mobile .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper {width: calc(100% - 125px);min-width: 150px;}
header .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container,
header .header--logo-mobile .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container {
    container-type: inline-size;
}
header .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a,
header .header--logo-mobile .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a {
    font-size: 7.2cqi;
}
header .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a br {
    /*display: none;*/
}
header .header--logo-mobile .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a br {
	display: block;
}
header .header--main-menu { display: flex;flex-direction: row;justify-content: flex-end;align-content: flex-end;flex-wrap: wrap; }
header .header--main-menu nav { align-self: self-end !important; }
@media screen and (min-width: 1181px) and (max-width: 1350px) {
    header .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a br,
}

@media screen and (min-width: 1181px) { 
    header .header--main-menu {min-width: 950px !important;} 
	header .header--main-menu nav > ul > li.menu-item.menu-item-has-children:last-child > .sub-menu { right: 0;left:unset !important; }
}
@media screen and (min-width: 1181px) and (max-width: 1250px) {
    header .header--main-menu nav ul {margin: 0 !important;}
    header .header--main-menu nav ul > li.menu-item {margin: 0 12px !important;}
}
@media screen and (min-width: 1601px) { header .header--main-menu { min-width: 1100px !important; } }
header .header-container.transparent-styling .header-main-container .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a,
header .header-container.transparent-styling .header--main-menu nav > ul > li.menu-item > a { color:#fff !important; }
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a { color:var(--e-global-color-secondary) !important; }
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--main-menu nav > ul > li.menu-item > a { color:var(--e-global-color-text) !important; }
header .header-container.transparent-styling .header-main-container .header--main-menu nav > ul > li.menu-item.current-menu-item > a { color: var(--e-global-color-secondary) !important; }
header .header-container.transparent-styling .header-main-container .header--main-menu nav > ul > li.menu-item > a:hover { color: var(--e-global-color-primary) !important; }
header .header-container.transparent-styling .elementor-heading-title { color: var(--e-global-color-text) }
header .header-container.transparent-styling .invert-colors a.cmsmasters-button-link .elementor-widget-cmsmasters-button__icon { color: var(--e-global-color-primary) !important;fill: var(--e-global-color-primary) !important; }
header .header-container.transparent-styling .invert-colors a.cmsmasters-button-link .elementor-widget-cmsmasters-button__text { color: #fff !important;fill: #fff !important; }
header .header-container.transparent-styling .invert-colors a.cmsmasters-button-link:hover .elementor-widget-cmsmasters-button__text { color: var(--e-global-color-primary) !important;fill: var(--e-global-color-primary) !important; }
header .header-container.transparent-styling .header-main-container .header--main-menu nav > ul > li.menu-item.current-menu-item > a .cmsmasters-animation { transition: none !important;background-image: linear-gradient(90deg,var(--e-global-color-primary) 0%,var(--e-global-color-primary) 100%); }
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--main-menu nav > ul > li.menu-item > a { color: var(--e-global-color-dark, #1A1A1A) !important; }
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--main-menu nav > ul > li.menu-item.current-menu-item > a { color: var(--e-global-color-primary) !important; }
header .header-container.transparent-styling .header-main-container .header--main-menu nav > ul > li:nth-child(1 of .menu-item.current-menu-ancestor) > a,
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--main-menu nav > ul > li:nth-child(1 of .menu-item.current-menu-ancestor) > a { color: var(--e-global-color-primary) !important; }
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--main-menu nav > ul > li.menu-item > a:hover { color: var(--e-global-color-secondary) !important; }
header .header-container.transparent-styling .header-main-container .header--main-menu nav > ul > li > ul a,
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--main-menu nav > ul .elementor-widget-cmsmasters-nav-menu__dropdown-submenu li a { color: var(--e-global-color-dark, #1A1A1A) !important; }
header .header-container.transparent-styling .header-main-container .header--main-menu nav > ul > li > ul a:hover,
header .header-container.transparent-styling .header-main-container.cmsmasters-sticky-active .header--main-menu nav > ul .elementor-widget-cmsmasters-nav-menu__dropdown-submenu li a:hover { color: var(--e-global-color-secondary) !important; }
@media screen and (max-width: 1719px) { header .header--main-menu nav ul > li.menu-item {margin: 0 20px !important; } }
@media screen and (max-width: 1620px) { header .header--main-menu nav ul > li.menu-item {margin: 0 15px !important; } }
@media screen and (max-width: 1610px) { header .header--main-menu nav ul > li.menu-item {margin: 0 10px !important; } }
@media screen and (max-width: 1601px) { header .header--main-menu nav ul > li.menu-item {margin: 0 20px !important; } }
@media screen and (max-width: 1438px) { header .header--main-menu nav ul > li.menu-item {margin: 0 20px !important; } }
@media screen and (max-width: 1390px) { header .header--main-menu nav ul > li.menu-item {margin: 0 10px !important; } }
@media screen and (min-width: 1289px) and (max-width: 1295px) {
    header .header--main-menu { min-width:unset !important; }
    header .header--main-menu nav.elementor-widget-cmsmasters-nav-menu__main {display:flex !important;width: 100% !important;align-items: flex-end;align-content: flex-end;flex-direction: column;padding: 0 30px 0 0}
    header .header--main-menu nav.elementor-widget-cmsmasters-nav-menu__main > ul {overflow: hidden !important;width: 100% !important;max-width: max-content !important;align-self: flex-end !important;margin: 0 !important; }
    header .header--main-menu nav.elementor-widget-cmsmasters-nav-menu__main > ul > li.menu-item { margin: 0 10px !important; }
    .elementor-117 .elementor-element.elementor-element-7411f72 { max-width: 100% !important;--flex-grow: unset !important; }
}
@media screen and (min-width: 1201px) and (max-width: 1288px) { 
    header .header--main-menu { min-width:unset !important; }
    header .header--main-menu nav ul > li.menu-item { margin: 0 5px !important; } }
@media screen and (min-width: 1181px) and (max-width: 1200px) { 
    header .header--main-menu { min-width:unset !important; }
    header .header--main-menu nav ul > li.menu-item { margin: 0 3px !important; } }
header .header--logo {max-width: 280px !important;}
header .header--logo .elementor-widget-cmsmasters-site-logo__container {width: fit-content !important;}
header .header-container.transparent-styling .header-main-container .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper {
    max-width: 150px !important;min-width: 150px !important; }
header .header--logo .elementor-widget-cmsmasters-site-logo__container .elementor-widget-cmsmasters-site-logo__text-wrapper .elementor-widget-cmsmasters-site-logo__title-container .elementor-widget-cmsmasters-site-logo__title a { font-size: 11cqi !important; }
header .header-main-container { flex-direction:row!important; }
@media screen and (max-width:1180px) { header .header-main-container > *:nth-child(2) { display:none !important; } }
/*
.elementor-element.elementor-element-25158932.e-con-full.cmsmasters-block-sticky.cmsmasters-sticky-disable-none.header-main-container.e-flex.cmsmasters-sticky-parent-default.e-con.e-child {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap:wrap !important;
}
*/
.elementor-widget-cmsmasters-offcanvas__trigger,
.elementor-widget-cmsmasters-offcanvas__trigger .elementor-widget-cmsmasters-offcanvas__trigger-icon { fill:  #fff !important;color: #fff !important;border-color:#fff !important;}


/* Hero Adjustments */
body.page:not(.home) .elementor > .elementor-element:nth-of-type(1) > .e-con-inner,
body.post-type-archive-projects > .cmsmasters-location-cmsmasters_archive > .elementor-inner > .elementor-section-wrap > .elementor-element:nth-of-type(1) > .e-con-inner { 
	padding-top:calc(var(--padding-top) + 200px); } /* Hero Padding Adjustment */
body.page:not(.home) .elementor > .elementor-element:nth-of-type(1)::before {
        background-color: transparent;
        background-image: linear-gradient(150deg, var(--e-global-color-secondary) 0%, #15485900 30%);
}
body.page:not(.home) .elementor > .elementor-element:nth-of-type(1):not(.elementor-motion-effects-element-type-background):not(.cmsmasters-bg-effect) {
    background-color: transparent;
    background-image: linear-gradient(150deg, color-mix(in srgb, var(--e-global-color-primary), white 40%), 40%, var(--e-global-color-primary) 65%) !important;
}
body.post-type-archive-projects > .cmsmasters-location-cmsmasters_archive > .elementor-inner > .elementor-section-wrap > .elementor-element:nth-of-type(1):not(.elementor-motion-effects-element-type-background):not(.cmsmasters-bg-effect) { 
	background-color: transparent;
    background-image: linear-gradient(150deg, color-mix(in srgb, var(--e-global-color-primary), white 40%), 40%, var(--e-global-color-primary) 65%) !important; }
.elementor .cmsmasters-widget-title  h1.entry-title.cmsmasters-widget-title__heading { --title-color: #fff; } /* H1 Color Fix */

#road-conditions-closures .cmsmasters-slider .swiper-slide .post .term:before { content: "Status - "; }
#road-conditions-closures .cmsmasters-slider .swiper-slide .post.tag-open .term { background-color: red;padding: 5px 10px;border-radius: 100px;color: #fff; }
#road-conditions-closures .cmsmasters-slider .swiper-slide .post.tag-resolved .term { background-color: green;padding: 5px 10px;border-radius: 100px;color: #fff; }
#road-conditions-closures .elementor-widget-cmsmasters-blog-grid .cmsmasters-blog__posts .post .term:before { content: "Status - "; }
#road-conditions-closures .elementor-widget-cmsmasters-blog-grid .cmsmasters-blog__posts .post.tag-open .term { background-color: #a31818;padding: 5px 10px;border-radius: 100px;color: #fff; }
#road-conditions-closures .elementor-widget-cmsmasters-blog-grid .cmsmasters-blog__posts .post.tag-resolved .term { background-color: green;padding: 5px 10px;border-radius: 100px;color: #fff; }

.oh-table { margin: 0; }
.oh-table tr td { width: 50% !important;padding: 5px 0;border:none !important;background-color: transparent !important; }
.oh-table tbody tr td { background-color: transparent; }
.oh-table.white-text * { color: #fff !important; }
.oh-table-wrap br { display: none; }
.oh-table.dots tr td:nth-child(odd) { display: flex;align-items: baseline;width: 100%; }
.oh-table.dots tr td:nth-child(odd)::after { content: "";flex: 1;margin: 0 10px;border-bottom: 2px dotted;border-bottom-color: var(--e-global-color-text); }
.oh-table.dots.white-text tr td:nth-child(odd)::after { border-bottom-color:#fff; }
.oh-table tr { gap: 0 !important; }
.oh-table tr td:nth-child(1) { width: 100% !important; }
.oh-table tr td:nth-child(2) { width: 25% !important;min-width:155px; }
.oh-table.dots tr td:nth-child(odd)::after { margin :0 10px !important; }

.horizontal-icon-list ul { display: flex;gap: 45px;justify-content: flex-end;flex-direction: row;align-items: center; }
@media ( max-width: 399px ) { .horizontal-icon-list ul { flex-direction: column; } }
.horizontal-icon-list ul li * { font-weight: 500; }
.horizontal-icon-list ul li .cmsmasters-widget-icon-list-item-icon > span { height: 16px; }

.footer-menu ul { display: flex; }
@media ( max-width: 399px ) { .footer-menu ul { flex-direction: column; } }
body.home footer { margin-top: 0px !important; }
footer a.ow-credit { display: flex;align-items: center;gap: 10px; }
footer .footer-hours-container br { display: none; }

.cmsmasters-weather .weather-field.weather-field--description .weather-field-inner { text-transform: capitalize; }

.slider-fix-relative .cmsmasters-slider.cmsmasters-slider--arrows .swiper-buttons-wrap { margin-top: 35px !important;align-items:flex-end !important;bottom:-40px !important;position: relative; }
.slider-fix-relative .cmsmasters-slider.cmsmasters-slider--arrows { display: flex !important;flex-direction: column;flex-wrap: wrap; }
.slider-fix-relative .cmsmasters-slider.cmsmasters-slider--arrows .swiper-pagination-wrap { position: relative; }

.cmsmasters-blog .cmsmasters-postmeta__content .term-wrap .term { background-color: var(--e-global-color-primary);padding: 5px 10px; }
.cmsmasters-blog ul.page-numbers, .cmsmasters-blog ul.page-numbers > li:last-child { font-size: 21px;align-content: center !important;align-items: center !important;align-self: center !important;display: flex;width:fit-content; }
.cmsmasters-blog ul.page-numbers a.next.page-numbers div[class^="cmsmasters-pagination-loadmore"] .cmsmasters-theme-button { font-size: 21px;background-color: var(--e-global-color-primary);color:#fff; }
.cmsmasters-blog ul.page-numbers a.next.page-numbers div[class^="cmsmasters-pagination-loadmore"] .cmsmasters-theme-button:focus,
.cmsmasters-blog ul.page-numbers a.next.page-numbers div[class^="cmsmasters-pagination-loadmore"] .cmsmasters-theme-button:focus-visible,
.cmsmasters-blog ul.page-numbers a.next.page-numbers div[class^="cmsmasters-pagination-loadmore"] .cmsmasters-theme-button:focus-within,
.cmsmasters-blog ul.page-numbers a.next.page-numbers div[class^="cmsmasters-pagination-loadmore"] .cmsmasters-theme-button:hover { background-color: var(--e-global-color-secondary) !important; }
.cmsmasters-blog ul.page-numbers, .cmsmasters-blog ul.page-numbers > li:last-child {width:100%;}

.wpcf7 form { display: flex;flex-direction: column;gap: 20px; }
.wpcf7 form > * { order:1; }
.wpcf7 form .wpcf7-response-output { color: #fff !important;border-radius:10px;order:0;margin-bottom:35px !important; padding:10px !important; }
.wpcf7 form.sent .wpcf7-response-output { border-color: #7EE966;background-color:#7EE966; }
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output { border-color: #FF4949;background-color:#FF4949; }
.wpcf7 form.spam .wpcf7-response-output { border-color: #ff9449;background-color:#ff9449; }
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output { border-color: #FF4949;background-color:#FF4949; }
.wpcf7 form .cf7-row { display: flex;gap: 20px;margin-bottom: 20px;}
.wpcf7 form .cf7-field { flex: 1;display: flex; flex-direction: column;gap: 12px;font-weight: 500 !important; }
.wpcf7 form .cf7-field.full-width { flex: 1 1 100%; }
.wpcf7 form .cf7-field label { margin-bottom: 0 !important; }
.wpcf7 form .cf7-field .wpcf7-checkbox { display: flex;flex-direction: row;flex-wrap: wrap; margin: 0 !important;gap: 12px 24px; }
.wpcf7 form .cf7-field .wpcf7-checkbox span.wpcf7-list-item { width: calc(50% - 15px);margin: 0 !important; }
@media ( max-width: 767px ) { 
	.wpcf7 form .cf7-row { flex-direction: column; }
	.wpcf7 form .cf7-field .wpcf7-checkbox span.wpcf7-list-item { width: 100%; }
}

.cmsmasters-elementor-popup.cmsmasters-elementor-popup__show [data-elementor-type="cmsmasters_popup"] { overflow-y: scroll; }

.elementor-widget-cmsmasters-post-navigation__link:hover,
.elementor-widget-cmsmasters-post-navigation__link-next span:nth-child(2):hover,
.elementor-widget-cmsmasters-post-navigation__link-prev span:nth-child(2):hover,
.elementor-widget-cmsmasters-post-navigation__next:hover .elementor-widget-cmsmasters-post-navigation__link-next span:nth-child(2) .elementor-widget-cmsmasters-post-navigation__next-title,
.elementor-widget-cmsmasters-post-navigation__prev:hover .elementor-widget-cmsmasters-post-navigation__link-prev span:nth-child(2) .elementor-widget-cmsmasters-post-navigation__prev-title {
    color: var(--e-global-color-primary) !important;
}
.elementor-widget-cmsmasters-post-navigation__next:hover .elementor-widget-cmsmasters-post-navigation__link-next span:nth-child(1),
.elementor-widget-cmsmasters-post-navigation__prev:hover .elementor-widget-cmsmasters-post-navigation__link-prev span:nth-child(1) {
    color: var(--e-global-color-text) !important;
}

/* Color Updates */
h1 { color: #fff; }
h2, h3, h4, h5, h6, 
.elementor-widget-cmsmasters-text-editor, 
.elementor-widget-cmsmasters-text-editor p, 
.elementor-widget-heading p.elementor-heading-title,
body.home .elementor-widget-heading p.elementor-heading-title.elementor-size-default {
    color: #FFFFFF;
    color: oklch(from var(--bg-color, #D4521E) clamp(0.11, calc((0.7 - l) * 100), 1) 0 0);
}
table tbody td { color: var(--e-global-color-dark, #1A1A1A)  !important; }
.elementor-widget-n-accordion .e-n-accordion-item-title-text,
.elementor-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon span > svg,
.elementor-widget-n-accordion .e-n-accordion-item .e-n-accordion-item-title-icon span > svg { color: #fff !important;fill:#fff !important; }
body:not(.home) > *:not(header) a.cmsmasters-button-link.elementor-widget-cmsmasters-button__button {
    border-color: #ffffff;
	border-color:  oklch(from var(--bg-color, #FFFFFF) clamp(0.11, calc((0.6 - l) * 1000), 1) c h);
    color: #ffffff;
    color: oklch(from var(--bg-color, #D4521E) clamp(0.11, calc((0.7 - l) * 100), 1) 0 0);
}
body:not(.home) > *:not(header) a.cmsmasters-button-link.elementor-widget-cmsmasters-button__button:hover { border-color: var(--button-bg-color) !important; }
body:not(.home) > *:not(header) a.cmsmasters-button-link.elementor-widget-cmsmasters-button__button .elementor-widget-cmsmasters-button__icon {
    border-color: #ffffff;
	border-color:  oklch(from var(--bg-color, #FFFFFF) clamp(0.11, calc((0.6 - l) * 1000), 1) c h);
    color: #ffffff;
    color: oklch(from var(--bg-color, #D4521E) clamp(0.11, calc((0.7 - l) * 100), 1) 0 0);
	fill: #ffffff;
    fill:  oklch(from var(--bg-color, #FFFFFF) clamp(0.11, calc((0.6 - l) * 1000), 1) c h);
}

body.error404 { background-color: var(--e-global-color-secondary); }
body.error404 #main > .cmsmasters-main__outer { padding-top: 250px; }
body.error404 #main h1.cmsmasters-error-page__title,
body.error404 #main .cmsmasters-error-page__content p { color:#fff; }

@media screen and (min-width:1181px) and (max-width: 1601px) {
    .elementor-element.elementor-element-4ad78af.e-con-full.e-flex.cmsmasters-block-default.e-con.e-child.animated.cmsmasters-fade-in-right { padding: 80px 45px; }
    section#road-conditions-closures { padding-top: 80px; }
}