.fab-hidden {
    display: none;
}
.mdc-touch-target-wrapper {
    position: fixed;
    bottom: 16px;
    right: 16px;
    z-index: var(--fab-z-index, 1050);

    display: flex;
    flex-direction: column;
    justify-content: end;
    align-items: end;
    gap:.5rem;
}
.mdc-fab:not(.mdc-fab--extended) {
    border-radius: 50%;
}
.mdc-fab {
    position: relative;
    display: inline-flex;
    position: relative;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 56px;
    height: 56px;
    padding: 0;
    border: none;
    fill: currentColor;
    text-decoration: none;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    overflow: visible;
    transition: box-shadow 280ms cubic-bezier(0.4, 0, 0.2, 1), opacity 15ms linear 30ms, transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1), background-color 270ms 0ms cubic-bezier(0, 0, 0.2, 1);
}
.mdc-fab::-moz-focus-inner {
    padding: 0;
    border: 0
}

.mdc-fab:hover {
    box-shadow: 0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12)
}
.mdc-fab:active,.mdc-fab:focus:active {
box-shadow: 0px 7px 8px -4px rgba(0, 0, 0, 0.2), 0px 12px 17px 2px rgba(0, 0, 0, 0.14), 0px 5px 22px 4px rgba(0, 0, 0, 0.12)
}

.mdc-fab:active,.mdc-fab:focus {
outline: none
}

.mdc-fab:hover {
cursor: pointer
}

.mdc-fab>svg {
width: 100%
}

.mdc-fab--mini {
width: 40px;
height: 40px
}

.mdc-fab--extended {
-moz-osx-font-smoothing: grayscale;
-webkit-font-smoothing: antialiased;
font-family: Roboto, sans-serif;
font-family: var(--fab-font-family, Roboto, sans-serif);
font-size: 0.875rem;
font-size: var(--fab-font-size, 0.875rem);
line-height: 2.25rem;
line-height: var(--fab-line-height, 2.25rem);
font-weight: 500;
font-weight: var(--fab-font-weight, 500);
letter-spacing: 0.0892857143em;
letter-spacing: var(--fab-letter-spacing, 0.0892857143em);
text-decoration: none;
-webkit-text-decoration: var(--fab-text-decoration, none);
text-decoration: var(--fab-text-decoration, none);
text-transform: uppercase;
text-transform: var(--fab-text-transform, uppercase);
border-radius: 24px;
padding-left: 20px;
padding-right: 20px;
width: auto;
max-width: 100%;
height: 48px;
line-height: normal
}


.mdc-fab--extended .mdc-fab__icon {
margin-left: calc(12px - 20px);
margin-right: 12px;
}

[dir=rtl] .mdc-fab--extended .mdc-fab__icon,
.mdc-fab--extended .mdc-fab__icon[dir=rtl] {
margin-left: 12px;
margin-right: calc(12px - 20px)
}

.mdc-fab--extended .mdc-fab__label+.mdc-fab__icon {
margin-left: 12px;
margin-right: calc(12px - 20px)
}

[dir=rtl] .mdc-fab--extended .mdc-fab__label+.mdc-fab__icon,
.mdc-fab--extended .mdc-fab__label+.mdc-fab__icon[dir=rtl] {
margin-left: calc(12px - 20px);
margin-right: 12px
}

.mdc-fab--touch {
margin-top: 4px;
margin-bottom: 4px;
margin-right: 4px;
margin-left: 4px
}

.mdc-fab--touch .mdc-fab__touch {
position: absolute;
top: 50%;
height: 48px;
left: 50%;
width: 48px;
transform: translate(-50%, -50%)
}

.mdc-fab::before {
position: absolute;
box-sizing: border-box;
width: 100%;
height: 100%;
top: 0;
left: 0;
border-radius: inherit;
content: "";
pointer-events: none
}


.mdc-fab__label {
    justify-content: flex-start;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow-x: hidden;
    overflow-y: visible
}

.mdc-fab__icon {
    transition: transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);
    fill: currentColor;
    will-change: transform;
    transform: scale(2) rotate(0);
}

.mdc-fab .mdc-fab__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.mdc-fab--exited {
    transform: scale(0);
    opacity: 0;
    transition: opacity 15ms linear 150ms,transform 180ms 0ms cubic-bezier(0.4, 0, 1, 1)
}

.mdc-fab--exited .mdc-fab__icon {
    transform: scale(0);
    transition: transform 135ms 0ms cubic-bezier(0.4, 0, 1, 1)
}

.mdc-fab {
    background-color: #018786;
    background-color: var(--fab-bg, #018786);
    box-shadow: 0px 3px 5px -1px rgba(0, 0, 0, 0.2), 0px 6px 10px 0px rgba(0, 0, 0, 0.14), 0px 1px 18px 0px rgba(0, 0, 0, 0.12)
}
.mdc-fab:hover {
    background-color: var(--fab-bg-hover, #018786);
}

.mdc-fab .mdc-fab__icon {
    width: 24px;
    height: 24px;
    font-size: 24px
}

.mdc-fab,.mdc-fab:not(:disabled) .mdc-fab__icon,
.mdc-fab:not(:disabled) .mdc-fab__label,
.mdc-fab:disabled .mdc-fab__icon,
.mdc-fab:disabled .mdc-fab__label {
    color: #fff;
    color: var(--fab-color, #fff);
}

.mdc-fab {
    --mdc-ripple-fg-size: 0;
    --mdc-ripple-left: 0;
    --mdc-ripple-top: 0;
    --mdc-ripple-fg-scale: 1;
    --mdc-ripple-fg-translate-end: 0;
    --mdc-ripple-fg-translate-start: 0;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    will-change: transform,opacity
}

.mdc-fab {
    z-index: 0
}
.mdc-fab__icon svg {
    display: block;
    width: 24px;
    height: 24px;
}


/*  MENU */
.fab__icon_close {
    transform: scale(0) rotate(0);
    position: absolute;
    transition: transform 180ms 90ms cubic-bezier(0, 0, 0.2, 1);
    will-change: transform;

    svg {
        display: block;
        width: 24px;
        height: 24px;
    }
}

.fab-menu-wrapper {
    display: flex;
    flex-direction: column-reverse;
    justify-content: end;
    align-items: end;
    gap:.25rem;

    .fab_menu_item {
        display: flex;
        flex-direction: row;
        justify-content: end;
        gap: .375rem;
        padding: 1rem;
        border-radius: 50rem;
        text-decoration: none;
        color: var(--fab-menu-color);
        background-color: var(--fab-menu-bg);
        width: fit-content;
        transform: translateY(.75rem);
        filter: opacity(0);
        transition: background-color 270ms 0ms cubic-bezier(0, 0, 0.2, 1),
                    transform 270ms 0ms cubic-bezier(0, 0, 0.2, 1),
                    filter 270ms 0ms cubic-bezier(0, 0, 0.2, 1);

        .fab-menu-icon {
            svg {
                display: block;
                width: 24px;
                height: 24px;
            }
        }

        .fab-menu-label {
            font-weight: var(--fab-font-weight, 500);
            font-size: .9375rem;
            text-decoration: none;
        }

    }

    .fab_menu_item:hover {
        color: var(--fab-menu-color-hover);
        background-color: var(--fab-menu-bg-hover);
    }
    .fab_menu_item:focus {
        color: var(--fab-menu-color-focus);
        background-color: var(--fab-menu-bg-focus);
    }
    .fab_menu_item {
        transition-delay: 50ms;
    }
    .fab_menu_item + .fab_menu_item {
        transition-delay: 0ms;
    }
}


.fab-open {

    .mdc-fab__icon {
        transform: scale(0) rotate(90deg);
    }

    .fab__icon_close {
        transform: scale(1) rotate(90deg);
    }

    .fab-menu-wrapper .fab_menu_item {
        transform: translateY(0);
        filter: opacity(1);
    }

    .fab_menu_item {
        transition-delay: 0ms;
    }

    .fab_menu_item + .fab_menu_item {
        transition-delay: 50ms;
    }
}
