/* Asbestos Re-inspection: due-date checker + score scale. Colours default to the Elementor kit globals. */
.ri-tool,.ri-scale{--ri-panel:var(--e-global-color-ripanel,#1B2125);--ri-panel2:var(--e-global-color-ripanel2,#20272B);--ri-line:var(--e-global-color-riline,#2C353A);--ri-text:var(--e-global-color-primary,#ECEAE4);--ri-text2:var(--e-global-color-text,#C3C9C6);--ri-amb:var(--e-global-color-accent,#F0A63A);--ri-amb-t:rgba(240,166,58,.15);--ri-ink:var(--e-global-color-riink,#121619);--ri-field:var(--e-global-color-rifield,#11161A);--ri-fieldl:var(--e-global-color-rifieldln,#4A555B);--ri-inset:var(--e-global-color-riinset,#161B1E);--ri-bg:var(--e-global-color-secondary,#121619);--ri-hover:#8E989D;font-family:var(--e-global-typography-text-font-family,'Radio Canada'),Arial,sans-serif;color:var(--ri-text);box-sizing:border-box}
.ri-tool *,.ri-scale *{box-sizing:border-box}

/* ---------- due-date checker ---------- */
.ri-tool{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);overflow:hidden;background:var(--ri-panel);border:1px solid var(--ri-line);border-radius:12px}
.ri-tool__in{padding:30px 32px 32px;border-right:1px solid var(--ri-line);margin:0}
.ri-tool__out{padding:30px 32px 32px;display:flex;flex-direction:column;background:var(--ri-panel2)}
.ri-tool .ri-field{margin:0 0 22px;border:0;padding:0;min-width:0}
.ri-tool .ri-field:last-child{margin-bottom:0}
.ri-tool .ri-field>label,.ri-tool .ri-field legend{display:block;font-weight:600;font-size:17px;line-height:1.6;margin:0 0 9px;padding:0;color:var(--ri-text)}
.ri-tool .ri-two{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ri-tool select{width:100%;min-height:50px;border:1.5px solid var(--ri-fieldl);border-radius:8px;background-color:var(--ri-field);color:var(--ri-text);font-family:inherit;font-weight:400;font-size:17px;line-height:1.4;padding:10px 38px 10px 12px;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--ri-text) 50%),linear-gradient(135deg,var(--ri-text) 50%,transparent 50%);background-position:calc(100% - 20px) 52%,calc(100% - 14px) 52%;background-size:6px 6px;background-repeat:no-repeat}
.ri-tool select option{background:var(--ri-panel);color:var(--ri-text)}
.ri-tool select:focus{border-color:var(--ri-amb);outline:2px solid var(--ri-amb);outline-offset:0}
.ri-tool .ri-opts{display:grid;gap:8px}
.ri-tool .ri-opts--2{grid-template-columns:repeat(2,1fr)}
.ri-tool .ri-opts--3{grid-template-columns:repeat(3,1fr)}
.ri-tool .ri-opt{position:relative;display:block;margin:0}
.ri-tool .ri-opt input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.ri-tool .ri-opt span{display:block;height:100%;border:1.5px solid var(--ri-fieldl);border-radius:8px;padding:10px 12px;font-size:16px;line-height:1.3;background:var(--ri-field);transition:background .15s,border-color .15s}
.ri-tool .ri-opt span b{display:block;font-size:16.5px;font-weight:600}
.ri-tool .ri-opt span small{display:block;font-size:14.5px;color:var(--ri-text2);margin-top:2px}
.ri-tool .ri-opt:hover span{border-color:var(--ri-hover)}
.ri-tool .ri-opt input:checked+span{border-color:var(--ri-amb);background:var(--ri-amb-t);box-shadow:inset 0 0 0 1px var(--ri-amb)}
.ri-tool .ri-opt input:focus-visible+span{outline:3px solid var(--ri-amb);outline-offset:2px}
.ri-tool .ri-ticks{display:grid;gap:8px}
.ri-tool .ri-tick{display:flex;gap:12px;align-items:flex-start;font-size:16.5px;line-height:1.4;cursor:pointer;padding:10px 12px;border:1.5px solid var(--ri-fieldl);border-radius:8px;background:var(--ri-field);margin:0;color:var(--ri-text)}
.ri-tool .ri-tick input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--ri-amb);flex-shrink:0}
.ri-tool .ri-tick:has(input:checked){border-color:var(--ri-amb);background:var(--ri-amb-t)}
.ri-tool .ri-out__label{font-weight:600;font-size:16px;color:var(--ri-text2);margin-bottom:6px}
.ri-tool .ri-due{font-weight:700;font-size:clamp(42px,4.8vw,60px);line-height:1;letter-spacing:-.02em;margin-bottom:12px;color:var(--ri-text)}
.ri-tool .ri-status{display:inline-block;align-self:flex-start;font-weight:600;font-size:15.5px;line-height:1.6;padding:4px 11px;border:1.5px solid currentColor;border-radius:6px;margin-bottom:20px}
.ri-tool .ri-res{display:flex;flex-direction:column}
.ri-tool .ri-status.is-ok{color:var(--ri-text2)}
.ri-tool .ri-status.is-soon{color:var(--ri-amb)}
.ri-tool .ri-status.is-late{color:var(--ri-ink);background:var(--ri-amb);border-color:var(--ri-amb)}
.ri-tool .ri-bar{position:relative;height:12px;background:var(--ri-field);border:1px solid var(--ri-line);border-radius:99px;margin-bottom:8px;overflow:hidden}
.ri-tool .ri-bar i{position:absolute;left:0;top:0;bottom:0;background:var(--ri-amb);border-radius:99px;transform-origin:left;width:100%;transform:scaleX(0);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.ri-tool .ri-bar__lab{display:flex;justify-content:space-between;font-size:15px;line-height:1.6;color:var(--ri-text2);margin-bottom:20px}
.ri-tool .ri-why{list-style:none;margin:0 0 22px;padding:0;border-top:1px solid var(--ri-line)}
.ri-tool .ri-why li{padding:12px 0;border-bottom:1px solid var(--ri-line);font-size:16.5px;line-height:1.5;color:var(--ri-text2);margin:0}
.ri-tool .ri-why b{display:block;font-size:17px;color:var(--ri-text);font-weight:600}
.ri-tool .ri-btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 22px;background:var(--ri-amb);color:var(--ri-ink);font-family:inherit;font-weight:600;font-size:16.5px;line-height:1.2;text-decoration:none;border:2px solid var(--ri-amb);border-radius:8px;margin-top:auto;align-self:stretch;transition:background .2s,border-color .2s}
.ri-tool .ri-btn:hover{background:var(--e-global-color-riamberd,#DD9426);border-color:var(--e-global-color-riamberd,#DD9426);color:var(--ri-ink)}
.ri-tool .ri-tool__src{font-size:15px;line-height:1.6;color:var(--ri-text2);margin:16px 0 0}
/* motion: the bar fills once the tool is on screen; on each answer the date rolls up,
   the status tag pops and the reasons land in order; tiles give a small press */
.ri-motion .ri-tool:not(.is-in) .ri-bar i{transform:scaleX(0)!important}
.ri-tool .ri-due.ri-roll{animation:riRoll .5s var(--ri-ease-out,ease)}
.ri-tool .ri-status.ri-pop{animation:riPop .4s var(--ri-ease,ease)}
.ri-tool .ri-why.ri-stag li{animation:riFadeUpSm .45s var(--ri-ease-out,ease) backwards;animation-delay:calc(var(--i,0) * 50ms + 60ms)}
.ri-tool .ri-opt input:checked+span{animation:riTick .35s var(--ri-ease,ease)}
.ri-tool .ri-btn{transition:background .25s,border-color .25s,transform .3s var(--ri-ease,ease),box-shadow .3s var(--ri-ease,ease)}
@media (hover:hover) and (pointer:fine){.ri-tool .ri-btn:hover{transform:translateY(-2px);box-shadow:0 0 0 4px rgba(240,166,58,.16),0 12px 26px -14px rgba(240,166,58,.7)}}
.ri-tool .ri-btn:active{transform:scale(.98)}

/* ---------- score scale ---------- */
.ri-scale{padding:24px 26px 20px;background:var(--ri-panel);border:1px solid var(--ri-line);border-radius:12px}
.ri-scale h3{font-weight:700;font-size:22px;line-height:1.2;letter-spacing:-.01em;margin:0 0 4px;color:var(--ri-text)}
.ri-scale>p{color:var(--ri-text2);font-size:16px;line-height:1.6;margin:0 0 18px}
.ri-scale .ri-bands{display:grid;grid-template-columns:3fr 2fr 3fr 3fr;margin:0 0 6px 180px;gap:3px}
.ri-scale .ri-bands span{font-size:14px;font-weight:600;color:var(--ri-text2);padding:6px 8px;background:var(--ri-inset);border-radius:6px 6px 0 0;line-height:1.25}
.ri-scale .ri-bands span small{display:block;font-weight:400;font-size:inherit}
.ri-scale .ri-bands span:last-child{color:var(--ri-amb)}
.ri-scale .ri-srow{display:grid;grid-template-columns:180px 1fr;align-items:center;min-height:58px;border-top:1px solid var(--ri-line)}
.ri-scale .ri-srow__l{font-size:15.5px;line-height:1.3;padding-right:14px}
.ri-scale .ri-srow__l small{display:block;color:var(--ri-text2);font-size:14px}
.ri-scale .ri-track{position:relative;height:58px;background:linear-gradient(90deg,transparent calc(27.27% - 1.5px),var(--ri-line) calc(27.27% - 1.5px),var(--ri-line) 27.27%,transparent 27.27%,transparent calc(45.45% - 1.5px),var(--ri-line) calc(45.45% - 1.5px),var(--ri-line) 45.45%,transparent 45.45%,transparent calc(72.73% - 1.5px),var(--ri-line) calc(72.73% - 1.5px),var(--ri-line) 72.73%,transparent 72.73%)}
.ri-scale .ri-mk{position:absolute;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border-radius:50%;border:2px solid var(--ri-text2);background:var(--ri-bg);left:var(--from);transition:transform .25s var(--ri-ease,ease)}
.ri-scale .ri-mk--now{border-color:var(--ri-amb);background:var(--ri-amb);transition:left .9s cubic-bezier(.3,.7,.2,1) calc(.3s + var(--r,0) * .14s),transform .25s var(--ri-ease,ease)}
/* rows can be explored: hovering one lifts its markers */
.ri-scale .ri-srow{transition:background-color .2s}
@media (hover:hover){.ri-scale .ri-srow:hover{background-color:rgba(255,255,255,.025)}.ri-scale .ri-srow:hover .ri-mk{transform:scale(1.18)}}
.ri-scale .ri-mk__n{position:absolute;left:50%;top:-22px;transform:translateX(-50%);font-weight:700;font-size:14px;line-height:1;color:var(--ri-text)}
.ri-scale .ri-mk--last .ri-mk__n{top:auto;bottom:-22px;color:var(--ri-text2)}
/* the marker moves once the widget is shown (Elementor removes .elementor-invisible when its entrance animation starts) */
.elementor-widget-ri-score-scale:not(.elementor-invisible) .ri-mk--now{left:var(--to)}
.ri-scale .ri-scale__foot{display:flex;flex-wrap:wrap;gap:8px 22px;padding-top:14px;border-top:1px solid var(--ri-line);font-size:14.5px;line-height:1.6;color:var(--ri-text2)}
.ri-scale .ri-scale__foot i{display:inline-block;width:12px;height:12px;border-radius:50%;vertical-align:-1px;margin-right:6px;border:2px solid var(--ri-text2)}
.ri-scale .ri-scale__foot i.is-now{border-color:var(--ri-amb);background:var(--ri-amb)}

@keyframes riSettle{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (max-width:980px){
  .ri-tool{grid-template-columns:1fr}
  .ri-tool__in{border-right:0;border-bottom:1px solid var(--ri-line)}
}
@media (max-width:700px){
  .ri-tool__in,.ri-tool__out,.ri-scale{padding-left:20px;padding-right:20px}
  .ri-tool .ri-opt span{padding:9px 10px}
  .ri-tool .ri-opts--3 .ri-opt span small{display:none}
  .ri-tool .ri-opts--2 .ri-opt span small{font-size:14px}
  .ri-tool .ri-due{font-size:40px}
  .ri-scale .ri-bands{margin-left:0}
  .ri-scale .ri-srow{grid-template-columns:1fr;padding-top:10px;row-gap:12px}
  .ri-scale .ri-srow__l{padding:0}
}
@media (max-width:560px){
  .ri-scale .ri-bands span{font-size:12.5px;padding:5px}
  .ri-scale .ri-bands span small{display:none}
}
@media (prefers-reduced-motion:reduce){
  .ri-tool *,.ri-scale *{animation:none!important;transition:none!important}
  .ri-scale .ri-mk--now{left:var(--to)}
}
