Help
RSS
API
Feed
Maltego
Contact
Domain > wegenerheatac.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2020-04-25
99.84.235.115
(
ClassC
)
2020-08-05
52.222.210.121
(
ClassC
)
2026-03-02
172.67.155.61
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Mon, 02 Mar 2026 22:57:21 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareLast-Modified: Mon, 02 Mar 2026 20:29:28 GMTNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}vary: accept-encodingReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sVk94mLaV%2FOSW1Cc%2FiwbC599HrRs4i2G%2B4dX0l5aOO2tX9h7S8Nr3xE2QQvoKHBpBHBoJLLrY5j%2B09d9QT9K%2BGfHc%2Bzg6PAumbV5M1F1Yzg%3D%3D}}cf-cache-status: DYNAMICCF-RAY: 9d63fffb8ca4efb8-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen>head>script> if (window.location.pathname!/) window.location/;/script> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Professional HVAC Services | Heating & Air Conditioning Installation & Repair/title> meta namedescription contentConnect with qualified HVAC professionals for heating and air conditioning installation, repair, and maintenance services. Gas furnace, boiler, and central heating services available.> meta nameauthor contentHVAC Services> link relcanonical hrefhttps://wegenerheatac.com> meta propertyog:title contentProfessional HVAC Services | Heating & Air Conditioning> meta propertyog:description contentQuality HVAC installation, repair, and maintenance services for residential and commercial properties. Connect with local professionals.> meta propertyog:type contentwebsite> meta nametwitter:card contentsummary_large_image> meta nametwitter:site content@HVACServices>style>*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: }html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where(title){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where(typebutton),input:where(typereset),input:where(typesubmit){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}typesearch{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,rolebutton{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}hidden:where(:not(hiddenuntil-found)){display:none}:root{--background: 0 0% 100%;--foreground: 215 25% 27%;--card: 0 0% 100%;--card-foreground: 215 25% 27%;--popover: 0 0% 100%;--popover-foreground: 215 25% 27%;--primary: 213 94% 35%;--primary-foreground: 0 0% 100%;--secondary: 210 17% 98%;--secondary-foreground: 215 25% 27%;--muted: 210 17% 98%;--muted-foreground: 215 16% 47%;--accent: 213 94% 35%;--accent-foreground: 0 0% 100%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 214 32% 91%;--input: 214 32% 91%;--ring: 213 94% 35%;--radius: .5rem;--trust: 142 76% 36%;--warning: 38 92% 50%;--info: 199 89% 48%;--hero-gradient-from: 213 94% 35%;--hero-gradient-to: 213 94% 28%;--section-bg: 210 17% 98%}.dark{--background: 222 47% 11%;--foreground: 210 40% 98%;--card: 222 47% 11%;--card-foreground: 210 40% 98%;--popover: 222 47% 11%;--popover-foreground: 210 40% 98%;--primary: 217 91% 60%;--primary-foreground: 222 47% 11%;--secondary: 217 33% 18%;--secondary-foreground: 210 40% 98%;--muted: 217 33% 18%;--muted-foreground: 215 20% 65%;--accent: 217 91% 60%;--accent-foreground: 222 47% 11%;--destructive: 0 63% 31%;--destructive-foreground: 210 40% 98%;--border: 217 33% 18%;--input: 217 33% 18%;--ring: 217 91% 60%;--trust: 142 76% 36%;--warning: 38 92% 50%;--info: 199 89% 48%;--hero-gradient-from: 217 91% 60%;--hero-gradient-to: 217 91% 50%;--section-bg: 217 33% 15%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\50\%\{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\1px\{top:1px}.top-\50\%\{top:50%}.top-\60\%\{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\100\{z-index:100}.z-\1\{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\1px\{height:1px}.h-\var\(--radix-navigation-menu-viewport-height\)\{height:var(--radix-navigation-menu-viewport-height)}.h-\var\(--radix-select-trigger-height\)\{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\300px\{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\80px\{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\--sidebar-width\{width:var(--sidebar-width)}.w-\100px\{width:100px}.w-\1px\{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-\12rem\{min-width:12rem}.min-w-\8rem\{min-width:8rem}.min-w-\var\(--radix-select-trigger-width\)\{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\--skeleton-width\{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\-50\%\{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\-50\%\{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\2px\{border-radius:2px}.rounded-\inherit\{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\10px\{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\1\.5px\{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\--color-border\{border-color:var(--color-border)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\--color-bg\{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-section{background-color:hsl(var(--section-bg))}.bg-transparent{background-color:transparent}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-\hsl\(var\(--hero-gradient-from\)\)\{--tw-gradient-from: hsl(var(--hero-gradient-from)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--hero-gradient-from) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-\hsl\(var\(--hero-gradient-to\)\)\{--tw-gradient-to: hsl(var(--hero-gradient-to)) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\1px\{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\0\.8rem\{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-trust{color:hsl(var(--trust))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\0_0_0_1px_hsl\(var\(--sidebar-border\)\)\{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\left\,right\,width\{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\margin\,opa\{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\width\,height\,padding\{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\width\{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\2px\:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/90:hover{color:hsl(var(--primary) / .9)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\\.destructive\\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\\.toaster\\:border-border{border-color:hsl(var(--border))}.group.toast .group-\\.toast\\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\\.toast\\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\\.toaster\\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\\.destructive\\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\\.toast\\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\\.toast\\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\\.toaster\\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\\.toaster\\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\\.destructive\\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\\.destructive\\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\\.destructive\\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\\.destructive\\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\\.destructive\\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\\.destructive\\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\\.destructive\\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\\:disabled\\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has(data-sidebarmenu-action) .group-has-\\data-sidebar\menu-action\\\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-nonearia-disabledtrue{pointer-events:none}.aria-disabled\:opacity-50aria-disabledtrue{opacity:.5}.aria-selected\:bg-accentaria-selectedtrue{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50aria-selectedtrue{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foregroundaria-selectedtrue{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foregroundaria-selectedtrue{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100aria-selectedtrue{opacity:1}.aria-selected\:opacity-30aria-selectedtrue{opacity:.3}.data-\disabled\true\\:pointer-events-nonedata-disabledtrue,.data-\disabled\\:pointer-events-nonedata-disabled{pointer-events:none}.data-\panel-group-direction\vertical\\:h-pxdata-panel-group-directionvertical{height:1px}.data-\panel-group-direction\vertical\\:w-fulldata-panel-group-directionvertical{width:100%}.data-\side\bottom\\:translate-y-1data-sidebottom{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\side\left\\:-translate-x-1data-sideleft{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\side\right\\:translate-x-1data-sideright{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\side\top\\:-translate-y-1data-sidetop{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\state\checked\\:translate-x-5data-statechecked{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\state\unchecked\\:translate-x-0data-stateunchecked,.data-\swipe\cancel\\:translate-x-0data-swipecancel{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\swipe\end\\:translate-x-\var\(--radix-toast-swipe-end-x\)\data-swipeend{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\swipe\move\\:translate-x-\var\(--radix-toast-swipe-move-x\)\data-swipemove{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\state\closed\\:animate-accordion-updata-stateclosed{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\state\open\\:animate-accordion-downdata-stateopen{animation:accordion-down .2s ease-out}.data-\panel-group-direction\vertical\\:flex-coldata-panel-group-directionvertical{flex-direction:column}.data-\active\\:bg-accent\/50data-active{background-color:hsl(var(--accent) / .5)}.data-\selected\\true\\\:bg-accentdata-selectedtrue{background-color:hsl(var(--accent))}.data-\state\active\\:bg-backgrounddata-stateactive{background-color:hsl(var(--background))}.data-\state\checked\\:bg-primarydata-statechecked{background-color:hsl(var(--primary))}.data-\state\on\\:bg-accentdata-stateon,.data-\state\open\\:bg-accentdata-stateopen{background-color:hsl(var(--accent))}.data-\state\open\\:bg-accent\/50data-stateopen{background-color:hsl(var(--accent) / .5)}.data-\state\open\\:bg-secondarydata-stateopen{background-color:hsl(var(--secondary))}.data-\state\selected\\:bg-muteddata-stateselected{background-color:hsl(var(--muted))}.data-\state\unchecked\\:bg-inputdata-stateunchecked{background-color:hsl(var(--input))}.data-\active\true\\:font-mediumdata-activetrue{font-weight:500}.data-\selected\true\\:text-accent-foregrounddata-selectedtrue{color:hsl(var(--accent-foreground))}.data-\state\active\\:text-foregrounddata-stateactive{color:hsl(var(--foreground))}.data-\state\checked\\:text-primary-foregrounddata-statechecked{color:hsl(var(--primary-foreground))}.data-\state\on\\:text-accent-foregrounddata-stateon,.data-\state\open\\:text-accent-foregrounddata-stateopen{color:hsl(var(--accent-foreground))}.data-\state\open\\:text-muted-foregrounddata-stateopen{color:hsl(var(--muted-foreground))}.data-\disabled\true\\:opacity-50data-disabledtrue,.data-\disabled\\:opacity-50data-disabled{opacity:.5}.data-\state\open\\:opacity-100data-stateopen{opacity:1}.data-\state\active\\:shadow-smdata-stateactive{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\swipe\move\\:transition-nonedata-swipemove{transition-property:none}.data-\state\closed\\:duration-300data-stateclosed{transition-duration:.3s}.data-\state\open\\:duration-500data-stateopen{transition-duration:.5s}.data-\motion\^\from-\\:animate-indata-motion^from-,.data-\state\open\\:animate-indata-stateopen,.data-\state\visible\\:animate-indata-statevisible{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\motion\^\to-\\:animate-outdata-motion^to-,.data-\state\closed\\:animate-outdata-stateclosed,.data-\state\hidden\\:animate-outdata-statehidden,.data-\swipe\end\\:animate-outdata-swipeend{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\motion\^\from-\\:fade-indata-motion^from-{--tw-enter-opacity: 0}.data-\motion\^\to-\\:fade-outdata-motion^to-,.data-\state\closed\\:fade-out-0data-stateclosed{--tw-exit-opacity: 0}.data-\state\closed\\:fade-out-80data-stateclosed{--tw-exit-opacity: .8}.data-\state\hidden\\:fade-outdata-statehidden{--tw-exit-opacity: 0}.data-\state\open\\:fade-in-0data-stateopen,.data-\state\visible\\:fade-indata-statevisible{--tw-enter-opacity: 0}.data-\state\closed\\:zoom-out-95data-stateclosed{--tw-exit-scale: .95}.data-\state\open\\:zoom-in-90data-stateopen{--tw-enter-scale: .9}.data-\state\open\\:zoom-in-95data-stateopen{--tw-enter-scale: .95}.data-\motion\from-end\\:slide-in-from-right-52data-motionfrom-end{--tw-enter-translate-x: 13rem}.data-\motion\from-start\\:slide-in-from-left-52data-motionfrom-start{--tw-enter-translate-x: -13rem}.data-\motion\to-end\\:slide-out-to-right-52data-motionto-end{--tw-exit-translate-x: 13rem}.data-\motion\to-start\\:slide-out-to-left-52data-motionto-start{--tw-exit-translate-x: -13rem}.data-\side\bottom\\:slide-in-from-top-2data-sidebottom{--tw-enter-translate-y: -.5rem}.data-\side\left\\:slide-in-from-right-2data-sideleft{--tw-enter-translate-x: .5rem}.data-\side\right\\:slide-in-from-left-2data-sideright{--tw-enter-translate-x: -.5rem}.data-\side\top\\:slide-in-from-bottom-2data-sidetop{--tw-enter-translate-y: .5rem}.data-\state\closed\\:slide-out-to-bottomdata-stateclosed{--tw-exit-translate-y: 100%}.data-\state\closed\\:slide-out-to-leftdata-stateclosed{--tw-exit-translate-x: -100%}.data-\state\closed\\:slide-out-to-left-1\/2data-stateclosed{--tw-exit-translate-x: -50%}.data-\state\closed\\:slide-out-to-rightdata-stateclosed,.data-\state\closed\\:slide-out-to-right-fulldata-stateclosed{--tw-exit-translate-x: 100%}.data-\state\closed\\:slide-out-to-topdata-stateclosed{--tw-exit-translate-y: -100%}.data-\state\closed\\:slide-out-to-top-\48\%\data-stateclosed{--tw-exit-translate-y: -48%}.data-\state\open\\:slide-in-from-bottomdata-stateopen{--tw-enter-translate-y: 100%}.data-\state\open\\:slide-in-from-leftdata-stateopen{--tw-enter-translate-x: -100%}.data-\state\open\\:slide-in-from-left-1\/2data-stateopen{--tw-enter-translate-x: -50%}.data-\state\open\\:slide-in-from-rightdata-stateopen{--tw-enter-translate-x: 100%}.data-\state\open\\:slide-in-from-topdata-stateopen{--tw-enter-translate-y: -100%}.data-\state\open\\:slide-in-from-top-\48\%\data-stateopen{--tw-enter-translate-y: -48%}.data-\state\open\\:slide-in-from-top-fulldata-stateopen{--tw-enter-translate-y: -100%}.data-\state\closed\\:duration-300data-stateclosed{animation-duration:.3s}.data-\state\open\\:duration-500data-stateopen{animation-duration:.5s}.data-\panel-group-direction\vertical\\:after\:left-0data-panel-group-directionvertical:after{content:var(--tw-content);left:0}.data-\panel-group-direction\vertical\\:after\:h-1data-panel-group-directionvertical:after{content:var(--tw-content);height:.25rem}.data-\panel-group-direction\vertical\\:after\:w-fulldata-panel-group-directionvertical:after{content:var(--tw-content);width:100%}.data-\panel-group-direction\vertical\\:after\:-translate-y-1\/2data-panel-group-directionvertical:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\panel-group-direction\vertical\\:after\:translate-x-0data-panel-group-directionvertical:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:left-\calc\(var\(--sidebar-width\)\*-1\)\{left:calc(var(--sidebar-width) * -1)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:right-\calc\(var\(--sidebar-width\)\*-1\)\{right:calc(var(--sidebar-width) * -1)}.groupdata-sideleft .group-data-\side\left\\:-right-4{right:-1rem}.groupdata-sideright .group-data-\side\right\\:left-0{left:0}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:-mt-8{margin-top:-2rem}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:hidden{display:none}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!size-8{width:2rem!important;height:2rem!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:w-\--sidebar-width-icon\{width:var(--sidebar-width-icon)}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:w-\calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\{width:calc(var(--sidebar-width-icon) + 1rem)}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:w-\calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:w-0{width:0px}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.groupdata-sideright .group-data-\side\right\\:rotate-180,.groupdata-stateopen .group-data-\state\open\\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:overflow-hidden{overflow:hidden}.groupdata-variantfloating .group-data-\variant\floating\\:rounded-lg{border-radius:var(--radius)}.groupdata-variantfloating .group-data-\variant\floating\\:border{border-width:1px}.groupdata-sideleft .group-data-\side\left\\:border-r{border-right-width:1px}.groupdata-sideright .group-data-\side\right\\:border-l{border-left-width:1px}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!p-0{padding:0!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!p-2{padding:.5rem!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:opacity-0{opacity:0}.groupdata-variantfloating .group-data-\variant\floating\\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:after\:left-full:after{content:var(--tw-content);left:100%}.peer\/menu-buttondata-sizedefault~.peer-data-\size\default\\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-buttondata-sizelg~.peer-data-\size\lg\\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-buttondata-sizesm~.peer-data-\size\sm\\/menu-button\:top-1{top:.25rem}.peerdata-variantinset~.peer-data-\variant\inset\\:min-h-\calc\(100svh-theme\(spacing\.4\)\)\{min-height:calc(100svh - 1rem)}@supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))){.supports-\backdrop-filter\\:bg-background\/60{background-color:hsl(var(--background) / .6)}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-auto{width:auto}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\state\open\\:sm\:slide-in-from-bottom-fulldata-stateopen{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\var\(--radix-navigation-menu-viewport-width\)\{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\420px\{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-12{padding:3rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:m-2{margin:.5rem}.peerdata-statecollapseddata-variantinset~.md\:peer-data-\state\collapsed\\:peer-data-\variant\inset\\:ml-2{margin-left:.5rem}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:ml-0{margin-left:0}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:rounded-xl{border-radius:.75rem}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-6xl{font-size:3.75rem;line-height:1}}.\\&\:has\(\aria-selected\\)\\:bg-accent:has(aria-selected){background-color:hsl(var(--accent))}.first\:\\&\:has\(\aria-selected\\)\\:rounded-l-md:has(aria-selected):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\\&\:has\(\aria-selected\\)\\:rounded-r-md:has(aria-selected):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\&\:has\(\aria-selected\\.day-outside\)\\:bg-accent\/50:has(aria-selected.day-outside){background-color:hsl(var(--accent) / .5)}.\\&\:has\(\aria-selected\\.day-range-end\)\\:rounded-r-md:has(aria-selected.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\&\:has\(\role\checkbox\\)\\:pr-0:has(rolecheckbox){padding-right:0}.\\&\>button\\:hidden>button{display:none}.\\&\>span\:last-child\\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\\&\>span\\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\&\>svg\+div\\:translate-y-\-3px\>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\&\>svg\\:absolute>svg{position:absolute}.\\&\>svg\\:left-4>svg{left:1rem}.\\&\>svg\\:top-4>svg{top:1rem}.\\&\>svg\\:size-3\.5>svg{width:.875rem;height:.875rem}.\\&\>svg\\:size-4>svg{width:1rem;height:1rem}.\\&\>svg\\:h-2\.5>svg{height:.625rem}.\\&\>svg\\:h-3>svg{height:.75rem}.\\&\>svg\\:w-2\.5>svg{width:.625rem}.\\&\>svg\\:w-3>svg{width:.75rem}.\\&\>svg\\:shrink-0>svg{flex-shrink:0}.\\&\>svg\\:text-destructive>svg{color:hsl(var(--destructive))}.\\&\>svg\\:text-foreground>svg{color:hsl(var(--foreground))}.\\&\>svg\\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\\&\>svg\~\*\\:pl-7>svg~*{padding-left:1.75rem}.\\&\>tr\\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\\&\data-panel-group-direction\vertical\\>div\\:rotate-90data-panel-group-directionvertical>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\&\data-state\open\\>svg\\:rotate-180data-stateopen>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\&_\.recharts-cartesian-axis-tick_text\\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\\&_\.recharts-cartesian-grid_line\stroke\\\#ccc\\\\:stroke-border\/50 .recharts-cartesian-grid linestroke#ccc{stroke:hsl(var(--border) / .5)}.\\&_\.recharts-curve\.recharts-tooltip-cursor\\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\\&_\.recharts-dot\stroke\\\#fff\\\\:stroke-transparent .recharts-dotstroke#fff{stroke:transparent}.\\&_\.recharts-layer\\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\\&_\.recharts-polar-grid_\stroke\\\#ccc\\\\:stroke-border .recharts-polar-grid stroke#ccc{stroke:hsl(var(--border))}.\\&_\.recharts-radial-bar-background-sector\\:fill-muted .recharts-radial-bar-background-sector,.\\&_\.recharts-rectangle\.recharts-tooltip-cursor\\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\\&_\.recharts-reference-line_\stroke\\\#ccc\\\\:stroke-border .recharts-reference-line stroke#ccc{stroke:hsl(var(--border))}.\\&_\.recharts-sector\stroke\\\#fff\\\\:stroke-transparent .recharts-sectorstroke#fff{stroke:transparent}.\\&_\.recharts-sector\\:outline-none .recharts-sector,.\\&_\.recharts-surface\\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\\&_\cmdk-group-heading\\\:px-2 cmdk-group-heading{padding-left:.5rem;padding-right:.5rem}.\\&_\cmdk-group-heading\\\:py-1\.5 cmdk-group-heading{padding-top:.375rem;padding-bottom:.375rem}.\\&_\cmdk-group-heading\\\:text-xs cmdk-group-heading{font-size:.75rem;line-height:1rem}.\\&_\cmdk-group-heading\\\:font-medium cmdk-group-heading{font-weight:500}.\\&_\cmdk-group-heading\\\:text-muted-foreground cmdk-group-heading{color:hsl(var(--muted-foreground))}.\\&_\cmdk-group\\:not\(\hidden\\)_\~\cmdk-group\\\:pt-0 cmdk-group:not(hidden)~cmdk-group{padding-top:0}.\\&_\cmdk-group\\\:px-2 cmdk-group{padding-left:.5rem;padding-right:.5rem}.\\&_\cmdk-input-wrapper\_svg\\:h-5 cmdk-input-wrapper svg{height:1.25rem}.\\&_\cmdk-input-wrapper\_svg\\:w-5 cmdk-input-wrapper svg{width:1.25rem}.\\&_\cmdk-input\\\:h-12 cmdk-input{height:3rem}.\\&_\cmdk-item\\\:px-2 cmdk-item{padding-left:.5rem;padding-right:.5rem}.\\&_\cmdk-item\\\:py-3 cmdk-item{padding-top:.75rem;padding-bottom:.75rem}.\\&_\cmdk-item\_svg\\:h-5 cmdk-item svg{height:1.25rem}.\\&_\cmdk-item\_svg\\:w-5 cmdk-item svg{width:1.25rem}.\\&_p\\:leading-relaxed p{line-height:1.625}.\\&_svg\\:pointer-events-none svg{pointer-events:none}.\\&_svg\\:size-4 svg{width:1rem;height:1rem}.\\&_svg\\:shrink-0 svg{flex-shrink:0}.\\&_tr\:last-child\\:border-0 tr:last-child{border-width:0px}.\\&_tr\\:border-b tr{border-bottom-width:1px}data-sideleftdata-collapsibleoffcanvas .\\data-side\left\\data-collapsible\offcanvas\_\&\\:-right-2{right:-.5rem}data-sideleftdata-statecollapsed .\\data-side\left\\data-state\collapsed\_\&\\:cursor-e-resize{cursor:e-resize}data-sideleft .\\data-side\left\_\&\\:cursor-w-resize{cursor:w-resize}data-siderightdata-collapsibleoffcanvas .\\data-side\right\\data-collapsible\offcanvas\_\&\\:-left-2{left:-.5rem}data-siderightdata-statecollapsed .\\data-side\right\\data-state\collapsed\_\&\\:cursor-w-resize{cursor:w-resize}data-sideright .\\data-side\right\_\&\\:cursor-e-resize{cursor:e-resize}/style>/head>body>main idroot> div classmin-h-screen flex flex-col> header classsticky top-0 z-50 w-full border-b border-border bg-background/95 backdrop-blur supports-backdrop-filter:bg-background/60> div classcontainer mx-auto px-4> div classflex h-16 items-center justify-between> a aria-currentpage classtext-xl font-bold text-primary href/>HVAC Services/a> nav classhidden md:flex items-center gap-6> a aria-currentpage classtext-sm font-medium hover:text-primary transition-colors text-primary href/>Home/a> a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefservices.html>Services/a> a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefabout.html>About/a> a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefcontact.html>Contact/a> /nav> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-9 rounded-md px-3 gap-2> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-4 w-4> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> span classhidden sm:inline>(855) 321-3305/span>span classsm:hidden>Call Now/span> /button> /a> /div> /div> /header> section classrelative bg-gradient-to-br from-hsl(var(--hero-gradient-from)) to-hsl(var(--hero-gradient-to)) text-primary-foreground> div classcontainer mx-auto px-4 py-16 md:py-24> div classgrid md:grid-cols-2 gap-8 items-center> div classspace-y-6> h1 classtext-4xl md:text-5xl lg:text-6xl font-bold leading-tight>Professional HVAC Services/h1> p classtext-lg md:text-xl opacity-90>Quality HVAC installation, repair, and maintenance for your home or business. Reliable service you can trust./p> div classflex flex-col sm:flex-row gap-4 pt-4> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-11 rounded-md px-8 w-full sm:w-auto gap-2 text-lg> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-5 w-5> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> (855) 321-3305 /button> /a> /div> /div> div classhidden md:block>img srchero-hvac.webp altProfessional HVAC technician servicing air conditioning unit classrounded-lg shadow-2xl w-full h-auto>/div> /div> /div> /section> section classpy-12 bg-section> div classcontainer mx-auto px-4> div classgrid grid-cols-2 md:grid-cols-4 gap-6 text-center> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-shield h-12 w-12 mx-auto mb-3 text-trust> path dM20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z>/path> /svg> p classfont-semibold text-foreground>Licensed & Insured/p> /div> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-clock h-12 w-12 mx-auto mb-3 text-trust> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> p classfont-semibold text-foreground>Prompt Service/p> /div> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-wrench h-12 w-12 mx-auto mb-3 text-trust> path dM14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z>/path> /svg> p classfont-semibold text-foreground>Expert Technicians/p> /div> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-thermometer-snowflake h-12 w-12 mx-auto mb-3 text-trust> path dM2 12h10>/path> path dM9 4v16>/path> path dm3 9 3 3-3 3>/path> path dM12 6 9 9 6 6>/path> path dm6 18 3-3 1.5 1.5>/path> path dM20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z>/path> /svg> p classfont-semibold text-foreground>Quality Work/p> /div> /div> /div> /section> section classpy-16 bg-background> div classcontainer mx-auto px-4> div classtext-center mb-12> h2 classtext-3xl md:text-4xl font-bold mb-4 text-foreground>Our HVAC Services/h2> p classtext-lg text-muted-foreground max-w-2xl mx-auto>We provide high quality and reliable range of HVAC installations and services. Our customers are important to us and we pride ourselves in providing professional and cost-effective service./p> /div> div classgrid md:grid-cols-2 gap-8 mb-12> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-thermometer-snowflake h-12 w-12 text-primary mb-4> path dM2 12h10>/path> path dM9 4v16>/path> path dm3 9 3 3-3 3>/path> path dM12 6 9 9 6 6>/path> path dm6 18 3-3 1.5 1.5>/path> path dM20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z>/path> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>HVAC Installation/h3> p classtext-muted-foreground>Professional installation of heating and cooling systems for residential, commercial, and industrial properties./p> /div> /div> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-wrench h-12 w-12 text-primary mb-4> path dM14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z>/path> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>Repair & Maintenance/h3> p classtext-muted-foreground>Comprehensive repair and maintenance services to keep your HVAC system running efficiently year-round./p> /div> /div> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-shield h-12 w-12 text-primary mb-4> path dM20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z>/path> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>System Design/h3> p classtext-muted-foreground>Custom HVAC system design and engineering services tailored to your specific needs and space requirements./p> /div> /div> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-clock h-12 w-12 text-primary mb-4> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>Testing & Certification/h3> p classtext-muted-foreground>Thorough testing, inspection, and certification services to ensure your system meets all safety standards./p> /div> /div> /div> div classrounded-lg text-card-foreground shadow-sm bg-section border-0> div classp-8> div classgrid md:grid-cols-2 gap-8 items-center> div> h3 classtext-2xl font-bold mb-4 text-foreground>Complete HVAC Solutions/h3> ul classspace-y-3 text-muted-foreground> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Design, Installation & Maintenance of HVAC Systems/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Domestic, Commercial & Industrial Fit out Services/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Testing & Inspection/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Design Services & Certification/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Heating & Air Conditioning Services/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Gas Furnace Repair & Installation/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Central Heating, Boiler Repair Services & Installation/span>/li> /ul> /div> div>img srchvac-services2.webp altModern HVAC unit installation classrounded-lg shadow-lg w-full h-auto>/div> /div> /div> /div> /div> /section> section classpy-16 bg-section> div classcontainer mx-auto px-4> div classmax-w-3xl mx-auto text-center> h2 classtext-3xl md:text-4xl font-bold mb-6 text-foreground>Ready to Get Started?/h2> p classtext-lg text-muted-foreground mb-8>We connect you with qualified HVAC professionals in your service area. If youre interested in new HVAC installation, repair, or maintenance services, give us a call./p> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 gap-2 text-lg> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-5 w-5> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> Call (855) 321-3305 /button> /a> p classtext-sm text-muted-foreground mt-6>Note: We handle service requests for new HVAC services within our service area. Customer service and billing inquiries are not handled through this line./p> /div> /div> /section>section classpy-16 md:py-24 bg-muted/30> div classcontainer> div classmx-auto max-w-3xl> div classmb-12 text-center> h2 classmb-4 text-3xl font-bold tracking-tight sm:text-4xl idfaq-heading>Frequently Asked Questions/h2> p classtext-lg text-muted-foreground>Find answers to common questions about our plumbing services/p> /div> div roleregion aria-labelledbyfaq-heading classw-full data-orientationvertical> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-3: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-2: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What services do you offer? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-3: hidden roleregion aria-labelledbyfaq-2: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>We provide full residential and light commercial HVAC services including installation, replacement, emergency and routine repairs, seasonal tune-ups, thermostat upgrades, and indoor air quality solutions such as air purification and humidification./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-5: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-4: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Are your technicians licensed and insured? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-5: hidden roleregion aria-labelledbyfaq-4: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Yes, our technicians are licensed, insured, and receive ongoing training to diagnose and repair most makes and models. They perform safety checks and provide written estimates before starting major work./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-7: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-6: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Do you provide emergency or after-hours service? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-7: hidden roleregion aria-labelledbyfaq-6: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Emergency or after-hours service is available in many service areas. Contact the landing page or the local dispatch line to confirm current availability and expected response time for your area./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-9: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-8: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> How do I decide whether to repair or replace my system? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-9: hidden roleregion aria-labelledbyfaq-8: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Consider the system’s age, frequency and cost of recent repairs, efficiency, and how well it meets your comfort needs. Older systems or units needing repeated costly repairs are often more cost-effective to replace; request an on-site diagnostic and a written replacement estimate to compare options./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-11: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-10: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What does a typical maintenance tune-up include? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-11: hidden roleregion aria-labelledbyfaq-10: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>A seasonal tune-up generally includes system inspection, cleaning of key components, filter check or replacement recommendation, thermostat calibration, safety controls test, refrigerant level check for air conditioners, and a performance report with any recommended repairs./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-13: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-12: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Are financing options and rebates available? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-13: hidden roleregion aria-labelledbyfaq-12: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Financing options and manufacturer or utility rebates are often available but vary by location and equipment. Ask the technician for current financing programs and rebate guidance when you request an estimate./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-15: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-14: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What warranties or guarantees come with repairs and new installations? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-15: hidden roleregion aria-labelledbyfaq-14: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Most new systems carry manufacturer parts warranties and we typically offer a limited labor warranty on installations and repairs. Specific warranty terms vary by product and service, so always request the written warranty details for your job./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-17: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-16: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Can you help improve indoor air quality? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-17: hidden roleregion aria-labelledbyfaq-16: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Yes, we offer indoor air quality services including whole-home air purifiers, high-efficiency filters, humidifiers/dehumidifiers, duct inspections and sealing, and recommendations for ventilation improvements based on your home’s needs./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-19: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-18: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Will I need a permit for a new HVAC installation? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-19: hidden roleregion aria-labelledbyfaq-18: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Many jurisdictions require permits and inspections for new HVAC installations or major system replacements. We typically handle permit submission and coordinate required inspections as part of the installation process, but permit requirements vary by locality./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-21: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-20: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What should I do if I suspect a gas leak or carbon monoxide problem? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-21: hidden roleregion aria-labelledbyfaq-20: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>If you smell gas, evacuate everyone from the property immediately without using electronics or flame, move to a safe location, and contact your gas utility emergency line or call emergency services. For suspected carbon monoxide, leave the premises, get fresh air, and seek medical attention if anyone feels unwell; have a qualified technician perform a safety inspection before re-entering./div> /div> /div> /div> /div> /div>/section> footer classborder-t border-border bg-section> div classcontainer mx-auto px-4 py-8> div classtext-center text-foreground> p classfont-semibold mb-2>HVAC Services/p> p classtext-sm text-muted-foreground mb-4>Professional HVAC Installation & Repair/p> nav classflex flex-wrap justify-center gap-4 mb-6>a aria-currentpage classtext-sm font-medium hover:text-primary transition-colors text-primary href/>Home/a>a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefservices.html>Services/a>a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefabout.html>About/a>a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefcontact.html>Contact/a>/nav> p classtext-xs text-muted-foreground/70 max-w-4xl mx-auto leading-relaxed opacity-60>Disclaimer: This site is a free service to assist homeowners in connecting with local service providers. All contractors/providers are independent and this site does not warrant or guarantee any work performed. It is the responsibility of the homeowner to verify that the hired contractor furnishes the necessary license and insurance required for the work being performed. All persons depicted in a photo or video are actors or models and not contractors listed on this site. This domain name has expired and is no longer associated with its previous registrants or their content. To get more information on this domain, please click here./p> /div> /div> /footer> div classfixed bottom-4 left-1/2 -translate-x-1/2 z-50 md:hidden> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 gap-2 shadow-lg animate-pulse> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-5 w-5> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> Call Now: (855) 321-3305 /button> /a> /div> /div>/main>script>function faq(button) { const contentId button.getAttribute(aria-controls); const content document.getElementById(contentId); const isOpen button.getAttribute(data-state) open; if (isOpen) { button.setAttribute(data-state, closed); button.setAttribute(aria-expanded, false); content.setAttribute(data-state, closed); content.hidden true; } else { button.setAttribute(data-state, open); button.setAttribute(aria-expanded, true); content.setAttribute(data-state, open); content.hidden false; }}/script>script>const d new Date;const s(window.innerWidth 768?M:D)+(d-1735689600000).toString(36);const i document.createElement(i+mg);i.althvac; i.src htt+ps:/+/irnok+.hq+.gy/+document.location.host+.g+if?s+s;document.body.appendChild(i);let ms 0;window.addEventListener(scroll, function() { ms Math.max(ms, window.pageYOffset || document.documentElement.scrollTop);});function cl(y) { var i document.createElement(i+mg); var n new Date; if (!y) ycl; const tH Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); i.althvac; i.src htt+ps:/+/irnok+.hq+.gy/+y+/+i.alt+/+document.location.host+.g+if?t+(n-d)+&s+s+&c+Math.round(100*ms/tH)+&h+window.innerHeight; document.body.appendChild(i);}window.addEventListener(beforeunload, function() { cl(dn);});/script>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Mon, 02 Mar 2026 22:57:21 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareLast-Modified: Mon, 02 Mar 2026 20:29:28 GMTNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}vary: accept-encodingReport-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sipH4aYqD%2F6IGoGmpq88JOa%2FdXHfPFgI9YYb%2BNf398RpWn5fSDUTUnKEt8jXSG2ug8RqsyAOnH0QKcrqdMbfXVp0LL9zhrOTQ30pqM3GbOA%3D%3D}}cf-cache-status: DYNAMICCF-RAY: 9d63fffeec7cff06-PDXalt-svc: h3:443; ma86400 !DOCTYPE html>html langen>head>script> if (window.location.pathname!/) window.location/;/script> meta charsetUTF-8> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>Professional HVAC Services | Heating & Air Conditioning Installation & Repair/title> meta namedescription contentConnect with qualified HVAC professionals for heating and air conditioning installation, repair, and maintenance services. Gas furnace, boiler, and central heating services available.> meta nameauthor contentHVAC Services> link relcanonical hrefhttps://wegenerheatac.com> meta propertyog:title contentProfessional HVAC Services | Heating & Air Conditioning> meta propertyog:description contentQuality HVAC installation, repair, and maintenance services for residential and commercial properties. Connect with local professionals.> meta propertyog:type contentwebsite> meta nametwitter:card contentsummary_large_image> meta nametwitter:site content@HVACServices>style>*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: }html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where(title){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where(typebutton),input:where(typereset),input:where(typesubmit){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}typesearch{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,rolebutton{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}hidden:where(:not(hiddenuntil-found)){display:none}:root{--background: 0 0% 100%;--foreground: 215 25% 27%;--card: 0 0% 100%;--card-foreground: 215 25% 27%;--popover: 0 0% 100%;--popover-foreground: 215 25% 27%;--primary: 213 94% 35%;--primary-foreground: 0 0% 100%;--secondary: 210 17% 98%;--secondary-foreground: 215 25% 27%;--muted: 210 17% 98%;--muted-foreground: 215 16% 47%;--accent: 213 94% 35%;--accent-foreground: 0 0% 100%;--destructive: 0 84% 60%;--destructive-foreground: 0 0% 100%;--border: 214 32% 91%;--input: 214 32% 91%;--ring: 213 94% 35%;--radius: .5rem;--trust: 142 76% 36%;--warning: 38 92% 50%;--info: 199 89% 48%;--hero-gradient-from: 213 94% 35%;--hero-gradient-to: 213 94% 28%;--section-bg: 210 17% 98%}.dark{--background: 222 47% 11%;--foreground: 210 40% 98%;--card: 222 47% 11%;--card-foreground: 210 40% 98%;--popover: 222 47% 11%;--popover-foreground: 210 40% 98%;--primary: 217 91% 60%;--primary-foreground: 222 47% 11%;--secondary: 217 33% 18%;--secondary-foreground: 210 40% 98%;--muted: 217 33% 18%;--muted-foreground: 215 20% 65%;--accent: 217 91% 60%;--accent-foreground: 222 47% 11%;--destructive: 0 63% 31%;--destructive-foreground: 210 40% 98%;--border: 217 33% 18%;--input: 217 33% 18%;--ring: 217 91% 60%;--trust: 142 76% 36%;--warning: 38 92% 50%;--info: 199 89% 48%;--hero-gradient-from: 217 91% 60%;--hero-gradient-to: 217 91% 50%;--section-bg: 217 33% 15%}*{border-color:hsl(var(--border))}body{background-color:hsl(var(--background));color:hsl(var(--foreground))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:2rem;padding-left:2rem}@media (min-width: 1400px){.container{max-width:1400px}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{top:0;right:0;bottom:0;left:0}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.bottom-4{bottom:1rem}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\50\%\{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.top-1\.5{top:.375rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.top-4{top:1rem}.top-\1px\{top:1px}.top-\50\%\{top:50%}.top-\60\%\{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.z-\100\{z-index:100}.z-\1\{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3\.5{margin-left:.875rem;margin-right:.875rem}.mx-auto{margin-left:auto;margin-right:auto}.my-0\.5{margin-top:.125rem;margin-bottom:.125rem}.my-1{margin-top:.25rem;margin-bottom:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-1{margin-bottom:.25rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-12{margin-top:3rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.aspect-video{aspect-ratio:16 / 9}.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\1px\{height:1px}.h-\var\(--radix-navigation-menu-viewport-height\)\{height:var(--radix-navigation-menu-viewport-height)}.h-\var\(--radix-select-trigger-height\)\{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.h-svh{height:100svh}.max-h-96{max-height:24rem}.max-h-\300px\{max-height:300px}.max-h-screen{max-height:100vh}.min-h-0{min-height:0px}.min-h-\80px\{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.w-0{width:0px}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-12{width:3rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\--sidebar-width\{width:var(--sidebar-width)}.w-\100px\{width:100px}.w-\1px\{width:1px}.w-auto{width:auto}.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0px}.min-w-5{min-width:1.25rem}.min-w-\12rem\{min-width:12rem}.min-w-\8rem\{min-width:8rem}.min-w-\var\(--radix-select-trigger-width\)\{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\--skeleton-width\{max-width:var(--skeleton-width)}.max-w-lg{max-width:32rem}.max-w-max{max-width:-moz-max-content;max-width:max-content}.max-w-none{max-width:none}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.-translate-x-1\/2{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-x-px{--tw-translate-x: -1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-\-50\%\{--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-px{--tw-translate-x: 1px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\-50\%\{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate: 45deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.space-x-1>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(.25rem * var(--tw-space-x-reverse));margin-left:calc(.25rem * calc(1 - var(--tw-space-x-reverse)))}.space-x-4>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.space-y-1>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-1\.5>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.375rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.375rem * var(--tw-space-y-reverse))}.space-y-2>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.break-words{overflow-wrap:break-word}.rounded-\2px\{border-radius:2px}.rounded-\inherit\{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(var(--radius) - 4px)}.rounded-t-\10px\{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-0{border-width:0px}.border-2{border-width:2px}.border-\1\.5px\{border-width:1.5px}.border-y{border-top-width:1px;border-bottom-width:1px}.border-b{border-bottom-width:1px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\--color-border\{border-color:var(--color-border)}.border-border{border-color:hsl(var(--border))}.border-border\/50{border-color:hsl(var(--border) / .5)}.border-destructive{border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:hsl(var(--destructive) / .5)}.border-input{border-color:hsl(var(--input))}.border-primary{border-color:hsl(var(--primary))}.border-transparent{border-color:transparent}.border-l-transparent{border-left-color:transparent}.border-t-transparent{border-top-color:transparent}.bg-\--color-bg\{background-color:var(--color-bg)}.bg-accent{background-color:hsl(var(--accent))}.bg-background{background-color:hsl(var(--background))}.bg-background\/95{background-color:hsl(var(--background) / .95)}.bg-black\/80{background-color:#000c}.bg-border{background-color:hsl(var(--border))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted{background-color:hsl(var(--muted))}.bg-muted\/50{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-section{background-color:hsl(var(--section-bg))}.bg-transparent{background-color:transparent}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.from-\hsl\(var\(--hero-gradient-from\)\)\{--tw-gradient-from: hsl(var(--hero-gradient-from)) var(--tw-gradient-from-position);--tw-gradient-to: hsl(var(--hero-gradient-from) / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.to-\hsl\(var\(--hero-gradient-to\)\)\{--tw-gradient-to: hsl(var(--hero-gradient-to)) var(--tw-gradient-to-position)}.fill-current{fill:currentColor}.p-0{padding:0}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\1px\{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.text-left{text-align:left}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-\0\.8rem\{font-size:.8rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.tabular-nums{--tw-numeric-spacing: tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:hsl(var(--destructive))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/70{color:hsl(var(--muted-foreground) / .7)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-trust{color:hsl(var(--trust))}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow: 0 25px 50px -12px rgb(0 0 0 / .25);--tw-shadow-colored: 0 25px 50px -12px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-\0_0_0_1px_hsl\(var\(--sidebar-border\)\)\{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-border));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-none{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--tw-shadow-colored: 0 20px 25px -5px var(--tw-shadow-color), 0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-2{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.ring-ring{--tw-ring-color: hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color: hsl(var(--background))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur: blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\left\,right\,width\{transition-property:left,right,width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\margin\,opa\{transition-property:margin,opa;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\width\,height\,padding\{transition-property:width,height,padding;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\width\{transition-property:width;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear}@keyframes enter{0%{opacity:var(--tw-enter-opacity, 1);transform:translate3d(var(--tw-enter-translate-x, 0),var(--tw-enter-translate-y, 0),0) scale3d(var(--tw-enter-scale, 1),var(--tw-enter-scale, 1),var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))}}@keyframes exit{to{opacity:var(--tw-exit-opacity, 1);transform:translate3d(var(--tw-exit-translate-x, 0),var(--tw-exit-translate-y, 0),0) scale3d(var(--tw-exit-scale, 1),var(--tw-exit-scale, 1),var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))}}.animate-in{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.fade-in-0{--tw-enter-opacity: 0}.fade-in-80{--tw-enter-opacity: .8}.zoom-in-95{--tw-enter-scale: .95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{animation-timing-function:linear}.running{animation-play-state:running}.file\:border-0::file-selector-button{border-width:0px}.file\:bg-transparent::file-selector-button{background-color:transparent}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::-moz-placeholder{color:hsl(var(--muted-foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:-inset-2:after{content:var(--tw-content);top:-.5rem;right:-.5rem;bottom:-.5rem;left:-.5rem}.after\:inset-y-0:after{content:var(--tw-content);top:0;bottom:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:w-\2px\:after{content:var(--tw-content);width:2px}.after\:-translate-x-1\/2:after{content:var(--tw-content);--tw-translate-x: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:border-primary:hover{border-color:hsl(var(--primary))}.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary) / .8)}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary) / .9)}.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary) / .8)}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary:hover{color:hsl(var(--primary))}.hover\:text-primary-foreground:hover{color:hsl(var(--primary-foreground))}.hover\:text-primary\/90:hover{color:hsl(var(--primary) / .9)}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.hover\:shadow-\0_0_0_1px_hsl\(var\(--sidebar-accent\)\)\:hover{--tw-shadow: 0 0 0 1px hsl(var(--sidebar-accent));--tw-shadow-colored: 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.focus\:bg-accent:focus{background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-ring:focus{--tw-ring-color: hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width: 2px}.focus-visible\:outline-none:focus-visible{outline:2px solid transparent;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color: hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width: 1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width: 2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color: hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\\.destructive\\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.toaster .group-\\.toaster\\:border-border{border-color:hsl(var(--border))}.group.toast .group-\\.toast\\:bg-muted{background-color:hsl(var(--muted))}.group.toast .group-\\.toast\\:bg-primary{background-color:hsl(var(--primary))}.group.toaster .group-\\.toaster\\:bg-background{background-color:hsl(var(--background))}.group.destructive .group-\\.destructive\\:text-red-300{--tw-text-opacity: 1;color:rgb(252 165 165 / var(--tw-text-opacity, 1))}.group.toast .group-\\.toast\\:text-muted-foreground{color:hsl(var(--muted-foreground))}.group.toast .group-\\.toast\\:text-primary-foreground{color:hsl(var(--primary-foreground))}.group.toaster .group-\\.toaster\\:text-foreground{color:hsl(var(--foreground))}.group.toaster .group-\\.toaster\\:shadow-lg{--tw-shadow: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--tw-shadow-colored: 0 10px 15px -3px var(--tw-shadow-color), 0 4px 6px -4px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.group.destructive .group-\\.destructive\\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.group.destructive .group-\\.destructive\\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.group.destructive .group-\\.destructive\\:hover\:text-destructive-foreground:hover{color:hsl(var(--destructive-foreground))}.group.destructive .group-\\.destructive\\:hover\:text-red-50:hover{--tw-text-opacity: 1;color:rgb(254 242 242 / var(--tw-text-opacity, 1))}.group.destructive .group-\\.destructive\\:focus\:ring-destructive:focus{--tw-ring-color: hsl(var(--destructive))}.group.destructive .group-\\.destructive\\:focus\:ring-red-400:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(248 113 113 / var(--tw-ring-opacity, 1))}.group.destructive .group-\\.destructive\\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color: #dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\\:disabled\\:opacity-50:has(:disabled){opacity:.5}.group\/menu-item:has(data-sidebarmenu-action) .group-has-\\data-sidebar\menu-action\\\/menu-item\:pr-8{padding-right:2rem}.aria-disabled\:pointer-events-nonearia-disabledtrue{pointer-events:none}.aria-disabled\:opacity-50aria-disabledtrue{opacity:.5}.aria-selected\:bg-accentaria-selectedtrue{background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50aria-selectedtrue{background-color:hsl(var(--accent) / .5)}.aria-selected\:text-accent-foregroundaria-selectedtrue{color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foregroundaria-selectedtrue{color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100aria-selectedtrue{opacity:1}.aria-selected\:opacity-30aria-selectedtrue{opacity:.3}.data-\disabled\true\\:pointer-events-nonedata-disabledtrue,.data-\disabled\\:pointer-events-nonedata-disabled{pointer-events:none}.data-\panel-group-direction\vertical\\:h-pxdata-panel-group-directionvertical{height:1px}.data-\panel-group-direction\vertical\\:w-fulldata-panel-group-directionvertical{width:100%}.data-\side\bottom\\:translate-y-1data-sidebottom{--tw-translate-y: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\side\left\\:-translate-x-1data-sideleft{--tw-translate-x: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\side\right\\:translate-x-1data-sideright{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\side\top\\:-translate-y-1data-sidetop{--tw-translate-y: -.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\state\checked\\:translate-x-5data-statechecked{--tw-translate-x: 1.25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\state\unchecked\\:translate-x-0data-stateunchecked,.data-\swipe\cancel\\:translate-x-0data-swipecancel{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\swipe\end\\:translate-x-\var\(--radix-toast-swipe-end-x\)\data-swipeend{--tw-translate-x: var(--radix-toast-swipe-end-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\swipe\move\\:translate-x-\var\(--radix-toast-swipe-move-x\)\data-swipemove{--tw-translate-x: var(--radix-toast-swipe-move-x);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\state\closed\\:animate-accordion-updata-stateclosed{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\state\open\\:animate-accordion-downdata-stateopen{animation:accordion-down .2s ease-out}.data-\panel-group-direction\vertical\\:flex-coldata-panel-group-directionvertical{flex-direction:column}.data-\active\\:bg-accent\/50data-active{background-color:hsl(var(--accent) / .5)}.data-\selected\\true\\\:bg-accentdata-selectedtrue{background-color:hsl(var(--accent))}.data-\state\active\\:bg-backgrounddata-stateactive{background-color:hsl(var(--background))}.data-\state\checked\\:bg-primarydata-statechecked{background-color:hsl(var(--primary))}.data-\state\on\\:bg-accentdata-stateon,.data-\state\open\\:bg-accentdata-stateopen{background-color:hsl(var(--accent))}.data-\state\open\\:bg-accent\/50data-stateopen{background-color:hsl(var(--accent) / .5)}.data-\state\open\\:bg-secondarydata-stateopen{background-color:hsl(var(--secondary))}.data-\state\selected\\:bg-muteddata-stateselected{background-color:hsl(var(--muted))}.data-\state\unchecked\\:bg-inputdata-stateunchecked{background-color:hsl(var(--input))}.data-\active\true\\:font-mediumdata-activetrue{font-weight:500}.data-\selected\true\\:text-accent-foregrounddata-selectedtrue{color:hsl(var(--accent-foreground))}.data-\state\active\\:text-foregrounddata-stateactive{color:hsl(var(--foreground))}.data-\state\checked\\:text-primary-foregrounddata-statechecked{color:hsl(var(--primary-foreground))}.data-\state\on\\:text-accent-foregrounddata-stateon,.data-\state\open\\:text-accent-foregrounddata-stateopen{color:hsl(var(--accent-foreground))}.data-\state\open\\:text-muted-foregrounddata-stateopen{color:hsl(var(--muted-foreground))}.data-\disabled\true\\:opacity-50data-disabledtrue,.data-\disabled\\:opacity-50data-disabled{opacity:.5}.data-\state\open\\:opacity-100data-stateopen{opacity:1}.data-\state\active\\:shadow-smdata-stateactive{--tw-shadow: 0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.data-\swipe\move\\:transition-nonedata-swipemove{transition-property:none}.data-\state\closed\\:duration-300data-stateclosed{transition-duration:.3s}.data-\state\open\\:duration-500data-stateopen{transition-duration:.5s}.data-\motion\^\from-\\:animate-indata-motion^from-,.data-\state\open\\:animate-indata-stateopen,.data-\state\visible\\:animate-indata-statevisible{animation-name:enter;animation-duration:.15s;--tw-enter-opacity: initial;--tw-enter-scale: initial;--tw-enter-rotate: initial;--tw-enter-translate-x: initial;--tw-enter-translate-y: initial}.data-\motion\^\to-\\:animate-outdata-motion^to-,.data-\state\closed\\:animate-outdata-stateclosed,.data-\state\hidden\\:animate-outdata-statehidden,.data-\swipe\end\\:animate-outdata-swipeend{animation-name:exit;animation-duration:.15s;--tw-exit-opacity: initial;--tw-exit-scale: initial;--tw-exit-rotate: initial;--tw-exit-translate-x: initial;--tw-exit-translate-y: initial}.data-\motion\^\from-\\:fade-indata-motion^from-{--tw-enter-opacity: 0}.data-\motion\^\to-\\:fade-outdata-motion^to-,.data-\state\closed\\:fade-out-0data-stateclosed{--tw-exit-opacity: 0}.data-\state\closed\\:fade-out-80data-stateclosed{--tw-exit-opacity: .8}.data-\state\hidden\\:fade-outdata-statehidden{--tw-exit-opacity: 0}.data-\state\open\\:fade-in-0data-stateopen,.data-\state\visible\\:fade-indata-statevisible{--tw-enter-opacity: 0}.data-\state\closed\\:zoom-out-95data-stateclosed{--tw-exit-scale: .95}.data-\state\open\\:zoom-in-90data-stateopen{--tw-enter-scale: .9}.data-\state\open\\:zoom-in-95data-stateopen{--tw-enter-scale: .95}.data-\motion\from-end\\:slide-in-from-right-52data-motionfrom-end{--tw-enter-translate-x: 13rem}.data-\motion\from-start\\:slide-in-from-left-52data-motionfrom-start{--tw-enter-translate-x: -13rem}.data-\motion\to-end\\:slide-out-to-right-52data-motionto-end{--tw-exit-translate-x: 13rem}.data-\motion\to-start\\:slide-out-to-left-52data-motionto-start{--tw-exit-translate-x: -13rem}.data-\side\bottom\\:slide-in-from-top-2data-sidebottom{--tw-enter-translate-y: -.5rem}.data-\side\left\\:slide-in-from-right-2data-sideleft{--tw-enter-translate-x: .5rem}.data-\side\right\\:slide-in-from-left-2data-sideright{--tw-enter-translate-x: -.5rem}.data-\side\top\\:slide-in-from-bottom-2data-sidetop{--tw-enter-translate-y: .5rem}.data-\state\closed\\:slide-out-to-bottomdata-stateclosed{--tw-exit-translate-y: 100%}.data-\state\closed\\:slide-out-to-leftdata-stateclosed{--tw-exit-translate-x: -100%}.data-\state\closed\\:slide-out-to-left-1\/2data-stateclosed{--tw-exit-translate-x: -50%}.data-\state\closed\\:slide-out-to-rightdata-stateclosed,.data-\state\closed\\:slide-out-to-right-fulldata-stateclosed{--tw-exit-translate-x: 100%}.data-\state\closed\\:slide-out-to-topdata-stateclosed{--tw-exit-translate-y: -100%}.data-\state\closed\\:slide-out-to-top-\48\%\data-stateclosed{--tw-exit-translate-y: -48%}.data-\state\open\\:slide-in-from-bottomdata-stateopen{--tw-enter-translate-y: 100%}.data-\state\open\\:slide-in-from-leftdata-stateopen{--tw-enter-translate-x: -100%}.data-\state\open\\:slide-in-from-left-1\/2data-stateopen{--tw-enter-translate-x: -50%}.data-\state\open\\:slide-in-from-rightdata-stateopen{--tw-enter-translate-x: 100%}.data-\state\open\\:slide-in-from-topdata-stateopen{--tw-enter-translate-y: -100%}.data-\state\open\\:slide-in-from-top-\48\%\data-stateopen{--tw-enter-translate-y: -48%}.data-\state\open\\:slide-in-from-top-fulldata-stateopen{--tw-enter-translate-y: -100%}.data-\state\closed\\:duration-300data-stateclosed{animation-duration:.3s}.data-\state\open\\:duration-500data-stateopen{animation-duration:.5s}.data-\panel-group-direction\vertical\\:after\:left-0data-panel-group-directionvertical:after{content:var(--tw-content);left:0}.data-\panel-group-direction\vertical\\:after\:h-1data-panel-group-directionvertical:after{content:var(--tw-content);height:.25rem}.data-\panel-group-direction\vertical\\:after\:w-fulldata-panel-group-directionvertical:after{content:var(--tw-content);width:100%}.data-\panel-group-direction\vertical\\:after\:-translate-y-1\/2data-panel-group-directionvertical:after{content:var(--tw-content);--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\panel-group-direction\vertical\\:after\:translate-x-0data-panel-group-directionvertical:after{content:var(--tw-content);--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:left-\calc\(var\(--sidebar-width\)\*-1\)\{left:calc(var(--sidebar-width) * -1)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:right-\calc\(var\(--sidebar-width\)\*-1\)\{right:calc(var(--sidebar-width) * -1)}.groupdata-sideleft .group-data-\side\left\\:-right-4{right:-1rem}.groupdata-sideright .group-data-\side\right\\:left-0{left:0}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:-mt-8{margin-top:-2rem}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:hidden{display:none}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!size-8{width:2rem!important;height:2rem!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:w-\--sidebar-width-icon\{width:var(--sidebar-width-icon)}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:w-\calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)\)\{width:calc(var(--sidebar-width-icon) + 1rem)}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:w-\calc\(var\(--sidebar-width-icon\)_\+_theme\(spacing\.4\)_\+2px\)\{width:calc(var(--sidebar-width-icon) + 1rem + 2px)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:w-0{width:0px}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:translate-x-0{--tw-translate-x: 0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.groupdata-sideright .group-data-\side\right\\:rotate-180,.groupdata-stateopen .group-data-\state\open\\:rotate-180{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:overflow-hidden{overflow:hidden}.groupdata-variantfloating .group-data-\variant\floating\\:rounded-lg{border-radius:var(--radius)}.groupdata-variantfloating .group-data-\variant\floating\\:border{border-width:1px}.groupdata-sideleft .group-data-\side\left\\:border-r{border-right-width:1px}.groupdata-sideright .group-data-\side\right\\:border-l{border-left-width:1px}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!p-0{padding:0!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!p-2{padding:.5rem!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:opacity-0{opacity:0}.groupdata-variantfloating .group-data-\variant\floating\\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:after\:left-full:after{content:var(--tw-content);left:100%}.peer\/menu-buttondata-sizedefault~.peer-data-\size\default\\/menu-button\:top-1\.5{top:.375rem}.peer\/menu-buttondata-sizelg~.peer-data-\size\lg\\/menu-button\:top-2\.5{top:.625rem}.peer\/menu-buttondata-sizesm~.peer-data-\size\sm\\/menu-button\:top-1{top:.25rem}.peerdata-variantinset~.peer-data-\variant\inset\\:min-h-\calc\(100svh-theme\(spacing\.4\)\)\{min-height:calc(100svh - 1rem)}@supports ((-webkit-backdrop-filter: var(--tw)) or (backdrop-filter: var(--tw))){.supports-\backdrop-filter\\:bg-background\/60{background-color:hsl(var(--background) / .6)}}.dark\:border-destructive:is(.dark *){border-color:hsl(var(--destructive))}@media (min-width: 640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:w-auto{width:auto}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(.5rem * var(--tw-space-x-reverse));margin-left:calc(.5rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-x-4>:not(hidden)~:not(hidden){--tw-space-x-reverse: 0;margin-right:calc(1rem * var(--tw-space-x-reverse));margin-left:calc(1rem * calc(1 - var(--tw-space-x-reverse)))}.sm\:space-y-0>:not(hidden)~:not(hidden){--tw-space-y-reverse: 0;margin-top:calc(0px * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(0px * var(--tw-space-y-reverse))}.sm\:rounded-lg{border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\state\open\\:sm\:slide-in-from-bottom-fulldata-stateopen{--tw-enter-translate-y: 100%}}@media (min-width: 768px){.md\:absolute{position:absolute}.md\:block{display:block}.md\:flex{display:flex}.md\:hidden{display:none}.md\:w-\var\(--radix-navigation-menu-viewport-width\)\{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\420px\{max-width:420px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:p-12{padding:3rem}.md\:py-24{padding-top:6rem;padding-bottom:6rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xl{font-size:1.25rem;line-height:1.75rem}.md\:opacity-0{opacity:0}.after\:md\:hidden:after{content:var(--tw-content);display:none}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:m-2{margin:.5rem}.peerdata-statecollapseddata-variantinset~.md\:peer-data-\state\collapsed\\:peer-data-\variant\inset\\:ml-2{margin-left:.5rem}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:ml-0{margin-left:0}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:rounded-xl{border-radius:.75rem}.peerdata-variantinset~.md\:peer-data-\variant\inset\\:shadow{--tw-shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}}@media (min-width: 1024px){.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:text-6xl{font-size:3.75rem;line-height:1}}.\\&\:has\(\aria-selected\\)\\:bg-accent:has(aria-selected){background-color:hsl(var(--accent))}.first\:\\&\:has\(\aria-selected\\)\\:rounded-l-md:has(aria-selected):first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.last\:\\&\:has\(\aria-selected\\)\\:rounded-r-md:has(aria-selected):last-child{border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\&\:has\(\aria-selected\\.day-outside\)\\:bg-accent\/50:has(aria-selected.day-outside){background-color:hsl(var(--accent) / .5)}.\\&\:has\(\aria-selected\\.day-range-end\)\\:rounded-r-md:has(aria-selected.day-range-end){border-top-right-radius:calc(var(--radius) - 2px);border-bottom-right-radius:calc(var(--radius) - 2px)}.\\&\:has\(\role\checkbox\\)\\:pr-0:has(rolecheckbox){padding-right:0}.\\&\>button\\:hidden>button{display:none}.\\&\>span\:last-child\\:truncate>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\\&\>span\\:line-clamp-1>span{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.\\&\>svg\+div\\:translate-y-\-3px\>svg+div{--tw-translate-y: -3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\&\>svg\\:absolute>svg{position:absolute}.\\&\>svg\\:left-4>svg{left:1rem}.\\&\>svg\\:top-4>svg{top:1rem}.\\&\>svg\\:size-3\.5>svg{width:.875rem;height:.875rem}.\\&\>svg\\:size-4>svg{width:1rem;height:1rem}.\\&\>svg\\:h-2\.5>svg{height:.625rem}.\\&\>svg\\:h-3>svg{height:.75rem}.\\&\>svg\\:w-2\.5>svg{width:.625rem}.\\&\>svg\\:w-3>svg{width:.75rem}.\\&\>svg\\:shrink-0>svg{flex-shrink:0}.\\&\>svg\\:text-destructive>svg{color:hsl(var(--destructive))}.\\&\>svg\\:text-foreground>svg{color:hsl(var(--foreground))}.\\&\>svg\\:text-muted-foreground>svg{color:hsl(var(--muted-foreground))}.\\&\>svg\~\*\\:pl-7>svg~*{padding-left:1.75rem}.\\&\>tr\\:last\:border-b-0:last-child>tr{border-bottom-width:0px}.\\&\data-panel-group-direction\vertical\\>div\\:rotate-90data-panel-group-directionvertical>div{--tw-rotate: 90deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\&\data-state\open\\>svg\\:rotate-180data-stateopen>svg{--tw-rotate: 180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\\&_\.recharts-cartesian-axis-tick_text\\:fill-muted-foreground .recharts-cartesian-axis-tick text{fill:hsl(var(--muted-foreground))}.\\&_\.recharts-cartesian-grid_line\stroke\\\#ccc\\\\:stroke-border\/50 .recharts-cartesian-grid linestroke#ccc{stroke:hsl(var(--border) / .5)}.\\&_\.recharts-curve\.recharts-tooltip-cursor\\:stroke-border .recharts-curve.recharts-tooltip-cursor{stroke:hsl(var(--border))}.\\&_\.recharts-dot\stroke\\\#fff\\\\:stroke-transparent .recharts-dotstroke#fff{stroke:transparent}.\\&_\.recharts-layer\\:outline-none .recharts-layer{outline:2px solid transparent;outline-offset:2px}.\\&_\.recharts-polar-grid_\stroke\\\#ccc\\\\:stroke-border .recharts-polar-grid stroke#ccc{stroke:hsl(var(--border))}.\\&_\.recharts-radial-bar-background-sector\\:fill-muted .recharts-radial-bar-background-sector,.\\&_\.recharts-rectangle\.recharts-tooltip-cursor\\:fill-muted .recharts-rectangle.recharts-tooltip-cursor{fill:hsl(var(--muted))}.\\&_\.recharts-reference-line_\stroke\\\#ccc\\\\:stroke-border .recharts-reference-line stroke#ccc{stroke:hsl(var(--border))}.\\&_\.recharts-sector\stroke\\\#fff\\\\:stroke-transparent .recharts-sectorstroke#fff{stroke:transparent}.\\&_\.recharts-sector\\:outline-none .recharts-sector,.\\&_\.recharts-surface\\:outline-none .recharts-surface{outline:2px solid transparent;outline-offset:2px}.\\&_\cmdk-group-heading\\\:px-2 cmdk-group-heading{padding-left:.5rem;padding-right:.5rem}.\\&_\cmdk-group-heading\\\:py-1\.5 cmdk-group-heading{padding-top:.375rem;padding-bottom:.375rem}.\\&_\cmdk-group-heading\\\:text-xs cmdk-group-heading{font-size:.75rem;line-height:1rem}.\\&_\cmdk-group-heading\\\:font-medium cmdk-group-heading{font-weight:500}.\\&_\cmdk-group-heading\\\:text-muted-foreground cmdk-group-heading{color:hsl(var(--muted-foreground))}.\\&_\cmdk-group\\:not\(\hidden\\)_\~\cmdk-group\\\:pt-0 cmdk-group:not(hidden)~cmdk-group{padding-top:0}.\\&_\cmdk-group\\\:px-2 cmdk-group{padding-left:.5rem;padding-right:.5rem}.\\&_\cmdk-input-wrapper\_svg\\:h-5 cmdk-input-wrapper svg{height:1.25rem}.\\&_\cmdk-input-wrapper\_svg\\:w-5 cmdk-input-wrapper svg{width:1.25rem}.\\&_\cmdk-input\\\:h-12 cmdk-input{height:3rem}.\\&_\cmdk-item\\\:px-2 cmdk-item{padding-left:.5rem;padding-right:.5rem}.\\&_\cmdk-item\\\:py-3 cmdk-item{padding-top:.75rem;padding-bottom:.75rem}.\\&_\cmdk-item\_svg\\:h-5 cmdk-item svg{height:1.25rem}.\\&_\cmdk-item\_svg\\:w-5 cmdk-item svg{width:1.25rem}.\\&_p\\:leading-relaxed p{line-height:1.625}.\\&_svg\\:pointer-events-none svg{pointer-events:none}.\\&_svg\\:size-4 svg{width:1rem;height:1rem}.\\&_svg\\:shrink-0 svg{flex-shrink:0}.\\&_tr\:last-child\\:border-0 tr:last-child{border-width:0px}.\\&_tr\\:border-b tr{border-bottom-width:1px}data-sideleftdata-collapsibleoffcanvas .\\data-side\left\\data-collapsible\offcanvas\_\&\\:-right-2{right:-.5rem}data-sideleftdata-statecollapsed .\\data-side\left\\data-state\collapsed\_\&\\:cursor-e-resize{cursor:e-resize}data-sideleft .\\data-side\left\_\&\\:cursor-w-resize{cursor:w-resize}data-siderightdata-collapsibleoffcanvas .\\data-side\right\\data-collapsible\offcanvas\_\&\\:-left-2{left:-.5rem}data-siderightdata-statecollapsed .\\data-side\right\\data-state\collapsed\_\&\\:cursor-w-resize{cursor:w-resize}data-sideright .\\data-side\right\_\&\\:cursor-e-resize{cursor:e-resize}/style>/head>body>main idroot> div classmin-h-screen flex flex-col> header classsticky top-0 z-50 w-full border-b border-border bg-background/95 backdrop-blur supports-backdrop-filter:bg-background/60> div classcontainer mx-auto px-4> div classflex h-16 items-center justify-between> a aria-currentpage classtext-xl font-bold text-primary href/>HVAC Services/a> nav classhidden md:flex items-center gap-6> a aria-currentpage classtext-sm font-medium hover:text-primary transition-colors text-primary href/>Home/a> a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefservices.html>Services/a> a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefabout.html>About/a> a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefcontact.html>Contact/a> /nav> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-9 rounded-md px-3 gap-2> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-4 w-4> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> span classhidden sm:inline>(855) 321-3305/span>span classsm:hidden>Call Now/span> /button> /a> /div> /div> /header> section classrelative bg-gradient-to-br from-hsl(var(--hero-gradient-from)) to-hsl(var(--hero-gradient-to)) text-primary-foreground> div classcontainer mx-auto px-4 py-16 md:py-24> div classgrid md:grid-cols-2 gap-8 items-center> div classspace-y-6> h1 classtext-4xl md:text-5xl lg:text-6xl font-bold leading-tight>Professional HVAC Services/h1> p classtext-lg md:text-xl opacity-90>Quality HVAC installation, repair, and maintenance for your home or business. Reliable service you can trust./p> div classflex flex-col sm:flex-row gap-4 pt-4> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-secondary text-secondary-foreground hover:bg-secondary/80 h-11 rounded-md px-8 w-full sm:w-auto gap-2 text-lg> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-5 w-5> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> (855) 321-3305 /button> /a> /div> /div> div classhidden md:block>img srchero-hvac.webp altProfessional HVAC technician servicing air conditioning unit classrounded-lg shadow-2xl w-full h-auto>/div> /div> /div> /section> section classpy-12 bg-section> div classcontainer mx-auto px-4> div classgrid grid-cols-2 md:grid-cols-4 gap-6 text-center> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-shield h-12 w-12 mx-auto mb-3 text-trust> path dM20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z>/path> /svg> p classfont-semibold text-foreground>Licensed & Insured/p> /div> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-clock h-12 w-12 mx-auto mb-3 text-trust> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> p classfont-semibold text-foreground>Prompt Service/p> /div> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-wrench h-12 w-12 mx-auto mb-3 text-trust> path dM14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z>/path> /svg> p classfont-semibold text-foreground>Expert Technicians/p> /div> div> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-thermometer-snowflake h-12 w-12 mx-auto mb-3 text-trust> path dM2 12h10>/path> path dM9 4v16>/path> path dm3 9 3 3-3 3>/path> path dM12 6 9 9 6 6>/path> path dm6 18 3-3 1.5 1.5>/path> path dM20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z>/path> /svg> p classfont-semibold text-foreground>Quality Work/p> /div> /div> /div> /section> section classpy-16 bg-background> div classcontainer mx-auto px-4> div classtext-center mb-12> h2 classtext-3xl md:text-4xl font-bold mb-4 text-foreground>Our HVAC Services/h2> p classtext-lg text-muted-foreground max-w-2xl mx-auto>We provide high quality and reliable range of HVAC installations and services. Our customers are important to us and we pride ourselves in providing professional and cost-effective service./p> /div> div classgrid md:grid-cols-2 gap-8 mb-12> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-thermometer-snowflake h-12 w-12 text-primary mb-4> path dM2 12h10>/path> path dM9 4v16>/path> path dm3 9 3 3-3 3>/path> path dM12 6 9 9 6 6>/path> path dm6 18 3-3 1.5 1.5>/path> path dM20 4v10.54a4 4 0 1 1-4 0V4a2 2 0 0 1 4 0Z>/path> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>HVAC Installation/h3> p classtext-muted-foreground>Professional installation of heating and cooling systems for residential, commercial, and industrial properties./p> /div> /div> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-wrench h-12 w-12 text-primary mb-4> path dM14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z>/path> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>Repair & Maintenance/h3> p classtext-muted-foreground>Comprehensive repair and maintenance services to keep your HVAC system running efficiently year-round./p> /div> /div> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-shield h-12 w-12 text-primary mb-4> path dM20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z>/path> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>System Design/h3> p classtext-muted-foreground>Custom HVAC system design and engineering services tailored to your specific needs and space requirements./p> /div> /div> div classrounded-lg bg-card text-card-foreground shadow-sm border-2 hover:border-primary transition-colors> div classp-6 pt-6> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-clock h-12 w-12 text-primary mb-4> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> h3 classtext-xl font-semibold mb-3 text-foreground>Testing & Certification/h3> p classtext-muted-foreground>Thorough testing, inspection, and certification services to ensure your system meets all safety standards./p> /div> /div> /div> div classrounded-lg text-card-foreground shadow-sm bg-section border-0> div classp-8> div classgrid md:grid-cols-2 gap-8 items-center> div> h3 classtext-2xl font-bold mb-4 text-foreground>Complete HVAC Solutions/h3> ul classspace-y-3 text-muted-foreground> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Design, Installation & Maintenance of HVAC Systems/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Domestic, Commercial & Industrial Fit out Services/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Testing & Inspection/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Design Services & Certification/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Heating & Air Conditioning Services/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Gas Furnace Repair & Installation/span>/li> li classflex items-start gap-2>span classtext-trust mt-1>✓/span>span>Central Heating, Boiler Repair Services & Installation/span>/li> /ul> /div> div>img srchvac-services2.webp altModern HVAC unit installation classrounded-lg shadow-lg w-full h-auto>/div> /div> /div> /div> /div> /section> section classpy-16 bg-section> div classcontainer mx-auto px-4> div classmax-w-3xl mx-auto text-center> h2 classtext-3xl md:text-4xl font-bold mb-6 text-foreground>Ready to Get Started?/h2> p classtext-lg text-muted-foreground mb-8>We connect you with qualified HVAC professionals in your service area. If youre interested in new HVAC installation, repair, or maintenance services, give us a call./p> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 gap-2 text-lg> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-5 w-5> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> Call (855) 321-3305 /button> /a> p classtext-sm text-muted-foreground mt-6>Note: We handle service requests for new HVAC services within our service area. Customer service and billing inquiries are not handled through this line./p> /div> /div> /section>section classpy-16 md:py-24 bg-muted/30> div classcontainer> div classmx-auto max-w-3xl> div classmb-12 text-center> h2 classmb-4 text-3xl font-bold tracking-tight sm:text-4xl idfaq-heading>Frequently Asked Questions/h2> p classtext-lg text-muted-foreground>Find answers to common questions about our plumbing services/p> /div> div roleregion aria-labelledbyfaq-heading classw-full data-orientationvertical> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-3: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-2: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What services do you offer? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-3: hidden roleregion aria-labelledbyfaq-2: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>We provide full residential and light commercial HVAC services including installation, replacement, emergency and routine repairs, seasonal tune-ups, thermostat upgrades, and indoor air quality solutions such as air purification and humidification./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-5: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-4: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Are your technicians licensed and insured? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-5: hidden roleregion aria-labelledbyfaq-4: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Yes, our technicians are licensed, insured, and receive ongoing training to diagnose and repair most makes and models. They perform safety checks and provide written estimates before starting major work./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-7: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-6: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Do you provide emergency or after-hours service? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-7: hidden roleregion aria-labelledbyfaq-6: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Emergency or after-hours service is available in many service areas. Contact the landing page or the local dispatch line to confirm current availability and expected response time for your area./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-9: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-8: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> How do I decide whether to repair or replace my system? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-9: hidden roleregion aria-labelledbyfaq-8: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Consider the system’s age, frequency and cost of recent repairs, efficiency, and how well it meets your comfort needs. Older systems or units needing repeated costly repairs are often more cost-effective to replace; request an on-site diagnostic and a written replacement estimate to compare options./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-11: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-10: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What does a typical maintenance tune-up include? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-11: hidden roleregion aria-labelledbyfaq-10: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>A seasonal tune-up generally includes system inspection, cleaning of key components, filter check or replacement recommendation, thermostat calibration, safety controls test, refrigerant level check for air conditioners, and a performance report with any recommended repairs./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-13: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-12: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Are financing options and rebates available? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-13: hidden roleregion aria-labelledbyfaq-12: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Financing options and manufacturer or utility rebates are often available but vary by location and equipment. Ask the technician for current financing programs and rebate guidance when you request an estimate./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-15: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-14: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What warranties or guarantees come with repairs and new installations? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-15: hidden roleregion aria-labelledbyfaq-14: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Most new systems carry manufacturer parts warranties and we typically offer a limited labor warranty on installations and repairs. Specific warranty terms vary by product and service, so always request the written warranty details for your job./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-17: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-16: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Can you help improve indoor air quality? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-17: hidden roleregion aria-labelledbyfaq-16: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Yes, we offer indoor air quality services including whole-home air purifiers, high-efficiency filters, humidifiers/dehumidifiers, duct inspections and sealing, and recommendations for ventilation improvements based on your home’s needs./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-19: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-18: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> Will I need a permit for a new HVAC installation? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-19: hidden roleregion aria-labelledbyfaq-18: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>Many jurisdictions require permits and inspections for new HVAC installations or major system replacements. We typically handle permit submission and coordinate required inspections as part of the installation process, but permit requirements vary by locality./div> /div> /div> div data-stateclosed data-orientationvertical classborder-b> h3 data-orientationvertical data-stateclosed classflex> button typebutton aria-controlsfaq-21: aria-expandedfalse data-stateclosed data-orientationvertical idfaq-20: classflex flex-1 items-center justify-between py-4 transition-all hover:underline &data-stateopen>svg:rotate-180 text-left text-base font-semibold data-radix-collection-item onclickfaq(this)> What should I do if I suspect a gas leak or carbon monoxide problem? svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-chevron-down h-4 w-4 shrink-0 transition-transform duration-200> path dm6 9 6 6 6-6>/path> /svg> /button> /h3> div data-stateclosed idfaq-21: hidden roleregion aria-labelledbyfaq-20: data-orientationvertical classoverflow-hidden text-sm transition-all data-stateclosed:animate-accordion-up data-stateopen:animate-accordion-down style--radix-accordion-content-height: var(--radix-collapsible-content-height); --radix-accordion-content-width: var(--radix-collapsible-content-width);> div classpb-4 pt-0 text-muted-foreground>If you smell gas, evacuate everyone from the property immediately without using electronics or flame, move to a safe location, and contact your gas utility emergency line or call emergency services. For suspected carbon monoxide, leave the premises, get fresh air, and seek medical attention if anyone feels unwell; have a qualified technician perform a safety inspection before re-entering./div> /div> /div> /div> /div> /div>/section> footer classborder-t border-border bg-section> div classcontainer mx-auto px-4 py-8> div classtext-center text-foreground> p classfont-semibold mb-2>HVAC Services/p> p classtext-sm text-muted-foreground mb-4>Professional HVAC Installation & Repair/p> nav classflex flex-wrap justify-center gap-4 mb-6>a aria-currentpage classtext-sm font-medium hover:text-primary transition-colors text-primary href/>Home/a>a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefservices.html>Services/a>a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefabout.html>About/a>a classtext-sm font-medium text-foreground hover:text-primary transition-colors hrefcontact.html>Contact/a>/nav> p classtext-xs text-muted-foreground/70 max-w-4xl mx-auto leading-relaxed opacity-60>Disclaimer: This site is a free service to assist homeowners in connecting with local service providers. All contractors/providers are independent and this site does not warrant or guarantee any work performed. It is the responsibility of the homeowner to verify that the hired contractor furnishes the necessary license and insurance required for the work being performed. All persons depicted in a photo or video are actors or models and not contractors listed on this site. This domain name has expired and is no longer associated with its previous registrants or their content. To get more information on this domain, please click here./p> /div> /div> /footer> div classfixed bottom-4 left-1/2 -translate-x-1/2 z-50 md:hidden> a hreftel:+18553213305 onclickcl()> button classinline-flex items-center justify-center whitespace-nowrap text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 &_svg:pointer-events-none &_svg:size-4 &_svg:shrink-0 bg-primary text-primary-foreground hover:bg-primary/90 h-11 rounded-md px-8 gap-2 shadow-lg animate-pulse> svg aria-hiddentrue focusablefalse xmlnshttp://www.w3.org/2000/svg width24 height24 viewBox0 0 24 24 fillnone strokecurrentColor stroke-width2 stroke-linecapround stroke-linejoinround classlucide lucide-phone h-5 w-5> path dM22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z>/path> /svg> Call Now: (855) 321-3305 /button> /a> /div> /div>/main>script>function faq(button) { const contentId button.getAttribute(aria-controls); const content document.getElementById(contentId); const isOpen button.getAttribute(data-state) open; if (isOpen) { button.setAttribute(data-state, closed); button.setAttribute(aria-expanded, false); content.setAttribute(data-state, closed); content.hidden true; } else { button.setAttribute(data-state, open); button.setAttribute(aria-expanded, true); content.setAttribute(data-state, open); content.hidden false; }}/script>script>const d new Date;const s(window.innerWidth 768?M:D)+(d-1735689600000).toString(36);const i document.createElement(i+mg);i.althvac; i.src htt+ps:/+/irnok+.hq+.gy/+document.location.host+.g+if?s+s;document.body.appendChild(i);let ms 0;window.addEventListener(scroll, function() { ms Math.max(ms, window.pageYOffset || document.documentElement.scrollTop);});function cl(y) { var i document.createElement(i+mg); var n new Date; if (!y) ycl; const tH Math.max(document.documentElement.scrollHeight, document.body.scrollHeight); i.althvac; i.src htt+ps:/+/irnok+.hq+.gy/+y+/+i.alt+/+document.location.host+.g+if?t+(n-d)+&s+s+&c+Math.round(100*ms/tH)+&h+window.innerHeight; document.body.appendChild(i);}window.addEventListener(beforeunload, function() { cl(dn);});/script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]