/* Shared base for homepage themes 2-4 (scoped by .tw wrapper on <body>) */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body.tw{margin:0;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img:where(.tw *){max-width:100%;height:auto;display:block}
a:where(.tw *){color:inherit;text-decoration:none}
ul:where(.tw *),ol:where(.tw *){list-style:none;margin:0;padding:0}
h1:where(.tw *),h2:where(.tw *),h3:where(.tw *),h4:where(.tw *),p:where(.tw *){margin:0}
button:where(.tw *){font:inherit;cursor:pointer}
.tw .container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}
.tw .ti{flex:none;vertical-align:middle}
.tw .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tw [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.tw [data-reveal].is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.tw [data-reveal]{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}
body.nav-open{overflow:hidden}
.tw .wa-float{position:fixed;left:18px;bottom:18px;z-index:90;width:54px;height:54px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:transform .2s}
.tw .wa-float:hover{transform:scale(1.08)}
.tw .wa-float img{width:30px;height:30px}
.tw .to-top{position:fixed;right:18px;bottom:18px;z-index:90;width:46px;height:46px;border-radius:50%;border:0;color:#fff;display:grid;place-items:center;opacity:0;visibility:hidden;transform:translateY(10px);transition:.25s}
.tw .to-top.show{opacity:1;visibility:visible;transform:none}
.tw .quote-modal{position:fixed;inset:0;z-index:200;display:none;place-items:center;background:rgba(5,10,25,.7);padding:20px}
.tw .quote-modal:target{display:grid}
.tw .quote-box{background:#fff;color:#1b2430;border-radius:16px;max-width:520px;width:100%;padding:32px;position:relative}
.tw .quote-box h3{font-size:24px;margin-bottom:6px}
.tw .quote-box p{color:#667085;margin-bottom:18px}
.tw .quote-box input,.tw .quote-box textarea{width:100%;padding:13px 14px;border:1px solid #d0d5dd;border-radius:10px;margin-bottom:12px;font:inherit}
.tw .quote-close{position:absolute;right:14px;top:10px;font-size:28px;line-height:1;color:#667085}
.t4-logo,.t3-logo,.t2-logo{flex:none}.t4-logo img,.t3-logo img,.t2-logo img{max-width:none}

/* never allow sideways scrolling on any theme page */
html{overflow-x:hidden;max-width:100%}
body.tw{max-width:100vw;overflow-x:hidden}
@supports (overflow:clip){html,body.tw{overflow-x:clip}}
/* menu scrim: tap outside to close */
.nav-scrim{position:fixed;inset:0;background:rgba(10,15,30,.55);opacity:0;visibility:hidden;transition:opacity .3s,visibility 0s .3s;z-index:98}
.nav-scrim.show{opacity:1;visibility:visible;transition:opacity .3s}
/* tracking barcode: always fits its card, whatever the tracking number length */
.tk-barcode{display:block;width:100%!important;max-width:230px!important;height:auto!important;margin:0 auto}
.t3-stub>*,.t4-wb__stub>*,.t2-box--code>*{max-width:100%;min-width:0}

.nav-close{display:none;position:absolute;top:16px;right:16px;width:44px;height:44px;border-radius:50%;border:0;background:rgba(128,128,128,.18);color:inherit;font-size:30px;line-height:1;z-index:2;align-items:center;justify-content:center}
@media (max-width:991px){.nav-close{display:flex}.t2-nav .nav-close,.t3-nav .nav-close{color:#101828}.t4-nav .nav-close{color:#fff}}
