@keyframes fade-in{
  from{
    opacity:0;
  }
  to{
    opacity:1;
  }
}

@keyframes slide-left{
  from{
    transform:translateX(120%);
  }
  to{
    transform:translateX(0);
  }
}

@keyframes slide-right{
  from{
    transform:translateX(0);
  }
  to{
    transform:translateX(120%);
  }
}

@keyframes slide-down{
  from{
    transform:translateY(0);
  }
  to{
    transform:translateY(120%);
  }
}

@keyframes slide-up{
  from{
    transform:translateY(120%);
  }
  to{
    transform:translateY(0);
  }
}

@keyframes show-up{
  from{
    bottom:0;
  }
  to{
    bottom:15px;
  }
}

@keyframes fade-out{
  from{
    opacity:1;
  }
  to{
    opacity:0;
  }
}

@keyframes vanish{
  from{
    bottom:15px;
  }
  to{
    bottom:0;
  }
}

@keyframes linear-indeterminate{
  0%{
    transform:translateX(-100%);
  }
  60%{
    transform:translateX(105%);
  }
  100%{
    transform:translateX(105%);
  }
}

@keyframes circle-indeterminate{
  0%{
    stroke-dashoffset:400;
    transform:rotate(-0.25turn);
  }
  50%{
    transform:rotate(0.75turn);
    stroke-dashoffset:0;
  }
  100%{
    stroke-dashoffset:400;
    transform:rotate(2.75turn);
  }
}

@keyframes circle-indeterminate-small{
  0%{
    stroke-dashoffset:200;
    transform:rotate(-0.25turn);
  }
  50%{
    transform:rotate(0.75turn);
    stroke-dashoffset:0;
  }
  100%{
    stroke-dashoffset:200;
    transform:rotate(2.75turn);
  }
}

@keyframes shimmer{
  from{
    transform:translateX(-100%);
  }
  to{
    transform:translateX(100%);
  }
}

.vtmn-snackbar{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:space-between;
  padding-block:0.5rem;
  padding-inline:1rem;
  min-block-size:3rem;
  inline-size:-moz-fit-content;
  inline-size:fit-content;
  min-inline-size:-moz-fit-content;
  min-inline-size:fit-content;
  font-family:'Roboto', 'system-ui', '-apple-system', sans-serif;
  font-size:1rem;
  line-height:1.5;
  color:hsl(0, 0%, 100%);
  background-color:hsl(200, 100%, 4.7%);
  box-shadow:0 0.75rem 0.75rem 0 hsla(200, 100%, 24.5%, 0.1);
  border-radius:4px;
  z-index:300;
  box-sizing:border-box;
  outline:0;
}

.vtmn-snackbar.show{
  position:fixed;
  inset-inline-end:50%;
  inset-block-end:0;
  transform:translate(50%, -50%);
  animation:fade-in 0.5s ease-in-out forwards, show-up 0.5s ease-in-out forwards, fade-out 0.5s 4.5s ease-in-out forwards, vanish 0.5s 4.5s ease-in-out forwards;
}

.vtmn-snackbar .vtmn-btn{
  -webkit-margin-start:0.75rem;
          margin-inline-start:0.75rem;
  -webkit-margin-before:-0.375rem;
          margin-block-start:-0.375rem;
  -webkit-margin-after:-0.375rem;
          margin-block-end:-0.375rem;
}

.vtmn-snackbar .vtmn-btn span[class^='vtmx-']{
  font-size:1rem;
}

.vtmn-snackbar.animate-delay{
  animation-delay:0s, 0s, 4.5s, 4.5s;
}

@media screen and (max-width: 599px){
  .vtmn-snackbar{
    inline-size:90%;
    margin-block:0;
    margin-inline:auto;
  }
  .vtmn-snackbar.show{
    transform:translate(50%, 0%);
  }
}
