/* StarBorder, de React Bits (David Haz), adaptado para HTML estático.
   Origem: https://github.com/DavidHDev/react-bits
   Licença integral: ../doc/react-bits-license.txt */
.rd-contact-float>.star-border-container {
  --rd-star-color:#5ce6ff;
  --rd-star-speed:5s;
  --rd-star-thickness:3px;
  display:inline-flex;
  align-items:stretch;
  position:relative;
  isolation:isolate;
  min-height:68px;
  padding:var(--rd-star-thickness);
  border:0;
  border-radius:999px;
  overflow:hidden;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  box-shadow:0 2px 4px #17212b20, 0 10px 28px #17212b26;
}
.rd-contact-float .rd-star-border-track {
  position:absolute;
  inset:0;
  z-index:0;
  overflow:hidden;
  border-radius:inherit;
  background:linear-gradient(145deg, #ffffffb3, #9bbbc575 45%, #fff);
  pointer-events:none;
}
.rd-contact-float .star-border-container .border-gradient-bottom,
.rd-contact-float .star-border-container .border-gradient-top {
  position:absolute;
  width:300%;
  height:50%;
  opacity:.7;
  border-radius:50%;
  background:radial-gradient(circle, var(--rd-star-color), transparent 10%);
  z-index:0;
  pointer-events:none;
}
.rd-contact-float .star-border-container .border-gradient-bottom {
  bottom:-12px;
  right:-250%;
  transform:translate(-50%, 0);
}
.rd-contact-float .star-border-container .border-gradient-top {
  top:-12px;
  left:-250%;
  transform:translate(50%, 0);
}
.rd-contact-float .star-border-container .inner-content {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  flex:1;
  gap:12px;
  min-width:0;
  min-height:calc(68px - var(--rd-star-thickness) * 2);
  padding:14px 22px;
  border:1px solid #ffffffb3;
  border-radius:inherit;
  background:linear-gradient(155deg, #fff9, #ffffff24 48%, #ffffff52), #e7edf1;
  color:var(--rd-ink);
  box-shadow:inset 0 1px 1px #fff, inset 0 -2px 3px #64727f30;
  font:600 1rem/1.35 var(--rd-font);
  text-align:center;
  z-index:1;
  transition:background-color 220ms ease;
}
@supports ((mask-composite:exclude) or (-webkit-mask-composite:xor)) {
  .rd-contact-float .rd-star-border-track {
    padding:var(--rd-star-thickness);
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite:xor;
    mask-composite:exclude;
  }
  @supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))) {
    .rd-contact-float .star-border-container .inner-content {
      background-color:rgba(231, 237, 241, .84);
      -webkit-backdrop-filter:blur(16px) saturate(140%);
      backdrop-filter:blur(16px) saturate(140%);
    }
  }
}
@media (prefers-reduced-motion:no-preference) {
  .rd-contact-float .star-border-container .border-gradient-bottom {
    animation:rd-star-movement-bottom var(--rd-star-speed) linear infinite alternate;
  }
  .rd-contact-float .star-border-container .border-gradient-top {
    animation:rd-star-movement-top var(--rd-star-speed) linear infinite alternate;
  }
}
@keyframes rd-star-movement-bottom {
  0% { transform:translate(0%, 0%); opacity:1; }
  100% { transform:translate(-100%, 0%); opacity:0; }
}
@keyframes rd-star-movement-top {
  0% { transform:translate(0%, 0%); opacity:1; }
  100% { transform:translate(100%, 0%); opacity:0; }
}
@media (hover:hover) and (pointer:fine) {
  .rd-contact-float>.star-border-container:hover { background:transparent; box-shadow:0 3px 6px #17212b20, 0 14px 32px #17212b30; }
  .rd-contact-float .star-border-container:hover .inner-content { background-color:#f4f7fa; }
}
@media (max-width:760px) {
  .rd-contact-float>.star-border-container { width:68px; height:68px; padding:var(--rd-star-thickness); }
  .rd-contact-float .star-border-container .inner-content { padding:0; }
}
@media (prefers-reduced-transparency:reduce), (prefers-contrast:more) {
  .rd-contact-float .rd-star-border-track { display:none; }
  .rd-contact-float .star-border-container .inner-content { background:#f4f7fa; border-color:#52606c; -webkit-backdrop-filter:none; backdrop-filter:none; }
}
@media (forced-colors:active) {
  .rd-contact-float>.star-border-container { box-shadow:none; }
  .rd-contact-float .rd-star-border-track { display:none; }
  .rd-contact-float .star-border-container .inner-content { color:ButtonText; background:ButtonFace; border-color:ButtonText; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
  .rd-contact-float svg { color:ButtonText; }
  .rd-contact-float>.star-border-container:focus-visible { outline-color:Highlight; }
}
