.ac-exact-skeleton{position:absolute;display:block;overflow:hidden;pointer-events:none;background:#e2eaf1!important}
.ac-exact-skeleton.surface{background:#f4f7fa!important;border:1px solid #dce6ef;box-sizing:border-box}
.ac-exact-skeleton.media{background:#e8f0f5!important;border:1px solid #dce6ef;box-sizing:border-box}
.ac-exact-skeleton:not(.surface)::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 12%,#ffffffa6 50%,transparent 88%);transform:translateX(-110%);animation:ac-exact-shimmer 2.3s ease-in-out infinite}
@keyframes ac-exact-shimmer{0%{transform:translateX(-110%);opacity:0}15%,75%{opacity:1}100%{transform:translateX(110%);opacity:0}}
html.ac-access-dark .ac-exact-skeleton{background:#294057!important}html.ac-access-dark .ac-exact-skeleton.surface{background:#152b3f!important;border-color:#34495f}html.ac-access-dark .ac-exact-skeleton.media{background:#233c52!important;border-color:#34495f}
html.ac-access-dark .ac-exact-skeleton::after{background:linear-gradient(100deg,transparent 12%,#94b6d02e 50%,transparent 88%)}
@media(prefers-reduced-motion:reduce){.ac-exact-skeleton::after{animation:none!important;content:none!important}}
html.ac-access-motion .ac-exact-skeleton::after{animation:none!important;content:none!important}
.ac-exact-skeleton.media{display:flex;align-items:center;justify-content:center}
.ac-exact-skeleton.media .ac-exact-skeleton__logo{position:relative;display:block;width:clamp(56px,9vw,140px)!important;max-width:60%!important;height:auto!important;max-height:55%!important;object-fit:contain!important;opacity:.5;filter:grayscale(.25);pointer-events:none;margin:0!important;padding:0!important;border:0!important;background:transparent!important;z-index:1}
html.ac-access-dark .ac-exact-skeleton.media .ac-exact-skeleton__logo{opacity:.75}
.ac-exact-skeleton.icon{display:flex;align-items:center;justify-content:center;background:#e2ecf3!important}
html.ac-access-dark .ac-exact-skeleton.icon{background:#243c53!important}
/* The site favicon keeps its own shape inside icon placeholders at any size. */
.ac-exact-skeleton.icon .ac-exact-skeleton__favicon{position:relative;display:block;width:auto!important;height:auto!important;max-width:72%!important;max-height:72%!important;object-fit:contain!important;opacity:.52;filter:grayscale(.2);pointer-events:none;margin:0!important;padding:0!important;border:0!important;background:transparent!important;z-index:1}
html.ac-access-dark .ac-exact-skeleton.icon .ac-exact-skeleton__favicon{opacity:.72}
/* Put the moving highlight above the brand mark as well as its placeholder. */
.ac-exact-skeleton.media::after,.ac-exact-skeleton.icon::after{z-index:2;pointer-events:none;mix-blend-mode:screen;background:linear-gradient(105deg,transparent 20%,rgba(255,255,255,.12) 35%,rgba(255,255,255,.78) 50%,rgba(255,255,255,.12) 65%,transparent 80%)}
html.ac-access-dark .ac-exact-skeleton.media::after,html.ac-access-dark .ac-exact-skeleton.icon::after{background:linear-gradient(105deg,transparent 20%,rgba(192,226,247,.05) 35%,rgba(216,240,255,.38) 50%,rgba(192,226,247,.05) 65%,transparent 80%)}
/* Start the highlight partway through its sweep so fast loads still show it. */
.ac-exact-skeleton.media,.ac-exact-skeleton.icon{isolation:isolate}
.ac-exact-skeleton:not(.surface)::after{z-index:3;opacity:1;mix-blend-mode:normal;animation:ac-brand-shimmer 1.35s linear -.48s infinite;background:linear-gradient(105deg,transparent 28%,rgba(255,255,255,.22) 40%,rgba(255,255,255,.92) 50%,rgba(255,255,255,.22) 60%,transparent 72%)!important}
html.ac-access-dark .ac-exact-skeleton:not(.surface)::after{background:linear-gradient(105deg,transparent 25%,rgba(178,220,249,.15) 40%,rgba(224,244,255,.68) 50%,rgba(178,220,249,.15) 60%,transparent 75%)!important}
@keyframes ac-brand-shimmer{from{transform:translate3d(-100%,0,0)}to{transform:translate3d(100%,0,0)}}
@media(prefers-reduced-motion:reduce){.ac-exact-skeleton:not(.surface)::after{animation:none!important;content:none!important}}
html.ac-access-motion .ac-exact-skeleton:not(.surface)::after{animation:none!important;content:none!important}
