/* Two Brothers Mechanical - front end + editor styles */
:root { --tbm-blue: #0842aa; --tbm-header-h: 144px; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; }
:where(.wp-site-blocks) > * { margin-block-start: 0; margin-block-end: 0; }
:where(.wp-block-post-content, .tbm-header, .tbm-footer, .editor-styles-wrapper) :where(p, h1, h2, h3, h4, h5, h6, ul, ol, figure) { margin-top: 0; margin-bottom: 0; }
:where(.wp-block-post-content) a { color: inherit; }
[id] { scroll-margin-top: 110px; }

/* sections */
.tbm-row.wp-block-cover { min-height: 0; }
.tbm-row.wp-block-cover .wp-block-cover__inner-container { width: 100%; color: inherit; }
.wp-block-post-content > .tbm-row { margin-top: 0 !important; }
.wp-block-post-content > .tbm-row-1570037063 { margin-top: 80px !important; }
.tbm-row-HVAC { min-height: 0; }
.tbm-cols.wp-block-columns { margin-bottom: 0; flex-wrap: nowrap; }
.tbm-col.wp-block-column { min-width: 0; }
.wp-block-column > .tbm-bgcol { height: 100%; background-repeat: no-repeat; }
.tbm-inner-row { width: 100%; }
.tbm-narrow > * { margin-left: auto !important; margin-right: auto !important; }

/* buttons */
.tbm-btn .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; text-decoration: none; line-height: 1.2; transition: opacity .2s; }
.tbm-btn .wp-block-button__link:hover { opacity: .9; }
.tbm-btn-200x55 .wp-block-button__link { width: 200px; min-height: 55px; }
.tbm-btn-200x54 .wp-block-button__link { width: 200px; min-height: 54px; }
.tbm-btn-195x55 .wp-block-button__link { width: 195px; min-height: 55px; }

/* icons, steps, lines, lists */
.tbm-icon img { object-fit: contain; }
.wp-block-image.tbm-icon { line-height: 0; }
.tbm-step-num { width: 60px; height: 60px; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-sizing: border-box; }
.tbm-hr { height: 0; }
.tbm-list { padding-left: 1.2em; margin: 0; }
.tbm-list li { margin: 0; }

/* gallery */
.tbm-gallery.wp-block-gallery { gap: 20px; }
.tbm-gallery.wp-block-gallery .wp-block-image { flex-grow: 0 !important; width: calc((100% - 60px) / 4) !important; overflow: hidden; }
.tbm-gallery.wp-block-gallery .wp-block-image img { aspect-ratio: 324 / 360; height: auto !important; object-fit: cover; transition: transform .4s ease; }
.tbm-gallery.wp-block-gallery .wp-block-image:hover img { transform: scale(1.08); }
.tbm-gallery-more.is-collapsed .wp-block-image:nth-of-type(n+9) { display: none; }
.tbm-view-more { display: block; text-align: center; margin: 10px 0 20px; font-size: 16px; text-decoration: underline; cursor: pointer; color: #000; background: none; border: 0; width: 100%; font-family: inherit; }

/* faq */
.tbm-faq.wp-block-accordion { gap: 0; }
.tbm-faq .wp-block-accordion-item { margin-bottom: 5px; background: transparent; }
.tbm-faq .wp-block-accordion-heading { margin: 0; font-family: var(--wp--preset--font-family--montserrat); font-size: 18px; font-weight: 500; text-transform: uppercase; line-height: 1.3; color: #010100; }
.tbm-faq .wp-block-accordion-heading__toggle { background: #fff; padding: 18px 20px; border: 0; border-bottom: 1px solid #e1e1e1; width: 100%; text-align: left; color: #010100; font: inherit; text-transform: inherit; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
.tbm-faq .wp-block-accordion-heading__toggle-icon { color: var(--tbm-blue); font-size: 22px; }
.tbm-faq .wp-block-accordion-panel { background: #f2f2f2; padding: 18px 20px; color: #010100; font-size: 16px; line-height: 1.5; text-align: left; }
.tbm-faq .wp-block-accordion-panel a { text-decoration: underline; }

/* reviews */
.tbm-reviews { margin-left: auto; margin-right: auto; }

/* contact form */
.tbm-form { text-align: left; margin-left: -15px; }
.tbm-form .tbm-field { padding: 0 16.875px; margin-top: 10px; }
.tbm-form input[type=text], .tbm-form input[type=email], .tbm-form input[type=tel], .tbm-form textarea { width: 100%; box-sizing: border-box; background: transparent; border: 1px solid #ddd; border-radius: 0; height: 40px; padding: 0 10px; font: 16px/1.4 var(--wp--preset--font-family--montserrat); color: #000; margin: 3px 0; }
.tbm-form textarea { height: 80px; padding: 10px; resize: vertical; color: #333; }
.tbm-form ::placeholder { color: #757575; }
.tbm-form .tbm-submit-wrap { margin: 20px 0 20px; text-align: center; }
.tbm-form button { width: 200px; height: 55px; background: var(--tbm-blue); color: #fff; border: 0; border-radius: 5px; box-shadow: rgba(0,0,0,.25) 0 3px 11px 0; font: 700 16px var(--wp--preset--font-family--montserrat); cursor: pointer; }
.tbm-form .tbm-hp { position: absolute; left: -9999px; }
.tbm-form-msg { padding: 10px 16.875px; font-size: 16px; }

/* header */
.tbm-header { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; background: transparent; transition: background-color .3s, box-shadow .3s; }
.admin-bar .tbm-header { top: 32px; }
.tbm-header-inner { max-width: 1425px; margin: 0 auto; align-items: flex-start; }
.tbm-header .tbm-logo { flex: 0 0 24%; display: flex; justify-content: center; }
.tbm-header .tbm-logo .wp-block-image { margin: 0; }
.tbm-header .tbm-logo img { width: 249px !important; max-width: 100%; height: auto; transition: width .3s; }
.tbm-header .tbm-logo-dark { display: none; }
.tbm-header nav.tbm-nav { flex: 1 1 auto; margin-top: 48px; justify-content: center; }
.tbm-header ul.tbm-nav { margin-top: 0; }
.tbm-header .tbm-header-call { flex: 0 0 24%; margin-top: 48px; justify-content: center !important; }
.tbm-header .tbm-nav .wp-block-navigation-item__content { color: #fff; padding: 12px 5px; text-transform: none; }
.tbm-header .tbm-nav .wp-block-navigation__container > .wp-block-navigation-item { margin-right: 15px; }
.tbm-header .tbm-nav .current-menu-item > .wp-block-navigation-item__content { font-weight: 700; }
.tbm-header .tbm-nav .wp-block-navigation__submenu-icon { color: inherit; }
.tbm-header .tbm-nav .wp-block-navigation__submenu-container { background: #f0f3fa !important; box-shadow: rgba(0,0,0,.25) 0 3px 11px 0; border: 0 !important; min-width: 360px !important; padding: 0; }
.tbm-header .tbm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #010100 !important; font-size: 16px; font-weight: 500; letter-spacing: .48px; padding: 15px 30px 15px 15px; white-space: nowrap; }
.tbm-header .tbm-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:hover > .wp-block-navigation-item__content { color: var(--tbm-blue) !important; }
.tbm-header.is-solid, body:not(.tbm-has-hero) .tbm-header { background: #fff; padding-top: 5px; }
.tbm-header.is-solid .tbm-logo-light, body:not(.tbm-has-hero) .tbm-header .tbm-logo-light { display: none; }
.tbm-header.is-solid .tbm-logo-dark, body:not(.tbm-has-hero) .tbm-header .tbm-logo-dark { display: block; }
.tbm-header.is-solid .tbm-logo img { width: 224px !important; }
.tbm-header.is-solid .tbm-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
body:not(.tbm-has-hero) .tbm-header .tbm-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { color: #000; }
.tbm-header.is-solid .tbm-nav .current-menu-item > .wp-block-navigation-item__content,
body:not(.tbm-has-hero) .tbm-header .tbm-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--tbm-blue) !important; }
body:not(.tbm-has-hero) .wp-site-blocks { padding-top: var(--tbm-header-h); }
.tbm-header .wp-block-navigation__responsive-container-open { color: #fff; }
.tbm-header.is-solid .wp-block-navigation__responsive-container-open, body:not(.tbm-has-hero) .tbm-header .wp-block-navigation__responsive-container-open { color: #000; }
.tbm-header .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; color: #000 !important; padding: 24px; }
.tbm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { color: #000 !important; font-size: 18px; }

/* footer */
.tbm-footer-main .tbm-cols { max-width: 1345px; margin: 0 auto; }
.tbm-footer-main a { color: #010100; }
.tbm-social .wp-social-link { border-radius: 0 !important; width: 29px; height: 29px; }
.tbm-social .wp-social-link a { padding: 5px !important; }
.tbm-footer-nav { justify-content: center; }
.tbm-footer-nav .wp-block-navigation-item__content { color: #000; padding: 6.4px 15px; }
.tbm-footer-nav .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content { font-size: 16px; text-transform: uppercase; }
.tbm-footer-nav .wp-block-navigation__submenu-container { background: #f4f4f4 !important; border: 0 !important; min-width: 280px !important; font-size: 14px; font-weight: 500; z-index: 30; }
.tbm-footer-nav .wp-block-navigation__submenu-container .wp-block-navigation-item { border-bottom: 1px solid #000; }
.tbm-footer-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 12px 15px; white-space: nowrap; }
.tbm-footer-nav .wp-block-navigation__submenu-container .wp-block-navigation-item:hover { background: #fff; }
.tbm-footer-nav .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { max-height: 70vh; overflow-y: auto; }
.tbm-copy { text-align: left; }
.tbm-float-estimate { position: fixed; right: 0; bottom: 0; z-index: 999; margin: 0 !important; }

/* responsive */
@media (max-width: 1024px) {
	.tbm-header .tbm-nav .wp-block-navigation__container > .wp-block-navigation-item { margin-right: 6px; }
}
@media (max-width: 781px) {
	:root { --tbm-header-h: 96px; }
	.tbm-cols.wp-block-columns { flex-wrap: wrap !important; }
	.tbm-cols.wp-block-columns > .wp-block-column { flex-basis: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
	.tbm-cols.tbm-mobile-reverse { flex-direction: column-reverse; }
	.wp-block-column > .tbm-bgcol:empty, .wp-block-column > .tbm-bgcol { min-height: 260px; }
	.tbm-header-inner { padding: 8px 16px !important; align-items: center !important; }
	.tbm-header .tbm-logo { flex: 0 0 auto; justify-content: flex-start; }
	.tbm-header .tbm-logo img, .tbm-header.is-solid .tbm-logo img { width: 150px !important; }
	.tbm-header nav.tbm-nav { margin-top: 0; flex: 0 0 auto; order: 3; }
	.tbm-header .tbm-header-call { display: none; }
	.tbm-gallery.wp-block-gallery .wp-block-image { width: 100% !important; }
	.tbm-step-num { margin-left: auto !important; margin-right: auto !important; }
	.tbm-hr { display: none; }
	.tbm-row .wp-block-image.tbm-icon { margin-left: auto !important; margin-right: auto !important; }
	.tbm-row .wp-block-group[style*="padding-left"] { padding-left: 0 !important; }
	.tbm-row-HVAC .tbm-narrow { padding: 0 10px; }
	.tbm-copy { text-align: center; }
	.tbm-footer-nav .wp-block-navigation__submenu-container { position: static !important; }
}
@media (max-width: 767px) {
	.tbm-m-align-center { text-align: center !important; }
	.tbm-m-align-left { text-align: left !important; }
	.tbm-m-align-right { text-align: right !important; }
	.tbm-m-justify-center { justify-content: center !important; }
	.tbm-m-justify-left { justify-content: flex-start !important; }
	.tbm-hide-mobile { display: none !important; }
	.tbm-list-center, .tbm-list.tbm-m-align-center { text-align: left; }
}
@media (min-width: 768px) { .tbm-hide-desktop { display: none !important; } }

/* fixes */
.tbm-step-num, .tbm-step-num.has-background { padding: 0 !important; width: 60px !important; height: 60px; flex: 0 0 60px; }
.tbm-col.wp-block-column:has(> .tbm-bgcol) { display: flex; flex-direction: column; }
.tbm-col > .tbm-bgcol { flex: 1 1 auto; height: auto; }
.tbm-row :where(.wp-block-heading.has-background, p.has-background) { padding: 0; }
@media (max-width: 781px) {
	.tbm-inner-row .tbm-cols > .wp-block-column + .wp-block-column { margin-top: 15px !important; }
	.tbm-col > .tbm-bgcol:empty { min-height: 260px; }
	.tbm-row-HVAC .tbm-narrow { max-width: 100%; }
	.tbm-reviews, .tbm-faq-wrap { padding-left: 0; padding-right: 0; }
}
.tbm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { min-width: 0 !important; box-shadow: none; background: transparent !important; }
.tbm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { white-space: normal; padding: 8px 10px; font-size: 15px; text-align: center; }
@media (max-width: 781px) {
	.tbm-row-1082780528 .wp-block-buttons { justify-content: center !important; }
}
@media (min-width: 782px) {
	.tbm-header nav.tbm-nav { flex-wrap: nowrap !important; }
	.tbm-header .tbm-nav .wp-block-navigation__container { flex-wrap: nowrap !important; gap: 0 !important; }
	.tbm-header .tbm-nav .wp-block-navigation__container > .wp-block-navigation-item { margin-right: 15px; white-space: nowrap; }
}
