.v-fab {
  align-items: center;
  display: inline-flex;
  flex: 1 1 auto;
  pointer-events: none;
  position: relative;
  transition-duration: 0.2s;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  vertical-align: middle;
}
.v-fab .v-btn {
  pointer-events: auto;
}
.v-fab .v-btn--variant-elevated {
  box-shadow: 0px 3px 3px -2px var(--v-shadow-key-umbra-opacity, rgba(0, 0, 0, 0.2)), 0px 3px 4px 0px var(--v-shadow-key-penumbra-opacity, rgba(0, 0, 0, 0.14)), 0px 1px 8px 0px var(--v-shadow-key-ambient-opacity, rgba(0, 0, 0, 0.12));
}
.v-fab--app, .v-fab--absolute {
  display: flex;
}
.v-fab--absolute {
  position: absolute;
  inset: 0;
}
.v-fab--start, .v-fab--left {
  justify-content: flex-start;
}
.v-fab--center {
  align-items: center;
  justify-content: center;
}
.v-fab--end, .v-fab--right {
  justify-content: flex-end;
}
.v-fab--bottom {
  align-items: flex-end;
}
.v-fab--top {
  align-items: flex-start;
}
.v-fab--extended .v-btn {
  border-radius: 9999px !important;
}

.v-fab__container {
  align-self: center;
  display: inline-flex;
  vertical-align: middle;
}
.v-fab--app .v-fab__container {
  margin: 12px;
  position: fixed;
}
.v-fab--absolute .v-fab__container {
  position: absolute;
  z-index: 4;
}
.v-fab--offset.v-fab--top .v-fab__container {
  transform: translateY(-50%);
}
.v-fab--offset.v-fab--bottom .v-fab__container {
  transform: translateY(50%);
}
.v-fab--top .v-fab__container {
  top: 0;
}
.v-fab--bottom .v-fab__container {
  bottom: 0;
}
.v-fab--left .v-fab__container, .v-fab--start .v-fab__container {
  left: 0;
}
.v-fab--right .v-fab__container, .v-fab--end .v-fab__container {
  right: 0;
}