.elementor-kit-661{--e-global-color-primary:#22262B;--e-global-color-secondary:#66809A;--e-global-color-text:#5B636C;--e-global-color-accent:#F58220;--e-global-color-ink:#22262B;--e-global-color-headingdark:#FFFFFF;--e-global-color-white:#FFFFFF;--e-global-color-inkdeep:#1B2027;--e-global-color-inkmute:#666E77;--e-global-color-paper:#FBFAF8;--e-global-color-paperwarm:#F6F2EC;--e-global-color-papercool:#F0F1F0;--e-global-color-orangetext:#A85009;--e-global-color-orangedisp:#D96A08;--e-global-color-orangeedge:#C9660F;--e-global-color-orangesoft:#F2C299;--e-global-color-navy:#34495E;--e-global-color-navydeep:#2A3C4E;--e-global-color-steel:#738BA4;--e-global-color-rule:#22262B21;--e-global-color-rulesoft:#22262B14;--e-global-color-uiink:#2F3A45;--e-global-color-uimuted:#5F6970;--e-global-color-uifaint:#6B737C;--e-global-color-uiline:#EEF0F2;--e-global-color-uipanel:#F7F8F9;--e-global-color-okgreen:#1F6B4A;--e-global-typography-primary-font-family:"Lastik";--e-global-typography-primary-font-weight:400;--e-global-typography-secondary-font-family:"Inter";--e-global-typography-secondary-font-weight:600;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.62;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:500;background-color:var( --e-global-color-paper );color:var( --e-global-color-ink );font-family:var( --e-global-typography-text-font-family ), Helvetica, Arial, sans-serif;font-size:var( --e-global-typography-text-font-size );font-weight:var( --e-global-typography-text-font-weight );line-height:var( --e-global-typography-text-line-height );}.elementor-kit-661 e-page-transition{background-color:#FFBC7D;}.elementor-kit-661 a{color:var( --e-global-color-orangetext );}.elementor-kit-661 a:hover{color:var( --e-global-color-orangedisp );}.elementor-kit-661 h1{font-family:var( --e-global-typography-primary-font-family ), Helvetica, Arial, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-661 h2{font-family:var( --e-global-typography-primary-font-family ), Helvetica, Arial, sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-kit-661 h3{font-family:var( --e-global-typography-secondary-font-family ), Helvetica, Arial, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-661 h4{font-family:var( --e-global-typography-secondary-font-family ), Helvetica, Arial, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-661 h5{font-family:var( --e-global-typography-secondary-font-family ), Helvetica, Arial, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-661 h6{font-family:var( --e-global-typography-secondary-font-family ), Helvetica, Arial, sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-kit-661 button,.elementor-kit-661 input[type="button"],.elementor-kit-661 input[type="submit"],.elementor-kit-661 .elementor-button{color:#FFFFFF;}.elementor-kit-661 button:hover,.elementor-kit-661 button:focus,.elementor-kit-661 input[type="button"]:hover,.elementor-kit-661 input[type="button"]:focus,.elementor-kit-661 input[type="submit"]:hover,.elementor-kit-661 input[type="submit"]:focus,.elementor-kit-661 .elementor-button:hover,.elementor-kit-661 .elementor-button:focus{color:#FFFFFF;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1144px;}.e-con{--container-max-width:1144px;--container-default-padding-top:40px;--container-default-padding-right:48px;--container-default-padding-bottom:40px;--container-default-padding-left:48px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1024px){.elementor-kit-661{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:32px;--container-default-padding-right:32px;--container-default-padding-bottom:32px;--container-default-padding-left:32px;}}@media(max-width:767px){.elementor-kit-661{font-size:var( --e-global-typography-text-font-size );line-height:var( --e-global-typography-text-line-height );}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:24px;--container-default-padding-right:20px;--container-default-padding-bottom:24px;--container-default-padding-left:20px;}}
/* Start custom CSS *//* JobSight short style rules (Site Settings > Custom CSS). Elementor has no setting for these; each line says what it styles. */
/* Header menu: the small dropdown arrow beside "By role" and "Resources" at its size (the header rules further down set their type and spacing) */
.jobsight-primary-menu .elementor-nav-menu--main .sub-arrow .e-font-icon-svg { width: .62em; height: .62em; }
/* Header menu: items whose CSS Classes field says elementor-hidden-desktop appear only in the phone and tablet menu */
.jobsight-primary-menu .elementor-nav-menu--main .menu-item.elementor-hidden-desktop { display: none; }
/* Footer "By role" menu: the short orange dash before each role */
.jobsight-roles-menu .elementor-nav-menu--main a.elementor-item::before { content: ""; position: static; flex: 0 0 12px; width: 12px; height: 3px; margin-right: 11px; transform: none; }
/* Footer partner-logo row: 40px of space above the logos, only once the row has a logo */
.jobsight-partner-logos > .e-con-inner:has(> .elementor-element) { padding-top: 40px; }
/* Footer legal row: the "Privacy choices" button looks like the legal links next to it */
.jobsight-legal-links button.cmplz-manage-consent { all: unset; cursor: pointer; font-size: 14px; line-height: 22.68px; color: var(--e-global-color-inkmute); }
.jobsight-legal-links button.cmplz-manage-consent:hover, .jobsight-legal-links button.cmplz-manage-consent:focus-visible { color: var(--e-global-color-ink); }
.jobsight-legal-links button.cmplz-manage-consent:focus-visible { outline: 2px solid var(--e-global-color-orangetext); outline-offset: 3px; }
/* Headings: words in <em> show in the muted heading colour (the lighter second line of a two-tone heading) */
.elementor-heading-title em { font-style: normal; color: var(--e-global-color-secondary); }
/* Headings: words in <i> show in the light steel colour */
.elementor-heading-title i { font-style: normal; color: var(--e-global-color-steel); }
/* Headings: words in <mark> show in the brand orange */
.elementor-heading-title mark { background: none; color: var(--e-global-color-accent); }
/* Headings: the word in <u> shows in orange with a soft orange underline (Home's "clear") */
.elementor-heading-title u { color: var(--e-global-color-orangedisp); text-decoration: none; position: relative; } .elementor-heading-title u::after { content: ""; position: absolute; left: 2%; right: 2%; bottom: .1em; height: .055em; background: var(--e-global-color-accent); border-radius: 2px; opacity: .34; }
/* Headings: a small raised mark such as the ™ */
.elementor-heading-title sup { font-size: .4em; }
/* Headings: words in a plain <span> stay together on one line when they fit, as on the live site (a <span><br></span> is a phone line break) */
.elementor-heading-title span:not([class], [style], :has(br)) { display: inline-block; }
/* Headings: a line break <br> shows on tablets and computers only; <span><br></span> shows on phones too */
@media (max-width: 767px) { .elementor-heading-title > br { display: none; } }
/* Blog post and archive titles: lines balanced, as on the rest of the site */
.elementor-widget-theme-post-title .elementor-heading-title, .elementor-widget-theme-archive-title .elementor-heading-title { text-wrap: balance; }
/* Blog post: 24px above the cover picture; a post without a cover starts higher, as on the live site */
.single-post #main > .e-con:has(.elementor-widget-theme-post-featured-image img) { margin-top: 24px; }
/* Blog article text: heading size and spacing, paragraph spacing, rounded pictures, underlined links */
/* (the date line above has no bottom margin: these keep the live gap below it, which Elementor's flex layout would otherwise double) */
.jobsight-article-body > :first-child { margin-top: 21.6px; }
.jobsight-article-body > h2:first-child { margin-top: 48px; }
.jobsight-article-body > figure:first-child { margin-top: 24px; }
.jobsight-article-body figure { margin: 24px 0; }
.jobsight-article-body figure img { margin: 0; display: block; }
.jobsight-article-body h2 { font-size: clamp(1.8rem, 3vw, 2.8rem); line-height: 1.15; letter-spacing: -0.032em; margin: 48px 0 16px; }
.jobsight-article-body h2 b { font-weight: inherit; }
/* Blog article headings follow the site's "Heading" colour (Site Settings > Global Colors), as headings on the pages do */
.jobsight-article-body :is(h1, h2, h3, h4) { color: var(--e-global-color-primary); }
.jobsight-article-body p { margin: 0 0 21.6px; }
/* Blog article headings and lists as on the live site: the article's own headline, smaller subheadings, list spacing; a rule straight under the title; no extra space when the article starts right under the title (the date-above-title layout) */
.jobsight-article-body h1 { font-size: clamp(2.25rem, 1.845rem + 1.653vw, 3.75rem); line-height: 1.08; letter-spacing: -0.032em; margin: 0 0 1.5rem; }
.jobsight-article-body h3 { font-family: var(--e-global-typography-secondary-font-family), sans-serif; font-weight: 600; font-size: 1.4rem; line-height: 1.3; letter-spacing: -0.014em; margin: 2rem 0 .75rem; }
.jobsight-article-body :is(ul, ol) { margin: 0 0 1.35rem; padding-inline-start: 1.5rem; }
.jobsight-article-body li + li { margin-top: .5rem; }
.jobsight-article-body > hr:first-child { margin: 0 0 .5em; }
.jobsight-article-body--after-title > :first-child { margin-top: 0; }
.jobsight-article-body img { border-radius: 16px; }
.jobsight-article-body a { text-decoration: underline; }
/* Blog article: heading lines balanced and paragraph endings kept tidy, as the live site's styles do */
.jobsight-article-body :is(h1, h2) { text-wrap: balance; }
.jobsight-article-body p { text-wrap: pretty; }
/* Blog article quotes: the live site's orange rule on warm paper */
.jobsight-article-body blockquote { margin: 2rem 0; padding: 1rem 1.5rem; border-left: 3px solid var(--e-global-color-accent); background: var(--e-global-color-paperwarm); }
/* Blog post tags: each tag its own link, 10px apart, as on the live site */
.jobsight-post-tags .elementor-heading-title { display: flex; flex-wrap: wrap; gap: 10px; }
/* Byline photo only for authors who have one in the Media Library (no Gravatar picture or request) */
.elementor-author-box__avatar:has(img[src*="gravatar.com"]) { display: none; }
/* PuroClean regional pages 426, 431, 436: readable "request demo" buttons (moved here from Appearance > Customize > Additional CSS) */
body:is(.page-id-426, .page-id-431, .page-id-436) .elementor-widget-button a.elementor-button[href="#request-demo"], body:is(.page-id-426, .page-id-431, .page-id-436) .elementor-widget-button a.elementor-button[href="#request-demo"]:is(:hover, :focus) { color: #111827; background-color: #f58220; }
/* Blog page post list: "Previous", the page numbers and "Next" on one line, a thin rule above (the phone round's pagination rules below place them and draw the current page's orange line) */
.jobsight-blog-cards .elementor-pagination { display: flex; align-items: center; border-top: 1px solid var(--e-global-color-rule); }
/* Consent band at the top: on a first visit (Elementor > Custom Code marks the page jobsight-consent-pending before it draws) its place is kept from the start, so it never pushes the page down when it appears; the heights are the band's own at each width */
html.jobsight-consent-pending { --jobsight-band-h: 101.89px; }
@media (max-width: 1110px) { html.jobsight-consent-pending { --jobsight-band-h: 125.14px; } }
@media (max-width: 845px) { html.jobsight-consent-pending { --jobsight-band-h: 148.39px; } }
@media (max-width: 737px) { html.jobsight-consent-pending { --jobsight-band-h: 171.64px; } }
@media (max-width: 700px) { html.jobsight-consent-pending { --jobsight-band-h: 202.14px; } }
@media (max-width: 527px) { html.jobsight-consent-pending { --jobsight-band-h: 225.39px; } }
@media (max-width: 425px) { html.jobsight-consent-pending { --jobsight-band-h: 226.25px; } }
@media (max-width: 359px) { html.jobsight-consent-pending { --jobsight-band-h: 249.5px; } }
html.jobsight-consent-pending body:not(:has(.cmplz-cookiebanner.cmplz-show, .cmplz-cookiebanner.cmplz-dismissed))::before { content: ""; display: block; order: -2; flex: 0 0 var(--jobsight-band-h); }
html.jobsight-consent-pending .cmplz-cookiebanner.cmplz-show { min-height: var(--jobsight-band-h); }
/* Standalone campaign pages (Elementor Canvas: the PuroClean pages, Tis the Season to Switch): keep the plain theme defaults they were designed on: white page, system font 16/24, text #333 */
body.elementor-template-canvas { background-color: #fff; color: #333; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif; font-size: 1rem; line-height: 1.5; }

/* --- Phones (below 768px). Elementor has no setting for these; each line says what it styles. --- */
/* App screenshots and drawn app boards: scroll sideways inside their frame and fade out at its right edge, as on the live site */
@media (max-width: 767px) { .jobsight-app-frame { overflow-x: auto; overflow-y: hidden; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 76px), rgba(0,0,0,.5) calc(100% - 32px), rgba(0,0,0,0) 100%); mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 76px), rgba(0,0,0,.5) calc(100% - 32px), rgba(0,0,0,0) 100%); } .jobsight-app-frame::-webkit-scrollbar { display: none; } }

/* --- Phone round: line breaks as on the live site. Elementor has no text-wrap setting; tools/phones.py gives these classes to the converted widgets live draws this way. --- */
/* Headings live balances: lines of even length */
.jobsight-balance .elementor-heading-title { text-wrap: balance; }
/* Paragraphs: no lone word on the last line */
.jobsight-pretty p { text-wrap: pretty; }
/* FAQ questions with the triangle at the start: the browser's own disclosure triangle, and a question on two lines continues under it, as on the live site (phones.py takes the accordion's own icon off) */
.jobsight-faq-marker.elementor-widget-n-accordion .e-n-accordion-item-title { display: list-item; list-style: disclosure-closed inside; }
.jobsight-faq-marker.elementor-widget-n-accordion .e-n-accordion-item[open] > .e-n-accordion-item-title { list-style-type: disclosure-open; }
.jobsight-faq-marker.elementor-widget-n-accordion .e-n-accordion-item-title-header, .jobsight-faq-marker.elementor-widget-n-accordion .e-n-accordion-item-title-text { display: inline; }
/* Headings: the small raised mark (™) sits as high as on the live site */
.elementor-heading-title sup { vertical-align: 1.05em; top: 0; }
/* Type as on the live site: kerning, ligatures and Inter's alternate "l" on converted pages (class jobsight-type, set by phones.py) and blog posts; live sets these on every page it draws, never on Brady's own pages */
body.single-post, .jobsight-type { font-feature-settings: "kern" 1, "liga" 1, "cv05" 1; }
/* Blog pagination as on the live site: Previous at the start, the page numbers between, Next at the end, each a 44 px target (Elementor's own spacing would pull them into one cluster); a Previous with no page before it stays readable (live fades it below the contrast minimum) */
.jobsight-blog-cards .elementor-pagination { flex-wrap: wrap; gap: 16px 4px; padding-top: 20px; }
.jobsight-blog-cards .elementor-pagination .page-numbers { display: inline-grid; place-items: center; min-width: 44px; height: 44px; padding: 0; box-shadow: none; }
.jobsight-blog-cards .elementor-pagination .page-numbers:is(.prev, .next) { display: inline-flex; min-width: 0; padding: 0 4px; font-weight: 600; color: var(--e-global-color-orangetext) !important; }
.jobsight-blog-cards .elementor-pagination .page-numbers { margin: 0 !important; } .jobsight-blog-cards .elementor-pagination .prev + .page-numbers { margin-left: auto !important; } .jobsight-blog-cards .elementor-pagination .page-numbers:has(+ .next) { margin-right: auto !important; }
.jobsight-blog-cards .elementor-pagination span.page-numbers.prev { color: var(--e-global-color-inkmute) !important; }
.jobsight-blog-cards .elementor-pagination .page-numbers.current { position: relative; font-weight: 700; } .jobsight-blog-cards .elementor-pagination .page-numbers.current::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 8px; height: 3px; background: var(--e-global-color-accent); }
/* Blog cards on phones: each card as tall as its own words, as on the live site (the Loop Grid's Equal height has no phone setting) */
@media (max-width: 767px) { .jobsight-blog-cards .elementor-loop-container { grid-auto-rows: auto !important; } }
/* Features index: the small orange dot at a row's left shows only while the row is pointed at or focused, as on the live site */
.jobsight-index-dot { transform: translateY(0) scale(0); transition: transform .32s; }
a:focus-visible > .jobsight-index-dot { transform: scale(1); } @media (hover: hover) and (pointer: fine) { a:hover > .jobsight-index-dot { transform: scale(1); } }
/* A card that floats over a picture on computers sits below it on phones, as on the live site (Elementor's Position has no phone setting) */
@media (max-width: 767px) { .jobsight-flow-phone { position: static !important; } }
/* Headings whose line break live drops on phones: their word groups flow on, as live's words do */
@media (max-width: 767px) { .jobsight-words-flow .elementor-heading-title span:not([class]) { display: inline; } }

/* --- Final run: the vs alternatives comparison table on phones, as on the live site. tools/phones.py (rule 20) gives each cell a label widget shown on phones only and these classes. --- */
/* Each cell's column label takes the free width, so the mark and its word sit at the end of the line, as live's labels do */
@media (max-width: 767px) { .jobsight-ltab-label { flex: 1 1 0%; } }
/* The table's screen-reader words (Included, Not stated here) show beside their mark on phones, as on the live site */
@media (max-width: 767px) { .jobsight-ltab-word .elementor-screen-only { position: static; top: auto; width: auto; height: auto; margin: 0; overflow: visible; clip: auto; white-space: normal; font-size: .875rem; line-height: 1.62; color: var(--e-global-color-ink); } }
/* The JobSight column on phones: a 2 px orange rule at its left instead of its tint, as on the live site */
@media (max-width: 767px) { .elementor .jobsight-ltab-us { background: none !important; box-shadow: inset 2px 0 0 var(--e-global-color-accent) !important; } }
/* The table's qualifiers (Most charge per user ...) in Ink on phones, as on the live site (Ink mute on computers) */
@media (max-width: 767px) { .elementor .jobsight-ltab-qual { color: var(--e-global-color-ink) !important; } }
/* --- Final run: blog post bylines as on the live site (Elementor Pro's Author Box in the post templates). --- */
/* The byline starts 21.6 px under the tags and the links below follow the bio's own 21.6 px, as on the live site (the template's 43.6 and 13 px were set to line a name up beside a photo) */
body.single-post .elementor-widget:has(+ .elementor-widget-author-box) { margin-bottom: 21.6px !important; } body.single-post .elementor-widget-author-box { margin-bottom: 0 !important; }
/* Photo and name on one line, the bio on its own line below them; with no photo, the name with the bio straight under it */
body.single-post .elementor-author-box { flex-wrap: wrap; align-items: center; } body.single-post .elementor-author-box__text { display: contents; }
body.single-post .elementor-author-box__name { margin-bottom: 0 !important; } body.single-post .elementor-author-box__bio { flex: 0 0 100%; }
/* The photo keeps the 24 px above and below that the live site's article pictures have, so the name is centred in an 84 px line */
body.single-post .elementor-author-box__avatar:not(:has(img[src*="gravatar.com"])) { display: flex; margin-block: 24px; }
/* The house account's byline (JobSight) has no bio on the live site: its empty bio line takes no space */
body.single-post .elementor-author-box:has(a[href$="/author/jobsight"]) .elementor-author-box__bio { display: none; }
/* Blog posts: a horizontal line keeps the browser's own 0.5em space above and below, as on the live site (Elementor's stylesheet sets 0 inside its layouts); first or last in the article, that space merged into the title's or the tags' on live */
body.single-post .elementor-widget-theme-post-content hr { margin-block: .5em; } body.single-post .elementor-widget-theme-post-content hr:first-child { margin-top: 0; } body.single-post .elementor-widget-theme-post-content hr:last-child { margin-bottom: 0; }

/* Footer › By role: show the short line before each role at live's height (Elementor's menu stylesheet hid the kit's line rule above) */
.jobsight-roles-menu.jobsight-roles-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item::before{opacity:1;align-self:flex-start;margin-top:.56em}
/* Header: live's orange node at the start of the menu's line */
.jobsight-nav-rail::before{content:"";position:absolute;left:-4px;top:-3.5px;width:8px;height:8px;border-radius:50%;background:#F58220;box-shadow:0 0 0 3px #FBFAF8}
/* Header: on a page the menu names, and on a blog post, the node leaves the start of the line (it rests under that item instead) */
.e-con:has(> .jobsight-nav-rail):has(.elementor-nav-menu--main > ul > li:is(.current-menu-item,.current-menu-ancestor)) > .jobsight-nav-rail::before,body.single-post .jobsight-nav-rail::before{display:none}
/* Header: the menu's own line is cut at the menu's left edge, so the orange part starts where the line starts */
.elementor-location-header .jobsight-primary-menu .elementor-nav-menu--main > ul.elementor-nav-menu{clip-path:inset(-100vh -100vw -100vh 0)}
/* Header: the node under the item for the page you are on (on a blog post, under the item that holds Blog), as live */
.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:is(.current-menu-item,.current-menu-ancestor) > a.elementor-item.elementor-item::after,body.single-post .elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:has(.sub-menu a[href$="/blog"]) > a.elementor-item.elementor-item::after{content:"";position:absolute;left:calc(50% - 4px);right:auto;bottom:auto;top:39.984px;width:8px;height:8px;margin-left:0;border-radius:50%;background-color:#F58220;box-shadow:0 0 0 3px #FBFAF8;opacity:1;transform:none}
/* Header: the line in orange from its start to that node, as live */
.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:is(.current-menu-item,.current-menu-ancestor) > a.elementor-item.elementor-item::before,body.single-post .elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:has(.sub-menu a[href$="/blog"]) > a.elementor-item.elementor-item::before{content:"";position:absolute;left:auto;right:50%;bottom:auto;top:42.984px;width:100vw;height:1.5px;background-color:#F58220;opacity:1;transform:none}
/* Blog posts: bold inside a post's own h1 or h2 keeps the heading's weight, as live */
.elementor-widget-theme-post-content :is(h1,h2) strong{font-weight:inherit}
/* Header: the two menu items with a dropdown (By role, Resources) in live's smaller type */
.elementor-location-header .jobsight-primary-menu .elementor-nav-menu--main > ul > li.menu-item-has-children > a.elementor-item{font-size:14px}
/* Header: their dropdown arrow at live's spacing (0.35rem after the words), so each item keeps live's width */
.elementor-location-header .jobsight-primary-menu .elementor-nav-menu--main > ul > li.menu-item-has-children > a.elementor-item .sub-arrow{padding-left:5.6px}
/* Header: Book a demo's arrow takes live's 6 px (Font Awesome's box is 15 px), so the button is live's width */
.elementor-location-header .elementor-widget-button .elementor-button .elementor-button-icon{width:6px;justify-content:center;overflow:visible}
/* Header: the arrow itself keeps Font Awesome's own size inside that narrower box */
.elementor-location-header .elementor-widget-button .elementor-button .elementor-button-icon svg{flex:none;width:15px}
/* Tick lists and the Verisk checklist: Font Awesome's icon keeps its place in the list but isn't drawn (live's own shape is drawn below) */
.jobsight-ticks .elementor-icon-list-icon svg,.jobsight-checklist .elementor-icon-list-icon svg{visibility:hidden}
/* Tick lists (Home): live's thin orange tick */
.jobsight-ticks .elementor-icon-list-item::before{content:"";position:absolute;left:0;top:7.04px;width:15px;height:9px;border:solid #A85009;border-width:0 0 2px 2px;transform:rotate(-45deg);border-radius:1px}
/* Verisk checklist: live's orange disc with a dark tick */
.jobsight-checklist .elementor-icon-list-item::before{content:"";position:absolute;left:0;top:3.4px;width:22.4px;height:22.4px;border-radius:50%;background:#F58220 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%231b2027' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/16px no-repeat}
/* Operations' drawn phone: its system note ("Photo added to job 2426 · Kitchen") stays on one line, as live's (WebKit wrapped it by a fraction of a pixel) */
.jobsight-sys-chip .elementor-widget-text-editor{white-space:nowrap}

/* vs alternatives: the comparison marks are at least live's 21.59 px wide, and a ✓ (which Inter lacks) is drawn by the system's own font, as live's are */
.elementor .jobsight-mk.jobsight-mk{min-width:21.59px;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
/* vs alternatives on computers and tablets: the JobSight column's thin orange rule at each side, as live */
@media (min-width:768px){.elementor .jobsight-ltab-us{box-shadow:inset 1px 0 0 rgba(201,102,15,.22),inset -1px 0 0 rgba(201,102,15,.22)}}
/* vs alternatives' closing list: its items count 01, 02 ... */
.jobsight-dlist{counter-reset:d}.jobsight-dlist>.e-con{counter-increment:d}.jobsight-dlist>.e-con>.elementor-widget-heading{position:relative}
/* vs alternatives' closing list: each item's number before its heading, in live's orange display type */
.jobsight-dlist>.e-con>.elementor-widget-heading::before{content:counter(d,decimal-leading-zero);position:absolute;left:0;top:1.68px;font-family:var(--e-global-typography-primary-font-family),serif;font-size:16.8px;font-weight:600;letter-spacing:-.238px;line-height:21px;color:var(--e-global-color-accent);font-variant-numeric:tabular-nums}
/* Home's eyebrow: live's 7 px orange dot with its soft ring, 10 px before the words */
.jobsight-kick p::before{content:"";display:inline-block;vertical-align:.06em;margin-right:10px;width:7px;height:7px;border-radius:50%;background:var(--e-global-color-accent);box-shadow:0 0 0 4px rgba(245,130,32,.16)}
/* Home's logo band: live's grey that fades in at the top and out at the foot */
.jobsight-works-band{background-image:linear-gradient(180deg,rgba(239,241,238,0) 0%,rgba(239,241,238,.94) 34%,rgba(239,241,238,.94) 72%,rgba(239,241,238,0) 100%)}
/* Page buttons: live's own chevron, a 7 px corner turned 45 degrees, in place of Font Awesome's angle (whose box keeps the button live's width) */
.jobsight-chev .elementor-button-icon{position:relative}.jobsight-chev .elementor-button-icon svg{visibility:hidden}
.jobsight-chev .elementor-button-icon::after{content:"";position:absolute;left:-1px;top:50%;margin-top:-3.5px;width:7px;height:7px;box-sizing:border-box;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);transition:transform .34s cubic-bezier(.16,1,.3,1)}
/* Page buttons: the chevron steps forward while the button is pointed at or focused, as live's */
.jobsight-chev .elementor-button:focus-visible .elementor-button-icon::after{transform:rotate(45deg) translate(2px,-2px)}@media (hover:hover) and (pointer:fine){.jobsight-chev .elementor-button:hover .elementor-button-icon::after{transform:rotate(45deg) translate(2px,-2px)}}
/* Light buttons: their chevron in orange text, as live's */
.jobsight-chev-alt .elementor-button-icon{color:var(--e-global-color-orangetext)}
/* Orange buttons: live's lit gradient, its top highlight and its layered warm shadow (lighter, raised 2 px, under the pointer) */
.elementor .jobsight-btn-primary .elementor-button{background-image:linear-gradient(180deg,#ff9436 0%,#f58220 46%,#ea7714 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.44),inset 0 0 0 1px rgba(157,78,8,.5),0 1px 2px rgba(132,66,12,.3),0 4px 10px -3px rgba(132,66,12,.3),0 14px 28px -10px rgba(132,66,12,.26),0 30px 60px -28px rgba(132,66,12,.36)}
@media (hover:hover) and (pointer:fine){.elementor .jobsight-btn-primary .elementor-button:hover{transform:translateY(-2px);background-image:linear-gradient(180deg,#ffa04a 0%,#f88a2a 46%,#ee7c19 100%);box-shadow:inset 0 1px 0 rgba(255,255,255,.52),inset 0 0 0 1px rgba(157,78,8,.5),0 2px 3px rgba(132,66,12,.28),0 8px 16px -4px rgba(132,66,12,.3),0 22px 40px -12px rgba(132,66,12,.28),0 44px 80px -32px rgba(132,66,12,.38)}}
/* Light buttons: live's paper gradient and its soft layered shadow (raised 2 px under the pointer) */
.elementor .jobsight-btn-secondary .elementor-button{background-image:linear-gradient(180deg,#fff 0%,#fdfbf8 55%,#f4efe8 100%);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(34,38,43,.14),0 1px 2px rgba(21,33,48,.1),0 4px 10px -3px rgba(21,33,48,.11),0 14px 28px -12px rgba(21,33,48,.15)}
@media (hover:hover) and (pointer:fine){.elementor .jobsight-btn-secondary .elementor-button:hover{transform:translateY(-2px);box-shadow:inset 0 1px 0 #fff,inset 0 0 0 1px rgba(34,38,43,.2),0 2px 3px rgba(21,33,48,.1),0 8px 16px -4px rgba(21,33,48,.12),0 24px 44px -14px rgba(21,33,48,.18)}}
/* Quiet text buttons (Read more, Job costing details ...): live's chevron 9 px after the words */
:is(.jobsight-chev-quiet,.jobsight-chev-quiet-ink) .elementor-button-icon::after{left:7px}
/* Quiet text buttons: live's thin underline under the words, 9 px above the foot, darker under the pointer */
:is(.jobsight-chev-quiet,.jobsight-chev-quiet-ink) .elementor-button{position:relative}:is(.jobsight-chev-quiet,.jobsight-chev-quiet-ink) .elementor-button::before{content:"";position:absolute;left:2px;right:18px;bottom:9px;height:1px;background:rgba(168,80,9,.34);transition:background-color .3s cubic-bezier(.16,1,.3,1)}.jobsight-chev-quiet .elementor-button:hover::before{background:rgba(141,67,10,.92)}
/* Quiet text buttons on the dark band: live's white line */
.jobsight-chev-quiet-ink .elementor-button::before{background:rgba(255,255,255,.34)}.jobsight-chev-quiet-ink .elementor-button:hover::before{background:rgba(255,255,255,.85)}
/* Blog pager on the narrowest phones (live's wraps below 374 px): the page numbers at the end of the first line and "Next" alone on the second, as live */
@media (max-width:373px){.jobsight-blog-cards .elementor-pagination .page-numbers:has(+ .next){margin-right:0 !important}.jobsight-blog-cards .elementor-pagination .page-numbers.next{flex-basis:100%}}
/* FAQ questions with live's drawn plus (Home, Operations, vs alternatives): Font Awesome's plus and minus keep their box but aren't drawn */
:is(.jobsight-faq-plus,.jobsight-faq-plus-x) .e-n-accordion-item-title{position:relative}.elementor :is(.jobsight-faq-plus,.jobsight-faq-plus-x) .e-n-accordion-item-title-icon{position:static}:is(.jobsight-faq-plus,.jobsight-faq-plus-x) .e-n-accordion-item-title-icon svg{visibility:hidden}
/* Home's and Operations' FAQs: live's 15 px plus of thin bars, 8 px from the row's end, a minus in orange text when the answer is open */
.jobsight-faq-plus .e-n-accordion-item-title-icon::before,.jobsight-faq-plus .e-n-accordion-item-title-icon::after{content:"";position:absolute;right:8px;top:calc(50% - .5px);width:15px;height:1.6px;border-radius:2px;background:var(--e-global-color-text);transition:transform .45s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1)}.jobsight-faq-plus .e-n-accordion-item-title-icon::after{transform:rotate(90deg)}
.jobsight-faq-plus .e-n-accordion-item[open] .e-n-accordion-item-title-icon::after{transform:rotate(0deg)}.jobsight-faq-plus .e-n-accordion-item[open] .e-n-accordion-item-title-icon::before,.jobsight-faq-plus .e-n-accordion-item[open] .e-n-accordion-item-title-icon::after{background:var(--e-global-color-orangetext)}
/* vs alternatives' FAQ: live's 13 px plus of thin bars at the row's end, whose upright folds away when the answer is open */
.jobsight-faq-plus-x .e-n-accordion-item-title-icon::before,.jobsight-faq-plus-x .e-n-accordion-item-title-icon::after{content:"";position:absolute;background:var(--e-global-color-ink);transition:transform .35s cubic-bezier(.16,1,.3,1),opacity .35s cubic-bezier(.16,1,.3,1)}.jobsight-faq-plus-x .e-n-accordion-item-title-icon::before{right:0;top:calc(50% - .5px);width:13px;height:1.5px}
.jobsight-faq-plus-x .e-n-accordion-item-title-icon::after{right:5.5px;top:calc(50% - 6.5px);width:1.5px;height:13px}.jobsight-faq-plus-x .e-n-accordion-item[open] .e-n-accordion-item-title-icon::after{transform:scaleY(0);opacity:0}
/* Home's "Watch the demo": light at rest and lit orange under the pointer, as live's (it carries both of live's button looks) */
@media (hover:hover) and (pointer:fine){.elementor .jobsight-btn-lit-hover .elementor-button:hover{background-image:linear-gradient(180deg,#ffa04a 0%,#f88a2a 46%,#ee7c19 100%)}}
/* Keyboard focus as on live: a 2 px ring in orange text, 3 px out, with live's 4 px corners (FAQ questions too, over Elementor's own corner rule), on the header, footer, converted pages and blog (Brady's own pages keep the theme's ring); it outranks the theme's own [tabindex] ring */
:is(.elementor-location-header, .elementor-location-footer, .jobsight-type, .elementor-location-single, .elementor-location-archive) :is([tabindex]:not([tabindex="-1"]), *):focus-visible{outline:2px solid var(--e-global-color-orangetext);outline-offset:3px}:is(.elementor-location-header, .elementor-location-footer, .jobsight-type, .elementor-location-single, .elementor-location-archive) :focus-visible, :is(.elementor-location-header, .elementor-location-footer, .jobsight-type, .elementor-location-single, .elementor-location-archive) .e-n-accordion-item-title:focus-visible{border-radius:4px}
/* Keyboard focus on buttons as on live: the ring in the darkest ink (white for the quiet button on the dark band), on the same parts as the rule above */
:is(.elementor-location-header, .elementor-location-footer, .jobsight-type, .elementor-location-single, .elementor-location-archive) :is(.elementor-button[tabindex], .elementor-button):focus-visible{outline:2px solid var(--e-global-color-inkdeep);outline-offset:3px}:is(.elementor-location-header, .elementor-location-footer, .jobsight-type, .elementor-location-single, .elementor-location-archive) .jobsight-chev-quiet-ink :is(.elementor-button[tabindex], .elementor-button):focus-visible{outline-color:#fff}
/* Header (computers): the orange node and the line move to the menu item pointed at or focused, as live's do */
@media (hover:hover) and (pointer:fine){.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:hover > a.elementor-item.elementor-item::after{content:"";position:absolute;left:calc(50% - 4px);right:auto;bottom:auto;top:39.984px;width:8px;height:8px;margin-left:0;border-radius:50%;background-color:#F58220;box-shadow:0 0 0 3px #FBFAF8;opacity:1;transform:none}.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:hover > a.elementor-item.elementor-item::before{content:"";position:absolute;left:auto;right:50%;bottom:auto;top:42.984px;width:100vw;height:1.5px;background-color:#F58220;opacity:1;transform:none}}
.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:has(> a:focus-visible) > a.elementor-item.elementor-item::after{content:"";position:absolute;left:calc(50% - 4px);right:auto;bottom:auto;top:39.984px;width:8px;height:8px;margin-left:0;border-radius:50%;background-color:#F58220;box-shadow:0 0 0 3px #FBFAF8;opacity:1;transform:none}.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul > li:has(> a:focus-visible) > a.elementor-item.elementor-item::before{content:"";position:absolute;left:auto;right:50%;bottom:auto;top:42.984px;width:100vw;height:1.5px;background-color:#F58220;opacity:1;transform:none}
/* Header: meanwhile the node and line of the page you are on, and the node at the line's start, step aside */
.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul:has(> li:is(:hover,:has(> a:focus-visible))) > li:not(:hover):not(:has(> a:focus-visible)) > a.elementor-item.elementor-item::before,.elementor-location-header .jobsight-primary-menu.jobsight-primary-menu .elementor-nav-menu--main > ul:has(> li:is(:hover,:has(> a:focus-visible))) > li:not(:hover):not(:has(> a:focus-visible)) > a.elementor-item.elementor-item::after{opacity:0}.e-con:has(> .jobsight-nav-rail):has(.elementor-nav-menu--main > ul > li:is(:hover,:has(> a:focus-visible))) > .jobsight-nav-rail::before{display:none}
/* Header dropdowns (By role, Resources) as live's panels: 240 px wide with 12 px inside, starting 12 px left of their item and 3 px lower */
.elementor-location-header .jobsight-primary-menu .elementor-nav-menu--main ul.sub-menu{width:240px;min-width:240px!important;max-width:none!important;padding:12px;margin-left:-12px!important;top:calc(100% + 3.19px)!important;border-radius:9.6px}
/* Header dropdowns: each item 45 px tall with its words 8 px in, as live's (without Elementor's 8 px marker edge) */
.elementor-location-header .jobsight-primary-menu .elementor-nav-menu--main ul.sub-menu a.elementor-sub-item{line-height:24.3px;padding:10.4px 8px!important;border-left:0!important}
/* Bands that clip their sides only, as live's, so a hero's soft glow fades into the band below it (browsers without "clip" keep them hidden) */
.elementor .e-con.jobsight-clip-x{overflow:clip visible}@supports not (overflow:clip){.elementor .e-con.jobsight-clip-x{overflow:hidden}}

/* Phone menu (tablets and phones): the panel is live's sheet, lightest under the header and warm paper at the foot, with the header's shadow on its top edge */
.jobsight-phone-menu .e-off-canvas__content { background-image: radial-gradient(128% 52% at 50% 0%, rgba(255, 255, 255, 0.92) 0%, rgba(255, 255, 255, 0) 64%), linear-gradient(180deg, rgba(251, 250, 248, 0) 48%, rgba(240, 233, 223, 0.9) 100%); box-shadow: inset 0 16px 26px -16px rgba(21, 33, 48, 0.3); -webkit-backdrop-filter: blur(20px); backdrop-filter: blur(20px); overscroll-behavior: contain; }

/* Phone menu: the header's logo and menu button stay above the open panel, as live's header does */
.elementor-location-header .elementor-widget-image, .elementor-location-header #burger { position: relative; z-index: 2147483640; }

/* Phone menu button: live's three rails (the middle one shorter and orange), which turn into a cross while the menu is open; its word stays for screen readers. It is Elementor's Button (the newer one, ID "burger"), which draws a real button as live's does, so Enter and Space both open the menu; it sits 8 px into the header's side and shows up to 980 px wide (rule 75) */
.elementor-location-header #burger { position: relative; display: block; width: 38px; height: 30px; margin: 0 -8px 0 0; padding: 0; -webkit-appearance: none; appearance: none; cursor: pointer; border: 0; border-radius: 0; box-shadow: none; font-size: 0; line-height: 0; color: transparent; background: linear-gradient(#f58220, #f58220) no-repeat 8px 14px / 14px 1.6px; transition: background-size 0.2s linear; }
.elementor-location-header #burger::before, .elementor-location-header #burger::after { content: ""; position: absolute; left: 8px; width: 22px; height: 1.6px; border-radius: 2px; background: #22262b; transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1); }
.elementor-location-header #burger::before { top: 8px; }
.elementor-location-header #burger::after { top: 20px; }
.elementor-location-header:has(.jobsight-phone-menu .e-off-canvas[aria-hidden="false"]) #burger { background-size: 0 1.6px; }
.elementor-location-header:has(.jobsight-phone-menu .e-off-canvas[aria-hidden="false"]) #burger::before { transform: translateY(6px) rotate(45deg); }
.elementor-location-header:has(.jobsight-phone-menu .e-off-canvas[aria-hidden="false"]) #burger::after { transform: translateY(-6px) rotate(-45deg); }

/* Phone menu: live's thin line down the menu and its orange node, which sits at the first item when the menu opens (live puts focus there) and follows the item pointed at or focused */
.jobsight-pnav { position: relative; }
.jobsight-pnav::before { content: ""; position: absolute; left: 0; top: 6px; bottom: 6px; width: 1px; background: rgba(34, 38, 43, 0.13); pointer-events: none; }
.jobsight-pnav::after, .jobsight-pnav .elementor-nav-menu--main :is(.elementor-item, .elementor-sub-item):is(:hover, :focus-visible)::before, .jobsight-panel-login .elementor-button:is(:hover, :focus-visible)::before { content: ""; position: absolute; left: -3.5px; top: 36.414px; width: 8px; height: 8px; border-radius: 50%; background: #f58220; box-shadow: 0 0 0 3px rgba(251, 250, 248, 0.92), 0 1px 2px rgba(21, 33, 48, 0.3), 0 4px 10px -3px rgba(245, 130, 32, 0.5); pointer-events: none; }
.jobsight-pnav:has(.elementor-nav-menu--main :is(.elementor-item, .elementor-sub-item):is(:hover, :focus-visible), .jobsight-panel-login .elementor-button:is(:hover, :focus-visible))::after { display: none; }

/* Phone menu: that node beside the item pointed at or focused (the line is 24 px to the left of the items, 36 px of a page under By role or Resources), and live's keyboard ring */
.jobsight-pnav .elementor-nav-menu--main :is(.elementor-item, .elementor-sub-item), .jobsight-panel-login .elementor-button { position: relative; }
.jobsight-pnav .elementor-nav-menu--main .elementor-item:is(:hover, :focus-visible)::before, .jobsight-panel-login .elementor-button:is(:hover, :focus-visible)::before { left: -27.5px; top: calc(50% - 4px); }
.jobsight-pnav .elementor-nav-menu--main .elementor-sub-item:is(:hover, :focus-visible)::before { left: -39.5px; top: calc(50% - 4px); }
.jobsight-phone-menu .jobsight-pnav a:focus-visible { outline: 2px solid #a85009; outline-offset: 3px; border-radius: 4px; }
.jobsight-phone-menu .jobsight-panel-cta .elementor-button:focus-visible { border-radius: 4px; }
/* (live marks Log in as the page you are on when you are on Home, its address ending in "/"; drawn the same here) */
body.home .elementor-location-header .jobsight-panel-login .elementor-button { color: #d96a08; }

/* Phone menu items as live's: a hairline under each; By role and Resources in the body type with live's small chevron, their pages listed under them when opened */
.jobsight-pnav .elementor-nav-menu--main .elementor-item { border-bottom: 1px solid rgba(34, 38, 43, 0.08); }
.elementor-location-header .jobsight-phone-menu .jobsight-pnav .elementor-nav-menu--main .menu-item-has-children > .elementor-item { border-bottom: 0; padding-block: 16px; font-family: Inter, "Inter Fallback", -apple-system, "system-ui", "Segoe UI", Helvetica, Arial, sans-serif; font-size: 24px; font-weight: 500; letter-spacing: normal; color: #5b636c; }
.elementor-location-header .jobsight-phone-menu .jobsight-pnav .elementor-nav-menu--main .menu-item-has-children > .elementor-item::after { content: "\2304"; position: static; display: inline; width: auto; height: auto; margin-left: 0.35rem; opacity: 1; background: none; }
.elementor-location-header .jobsight-phone-menu .jobsight-pnav .elementor-nav-menu--main .menu-item-has-children > .elementor-item.highlighted { color: #22262b; }
.jobsight-pnav .elementor-nav-menu--main .sub-menu { position: static !important; width: auto !important; min-width: 0 !important; margin: 0 !important; padding: 12px; gap: 12px; flex-direction: column; background: transparent; border: 0; box-shadow: none; }
.jobsight-pnav .elementor-nav-menu--main .sub-menu[style*="display: block"] { display: flex !important; }
.elementor-location-header .jobsight-phone-menu .jobsight-pnav .elementor-nav-menu--main .elementor-sub-item { border: 0; border-bottom: 1px solid rgba(34, 38, 43, 0.08); line-height: 1.62; }

/* Phone menu: Log in is one more item of the menu, as on live */
.jobsight-panel-login .elementor-button { width: 100%; justify-content: flex-start; box-shadow: none; }
.jobsight-panel-login .elementor-button-content-wrapper { justify-content: flex-start; }

/* Phone menu with reduced motion: Elementor's 1 ms close step still runs (nothing moves), so focus goes back to the menu button after Escape */
@media (prefers-reduced-motion: reduce) { .jobsight-phone-menu .e-off-canvas__main.animated.none { animation: e-off-canvas-without-animation 1ms !important; } }

/* Home's and Operations' FAQs: an open question also turns orange text under the pointer, as live's (Elementor's own Hover colour covers the closed ones) */
.jobsight-faq-plus .e-n-accordion-item[open] > .e-n-accordion-item-title:hover .e-n-accordion-item-title-text { color: var(--e-global-color-orangetext); }

/* Blog cards as live's: the paper gradient and soft layered shadow at rest; under the pointer the deeper shadow and, where motion is allowed, a 3 px lift */
.elementor .jobsight-blog-cards .e-loop-item > .e-con { background-image: linear-gradient(180deg, #ffffff 0%, #fbf8f4 48%, #f3efe9 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 1px 2px rgba(21, 33, 48, 0.16), 0 5px 12px -4px rgba(21, 33, 48, 0.12), 0 12px 26px -10px rgba(21, 33, 48, 0.12); transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.7s cubic-bezier(0.16, 1, 0.3, 1); }
@media (hover: hover) and (pointer: fine) { .elementor .jobsight-blog-cards .e-loop-item > .e-con:hover { box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9), 0 2px 4px -1px rgba(21, 33, 48, 0.2), 0 14px 24px -10px rgba(21, 33, 48, 0.14), 0 12px 26px -10px rgba(21, 33, 48, 0.12), 0 30px 60px -22px rgba(21, 33, 48, 0.17), 0 66px 120px -46px rgba(21, 33, 48, 0.26); } }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) { .elementor .jobsight-blog-cards .e-loop-item > .e-con:hover { transform: translateY(-3px); } }

/* Header menu: By role's and Resources' arrow is live's own, the character ⌄ in the menu's type (Font Awesome's angle isn't drawn) */
.jobsight-primary-menu .elementor-nav-menu--main .sub-arrow .e-font-icon-svg, .jobsight-primary-menu .elementor-nav-menu--main .sub-arrow i { display: none; }
.jobsight-primary-menu .elementor-nav-menu--main .sub-arrow::after { content: "\2304"; }

/* Footer menus as live's: a link turns orange text under the pointer (with keyboard focus it keeps its own colour, phones.py rule 55); a role's short line darkens, grows and takes a soft ring */
.elementor-location-footer .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-nav-menu .menu-item .elementor-item:hover { color: var(--e-global-color-orangetext); }
@media (hover: hover) and (pointer: fine) { .jobsight-roles-menu.jobsight-roles-menu .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item:hover::before { background: #c9660f; transform: scaleX(1.34); box-shadow: 0 0 0 3px rgba(245, 130, 32, 0.18); } }

/* Watch the demo's, vs Albiware's and vs Dash's FAQs (class jobsight-faq-gap, phones.py rule 54): the keyboard ring hugs the question's line, 3 px out, as live's ring does (Elementor's row keeps 20 px above and below the words) */
.jobsight-faq-gap .e-n-accordion-item-title { position: relative; }
.elementor .jobsight-faq-gap .e-n-accordion-item > .e-n-accordion-item-title:focus-visible { outline: 0; }
.jobsight-faq-gap .e-n-accordion-item-title:focus-visible::after { content: ""; position: absolute; inset: 15px -5px; border: 2px solid var(--e-global-color-orangetext); border-radius: 9px; pointer-events: none; }

/* Buttons on live's dark bands, photo heroes and closing rows (class jobsight-on-dark, phones.py rule 56): the keyboard ring in white, as live's */
:is(.elementor-location-header, .elementor-location-footer, .jobsight-type, .elementor-location-single, .elementor-location-archive) .jobsight-on-dark :is(.elementor-button[tabindex], .elementor-button):focus-visible { outline-color: #fff; }

/* Text links in live's text blocks (class jobsight-source, phones.py rule 56): the underline thickens to 2 px under the pointer, as live's (over the link's own underline, which the converted text sets in the link) */
.jobsight-source a:not(.elementor-button):hover { text-decoration-thickness: 2px !important; }

/* FAQ questions with the triangle at the start, in Firefox: the space Elementor's markup leaves after the triangle takes no room, so the words sit at live's distance from it (Chromium and WebKit already drop that space) */
.jobsight-faq-marker.elementor-widget-n-accordion .e-n-accordion-item-title { word-spacing: -0.281em; }
.jobsight-faq-marker.elementor-widget-n-accordion .e-n-accordion-item-title-text { word-spacing: normal; }

/* Bands, cards and frames: live's own soft gradients over the flat colour Elementor keeps (classes jobsight-bg-..., phones.py rule 58) */
.jobsight-bg-paperwarm { background-image: linear-gradient(rgb(252, 249, 245) 0%, rgb(246, 242, 236) 34%, rgb(245, 240, 232) 100%); }
.jobsight-bg-frame { background-image: linear-gradient(rgb(255, 255, 255) 0%, rgb(251, 248, 244) 46%, rgb(243, 239, 233) 100%); }
.jobsight-bg-card { background-image: linear-gradient(rgb(255, 255, 255) 0%, rgb(251, 248, 244) 48%, rgb(243, 239, 233) 100%); }
.jobsight-bg-ink { background-image: linear-gradient(160deg, rgb(60, 68, 77) 0%, rgb(30, 36, 43) 46%, rgb(51, 59, 67) 100%); }
.jobsight-bg-papercool { background-image: linear-gradient(rgb(246, 247, 246) 0%, rgb(240, 241, 240) 34%, rgb(239, 241, 238) 100%); }
.jobsight-bg-band-warm { background-image: linear-gradient(rgb(251, 250, 248) 0%, rgb(246, 242, 236) 22%, rgb(246, 242, 236) 78%, rgb(251, 250, 248) 100%); }
.jobsight-bg-paper { background-image: linear-gradient(rgb(254, 253, 252) 0%, rgb(251, 250, 248) 42%, rgb(247, 244, 240) 100%); }
.jobsight-bg-band-cool { background-image: linear-gradient(rgb(251, 250, 248) 0%, rgb(240, 241, 240) 20%, rgb(240, 241, 240) 82%, rgb(251, 250, 248) 100%); }

/* Cards and frames: live's own layered shadows in place of Elementor's one shadow (classes jobsight-shadow-..., phones.py rule 58) */
.jobsight-shadow-1 { box-shadow: rgba(255, 255, 255, 0.9) 0px 1px 0px 0px inset, rgba(21, 33, 48, 0.16) 0px 1px 2px 0px, rgba(21, 33, 48, 0.12) 0px 5px 12px -4px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px; }
.jobsight-shadow-2 { box-shadow: rgba(255, 255, 255, 0.6) 0px 1px 0px 0px inset, rgba(21, 33, 48, 0.16) 0px 1px 2px 0px, rgba(21, 33, 48, 0.12) 0px 5px 12px -4px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px; }
.jobsight-shadow-3 { box-shadow: rgba(255, 255, 255, 0.9) 0px 1px 0px 0px inset, rgba(21, 33, 48, 0.2) 0px 2px 4px -1px, rgba(21, 33, 48, 0.14) 0px 14px 24px -10px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px, rgba(21, 33, 48, 0.17) 0px 30px 60px -22px, rgba(21, 33, 48, 0.26) 0px 66px 120px -46px; }
.jobsight-shadow-4 { box-shadow: rgba(255, 255, 255, 0.9) 0px 1px 0px 0px inset, rgba(21, 33, 48, 0.16) 0px 1px 2px 0px, rgba(21, 33, 48, 0.12) 0px 5px 12px -4px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px, rgba(21, 33, 48, 0.17) 0px 30px 60px -22px; }
.jobsight-shadow-5 { box-shadow: rgba(255, 255, 255, 0.6) 0px 1px 0px 0px inset, rgba(21, 33, 48, 0.1) 0px 1px 1px 0px, rgba(21, 33, 48, 0.09) 0px 1px 3px -1px, rgba(21, 33, 48, 0.07) 0px 3px 8px -3px; }
.jobsight-shadow-6 { box-shadow: rgba(21, 33, 48, 0.2) 0px 2px 4px -1px, rgba(21, 33, 48, 0.14) 0px 14px 24px -10px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px, rgba(21, 33, 48, 0.17) 0px 30px 60px -22px, rgba(21, 33, 48, 0.26) 0px 66px 120px -46px, rgba(255, 255, 255, 0.6) 0px 1px 0px 0px inset, rgba(255, 255, 255, 0.1) 0px 0px 0px 1px inset; }
.jobsight-shadow-7 { box-shadow: rgba(21, 33, 48, 0.1) 0px 1px 1px 0px, rgba(21, 33, 48, 0.09) 0px 1px 3px -1px, rgba(21, 33, 48, 0.07) 0px 3px 8px -3px; }
.jobsight-shadow-8 { box-shadow: rgba(21, 33, 48, 0.16) 0px 1px 2px 0px, rgba(21, 33, 48, 0.12) 0px 5px 12px -4px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px, rgba(21, 33, 48, 0.17) 0px 30px 60px -22px; }
.jobsight-shadow-9 { box-shadow: rgba(21, 33, 48, 0.16) 0px 1px 2px 0px, rgba(21, 33, 48, 0.12) 0px 5px 12px -4px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px; }
.jobsight-shadow-10 { box-shadow: rgb(153, 162, 170) 0px -5px 0px 0px, rgb(153, 162, 170) 0px 5px 0px 0px; }
.jobsight-shadow-11 { box-shadow: rgba(255, 255, 255, 0.6) 0px 1px 0px 0px inset, rgba(21, 33, 48, 0.16) 0px 1px 2px 0px, rgba(21, 33, 48, 0.12) 0px 5px 12px -4px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px, rgba(21, 33, 48, 0.17) 0px 30px 60px -22px; }
.jobsight-shadow-12 { box-shadow: rgba(20, 24, 30, 0.14) 0px 2px 4px 0px, rgba(20, 24, 30, 0.42) 0px 18px 38px -14px; }
/* Home's work-in-progress card takes live's lighter lift at 1100 px and below, as live's does */
@media (max-width: 1100px) { .jobsight-shadow-4.jobsight-shadow-lift2 { box-shadow: rgba(21, 33, 48, 0.16) 0px 1px 2px 0px, rgba(21, 33, 48, 0.12) 0px 5px 12px -4px, rgba(21, 33, 48, 0.12) 0px 12px 26px -10px; } }

/* Fonts from Site Settings at a text's own size (rule 64): Elementor links a font to a global one only as a whole (family, size, weight and spacing together), so text that keeps its own size carries one of these classes and takes only the family from Site Settings > Global Fonts, and a new font there reaches it: jobsight-headings-font takes Headings' family (big numbers and labels, the drawn report's titles, the vs alternatives cards, the header's menu and button, the Blog cards' titles), jobsight-body-font takes Body text's (the line under Contact Us' title); any widget can take one in Advanced > CSS Classes */
.elementor .jobsight-headings-font, .elementor .jobsight-headings-font :is(.elementor-heading-title, .elementor-button, .elementor-item, .elementor-sub-item) { font-family: var(--e-global-typography-primary-font-family), Helvetica, Arial, sans-serif; }
.elementor .jobsight-body-font, .elementor .jobsight-body-font :is(.elementor-heading-title, .elementor-button, .elementor-item, .elementor-sub-item) { font-family: var(--e-global-typography-text-font-family), Helvetica, Arial, sans-serif; }

/* Buttons from 421 to 767 px wide (rule 69): live's buttons fill a phone's width only up to 420 px (its .btn rule); wider, they keep their own size where live's layout puts them. jobsight-btn-own marks a button that is full width on phones and its own width on computers; -start, -center and -end give its place */
@media (min-width: 421px) and (max-width: 767px) {
  body .elementor .elementor-element.elementor-widget.jobsight-btn-own { width: auto; max-width: 100%; --align-self: auto; }
  body .elementor .elementor-element.elementor-widget.jobsight-btn-own--start { --align-self: flex-start; }
  body .elementor .elementor-element.elementor-widget.jobsight-btn-own--center { --align-self: center; }
  body .elementor .elementor-element.elementor-widget.jobsight-btn-own--end { --align-self: flex-end; }
  body .elementor .jobsight-btn-own .elementor-button { width: auto; }
}
/* Home's first two buttons at 420 px and below (rule 69, live's .hero__acts): they share a row when both fit and grow to fill it, else each takes the full width */
@media (max-width: 420px) { body .elementor .elementor-element.elementor-widget.jobsight-btn-grow { width: auto; flex: 1 1 auto; } }

/* The footer at live's own widths (rule 71): its link columns two across from 421 to 720 px and three from 721 to 767 px (Elementor's phone layout gives one), the brand beside them from 981 to 1024 px (Elementor's tablet layout puts it above), and the copyright and the links on one line wherever they fit from 421 px */
@media (min-width: 421px) and (max-width: 720px) { body .elementor .elementor-element.jobsight-ftr-cols { --e-con-grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 721px) and (max-width: 767px) { body .elementor .elementor-element.jobsight-ftr-cols { --e-con-grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 981px) and (max-width: 1024px) { body .elementor .elementor-element.jobsight-ftr-in { --e-con-grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.6fr); } }
@media (min-width: 421px) and (max-width: 767px) { body .elementor .elementor-element.jobsight-ftr-bot { --flex-direction: row; --align-items: center; } body .elementor .elementor-element.jobsight-ftr-bot > .elementor-element.jobsight-legal-links { --width: auto; } }

/* Home's list of the tools JobSight works with at live's own widths (rule 72): three across from 421 to 760 px and six from 761 px (Elementor's phone layout gives two) */
@media (min-width: 421px) and (max-width: 760px) { body .elementor .elementor-element.jobsight-works-list { --e-con-grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 761px) and (max-width: 767px) { body .elementor .elementor-element.jobsight-works-list { --e-con-grid-template-columns: repeat(6, 1fr); } }

/* Grids on small tablets, 721 to 767 px wide (rule 74): live keeps these several across until 720 px, where Elementor's phone layout stacks them. Home's three cards two across with the third below, and its AI rows with each label beside its text, with the tablet gaps; Operations' rows two, three or four across and Features' lists two across; the Blog's cards two across, their pictures 16:9 */
@media (min-width: 721px) and (max-width: 767px) {
  body .elementor .elementor-element.jobsight-home-three { --e-con-grid-template-columns: repeat(2, 1fr); --gap: 40px 34px; --row-gap: 40px; --column-gap: 34px; }
  body .elementor .elementor-element.jobsight-home-ai-row { --e-con-grid-template-columns: 1fr 1.613fr; --gap: 14px 14px; --row-gap: 14px; --column-gap: 14px; }
  body .elementor .elementor-element.jobsight-two-721 { --e-con-grid-template-columns: repeat(2, 1fr); }
  body .elementor .elementor-element.jobsight-three-721 { --e-con-grid-template-columns: repeat(3, 1fr); }
  body .elementor .elementor-element.jobsight-four-721 { --flex-wrap: nowrap; }
  body .elementor .elementor-element.jobsight-four-721 > .e-con { --width: 24.886%; --flex-grow: 0; --flex-shrink: 1; }
  body .elementor .elementor-widget.jobsight-blog-cards .elementor-grid { --grid-columns: 2; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body .elementor .elementor-widget.jobsight-blog-cards .e-loop-item .e-con:has(> .elementor-widget-image) { --min-height: 0px; }
  body .elementor .elementor-widget.jobsight-blog-cards .e-loop-item .elementor-widget-image img { height: auto; aspect-ratio: 16 / 9; }
}
/* Home's quotes three across from 761 to 767 px (rule 74, live's .voices__grid) */
@media (min-width: 761px) and (max-width: 767px) { body .elementor .elementor-element.jobsight-three-761 { --e-con-grid-template-columns: repeat(3, 1fr); --gap: 3.5vw; --row-gap: 3.5vw; --column-gap: 3.5vw; } }
/* Integrations' cards two across from 481 to 767 px (rule 74, live's integration logos), where Elementor's phone layout gives one */
@media (min-width: 481px) and (max-width: 767px) { body .elementor .elementor-element.jobsight-two-481 { --e-con-grid-template-columns: repeat(2, 1fr); } }
/* From 981 to 1024 px (rule 74): live uses its computer layout from 981 px for these, where Elementor's tablet layout (up to 1024 px) stacks them: Home's two section heads with the heading beside its text, its team picker and AI box two across, the comparison page's three claims and Integrations' four cards across */
@media (min-width: 981px) and (max-width: 1024px) {
  body .elementor .elementor-element.jobsight-home-open { --e-con-grid-template-columns: 1.105fr 1fr; --gap: 5vw; --row-gap: 5vw; --column-gap: 5vw; }
  body .elementor .elementor-element.jobsight-home-open-tight { --e-con-grid-template-columns: 1.25fr 1fr; --gap: 5vw; --row-gap: 5vw; --column-gap: 5vw; }
  body .elementor .elementor-element.jobsight-home-board-row { --e-con-grid-template-columns: 1fr 1.326fr; }
  body .elementor .elementor-element.jobsight-home-ai-split { --e-con-grid-template-columns: 1.19fr 1fr; }
  body .elementor .elementor-element.jobsight-claims-981 { --e-con-grid-template-columns: repeat(3, 1fr); --gap: 3vw; --row-gap: 3vw; --column-gap: 3vw; }
  body .elementor .elementor-element.jobsight-four-981 { --e-con-grid-template-columns: repeat(4, 1fr); }
}
/* The header from 981 to 1024 px (rule 75): live shows its computer menu from 981 px, where Elementor's tablet layout (up to 1024 px) shows the menu button. Here the menu with its line, Log in and Book a demo show, the menu button hides, and the logo keeps its computer size (the header's sides are live's 4.2 % of the window at every width, in its own Padding) */
@media (min-width: 1025px) {
  body .elementor-location-header #burger { display: none; }
}
@media (min-width: 981px) and (max-width: 1024px) {
  body .elementor .elementor-element.jobsight-hdr-logo img { width: 208.66px; height: 54px; }
  body .elementor .elementor-element.jobsight-hdr-menu { --flex-grow: 0; --flex-shrink: 0; --justify-content: normal; }
  body .elementor .elementor-element.elementor-hidden-tablet.jobsight-primary-menu { display: block; }
  body .elementor .elementor-element.elementor-hidden-tablet.jobsight-nav-rail, body .elementor .elementor-element.elementor-hidden-tablet.jobsight-hdr-actions { display: var(--display); }
  body .elementor-location-header #burger { display: none; }
}

/* From 981 to 1024 px (rule 76): live uses its computer layout here for more of Home (its "Protect your margins" and "Built for the truck" heads beside their pictures, its sections in live's order, the team board, the screen and the closing band at live's widths with the band's buttons beside its words) and for the comparison pages' first band, where Elementor's tablet layout (768 to 1024 px) stacks them */
@media (min-width: 981px) and (max-width: 1024px) {
  body .elementor .elementor-element.jobsight-home-margins-981 { --e-con-grid-template-columns: 1fr 1.439fr; }
  body .elementor .elementor-element.jobsight-home-truck-981 { --e-con-grid-template-columns: 1fr 1.105fr; --gap: clamp(40px, 6vw, 92px) clamp(40px, 6vw, 92px); --row-gap: clamp(40px, 6vw, 92px); --column-gap: clamp(40px, 6vw, 92px); }
  body .elementor .elementor-element.e-con.jobsight-order-first-981 { --order: 0; }
  body .elementor .elementor-element.jobsight-width-38-981 { --width: 38%; }
  body .elementor .elementor-element.jobsight-width-50-981 { --width: 50%; }
  body .elementor .elementor-element.jobsight-width-auto-981 { --width: auto; }
  body .elementor .elementor-element.jobsight-width-full-981 { --width: 100%; }
  body .elementor .elementor-element.jobsight-vs-hero-981 { --e-con-grid-template-columns: 1.5fr 1fr; }
}
/* At exactly 1024 px (rule 76): live's computer layout starts at 1024 px for the Contact page's form beside its words, for the Blog's cards three across and for the comparison page's bands side by side (its "line by line" and "stands out" heads beside their words, its six reasons and its demo band), where Elementor's tablet layout runs to 1024 px */
@media (min-width: 1024px) and (max-width: 1024px) {
  body .elementor .elementor-element.jobsight-contact-grid-1024 { --e-con-grid-template-columns: repeat(2, 1fr); --gap: clamp(30px, 4vw, 64px) clamp(30px, 4vw, 64px); --row-gap: clamp(30px, 4vw, 64px); --column-gap: clamp(30px, 4vw, 64px); }
  body .elementor .elementor-element.jobsight-contact-form-1024 { grid-column: 2 / auto; grid-row: 1 / span 2; }
  body .elementor .elementor-element.jobsight-contact-quote-1024 { grid-column: 1 / auto; }
  body .elementor .elementor-widget.jobsight-blog-cards .elementor-grid { --grid-columns: 3; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body .elementor .elementor-element.jobsight-width-full-1024 { --width: 100%; }
  body .elementor .elementor-element.jobsight-compare-lead-1024 { --e-con-grid-template-columns: 1.083fr 1fr; --gap: 4vw 4vw; --row-gap: 4vw; --column-gap: 4vw; }
  body .elementor .elementor-element.jobsight-compare-open-1024 { --e-con-grid-template-columns: 1.25fr 1fr; --gap: 5vw 5vw; --row-gap: 5vw; --column-gap: 5vw; }
  body .elementor .elementor-element.jobsight-compare-row-1024 { --e-con-grid-template-columns: 1.041fr 1fr; }
  body .elementor .elementor-element.jobsight-compare-close-1024 { --e-con-grid-template-columns: 1.128fr 1fr; }
}

/* The customer logo strips (rule 77, live's .js-marquee): the logos, 128 px wide each as on live, move left at 50 px a second and loop with no gap, because each row holds its logos twice (five times on Verisk's two-logo strip) with the copies hidden from screen readers; jobsight-logos-93, -7 and -2 give a row the length of one set of logos plus one gap, and its time at 50 px a second; the pointer on a strip stops it; when the device asks for less motion the copies hide and the row stands still and scrolls sideways by hand, as on live */
body .elementor .elementor-element.jobsight-marquee { overscroll-behavior-inline: contain; }
body .elementor .elementor-element.jobsight-marquee-track { --width: max-content; }
body .elementor .elementor-element.jobsight-marquee-track > .elementor-widget { --container-widget-width: 128px; --container-widget-flex-grow: 0; width: 128px; max-width: none; flex: 0 0 128px; }
body .elementor .elementor-element.jobsight-marquee-track.jobsight-logos-93 { --jobsight-marquee-shift: 14903.56px; --jobsight-marquee-time: 298.07s; }
body .elementor .elementor-element.jobsight-marquee-track.jobsight-logos-7 { --jobsight-marquee-shift: 1120px; --jobsight-marquee-time: 22.4s; }
body .elementor .elementor-element.jobsight-marquee-track.jobsight-logos-2 { --jobsight-marquee-shift: 320px; --jobsight-marquee-time: 6.4s; }
body .elementor .jobsight-marquee-track > [aria-hidden="true"] { pointer-events: none; }
@keyframes jobsight-logo-scroll { to { transform: translateX(calc(-1 * var(--jobsight-marquee-shift, 0px))); } }
@media (prefers-reduced-motion: no-preference) {
  body .elementor .elementor-element.jobsight-marquee { --overflow: hidden; overflow: hidden; }
  body .elementor .elementor-element.jobsight-marquee-track { animation: jobsight-logo-scroll var(--jobsight-marquee-time, 0s) linear infinite; }
  body .elementor .elementor-element.jobsight-marquee:hover .jobsight-marquee-track { animation-play-state: paused; }
}
@media (prefers-reduced-motion: reduce) { body .elementor .jobsight-marquee-track > [aria-hidden="true"] { display: none; } }

/* Live wraps every paragraph "pretty" (rule 80, its p { text-wrap: pretty }); the Verisk page's ticked list, the Blog's card and lead-story texts, each post's tags and each post's author line are paragraphs there, so here they break their lines as live's do. A post's small closing heading (h5) keeps the browser's own size and weight, as on live */
body .elementor .jobsight-checklist .elementor-icon-list-text, body .elementor .elementor-element.jobsight-pretty-text, body .elementor .jobsight-post-tags .elementor-heading-title, body.single-post .elementor .elementor-widget-author-box .elementor-author-box__bio { text-wrap: pretty; }
body .elementor .jobsight-article-body h5 { font-size: 0.83em; font-weight: 700; line-height: 1.75; }
/* Headings whose line break live hides on phones up to 720 px (rule 81, its .field__copy h2 br, .margins__copy h2 br and .open__h br rules), where the break sits inside a span that the rule for headings' own breaks does not reach */
@media (max-width: 720px) { body .elementor .jobsight-break-flow .elementor-heading-title br { display: none; } }
/* Blog posts' links as on live (its .jobsight-source a rules): the category, author, tag and article links underlined 0.2em below the words in their own orange, the line 2 px thick under the pointer; under the pointer these and "Back to top" and "Back to Blog" keep their orange. The post template's category list and tag heading draw no line of their own (theirs sat higher, and the category's was dark), so each link's line is the only one */
body.single-post .elementor-location-single :is(.elementor-widget-post-info .elementor-icon-list-item, .jobsight-post-tags .elementor-heading-title) { text-decoration-line: none; }
body.single-post .elementor-location-single :is(.elementor-post-info__terms-list-item, .elementor-author-box__text > a, .jobsight-post-tags a, .jobsight-article-body a) { text-decoration-line: underline; text-underline-offset: 0.2em; }
body.single-post .elementor-location-single :is(.elementor-post-info__terms-list-item, .elementor-author-box__text > a, .jobsight-post-tags a, .jobsight-article-body a):hover { text-decoration-thickness: 2px; }
body.single-post .elementor-location-single :is(.elementor-post-info__terms-list-item, .elementor-author-box__text > a, .jobsight-post-tags a, .jobsight-article-body a, .elementor-widget-text-editor a):hover { color: var(--e-global-color-orangetext); }
/* Form fallback links ("Having trouble loading the form?") underlined as on live, which leaves them the browser's own underline; the booking and AI pages' links (.lnk) keep their own look */
body .elementor .jobsight-form-fallback a:not(.lnk) { text-decoration-line: underline; }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Lastik';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/lastik-free.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 100;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 200;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 300;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 400;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 600;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 700;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 800;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: 900;
	font-display: auto;
	src: url('https://jobsight.com/wp-content/uploads/2026/10/inter-var.woff2') format('woff2');
}
/* End Custom Fonts CSS */