Help
RSS
API
Feed
Maltego
Contact
Domain > atechroofingknoxville.com
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2026-02-22
172.67.218.67
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Sun, 22 Feb 2026 22:33:11 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareLast-Modified: Sun, 22 Feb 2026 02:34:16 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?sAAEHe3kDOxbidye13hV5j%2FKkdfqFEcU3L6qWiD5WdbhLNZAyzKQOR9ywDiwLn0Q98IfIIjAPBg5D8M7KzzqWvp27Wlh6kvK5JmBEb6ii4WDUnRi5T%2BYp}}cf-cache-status: DYNAMICCF-RAY: 9d21f1948e230bee-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>Premium Roofing - Professional Installation & Replacement Services/title> meta namedescription contentProfessional roofing installation and replacement services for residential properties. Quality workmanship, durable materials, and expert contractors.> link relcanonical hrefhttps://atechroofingknoxville.com> meta propertyog:title contentPremium Roofing - Professional Installation & Replacement> meta propertyog:description contentProfessional roofing services specializing in new installations and complete roof replacements for residential properties.> meta propertyog:type contentwebsite> meta nametwitter:card contentsummary_large_image> meta nametwitter:title contentPremium Roofing Services> meta nametwitter:description contentQuality roofing installation and replacement for your home>style>a,hr{color:inherit}progress,sub,sup{vertical-align:baseline}blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,menu,ol,p,pre,ul{margin:0}.p-0,dialog,fieldset,legend,menu,ol,ul{padding:0}.dark,:root{--accent:25 95% 53%;--accent-foreground:0 0% 100%;--sidebar-ring:217.2 91.2% 59.8%}.inset-0,.inset-x-0{left:0;right:0}.inset-0,.inset-y-0{top:0;bottom:0}.border-collapse,table{border-collapse:collapse}.from-hero,.from-hero\/95{--tw-gradient-to:hsl(215 28% 17% / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.transition,.transition-\left\,right\,width\,.transition-\margin\,opa\,.transition-\width\,height\,padding\,.transition-\width\,.transition-all,.transition-colors,.transition-opacity,.transition-transform{transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out,.transition,.transition-\left\,right\,width\,.transition-\margin\,opa\,.transition-\width\,height\,padding\,.transition-\width\,.transition-all,.transition-colors,.transition-opacity,.transition-transform{transition-timing-function:cubic-bezier(.4,0,.2,1)}.sr-only,.whitespace-nowrap{white-space:nowrap}*,:after,:before{--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: ;box-sizing:border-box;border:0 solid #e5e7eb}::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: }.-translate-x-1\/2,.after\:-translate-x-1\/2:after,.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))}:after,:before{--tw-content:}:host,html{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{line-height:inherit;background-color:hsl(var(--background));color:hsl(var(--foreground))}hr{height:0;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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}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}.data-\state\active\\:shadow-smdata-stateactive,.group.toaster .group-\\.toaster\\:shadow-lg,.groupdata-variantfloating .group-data-\variant\floating\\:shadow,.shadow-\0_0_0_1px_hsl\(var\(--sidebar-border\)\)\,.shadow-lg,.shadow-md,.shadow-none,.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}::-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}menu,ol,ul{list-style:none}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}.cursor-pointer,rolebutton,button{cursor:pointer}.cursor-default,:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{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% 15%;--card:0 0% 100%;--card-foreground:215 25% 15%;--popover:0 0% 100%;--popover-foreground:215 25% 15%;--primary:215 28% 17%;--primary-foreground:0 0% 100%;--secondary:210 20% 92%;--secondary-foreground:215 25% 15%;--muted:210 20% 95%;--muted-foreground:215 15% 45%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 100%;--border:215 20% 88%;--input:215 20% 88%;--ring:215 28% 17%;--radius:.5rem;--hero-gradient:linear-gradient(135deg, hsl(215 28% 17%), hsl(215 25% 25%));--cta-shadow:0 4px 20px hsla(25 95% 53% / .3);--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%}.dark{--background:215 25% 12%;--foreground:0 0% 98%;--card:215 25% 15%;--card-foreground:0 0% 98%;--popover:215 25% 15%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:215 28% 17%;--secondary:215 25% 20%;--secondary-foreground:0 0% 98%;--muted:215 25% 20%;--muted-foreground:215 15% 65%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:215 25% 20%;--input:215 25% 20%;--ring:0 0% 83.9%;--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%}*,.border-border,.group.toaster .group-\\.toaster\\:border-border{border-color:hsl(var(--border))}.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);border-width:0}.\\&_svg\\:pointer-events-none svg,.aria-disabled\:pointer-events-nonearia-disabledtrue,.data-\disabled\true\\:pointer-events-nonedata-disabledtrue,.data-\disabled\\:pointer-events-nonedata-disabled,.disabled\:pointer-events-none:disabled,.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.\\&\>svg\\:absolute>svg,.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.groupdata-sideright .group-data-\side\right\\:left-0,.left-0{left:0}.left-1{left:.25rem}.left-1\/2,.left-\50\%\{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.peer\/menu-buttondata-sizedefault~.peer-data-\size\default\\/menu-button\:top-1\.5,.top-1\.5{top:.375rem}.top-1\/2,.top-\50\%\{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.\\&\>svg\\:top-4>svg,.top-4{top:1rem}.top-\1px\{top:1px}.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}.mb-1,.my-1{margin-bottom:.25rem}.my-1{margin-top:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.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-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\\&\>button\\:hidden>button,.groupdata-collapsibleicon .group-data-\collapsible\icon\\:hidden,.hidden{display:none}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.\\&\>svg\\:size-4>svg,.\\&_svg\\:size-4 svg,.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.\\&_\cmdk-input\\\:h-12 cmdk-input,.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.\\&\>svg\\:h-2\.5>svg,.h-2\.5{height:.625rem}.\\&\>svg\\:h-3>svg,.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.\\&_\cmdk-input-wrapper\_svg\\:h-5 cmdk-input-wrapper svg,.\\&_\cmdk-item\_svg\\:h-5 cmdk-item svg,.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.data-\panel-group-direction\vertical\\:h-pxdata-panel-group-directionvertical,.h-\1px\,.h-px{height:1px}.h-\600px\{height:600px}.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-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:0}.min-h-\80px\{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:w-0,.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-2{width:.5rem}.\\&\>svg\\:w-2\.5>svg,.w-2\.5{width:.625rem}.\\&\>svg\\:w-3>svg,.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.\\&_\cmdk-input-wrapper\_svg\\:w-5 cmdk-input-wrapper svg,.\\&_\cmdk-item\_svg\\:w-5 cmdk-item svg,.w-5{width:1.25rem}.w-6{width:1.5rem}.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\,.w-px{width:1px}.w-auto{width:auto}.data-\panel-group-direction\vertical\\:w-fulldata-panel-group-directionvertical,.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.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-5xl{max-width:64rem}.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}.flex-1{flex:1 1 0%}.\\&\>svg\\:shrink-0>svg,.\\&_svg\\:shrink-0 svg,.flex-shrink-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}.-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,.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))}.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))}.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))}.\\&\data-panel-group-direction\vertical\\>div\\:rotate-90data-panel-group-directionvertical>div,.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:2s cubic-bezier(.4,0,.6,1) infinite pulse}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.data-\panel-group-direction\vertical\\:flex-coldata-panel-group-directionvertical,.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-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-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)))}.space-x-3>:not(hidden)~:not(hidden){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * 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-x-6>:not(hidden)~:not(hidden){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * 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-12>:not(hidden)~:not(hidden){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * 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-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))}.space-y-8>:not(hidden)~:not(hidden){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:overflow-hidden,.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.break-words{overflow-wrap:break-word}.rounded-\2px\{border-radius:2px}.rounded-\inherit\{border-radius:inherit}.rounded-full{border-radius:9999px}.groupdata-variantfloating .group-data-\variant\floating\\:rounded-lg,.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,.groupdata-variantfloating .group-data-\variant\floating\\:border{border-width:1px}.border-2{border-width:2px}.border-\1\.5px\{border-width:1.5px}.\\&_tr\\:border-b tr,.border-b,.border-y{border-bottom-width:1px}.border-t,.border-y{border-top-width:1px}.border-l,.first\:border-l:first-child,.groupdata-sideright .group-data-\side\right\\:border-l{border-left-width:1px}.border-r,.groupdata-sideleft .group-data-\side\left\\:border-r{border-right-width:1px}.border-dashed{border-style:dashed}.border-\--color-border\{border-color:var(--color-border)}.border-accent\/20{border-color:hsl(var(--accent) / .2)}.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-sidebar-border,.groupdata-variantfloating .group-data-\variant\floating\\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.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)}.aria-selected\:bg-accentaria-selectedtrue,.bg-accent,.data-\selected\\true\\\:bg-accentdata-selectedtrue,.data-\state\on\\:bg-accentdata-stateon,.data-\state\open\\:bg-accentdata-stateopen,.focus\:bg-accent:focus,.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.bg-accent\/10{background-color:hsl(var(--accent) / .1)}.bg-accent\/5{background-color:hsl(var(--accent) / .05)}.bg-background,.data-\state\active\\:bg-backgrounddata-stateactive,.group.toaster .group-\\.toaster\\: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,.group.destructive .group-\\.destructive\\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted,.data-\state\selected\\:bg-muteddata-stateselected,.group.toast .group-\\.toast\\:bg-muted,.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.bg-muted\/50,.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary,.data-\state\checked\\:bg-primarydata-statechecked,.focus\:bg-primary:focus,.group.toast .group-\\.toast\\:bg-primary,.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.bg-secondary,.data-\state\open\\:bg-secondarydata-stateopen,.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-hero{--tw-gradient-from:hsl(215 28% 17%) var(--tw-gradient-from-position)}.from-hero\/95{--tw-gradient-from:hsl(215 28% 17% / .95) var(--tw-gradient-from-position)}.to-hero-light{--tw-gradient-to:hsl(215 25% 25%) var(--tw-gradient-to-position)}.to-hero\/70{--tw-gradient-to:hsl(215 28% 17% / .7) var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:center}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\1px\{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.\\&_\cmdk-group-heading\\\:px-2 cmdk-group-heading,.\\&_\cmdk-group\\\:px-2 cmdk-group,.\\&_\cmdk-item\\\:px-2 cmdk-item,.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-6{padding-left:1.5rem;padding-right:1.5rem}.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}.\\&_\cmdk-group-heading\\\:py-1\.5 cmdk-group-heading,.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}.\\&_\cmdk-item\\\:py-3 cmdk-item,.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}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.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}.\\&_\cmdk-group\\:not\(\hidden\\)_\~\cmdk-group\\\:pt-0 cmdk-group:not(hidden)~cmdk-group,.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}.pt-8{padding-top:2rem}.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-\10px\{font-size:10px}.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}.\\&_\cmdk-group-heading\\\:text-xs cmdk-group-heading,.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.\\&_\cmdk-group-heading\\\:font-medium cmdk-group-heading,.data-\active\true\\:font-mediumdata-activetrue,.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}.\\&_p\\:leading-relaxed p,.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.hover\:text-accent:hover,.text-accent{color:hsl(var(--accent))}.aria-selected\:text-accent-foregroundaria-selectedtrue,.data-\selected\true\\:text-accent-foregrounddata-selectedtrue,.data-\state\on\\:text-accent-foregrounddata-stateon,.data-\state\open\\:text-accent-foregrounddata-stateopen,.focus\:text-accent-foreground:focus,.hover\:text-accent-foreground:hover,.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.\\&\>svg\\:text-destructive>svg,.text-destructive{color:hsl(var(--destructive))}.group.destructive .group-\\.destructive\\:hover\:text-destructive-foreground:hover,.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.hover\:text-primary:hover,.text-primary{color:hsl(var(--primary))}.data-\state\checked\\:text-primary-foregrounddata-statechecked,.focus\:text-primary-foreground:focus,.group.toast .group-\\.toast\\:text-primary-foreground,.hover\:text-primary-foreground:hover,.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary-foreground\/90{color:hsl(var(--primary-foreground) / .9)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.hover\:underline:hover,.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:opacity-0,.opacity-0{opacity:0}.disabled\:opacity-50:disabled,.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70,.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:opacity-100aria-selectedtrue,.data-\state\open\\:opacity-100data-stateopen,.focus\:opacity-100:focus,.group:hover .group-hover\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.hover\:opacity-100:hover{opacity:1}.opacity-90{opacity:.9}.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)}.group.toaster .group-\\.toaster\\:shadow-lg,.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)}.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)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.data-\state\active\\:shadow-smdata-stateactive,.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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)}.focus\:ring-2:focus,.ring-0,.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.shadow-\var\(--cta-shadow\)\{--tw-shadow-color:var(--cta-shadow);--tw-shadow:var(--tw-shadow-colored)}.focus\:outline-none:focus,.outline-none{outline:transparent solid 2px;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.ring-2{--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus,.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-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,backdrop-filter,-webkit-backdrop-filter}.transition-\left\,right\,width\{transition-property:left,right,width}.transition-\margin\,opa\{transition-property:margin,opa}.transition-\width\,height\,padding\{transition-property:width,height,padding}.transition-\width\{transition-property:width}.transition-all{transition-property:all}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.transition-opacity{transition-property:opacity}.transition-transform{transition-property:transform}.duration-1000{transition-duration:1s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear;animation-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,.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\^\from-\\:fade-indata-motion^from-,.data-\state\open\\:fade-in-0data-stateopen,.data-\state\visible\\:fade-indata-statevisible,.fade-in-0{--tw-enter-opacity:0}.fade-in-80{--tw-enter-opacity:.8}.data-\state\open\\:zoom-in-95data-stateopen,.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{transition-duration:.2s;animation-duration:.2s}.file\:border-0::file-selector-button{border-width:0}.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)}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.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\:bg-accent\/90:hover{background-color:hsl(var(--accent) / .9)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.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\/80:hover{background-color:hsl(var(--secondary) / .8)}.active\:bg-sidebar-accent:active,.data-\active\true\\:bg-sidebar-accentdata-activetrue,.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.\\&\>svg\\:text-foreground>svg,.data-\state\active\\:text-foregrounddata-stateactive,.group.toaster .group-\\.toaster\\:text-foreground,.hover\:text-foreground:hover{color:hsl(var(--foreground))}.\\&\>svg\\:text-muted-foreground>svg,.\\&_\cmdk-group-heading\\\:text-muted-foreground cmdk-group-heading,.aria-selected\:text-muted-foregroundaria-selectedtrue,.data-\state\open\\:text-muted-foregrounddata-stateopen,.group.toast .group-\\.toast\\:text-muted-foreground,.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary\/90:hover{color:hsl(var(--primary) / .9)}.active\:text-sidebar-accent-foreground:active,.data-\active\true\\:text-sidebar-accent-foregrounddata-activetrue,.hover\:text-sidebar-accent-foreground:hover,.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.hover\:no-underline:hover{text-decoration-line:none}.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)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:transparent solid 2px;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-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-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\:cursor-not-allowed:disabled,.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group.destructive .group-\\.destructive\\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\\.destructive\\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165 / var(--tw-text-opacity,1))}.group.destructive .group-\\.destructive\\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.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}.has-\\data-variant\inset\\\:bg-sidebar:has(data-variantinset){background-color:hsl(var(--sidebar-background))}.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\:opacity-50aria-disabledtrue,.data-\disabled\true\\:opacity-50data-disabledtrue,.data-\disabled\\:opacity-50data-disabled{opacity:.5}.aria-selected\:bg-accent\/50aria-selectedtrue,.data-\active\\:bg-accent\/50data-active,.data-\state\open\\:bg-accent\/50data-stateopen{background-color:hsl(var(--accent) / .5)}.aria-selected\:opacity-30aria-selectedtrue{opacity:.3}.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-\panel-group-direction\vertical\\:after\:translate-x-0data-panel-group-directionvertical:after,.data-\state\unchecked\\:translate-x-0data-stateunchecked,.data-\swipe\cancel\\:translate-x-0data-swipecancel,.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))}.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:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\state\open\\:animate-accordion-downdata-stateopen{animation:.2s ease-out accordion-down}.data-\state\unchecked\\:bg-inputdata-stateunchecked{background-color:hsl(var(--input))}.data-\swipe\move\\:transition-nonedata-swipemove{transition-property:none}.data-\state\closed\\:duration-300data-stateclosed{transition-duration:.3s}.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\^\to-\\:fade-outdata-motion^to-,.data-\state\closed\\:fade-out-0data-stateclosed,.data-\state\hidden\\:fade-outdata-statehidden{--tw-exit-opacity:0}.data-\state\closed\\:fade-out-80data-stateclosed{--tw-exit-opacity:.8}.data-\state\closed\\:zoom-out-95data-stateclosed{--tw-exit-scale:.95}.data-\state\open\\:zoom-in-90data-stateopen{--tw-enter-scale:.9}.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-right-fulldata-stateclosed,.data-\state\closed\\:slide-out-to-rightdata-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-top-fulldata-stateopen,.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\closed\\:duration-300data-stateclosed{animation-duration:.3s}.data-\state\open\\:duration-500data-stateopen{transition-duration:.5s;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)}.data-\state\open\\:hover\:bg-sidebar-accent:hoverdata-stateopen{background-color:hsl(var(--sidebar-accent))}.data-\state\open\\:hover\:text-sidebar-accent-foreground:hoverdata-stateopen{color:hsl(var(--sidebar-accent-foreground))}.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-collapsibleicon .group-data-\collapsible\icon\\:-mt-8{margin-top:-2rem}.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)}.\\&\data-state\open\\>svg\\:rotate-180data-stateopen>svg,.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\\:\!p-0{padding:0!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!p-2{padding:.5rem!important}.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)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:after\:left-full:after{content:var(--tw-content);left:100%}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.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)}.\\&\>svg\\:text-sidebar-accent-foreground>svg,.peer\/menu-buttondata-activetrue~.peer-data-\active\true\\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}@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\:flex{display:flex}.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\:h-\700px\{height:700px}.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\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-left{text-align:left}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.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\: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-4{grid-template-columns:repeat(4,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}.\\&\>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\\:left-4>svg{left:1rem}.\\&\>svg\\:size-3\.5>svg{width:.875rem;height:.875rem}.\\&\>svg\~\*\\:pl-7>svg~*{padding-left:1.75rem}.\\&\>tr\\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\\&_\.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,.\\&_\.recharts-polar-grid_\stroke\\\#ccc\\\\:stroke-border .recharts-polar-grid stroke#ccc,.\\&_\.recharts-reference-line_\stroke\\\#ccc\\\\:stroke-border .recharts-reference-line stroke#ccc{stroke:hsl(var(--border))}.\\&_\.recharts-dot\stroke\\\#fff\\\\:stroke-transparent .recharts-dotstroke#fff,.\\&_\.recharts-sector\stroke\\\#fff\\\\:stroke-transparent .recharts-sectorstroke#fff{stroke:transparent}.\\&_\.recharts-layer\\:outline-none .recharts-layer,.\\&_\.recharts-sector\\:outline-none .recharts-sector,.\\&_\.recharts-surface\\:outline-none .recharts-surface{outline:transparent solid 2px;outline-offset:2px}.\\&_\.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))}.\\&_tr\:last-child\\:border-0 tr:last-child{border-width:0}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,data-sideright .\\data-side\right\_\&\\:cursor-e-resize{cursor:e-resize}data-sideleft .\\data-side\left\_\&\\:cursor-w-resize,data-siderightdata-statecollapsed .\\data-side\right\\data-state\collapsed\_\&\\:cursor-w-resize{cursor:w-resize}data-siderightdata-collapsibleoffcanvas .\\data-side\right\\data-collapsible\offcanvas\_\&\\:-left-2{left:-.5rem}/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 flex h-16 items-center justify-between px-4 md:px-6> a classflex items-center space-x-2 href/> div classflex flex-col>span classtext-lg font-bold text-primary>Premium Roofing/span>span classtext-xs text-muted-foreground>Professional Installation/span>/div> /a> nav classhidden md:flex items-center space-x-6>a classtext-sm font-medium transition-colors hover:text-primary text-primary href/>Home/a>a classtext-sm font-medium transition-colors hover:text-primary text-foreground/80 hrefservices.html>Services/a>a classtext-sm font-medium transition-colors hover:text-primary text-foreground/80 hrefabout.html>About/a>a classtext-sm font-medium transition-colors hover:text-primary text-foreground/80 hrefcontact.html>Contact/a>/nav> div classhidden md:flex items-center space-x-4> a onclickcl() hreftel:+18553213154> button classinline-flex items-center justify-center gap-2 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 text-primary-foreground h-11 rounded-md px-8 bg-accent hover:bg-accent/90 shadow-var(--cta-shadow)> 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 mr-2 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> 1-855-321-3154 /button> /a> /div> div classflex md:hidden items-center space-x-2> a onclickcl() hreftel:+18553213154 aria-labelCall now> button classinline-flex items-center justify-center gap-2 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 text-primary-foreground h-9 rounded-md px-3 bg-accent hover:bg-accent/90> 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> /button> /a> button classinline-flex items-center justify-center gap-2 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 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 aria-labelToggle menu> 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-menu h-5 w-5> line x14 x220 y112 y212>/line> line x14 x220 y16 y26>/line> line x14 x220 y118 y218>/line> /svg> /button> /div> /div> /header> main classflex-1> section classrelative h-600px md:h-700px flex items-center justify-center overflow-hidden> div classabsolute inset-0 bg-cover bg-center stylebackground-image: url("hero-roofing.webp");> div classabsolute inset-0 bg-gradient-to-r from-hero/95 to-hero/70>/div> /div> div classcontainer relative z-10 px-4 md:px-6> div classmax-w-3xl space-y-6> h1 classtext-4xl md:text-5xl lg:text-6xl font-bold text-primary-foreground leading-tight>Professional Roofing Installation & Replacement/h1> p classtext-xl md:text-2xl text-primary-foreground/90>Quality roofing solutions that protect your home and investment/p> div classflex flex-col sm:flex-row gap-4 pt-4> a onclickcl() hreftel:+18553213154 aria-labelCall now> button classinline-flex items-center justify-center gap-2 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 h-11 rounded-md w-full sm:w-auto bg-accent hover:bg-accent/90 text-accent-foreground text-lg px-8 py-6 shadow-var(--cta-shadow)> 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 mr-2 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 1-855-321-3154 /button> /a> /div> /div> /div> /section> section classpy-16 bg-muted/50> div classcontainer px-4 md:px-6> div classgrid gap-8 md:grid-cols-3> div classrounded-lg border bg-card text-card-foreground shadow-sm border-border> div classp-6 pt-6 text-center space-y-4> div classinline-flex h-16 w-16 items-center justify-center rounded-full bg-accent/10> 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-8 w-8 text-accent> 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> /div> h3 classtext-xl font-semibold text-foreground>Quality Materials/h3> p classtext-muted-foreground>We use products designed to seal, waterproof, and weatherproof your structure effectively./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm border-border> div classp-6 pt-6 text-center space-y-4> div classinline-flex h-16 w-16 items-center justify-center rounded-full bg-accent/10> 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-8 w-8 text-accent> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> /div> h3 classtext-xl font-semibold text-foreground>Timely Service/h3> p classtext-muted-foreground>Efficient project completion with minimal disruption to your daily routine./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm border-border> div classp-6 pt-6 text-center space-y-4> div classinline-flex h-16 w-16 items-center justify-center rounded-full bg-accent/10> 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-circle-check h-8 w-8 text-accent> circle cx12 cy12 r10>/circle> path dm9 12 2 2 4-4>/path> /svg> /div> h3 classtext-xl font-semibold text-foreground>Professional Work/h3> p classtext-muted-foreground>Experienced contractors dedicated to quality installation and customer satisfaction./p> /div> /div> /div> /div> /section> section classpy-16 bg-background> div classcontainer px-4 md:px-6> div classtext-center mb-12> h2 classtext-3xl md:text-4xl font-bold text-foreground mb-4>Our Roofing Services/h2> p classtext-lg text-muted-foreground max-w-2xl mx-auto>Specialized in new installations and complete roof replacements for residential properties/p> /div> div classgrid gap-8 md:grid-cols-3> div classrounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden border-border> div classaspect-video overflow-hidden>img srcservice-install.webp altNew Roof Installation classw-full h-full object-cover>/div> div classp-6 pt-6 space-y-4> h3 classtext-xl font-semibold text-foreground>New Roof Installation/h3> p classtext-muted-foreground>Complete installation of quality roofing systems designed to protect your home for years to come./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden border-border> div classaspect-video overflow-hidden>img srcservice-replacement.webp altRoof Replacement classw-full h-full object-cover>/div> div classp-6 pt-6 space-y-4> h3 classtext-xl font-semibold text-foreground>Roof Replacement/h3> p classtext-muted-foreground>Full roof replacement services using durable materials that seal and weatherproof your structure./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden border-border> div classaspect-video overflow-hidden>img srcservice-inspection.webp altProfessional Consultation classw-full h-full object-cover>/div> div classp-6 pt-6 space-y-4> h3 classtext-xl font-semibold text-foreground>Professional Consultation/h3> p classtext-muted-foreground>Expert guidance on selecting the right roofing solution for your property and budget./p> /div> /div> /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 roofing services/p> /div> div roleregion aria-labelledbyfaq-heading classw-full space-y-4 data-orientationvertical> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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 roofing 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 roof replacement and new roof installation, storm and hail repair, leak repair, emergency tarping, roof inspections, flat roof systems, metal roofing, gutters and flashing repair, ventilation and attic work, and roof coating applications./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Do you serve Knoxville and nearby communities? 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, we serve Knoxville, TN and the surrounding communities for both residential and commercial roofing projects./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> How can I get a free estimate or schedule an inspection? 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>Use the contact form or the call button on the landing page to request a no‑obligation on‑site inspection and written estimate; we typically respond quickly to schedule a convenient time./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Will you work with my insurance company after storm damage? 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>Yes, we can assist with insurance claims by documenting damage, providing repair estimates, meeting with adjusters when needed, and supplying the paperwork your insurer requires; final claim decisions remain with your insurance provider./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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 warranties do you offer on materials and workmanship? 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>Most installations include manufacturer warranties on roofing materials and a contractor workmanship warranty; specific terms vary by product and job and will be provided in writing before work begins./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> How long will a roof replacement take? 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>For a typical single‑family home a full tear‑off and replacement usually takes 1–3 days, while larger or more complex jobs can take longer; weather, permit timing, and material availability can affect the schedule./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Are your crews 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-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>Yes, crews are properly licensed where required and carry liability insurance and workers’ compensation; you can request proof of insurance and license details before work starts./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Do you offer emergency roof repairs and temporary protection? 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 provide emergency tarping and temporary protective measures to prevent further damage, then schedule permanent repairs as soon as possible./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> What types of roofing materials do you install? 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>We install asphalt architectural shingles, metal roofing, tile, cedar and wood shake, TPO and EPDM for low‑slope roofs, and various roof coatings and accessories./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> How should I prepare my property for a roof replacement? 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>Clear vehicles and fragile items from around the home, secure pets, remove items from the attic if possible, and ensure safe access for the crew; we will give a detailed pre‑job checklist when your project is scheduled./div> /div> /div> /div> /div> /div>/section> section classpy-16 bg-gradient-to-r from-hero to-hero-light > div classcontainer px-4 md:px-6> div classflex flex-col items-center text-center space-y-6> h2 classtext-3xl md:text-4xl font-bold text-primary-foreground>Get Your Roofing Project Started Today/h2> p classtext-lg text-primary-foreground/90 max-w-2xl>Contact us now to discuss your roofing installation or replacement needs./p> a onclickcl() hreftel:+18553213154 aria-labelCall now> button classinline-flex items-center justify-center gap-2 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 h-11 rounded-md bg-accent hover:bg-accent/90 text-accent-foreground text-lg px-8 py-6 shadow-var(--cta-shadow)> 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 mr-2 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 1-855-321-3154 /button> /a> /div> /div> /section> /main>footer classborder-t border-border bg-muted/50> div classcontainer px-4 py-12 md:px-6> div classgrid gap-8 md:grid-cols-2 lg:grid-cols-4> div classspace-y-4> h3 classtext-lg font-semibold text-primary>Premium Roofing/h3> p classtext-sm text-muted-foreground>Professional roofing installation and replacement services for residential properties./p> /div> div classspace-y-4> h4 classtext-sm font-semibold text-foreground>Quick Links/h4> nav classflex flex-col space-y-2> a classtext-sm text-muted-foreground hover:text-primary transition-colors href/>Home/a> a classtext-sm text-muted-foreground hover:text-primary transition-colors hrefservices.html>Services/a> a classtext-sm text-muted-foreground hover:text-primary transition-colors hrefabout.html>About/a> a classtext-sm text-muted-foreground hover:text-primary transition-colors hrefcontact.html>Contact/a> /nav> /div> div classspace-y-4> h4 classtext-sm font-semibold text-foreground>Contact Info/h4> div classspace-y-2> a onclickcl() hreftel:+18553213154 classflex items-center space-x-2 text-sm text-muted-foreground hover:text-accent transition-colors> 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>1-855-321-3154/span> /a> div classflex items-center space-x-2 text-sm text-muted-foreground> 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-4 w-4> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> span>24/7 Emergency Service/span> /div> div classflex items-center space-x-2 text-sm text-muted-foreground> 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-map-pin h-4 w-4> path dM20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0>/path> circle cx12 cy10 r3>/circle> /svg> span>Serving Your Area/span> /div> /div> /div> div classspace-y-4> h4 classtext-sm font-semibold text-foreground>Our Services/h4> ul classspace-y-2 text-sm text-muted-foreground> li>Roof Installation/li> li>Roof Replacement/li> li>Shingle Roofing/li> li>Emergency Services/li> /ul> /div> /div> div classmt-12 border-t border-border pt-8> p classtext-xs text-muted-foreground text-center md:text-left>© 2025 Premium Roofing. All rights reserved./p> div classmt-4 text-10px leading-relaxed text-muted-foreground/50 opacity-50> p>strong>Disclaimer:/strong> 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> /div>/footer> /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 typeapplication/ld+json>{@context:https:\/\/schema.org,@type:FAQPage,mainEntity:{@type:Question,name:What roofing services do you offer?,acceptedAnswer:{@type:Answer,text:We provide roof replacement and new roof installation, storm and hail repair, leak repair, emergency tarping, roof inspections, flat roof systems, metal roofing, gutters and flashing repair, ventilation and attic work, and roof coating applications.}},{@type:Question,name:Do you serve Knoxville and nearby communities?,acceptedAnswer:{@type:Answer,text:Yes, we serve Knoxville, TN and the surrounding communities for both residential and commercial roofing projects.}},{@type:Question,name:How can I get a free estimate or schedule an inspection?,acceptedAnswer:{@type:Answer,text:Use the contact form or the call button on the landing page to request a no\u2011obligation on\u2011site inspection and written estimate; we typically respond quickly to schedule a convenient time.}},{@type:Question,name:Will you work with my insurance company after storm damage?,acceptedAnswer:{@type:Answer,text:Yes, we can assist with insurance claims by documenting damage, providing repair estimates, meeting with adjusters when needed, and supplying the paperwork your insurer requires; final claim decisions remain with your insurance provider.}},{@type:Question,name:What warranties do you offer on materials and workmanship?,acceptedAnswer:{@type:Answer,text:Most installations include manufacturer warranties on roofing materials and a contractor workmanship warranty; specific terms vary by product and job and will be provided in writing before work begins.}},{@type:Question,name:How long will a roof replacement take?,acceptedAnswer:{@type:Answer,text:For a typical single\u2011family home a full tear\u2011off and replacement usually takes 1\u20133 days, while larger or more complex jobs can take longer; weather, permit timing, and material availability can affect the schedule.}},{@type:Question,name:Are your crews licensed and insured?,acceptedAnswer:{@type:Answer,text:Yes, crews are properly licensed where required and carry liability insurance and workers\u2019 compensation; you can request proof of insurance and license details before work starts.}},{@type:Question,name:Do you offer emergency roof repairs and temporary protection?,acceptedAnswer:{@type:Answer,text:Yes, we provide emergency tarping and temporary protective measures to prevent further damage, then schedule permanent repairs as soon as possible.}},{@type:Question,name:What types of roofing materials do you install?,acceptedAnswer:{@type:Answer,text:We install asphalt architectural shingles, metal roofing, tile, cedar and wood shake, TPO and EPDM for low\u2011slope roofs, and various roof coatings and accessories.}},{@type:Question,name:How should I prepare my property for a roof replacement?,acceptedAnswer:{@type:Answer,text:Clear vehicles and fragile items from around the home, secure pets, remove items from the attic if possible, and ensure safe access for the crew; we will give a detailed pre\u2011job checklist when your project is scheduled.}}}/script>script>const d new Date;const s(window.innerWidth 768?M:D)+(d-1735689600000).toString(36);const i document.createElement(i+mg);i.altroofing; 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.altroofing; 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: Sun, 22 Feb 2026 22:33:11 GMTContent-Type: text/htmlTransfer-Encoding: chunkedConnection: keep-aliveServer: cloudflareLast-Modified: Sun, 22 Feb 2026 02:34:16 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?sTx%2FI3Fh0pPATHX%2BmpQqNhY%2Bothn8YNVnatSOaGMTkPbO5b0ynr8ct2vjvAXwzICJxejR5LbDS%2Buqhw%2FEupaMApiacLLthPuPaYUKGvfJJZZmT8uSQfXQ}}cf-cache-status: DYNAMICCF-RAY: 9d21f197e827ff07-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>Premium Roofing - Professional Installation & Replacement Services/title> meta namedescription contentProfessional roofing installation and replacement services for residential properties. Quality workmanship, durable materials, and expert contractors.> link relcanonical hrefhttps://atechroofingknoxville.com> meta propertyog:title contentPremium Roofing - Professional Installation & Replacement> meta propertyog:description contentProfessional roofing services specializing in new installations and complete roof replacements for residential properties.> meta propertyog:type contentwebsite> meta nametwitter:card contentsummary_large_image> meta nametwitter:title contentPremium Roofing Services> meta nametwitter:description contentQuality roofing installation and replacement for your home>style>a,hr{color:inherit}progress,sub,sup{vertical-align:baseline}blockquote,body,dd,dl,fieldset,figure,h1,h2,h3,h4,h5,h6,hr,menu,ol,p,pre,ul{margin:0}.p-0,dialog,fieldset,legend,menu,ol,ul{padding:0}.dark,:root{--accent:25 95% 53%;--accent-foreground:0 0% 100%;--sidebar-ring:217.2 91.2% 59.8%}.inset-0,.inset-x-0{left:0;right:0}.inset-0,.inset-y-0{top:0;bottom:0}.border-collapse,table{border-collapse:collapse}.from-hero,.from-hero\/95{--tw-gradient-to:hsl(215 28% 17% / 0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.transition,.transition-\left\,right\,width\,.transition-\margin\,opa\,.transition-\width\,height\,padding\,.transition-\width\,.transition-all,.transition-colors,.transition-opacity,.transition-transform{transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-in-out,.transition,.transition-\left\,right\,width\,.transition-\margin\,opa\,.transition-\width\,height\,padding\,.transition-\width\,.transition-all,.transition-colors,.transition-opacity,.transition-transform{transition-timing-function:cubic-bezier(.4,0,.2,1)}.sr-only,.whitespace-nowrap{white-space:nowrap}*,:after,:before{--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: ;box-sizing:border-box;border:0 solid #e5e7eb}::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: }.-translate-x-1\/2,.after\:-translate-x-1\/2:after,.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))}:after,:before{--tw-content:}:host,html{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{line-height:inherit;background-color:hsl(var(--background));color:hsl(var(--foreground))}hr{height:0;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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{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}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit}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}.data-\state\active\\:shadow-smdata-stateactive,.group.toaster .group-\\.toaster\\:shadow-lg,.groupdata-variantfloating .group-data-\variant\floating\\:shadow,.shadow-\0_0_0_1px_hsl\(var\(--sidebar-border\)\)\,.shadow-lg,.shadow-md,.shadow-none,.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}::-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}menu,ol,ul{list-style:none}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}.cursor-pointer,rolebutton,button{cursor:pointer}.cursor-default,:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{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% 15%;--card:0 0% 100%;--card-foreground:215 25% 15%;--popover:0 0% 100%;--popover-foreground:215 25% 15%;--primary:215 28% 17%;--primary-foreground:0 0% 100%;--secondary:210 20% 92%;--secondary-foreground:215 25% 15%;--muted:210 20% 95%;--muted-foreground:215 15% 45%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 100%;--border:215 20% 88%;--input:215 20% 88%;--ring:215 28% 17%;--radius:.5rem;--hero-gradient:linear-gradient(135deg, hsl(215 28% 17%), hsl(215 25% 25%));--cta-shadow:0 4px 20px hsla(25 95% 53% / .3);--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--sidebar-background:0 0% 98%;--sidebar-foreground:240 5.3% 26.1%;--sidebar-primary:240 5.9% 10%;--sidebar-primary-foreground:0 0% 98%;--sidebar-accent:240 4.8% 95.9%;--sidebar-accent-foreground:240 5.9% 10%;--sidebar-border:220 13% 91%}.dark{--background:215 25% 12%;--foreground:0 0% 98%;--card:215 25% 15%;--card-foreground:0 0% 98%;--popover:215 25% 15%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:215 28% 17%;--secondary:215 25% 20%;--secondary-foreground:0 0% 98%;--muted:215 25% 20%;--muted-foreground:215 15% 65%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:215 25% 20%;--input:215 25% 20%;--ring:0 0% 83.9%;--sidebar-background:240 5.9% 10%;--sidebar-foreground:240 4.8% 95.9%;--sidebar-primary:224.3 76.3% 48%;--sidebar-primary-foreground:0 0% 100%;--sidebar-accent:240 3.7% 15.9%;--sidebar-accent-foreground:240 4.8% 95.9%;--sidebar-border:240 3.7% 15.9%}*,.border-border,.group.toaster .group-\\.toaster\\:border-border{border-color:hsl(var(--border))}.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);border-width:0}.\\&_svg\\:pointer-events-none svg,.aria-disabled\:pointer-events-nonearia-disabledtrue,.data-\disabled\true\\:pointer-events-nonedata-disabledtrue,.data-\disabled\\:pointer-events-nonedata-disabled,.disabled\:pointer-events-none:disabled,.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.visible{visibility:visible}.invisible{visibility:hidden}.fixed{position:fixed}.\\&\>svg\\:absolute>svg,.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.groupdata-sideright .group-data-\side\right\\:left-0,.left-0{left:0}.left-1{left:.25rem}.left-1\/2,.left-\50\%\{left:50%}.left-2{left:.5rem}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-3{right:.75rem}.right-4{right:1rem}.top-0{top:0}.peer\/menu-buttondata-sizedefault~.peer-data-\size\default\\/menu-button\:top-1\.5,.top-1\.5{top:.375rem}.top-1\/2,.top-\50\%\{top:50%}.top-2{top:.5rem}.top-3\.5{top:.875rem}.\\&\>svg\\:top-4>svg,.top-4{top:1rem}.top-\1px\{top:1px}.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}.mb-1,.my-1{margin-bottom:.25rem}.my-1{margin-top:.25rem}.-ml-4{margin-left:-1rem}.-mt-4{margin-top:-1rem}.mb-12{margin-bottom:3rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.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-auto{margin-top:auto}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.\\&\>button\\:hidden>button,.groupdata-collapsibleicon .group-data-\collapsible\icon\\:hidden,.hidden{display:none}.aspect-square{aspect-ratio:1/1}.aspect-video{aspect-ratio:16/9}.\\&\>svg\\:size-4>svg,.\\&_svg\\:size-4 svg,.size-4{width:1rem;height:1rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-11{height:2.75rem}.\\&_\cmdk-input\\\:h-12 cmdk-input,.h-12{height:3rem}.h-16{height:4rem}.h-2{height:.5rem}.\\&\>svg\\:h-2\.5>svg,.h-2\.5{height:.625rem}.\\&\>svg\\:h-3>svg,.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.\\&_\cmdk-input-wrapper\_svg\\:h-5 cmdk-input-wrapper svg,.\\&_\cmdk-item\_svg\\:h-5 cmdk-item svg,.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.data-\panel-group-direction\vertical\\:h-pxdata-panel-group-directionvertical,.h-\1px\,.h-px{height:1px}.h-\600px\{height:600px}.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-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:0}.min-h-\80px\{min-height:80px}.min-h-screen{min-height:100vh}.min-h-svh{min-height:100svh}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:w-0,.w-0{width:0}.w-1{width:.25rem}.w-10{width:2.5rem}.w-11{width:2.75rem}.w-16{width:4rem}.w-2{width:.5rem}.\\&\>svg\\:w-2\.5>svg,.w-2\.5{width:.625rem}.\\&\>svg\\:w-3>svg,.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.\\&_\cmdk-input-wrapper\_svg\\:w-5 cmdk-input-wrapper svg,.\\&_\cmdk-item\_svg\\:w-5 cmdk-item svg,.w-5{width:1.25rem}.w-6{width:1.5rem}.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\,.w-px{width:1px}.w-auto{width:auto}.data-\panel-group-direction\vertical\\:w-fulldata-panel-group-directionvertical,.w-full{width:100%}.w-max{width:-moz-max-content;width:max-content}.min-w-0{min-width:0}.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-5xl{max-width:64rem}.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}.flex-1{flex:1 1 0%}.\\&\>svg\\:shrink-0>svg,.\\&_svg\\:shrink-0 svg,.flex-shrink-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}.-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,.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))}.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))}.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))}.\\&\data-panel-group-direction\vertical\\>div\\:rotate-90data-panel-group-directionvertical>div,.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:2s cubic-bezier(.4,0,.6,1) infinite pulse}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.list-none{list-style-type:none}.flex-row{flex-direction:row}.data-\panel-group-direction\vertical\\:flex-coldata-panel-group-directionvertical,.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-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-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)))}.space-x-3>:not(hidden)~:not(hidden){--tw-space-x-reverse:0;margin-right:calc(.75rem * var(--tw-space-x-reverse));margin-left:calc(.75rem * 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-x-6>:not(hidden)~:not(hidden){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * 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-12>:not(hidden)~:not(hidden){--tw-space-y-reverse:0;margin-top:calc(3rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3rem * 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-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))}.space-y-8>:not(hidden)~:not(hidden){--tw-space-y-reverse:0;margin-top:calc(2rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(2rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:overflow-hidden,.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.break-words{overflow-wrap:break-word}.rounded-\2px\{border-radius:2px}.rounded-\inherit\{border-radius:inherit}.rounded-full{border-radius:9999px}.groupdata-variantfloating .group-data-\variant\floating\\:rounded-lg,.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,.groupdata-variantfloating .group-data-\variant\floating\\:border{border-width:1px}.border-2{border-width:2px}.border-\1\.5px\{border-width:1.5px}.\\&_tr\\:border-b tr,.border-b,.border-y{border-bottom-width:1px}.border-t,.border-y{border-top-width:1px}.border-l,.first\:border-l:first-child,.groupdata-sideright .group-data-\side\right\\:border-l{border-left-width:1px}.border-r,.groupdata-sideleft .group-data-\side\left\\:border-r{border-right-width:1px}.border-dashed{border-style:dashed}.border-\--color-border\{border-color:var(--color-border)}.border-accent\/20{border-color:hsl(var(--accent) / .2)}.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-sidebar-border,.groupdata-variantfloating .group-data-\variant\floating\\:border-sidebar-border{border-color:hsl(var(--sidebar-border))}.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)}.aria-selected\:bg-accentaria-selectedtrue,.bg-accent,.data-\selected\\true\\\:bg-accentdata-selectedtrue,.data-\state\on\\:bg-accentdata-stateon,.data-\state\open\\:bg-accentdata-stateopen,.focus\:bg-accent:focus,.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.bg-accent\/10{background-color:hsl(var(--accent) / .1)}.bg-accent\/5{background-color:hsl(var(--accent) / .05)}.bg-background,.data-\state\active\\:bg-backgrounddata-stateactive,.group.toaster .group-\\.toaster\\: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,.group.destructive .group-\\.destructive\\:hover\:bg-destructive:hover{background-color:hsl(var(--destructive))}.bg-foreground{background-color:hsl(var(--foreground))}.bg-muted,.data-\state\selected\\:bg-muteddata-stateselected,.group.toast .group-\\.toast\\:bg-muted,.hover\:bg-muted:hover{background-color:hsl(var(--muted))}.bg-muted\/50,.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted) / .5)}.bg-popover{background-color:hsl(var(--popover))}.bg-primary,.data-\state\checked\\:bg-primarydata-statechecked,.focus\:bg-primary:focus,.group.toast .group-\\.toast\\:bg-primary,.hover\:bg-primary:hover{background-color:hsl(var(--primary))}.bg-secondary,.data-\state\open\\:bg-secondarydata-stateopen,.hover\:bg-secondary:hover{background-color:hsl(var(--secondary))}.bg-sidebar{background-color:hsl(var(--sidebar-background))}.bg-sidebar-border{background-color:hsl(var(--sidebar-border))}.bg-transparent{background-color:transparent}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-hero{--tw-gradient-from:hsl(215 28% 17%) var(--tw-gradient-from-position)}.from-hero\/95{--tw-gradient-from:hsl(215 28% 17% / .95) var(--tw-gradient-from-position)}.to-hero-light{--tw-gradient-to:hsl(215 25% 25%) var(--tw-gradient-to-position)}.to-hero\/70{--tw-gradient-to:hsl(215 28% 17% / .7) var(--tw-gradient-to-position)}.bg-cover{background-size:cover}.bg-center{background-position:center}.fill-current{fill:currentColor}.object-cover{-o-object-fit:cover;object-fit:cover}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-\1px\{padding:1px}.px-1{padding-left:.25rem;padding-right:.25rem}.\\&_\cmdk-group-heading\\\:px-2 cmdk-group-heading,.\\&_\cmdk-group\\\:px-2 cmdk-group,.\\&_\cmdk-item\\\:px-2 cmdk-item,.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-6{padding-left:1.5rem;padding-right:1.5rem}.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}.\\&_\cmdk-group-heading\\\:py-1\.5 cmdk-group-heading,.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}.\\&_\cmdk-item\\\:py-3 cmdk-item,.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}.pb-3{padding-bottom:.75rem}.pb-4{padding-bottom:1rem}.pb-6{padding-bottom:1.5rem}.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}.\\&_\cmdk-group\\:not\(\hidden\\)_\~\cmdk-group\\\:pt-0 cmdk-group:not(hidden)~cmdk-group,.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}.pt-8{padding-top:2rem}.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-\10px\{font-size:10px}.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}.\\&_\cmdk-group-heading\\\:text-xs cmdk-group-heading,.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.\\&_\cmdk-group-heading\\\:font-medium cmdk-group-heading,.data-\active\true\\:font-mediumdata-activetrue,.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}.\\&_p\\:leading-relaxed p,.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.hover\:text-accent:hover,.text-accent{color:hsl(var(--accent))}.aria-selected\:text-accent-foregroundaria-selectedtrue,.data-\selected\true\\:text-accent-foregrounddata-selectedtrue,.data-\state\on\\:text-accent-foregrounddata-stateon,.data-\state\open\\:text-accent-foregrounddata-stateopen,.focus\:text-accent-foreground:focus,.hover\:text-accent-foreground:hover,.text-accent-foreground{color:hsl(var(--accent-foreground))}.text-card-foreground{color:hsl(var(--card-foreground))}.text-current{color:currentColor}.\\&\>svg\\:text-destructive>svg,.text-destructive{color:hsl(var(--destructive))}.group.destructive .group-\\.destructive\\:hover\:text-destructive-foreground:hover,.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-foreground\/50{color:hsl(var(--foreground) / .5)}.text-foreground\/80{color:hsl(var(--foreground) / .8)}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-muted-foreground\/50{color:hsl(var(--muted-foreground) / .5)}.text-popover-foreground{color:hsl(var(--popover-foreground))}.hover\:text-primary:hover,.text-primary{color:hsl(var(--primary))}.data-\state\checked\\:text-primary-foregrounddata-statechecked,.focus\:text-primary-foreground:focus,.group.toast .group-\\.toast\\:text-primary-foreground,.hover\:text-primary-foreground:hover,.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-primary-foreground\/90{color:hsl(var(--primary-foreground) / .9)}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.text-sidebar-foreground{color:hsl(var(--sidebar-foreground))}.text-sidebar-foreground\/70{color:hsl(var(--sidebar-foreground) / .7)}.hover\:underline:hover,.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:opacity-0,.opacity-0{opacity:0}.disabled\:opacity-50:disabled,.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70,.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.aria-selected\:opacity-100aria-selectedtrue,.data-\state\open\\:opacity-100data-stateopen,.focus\:opacity-100:focus,.group:hover .group-hover\:opacity-100,.group\/menu-item:hover .group-hover\/menu-item\:opacity-100,.hover\:opacity-100:hover{opacity:1}.opacity-90{opacity:.9}.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)}.group.toaster .group-\\.toaster\\:shadow-lg,.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)}.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)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000}.data-\state\active\\:shadow-smdata-stateactive,.shadow-sm{--tw-shadow:0 1px 2px 0 rgb(0 0 0 / .05);--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.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)}.focus\:ring-2:focus,.ring-0,.ring-2{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.shadow-\var\(--cta-shadow\)\{--tw-shadow-color:var(--cta-shadow);--tw-shadow:var(--tw-shadow-colored)}.focus\:outline-none:focus,.outline-none{outline:transparent solid 2px;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-2:focus,.ring-2{--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus,.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-sidebar-ring{--tw-ring-color:hsl(var(--sidebar-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,backdrop-filter,-webkit-backdrop-filter}.transition-\left\,right\,width\{transition-property:left,right,width}.transition-\margin\,opa\{transition-property:margin,opa}.transition-\width\,height\,padding\{transition-property:width,height,padding}.transition-\width\{transition-property:width}.transition-all{transition-property:all}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke}.transition-opacity{transition-property:opacity}.transition-transform{transition-property:transform}.duration-1000{transition-duration:1s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-linear{transition-timing-function:linear;animation-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,.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\^\from-\\:fade-indata-motion^from-,.data-\state\open\\:fade-in-0data-stateopen,.data-\state\visible\\:fade-indata-statevisible,.fade-in-0{--tw-enter-opacity:0}.fade-in-80{--tw-enter-opacity:.8}.data-\state\open\\:zoom-in-95data-stateopen,.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{transition-duration:.2s;animation-duration:.2s}.file\:border-0::file-selector-button{border-width:0}.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)}.first\:rounded-l-md:first-child{border-top-left-radius:calc(var(--radius) - 2px);border-bottom-left-radius:calc(var(--radius) - 2px)}.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\:bg-accent\/90:hover{background-color:hsl(var(--accent) / .9)}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive) / .8)}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive) / .9)}.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\/80:hover{background-color:hsl(var(--secondary) / .8)}.active\:bg-sidebar-accent:active,.data-\active\true\\:bg-sidebar-accentdata-activetrue,.hover\:bg-sidebar-accent:hover{background-color:hsl(var(--sidebar-accent))}.\\&\>svg\\:text-foreground>svg,.data-\state\active\\:text-foregrounddata-stateactive,.group.toaster .group-\\.toaster\\:text-foreground,.hover\:text-foreground:hover{color:hsl(var(--foreground))}.\\&\>svg\\:text-muted-foreground>svg,.\\&_\cmdk-group-heading\\\:text-muted-foreground cmdk-group-heading,.aria-selected\:text-muted-foregroundaria-selectedtrue,.data-\state\open\\:text-muted-foregrounddata-stateopen,.group.toast .group-\\.toast\\:text-muted-foreground,.hover\:text-muted-foreground:hover{color:hsl(var(--muted-foreground))}.hover\:text-primary\/90:hover{color:hsl(var(--primary) / .9)}.active\:text-sidebar-accent-foreground:active,.data-\active\true\\:text-sidebar-accent-foregrounddata-activetrue,.hover\:text-sidebar-accent-foreground:hover,.peer\/menu-button:hover~.peer-hover\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}.hover\:no-underline:hover{text-decoration-line:none}.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)}.hover\:after\:bg-sidebar-border:hover:after{content:var(--tw-content);background-color:hsl(var(--sidebar-border))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:transparent solid 2px;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-sidebar-ring:focus-visible{--tw-ring-color:hsl(var(--sidebar-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\:cursor-not-allowed:disabled,.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.group\/menu-item:focus-within .group-focus-within\/menu-item\:opacity-100{opacity:1}.group.destructive .group-\\.destructive\\:border-muted\/40{border-color:hsl(var(--muted) / .4)}.group.destructive .group-\\.destructive\\:text-red-300{--tw-text-opacity:1;color:rgb(252 165 165 / var(--tw-text-opacity,1))}.group.destructive .group-\\.destructive\\:hover\:border-destructive\/30:hover{border-color:hsl(var(--destructive) / .3)}.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}.has-\\data-variant\inset\\\:bg-sidebar:has(data-variantinset){background-color:hsl(var(--sidebar-background))}.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\:opacity-50aria-disabledtrue,.data-\disabled\true\\:opacity-50data-disabledtrue,.data-\disabled\\:opacity-50data-disabled{opacity:.5}.aria-selected\:bg-accent\/50aria-selectedtrue,.data-\active\\:bg-accent\/50data-active,.data-\state\open\\:bg-accent\/50data-stateopen{background-color:hsl(var(--accent) / .5)}.aria-selected\:opacity-30aria-selectedtrue{opacity:.3}.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-\panel-group-direction\vertical\\:after\:translate-x-0data-panel-group-directionvertical:after,.data-\state\unchecked\\:translate-x-0data-stateunchecked,.data-\swipe\cancel\\:translate-x-0data-swipecancel,.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))}.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:.2s ease-out accordion-up}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\state\open\\:animate-accordion-downdata-stateopen{animation:.2s ease-out accordion-down}.data-\state\unchecked\\:bg-inputdata-stateunchecked{background-color:hsl(var(--input))}.data-\swipe\move\\:transition-nonedata-swipemove{transition-property:none}.data-\state\closed\\:duration-300data-stateclosed{transition-duration:.3s}.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\^\to-\\:fade-outdata-motion^to-,.data-\state\closed\\:fade-out-0data-stateclosed,.data-\state\hidden\\:fade-outdata-statehidden{--tw-exit-opacity:0}.data-\state\closed\\:fade-out-80data-stateclosed{--tw-exit-opacity:.8}.data-\state\closed\\:zoom-out-95data-stateclosed{--tw-exit-scale:.95}.data-\state\open\\:zoom-in-90data-stateopen{--tw-enter-scale:.9}.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-right-fulldata-stateclosed,.data-\state\closed\\:slide-out-to-rightdata-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-top-fulldata-stateopen,.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\closed\\:duration-300data-stateclosed{animation-duration:.3s}.data-\state\open\\:duration-500data-stateopen{transition-duration:.5s;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)}.data-\state\open\\:hover\:bg-sidebar-accent:hoverdata-stateopen{background-color:hsl(var(--sidebar-accent))}.data-\state\open\\:hover\:text-sidebar-accent-foreground:hoverdata-stateopen{color:hsl(var(--sidebar-accent-foreground))}.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-collapsibleicon .group-data-\collapsible\icon\\:-mt-8{margin-top:-2rem}.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)}.\\&\data-state\open\\>svg\\:rotate-180data-stateopen>svg,.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\\:\!p-0{padding:0!important}.groupdata-collapsibleicon .group-data-\collapsible\icon\\:\!p-2{padding:.5rem!important}.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)}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:after\:left-full:after{content:var(--tw-content);left:100%}.groupdata-collapsibleoffcanvas .group-data-\collapsible\offcanvas\\:hover\:bg-sidebar:hover{background-color:hsl(var(--sidebar-background))}.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)}.\\&\>svg\\:text-sidebar-accent-foreground>svg,.peer\/menu-buttondata-activetrue~.peer-data-\active\true\\/menu-button\:text-sidebar-accent-foreground{color:hsl(var(--sidebar-accent-foreground))}@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\:flex{display:flex}.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\:h-\700px\{height:700px}.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\:px-6{padding-left:1.5rem;padding-right:1.5rem}.md\:text-left{text-align:left}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.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\: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-4{grid-template-columns:repeat(4,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}.\\&\>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\\:left-4>svg{left:1rem}.\\&\>svg\\:size-3\.5>svg{width:.875rem;height:.875rem}.\\&\>svg\~\*\\:pl-7>svg~*{padding-left:1.75rem}.\\&\>tr\\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\\&_\.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,.\\&_\.recharts-polar-grid_\stroke\\\#ccc\\\\:stroke-border .recharts-polar-grid stroke#ccc,.\\&_\.recharts-reference-line_\stroke\\\#ccc\\\\:stroke-border .recharts-reference-line stroke#ccc{stroke:hsl(var(--border))}.\\&_\.recharts-dot\stroke\\\#fff\\\\:stroke-transparent .recharts-dotstroke#fff,.\\&_\.recharts-sector\stroke\\\#fff\\\\:stroke-transparent .recharts-sectorstroke#fff{stroke:transparent}.\\&_\.recharts-layer\\:outline-none .recharts-layer,.\\&_\.recharts-sector\\:outline-none .recharts-sector,.\\&_\.recharts-surface\\:outline-none .recharts-surface{outline:transparent solid 2px;outline-offset:2px}.\\&_\.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))}.\\&_tr\:last-child\\:border-0 tr:last-child{border-width:0}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,data-sideright .\\data-side\right\_\&\\:cursor-e-resize{cursor:e-resize}data-sideleft .\\data-side\left\_\&\\:cursor-w-resize,data-siderightdata-statecollapsed .\\data-side\right\\data-state\collapsed\_\&\\:cursor-w-resize{cursor:w-resize}data-siderightdata-collapsibleoffcanvas .\\data-side\right\\data-collapsible\offcanvas\_\&\\:-left-2{left:-.5rem}/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 flex h-16 items-center justify-between px-4 md:px-6> a classflex items-center space-x-2 href/> div classflex flex-col>span classtext-lg font-bold text-primary>Premium Roofing/span>span classtext-xs text-muted-foreground>Professional Installation/span>/div> /a> nav classhidden md:flex items-center space-x-6>a classtext-sm font-medium transition-colors hover:text-primary text-primary href/>Home/a>a classtext-sm font-medium transition-colors hover:text-primary text-foreground/80 hrefservices.html>Services/a>a classtext-sm font-medium transition-colors hover:text-primary text-foreground/80 hrefabout.html>About/a>a classtext-sm font-medium transition-colors hover:text-primary text-foreground/80 hrefcontact.html>Contact/a>/nav> div classhidden md:flex items-center space-x-4> a onclickcl() hreftel:+18553213154> button classinline-flex items-center justify-center gap-2 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 text-primary-foreground h-11 rounded-md px-8 bg-accent hover:bg-accent/90 shadow-var(--cta-shadow)> 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 mr-2 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> 1-855-321-3154 /button> /a> /div> div classflex md:hidden items-center space-x-2> a onclickcl() hreftel:+18553213154 aria-labelCall now> button classinline-flex items-center justify-center gap-2 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 text-primary-foreground h-9 rounded-md px-3 bg-accent hover:bg-accent/90> 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> /button> /a> button classinline-flex items-center justify-center gap-2 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 hover:bg-accent hover:text-accent-foreground h-9 rounded-md px-3 aria-labelToggle menu> 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-menu h-5 w-5> line x14 x220 y112 y212>/line> line x14 x220 y16 y26>/line> line x14 x220 y118 y218>/line> /svg> /button> /div> /div> /header> main classflex-1> section classrelative h-600px md:h-700px flex items-center justify-center overflow-hidden> div classabsolute inset-0 bg-cover bg-center stylebackground-image: url("hero-roofing.webp");> div classabsolute inset-0 bg-gradient-to-r from-hero/95 to-hero/70>/div> /div> div classcontainer relative z-10 px-4 md:px-6> div classmax-w-3xl space-y-6> h1 classtext-4xl md:text-5xl lg:text-6xl font-bold text-primary-foreground leading-tight>Professional Roofing Installation & Replacement/h1> p classtext-xl md:text-2xl text-primary-foreground/90>Quality roofing solutions that protect your home and investment/p> div classflex flex-col sm:flex-row gap-4 pt-4> a onclickcl() hreftel:+18553213154 aria-labelCall now> button classinline-flex items-center justify-center gap-2 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 h-11 rounded-md w-full sm:w-auto bg-accent hover:bg-accent/90 text-accent-foreground text-lg px-8 py-6 shadow-var(--cta-shadow)> 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 mr-2 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 1-855-321-3154 /button> /a> /div> /div> /div> /section> section classpy-16 bg-muted/50> div classcontainer px-4 md:px-6> div classgrid gap-8 md:grid-cols-3> div classrounded-lg border bg-card text-card-foreground shadow-sm border-border> div classp-6 pt-6 text-center space-y-4> div classinline-flex h-16 w-16 items-center justify-center rounded-full bg-accent/10> 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-8 w-8 text-accent> 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> /div> h3 classtext-xl font-semibold text-foreground>Quality Materials/h3> p classtext-muted-foreground>We use products designed to seal, waterproof, and weatherproof your structure effectively./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm border-border> div classp-6 pt-6 text-center space-y-4> div classinline-flex h-16 w-16 items-center justify-center rounded-full bg-accent/10> 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-8 w-8 text-accent> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> /div> h3 classtext-xl font-semibold text-foreground>Timely Service/h3> p classtext-muted-foreground>Efficient project completion with minimal disruption to your daily routine./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm border-border> div classp-6 pt-6 text-center space-y-4> div classinline-flex h-16 w-16 items-center justify-center rounded-full bg-accent/10> 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-circle-check h-8 w-8 text-accent> circle cx12 cy12 r10>/circle> path dm9 12 2 2 4-4>/path> /svg> /div> h3 classtext-xl font-semibold text-foreground>Professional Work/h3> p classtext-muted-foreground>Experienced contractors dedicated to quality installation and customer satisfaction./p> /div> /div> /div> /div> /section> section classpy-16 bg-background> div classcontainer px-4 md:px-6> div classtext-center mb-12> h2 classtext-3xl md:text-4xl font-bold text-foreground mb-4>Our Roofing Services/h2> p classtext-lg text-muted-foreground max-w-2xl mx-auto>Specialized in new installations and complete roof replacements for residential properties/p> /div> div classgrid gap-8 md:grid-cols-3> div classrounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden border-border> div classaspect-video overflow-hidden>img srcservice-install.webp altNew Roof Installation classw-full h-full object-cover>/div> div classp-6 pt-6 space-y-4> h3 classtext-xl font-semibold text-foreground>New Roof Installation/h3> p classtext-muted-foreground>Complete installation of quality roofing systems designed to protect your home for years to come./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden border-border> div classaspect-video overflow-hidden>img srcservice-replacement.webp altRoof Replacement classw-full h-full object-cover>/div> div classp-6 pt-6 space-y-4> h3 classtext-xl font-semibold text-foreground>Roof Replacement/h3> p classtext-muted-foreground>Full roof replacement services using durable materials that seal and weatherproof your structure./p> /div> /div> div classrounded-lg border bg-card text-card-foreground shadow-sm overflow-hidden border-border> div classaspect-video overflow-hidden>img srcservice-inspection.webp altProfessional Consultation classw-full h-full object-cover>/div> div classp-6 pt-6 space-y-4> h3 classtext-xl font-semibold text-foreground>Professional Consultation/h3> p classtext-muted-foreground>Expert guidance on selecting the right roofing solution for your property and budget./p> /div> /div> /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 roofing services/p> /div> div roleregion aria-labelledbyfaq-heading classw-full space-y-4 data-orientationvertical> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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 roofing 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 roof replacement and new roof installation, storm and hail repair, leak repair, emergency tarping, roof inspections, flat roof systems, metal roofing, gutters and flashing repair, ventilation and attic work, and roof coating applications./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Do you serve Knoxville and nearby communities? 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, we serve Knoxville, TN and the surrounding communities for both residential and commercial roofing projects./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> How can I get a free estimate or schedule an inspection? 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>Use the contact form or the call button on the landing page to request a no‑obligation on‑site inspection and written estimate; we typically respond quickly to schedule a convenient time./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Will you work with my insurance company after storm damage? 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>Yes, we can assist with insurance claims by documenting damage, providing repair estimates, meeting with adjusters when needed, and supplying the paperwork your insurer requires; final claim decisions remain with your insurance provider./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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 warranties do you offer on materials and workmanship? 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>Most installations include manufacturer warranties on roofing materials and a contractor workmanship warranty; specific terms vary by product and job and will be provided in writing before work begins./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> How long will a roof replacement take? 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>For a typical single‑family home a full tear‑off and replacement usually takes 1–3 days, while larger or more complex jobs can take longer; weather, permit timing, and material availability can affect the schedule./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Are your crews 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-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>Yes, crews are properly licensed where required and carry liability insurance and workers’ compensation; you can request proof of insurance and license details before work starts./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> Do you offer emergency roof repairs and temporary protection? 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 provide emergency tarping and temporary protective measures to prevent further damage, then schedule permanent repairs as soon as possible./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> What types of roofing materials do you install? 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>We install asphalt architectural shingles, metal roofing, tile, cedar and wood shake, TPO and EPDM for low‑slope roofs, and various roof coatings and accessories./div> /div> /div> div data-stateclosed data-orientationvertical classborder border-border rounded-lg px-6 bg-card> 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)> How should I prepare my property for a roof replacement? 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>Clear vehicles and fragile items from around the home, secure pets, remove items from the attic if possible, and ensure safe access for the crew; we will give a detailed pre‑job checklist when your project is scheduled./div> /div> /div> /div> /div> /div>/section> section classpy-16 bg-gradient-to-r from-hero to-hero-light > div classcontainer px-4 md:px-6> div classflex flex-col items-center text-center space-y-6> h2 classtext-3xl md:text-4xl font-bold text-primary-foreground>Get Your Roofing Project Started Today/h2> p classtext-lg text-primary-foreground/90 max-w-2xl>Contact us now to discuss your roofing installation or replacement needs./p> a onclickcl() hreftel:+18553213154 aria-labelCall now> button classinline-flex items-center justify-center gap-2 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 h-11 rounded-md bg-accent hover:bg-accent/90 text-accent-foreground text-lg px-8 py-6 shadow-var(--cta-shadow)> 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 mr-2 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 1-855-321-3154 /button> /a> /div> /div> /section> /main>footer classborder-t border-border bg-muted/50> div classcontainer px-4 py-12 md:px-6> div classgrid gap-8 md:grid-cols-2 lg:grid-cols-4> div classspace-y-4> h3 classtext-lg font-semibold text-primary>Premium Roofing/h3> p classtext-sm text-muted-foreground>Professional roofing installation and replacement services for residential properties./p> /div> div classspace-y-4> h4 classtext-sm font-semibold text-foreground>Quick Links/h4> nav classflex flex-col space-y-2> a classtext-sm text-muted-foreground hover:text-primary transition-colors href/>Home/a> a classtext-sm text-muted-foreground hover:text-primary transition-colors hrefservices.html>Services/a> a classtext-sm text-muted-foreground hover:text-primary transition-colors hrefabout.html>About/a> a classtext-sm text-muted-foreground hover:text-primary transition-colors hrefcontact.html>Contact/a> /nav> /div> div classspace-y-4> h4 classtext-sm font-semibold text-foreground>Contact Info/h4> div classspace-y-2> a onclickcl() hreftel:+18553213154 classflex items-center space-x-2 text-sm text-muted-foreground hover:text-accent transition-colors> 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>1-855-321-3154/span> /a> div classflex items-center space-x-2 text-sm text-muted-foreground> 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-4 w-4> circle cx12 cy12 r10>/circle> polyline points12 6 12 12 16 14>/polyline> /svg> span>24/7 Emergency Service/span> /div> div classflex items-center space-x-2 text-sm text-muted-foreground> 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-map-pin h-4 w-4> path dM20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0>/path> circle cx12 cy10 r3>/circle> /svg> span>Serving Your Area/span> /div> /div> /div> div classspace-y-4> h4 classtext-sm font-semibold text-foreground>Our Services/h4> ul classspace-y-2 text-sm text-muted-foreground> li>Roof Installation/li> li>Roof Replacement/li> li>Shingle Roofing/li> li>Emergency Services/li> /ul> /div> /div> div classmt-12 border-t border-border pt-8> p classtext-xs text-muted-foreground text-center md:text-left>© 2025 Premium Roofing. All rights reserved./p> div classmt-4 text-10px leading-relaxed text-muted-foreground/50 opacity-50> p>strong>Disclaimer:/strong> 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> /div>/footer> /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 typeapplication/ld+json>{@context:https:\/\/schema.org,@type:FAQPage,mainEntity:{@type:Question,name:What roofing services do you offer?,acceptedAnswer:{@type:Answer,text:We provide roof replacement and new roof installation, storm and hail repair, leak repair, emergency tarping, roof inspections, flat roof systems, metal roofing, gutters and flashing repair, ventilation and attic work, and roof coating applications.}},{@type:Question,name:Do you serve Knoxville and nearby communities?,acceptedAnswer:{@type:Answer,text:Yes, we serve Knoxville, TN and the surrounding communities for both residential and commercial roofing projects.}},{@type:Question,name:How can I get a free estimate or schedule an inspection?,acceptedAnswer:{@type:Answer,text:Use the contact form or the call button on the landing page to request a no\u2011obligation on\u2011site inspection and written estimate; we typically respond quickly to schedule a convenient time.}},{@type:Question,name:Will you work with my insurance company after storm damage?,acceptedAnswer:{@type:Answer,text:Yes, we can assist with insurance claims by documenting damage, providing repair estimates, meeting with adjusters when needed, and supplying the paperwork your insurer requires; final claim decisions remain with your insurance provider.}},{@type:Question,name:What warranties do you offer on materials and workmanship?,acceptedAnswer:{@type:Answer,text:Most installations include manufacturer warranties on roofing materials and a contractor workmanship warranty; specific terms vary by product and job and will be provided in writing before work begins.}},{@type:Question,name:How long will a roof replacement take?,acceptedAnswer:{@type:Answer,text:For a typical single\u2011family home a full tear\u2011off and replacement usually takes 1\u20133 days, while larger or more complex jobs can take longer; weather, permit timing, and material availability can affect the schedule.}},{@type:Question,name:Are your crews licensed and insured?,acceptedAnswer:{@type:Answer,text:Yes, crews are properly licensed where required and carry liability insurance and workers\u2019 compensation; you can request proof of insurance and license details before work starts.}},{@type:Question,name:Do you offer emergency roof repairs and temporary protection?,acceptedAnswer:{@type:Answer,text:Yes, we provide emergency tarping and temporary protective measures to prevent further damage, then schedule permanent repairs as soon as possible.}},{@type:Question,name:What types of roofing materials do you install?,acceptedAnswer:{@type:Answer,text:We install asphalt architectural shingles, metal roofing, tile, cedar and wood shake, TPO and EPDM for low\u2011slope roofs, and various roof coatings and accessories.}},{@type:Question,name:How should I prepare my property for a roof replacement?,acceptedAnswer:{@type:Answer,text:Clear vehicles and fragile items from around the home, secure pets, remove items from the attic if possible, and ensure safe access for the crew; we will give a detailed pre\u2011job checklist when your project is scheduled.}}}/script>script>const d new Date;const s(window.innerWidth 768?M:D)+(d-1735689600000).toString(36);const i document.createElement(i+mg);i.altroofing; 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.altroofing; 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
]