:root{--border-animation-color:#3498db;--border-animation-color-rgb:52,152,219;--border-animation-width:2px;--border-animation-radius:0;--border-animation-duration:1.2s;--border-animation-timing-function:ease;--border-animation-delay:0s;--border-animation-direction:normal;--border-glow-intensity:10px}.cm-animated-borders{position:relative;overflow:visible;box-sizing:border-box}.cm-animated-borders__content-wrapper{position:relative;z-index:1;width:100%;height:100%}.cm-hover-transition.is-leaving::before,.cm-hover-transition.is-leaving::after{transition:opacity var(--border-animation-duration) var(--border-animation-timing-function),transform var(--border-animation-duration) var(--border-animation-timing-function),width var(--border-animation-duration) var(--border-animation-timing-function),height var(--border-animation-duration) var(--border-animation-timing-function),box-shadow var(--border-animation-duration) var(--border-animation-timing-function)}.animated-border--hover-slide{position:relative;overflow:hidden}.animated-border--hover-slide::before,.animated-border--hover-slide::after{content:'';position:absolute;width:100%;height:100%;inset:0;pointer-events:none;z-index:0;box-sizing:border-box;border-radius:var(--border-animation-radius);opacity:0;transition:opacity .3s ease,transform var(--border-animation-duration) var(--border-animation-timing-function)}.animated-border--hover-slide::before{border-left:var(--border-animation-width) solid var(--border-animation-color);border-right:var(--border-animation-width) solid var(--border-animation-color);transform:scaleY(0);transform-origin:center}.animated-border--hover-slide::after{border-top:var(--border-animation-width) solid var(--border-animation-color);border-bottom:var(--border-animation-width) solid var(--border-animation-color);transform:scaleX(0);transform-origin:center;transition-delay:calc(var(--border-animation-delay) + .3s)}.animated-border--hover-slide:hover::before{transform:scaleY(1);opacity:1}.animated-border--hover-slide:hover::after{transform:scaleX(1);opacity:1}.animated-border--hover-glow{position:relative;border:var(--border-animation-width) solid var(--border-animation-color);border-radius:var(--border-animation-radius)}.animated-border--hover-glow::before{content:'';position:absolute;inset:calc(-1 * var(--border-animation-width));border:var(--border-animation-width) solid var(--border-animation-color);border-radius:var(--border-animation-radius);opacity:0;box-shadow:0 0 0 rgba(var(--border-animation-color-rgb),0);transition:opacity var(--border-animation-duration) var(--border-animation-timing-function),box-shadow var(--border-animation-duration) var(--border-animation-timing-function);transition-delay:var(--border-animation-delay)}.animated-border--hover-glow:hover::before{opacity:1;box-shadow:0 0 var(--border-glow-intensity) var(--border-animation-color)}.animated-border--hover-draw{position:relative}.animated-border--hover-draw::before,.animated-border--hover-draw::after{content:'';position:absolute;width:0;height:0;opacity:0;box-sizing:border-box;border-radius:var(--border-animation-radius);transition:width var(--border-animation-duration) var(--border-animation-timing-function),height var(--border-animation-duration) var(--border-animation-timing-function),opacity var(--border-animation-duration) var(--border-animation-timing-function)}.animated-border--hover-draw::before{top:0;left:0;border-top:var(--border-animation-width) solid var(--border-animation-color);border-left:var(--border-animation-width) solid var(--border-animation-color)}.animated-border--hover-draw::after{bottom:0;right:0;border-bottom:var(--border-animation-width) solid var(--border-animation-color);border-right:var(--border-animation-width) solid var(--border-animation-color);transition-delay:calc(var(--border-animation-delay) + .2s)}.animated-border--hover-draw:hover::before,.animated-border--hover-draw:hover::after{width:100%;height:100%;opacity:1}.animated-border--viewport-reveal{position:relative;overflow:hidden}.animated-border--viewport-reveal::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;border:var(--border-animation-width) solid var(--border-animation-color);border-radius:var(--border-animation-radius);transform:scale(1.1);opacity:0;transition:transform var(--border-animation-duration) var(--border-animation-timing-function),opacity var(--border-animation-duration) var(--border-animation-timing-function);transition-delay:var(--border-animation-delay)}.animated-border--viewport-reveal.is-visible::before{transform:scale(1);opacity:1}.animated-border--viewport-draw{position:relative}.animated-border--viewport-draw::before,.animated-border--viewport-draw::after{content:'';position:absolute;width:0;height:0;opacity:0;box-sizing:border-box;border-radius:var(--border-animation-radius);transition:width var(--border-animation-duration) var(--border-animation-timing-function),height var(--border-animation-duration) var(--border-animation-timing-function),opacity var(--border-animation-duration) var(--border-animation-timing-function)}.animated-border--viewport-draw::before{top:0;left:0;border-top:var(--border-animation-width) solid var(--border-animation-color);border-left:var(--border-animation-width) solid var(--border-animation-color)}.animated-border--viewport-draw::after{bottom:0;right:0;border-bottom:var(--border-animation-width) solid var(--border-animation-color);border-right:var(--border-animation-width) solid var(--border-animation-color)}.animated-border--viewport-draw.is-visible::before,.animated-border--viewport-draw.is-visible::after{width:100%;height:100%;opacity:1}.animated-border--viewport-draw.is-visible::after{transition-delay:calc(var(--border-animation-delay) + .2s)}.animated-border--viewport-fade{position:relative;border:var(--border-animation-width) solid transparent;border-radius:var(--border-animation-radius);transition:border-color var(--border-animation-duration) var(--border-animation-timing-function);transition-delay:var(--border-animation-delay)}.animated-border--viewport-fade.is-visible{border-color:var(--border-animation-color)}.animated-border--load-pulse{position:relative;overflow:hidden;border:var(--border-animation-width) solid var(--border-animation-color);border-radius:var(--border-animation-radius)}@keyframes cm-border-pulse{0%{box-shadow:0 0 0 0 rgba(var(--border-animation-color-rgb),.7)}70%{box-shadow:0 0 0 var(--border-glow-intensity) rgba(var(--border-animation-color-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--border-animation-color-rgb),0)}}.animated-border--load-pulse.is-visible{animation:cm-border-pulse 2s var(--border-animation-timing-function) infinite;animation-delay:var(--border-animation-delay);animation-direction:var(--border-animation-direction)}.animated-border--load-rotate{position:relative;overflow:visible}.animated-border--load-rotate::before,.animated-border--load-rotate::after{content:'';position:absolute;inset:calc(-2 * var(--border-animation-width));border:var(--border-animation-width) solid transparent;border-radius:var(--border-animation-radius);opacity:0;transition:opacity .3s ease}.animated-border--load-rotate::before{border-top-color:var(--border-animation-color);border-right-color:var(--border-animation-color)}.animated-border--load-rotate::after{border-bottom-color:var(--border-animation-color);border-left-color:var(--border-animation-color)}@keyframes cm-rotate-border-1{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes cm-rotate-border-2{0%{transform:rotate(0deg)}100%{transform:rotate(-360deg)}}.animated-border--load-rotate.is-visible::before{opacity:1;animation:cm-rotate-border-1 var(--border-animation-duration) var(--border-animation-timing-function) infinite;animation-delay:var(--border-animation-delay);animation-direction:var(--border-animation-direction)}.animated-border--load-rotate.is-visible::after{opacity:1;animation:cm-rotate-border-2 var(--border-animation-duration) var(--border-animation-timing-function) infinite;animation-delay:calc(var(--border-animation-delay) + .5s);animation-direction:var(--border-animation-direction)}.animated-border--load-draw{position:relative}.animated-border--load-draw::before,.animated-border--load-draw::after{content:'';position:absolute;width:0;height:0;opacity:0;box-sizing:border-box;border-radius:var(--border-animation-radius)}.animated-border--load-draw::before{top:0;left:0;border-top:var(--border-animation-width) solid var(--border-animation-color);border-left:var(--border-animation-width) solid var(--border-animation-color)}.animated-border--load-draw::after{bottom:0;right:0;border-bottom:var(--border-animation-width) solid var(--border-animation-color);border-right:var(--border-animation-width) solid var(--border-animation-color)}@keyframes cm-draw-borders{0%{width:0;height:0;opacity:1}50%{width:100%;height:0;opacity:1}100%{width:100%;height:100%;opacity:1}}.animated-border--load-draw.is-visible::before,.animated-border--load-draw.is-visible::after{animation:cm-draw-borders var(--border-animation-duration) var(--border-animation-timing-function) forwards;animation-direction:var(--border-animation-direction)}.animated-border--load-draw.is-visible::after{animation-delay:calc(var(--border-animation-delay) + var(--border-animation-duration) / 2)}@media screen and (max-width:768px){.cm-animated-borders{--border-animation-duration:1s;--border-glow-intensity:5px}}.cm-animated-borders.cm-counting-animations{counter-reset:animation-counter 0}@media (prefers-reduced-motion:reduce){.cm-animated-borders{--border-animation-duration:.1s!important;--border-animation-delay:0s!important}.animated-border--load-pulse.is-visible,.animated-border--load-rotate.is-visible::before,.animated-border--load-rotate.is-visible::after{animation-duration:0s!important;animation-iteration-count:1!important}}