.circular-gallery{width:100%;height:100%;overflow:hidden;cursor:grab}.circular-gallery:active{cursor:grabbing}.card-spotlight{position:relative;border-radius:1rem;overflow:hidden;--mouse-x:50%;--mouse-y:50%;--spotlight-color:rgba(255,255,255,0.05);box-shadow:0 4px 8px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.2);transition:transform .2s ease-in-out}.card-spotlight:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at var(--mouse-x) var(--mouse-y),var(--spotlight-color),transparent 80%);opacity:0;transition:opacity .5s ease;pointer-events:none}.card-spotlight:focus-within:before,.card-spotlight:hover:before{opacity:.6}.timeline-container{display:flex;flex-direction:column;position:relative;margin:40px auto;width:90%;max-width:1000px}.timeline-container:after{content:"";position:absolute;left:50%;transform:translateX(-50%);width:4px;height:100%;background-color:#4a5568;transition:left .3s ease;z-index:1}.timeline-item{display:flex;justify-content:flex-end;padding-right:30px;position:relative;margin:10px 0;width:50%;z-index:2}.timeline-item:nth-child(odd){align-self:flex-end;justify-content:flex-start;padding-left:30px;padding-right:0}.timeline-item-content{background-color:#2d3748;border-radius:8px;padding:1.5rem;position:relative;width:100%;text-align:left;border:1px solid #4a5568;box-shadow:0 4px 8px rgba(0,0,0,.2),0 8px 16px rgba(0,0,0,.2);transition:transform .2s ease-in-out}.timeline-item-content:hover{transform:translateY(-5px)}.timeline-item-content:after{content:" ";background-color:#2d3748;position:absolute;right:-7.5px;top:25px;transform:rotate(45deg);width:15px;height:15px;border-right:1px solid #4a5568;border-top:1px solid #4a5568}.timeline-item:nth-child(odd) .timeline-item-content{text-align:left;align-items:flex-start}.timeline-item:nth-child(odd) .timeline-item-content:after{right:auto;left:-7.5px;border:1px solid #4a5568;border-top:none;border-right:none}.timeline-circle{background-color:#fff;border:3px solid #38b2ac;border-radius:50%;position:absolute;top:20px;right:-40px;width:20px;height:20px;z-index:10}.timeline-item:nth-child(odd) .timeline-circle{right:auto;left:-40px}.timeline-tag{background-color:#38b2ac;color:white;font-size:12px;font-weight:700;padding:5px 10px;border-radius:15px;margin-bottom:8px;align-self:flex-start}.timeline-company{color:#a0aec0;font-style:italic;margin-bottom:8px}.timeline-description{color:#e2e8f0;font-size:.9rem}@media screen and (max-width:768px){.timeline-container:after{left:20px}.timeline-item,.timeline-item:nth-child(odd){width:100%;justify-content:flex-start;padding-left:50px;padding-right:15px}.timeline-item:nth-child(odd) .timeline-item-content{align-items:flex-start;text-align:left}.timeline-item-content:after,.timeline-item:nth-child(odd) .timeline-item-content:after{right:auto;left:-7.5px;border:1px solid #4a5568;border-top:none;border-right:none}.timeline-circle,.timeline-item:nth-child(odd) .timeline-circle{left:10px}}.star-border-container{display:inline-block;position:relative;border-radius:10px;overflow:hidden}.border-gradient-bottom{bottom:-16px;right:-250%;animation:star-movement-bottom linear infinite alternate}.border-gradient-bottom,.border-gradient-top{position:absolute;width:300%;height:50%;opacity:.7;border-radius:50%;z-index:0}.border-gradient-top{top:-16px;left:-250%;animation:star-movement-top linear infinite alternate}.inner-content{position:relative;border:1px solid white;background:transparent;color:white;font-size:16px;text-align:center;padding:12px 32px;border-radius:10px;z-index:1;transition:background .3s ease-in-out,color .3s ease-in-out,.3s ease-in-out}.inner-content:hover{background:white;color:black}@keyframes star-movement-bottom{0%{transform:translate(0);opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes star-movement-top{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.shiny-text{color:#b5b5b5a4;background:linear-gradient(120deg,rgba(34,211,238,0) 40%,rgba(34,211,238,.8) 50%,rgba(34,211,238,0) 60%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;display:inline-block;animation:shine 5s linear infinite}@keyframes shine{0%{background-position:100%}to{background-position:-100%}}.shiny-text.disabled{animation:none}