﻿.sffm-floatmenu-wrapper .sffm-floatmenu {
    position: fixed;
    margin: 0;
    padding: 0;
    z-index: var(--sffm-menu-z-index, 999);
}

body.admin-bar [class*="sffm-position-top-"] .sffm-floatmenu {
    margin-top: 32px;
}

.sffm-position-top-left .sffm-floatmenu {
    top: var(--sffm-menu-offset-top, 0);
    left: var(--sffm-menu-offset-left, 0);
}

.sffm-position-top-middle .sffm-floatmenu {
    top: var(--sffm-menu-offset-top, 0);
    left: 50%;
    transform: translateX(-50%);
}

.sffm-position-top-right .sffm-floatmenu {
    top: var(--sffm-menu-offset-top, 0);
    right: var(--sffm-menu-offset-right, 0);
}

.sffm-position-bottom-left .sffm-floatmenu {
    bottom: var(--sffm-menu-offset-bottom, 0);
    left: var(--sffm-menu-offset-left, 0);
}

.sffm-position-bottom-middle .sffm-floatmenu {
    bottom: var(--sffm-menu-offset-bottom, 0);
    left: 50%;
    transform: translateX(-50%);
}

.sffm-position-bottom-right .sffm-floatmenu {
    bottom: var(--sffm-menu-offset-bottom, 0);
    right: var(--sffm-menu-offset-right, 0);
}

.sffm-position-middle-left .sffm-floatmenu {
    top: 50%;
    left: var(--sffm-menu-offset-left, 0);
    transform: translateY(-50%);
}

.sffm-position-middle-right .sffm-floatmenu {
    top: 50%;
    right: var(--sffm-menu-offset-right, 0);
    transform: translateY(-50%);
}

.sffm-orientation-horizontal .sffm-menu {
    flex-direction: row;
}

.sffm-orientation-vertical .sffm-menu {
    flex-direction: column;
}

.sffm-orientation-horizontal.sffm-position-top-right .sffm-menu,
.sffm-orientation-horizontal.sffm-position-bottom-right .sffm-menu {
    flex-direction: row-reverse;
}

.sffm-orientation-vertical.sffm-position-bottom-left .sffm-menu,
.sffm-orientation-vertical.sffm-position-bottom-right .sffm-menu {
    flex-direction: column-reverse;
}

.sffm-floatmenu-wrapper ul.sffm-menu {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: center;
    justify-items: center;
    gap: var(--sffm-button-gap, 5px);
}

    .sffm-floatmenu-wrapper ul.sffm-menu li > a {
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--sffm-button-bg, #000);
        color: var(--sffm-button-color, #FFF);
        height: var(--sffm-buttton-size, 50px);
        width: var(--sffm-buttton-size, 50px);
        font-size: var(--sffm-buttton-font-size, 20px);
        text-decoration: none;
        transition: all 0.3s ease;
        border: none !important;
    }

        .sffm-floatmenu-wrapper ul.sffm-menu li > a > img {
            max-width: 100%;
            width: var(--sffm-buttton-font-size, 20px);
            height: auto;
        }

    .sffm-floatmenu-wrapper ul.sffm-menu li:hover > a {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        color: var(--sffm-button-color-hover, var(--sffm-button-color, #FFF));
    }

.sffm-shape-round ul.sffm-menu li > a,
.sffm-shape-round .sffm-floatmenu-trigger,
.sffm-shape-round .animate--ripple:before {
    clip-path: circle(50% at 50% 50%);
}

.sffm-shape-triangle ul.sffm-menu li > a,
.sffm-shape-triangle .sffm-floatmenu-trigger,
.sffm-shape-triangle .animate--ripple:before {
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

    .sffm-shape-triangle ul.sffm-menu li > a i,
    .sffm-shape-triangle .sffm-floatmenu-trigger i,
    .sffm-shape-triangle .sffm-floatmenu-trigger .sffm-toggle-button {
        transform: translateY(calc(var(--sffm-buttton-size, 50px)/8));
    }

.sffm-shape-rounded-square ul.sffm-menu li > a,
.sffm-shape-rounded-square .sffm-floatmenu-trigger,
.sffm-shape-rounded-square .animate--ripple:before {
    border-radius: 0.3em;
}

.sffm-shape-rhombus ul.sffm-menu li > a,
.sffm-shape-rhombus .sffm-floatmenu-trigger,
.sffm-shape-rhombus .animate--ripple:before {
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.sffm-shape-pentagon ul.sffm-menu li > a,
.sffm-shape-pentagon .sffm-floatmenu-trigger,
.sffm-shape-pentagon .animate--ripple:before {
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
}

    .sffm-shape-pentagon ul.sffm-menu li > a i,
    .sffm-shape-pentagon .sffm-floatmenu-trigger i,
    .sffm-shape-pentagon .sffm-floatmenu-trigger .sffm-toggle-button {
        transform: translateY(calc(var(--sffm-buttton-size, 50px)/20));
    }

.sffm-shape-hexagon ul.sffm-menu li > a,
.sffm-shape-hexagon .sffm-floatmenu-trigger,
.sffm-shape-hexagon .animate--ripple:before {
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.sffm-shape-star ul.sffm-menu li > a,
.sffm-shape-star .sffm-floatmenu-trigger,
.sffm-shape-star .animate--ripple:before {
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.sffm-shape-rabbet ul.sffm-menu li > a,
.sffm-shape-rabbet .sffm-floatmenu-trigger,
.sffm-shape-rabbet .animate--ripple:before {
    clip-path: polygon(0% 15%, 15% 15%, 15% 0%, 85% 0%, 85% 15%, 100% 15%, 100% 85%, 85% 85%, 85% 100%, 15% 100%, 15% 85%, 0% 85%);
}

.sffm-shape-oval ul.sffm-menu li > a {
    clip-path: ellipse(50% 35% at 50% 50%);
}

.sffm-shape-oval.sffm-orientation-vertical ul.sffm-menu li > a,
.sffm-shape-oval .sffm-floatmenu-trigger,
.sffm-shape-oval .animate--ripple:before {
    clip-path: ellipse(35% 50% at 50% 50%);
}

.sffm-shape-blob ul.sffm-menu li > a,
.sffm-shape-blob .sffm-floatmenu-trigger {
    animation: sffm-border-transform 9s linear infinite;
}

.sffm-shape-blob .animate--ripple:before {
    border-radius: 50%;
}

@keyframes sffm-border-transform {

    0%, 100% {
        border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
    }

    14% {
        border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%;
    }

    28% {
        border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%;
    }

    42% {
        border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%;
    }

    56% {
        border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%;
    }

    70% {
        border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%;
    }

    84% {
        border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%;
    }
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-1 {
    transition-delay: 0.05s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-2 {
    transition-delay: 0.1s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-3 {
    transition-delay: 0.15s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-4 {
    transition-delay: 0.2s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-5 {
    transition-delay: 0.25s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-6 {
    transition-delay: 0.3s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-7 {
    transition-delay: 0.35s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-8 {
    transition-delay: 0.4s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-9 {
    transition-delay: 0.45s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-10 {
    transition-delay: 0.5s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-11 {
    transition-delay: 0.55s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-12 {
    transition-delay: 0.6s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-13 {
    transition-delay: 0.65s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-14 {
    transition-delay: 0.7s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-15 {
    transition-delay: 0.75s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-show ul.sffm-menu li.sffm-menu-no-16 {
    transition-delay: 0.8s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(1) {
    transition-delay: 0.05s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(2) {
    transition-delay: 0.1s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(3) {
    transition-delay: 0.15s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(4) {
    transition-delay: 0.2s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(5) {
    transition-delay: 0.25s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(6) {
    transition-delay: 0.3s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(7) {
    transition-delay: 0.35s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(8) {
    transition-delay: 0.4s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(9) {
    transition-delay: 0.45s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(10) {
    transition-delay: 0.5s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(11) {
    transition-delay: 0.55s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(12) {
    transition-delay: 0.6s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(13) {
    transition-delay: 0.65s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(14) {
    transition-delay: 0.7s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(15) {
    transition-delay: 0.75s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] ul.sffm-menu li:nth-last-child(16) {
    transition-delay: 0.8s;
}

.sffm-floatmenu-wrapper ul.sffm-menu li {
    transform: translateX(calc(var(--sffm-translate-x, 0) * 1)) translateY(calc(var(--sffm-translate-y, 0) * 1)) scale(var(--sffm-scale, 1)) rotate(var(--sffm-rotate, 0));
    opacity: var(--sffm-opacity, 1);
    transition: all 0.3s ease;
    position: relative;
    filter: drop-shadow(var(--sffm-button-shadow-x, 0) var(--sffm-button-shadow-y, 0) var(--sffm-button-shadow-blur, 0) var(--sffm-button-shadow-color, transparent));
}

.sffm-floatmenu-wrapper .sffm-floatmenu-show ul.sffm-menu li {
    transform: translateX(0) translateY(0) scale(var(--sffm-scale-hover, 1)) rotate(var(--sffm-rotate-hover, 0));
    opacity: var(--sffm-opacity-hover, 1);
}

.sffm-floatmenu-wrapper.sffm-step-fade,
.sffm-floatmenu-wrapper.sffm-no-step-fade,
.sffm-floatmenu-wrapper.sffm-step-fade-scale,
.sffm-floatmenu-wrapper.sffm-no-step-fade-scale,
.sffm-floatmenu-wrapper.sffm-step-fade-rotate,
.sffm-floatmenu-wrapper.sffm-no-step-fade-rotate,
.sffm-floatmenu-wrapper.sffm-step-fade-rotate-scale,
.sffm-floatmenu-wrapper.sffm-no-step-fade-rotate-scale {
    --sffm-opacity: 0;
    --sffm-opacity-hover: 1;
}

.sffm-floatmenu-wrapper.sffm-step-scale,
.sffm-floatmenu-wrapper.sffm-no-step-scale,
.sffm-floatmenu-wrapper.sffm-step-fade-scale,
.sffm-floatmenu-wrapper.sffm-no-step-fade-scale,
.sffm-floatmenu-wrapper.sffm-step-rotate-scale,
.sffm-floatmenu-wrapper.sffm-no-step-rotate-scale,
.sffm-floatmenu-wrapper.sffm-step-fade-rotate-scale,
.sffm-floatmenu-wrapper.sffm-no-step-fade-rotate-scale {
    --sffm-scale: 0;
    --sffm-scale-hover: 1;
}

.sffm-floatmenu-wrapper.sffm-step-fade-rotate,
.sffm-floatmenu-wrapper.sffm-no-step-fade-rotate,
.sffm-floatmenu-wrapper.sffm-step-rotate-scale,
.sffm-floatmenu-wrapper.sffm-no-step-rotate-scale,
.sffm-floatmenu-wrapper.sffm-step-fade-rotate-scale,
.sffm-floatmenu-wrapper.sffm-no-step-fade-rotate-scale {
    --sffm-rotate: 0;
    --sffm-rotate-hover: 3600deg;
}

ul.sffm-menu li .sffm-tooltip {
    border-radius: 4px;
    position: absolute;
    opacity: 0;
    line-height: 1.2;
    visibility: hidden;
    background: var(--sffm-tooltip-bg-color, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)));
    transition: all 0.2s ease;
}

    ul.sffm-menu li .sffm-tooltip:before {
        transition: all 0.2s ease;
    }

ul.sffm-menu li:hover .sffm-tooltip {
    opacity: 1;
    visibility: visible;
}

ul.sffm-menu li .sffm-tooltip:hover {
    --sffm-tooltip-bg-color: var(--sffm-tooltip-hover-bg-color);
}

ul.sffm-menu li .sffm-tooltip a {
    display: block;
    white-space: nowrap;
    padding: 8px 20px;
    color: var(--sffm-tooltip-text-color, var(--sffm-button-color-hover, var(--sffm-button-color, #FFF)));
    font-family: var(--sffm-tooltip-font-family, Default);
    font-weight: var(--sffm-tooltip-font-weight, 400);
    font-style: var(--sffm-tooltip-font-style, normal);
    text-transform: var(--sffm-tooltip-text-transform, none);
    text-decoration: var(--sffm-tooltip-text-decoration, none);
    font-size: var(--sffm-tooltip-font-size, inherit);
    line-height: var(--sffm-tooltip-line-height, inherit);
    letter-spacing: var(--sffm-tooltip-letter-spacing, inherit);
}

ul.sffm-menu li .sffm-tooltip:hover a {
    --sffm-tooltip-text-color: var(--sffm-tooltip-hover-text-color);
}

.sffm-position-top-left.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip,
.sffm-position-middle-left.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip,
.sffm-position-bottom-left.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip {
    left: 100%;
    margin-left: var(--sffm-tooltip-indent, -20px);
    top: 50%;
    transform: translateY(-50%);
}

.sffm-position-top-right.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip,
.sffm-position-middle-right.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip,
.sffm-position-bottom-right.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip {
    right: 100%;
    margin-right: var(--sffm-tooltip-indent, -20px);
    top: 50%;
    transform: translateY(-50%);
}

.sffm-position-top-left.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip,
.sffm-position-top-middle.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip,
.sffm-position-top-right.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip {
    transform: rotate(90deg) translateY(-50%);
    transform-origin: 0 0;
    left: 50%;
    top: 100%;
    margin-top: var(--sffm-tooltip-indent, -20px);
}

.sffm-position-bottom-left.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip,
.sffm-position-bottom-middle.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip,
.sffm-position-bottom-right.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip {
    transform: rotate(-90deg) translateY(50%);
    transform-origin: 0 100%;
    left: 50%;
    bottom: 100%;
    margin-bottom: var(--sffm-tooltip-indent, -20px);
}

.sffm-position-top-left.sffm-orientation-vertical ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-middle-left.sffm-orientation-vertical ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-bottom-left.sffm-orientation-vertical ul.sffm-menu li:hover .sffm-tooltip {
    margin-left: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-position-top-right.sffm-orientation-vertical ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-middle-right.sffm-orientation-vertical ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-bottom-right.sffm-orientation-vertical ul.sffm-menu li:hover .sffm-tooltip {
    margin-right: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-position-top-left.sffm-orientation-horizontal ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-top-middle.sffm-orientation-horizontal ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-top-right.sffm-orientation-horizontal ul.sffm-menu li:hover .sffm-tooltip {
    margin-top: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-position-bottom-left.sffm-orientation-horizontal ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-bottom-middle.sffm-orientation-horizontal ul.sffm-menu li:hover .sffm-tooltip,
.sffm-position-bottom-right.sffm-orientation-horizontal ul.sffm-menu li:hover .sffm-tooltip {
    margin-bottom: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-position-bottom-left.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-bottom-middle.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-bottom-right.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-top-left.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-top-middle.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-top-right.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-top-left.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-middle-left.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-bottom-left.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    border-width: 5px;
    border-style: solid;
    border-color: transparent var(--sffm-tooltip-bg-color, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000))) transparent transparent;
    transform: translateY(-50%);
}

.sffm-position-top-right.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-middle-right.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip:before,
.sffm-position-bottom-right.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent var(--sffm-tooltip-bg-color, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)));
    transform: translateY(-50%);
}


/*Floating menu template 2*/

.sffm-floatmenu-template-2.sffm-floatmenu-wrapper ul.sffm-menu li:hover > a {
    height: calc(var(--sffm-buttton-size, 50px)*1.2);
    width: calc(var(--sffm-buttton-size, 50px)*1.2);
}


/*Floating menu template 3*/

.sffm-floatmenu-template-3 ul.sffm-menu li .sffm-tooltip:before {
    display: none;
}

.sffm-floatmenu-template-3 ul.sffm-menu li .sffm-tooltip {
    height: 80%;
    display: flex;
    align-items: center;
}

    .sffm-floatmenu-template-3 ul.sffm-menu li .sffm-tooltip a {
        padding: 10px 20px;
    }

.sffm-floatmenu-template-3 {
    --sffm-tooltip-indent: 30px;
    --sffm-tooltip-indent-hover: 5px;
}

/*Floating menu template 4*/

.sffm-floatmenu-template-4 {
    --sffm-tooltip-bg-color: #7b0dae;
    --sffm-tooltip-hover-bg-color: var(--sffm-tooltip-bg-color);
    --sffm-tooltip-text-color: #FFF;
    --sffm-tooltip-hover-text-color: var(--sffm-tooltip-text-color);
}

    .sffm-floatmenu-template-4 ul.sffm-menu li .sffm-tooltip {
        height: 100%;
        display: flex;
        align-items: center;
        border-radius: 0;
    }

        .sffm-floatmenu-template-4 ul.sffm-menu li .sffm-tooltip a {
            padding: 10px 20px;
        }

    .sffm-floatmenu-template-4 ul.sffm-menu li > a {
        transition: none;
    }

    .sffm-floatmenu-template-4.sffm-left-side.sffm-shape-round.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip,
    .sffm-floatmenu-template-4.sffm-top-side.sffm-shape-round.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip,
    .sffm-floatmenu-template-4.sffm-bottom-side.sffm-shape-round.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip {
        border-radius: 0 var(--sffm-buttton-size, 50px) var(--sffm-buttton-size, 50px) 0;
    }

    .sffm-floatmenu-template-4.sffm-right-side.sffm-shape-round.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip {
        border-radius: var(--sffm-buttton-size, 50px) 0 0 var(--sffm-buttton-size, 50px);
    }

    .sffm-floatmenu-template-4.sffm-left-side.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0.3em 0 0 0.3em;
    }

    .sffm-floatmenu-template-4.sffm-right-side.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0 0.3em 0.3em 0;
    }

    .sffm-floatmenu-template-4.sffm-top-side.sffm-orientation-horizontal.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0.3em 0.3em 0 0;
    }

    .sffm-floatmenu-template-4.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0 0 0.3em 0.3em;
    }

    .sffm-floatmenu-template-4.sffm-left-side.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(90deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-4.sffm-right-side.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(-90deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-4.sffm-top-side.sffm-orientation-horizontal.sffm-shape-round ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(180deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-4.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-round ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(0, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-4.sffm-shape-star ul.sffm-menu li:hover > a {
        clip-path: none;
    }

.sffm-floatmenu-template-4 {
    --sffm-tooltip-indent: 10px;
    --sffm-tooltip-indent-hover: 0;
}

/*Floating menu template 5*/

.sffm-floatmenu-template-5 {
    --sffm-tooltip-indent: 30px;
    --sffm-tooltip-indent-hover: 0;
}

    .sffm-floatmenu-template-5 ul.sffm-menu li .sffm-tooltip:before {
        display: none;
    }

    .sffm-floatmenu-template-5 ul.sffm-menu li .sffm-tooltip {
        height: 100%;
        display: flex;
        align-items: center;
        border-radius: 0;
    }

        .sffm-floatmenu-template-5 ul.sffm-menu li .sffm-tooltip a {
            padding: 10px 20px;
        }

    .sffm-floatmenu-template-5 ul.sffm-menu li > a {
        transition: none;
    }

    .sffm-floatmenu-template-5.sffm-left-side.sffm-shape-round.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip,
    .sffm-floatmenu-template-5.sffm-top-side.sffm-shape-round.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip,
    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-shape-round.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip {
        border-radius: 0 var(--sffm-buttton-size, 50px) var(--sffm-buttton-size, 50px) 0;
    }

    .sffm-floatmenu-template-5.sffm-right-side.sffm-shape-round.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip {
        border-radius: var(--sffm-buttton-size, 50px) 0 0 var(--sffm-buttton-size, 50px);
    }

    .sffm-floatmenu-template-5.sffm-left-side.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0.3em 0 0 0.3em;
    }

    .sffm-floatmenu-template-5.sffm-right-side.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0 0.3em 0.3em 0;
    }

    .sffm-floatmenu-template-5.sffm-top-side.sffm-orientation-horizontal.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0.3em 0.3em 0 0;
    }

    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0 0 0.3em 0.3em;
    }

    .sffm-floatmenu-template-5.sffm-left-side.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-left-side.sffm-orientation-vertical.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-left-side.sffm-orientation-vertical.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-left-side.sffm-orientation-vertical.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-left-side.sffm-orientation-vertical.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-left-side.sffm-orientation-vertical.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(90deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-5.sffm-right-side.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-right-side.sffm-orientation-vertical.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-right-side.sffm-orientation-vertical.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-right-side.sffm-orientation-vertical.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-right-side.sffm-orientation-vertical.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-right-side.sffm-orientation-vertical.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(-90deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-5.sffm-top-side.sffm-orientation-horizontal.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-top-side.sffm-orientation-horizontal.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-top-side.sffm-orientation-horizontal.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-top-side.sffm-orientation-horizontal.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-top-side.sffm-orientation-horizontal.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-top-side.sffm-orientation-horizontal.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(180deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-5.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(0, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-5.sffm-shape-triangle ul.sffm-menu li:hover > a,
    .sffm-floatmenu-template-5.sffm-shape-star ul.sffm-menu li:hover > a,
    .sffm-floatmenu-template-5.sffm-shape-pentagon ul.sffm-menu li:hover > a {
        clip-path: none;
    }

/*Floating menu template 6*/

.sffm-floatmenu-template-6 {
    --sffm-tooltip-indent: 20px;
    --sffm-tooltip-indent-hover: 0;
}

    .sffm-floatmenu-template-6.sffm-floatmenu-wrapper .sffm-menu {
        padding: calc(var(--sffm-buttton-size, 50px)/6);
        background: var(--sffm-buttons-bg-color, #FF0000);
    }

    .sffm-floatmenu-template-6.sffm-shape-rounded-square.sffm-floatmenu-wrapper .sffm-menu {
        border-radius: 0.3em;
    }

    .sffm-floatmenu-template-6.sffm-shape-round.sffm-floatmenu-wrapper .sffm-menu {
        border-radius: var(--sffm-buttton-size, 50px);
    }

    .sffm-floatmenu-template-6 ul.sffm-menu li .sffm-tooltip:before {
        display: none;
    }

    .sffm-floatmenu-template-6 ul.sffm-menu li .sffm-tooltip {
        height: 100%;
        display: flex;
        align-items: center;
    }

    .sffm-floatmenu-template-6 ul.sffm-menu li .sffm-tooltip {
        border-radius: 0;
    }

    .sffm-floatmenu-template-6 ul.sffm-menu li > a {
        transition: none;
    }

    .sffm-floatmenu-template-6.sffm-left-side.sffm-shape-round.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip,
    .sffm-floatmenu-template-6.sffm-top-side.sffm-shape-round.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip,
    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-shape-round.sffm-orientation-horizontal ul.sffm-menu li .sffm-tooltip {
        border-radius: 0 var(--sffm-buttton-size, 50px) var(--sffm-buttton-size, 50px) 0;
    }

    .sffm-floatmenu-template-6.sffm-right-side.sffm-shape-round.sffm-orientation-vertical ul.sffm-menu li .sffm-tooltip {
        border-radius: var(--sffm-buttton-size, 50px) 0 0 var(--sffm-buttton-size, 50px);
    }

    .sffm-floatmenu-template-6.sffm-left-side.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0.3em 0 0 0.3em;
    }

    .sffm-floatmenu-template-6.sffm-right-side.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0 0.3em 0.3em 0;
    }

    .sffm-floatmenu-template-6.sffm-top-side.sffm-orientation-horizontal.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0.3em 0.3em 0 0;
    }

    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-rounded-square ul.sffm-menu li:hover > a {
        border-radius: 0 0 0.3em 0.3em;
    }

    .sffm-floatmenu-template-6.sffm-left-side.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-left-side.sffm-orientation-vertical.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-left-side.sffm-orientation-vertical.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-left-side.sffm-orientation-vertical.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-left-side.sffm-orientation-vertical.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-left-side.sffm-orientation-vertical.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(90deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-6.sffm-right-side.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-right-side.sffm-orientation-vertical.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-right-side.sffm-orientation-vertical.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-right-side.sffm-orientation-vertical.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-right-side.sffm-orientation-vertical.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-right-side.sffm-orientation-vertical.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(-90deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-6.sffm-top-side.sffm-orientation-horizontal.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-top-side.sffm-orientation-horizontal.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-top-side.sffm-orientation-horizontal.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-top-side.sffm-orientation-horizontal.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-top-side.sffm-orientation-horizontal.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-top-side.sffm-orientation-horizontal.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(180deg, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-round ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-rhombus ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-oval ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-hexagon ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-rabbet ul.sffm-menu li:hover,
    .sffm-floatmenu-template-6.sffm-bottom-side.sffm-orientation-horizontal.sffm-shape-blob ul.sffm-menu li:hover {
        background: var(--sffm-button-bg-hover, var(--sffm-button-bg, #000));
        background: linear-gradient(0, transparent 50%, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)) 50%);
    }

    .sffm-floatmenu-template-6.sffm-shape-triangle ul.sffm-menu li:hover > a,
    .sffm-floatmenu-template-6.sffm-shape-star ul.sffm-menu li:hover > a,
    .sffm-floatmenu-template-6.sffm-shape-pentagon ul.sffm-menu li:hover > a {
        clip-path: none;
    }

/* Tigger CSS */

.sffm-floatmenu-trigger-idle-animation {
    filter: drop-shadow(var(--sffm-button-shadow-x, 0) var(--sffm-button-shadow-y, 0) var(--sffm-button-shadow-blur, 0) var(--sffm-button-shadow-color, transparent));
}

.sffm-floatmenu-trigger-idle-animation,
.sffm-floatmenu-trigger-hover-animation {
    position: relative;
    z-index: 9999;
}

    .sffm-floatmenu-trigger-idle-animation:hover,
    .sffm-floatmenu-wrapper .sffm-floatmenu-show .sffm-floatmenu-trigger-idle-animation,
    .sffm-floatmenu-trigger-idle-animation:hover:before,
    .sffm-floatmenu-wrapper .sffm-floatmenu-show .sffm-floatmenu-trigger-idle-animation:before {
        animation: none;
    }

        .sffm-floatmenu-trigger-idle-animation:hover:before,
        .sffm-floatmenu-wrapper .sffm-floatmenu-show .sffm-floatmenu-trigger-idle-animation:before {
            opacity: 0;
        }

.sffm-floatmenu-trigger {
    position: relative;
    width: var(--sffm-trigger-btn-size, var(--sffm-buttton-size, 50px));
    height: var(--sffm-trigger-btn-size, var(--sffm-buttton-size, 50px));
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: var(--sffm-trigger-btn-icon-size, var(--sffm-buttton-font-size, 20px));
    background: var(--sffm-trigger-btn-bg-color, var(--sffm-button-bg, #000));
    color: var(--sffm-trigger-btn-icon-color, var(--sffm-button-color, #FFF));
    transition: all 0.3s ease;
}

    .sffm-floatmenu-trigger img {
        max-width: 100%;
        width: var(--sffm-trigger-btn-icon-size, var(--sffm-buttton-font-size, 20px));
        height: auto;
    }

.sffm-floatmenu-wrapper ul.sffm-menu li.sffm-menu-no-0 a {
    width: var(--sffm-trigger-btn-size, var(--sffm-buttton-size, 50px));
    height: var(--sffm-trigger-btn-size, var(--sffm-buttton-size, 50px));
}

.sffm-floatmenu-trigger:hover {
    background: var(--sffm-trigger-btn-hover-bg-color, var(--sffm-trigger-btn-bg-color, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000))));
    color: var(--sffm-trigger-btn-hover-icon-color, var(--sffm-trigger-btn-icon-color, var(--sffm-button-color-hover, var(--sffm-button-color, #FFF))))
}

.sffm-floatmenu-toggle-close-icon {
    display: none;
}

.sffm-floatmenu-show .sffm-floatmenu-toggle-open-icon {
    display: none;
}

.sffm-floatmenu-show .sffm-floatmenu-toggle-close-icon {
    display: block;
}


/*================================================
TEMPLATE 7 CSS
================================================*/

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7 ul.sffm-menu li .sffm-tooltip {
    position: static;
    opacity: 1;
    visibility: visible;
    right: auto;
    margin-right: 0;
    top: auto;
    transform: none;
    display: flex;
    align-items: center;
    border-radius: 0;
    margin: 0 !important;
    height: var(--sffm-buttton-size, 50px);
}

.sffm-floatmenu-template-7 ul.sffm-menu li .sffm-tooltip:before {
    display: none;
}

.sffm-floatmenu-template-7 ul.sffm-menu li {
    display: flex;
    align-items: stretch;
    transition: transform 0.3s ease-in-out;
    background: var(--sffm-button-bg, #000);
}

.sffm-floatmenu-template-7.sffm-shape-round.sffm-left-side ul.sffm-menu li {
    border-radius: 0 50% 50% 0;
}

.sffm-floatmenu-template-7.sffm-shape-round.sffm-right-side ul.sffm-menu li {
    border-radius: 50% 0 0 50%;
}

.sffm-floatmenu-template-7.sffm-shape-rounded-square.sffm-left-side ul.sffm-menu li {
    border-radius: 0 0.3em 0.3em 0;
}

.sffm-floatmenu-template-7.sffm-shape-rounded-square.sffm-right-side ul.sffm-menu li {
    border-radius: 0.3em 0 0 0.3em;
}

.sffm-floatmenu-template-7 ul.sffm-menu li .sffm-tooltip {
    border-radius: 0;
}

.sffm-floatmenu-template-7 ul.sffm-menu li > a {
    transition: none;
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-position-top-right .sffm-floatmenu,
.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-position-bottom-right .sffm-floatmenu {
    transform: translateX(calc(100% - var(--sffm-buttton-size, 50px)));
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-position-middle-right .sffm-floatmenu {
    transform: translateX(calc(100% - var(--sffm-buttton-size, 50px))) translateY(-50%);
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-right-side ul.sffm-menu {
    align-items: flex-start;
}

.sffm-floatmenu-template-7.sffm-shape-round.sffm-right-side ul.sffm-menu li > a {
    clip-path: none;
    border-radius: 50% 0 0 50%;
}

.sffm-floatmenu-template-7.sffm-shape-rounded-square.sffm-right-side ul.sffm-menu li > a {
    border-radius: 0.3em 0 0 0.3em;
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-position-top-left .sffm-floatmenu,
.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-position-bottom-left .sffm-floatmenu {
    transform: translateX(calc(-1 * 100% + var(--sffm-buttton-size, 50px)));
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-position-middle-left .sffm-floatmenu {
    transform: translateX(calc(-1 * 100% + var(--sffm-buttton-size, 50px))) translateY(-50%);
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-left-side ul.sffm-menu {
    align-items: flex-end;
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-right-side ul.sffm-menu li:hover {
    transform: translateX(calc(-1 * var(--sffm-span-width)));
}

.sffm-floatmenu-template-7.sffm-left-side ul.sffm-menu li span {
    order: -1;
}

.sffm-floatmenu-wrapper.sffm-floatmenu-template-7.sffm-left-side ul.sffm-menu li:hover {
    transform: translateX(calc(var(--sffm-span-width)));
}

.sffm-floatmenu-template-7.sffm-shape-round.sffm-left-side ul.sffm-menu li > a {
    clip-path: none;
    border-radius: 0 50% 50% 0;
}

.sffm-floatmenu-template-7.sffm-shape-rounded-square.sffm-left-side ul.sffm-menu li > a {
    border-radius: 0 0.3em 0.3em 0;
}

.sffm-floatmenu-template-7 ul.sffm-menu li .sffm-tooltip a {
    padding: 8px 10px;
}

/*================================================
TEMPLATE 8 CSS
================================================*/

.sffm-floatmenu-template-8 .sffm-floatmenu-inner-wrap {
    position: relative;
}

.sffm-floatmenu-template-8 ul.sffm-menu {
    visibility: hidden;
    position: absolute;
}

.sffm-floatmenu-template-8 .sffm-floatmenu-show ul.sffm-menu {
    visibility: visible;
}

.sffm-floatmenu-template-8.sffm-floatmenu-wrapper.sffm-left-side {
    --sffm-translate-x: -100%;
    --sffm-translate-y: 0%;
}

.sffm-floatmenu-template-8.sffm-floatmenu-wrapper.sffm-right-side {
    --sffm-translate-x: 100%;
    --sffm-translate-y: 0%;
}

.sffm-floatmenu-template-8.sffm-position-top-left ul.sffm-menu,
.sffm-floatmenu-template-8.sffm-position-top-right ul.sffm-menu {
    top: 0;
}

.sffm-floatmenu-template-8.sffm-position-bottom-left ul.sffm-menu,
.sffm-floatmenu-template-8.sffm-position-bottom-right ul.sffm-menu {
    bottom: 0;
}

.sffm-floatmenu-template-8.sffm-position-top-left ul.sffm-menu,
.sffm-floatmenu-template-8.sffm-position-bottom-left ul.sffm-menu {
    left: 110%;
}

.sffm-floatmenu-template-8.sffm-position-top-right ul.sffm-menu,
.sffm-floatmenu-template-8.sffm-position-bottom-right ul.sffm-menu {
    right: 110%;
}

.sffm-floatmenu-template-8.sffm-position-middle-left ul.sffm-menu {
    left: 110%;
    top: 50%;
    transform: translateY(-50%);
}

.sffm-floatmenu-template-8.sffm-position-middle-right ul.sffm-menu {
    right: 110%;
    top: 50%;
    transform: translateY(-50%);
}


/*================================================
TEMPLATE 9 CSS
================================================*/

.sffm-floatmenu-template-9 .sffm-floatmenu-inner-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: var(--sffm-button-gap, 5px);
}

.sffm-floatmenu-template-9 ul.sffm-menu {
    visibility: hidden;
}

.sffm-floatmenu-template-9 .sffm-floatmenu-show ul.sffm-menu {
    visibility: visible;
}

.sffm-floatmenu-template-9.sffm-orientation-horizontal .sffm-floatmenu-inner-wrap {
    flex-direction: row;
}

.sffm-floatmenu-template-9.sffm-orientation-vertical .sffm-floatmenu-inner-wrap {
    flex-direction: column;
}

.sffm-floatmenu-template-9.sffm-orientation-horizontal.sffm-position-bottom-right .sffm-floatmenu-inner-wrap,
.sffm-floatmenu-template-9.sffm-orientation-horizontal.sffm-position-top-right .sffm-floatmenu-inner-wrap {
    flex-direction: row-reverse;
}

.sffm-floatmenu-template-9.sffm-orientation-vertical.sffm-position-bottom-right .sffm-floatmenu-inner-wrap,
.sffm-floatmenu-template-9.sffm-orientation-vertical.sffm-position-bottom-left .sffm-floatmenu-inner-wrap {
    flex-direction: column-reverse;
}

.sffm-floatmenu-template-9.sffm-position-middle-left ul.sffm-menu,
.sffm-floatmenu-template-9.sffm-position-middle-right ul.sffm-menu,
.sffm-floatmenu-template-9.sffm-position-top-middle ul.sffm-menu,
.sffm-floatmenu-template-9.sffm-position-bottom-middle ul.sffm-menu {
    position: absolute;
    display: grid;
}

    .sffm-floatmenu-template-9.sffm-position-top-middle ul.sffm-menu li,
    .sffm-floatmenu-template-9.sffm-position-bottom-middle ul.sffm-menu li {
        padding: 0 calc(var(--sffm-button-gap, 5px)/2);
    }

    .sffm-floatmenu-template-9.sffm-position-middle-left ul.sffm-menu li,
    .sffm-floatmenu-template-9.sffm-position-middle-right ul.sffm-menu li {
        padding: calc(var(--sffm-button-gap, 5px)/2) 0;
    }

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="3"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="5"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="7"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="9"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="11"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="13"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="15"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-floatmenu[data-number="17"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="3"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="5"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="7"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="9"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="11"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="13"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="15"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-floatmenu[data-number="17"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="3"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="5"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="7"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="9"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="11"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="13"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="15"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-floatmenu[data-number="17"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="3"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="5"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="7"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="9"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="11"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="13"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="15"] ul.sffm-menu li:last-child,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-floatmenu[data-number="17"] ul.sffm-menu li:last-child {
    display: none;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-0,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-0 {
    grid-area: 1 / 9 / 2 / 10;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-1,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-1 {
    grid-area: 1 / 8 / 2 / 9;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-2,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-2 {
    grid-area: 1 / 10 / 2 / 11;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-3,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-3 {
    grid-area: 1 / 7 / 2 / 8;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-4,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-4 {
    grid-area: 1 / 11 / 2 / 12;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-5,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-5 {
    grid-area: 1 / 6 / 2 / 7;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-6,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-6 {
    grid-area: 1 / 12 / 2 / 13;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-7,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-7 {
    grid-area: 1 / 5 / 2 / 6;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-8,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-8 {
    grid-area: 1 / 13 / 2 / 14;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-9,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-9 {
    grid-area: 1 / 4 / 2 / 5;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-10,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-10 {
    grid-area: 1 / 14 / 2 / 15;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-11,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-11 {
    grid-area: 1 / 3 / 2 / 4;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-12,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-12 {
    grid-area: 1 / 15 / 2 / 16;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-13,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-13 {
    grid-area: 1 / 2 / 2 / 3;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-14,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-14 {
    grid-area: 1 / 16 / 2 / 17;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-15,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-15 {
    grid-area: 1 / 1 / 2 / 2;
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-16,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-16 {
    grid-area: 1 / 17 / 2 / 18;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-0,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-0 {
    grid-area: 9 / 1 / 10 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-1,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-1 {
    grid-area: 8 / 1 / 9 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-2,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-2 {
    grid-area: 10 / 1 / 11 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-3,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-3 {
    grid-area: 7 / 1 / 8 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-4,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-4 {
    grid-area: 11 / 1 / 12 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-5,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-5 {
    grid-area: 6 / 1 / 7 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-6,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-6 {
    grid-area: 12 / 1 / 13 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-7,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-7 {
    grid-area: 5 / 1 / 6 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-8,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-8 {
    grid-area: 13 / 1 / 14 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-9,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-9 {
    grid-area: 4 / 1 / 5 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-10,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-10 {
    grid-area: 14 / 1 / 15 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-11,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-11 {
    grid-area: 3 / 1 / 4 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-12,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-12 {
    grid-area: 15 / 1 / 16 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-13,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-13 {
    grid-area: 2 / 1 / 3 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-14,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-14 {
    grid-area: 16 / 1 / 17 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-15,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-15 {
    grid-area: 1 / 1 / 2 / 2;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-16,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-16 {
    grid-area: 17 / 1 / 18 / 2;
}

.sffm-floatmenu-template-9.sffm-position-top-middle ul.sffm-menu,
.sffm-floatmenu-template-9.sffm-position-bottom-middle ul.sffm-menu,
.sffm-floatmenu-template-9.sffm-position-middle-left ul.sffm-menu,
.sffm-floatmenu-template-9.sffm-position-middle-right ul.sffm-menu {
    gap: 0;
}


.sffm-floatmenu-template-9 .sffm-menu-items {
    --sffm-translate-y: 0px;
    --sffm-translate-x: 0px;
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-1,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-1 {
    --sffm-translate-y: calc(1*100% + 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-2,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-2 {
    --sffm-translate-y: calc(-1*100% - 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-3,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-3 {
    --sffm-translate-y: calc(2*100% + 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-4,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-4 {
    --sffm-translate-y: calc(-2*100% - 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-5,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-5 {
    --sffm-translate-y: calc(3*100% + 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-6,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-6 {
    --sffm-translate-y: calc(-3*100% - 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-7,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-7 {
    --sffm-translate-y: calc(4*100% + 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-8,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-8 {
    --sffm-translate-y: calc(-4*100% - 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-9,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-9 {
    --sffm-translate-y: calc(5*100% + 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-10,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-10 {
    --sffm-translate-y: calc(-5*100% - 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-11,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-11 {
    --sffm-translate-y: calc(6*100% + 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-12,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-12 {
    --sffm-translate-y: calc(-6*100% - 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-13,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-13 {
    --sffm-translate-y: calc(7*100% + 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-14,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-14 {
    --sffm-translate-y: calc(-7*100% - 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-15,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-15 {
    --sffm-translate-y: calc(8*100% + 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-16,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-16 {
    --sffm-translate-y: calc(-8*100% - 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-17,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-17 {
    --sffm-translate-y: calc(9*100% + 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-middle-left .sffm-menu-no-18,
.sffm-floatmenu-template-9.sffm-position-middle-right .sffm-menu-no-18 {
    --sffm-translate-y: calc(-9*100% - 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-1,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-1 {
    --sffm-translate-x: calc(1*100% + 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-2,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-2 {
    --sffm-translate-x: calc(-1*100% - 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-3,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-3 {
    --sffm-translate-x: calc(2*100% + 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-4,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-4 {
    --sffm-translate-x: calc(-2*100% - 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-5,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-5 {
    --sffm-translate-x: calc(3*100% + 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-6,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-6 {
    --sffm-translate-x: calc(-3*100% - 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-7,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-7 {
    --sffm-translate-x: calc(4*100% + 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-8,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-8 {
    --sffm-translate-x: calc(-4*100% - 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-9,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-9 {
    --sffm-translate-x: calc(5*100% + 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-10,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-10 {
    --sffm-translate-x: calc(-5*100% - 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-11,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-11 {
    --sffm-translate-x: calc(6*100% + 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-12,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-12 {
    --sffm-translate-x: calc(-6*100% - 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-13,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-13 {
    --sffm-translate-x: calc(7*100% + 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-14,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-14 {
    --sffm-translate-x: calc(-7*100% - 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-15,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-15 {
    --sffm-translate-x: calc(8*100% + 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-16,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-16 {
    --sffm-translate-x: calc(-8*100% - 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-17,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-17 {
    --sffm-translate-x: calc(9*100% + 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-middle .sffm-menu-no-18,
.sffm-floatmenu-template-9.sffm-position-bottom-middle .sffm-menu-no-18 {
    --sffm-translate-x: calc(-9*100% - 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-1,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-1 {
    --sffm-translate-y: calc(-1*100% - 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-2,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-2 {
    --sffm-translate-y: calc(-2*100% - 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-3,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-3 {
    --sffm-translate-y: calc(-3*100% - 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-4,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-4 {
    --sffm-translate-y: calc(-4*100% - 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-5,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-5 {
    --sffm-translate-y: calc(-5*100% - 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-6,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-6 {
    --sffm-translate-y: calc(-6*100% - 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-7,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-7 {
    --sffm-translate-y: calc(-7*100% - 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-8,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-8 {
    --sffm-translate-y: calc(-8*100% - 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-9,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-9 {
    --sffm-translate-y: calc(-9*100% - 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-10,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-10 {
    --sffm-translate-y: calc(-10*100% - 10*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-11,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-11 {
    --sffm-translate-y: calc(-11*100% - 11*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-12,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-12 {
    --sffm-translate-y: calc(-12*100% - 12*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-13,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-13 {
    --sffm-translate-y: calc(-13*100% - 13*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-14,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-14 {
    --sffm-translate-y: calc(-14*100% - 14*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-15,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-15 {
    --sffm-translate-y: calc(-15*100% - 15*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-16,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-16 {
    --sffm-translate-y: calc(-16*100% - 16*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-17,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-17 {
    --sffm-translate-y: calc(-17*100% - 17*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-top-left .sffm-menu-no-18,
.sffm-floatmenu-template-9.sffm-position-top-right .sffm-menu-no-18 {
    --sffm-translate-y: calc(-18*100% - 18*var(--sffm-button-gap, 5px));
}


.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-1,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-1 {
    --sffm-translate-y: calc(1*100% + 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-2,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-2 {
    --sffm-translate-y: calc(2*100% + 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-3,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-3 {
    --sffm-translate-y: calc(3*100% + 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-4,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-4 {
    --sffm-translate-y: calc(4*100% + 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-5,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-5 {
    --sffm-translate-y: calc(5*100% + 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-6,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-6 {
    --sffm-translate-y: calc(6*100% + 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-7,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-7 {
    --sffm-translate-y: calc(7*100% + 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-8,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-8 {
    --sffm-translate-y: calc(8*100% + 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-9,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-9 {
    --sffm-translate-y: calc(9*100% + 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-10,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-10 {
    --sffm-translate-y: calc(10*100% + 10*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-11,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-11 {
    --sffm-translate-y: calc(11*100% + 11*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-12,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-12 {
    --sffm-translate-y: calc(12*100% + 12*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-13,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-13 {
    --sffm-translate-y: calc(13*100% + 13*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-14,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-14 {
    --sffm-translate-y: calc(14*100% + 14*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-15,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-15 {
    --sffm-translate-y: calc(15*100% + 15*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-16,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-16 {
    --sffm-translate-y: calc(16*100% + 16*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-17,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-17 {
    --sffm-translate-y: calc(17*100% + 17*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-9.sffm-position-bottom-left .sffm-menu-no-18,
.sffm-floatmenu-template-9.sffm-position-bottom-right .sffm-menu-no-18 {
    --sffm-translate-y: calc(18*100% + 18*var(--sffm-button-gap, 5px));
}

/*===========================================================================
Template 10 
===========================================================================*/

.sffm-floatmenu-template-10 ul.sffm-menu {
    position: absolute;
    display: grid;
    visibility: hidden;
}

.sffm-floatmenu-template-10 .sffm-floatmenu-show ul.sffm-menu {
    visibility: visible;
}

.sffm-floatmenu-template-10.sffm-position-top-left ul.sffm-menu {
    top: 0;
    left: 0;
}

.sffm-floatmenu-template-10.sffm-position-top-right ul.sffm-menu {
    top: 0;
    right: 0;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left ul.sffm-menu {
    bottom: 0;
    left: 0;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right ul.sffm-menu {
    bottom: 0;
    right: 0;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-0 {
    grid-area: 1 / 1 / 2 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-1 {
    grid-area: 2 / 1 / 3 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-2 {
    grid-area: 1 / 2 / 2 / 3;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-3 {
    grid-area: 3 / 1 / 4 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-4 {
    grid-area: 1 / 3 / 2 / 4;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-5 {
    grid-area: 4 / 1 / 5 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-6 {
    grid-area: 1 / 4 / 2 / 5;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-7 {
    grid-area: 5 / 1 / 6 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-8 {
    grid-area: 1 / 5 / 2 / 6;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-9 {
    grid-area: 6 / 1 / 7 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-10 {
    grid-area: 1 / 6 / 2 / 7;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-11 {
    grid-area: 7 / 1 / 8 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-12 {
    grid-area: 1 / 7 / 2 / 8;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-13 {
    grid-area: 8 / 1 / 9 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-14 {
    grid-area: 1 / 8 / 2 / 9;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-15 {
    grid-area: 9 / 1 / 10 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-16 {
    grid-area: 1 / 9 / 2 / 10;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-17 {
    grid-area: 10 / 1 / 11 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-18 {
    grid-area: 1 / 10 / 2 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-0 {
    grid-area: 10 / 1 / 11 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-1 {
    grid-area: 9 / 1 / 10 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-2 {
    grid-area: 10 / 2 / 11 / 3;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-3 {
    grid-area: 8 / 1 / 9 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-4 {
    grid-area: 10 / 3 / 11 / 4;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-5 {
    grid-area: 7 / 1 / 8 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-6 {
    grid-area: 10 / 4 / 11 / 5;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-7 {
    grid-area: 6 / 1 / 7 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-8 {
    grid-area: 10 / 5 / 11 / 6;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-9 {
    grid-area: 5 / 1 / 6 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-10 {
    grid-area: 10 / 6 / 11 / 7;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-11 {
    grid-area: 4 / 1 / 5 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-12 {
    grid-area: 10 / 7 / 11 / 8;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-13 {
    grid-area: 3 / 1 / 4 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-14 {
    grid-area: 10 / 8 / 11 / 9;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-15 {
    grid-area: 2 / 1 / 3 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-16 {
    grid-area: 10 / 9 / 11 / 10;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-17 {
    grid-area: 1 / 1 / 2 / 2;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-18 {
    grid-area: 10 / 10 / 11 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-0 {
    grid-area: 10 / 10 / 11 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-1 {
    grid-area: 9 / 10 / 10 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-2 {
    grid-area: 10 / 9 / 11 / 10;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-3 {
    grid-area: 8 / 10 / 9 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-4 {
    grid-area: 10 / 8 / 11 / 9;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-5 {
    grid-area: 7 / 10 / 8 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-6 {
    grid-area: 10 / 7 / 11 / 8;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-7 {
    grid-area: 6 / 10 / 7 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-8 {
    grid-area: 10 / 6 / 11 / 7;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-9 {
    grid-area: 5 / 10 / 6 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-10 {
    grid-area: 10 / 5 / 11 / 6;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-11 {
    grid-area: 4 / 10 / 5 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-12 {
    grid-area: 10 / 4 / 11 / 5;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-13 {
    grid-area: 3 / 10 / 4 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-14 {
    grid-area: 10 / 3 / 11 / 4;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-15 {
    grid-area: 2 / 10 / 3 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-16 {
    grid-area: 10 / 2 / 11 / 3;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-17 {
    grid-area: 1 / 10 / 2 / 11;
}

.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-18 {
    grid-area: 10 / 1 / 11 / 2;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-0 {
    grid-area: 1 / 10 / 2 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-1 {
    grid-area: 2 / 10 / 3 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-2 {
    grid-area: 1 / 9 / 2 / 10;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-3 {
    grid-area: 3 / 10 / 4 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-4 {
    grid-area: 1 / 8 / 2 / 9;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-5 {
    grid-area: 4 / 10 / 5 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-6 {
    grid-area: 1 / 7 / 2 / 8;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-7 {
    grid-area: 5 / 10 / 6 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-8 {
    grid-area: 1 / 6 / 2 / 7;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-9 {
    grid-area: 6 / 10 / 7 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-10 {
    grid-area: 1 / 5 / 2 / 6;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-11 {
    grid-area: 7 / 10 / 8 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-12 {
    grid-area: 1 / 4 / 2 / 5;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-13 {
    grid-area: 8 / 10 / 9 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-14 {
    grid-area: 1 / 3 / 2 / 4;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-15 {
    grid-area: 9 / 10 / 10 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-16 {
    grid-area: 1 / 2 / 2 / 3;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-17 {
    grid-area: 10 / 10 / 11 / 11;
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-18 {
    grid-area: 1 / 1 / 2 / 2;
}

.sffm-floatmenu-template-10 .sffm-menu-items {
    --sffm-translate-y: 0px;
    --sffm-translate-x: 0px;
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-1,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-1 {
    --sffm-translate-y: calc(1*100% + 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-3,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-3 {
    --sffm-translate-y: calc(2*100% + 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-5,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-5 {
    --sffm-translate-y: calc(3*100% + 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-7,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-7 {
    --sffm-translate-y: calc(4*100% + 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-9,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-9 {
    --sffm-translate-y: calc(5*100% + 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-11,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-11 {
    --sffm-translate-y: calc(6*100% + 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-13,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-13 {
    --sffm-translate-y: calc(7*100% + 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-15,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-15 {
    --sffm-translate-y: calc(8*100% + 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-17,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-17 {
    --sffm-translate-y: calc(9*100% + 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-1,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-1 {
    --sffm-translate-y: calc(-1*100% - 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-3,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-3 {
    --sffm-translate-y: calc(-2*100% - 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-5,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-5 {
    --sffm-translate-y: calc(-3*100% - 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-7,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-7 {
    --sffm-translate-y: calc(-4*100% - 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-9,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-9 {
    --sffm-translate-y: calc(-5*100% - 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-11,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-11 {
    --sffm-translate-y: calc(-6*100% - 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-13,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-13 {
    --sffm-translate-y: calc(-7*100% - 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-15,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-15 {
    --sffm-translate-y: calc(-8*100% - 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-17,
.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-17 {
    --sffm-translate-y: calc(-9*100% - 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-2,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-2 {
    --sffm-translate-x: calc(-1*100% - 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-4,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-4 {
    --sffm-translate-x: calc(-2*100% - 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-6,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-6 {
    --sffm-translate-x: calc(-3*100% - 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-8,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-8 {
    --sffm-translate-x: calc(-4*100% - 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-10,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-10 {
    --sffm-translate-x: calc(-5*100% - 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-12,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-12 {
    --sffm-translate-x: calc(-6*100% - 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-14,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-14 {
    --sffm-translate-x: calc(-7*100% - 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-16,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-16 {
    --sffm-translate-x: calc(-8*100% - 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-left .sffm-menu-no-18,
.sffm-floatmenu-template-10.sffm-position-bottom-left .sffm-menu-no-18 {
    --sffm-translate-x: calc(-9*100% - 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-2,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-2 {
    --sffm-translate-x: calc(1*100% + 1*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-4,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-4 {
    --sffm-translate-x: calc(2*100% + 2*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-6,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-6 {
    --sffm-translate-x: calc(3*100% + 3*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-8,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-8 {
    --sffm-translate-x: calc(4*100% + 4*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-10,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-10 {
    --sffm-translate-x: calc(5*100% + 5*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-12,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-12 {
    --sffm-translate-x: calc(6*100% + 6*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-14,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-14 {
    --sffm-translate-x: calc(7*100% + 7*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-16,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-16 {
    --sffm-translate-x: calc(8*100% + 8*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10.sffm-position-top-right .sffm-menu-no-18,
.sffm-floatmenu-template-10.sffm-position-bottom-right .sffm-menu-no-18 {
    --sffm-translate-x: calc(9*100% + 9*var(--sffm-button-gap, 5px));
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-1,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-2 {
    transition-delay: 0.1s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-3,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-4 {
    transition-delay: 0.2s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-5,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-6 {
    transition-delay: 0.3s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-7,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-8 {
    transition-delay: 0.4s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-9,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-10 {
    transition-delay: 0.5s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-11,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-12 {
    transition-delay: 0.6s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-13,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-14 {
    transition-delay: 0.7s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-15,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-16 {
    transition-delay: 0.8s;
}

.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-17,
.sffm-floatmenu-template-10[class*="sffm-step-"] ul.sffm-menu li.sffm-menu-no-18 {
    transition-delay: 0.9s;
}

.sffm-floatmenu-template-10.sffm-shape-oval ul.sffm-menu li:nth-child(odd) a {
    clip-path: ellipse(35% 50% at 50% 50%)
}

.sffm-floatmenu-template-10.sffm-position-top-left ul.sffm-menu li:nth-child(even) .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-bottom-left ul.sffm-menu li:nth-child(even) .sffm-tooltip {
    left: 100%;
    margin-left: var(--sffm-tooltip-indent, -20px);
    top: 50%;
    transform: translateY(-50%);
}

.sffm-floatmenu-template-10.sffm-position-top-left ul.sffm-menu li:nth-child(odd) .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-top-right ul.sffm-menu li:nth-child(odd) .sffm-tooltip {
    transform: rotate(90deg) translateY(-50%);
    transform-origin: 0 0;
    left: 50%;
    top: 100%;
    margin-top: var(--sffm-tooltip-indent, -20px);
}

.sffm-floatmenu-template-10.sffm-position-top-right ul.sffm-menu li:nth-child(even) .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-bottom-right ul.sffm-menu li:nth-child(even) .sffm-tooltip {
    right: 100%;
    margin-right: var(--sffm-tooltip-indent, -20px);
    top: 50%;
    transform: translateY(-50%);
}

.sffm-floatmenu-template-10.sffm-position-bottom-left ul.sffm-menu li:nth-child(odd) .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-bottom-right ul.sffm-menu li:nth-child(odd) .sffm-tooltip {
    transform: rotate(-90deg) translateY(50%);
    transform-origin: 0 100%;
    left: 50%;
    bottom: 100%;
    margin-bottom: var(--sffm-tooltip-indent, -20px);
}

.sffm-floatmenu-template-10.sffm-position-top-left ul.sffm-menu li:nth-child(even):hover .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-bottom-left ul.sffm-menu li:nth-child(even):hover .sffm-tooltip {
    margin-left: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-floatmenu-template-10.sffm-position-top-right ul.sffm-menu li:nth-child(even):hover .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-bottom-right ul.sffm-menu li:nth-child(even):hover .sffm-tooltip {
    margin-right: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-floatmenu-template-10.sffm-position-top-left ul.sffm-menu li:nth-child(odd):hover .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-top-right ul.sffm-menu li:nth-child(odd):hover .sffm-tooltip {
    margin-top: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-floatmenu-template-10.sffm-position-bottom-left ul.sffm-menu li:nth-child(odd):hover .sffm-tooltip,
.sffm-floatmenu-template-10.sffm-position-bottom-right ul.sffm-menu li:nth-child(odd):hover .sffm-tooltip {
    margin-bottom: var(--sffm-tooltip-indent-hover, 10px);
}

.sffm-floatmenu-template-10.sffm-position-bottom-left li .sffm-tooltip:before,
.sffm-floatmenu-template-10.sffm-position-bottom-right ul.sffm-menu li .sffm-tooltip:before,
.sffm-floatmenu-template-10.sffm-position-top-right ul.sffm-menu li:nth-child(odd) .sffm-tooltip:before,
.sffm-floatmenu-template-10.sffm-position-top-left ul.sffm-menu li .sffm-tooltip:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 100%;
    border-width: 5px;
    border-style: solid;
    border-color: transparent var(--sffm-tooltip-bg-color, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000))) transparent transparent;
    transform: translateY(-50%);
}

.sffm-floatmenu-template-10.sffm-position-top-right ul.sffm-menu li:nth-child(even) .sffm-tooltip:before,
.sffm-floatmenu-template-10.sffm-position-bottom-right ul.sffm-menu li:nth-child(even) .sffm-tooltip:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent var(--sffm-tooltip-bg-color, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000)));
    transform: translateY(-50%);
}


/*==============================================================
Template 11
==============================================================*/

.sffm-floatmenu-template-11 ul.sffm-menu,
.sffm-floatmenu-template-11 .sffm-circular-placeholder {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: var(--sffm-buttton-size, 50px);
    width: var(--sffm-buttton-size, 50px);
}

    .sffm-floatmenu-template-11 ul.sffm-menu li {
        position: absolute;
    }

.sffm-floatmenu-template-11 .sffm-floatmenu-hide ul.sffm-menu li {
    left: 50% !important;
    top: 50% !important;
    margin-left: calc(var(--sffm-buttton-size, 50px)/2 * -1);
    margin-top: calc(var(--sffm-buttton-size, 50px)/2 * -1);
}

.sffm-circular-yes ul.sffm-menu li .sffm-tooltip {
    left: 50%;
    top: 50%;
    transform-origin: 0 0;
}

    .sffm-circular-yes ul.sffm-menu li .sffm-tooltip:before {
        content: "";
        position: absolute;
        top: 50%;
        right: 100%;
        border-width: 5px;
        border-style: solid;
        border-color: transparent var(--sffm-tooltip-bg-color, var(--sffm-button-bg-hover, var(--sffm-button-bg, #000))) transparent transparent;
        transform: translateY(-50%);
    }

.sffm-floatmenu-template-11.sffm-right-side ul.sffm-menu li .sffm-tooltip a,
.sffm-floatmenu-template-12.sffm-right-side ul.sffm-menu li .sffm-tooltip a,
.sffm-floatmenu-template-12.sffm-position-top-middle ul.sffm-menu li.sffm-inverse .sffm-tooltip a,
.sffm-floatmenu-template-12.sffm-position-bottom-middle ul.sffm-menu li:not(.sffm-inverse) .sffm-tooltip a,
.sffm-floatmenu-template-14.sffm-right-side ul.sffm-menu li .sffm-tooltip a,
.sffm-floatmenu-template-13 ul.sffm-menu li.sffm-inverse .sffm-tooltip a,
.sffm-floatmenu-template-15 ul.sffm-menu li.sffm-inverse .sffm-tooltip a {
    display: inline-block;
    transform: rotate(180deg);
}


/*==============================================================
Template 12
==============================================================*/

.sffm-floatmenu-template-12 {
    --sffm-menu-offset-left: 20px;
    --sffm-menu-offset-right: 20px;
    --sffm-menu-offset-top: 20px;
    --sffm-menu-offset-bottom: 20px;
}

    .sffm-floatmenu-template-12 .sffm-floatmenu-inner-wrap {
        position: relative;
    }

    .sffm-floatmenu-template-12 ul.sffm-menu,
    .sffm-floatmenu-template-12 .sffm-circular-placeholder {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: var(--sffm-buttton-size, 50px);
        width: var(--sffm-buttton-size, 50px);
    }

        .sffm-floatmenu-template-12 ul.sffm-menu li {
            position: absolute;
        }

    .sffm-floatmenu-template-12 .sffm-floatmenu-hide ul.sffm-menu li {
        left: 50% !important;
        top: 50% !important;
        margin-left: calc(var(--sffm-buttton-size, 50px)/2 * -1);
        margin-top: calc(var(--sffm-buttton-size, 50px)/2 * -1);
    }

.sffm-floatmenu-template-12 {
    --sffm-tooltip-indent: 0;
    --sffm-tooltip-indent-hover: 0;
}


/*
.sffm-floatmenu-template-12 ul.sffm-menu li .sffm-tooltip:before{
    display: none;
}

.sffm-floatmenu-template-12 ul.sffm-menu li .sffm-tooltip{
    height: 100%;
    display: flex;
    align-items: center;
    padding: 20px;    
    transition: none;
    border-radius: 0;
}

.sffm-floatmenu-template-12.sffm-position-middle-left.sffm-orientation-vertical ul.sffm-menu li:hover{
    background: var(--sffm-button-bg, #111);
    background: linear-gradient(90deg, transparent 50%, var(--sffm-button-bg, #111) 50%);
}

.sffm-floatmenu-template-12.sffm-position-middle-right.sffm-orientation-vertical ul.sffm-menu li:hover{
    background: var(--sffm-button-bg, #111);
    background: linear-gradient(-90deg, transparent 50%, var(--sffm-button-bg, #111) 50%);
}

.sffm-floatmenu-template-12.sffm-position-middle-right.sffm-orientation-vertical ul.sffm-menu li:hover{
    background: var(--sffm-button-bg, #111);
    background: linear-gradient(-90deg, transparent 50%, var(--sffm-button-bg, #111) 50%);
}

.sffm-floatmenu-template-12.sffm-position-middle-left.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li .sffm-tooltip,
.sffm-floatmenu-template-12.sffm-position-middle-left.sffm-orientation-vertical.sffm-shape-oval ul.sffm-menu li .sffm-tooltip{
    border-radius: 0 var(--sffm-buttton-size, 50px)  var(--sffm-buttton-size, 50px) 0;
}

.sffm-floatmenu-template-12.sffm-position-middle-right.sffm-orientation-vertical.sffm-shape-round ul.sffm-menu li .sffm-tooltip,
.sffm-floatmenu-template-12.sffm-position-middle-right.sffm-orientation-vertical.sffm-shape-oval ul.sffm-menu li .sffm-tooltip{
    border-radius: var(--sffm-buttton-size, 50px) 0 0 var(--sffm-buttton-size, 50px);
}

.sffm-floatmenu-template-12.sffm-position-middle-left.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li .sffm-tooltip{
    border-radius: 0 0.3em 0.3em 0;
}

.sffm-floatmenu-template-12.sffm-position-middle-right.sffm-orientation-vertical.sffm-shape-rounded-square ul.sffm-menu li .sffm-tooltip{
    border-radius: 0.3em 0 0 0.3em;
}
*/


/*===========================================================
Template 13
============================================================*/

.sffm-floatmenu-template-13 .sffm-floatmenu-inner-wrap {
    position: relative;
}

.sffm-floatmenu-template-13 ul.sffm-menu,
.sffm-floatmenu-template-13 .sffm-circular-placeholder {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    height: var(--sffm-buttton-size, 50px);
    width: var(--sffm-buttton-size, 50px);
}

    .sffm-floatmenu-template-13 ul.sffm-menu li {
        position: absolute;
    }

.sffm-floatmenu-template-13 .sffm-floatmenu-hide ul.sffm-menu li {
    left: 50% !important;
    top: 50% !important;
    margin-left: calc(var(--sffm-buttton-size, 50px)/2 * -1);
    margin-top: calc(var(--sffm-buttton-size, 50px)/2 * -1);
}


/*===========================================================
Circular Styles
============================================================*/

.sffm-style-2.sffm-circular-yes ul.sffm-menu:before,
.sffm-style-3.sffm-circular-yes ul.sffm-menu:before,
.sffm-style-4.sffm-circular-yes ul.sffm-menu:before {
    content: "";
    position: absolute;
    border-radius: 50%;
    transition: all 0.3s ease;
}

.sffm-style-3.sffm-circular-yes ul.sffm-menu:before,
.sffm-style-4.sffm-circular-yes ul.sffm-menu:before {
    background: var(--sffm-circle-bg-color, rgba(0, 0, 0, 0.8));
}

.sffm-style-2.sffm-circular-yes ul.sffm-menu:before {
    border: 5px solid var(--sffm-circle-bg-color, #000);
}

.sffm-style-2.sffm-circular-yes .sffm-floatmenu-hide ul.sffm-menu:before,
.sffm-style-3.sffm-circular-yes .sffm-floatmenu-hide ul.sffm-menu:before,
.sffm-style-4.sffm-circular-yes .sffm-floatmenu-hide ul.sffm-menu:before {
    transform: scale(0);
    opacity: 0;
}

.sffm-style-2.sffm-circular-yes .sffm-floatmenu-show ul.sffm-menu:before,
.sffm-style-3.sffm-circular-yes .sffm-floatmenu-show ul.sffm-menu:before,
.sffm-style-4.sffm-circular-yes .sffm-floatmenu-show ul.sffm-menu:before {
    transform: scale(1);
    opacity: 1;
}

.sffm-floatmenu-wrapper[class*="sffm-no-step-"] .sffm-floatmenu-hide ul.sffm-menu:before {
    transition-delay: 0.05s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="1"] ul.sffm-menu:before {
    transition-delay: 0.05s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="2"] ul.sffm-menu:before {
    transition-delay: 0.1s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="3"] ul.sffm-menu:before {
    transition-delay: 0.15s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="4"] ul.sffm-menu:before {
    transition-delay: 0.2s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="5"] ul.sffm-menu:before {
    transition-delay: 0.25s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="6"] ul.sffm-menu:before {
    transition-delay: 0.3s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="7"] ul.sffm-menu:before {
    transition-delay: 0.35s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="8"] ul.sffm-menu:before {
    transition-delay: 0.4s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="9"] ul.sffm-menu:before {
    transition-delay: 0.45s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="10"] ul.sffm-menu:before {
    transition-delay: 0.5s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="11"] ul.sffm-menu:before {
    transition-delay: 0.55s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="12"] ul.sffm-menu:before {
    transition-delay: 0.6s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="13"] ul.sffm-menu:before {
    transition-delay: 0.65s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="14"] ul.sffm-menu:before {
    transition-delay: 0.7s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="15"] ul.sffm-menu:before {
    transition-delay: 0.75s;
}

.sffm-floatmenu-wrapper[class*="sffm-step-"] .sffm-floatmenu-hide[data-number="16"] ul.sffm-menu:before {
    transition-delay: 0.8s;
}

.sffm-menu-no-0 {
    opacity: 0;
    visibility: hidden;
}

/**********************
.sffm-floatmenu-wrapper ul.sffm-menu {
    -webkit-filter: url("#sffm-shadowed-goo");
    filter: url("#sffm-shadowed-goo");
}
*/
ul.sffm-nav-menu li::marker {
    content: "";
}

/*===========================================================
Template 14
============================================================*/

.sffm-floatmenu-template-14 ul.sffm-nav-menu {
    display: flex;
    flex-direction: column;
    padding: 0;
    margin: 0;
    list-style: none;
    gap: var(--sffm-nav-item-gap, 10px);
}

    .sffm-floatmenu-template-14 ul.sffm-nav-menu a {
        position: relative;
        display: block;
        margin: 0;
        padding: 0;
        border: 0;
        background: none;
        width: var(--sffm-nav-item-size, 25px);
        height: var(--sffm-nav-item-size, 25px);
    }

    .sffm-floatmenu-template-14 ul.sffm-nav-menu li a .sffm-tooltip {
        position: absolute;
        line-height: 1;
        height: 100%;
        padding: 0;
        white-space: nowrap;
        display: flex;
        align-items: center;
        color: var(--sffm-tooltip-text-color, #000);
        font-family: var(--sffm-tooltip-font-family, Default);
        font-weight: var(--sffm-tooltip-font-weight, 400);
        font-style: var(--sffm-tooltip-font-style, normal);
        text-transform: var(--sffm-tooltip-text-transform, none);
        text-decoration: var(--sffm-tooltip-text-decoration, none);
        font-size: var(--sffm-tooltip-font-size, inherit);
        line-height: var(--sffm-tooltip-line-height, inherit);
        letter-spacing: var(--sffm-tooltip-letter-spacing, inherit);
        visibility: hidden;
    }

    .sffm-floatmenu-template-14 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip,
    .sffm-floatmenu-template-14 ul.sffm-nav-menu li:hover a .sffm-tooltip {
        visibility: visible;
    }

    .sffm-floatmenu-template-14 ul.sffm-nav-menu li a .sffm-tooltip:hover {
        color: var(--sffm-tooltip-hover-text-color, var(--sffm-tooltip-text-color, #000));
    }

.sffm-floatmenu-template-14.sffm-position-middle-left ul.sffm-nav-menu li a .sffm-tooltip {
    left: 100%;
    margin: 0 0 0 15px;
}

.sffm-floatmenu-template-14.sffm-position-middle-right ul.sffm-nav-menu li a .sffm-tooltip {
    right: 100%;
    margin: 0 15px 0 0;
}

.sffm-floatmenu-template-14.sffm-position-middle-left {
    --sffm-menu-offset-left: 20px;
}

.sffm-floatmenu-template-14.sffm-position-middle-right {
    --sffm-menu-offset-right: 20px;
}

/*Template 14 Animation 1*/

.sffm-floatmenu-template-14.sffm-animation-1 ul.sffm-nav-menu li a:after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: calc(100% - 4px);
    height: calc(100% - 4px);
    border: 2px solid transparent;
    background: var(--sffm-nav-item-bg, #DDD);
}

.sffm-floatmenu-template-14.sffm-animation-1 ul.sffm-nav-menu li a.sffm-scrollsection-active:after {
    z-index: 10;
    border-color: var(--sffm-nav-item-border-active, #000);
    background: var(--sffm-nav-item-bg-active, transparent);
    transform: scale(1.5);
    transition: transform 0.3s, background-color 0.3s, border-color 0.3s;
}

.sffm-floatmenu-template-14.sffm-animation-1 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:after {
    background: var(--sffm-nav-item-bg-hover, #000);
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-1 ul.sffm-nav-menu li a .sffm-tooltip {
    opacity: 0;
    transform: translate3d(-20px, 0, 0);
    transition: transform 0.3s, opacity 0.3s;
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-1 ul.sffm-nav-menu li a .sffm-tooltip {
    opacity: 0;
    transform: translate3d(20px, 0, 0);
    transition: transform 0.3s, opacity 0.3s;
}

.sffm-floatmenu-template-14.sffm-animation-1 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: translate3d(0, 0, 0);
}

.sffm-floatmenu-template-14.sffm-animation-1 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}


/*Template 14 Animation 2*/

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a:before,
.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a:after {
    content: '';
    position: absolute;
    border-radius: 50%;
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a:before {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--sffm-nav-item-bg, #DDD);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
    transform: scale(1.2);
    background: var(--sffm-nav-item-bg-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    transform: scale(0.35);
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a:after {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    box-shadow: inset 0 0 0 3px var(--sffm-nav-item-border-active, #000);
    transform: scale(0.35);
    transition: transform 0.5s, box-shadow 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a.sffm-scrollsection-active:after {
    opacity: 1;
    transform: scale(1);
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a .sffm-tooltip {
    opacity: 0;
    transform: scale(0);
    transform-origin: 50% 50%;
    transition: opacity 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: scale(1);
    transition-delay: 0.1s;
}

.sffm-floatmenu-template-14.sffm-animation-2 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transform: scale(1);
    transition-delay: 0.1s;
}


/*Template 14 Animation 3*/

.sffm-floatmenu-template-14.sffm-animation-3 ul.sffm-nav-menu li a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset 0 0 0 8px var(--sffm-nav-item-bg, #DDD);
    border-radius: 50%;
    transition: transform 0.3s, box-shadow 0.3s;
}

.sffm-floatmenu-template-14.sffm-animation-3 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
    box-shadow: inset 0 0 0 10px var(--sffm-nav-item-bg-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-3 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    transform: scale(1.2);
    box-shadow: inset 0 0 0 2px var(--sffm-nav-item-border-active, #000);
}

.sffm-floatmenu-template-14.sffm-animation-3 ul.sffm-nav-menu li a .sffm-tooltip {
    opacity: 0;
    transform-origin: 0 50%;
    transform: scale(0.5);
    transition: opacity 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-3 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: scale(1);
}

.sffm-floatmenu-template-14.sffm-animation-3 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transform: scale(1);
}

/*Template 14 Animation 4*/

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li a:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    background: var(--sffm-nav-item-bg, #DDD);
    transition: background 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    background: var(--sffm-nav-item-bg-active, #000);
}

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
    background: var(--sffm-nav-item-bg-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li .sffm-svg-icon {
    position: absolute;
    left: -10px;
    bottom: -15px;
    height: 20px;
    width: 30px;
    fill: var(--sffm-tooltip-text-color, #000);
}

.sffm-floatmenu-template-14.sffm-right-side.sffm-animation-4 ul.sffm-nav-menu li .sffm-svg-icon {
    right: -10px;
    left: auto;
    transform: scaleX(-1);
}

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li a .sffm-tooltip {
    height: auto;
    line-height: 1;
    bottom: 100%;
    opacity: 0;
    transform: scale3d(0, 0, 1);
    transform-origin: 0 100%;
    transition: transform 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transform: scale(1);
}

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li .sffm-tooltip:hover .sffm-svg-icon {
    fill: var(--sffm-tooltip-hover-text-color, var(--sffm-tooltip-text-color, #000));
}

.sffm-floatmenu-template-14.sffm-animation-4 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: scale(1);
}


/*Template 14 Animation 5*/

.sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu {
    gap: var(--sffm-nav-item-gap, 20px);
}

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a:before,
    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a:after {
        content: '';
        position: absolute;
    }

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li:not(:last-child) a:before {
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 2px;
        height: var(--sffm-nav-item-gap, 20px);
        background: var(--sffm-nav-item-border, #DDD);
    }

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a:after {
        top: 0%;
        left: 0;
        width: 100%;
        height: 100%;
        border: 2px solid var(--sffm-nav-item-border, #DDD);
        border-radius: 50%;
        transition: transform 0.3s, border-color 0.3s, background 0.3s;
    }

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a.sffm-scrollsection-active:after {
        border-color: var(--sffm-nav-item-bg-active, #000);
        background: var(--sffm-nav-item-bg-active, #000);
        transform: scale(1.4);
    }

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:after {
        border-color: var(--sffm-nav-item-border-hover, #000);
    }

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a .sffm-tooltip {
        opacity: 0.3;
        transition: opacity 0.3s, color 0.3s;
    }

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
        opacity: 0.5;
    }

    .sffm-floatmenu-template-14.sffm-animation-5 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
        opacity: 1;
    }

/*Template 14 Animation 6*/

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu li a:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: var(--sffm-nav-item-bg-active, #000);
    top: 0;
    left: 0;
    border-radius: 50%;
    transform: scale3d(0, 0, 1);
    transition: transform 0.2s;
    animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    transform: scale3d(1, 1, 1);
    transition-delay: 0.35s;
}

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu .sffm-svg-icon {
    display: block;
    position: relative;
    z-index: 10;
    width: 100%;
    height: 100%;
    fill: none;
    stroke: var(--sffm-nav-item-border, #DDD);
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-dasharray: 39 39;
    stroke-dashoffset: 0;
    -webkit-transition: stroke-dashoffset 0.4s, opacity 0.3s;
    transition: stroke-dashoffset 0.4s, opacity 0.3s;
    -webkit-animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-svg-icon {
    stroke: var(--sffm-nav-item-border-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-svg-icon {
    opacity: 0;
    /* length of circle path (pi*2r) */
    stroke-dashoffset: 39;
    -webkit-transition-duration: 0.4s, 0.2s;
    transition-duration: 0.4s, 0.2s;
    -webkit-transition-delay: 0s, 0.2s;
    transition-delay: 0s, 0.2s;
}

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu li a .sffm-tooltip {
    top: 50%;
    transform: translateY(0);
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
}

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: translateY(-50%);
}

.sffm-floatmenu-template-14.sffm-animation-6 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    transform: translateY(-50%);
    opacity: 1;
}

/*Template 14 Animation 7*/

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    border-radius: 50%;
    background: var(--sffm-nav-item-bg, #DDD);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before,
.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    transform: scale(1);
}

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
    background: var(--sffm-nav-item-bg-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--sffm-nav-item-bg-active, #000);
    ;
    border-radius: 50%;
    transform: scale(0);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a.sffm-scrollsection-active:after {
    transform: scale(1);
}

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a .sffm-tooltip {
    opacity: 0;
    transition: transform 0.5s, opacity 0.3s;
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-7 ul.sffm-nav-menu li a .sffm-tooltip {
    transform: translate3d(-20px, 0, 0);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-7 ul.sffm-nav-menu li a .sffm-tooltip {
    transform: translate3d(20px, 0, 0);
}

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: translate3d(0, 0, 0);
}

.sffm-floatmenu-template-14.sffm-animation-7 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}


/*Template 14 Animation 8*/

.sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a {
    width: 35px;
    height: 35px;
}

    .sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a:before {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        width: var(--sffm-nav-item-size, 25px);
        height: var(--sffm-nav-item-size, 25px);
        margin-top: calc(var(--sffm-nav-item-size, 25px)/2 * -1);
        margin-left: calc(var(--sffm-nav-item-size, 25px)/2 * -1);
        border-radius: 50%;
        background: var(--sffm-nav-item-bg, #DDD);
        transition: transform 0.3s, opacity 0.3s;
        animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    }

    .sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
        background: var(--sffm-nav-item-bg-hover, #000);
    }

    .sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
        opacity: 0;
        transform: translate3d(0, 1.5em, 0) scale3d(0, 0, 1);
    }

.sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu .sffm-svg-icon {
    z-index: 100;
    display: block;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    opacity: 0;
    transform: scale3d(0, 0, 1);
    transform-origin: 50% 100%;
    transition: transform 0.3s, opacity 0.3s;
    animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    fill: var(--sffm-nav-item-bg-active, #000);
}

.sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-svg-icon {
    opacity: 1;
    transform: scale3d(1, 1, 1);
}

.sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a .sffm-tooltip {
    top: 50%;
    transform: translateY(0);
    opacity: 0;
    transition: transform 0.3s, opacity 0.3s;
    animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transition-delay: 0.2s;
    transform: translateY(-50%);
}

.sffm-floatmenu-template-14.sffm-animation-8 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transition-delay: 0.2s;
    transform: translateY(-50%);
}


/*Template 14 Animation 9*/
.sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu {
    gap: var(--sffm-nav-item-gap, 20px);
}

    .sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu li a {
        display: flex;
        align-items: center;
        gap: var(--sffm-nav-item-gap, 15px);
        height: 6px;
        width: 40px;
    }

        .sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu li a:before {
            position: absolute;
            top: 0;
            content: '';
            width: 100%;
            height: 100%;
            border-radius: 2px;
            background: var(--sffm-nav-item-bg, #DDD);
            transform-origin: 0 0;
            transition: width 0.5s, background-color 0.5s;
            transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
        }

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-9 ul.sffm-nav-menu li a:before {
    left: 0;
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-9 ul.sffm-nav-menu li a:before {
    right: 0;
}

.sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
    background: var(--sffm-nav-item-bg-hover, #000);
    transition: background-color 0.3s;
}

.sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    background: var(--sffm-nav-item-bg-active, #000);
    width: 15px;
}

.sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu li a .sffm-tooltip {
    opacity: 0;
    transition: opacity 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-9 ul.sffm-nav-menu li a .sffm-tooltip {
    transform: translate3d(20px, 0, 0);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-9 ul.sffm-nav-menu li a .sffm-tooltip {
    transform: translate3d(-20px, 0, 0);
}

.sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    transition-delay: 0.1s;
    opacity: 0.6;
    transform: translate3d(0, 0, 0);
}

.sffm-floatmenu-template-14.sffm-animation-9 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    transition-delay: 0.1s;
    opacity: 1;
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-9 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    transform: translate3d(-30px, 0, 0);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-9 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    transform: translate3d(30px, 0, 0);
}


/*Template 14 Animation 10*/

.sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu {
    gap: var(--sffm-nav-item-gap, 30px);
}

    .sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu a {
        height: 10px;
        width: 30px;
    }

    .sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu li a:before {
        content: '';
        position: absolute;
        top: 4px;
        height: 2px;
        width: 30px;
        background: var(--sffm-nav-item-bg, #DDD);
        transition: width 0.3s;
        transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    }

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-10 ul.sffm-nav-menu li a:before {
    left: 0;
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-10 ul.sffm-nav-menu li a:before {
    right: 0;
}

.sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
    background: var(--sffm-nav-item-bg-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    background: var(--sffm-nav-item-bg-active, #000);
    width: var(--sffm-span-width);
}

.sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu li a .sffm-tooltip {
    bottom: 0;
    opacity: 0;
    margin: 0 0 5px;
    height: auto;
    line-height: 1;
    transform: translateY(100%);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-10 ul.sffm-nav-menu li a .sffm-tooltip {
    left: 40px;
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-10 ul.sffm-nav-menu li a .sffm-tooltip {
    right: 40px;
}

.sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    bottom: 100%;
    transform: translateY(0);
}

.sffm-floatmenu-template-14.sffm-animation-10 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    bottom: 100%;
    transform: translateY(0);
}


/*Template 14 Animation 11*/

.sffm-floatmenu-template-14.sffm-position-middle-right ul.sffm-nav-menu {
    align-items: flex-end;
}

.sffm-floatmenu-template-14.sffm-animation-11 ul.sffm-nav-menu li a {
    display: flex;
    align-items: center;
    height: auto;
    width: var(--sffm-span-width);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-11 ul.sffm-nav-menu li a {
    justify-content: flex-end;
}

.sffm-floatmenu-template-14.sffm-animation-11 ul.sffm-nav-menu li a:before {
    content: '';
    position: absolute;
    top: 50%;
    width: 30px;
    height: 4px;
    margin-top: -2px;
    border-radius: 2px;
    background: var(--sffm-nav-item-bg, #DDD);
    transition: opacity 0.3s;
}

.sffm-floatmenu-template-14.sffm-animation-11 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    background: var(--sffm-nav-item-bg-active, #000);
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-11 ul.sffm-nav-menu li a:before {
    left: 0;
    transform-origin: 0% 50%;
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-11 ul.sffm-nav-menu li a:before {
    right: 0;
    transform-origin: 100% 50%;
}

.sffm-floatmenu-template-14.sffm-animation-11 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:before {
    opacity: 1;
    background: var(--sffm-nav-item-bg-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-11 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    opacity: 1;
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-11 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    animation: moveScaleLeft 0.3s ease forwards;
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-11 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    animation: moveScaleRight 0.3s ease forwards;
}

@-webkit-keyframes moveScaleLeft {
    50% {
        right: auto;
        left: 0;
        width: 30px;
        transform-origin: 0% 50%;
    }

    51% {
        right: auto;
        left: 0;
        width: var(--sffm-span-width);
        transform-origin: 100% 50%;
    }

    100% {
        right: 0;
        left: auto;
        width: 30px;
        transform-origin: 100% 50%;
    }
}

@keyframes moveScaleLeft {
    50% {
        right: auto;
        left: 0;
        width: 30px;
    }

    51% {
        right: auto;
        left: 0;
        width: var(--sffm-span-width);
    }

    100% {
        right: 0;
        left: auto;
        width: 30px;
    }
}

@-webkit-keyframes moveScaleRight {
    50% {
        right: 0;
        left: auto;
        width: 30px;
    }

    51% {
        right: auto;
        left: 0;
        width: var(--sffm-span-width);
    }

    100% {
        right: auto;
        left: 0;
        width: 30px;
    }
}

@keyframes moveScaleRight {
    50% {
        right: 0;
        left: auto;
        width: 30px;
    }

    51% {
        right: auto;
        left: 0;
        width: var(--sffm-span-width);
    }

    100% {
        right: auto;
        left: 0;
        width: 30px;
    }
}

.sffm-floatmenu-template-14.sffm-animation-11 ul.sffm-nav-menu li a .sffm-tooltip {
    position: static;
    padding: 0;
    margin: 0;
    opacity: 0;
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-11 ul.sffm-nav-menu li a .sffm-tooltip {
    transform: translate3d(-100px, 0, 0);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-11 ul.sffm-nav-menu li a .sffm-tooltip {
    transform: translate3d(100px, 0, 0);
}

.sffm-floatmenu-template-14.sffm-animation-11 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    animation: moveToRight 0.3s 0.2s forwards;
}

@-webkit-keyframes moveToRight {
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    }
}

@keyframes moveToRight {
    100% {
        opacity: 1;
        transform: translate3d(0, 0, 0);
        animation-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    }
}


/*Template 14 Animation 12*/

.sffm-floatmenu-template-14.sffm-animation-12 ul.sffm-nav-menu .sffm-svg-icon {
    width: 100%;
    height: 100%;
    transform: rotate3d(0, 0, 1, -90deg);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
    fill: var(--sffm-nav-item-border, #DDD);
}


.sffm-floatmenu-template-14.sffm-animation-12 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-svg-icon {
    fill: var(--sffm-nav-item-border-hover, #000);
}

.sffm-floatmenu-template-14.sffm-animation-12 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-svg-icon {
    fill: var(--sffm-nav-item-border-active, #000);
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-12 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-svg-icon {
    transform: rotate3d(0, 0, 1, 0);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-12 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-svg-icon {
    transform: rotate3d(0, 0, 1, -180deg);
}

.sffm-floatmenu-template-14.sffm-animation-12 ul.sffm-nav-menu li a .sffm-tooltip {
    top: 50%;
    opacity: 0;
    transform: translate3d(0, 0, 0);
    transition: transform 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-12 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: translate3d(0, -50%, 0);
}

.sffm-floatmenu-template-14.sffm-animation-12 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transform: translate3d(0, -50%, 0);
}


/*Template 14 Animation 13*/

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a {
    height: 30px;
    -webkit-perspective: 500px;
    perspective: 500px;
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-13 ul.sffm-nav-menu li a {
    margin-left: var(--sffm-nav-item-size, 25px);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-13 ul.sffm-nav-menu li a {
    margin-right: var(--sffm-nav-item-size, 25px);
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a:before,
.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: var(--sffm-nav-item-size, 25px);
    height: 100%;
    border: 2px solid var(--sffm-nav-item-border, #DDD);
    background: var(--sffm-nav-item-bg, #EEE);
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a:before {
    transition: background-color 0s 0.2s;
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a.sffm-scrollsection-active:before {
    background: var(--sffm-nav-item-bg-active, #FFF);
    transition: none;
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a:after {
    box-shadow: 0px 0 9px -4px rgba(0, 0, 0, 0);
    transition: transform 0.5s, background-color 0s 0.15s, box-shadow 0.5s;
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-13 ul.sffm-nav-menu li a:after {
    transform-origin: 1px 50%;
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-13 ul.sffm-nav-menu li a:after {
    transform-origin: calc(100% - 1px) 50%;
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover:after {
    box-shadow: 6px 0 9px -4px rgba(0, 0, 0, 0.2);
    transform: rotate3d(0, 1, 0, -15deg);
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a.sffm-scrollsection-active:after {
    background-color: var(--sffm-nav-item-bg-active, #FFF);
    box-shadow: 6px 0 9px -4px rgba(0, 0, 0, 0.2);
}

.sffm-floatmenu-template-14.sffm-position-middle-left.sffm-animation-13 ul.sffm-nav-menu li a.sffm-scrollsection-active:after {
    transform: rotate3d(0, 1, 0, -145deg);
}

.sffm-floatmenu-template-14.sffm-position-middle-right.sffm-animation-13 ul.sffm-nav-menu li a.sffm-scrollsection-active:after {
    transform: rotate3d(0, 1, 0, 145deg);
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a .sffm-tooltip {
    opacity: 0;
    transform: scale(0);
    transition: opacity 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.2, 1, 0.3, 1);
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a:not(.sffm-scrollsection-active):hover .sffm-tooltip {
    opacity: 0.6;
    transform: scale(1);
}

.sffm-floatmenu-template-14.sffm-animation-13 ul.sffm-nav-menu li a.sffm-scrollsection-active .sffm-tooltip {
    opacity: 1;
    transform: scale(1);
}

/*-----------------------*/

.sffm-toggle-button {
    position: relative;
    display: block;
    width: var(--sffm-hamburger-width, 25px);
    height: var(--sffm-hamburger-thickness, 2px);
    margin: 0 auto;
    border: none;
    cursor: pointer;
    background: var(--sffm-trigger-btn-icon-color, var(--sffm-button-color, #FFF));
    color: inherit;
    font-size: 0;
}

    .sffm-toggle-button:before,
    .sffm-toggle-button:after {
        position: absolute;
        top: 0;
        left: 50%;
        display: block;
        width: 100%;
        height: var(--sffm-hamburger-thickness, 2px);
        background: var(--sffm-trigger-btn-icon-color, var(--sffm-button-color, #FFF));
        content: "";
    }

.sffm-toggle-animating.sffm-toggle-button {
    transition: all 0.35s;
}

    .sffm-toggle-animating.sffm-toggle-button:before,
    .sffm-toggle-animating.sffm-toggle-button:after {
        transition: transform 0.35s;
    }

.sffm-floatmenu-trigger:hover .sffm-toggle-button,
.sffm-floatmenu-trigger:hover .sffm-toggle-button:before,
.sffm-floatmenu-trigger:hover .sffm-toggle-button:after {
    background: var(--sffm-trigger-btn-hover-icon-color, var(--sffm-trigger-btn-icon-color, var(--sffm-button-color-hover, var(--sffm-button-color, #FFF))));
}

.sffm-flymenu-trigger:hover .sffm-toggle-button,
.sffm-flymenu-trigger:hover .sffm-toggle-button:before,
.sffm-flymenu-trigger:hover .sffm-toggle-button:after {
    background: var(--sffm-trigger-btn-icon-color-hover, var(--sffm-trigger-btn-icon-color, #FFF));
}

.sffm-toggle-button:before {
    transform: translate(-50%, calc(-1 * var(--sffm-hamburger-spacing, 8px)));
}

.sffm-toggle-button:after {
    transform: translate(-50%, var(--sffm-hamburger-spacing, 8px));
}

.sffm-toggle-button.style1:before,
.sffm-toggle-button.style1:after {
    transform-origin: 50% 50%;
}

.sffm-floatmenu-show .sffm-toggle-button.style1,
.sffm-flymenu-show .sffm-toggle-button.style1 {
    background: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style1:before,
    .sffm-flymenu-show .sffm-toggle-button.style1:before {
        transform: translate(-50%, 0) rotate(45deg);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style1:after,
    .sffm-flymenu-show .sffm-toggle-button.style1:after {
        transform: translate(-50%, 0) rotate(-45deg);
    }

.sffm-toggle-animating.sffm-toggle-button.style2 {
    transition: background 0.35s;
}

.sffm-toggle-button.style2:before,
.sffm-toggle-button.style2:after {
    transform-origin: 50% 50%;
}

.sffm-floatmenu-show .sffm-toggle-button.style2,
.sffm-flymenu-show .sffm-toggle-button.style2 {
    background: transparent;
    transition: none;
}

    .sffm-floatmenu-show .sffm-toggle-button.style2:before,
    .sffm-flymenu-show .sffm-toggle-button.style2:before {
        animation: menuBefore 0.5s forwards;
    }

    .sffm-floatmenu-show .sffm-toggle-button.style2:after,
    .sffm-flymenu-show .sffm-toggle-button.style2:after {
        animation: menuAfter 0.5s forwards;
    }

@keyframes menuBefore {
    0% {
        transform: translate(-50%, calc(-1 * var(--sffm-hamburger-spacing, 8px)));
    }

    40% {
        transform: translate(-50%, 0);
    }

    60% {
        transform: translate(-50%, 0);
    }

    100% {
        transform: translate(-50%, 0) rotate(45deg);
    }
}

@keyframes menuAfter {
    0% {
        transform: translate(-50%, calc(var(--sffm-hamburger-spacing, 8px)));
    }

    40% {
        transform: translate(-50%, 0);
    }

    60% {
        transform: translate(-50%, 0);
    }

    100% {
        transform: translate(-50%, 0) rotate(-45deg);
    }
}

.sffm-toggle-button.style3,
.sffm-toggle-button.style4,
.sffm-toggle-button.style5,
.sffm-toggle-button.style6,
.sffm-toggle-button.style7,
.sffm-toggle-button.style8 {
    height: calc(2 * var(--sffm-hamburger-spacing, 8px) + var(--sffm-hamburger-thickness, 2px));
    background: transparent !important;
    border-top: var(--sffm-hamburger-thickness, 2px) solid;
    border-bottom: var(--sffm-hamburger-thickness, 2px) solid;
}

    .sffm-toggle-button.style3:before,
    .sffm-toggle-button.style3:after,
    .sffm-toggle-button.style4:before,
    .sffm-toggle-button.style4:after,
    .sffm-toggle-button.style5:before,
    .sffm-toggle-button.style5:after,
    .sffm-toggle-button.style6:before,
    .sffm-toggle-button.style6:after,
    .sffm-toggle-button.style7:before,
    .sffm-toggle-button.style7:after,
    .sffm-toggle-button.style8:before,
    .sffm-toggle-button.style8:after,
    .sffm-toggle-button.style8:before,
    .sffm-toggle-button.style8:after {
        top: 50%;
        transform: translate(-50%, -50%);
    }

.sffm-floatmenu-show .sffm-toggle-button.style3,
.sffm-flymenu-show .sffm-toggle-button.style3 {
    border-color: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style3:before,
    .sffm-flymenu-show .sffm-toggle-button.style3:before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style3:after,
    .sffm-flymenu-show .sffm-toggle-button.style3:after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

.sffm-floatmenu-show .sffm-toggle-button.style4,
.sffm-flymenu-show .sffm-toggle-button.style4 {
    border-color: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style4:before,
    .sffm-flymenu-show .sffm-toggle-button.style4:before {
        transform: translate(-50%, -50%) rotate(-45deg);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style4:after,
    .sffm-flymenu-show .sffm-toggle-button.style4:after {
        transform: translate(-50%, -50%) rotate(-135deg);
    }

.sffm-floatmenu-show .sffm-toggle-button.style5,
.sffm-flymenu-show .sffm-toggle-button.style5 {
    border-color: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style5:before,
    .sffm-flymenu-show .sffm-toggle-button.style5:before {
        transform: translate(-50%, -50%) rotate(135deg);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style5:after,
    .sffm-flymenu-show .sffm-toggle-button.style5:after {
        transform: translate(-50%, -50%) rotate(-135deg);
    }

.sffm-toggle-button.style6 {
    transition: height 0.35s 0.35s, border-color 0.35s 0.35s;
}

    .sffm-toggle-button.style6:before,
    .sffm-toggle-button.style6:after {
        transform-origin: 50% 50%;
    }

.sffm-floatmenu-show .sffm-toggle-button.style6,
.sffm-flymenu-show .sffm-toggle-button.style6 {
    height: 0;
    border-color: transparent;
    transition: all 0.35s 0s;
}

    .sffm-floatmenu-show .sffm-toggle-button.style6:before,
    .sffm-flymenu-show .sffm-toggle-button.style6:before {
        transform: translate(-50%, -50%) rotate(45deg);
        transition-delay: 0.5s;
    }

    .sffm-floatmenu-show .sffm-toggle-button.style6:after,
    .sffm-flymenu-show .sffm-toggle-button.style6:after {
        transform: translate(-50%, -50%) rotate(-45deg);
        transition-delay: 0.5s;
    }

.sffm-toggle-button.style7 {
    transition: height 0.35s 0.35s, border-color 0.35s 0.35s;
}

    .sffm-toggle-button.style7:before,
    .sffm-toggle-button.style7:after {
        transform-origin: 50% 50%;
    }

.sffm-floatmenu-show .sffm-toggle-button.style7,
.sffm-flymenu-show .sffm-toggle-button.style7 {
    height: 0;
    border-color: transparent;
    transition: all 0.35s 0s;
}

    .sffm-floatmenu-show .sffm-toggle-button.style7:before,
    .sffm-flymenu-show .sffm-toggle-button.style7:before {
        transform: translate(-50%, -50%) rotate(-45deg);
        transition-delay: 0.5s;
    }

    .sffm-floatmenu-show .sffm-toggle-button.style7:after,
    .sffm-flymenu-show .sffm-toggle-button.style7:after {
        transform: translate(-50%, -50%) rotate(-135deg);
        transition-delay: 0.5s;
    }

.sffm-toggle-button.style8 {
    transition: height 0.35s 0.35s, border-color 0.35s 0.35s, transform 0.35s 0s;
}

    .sffm-toggle-button.style8:before,
    .sffm-toggle-button.style8:after {
        transform-origin: 50% 50%;
    }

.sffm-floatmenu-show .sffm-toggle-button.style8,
.sffm-flymenu-show .sffm-toggle-button.style8 {
    height: 0;
    border-color: transparent;
    transform: rotate(135deg);
    transition: all 0.35s 0s, transform 0.35s 1s;
}

    .sffm-floatmenu-show .sffm-toggle-button.style8:before,
    .sffm-flymenu-show .sffm-toggle-button.style8:before {
        transform: translate(-50%, -50%) rotate(90deg);
        transition-delay: 0.5s;
    }

.sffm-toggle-button.style9:before,
.sffm-toggle-button.style9:after {
    transform-origin: 0% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style9:before,
.sffm-flymenu-show .sffm-toggle-button.style9:before {
    transform: translate(-50%, 0) rotate(-45deg) scaleX(0.6);
}

.sffm-floatmenu-show .sffm-toggle-button.style9:after,
.sffm-flymenu-show .sffm-toggle-button.style9:after {
    transform: translate(-50%, 0) rotate(45deg) scaleX(0.6);
}

.sffm-toggle-button.style10:before,
.sffm-toggle-button.style10:after {
    transform-origin: 100% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style10:before,
.sffm-flymenu-show .sffm-toggle-button.style10:before {
    transform: translate(-50%, 0) rotate(45deg) scaleX(0.6);
}

.sffm-floatmenu-show .sffm-toggle-button.style10:after,
.sffm-flymenu-show .sffm-toggle-button.style10:after {
    transform: translate(-50%, 0) rotate(-45deg) scaleX(0.6);
}

.sffm-toggle-button.style11:before,
.sffm-toggle-button.style11:after {
    transform-origin: 0% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style11,
.sffm-flymenu-show .sffm-toggle-button.style11 {
    transform: rotate(-90deg);
}

    .sffm-floatmenu-show .sffm-toggle-button.style11:before,
    .sffm-flymenu-show .sffm-toggle-button.style11:before {
        transform: translate(-50%, 0) rotate(-45deg) scaleX(0.6);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style11:after,
    .sffm-flymenu-show .sffm-toggle-button.style11:after {
        transform: translate(-50%, 0) rotate(45deg) scaleX(0.6);
    }

.sffm-toggle-button.style12:before,
.sffm-toggle-button.style12:after {
    transform-origin: 0% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style12,
.sffm-flymenu-show .sffm-toggle-button.style12 {
    transform: rotate(90deg);
}

    .sffm-floatmenu-show .sffm-toggle-button.style12:before,
    .sffm-flymenu-show .sffm-toggle-button.style12:before {
        transform: translate(-50%, 0) rotate(-45deg) scaleX(0.6);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style12:after,
    .sffm-flymenu-show .sffm-toggle-button.style12:after {
        transform: translate(-50%, 0) rotate(45deg) scaleX(0.6);
    }

.sffm-toggle-button.style13:before,
.sffm-toggle-button.style13:after {
    transform-origin: 0% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style13,
.sffm-flymenu-show .sffm-toggle-button.style13 {
    background: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style13:before,
    .sffm-flymenu-show .sffm-toggle-button.style13:before {
        transform: translate(-30%, 0) rotate(-45deg) scaleX(0.6);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style13:after,
    .sffm-flymenu-show .sffm-toggle-button.style13:after {
        transform: translate(-30%, 0) rotate(45deg) scaleX(0.6);
    }

.sffm-toggle-button.style14:before,
.sffm-toggle-button.style14:after {
    transform-origin: 100% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style14,
.sffm-flymenu-show .sffm-toggle-button.style14 {
    background: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style14:before,
    .sffm-flymenu-show .sffm-toggle-button.style14:before {
        transform: translate(-80%, 0) rotate(45deg) scaleX(0.6);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style14:after,
    .sffm-flymenu-show .sffm-toggle-button.style14:after {
        transform: translate(-80%, 0) rotate(-45deg) scaleX(0.6);
    }

.sffm-toggle-button.style15:before,
.sffm-toggle-button.style15:after {
    transform-origin: 100% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style15,
.sffm-flymenu-show .sffm-toggle-button.style15 {
    transform: rotate(90deg);
    background: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style15:before,
    .sffm-flymenu-show .sffm-toggle-button.style15:before {
        transform: translate(-80%, 0) rotate(45deg) scaleX(0.6);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style15:after,
    .sffm-flymenu-show .sffm-toggle-button.style15:after {
        transform: translate(-80%, 0) rotate(-45deg) scaleX(0.6);
    }

.sffm-toggle-button.style16:before,
.sffm-toggle-button.style16:after {
    transform-origin: 100% 0%;
}

.sffm-floatmenu-show .sffm-toggle-button.style16,
.sffm-flymenu-show .sffm-toggle-button.style16 {
    transform: rotate(-90deg);
    background: transparent;
}

    .sffm-floatmenu-show .sffm-toggle-button.style16:before,
    .sffm-flymenu-show .sffm-toggle-button.style16:before {
        transform: translate(-80%, 0) rotate(45deg) scaleX(0.6);
    }

    .sffm-floatmenu-show .sffm-toggle-button.style16:after,
    .sffm-flymenu-show .sffm-toggle-button.style16:after {
        transform: translate(-80%, 0) rotate(-45deg) scaleX(0.6);
    }

.animate--ripple:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    z-index: -1;
    animation: sffm-ripple 1.5s ease-out infinite;
    background: var(--sffm-trigger-btn-bg-color, var(--sffm-button-bg, #000));
}

.animate--ripple:hover:before {
    display: none;
}

@keyframes sffm-ripple {
    from {
        opacity: 1;
        transform: scale(0);
    }

    to {
        opacity: 0;
        transform: scale(1.8);
    }
}

@media screen and (min-width:769px) {
    .sffm-hide-desktop {
        display: none;
    }
}

@media screen and (min-width:581px) and (max-width:768px) {
    .sffm-hide-tablet {
        display: none;
    }
}

@media screen and (max-width:580px) {
    .sffm-hide-mobile {
        display: none;
    }
}

/* General CSS */

.sffm-align-center {
    text-align: center;
}

.sffm-align-right {
    text-align: right;
}

img {
    height: auto;
    max-width: 100%;
    vertical-align: middle;
}


/* Trigger Button */

.sffm-flymenu-trigger-block {
    position: fixed;
    margin: 0;
    padding: 0;
    z-index: 9;
}

    .sffm-flymenu-trigger-block.sffm-shape-round .sffm-flymenu-trigger {
        border-radius: 50%;
    }

    .sffm-flymenu-trigger-block.sffm-shape-rounded-square .sffm-flymenu-trigger {
        border-radius: 0.2em;
    }

    .sffm-flymenu-trigger-block.sffm-shape-blob .sffm-flymenu-trigger,
    .sffm-fullscreen-anim-morphin .sffm-flymenu-trigger-block.sffm-shape-blob .sffm-flymenu-trigger:before {
        animation: sffm-border-transform 9s linear infinite;
    }

@keyframes sffm-border-transform {

    0%, 100% {
        border-radius: 63% 37% 54% 46% / 55% 48% 52% 45%;
    }

    14% {
        border-radius: 40% 60% 54% 46% / 49% 60% 40% 51%;
    }

    28% {
        border-radius: 54% 46% 38% 62% / 49% 70% 30% 51%;
    }

    42% {
        border-radius: 61% 39% 55% 45% / 61% 38% 62% 39%;
    }

    56% {
        border-radius: 61% 39% 67% 33% / 70% 50% 50% 30%;
    }

    70% {
        border-radius: 50% 50% 34% 66% / 56% 68% 32% 44%;
    }

    84% {
        border-radius: 46% 54% 50% 50% / 35% 61% 39% 65%;
    }
}

body.admin-bar [class*="sffm-position-top-"].sffm-flymenu-trigger-block {
    margin-top: 32px;
}

.sffm-position-top-left.sffm-flymenu-trigger-block {
    top: var(--sffm-offset-top, 20px);
    left: var(--sffm-offset-left, 20px);
}

.sffm-position-top-middle.sffm-flymenu-trigger-block {
    top: var(--sffm-offset-top, 20px);
    left: 50%;
    transform: translateX(-50%);
}

.sffm-position-top-right.sffm-flymenu-trigger-block {
    top: var(--sffm-offset-top, 20px);
    right: var(--sffm-offset-right, 20px);
}

.sffm-position-bottom-left.sffm-flymenu-trigger-block {
    bottom: var(--sffm-offset-bottom, 20px);
    left: var(--sffm-offset-left, 20px);
}

.sffm-position-bottom-middle.sffm-flymenu-trigger-block {
    bottom: var(--sffm-offset-bottom, 20px);
    left: 50%;
    transform: translateX(-50%);
}

.sffm-position-bottom-right.sffm-flymenu-trigger-block {
    bottom: var(--sffm-offset-bottom, 20px);
    right: var(--sffm-offset-right, 20px);
}

.sffm-position-middle-left.sffm-flymenu-trigger-block {
    top: 50%;
    left: var(--sffm-offset-left, 20px);
    transform: translateY(-50%);
}

.sffm-position-middle-right.sffm-flymenu-trigger-block {
    top: 50%;
    right: var(--sffm-offset-right, 20px);
    transform: translateY(-50%);
}

.sffm-flymenu-trigger-idle-animation {
    filter: drop-shadow(var(--sffm-trigger-btn-shadow-x, 0) var(--sffm-trigger-btn-shadow-y, 0) var(--sffm-trigger-btn-shadow-blur, 0) var(--sffm-trigger-btn-shadow-color, transparent));
}

.sffm-flymenu-trigger-idle-animation,
.sffm-flymenu-trigger-hover-animation {
    position: relative;
    z-index: 9999;
}

    .sffm-flymenu-trigger-idle-animation:hover,
    .sffm-flymenu-show .sffm-flymenu-trigger-idle-animation,
    .sffm-flymenu-trigger-idle-animation:hover:before,
    .sffm-flymenu-show .sffm-flymenu-trigger-idle-animation:before {
        animation: none;
    }

.sffm-flymenu-trigger {
    width: var(--sffm-trigger-btn-size, 74px);
    height: var(--sffm-trigger-btn-size, 74px);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: var(--sffm-trigger-btn-icon-size, 24px);
    background: var(--sffm-trigger-btn-bg-color, #000);
    color: var(--sffm-trigger-btn-icon-color, #FFF);
    overflow: hidden;
}

    .sffm-flymenu-trigger:hover {
        background: var(--sffm-trigger-btn-bg-color-hover, var(--sffm-trigger-btn-bg-color, #000));
        color: var(--sffm-trigger-btn-icon-color-hover, var(--sffm-trigger-btn-icon-color, #FFF));
    }

.sffm-flymenu-trigger-close-icon {
    display: none;
}

.sffm-flymenu-show .sffm-flymenu-trigger-open-icon {
    display: none;
}

.sffm-flymenu-show .sffm-flymenu-trigger-close-icon {
    display: block;
}

.sffm-flymenu-trigger img {
    width: var(--sffm-trigger-btn-image-size, 100%);
}


/* Panel CSS */

html.sffm-freeze {
    overflow: hidden;
}

.sffm-flymenu-panel {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 400px;
    background-color: var(--sffm-panel-background-color, #000);
    z-index: 999;
    transition: left 0.3s ease-in-out, right 0.3s ease-in-out;
    box-shadow: 0 0 18px rgba(0, 0, 0, 0.1);
}

.sffm-flymenu-pos-left .sffm-flymenu-panel {
    left: -100%
}

.sffm-flymenu-pos-right .sffm-flymenu-panel {
    right: -100%;
}

.sffm-flymenu-show.sffm-flymenu-pos-left .sffm-flymenu-panel,
.sffm-flymenu-pos-left.sffm-panel-animation-enabled .sffm-flymenu-panel {
    left: 0
}

.sffm-flymenu-show.sffm-flymenu-pos-right .sffm-flymenu-panel,
.sffm-flymenu-pos-right.sffm-panel-animation-enabled .sffm-flymenu-panel {
    right: 0;
}

.sffm-panel-animation-enabled .sffm-flymenu-panel {
    visibility: hidden;
    opacity: 0;
}

.sffm-panel-animation-enabled .animate--animated.sffm-flymenu-panel,
.sffm-panel-animation-enabled.sffm-panel-in-view .sffm-flymenu-panel {
    visibility: visible;
    opacity: 1;
}

.sffm-flymenu-panel-scroller {
    position: relative;
    overflow: hidden auto;
    height: 100%;
}

/* Scrollbar Off */

.sffm-scrollbar-off .sffm-flymenu-panel-scroller::-webkit-scrollbar,
.sffm-scrollbar-off .sffm-submenu-panel-scroller::-webkit-scrollbar {
    display: none;
}

/* ScrollBar */
.sffm-flymenu-panel-scroller::-webkit-scrollbar {
    width: var(--sffm-scrollbar-width, 4px);
}

.sffm-flymenu-panel-scroller::-webkit-scrollbar-track {
    background: var(--sffm-scrollbar-drag-bar-color, rgba(255, 255, 255, 0.75));
}

.sffm-flymenu-panel-scroller::-webkit-scrollbar-thumb {
    background: var(--sffm-scrollbar-drag-rail-color, rgba(0, 0, 0, 0.4));
}

.sffm-flymenu-panel-content {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: var(--sffm-panel-spacing-top, 40px) var(--sffm-panel-spacing-right, 40px) var(--sffm-panel-spacing-bottom, 40px) var(--sffm-panel-spacing-left, 40px);
    color: #FFF;
}


/* Overlay CSS */

.sffm-flymenu-wrapper {
    position: relative;
    z-index: var(--sffm-zindex, 999999);
}

.sffm-flymenu-show.sffm-overlay-color-background .sffm-overlay {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: var(--sffm-overlay-color, rgba(0, 0, 0, 0.8));
    transition: all 0.3s ease-in-out;
    opacity: 0.9;
}

.sffm-flymenu-show.sffm-overlay-blur-background .sffm-overlay {
    content: "";
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(5px);
    transition: all 0.3s ease-in-out;
}


/*Panel Header*/

.sffm-header-image .avatar {
    border-radius: 50%;
    height: 100px;
    width: 100px;
}

.sffm-header-image img {
    width: var(--sffm-header-image-width, 80%);
}

.sffm-flymenu-header > div,
.sffm-flymenu-panel .sffm-flymenu-header > ul.sffm-panel-social-icons {
    margin-bottom: var(--sffm-header-element-spacing, 40px);
}

    .sffm-flymenu-header > div:last-child,
    .sffm-flymenu-panel .sffm-flymenu-header > ul:last-child {
        margin-bottom: 0;
    }

.sffm-flymenu-header {
    padding: var(--sffm-header-spacing-top, 0) var(--sffm-header-spacing-right, 0) var(--sffm-header-spacing-bottom, 40px) var(--sffm-header-spacing-left, 0);
}

.sffm-header-title {
    font-family: var(--sffm-header-title-font-family, Default);
    font-weight: var(--sffm-header-title-font-weight, 400);
    font-style: var(--sffm-header-title-font-style, normal);
    text-transform: var(--sffm-header-title-text-transform, none);
    text-decoration: var(--sffm-header-title-text-decoration, none);
    font-size: var(--sffm-header-title-font-size, 30px);
    line-height: var(--sffm-header-title-line-height, 1.2);
    letter-spacing: var(--sffm-header-title-letter-spacing, inherit);
    margin-bottom: 10px;
    color: var(--sffm-header-title-color, #FFF);
}

.sffm-header-tagline {
    font-family: var(--sffm-header-tagline-font-family, Default);
    font-weight: var(--sffm-header-tagline-font-weight, 400);
    font-style: var(--sffm-header-tagline-font-style, normal);
    text-transform: var(--sffm-header-tagline-text-transform, none);
    text-decoration: var(--sffm-header-tagline-text-decoration, none);
    font-size: var(--sffm-header-tagline-font-size, inherit);
    line-height: var(--sffm-header-tagline-line-height, inherit);
    letter-spacing: var(--sffm-header-tagline-letter-spacing, inherit);
    color: var(--sffm-header-tagline-color, #FFF);
}

.sffm-header-custom-content {
    font-family: var(--sffm-header-text-font-family, Default);
    font-weight: var(--sffm-header-text-font-weight, 400);
    font-style: var(--sffm-header-text-font-style, normal);
    text-transform: var(--sffm-header-text-text-transform, none);
    text-decoration: var(--sffm-header-text-text-decoration, none);
    font-size: var(--sffm-header-text-font-size, inherit);
    line-height: var(--sffm-header-text-line-height, inherit);
    letter-spacing: var(--sffm-header-text-letter-spacing, inherit);
    color: var(--sffm-header-text-color, #FFF);
}


/* Panel Footer */

.sffm-footer-custom-content {
    font-family: var(--sffm-footer-text-font-family, Default);
    font-weight: var(--sffm-footer-text-font-weight, 400);
    font-style: var(--sffm-footer-text-font-style, normal);
    text-transform: var(--sffm-footer-text-text-transform, none);
    text-decoration: var(--sffm-footer-text-text-decoration, none);
    font-size: var(--sffm-footer-text-font-size, inherit);
    line-height: var(--sffm-footer-text-line-height, inherit);
    letter-spacing: var(--sffm-footer-text-letter-spacing, inherit);
    color: var(--sffm-footer-text-color, #FFF);
}


/* Social Icons */

.sffm-flymenu-panel ul.sffm-panel-social-icons {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sffm-panel-social-icons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

    .sffm-panel-social-icons li {
        position: relative;
        margin: 0;
        padding: 0;
        border: 0;
    }

        .sffm-panel-social-icons li a {
            display: flex;
            justify-content: center;
            align-items: center;
            background: var(--sffm-socialicon-bg-color, #333);
            color: var(--sffm-socialicon-icon-color, #FFF);
            border: 1px solid var(--sffm-socialicon-border-color, transparent);
        }

            .sffm-panel-social-icons li a:hover {
                background: var(--sffm-socialicon-bg-color-hover, var(--sffm-socialicon-bg-color, #333));
                color: var(--sffm-socialicon-icon-color-hover, var(--sffm-socialicon-icon-color, #FFF));
                border: 1px solid var(--sffm-socialicon-border-color-hover, var(--sffm-socialicon-border-color, transparent));
            }

.sffm-social-icons li a {
    height: var(--sffm-social-icon-btn-size, 40px);
    width: var(--sffm-social-icon-btn-size, 40px);
    font-size: var(--sffm-social-icon-icon-size, 20px);
}

.sffm-panel-social-icons li .sffm-icon-tooltip {
    position: absolute;
    background: var(--sffm-socialicon-tooltip-bg-color, #333);
    padding: 6px 8px;
    font-size: 0.7em;
    line-height: 1;
    color: var(--sffm-socialicon-tooltip-color, #FFF);
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 10px;
    border-radius: 2px;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s linear;
}

    .sffm-panel-social-icons li .sffm-icon-tooltip:before {
        content: "";
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        border-width: 6px;
        border-style: solid;
        border-color: var(--sffm-socialicon-tooltip-bg-color, #333) transparent transparent transparent;
    }

.sffm-panel-social-icons li:hover .sffm-icon-tooltip {
    opacity: 1;
    visibility: visible;
}

.sffm-align-left .sffm-panel-social-icons,
.sffm-align-left .sffm-panel-search {
    justify-content: flex-start;
}

.sffm-align-center .sffm-panel-social-icons,
.sffm-align-center .sffm-panel-search {
    justify-content: center;
}

.sffm-align-right .sffm-panel-social-icons,
.sffm-align-right .sffm-panel-search {
    justify-content: flex-end;
}

.sffm-social-icons.sffm-social-icons-shape-round li a {
    clip-path: circle(50% at 50% 50%);
}

.sffm-social-icons.sffm-social-icons-shape-triangle li a {
    clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}

    .sffm-social-icons.sffm-social-icons-shape-triangle li a span {
        transform: translateY(calc(var(--sffm-social-icon-btn-size, 40px)/10));
    }

.sffm-social-icons.sffm-social-icons-shape-rounded-square li a {
    border-radius: 0.3em;
}

.sffm-social-icons.sffm-social-icons-shape-rhombus li a {
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.sffm-social-icons.sffm-social-icons-shape-pentagon li a {
    clip-path: polygon(50% 0%, 100% 38%, 82% 100%, 18% 100%, 0% 38%);
}

    .sffm-social-icons.sffm-social-icons-shape-pentagon li a span {
        transform: translateY(calc(var(--sffm-social-icon-btn-size, 40px)/20));
    }

.sffm-social-icons.sffm-social-icons-shape-hexagon li a {
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
}

.sffm-social-icons.sffm-social-icons-shape-star li a {
    clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
}

.sffm-social-icons.sffm-social-icons-shape-rabbet li a {
    clip-path: polygon(0% 15%, 15% 15%, 15% 0%, 85% 0%, 85% 15%, 100% 15%, 100% 85%, 85% 85%, 85% 100%, 15% 100%, 15% 85%, 0% 85%);
}

.sffm-social-icons.sffm-social-icons-shape-oval li a {
    clip-path: ellipse(50% 35% at 50% 50%);
}

.sffm-social-icons.sffm-social-icons-shape-blob li a {
    animation: sffm-border-transform 9s linear infinite;
}


/*Search Form*/

.sffm-panel-search {
    display: flex;
    margin-bottom: 20px;
}

    .sffm-panel-search form {
        display: flex;
        border: 1px solid var(--sffm-search-border-color, #EEE);
        width: var(--sffm-search-width, 100%);
        background: var(--sffm-search-bg-color, transparent);
        border-radius: var(--sffm-search-form-border-radius, 0px);
    }

    .sffm-panel-search .sffm-search-field {
        background: none !important;
        padding: 10px;
        border: none !important;
        box-shadow: none !important;
        color: var(--sffm-search-text-color, #FFF);
        height: auto;
        flex-grow: 1;
        min-width: 0;
        margin: 0;
        padding: var(--sffm-search-spacing-top, 10px) var(--sffm-search-spacing-right, 10px) var(--sffm-search-spacing-bottom, 10px) var(--sffm-search-spacing-left, 10px);
    }

    .sffm-panel-search .sffm-search-submit {
        height: auto;
        padding: var(--sffm-search-spacing-top, 10px) 20px var(--sffm-search-spacing-bottom, 10px) 20px;
        background: var(--sffm-search-button-color, #000);
        color: var(--sffm-search-button-icon-color, #FFF);
        border-radius: 0 var(--sffm-search-form-border-radius, 0px) var(--sffm-search-form-border-radius, 0px) 0;
    }

    .sffm-panel-search .sffm-search-field::placeholder {
        color: var(--sffm-search-text-color, #FFF);
        opacity: 0.7;
    }

.sffm-header-custom-content p:last-child,
.sffm-footer-custom-content p:last-child {
    margin-bottom: 0;
}

.sffm-flymenu-footer {
    padding: var(--sffm-footer-spacing-top, 40px) var(--sffm-footer-spacing-right, 0) var(--sffm-footer-spacing-bottom, 0) var(--sffm-footer-spacing-left, 0);
}

.sffm-flymenu-panel .sffm-flymenu-footer > div,
.sffm-flymenu-panel .sffm-flymenu-footer > ul {
    margin-bottom: var(--sffm-footer-element-spacing, 40px);
}

    .sffm-flymenu-panel .sffm-flymenu-footer > div:last-child,
    .sffm-flymenu-panel .sffm-flymenu-footer > ul:last-child {
        margin-bottom: 0;
    }

/*==========Menu============*/

.sffm-flymenu-body {
    margin: var(--sffm-menu-spacing-top, 0) var(--sffm-menu-spacing-right, 0) var(--sffm-menu-spacing-bottom, 0) var(--sffm-menu-spacing-left, 0);
}

    .sffm-flymenu-body .sffm-menu-container {
        width: 100%;
    }

.sffm-menu-container ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

    .sffm-menu-container ul li {
        list-style: none;
    }

    .sffm-menu-container ul ul {
        margin-left: 15px;
    }

.sffm-menu-container li.sffm-menu-item {
    position: relative;
    font-family: var(--sffm-menu-label-font-family, Default);
    font-weight: var(--sffm-menu-label-font-weight, 400);
    font-style: var(--sffm-menu-label-font-style, normal);
    text-transform: var(--sffm-menu-label-text-transform, none);
    text-decoration: var(--sffm-menu-label-text-decoration, none);
    font-size: var(--sffm-menu-label-font-size, inherit);
    line-height: var(--sffm-menu-label-line-height, inherit);
    letter-spacing: var(--sffm-menu-label-letter-spacing, inherit);
}

    .sffm-menu-container li.sffm-menu-item a.sffm-menu-item-link,
    .sffm-submenu-back a {
        position: relative;
        display: block;
        padding: var(--sffm-menu-item-spacing-top, 10px) var(--sffm-menu-item-spacing-right, 0) var(--sffm-menu-item-spacing-bottom, 10px) var(--sffm-menu-item-spacing-left, 0);
        color: var(--sffm-menu-label-color, #EEE);
        background: var(--sffm-menu-bg-color, transparent);
        border-bottom: 1px solid var(--sffm-menu-border-color, transparent);
        text-decoration: inherit;
    }

        .sffm-menu-container li.sffm-menu-item a.sffm-menu-item-link:hover,
        .sffm-submenu-back a:hover {
            color: var(--sffm-menu-label-color-hover, var(--sffm-menu-label-color, #EEE));
            background: var(--sffm-menu-bg-color-hover, var(--sffm-menu-bg-color, transparent));
            border-bottom: 1px solid var(--sffm-menu-border-color-hover, var(--sffm-menu-border-color, transparent));
        }

    .sffm-menu-container li.sffm-menu-item .sffm-menu-link-items {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }

    .sffm-menu-container li.sffm-menu-item .sffm-menu-item-title {
        display: flex;
        align-items: center;
        gap: 0.7em;
        position: relative;
    }

        .sffm-menu-container li.sffm-menu-item .sffm-menu-item-title .sffm-menu-icon {
            display: inline-flex;
            align-items: center;
        }

        .sffm-menu-container li.sffm-menu-item .sffm-menu-item-title img,
        .sffm-menu-container li.sffm-menu-item .sffm-menu-item-title svg {
            width: 1em;
            height: auto;
        }

    .sffm-menu-container li.sffm-menu-item .sffm-menu-item-description {
        display: block;
        font-size: 0.9em;
        margin-top: 10px;
        font-family: var(--sffm-menu-desc-font-family, Default);
        font-weight: var(--sffm-menu-desc-font-weight, 400);
        font-style: var(--sffm-menu-desc-font-style, normal);
        text-transform: var(--sffm-menu-desc-text-transform, none);
        text-decoration: var(--sffm-menu-desc-text-decoration, none);
        font-size: var(--sffm-menu-desc-font-size, inherit);
        line-height: var(--sffm-menu-desc-line-height, inherit);
        letter-spacing: var(--sffm-menu-desc-letter-spacing, inherit);
        color: var(--sffm-menu-short-desc-color, var(--sffm-menu-label-color, #FFF));
    }

    .sffm-menu-container li.sffm-menu-item .sffm-menu-item-notification-label {
        display: inline-block;
        white-space: nowrap;
        font-size: 0.7em;
        background: var(--sffm-menu-notification-bg-color, #333);
        color: var(--sffm-menu-notification-color, #FFF);
        padding: 4px 10px;
        border-radius: 20px;
        line-height: 1;
        transform: translateY(-6px);
    }

.sffm-menu-container .sffm-menu-item-panel-content,
.sffm-menu-container .sffm-addditional-content {
    font-family: var(--sffm-menu-content-font-family, Default);
    font-weight: var(--sffm-menu-content-font-weight, 400);
    font-style: var(--sffm-menu-content-font-style, normal);
    text-transform: var(--sffm-menu-content-text-transform, none);
    text-decoration: var(--sffm-menu-content-text-decoration, none);
    font-size: var(--sffm-menu-content-font-size, inherit);
    line-height: var(--sffm-menu-content-line-height, inherit);
    letter-spacing: var(--sffm-menu-content-letter-spacing, inherit);
    color: var(--sffm-menu-add-content-color, var(--sffm-menu-label-color, #FFF));
    margin-top: 15px;
}

.sffm-submenu-toggle .sffm-submenu-close-icon {
    display: none;
}

.sffm-menu-item-link-open .sffm-submenu-toggle .sffm-submenu-close-icon {
    display: block;
}

.sffm-menu-item-link-open .sffm-submenu-toggle .sffm-submenu-open-icon {
    display: none;
}

.sffm-submenu-back {
    margin-bottom: 15px;
}

    .sffm-submenu-back a {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

.sffm-flymenu-body.sffm-align-center .sffm-menu-container li.sffm-menu-item .sffm-menu-link-items {
    justify-content: center;
}

.sffm-submenu-menu-drop .sffm-flymenu-body.sffm-align-center .sffm-menu-container .sffm-submenu {
    margin: 0;
}

.sffm-flymenu-body.sffm-align-right .sffm-menu-container li.sffm-menu-item .sffm-menu-link-items {
    flex-direction: row-reverse;
}

.sffm-flymenu-body.sffm-align-right .sffm-menu-container li.sffm-menu-item .sffm-menu-item-title {
    flex-direction: row-reverse;
}

.sffm-submenu-menu-drop .sffm-flymenu-body.sffm-align-right .sffm-menu-container .sffm-submenu {
    margin-left: 0;
    margin-right: 15px;
}


/* Drop Down Side Menu */

.sffm-submenu-menu-drop .sffm-submenu {
    display: none;
}

/* Push Side Menu */

.sffm-submenu-container {
    position: fixed;
    top: 0;
    bottom: 0;
    width: var(--sffm-panel-width, 400px);
    background-color: var(--sffm-panel-background-color, #000);
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
}

.sffm-flymenu-pos-left .sffm-submenu-container {
    transform: translateX(-100px);
}

.sffm-flymenu-pos-right .sffm-submenu-container {
    transform: translateX(100px);
}

.sffm-menu-container .sffm-submenu-container.sffm-submenu-open {
    opacity: 1;
    visibility: visible;
    transform: translateX(0);
}

.sffm-menu-container .sffm-submenu-container ul {
    margin: 0;
    padding: 0;
}

.sffm-flymenu-pos-left .sffm-submenu-container {
    left: calc(var(--sffm-panel-width, 400px) + 1px);
}

    .sffm-flymenu-pos-left .sffm-submenu-container:after {
        left: 0;
    }

.sffm-flymenu-pos-right .sffm-submenu-container:after {
    right: 0;
}

.sffm-flymenu-pos-right .sffm-submenu-container {
    right: calc(var(--sffm-panel-width, 400px) + 1px);
}


/* Animate */

.sffm-submenu-animate .sffm-menu-container {
    width: 100%;
    position: relative;
    -webkit-perspective: 1000px;
    perspective: 1000px;
    -webkit-perspective-origin: 50% 200%;
    perspective-origin: 50% 200%;
    position: relative;
    transition: height 0.3s linear;
}

    .sffm-submenu-animate .sffm-menu-container ul {
        list-style: none;
        margin: 0;
        padding: 0;
        -webkit-transform-style: preserve-3d;
        transform-style: preserve-3d;
    }

    .sffm-submenu-animate .sffm-menu-container li {
        position: relative;
        margin: 0;
        padding: 0;
    }

        .sffm-submenu-animate .sffm-menu-container li a {
            display: block;
            position: relative;
            padding: 10px 0;
        }

        .sffm-submenu-animate .sffm-menu-container li.sffm-back a.sffm-menu-item-link {
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

    .sffm-submenu-animate .sffm-menu-container .sffm-menu {
        margin: 0;
        position: absolute;
        width: 100%;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
    }


    /* Hide the inner submenus */

    .sffm-submenu-animate .sffm-menu-container li .sffm-submenu {
        display: none;
    }


/* 
When a submenu is openend, we will hide all li siblings.
For that we give a class to the parent menu called "sffm-subview".
We also hide the submenu link. 
The opened submenu will get the class "sffm-subviewopen".
All this is done for any sub-level being entered.
*/

.sffm-submenu-animate .sffm-menu.sffm-subview li,
.sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subviewopen > a,
.sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subviewopen > .sffm-addditional-content,
.sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subview > a,
.sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subview > .sffm-addditional-content {
    display: none;
}

    .sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subview,
    .sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subview .sffm-submenu,
    .sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subviewopen,
    .sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subviewopen > .sffm-submenu,
    .sffm-submenu-animate .sffm-menu.sffm-subview li.sffm-subviewopen > .sffm-submenu > li {
        display: block;
    }


/* Dynamically added submenu outside of the menu context */

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu {
    position: absolute;
    width: 100%;
    left: 0;
    margin: 0;
}


/* Animation classes for moving out and in */

.sffm-menu.sffm-animate-out-1 {
    -webkit-animation: MenuAnimOut1 0.4s;
    animation: MenuAnimOut1 0.4s;
}

.sffm-menu.sffm-animate-out-2 {
    -webkit-animation: MenuAnimOut2 0.3s ease-in-out;
    animation: MenuAnimOut2 0.3s ease-in-out;
}

.sffm-menu.sffm-animate-out-3 {
    -webkit-animation: MenuAnimOut3 0.4s ease;
    animation: MenuAnimOut3 0.4s ease;
}

.sffm-menu.sffm-animate-out-4 {
    -webkit-animation: MenuAnimOut4 0.4s ease;
    animation: MenuAnimOut4 0.4s ease;
}

.sffm-menu.sffm-animate-out-5 {
    -webkit-animation: MenuAnimOut5 0.4s ease;
    animation: MenuAnimOut5 0.4s ease;
}

@-webkit-keyframes MenuAnimOut1 {
    0% {
    }

    50% {
        -webkit-transform: translateZ(-250px) rotateY(30deg) scale(1);
    }

    75% {
        -webkit-transform: translateZ(-372.5px) rotateY(15deg) scale(0.2);
        opacity: .5;
    }

    100% {
        -webkit-transform: translateZ(-500px) rotateY(0deg) scale(0);
        opacity: 0;
    }
}

@-webkit-keyframes MenuAnimOut2 {
    0% {
    }

    100% {
        -webkit-transform: translateX(-100%);
        opacity: 0;
    }
}

@-webkit-keyframes MenuAnimOut3 {
    0% {
    }

    100% {
        -webkit-transform: translateZ(300px);
        opacity: 0;
    }
}

@-webkit-keyframes MenuAnimOut4 {
    0% {
    }

    100% {
        -webkit-transform: translateZ(-300px);
        opacity: 0;
    }
}

@-webkit-keyframes MenuAnimOut5 {
    0% {
    }

    100% {
        -webkit-transform: translateY(40%);
        opacity: 0;
    }
}

@keyframes MenuAnimOut1 {
    0% {
    }

    50% {
        -webkit-transform: translateZ(-250px) rotateY(30deg);
        transform: translateZ(-250px) rotateY(30deg);
    }

    75% {
        -webkit-transform: translateZ(-372.5px) rotateY(15deg);
        transform: translateZ(-372.5px) rotateY(15deg);
        opacity: .5;
    }

    100% {
        -webkit-transform: translateZ(-500px) rotateY(0deg);
        transform: translateZ(-500px) rotateY(0deg);
        opacity: 0;
    }
}

@keyframes MenuAnimOut2 {
    0% {
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
        opacity: 0;
    }
}

@keyframes MenuAnimOut3 {
    0% {
    }

    100% {
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        opacity: 0;
    }
}

@keyframes MenuAnimOut4 {
    0% {
    }

    100% {
        -webkit-transform: translateZ(-300px);
        transform: translateZ(-300px);
        opacity: 0;
    }
}

@keyframes MenuAnimOut5 {
    0% {
    }

    100% {
        -webkit-transform: translateY(40%);
        transform: translateY(40%);
        opacity: 0;
    }
}

.sffm-menu.sffm-animate-in-1 {
    -webkit-animation: MenuAnimIn1 0.3s;
    animation: MenuAnimIn1 0.3s;
}

.sffm-menu.sffm-animate-in-2 {
    -webkit-animation: MenuAnimIn2 0.3s ease-in-out;
    animation: MenuAnimIn2 0.3s ease-in-out;
}

.sffm-menu.sffm-animate-in-3 {
    -webkit-animation: MenuAnimIn3 0.4s ease;
    animation: MenuAnimIn3 0.4s ease;
}

.sffm-menu.sffm-animate-in-4 {
    -webkit-animation: MenuAnimIn4 0.4s ease;
    animation: MenuAnimIn4 0.4s ease;
}

.sffm-menu.sffm-animate-in-5 {
    -webkit-animation: MenuAnimIn5 0.4s ease;
    animation: MenuAnimIn5 0.4s ease;
}

@-webkit-keyframes MenuAnimIn1 {
    0% {
        -webkit-transform: translateZ(-500px) rotateY(0deg);
        opacity: 0;
    }

    20% {
        -webkit-transform: translateZ(-250px) rotateY(30deg);
        opacity: 0.5;
    }

    100% {
        -webkit-transform: translateZ(0px) rotateY(0deg);
        opacity: 1;
    }
}

@-webkit-keyframes MenuAnimIn2 {
    0% {
        -webkit-transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0px);
        opacity: 1;
    }
}

@-webkit-keyframes MenuAnimIn3 {
    0% {
        -webkit-transform: translateZ(300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        opacity: 1;
    }
}

@-webkit-keyframes MenuAnimIn4 {
    0% {
        -webkit-transform: translateZ(-300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        opacity: 1;
    }
}

@-webkit-keyframes MenuAnimIn5 {
    0% {
        -webkit-transform: translateY(40%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        opacity: 1;
    }
}

@keyframes MenuAnimIn1 {
    0% {
        -webkit-transform: translateZ(-500px) rotateY(0deg);
        transform: translateZ(-500px) rotateY(0deg);
        opacity: 0;
    }

    20% {
        -webkit-transform: translateZ(-250px) rotateY(30deg);
        transform: translateZ(-250px) rotateY(30deg);
        opacity: 0.5;
    }

    100% {
        -webkit-transform: translateZ(0px) rotateY(0deg);
        transform: translateZ(0px) rotateY(0deg);
        opacity: 1;
    }
}

@keyframes MenuAnimIn2 {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }
}

@keyframes MenuAnimIn3 {
    0% {
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        transform: translateZ(0px);
        opacity: 1;
    }
}

@keyframes MenuAnimIn4 {
    0% {
        -webkit-transform: translateZ(-300px);
        transform: translateZ(-300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        transform: translateZ(0px);
        opacity: 1;
    }
}

@keyframes MenuAnimIn5 {
    0% {
        -webkit-transform: translateY(40%);
        transform: translateY(40%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateY(0);
        transform: translateY(0);
        opacity: 1;
    }
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-in-1 {
    -webkit-animation: SubMenuAnimIn1 0.4s ease;
    animation: SubMenuAnimIn1 0.4s ease;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-in-2 {
    -webkit-animation: SubMenuAnimIn2 0.3s ease-in-out;
    animation: SubMenuAnimIn2 0.3s ease-in-out;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-in-3 {
    -webkit-animation: SubMenuAnimIn3 0.4s ease;
    animation: SubMenuAnimIn3 0.4s ease;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-in-4 {
    -webkit-animation: SubMenuAnimIn4 0.4s ease;
    animation: SubMenuAnimIn4 0.4s ease;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-in-5 {
    -webkit-animation: SubMenuAnimIn5 0.4s ease;
    animation: SubMenuAnimIn5 0.4s ease;
}

@-webkit-keyframes SubMenuAnimIn1 {
    0% {
        -webkit-transform: translateX(50%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0px);
        opacity: 1;
    }
}

@-webkit-keyframes SubMenuAnimIn2 {
    0% {
        -webkit-transform: translateX(100%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0px);
        opacity: 1;
    }
}

@-webkit-keyframes SubMenuAnimIn3 {
    0% {
        -webkit-transform: translateZ(-300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        opacity: 1;
    }
}

@-webkit-keyframes SubMenuAnimIn4 {
    0% {
        -webkit-transform: translateZ(300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        opacity: 1;
    }
}

@-webkit-keyframes SubMenuAnimIn5 {
    0% {
        -webkit-transform: translateZ(-200px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        opacity: 1;
    }
}

@keyframes SubMenuAnimIn1 {
    0% {
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }
}

@keyframes SubMenuAnimIn2 {
    0% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateX(0px);
        transform: translateX(0px);
        opacity: 1;
    }
}

@keyframes SubMenuAnimIn3 {
    0% {
        -webkit-transform: translateZ(-300px);
        transform: translateZ(-300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        transform: translateZ(0px);
        opacity: 1;
    }
}

@keyframes SubMenuAnimIn4 {
    0% {
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0px);
        transform: translateZ(0px);
        opacity: 1;
    }
}

@keyframes SubMenuAnimIn5 {
    0% {
        -webkit-transform: translateZ(-200px);
        transform: translateZ(-200px);
        opacity: 0;
    }

    100% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-out-1 {
    -webkit-animation: SubMenuAnimOut1 0.4s ease;
    animation: SubMenuAnimOut1 0.4s ease;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-out-2 {
    -webkit-animation: SubMenuAnimOut2 0.3s ease-in-out;
    animation: SubMenuAnimOut2 0.3s ease-in-out;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-out-3 {
    -webkit-animation: SubMenuAnimOut3 0.4s ease;
    animation: SubMenuAnimOut3 0.4s ease;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-out-4 {
    -webkit-animation: SubMenuAnimOut4 0.4s ease;
    animation: SubMenuAnimOut4 0.4s ease;
}

.sffm-submenu-animate .sffm-menu-container > .sffm-submenu.sffm-animate-out-5 {
    -webkit-animation: SubMenuAnimOut5 0.4s ease;
    animation: SubMenuAnimOut5 0.4s ease;
}

@-webkit-keyframes SubMenuAnimOut1 {
    0% {
        -webkit-transform: translateX(0%);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50%);
        opacity: 0;
    }
}

@-webkit-keyframes SubMenuAnimOut2 {
    0% {
        -webkit-transform: translateX(0%);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(100%);
        opacity: 0;
    }
}

@-webkit-keyframes SubMenuAnimOut3 {
    0% {
        -webkit-transform: translateZ(0px);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(-300px);
        opacity: 0;
    }
}

@-webkit-keyframes SubMenuAnimOut4 {
    0% {
        -webkit-transform: translateZ(0px);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(300px);
        opacity: 0;
    }
}

@-webkit-keyframes SubMenuAnimOut5 {
    0% {
        -webkit-transform: translateZ(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(-200px);
        opacity: 0;
    }
}

@keyframes SubMenuAnimOut1 {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(50%);
        transform: translateX(50%);
        opacity: 0;
    }
}

@keyframes SubMenuAnimOut2 {
    0% {
        -webkit-transform: translateX(0%);
        transform: translateX(0%);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
        opacity: 0;
    }
}

@keyframes SubMenuAnimOut3 {
    0% {
        -webkit-transform: translateZ(0px);
        transform: translateZ(0px);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(-300px);
        transform: translateZ(-300px);
        opacity: 0;
    }
}

@keyframes SubMenuAnimOut4 {
    0% {
        -webkit-transform: translateZ(0px);
        transform: translateZ(0px);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(300px);
        transform: translateZ(300px);
        opacity: 0;
    }
}

@keyframes SubMenuAnimOut5 {
    0% {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
        opacity: 1;
    }

    100% {
        -webkit-transform: translateZ(-200px);
        transform: translateZ(-200px);
        opacity: 0;
    }
}


/* No JS Fallback */

.no-js .sffm-submenu-animate .sffm-menu-container .sffm-menu {
    position: relative;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
}

.no-js .sffm-submenu-animate .sffm-menu-container li .sffm-submenu {
    display: block;
}

.no-js .sffm-submenu-animate .sffm-menu-container li.sffm-back {
    display: none;
}

.no-js .sffm-submenu-animate .sffm-menu-container li > a:not(:only-child) {
    background: rgba(0, 0, 0, 0.1);
}

    .no-js .sffm-submenu-animate .sffm-menu-container li > a:not(:only-child):after {
        content: '';
    }


/* Skew Side Mebu */

.sffm-layout-skew-side-menu.sffm-flymenu-pos-right .sffm-flymenu-panel {
    padding-left: calc(var(--sffm-skew-menu-angle, 15)/100 * var(--sffm-panel-width));
}

    .sffm-layout-skew-side-menu.sffm-flymenu-pos-right .sffm-flymenu-panel.sffm-skew-direction-forward {
        clip-path: polygon(var(--sffm-skew-menu-angle-percentage, 15) 0%, 100% 0%, 100% 100%, 0% 100%);
    }

    .sffm-layout-skew-side-menu.sffm-flymenu-pos-right .sffm-flymenu-panel.sffm-skew-direction-backward {
        clip-path: polygon(0 0, 100% 0%, 100% 100%, var(--sffm-skew-menu-angle-percentage, 15) 100%);
    }

.sffm-layout-skew-side-menu.sffm-flymenu-pos-left .sffm-flymenu-panel {
    padding-right: calc(var(--sffm-skew-menu-angle, 15)/100 * var(--sffm-panel-width));
}

    .sffm-layout-skew-side-menu.sffm-flymenu-pos-left .sffm-flymenu-panel.sffm-skew-direction-forward {
        clip-path: polygon(0 0, 100% 0, calc(100% - var(--sffm-skew-menu-angle-percentage, 15)) 100%, 0 100%);
    }

    .sffm-layout-skew-side-menu.sffm-flymenu-pos-left .sffm-flymenu-panel.sffm-skew-direction-backward {
        clip-path: polygon(0 0, calc(100% - var(--sffm-skew-menu-angle-percentage, 15)) 0, 100% 100%, 0 100%);
    }

.sffm-layout-skew-side-menu.sffm-flymenu-pos-left .mCS-sffm-scrollbar-theme.mCSB_outside + .mCSB_scrollTools {
    right: auto;
    left: 0;
}

.sffm-layout-skew-side-menu.sffm-flymenu-pos-left .sffm-flymenu-panel-scroller {
    direction: rtl;
}

    .sffm-layout-skew-side-menu.sffm-flymenu-pos-left .sffm-flymenu-panel-scroller .sffm-flymenu-panel-content {
        direction: ltr;
    }


/* Full Screen Menu */

.sffm-flymenu-panel.sffm-full-screen-menu {
    width: 100%;
}

.sffm-flymenu-panel .sffm-panel-close {
    position: absolute;
    text-decoration: none;
    top: var(--sffm-close-button-offset-top, 10px);
    height: var(--sffm-close-button-size, 50px);
    width: var(--sffm-close-button-size, 50px);
    background: var(--sffm-close-button-bg-color, #111);
    color: var(--sffm-close-button-icon-color, #FFF);
    border-radius: var(--sffm-close-button-border-radius, 0px);
    font-size: var(--sffm-close-button-size, 50px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9;
}

    .sffm-flymenu-panel .sffm-panel-close.sffm-pos-left {
        left: var(--sffm-close-button-offset-left, 10px);
    }

    .sffm-flymenu-panel .sffm-panel-close.sffm-pos-right {
        right: var(--sffm-close-button-offset-right, 10px);
    }

    .sffm-flymenu-panel .sffm-panel-close:hover {
        background: var(--sffm-close-button-bg-color-hover, var(--sffm-close-button-bg-color, #111));
        color: var(--sffm-close-button-icon-color-hover, var(--sffm-close-button-icon-color, #FFF));
    }

    .sffm-flymenu-panel .sffm-panel-close i {
        font-size: 0.45em;
    }

.sffm-flymenu-panel.sffm-full-screen-menu .sffm-flymenu-panel-content {
    width: var(--sffm-fullscreen-content-width, 600px);
    margin: 0 auto;
}

.sffm-fullscreen-anim-fade-in .sffm-flymenu-panel {
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.sffm-flymenu-show.sffm-fullscreen-anim-fade-in .sffm-flymenu-panel {
    opacity: 1;
    visibility: visible;
}

.sffm-fullscreen-anim-zoom-in .sffm-flymenu-panel {
    opacity: 0;
    visibility: hidden;
    transform: scale(0.3);
    transition: all 0.3s ease-in-out;
}

.sffm-flymenu-show.sffm-fullscreen-anim-zoom-in .sffm-flymenu-panel {
    opacity: 1;
    visibility: visible;
    transform: scale(1);
}

.sffm-fullscreen-anim-slide-down .sffm-flymenu-panel {
    transform: translateY(-100%);
    transition: all 0.3s ease-in-out;
}

.sffm-flymenu-show.sffm-fullscreen-anim-slide-down .sffm-flymenu-panel {
    transform: translateY(0);
}

.sffm-fullscreen-anim-slide-up .sffm-flymenu-panel {
    transform: translateY(100%);
    transition: all 0.3s ease-in-out;
}

.sffm-flymenu-show.sffm-fullscreen-anim-slide-up .sffm-flymenu-panel {
    transform: translateY(0);
}

.sffm-fullscreen-anim-slide-left .sffm-flymenu-panel {
    transform: translateX(-100%);
    transition: all 0.3s ease-in-out;
}

.sffm-flymenu-show.sffm-fullscreen-anim-slide-left .sffm-flymenu-panel {
    transform: translateX(0);
}

.sffm-fullscreen-anim-slide-right .sffm-flymenu-panel {
    transform: translateX(100%);
    transition: all 0.3s ease-in-out;
}

.sffm-flymenu-show.sffm-fullscreen-anim-slide-right .sffm-flymenu-panel {
    transform: translateX(0);
}

.sffm-fullscreen-anim-morphin .sffm-flymenu-panel {
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s linear;
}

.sffm-flymenu-show.sffm-fullscreen-anim-morphin .sffm-flymenu-panel {
    opacity: 1;
    visibility: visible;
}

.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger i,
.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger img {
    position: relative;
}

.sffm-flymenu-show.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger i,
.sffm-flymenu-show.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger img,
.sffm-flymenu-show.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger .sffm-toggle-button {
    display: none;
}

.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: var(--sffm-trigger-btn-bg-color, #000);
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: 50%;
    transform: scale(0.9);
    transition: all 0.3s ease;
}

.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger:hover:before {
    background: var(--sffm-trigger-btn-bg-color-hover, var(--sffm-trigger-btn-bg-color, #000));
}

.sffm-flymenu-trigger-block.sffm-shape-round .sffm-flymenu-trigger:before {
    border-radius: 50%;
}

.sffm-flymenu-trigger-block.sffm-shape-rounded-square .sffm-flymenu-trigger:before {
    border-radius: 0.2em;
}

.sffm-flymenu-show.sffm-fullscreen-anim-morphin .sffm-flymenu-trigger:before {
    transform: scale(70);
}


/* Wave Animations */

[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-flymenu-panel {
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
    background: none !important;
}

[class*=" sffm-fullscreen-anim-wave-animation-"].sffm-bg-image .sffm-flymenu-panel:before,
[class*=" sffm-fullscreen-anim-wave-animation-"].sffm-bg-image .sffm-submenu-container:before {
    display: none;
}

.sffm-flymenu-show[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-flymenu-panel {
    opacity: 1;
    visibility: visible;
}

[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-flymenu-header,
[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-flymenu-footer,
[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu-none .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    opacity: 0;
    transition: all 0.3s ease 0.8s !important;
}

.sffm-flymenu-show[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-flymenu-header,
.sffm-flymenu-show[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-flymenu-footer,
.sffm-flymenu-show[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu-none .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    opacity: 1;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(1) > .sffm-menu-item-link {
    transition-delay: 0.8s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(2) > .sffm-menu-item-link {
    transition-delay: 0.85s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(3) > .sffm-menu-item-link {
    transition-delay: 0.9s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(4) > .sffm-menu-item-link {
    transition-delay: 0.95s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(5) > .sffm-menu-item-link {
    transition-delay: 1s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(6) > .sffm-menu-item-link {
    transition-delay: 1.05s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(7) > .sffm-menu-item-link {
    transition-delay: 1.1s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(8) > .sffm-menu-item-link {
    transition-delay: 1.15s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(9) > .sffm-menu-item-link {
    transition-delay: 1.2s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(10) > .sffm-menu-item-link {
    transition-delay: 1.25s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(11) > .sffm-menu-item-link {
    transition-delay: 1.3s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(12) > .sffm-menu-item-link {
    transition-delay: 1.35s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(13) > .sffm-menu-item-link {
    transition-delay: 1.4s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(14) > .sffm-menu-item-link {
    transition-delay: 1.45s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(15) > .sffm-menu-item-link {
    transition-delay: 1.5s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(16) > .sffm-menu-item-link {
    transition-delay: 1.55s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(17) > .sffm-menu-item-link {
    transition-delay: 1.6s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(18) > .sffm-menu-item-link {
    transition-delay: 1.65s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(19) > .sffm-menu-item-link {
    transition-delay: 1.7s;
}

.sffm-flymenu-show.sffm-flymenu-animating[class*=" sffm-fullscreen-anim-wave-animation-"] .sffm-menu > .sffm-menu-item:nth-of-type(20) > .sffm-menu-item-link {
    transition-delay: 1.75s;
}

.sffm-full-screen-menu-column-2 .sffm-flymenu-panel-content,
.sffm-full-screen-menu-column-3 .sffm-flymenu-panel-content {
    display: grid;
    gap: 40px;
}

.sffm-full-screen-menu-column-2 .sffm-flymenu-panel-content {
    grid-template-columns: repeat(2, 1fr);
}

.sffm-full-screen-menu-column-3 .sffm-flymenu-panel-content {
    grid-template-columns: repeat(3, 1fr);
}

.sffm-flymenu-v-align-middle .sffm-full-screen-menu-column-2 .sffm-flymenu-panel-content,
.sffm-flymenu-v-align-middle .sffm-full-screen-menu-column-3 .sffm-flymenu-panel-content,
.sffm-flymenu-v-align-stretch .sffm-full-screen-menu-column-2 .sffm-flymenu-panel-content,
.sffm-flymenu-v-align-stretch .sffm-full-screen-menu-column-3 .sffm-flymenu-panel-content {
    align-items: center;
}

.sffm-flymenu-v-align-bottom .sffm-full-screen-menu-column-2 .sffm-flymenu-panel-content,
.sffm-flymenu-v-align-bottom .sffm-full-screen-menu-column-3 .sffm-flymenu-panel-content {
    align-items: flex-end;
}

.sffm-shape-overlays {
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
    visibility: hidden;
    transition-delay: 1s;
}

.sffm-flymenu-show .sffm-shape-overlays {
    visibility: visible;
    transition-delay: 0s;
}

.sffm-shape-overlays path:nth-of-type(1) {
    fill: var(--sffm-wave-color-1, #c4dbea);
}

.sffm-shape-overlays path:nth-of-type(2) {
    fill: var(--sffm-wave-color-2, #4c688b);
}

.sffm-shape-overlays path:nth-of-type(3) {
    fill: var(--sffm-wave-color-3, #2e496a);
}

.sffm-shape-overlays path:nth-of-type(4) {
    fill: var(--sffm-wave-color-4, #17a398);
}

.sffm-full-screen-menu .sffm-menu > .sffm-menu-item {
    transition: all 0.2s ease;
}


/* Slide from Bottom*/

.sffm-flymenu-hide .sffm-menu-slide-bottom .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateY(100px);
    opacity: 0;
}

.sffm-flymenu-show .sffm-menu-slide-bottom .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateY(0);
    opacity: 1;
}


/* Slide from Top*/

.sffm-flymenu-hide .sffm-menu-slide-top .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateY(-100px);
    opacity: 0;
}

.sffm-flymenu-show .sffm-menu-slide-top .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateY(0);
    opacity: 1;
}


/* Slide from Right*/

.sffm-flymenu-hide .sffm-menu-slide-right .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateX(100px);
    opacity: 0;
}

.sffm-flymenu-show .sffm-menu-slide-right .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateX(0);
    opacity: 1;
}


/* Slide from Left*/

.sffm-flymenu-hide .sffm-menu-slide-left .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateX(-100px);
    opacity: 0;
}

.sffm-flymenu-show .sffm-menu-slide-left .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateX(0);
    opacity: 1;
}


/* Slide from Top and Rotate*/

.sffm-flymenu-hide .sffm-menu-slide-top-rotate .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateY(100px) rotate(10deg);
    opacity: 0;
}

.sffm-flymenu-show .sffm-menu-slide-top-rotate .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transform: translateY(0) rotate(0);
    opacity: 1;
}


/* Animation Delays */
.sffm-menu-none .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transition-delay: 0s !important;
}

.sffm-flymenu-animating .sffm-menu > .sffm-menu-item > .sffm-menu-item-link {
    transition: all 0.3s ease;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(1) > .sffm-menu-item-link {
    transition-delay: 0.3s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(2) > .sffm-menu-item-link {
    transition-delay: 0.35s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(3) > .sffm-menu-item-link {
    transition-delay: 0.4s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(4) > .sffm-menu-item-link {
    transition-delay: 0.45s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(5) > .sffm-menu-item-link {
    transition-delay: 0.5s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(6) > .sffm-menu-item-link {
    transition-delay: 0.55s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(7) > .sffm-menu-item-link {
    transition-delay: 0.6s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(8) > .sffm-menu-item-link {
    transition-delay: 0.65s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(9) > .sffm-menu-item-link {
    transition-delay: 0.7s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(10) > .sffm-menu-item-link {
    transition-delay: 0.75s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(11) > .sffm-menu-item-link {
    transition-delay: 0.8s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(12) > .sffm-menu-item-link {
    transition-delay: 0.85s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(13) > .sffm-menu-item-link {
    transition-delay: 0.9s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(14) > .sffm-menu-item-link {
    transition-delay: 0.95s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(15) > .sffm-menu-item-link {
    transition-delay: 1s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(16) > .sffm-menu-item-link {
    transition-delay: 1.05s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(17) > .sffm-menu-item-link {
    transition-delay: 1.1s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(18) > .sffm-menu-item-link {
    transition-delay: 1.15s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(19) > .sffm-menu-item-link {
    transition-delay: 2.1s;
}

.sffm-flymenu-show.sffm-flymenu-animating .sffm-menu > .sffm-menu-item:nth-of-type(20) > .sffm-menu-item-link {
    transition-delay: 2.2s;
}


/* Panel Scrollbar */

.sffm-scrollbar-off.sffm-flymenu-v-align-middle .sffm-flymenu-panel-content,
.sffm-scrollbar-off.sffm-flymenu-v-align-stretch .sffm-submenu-container .sffm-submenu-panel-scroller,
.sffm-scrollbar-off.sffm-flymenu-v-align-middle .sffm-submenu-container .sffm-submenu-panel-scroller,
.sffm-scrollbar-on.sffm-flymenu-v-align-middle .mCustomScrollBox,
.sffm-scrollbar-on.sffm-flymenu-v-align-stretch .mCustomScrollBox {
    justify-content: center;
}

.sffm-scrollbar-off.sffm-flymenu-v-align-top .sffm-flymenu-panel-content,
.sffm-scrollbar-off.sffm-flymenu-v-align-top .sffm-submenu-container .sffm-submenu-panel-scroller,
.sffm-scrollbar-on.sffm-flymenu-v-align-top .mCustomScrollBox {
    justify-content: flex-start;
}

.sffm-scrollbar-off.sffm-flymenu-v-align-bottom .sffm-flymenu-panel-content,
.sffm-scrollbar-off.sffm-flymenu-v-align-bottom .sffm-submenu-container .sffm-submenu-panel-scroller,
.sffm-scrollbar-on.sffm-flymenu-v-align-bottom .mCustomScrollBox {
    justify-content: flex-end;
}

.sffm-flymenu-v-align-stretch .sffm-flymenu-body {
    flex-grow: 1;
    display: flex;
    align-items: center;
}

.sffm-submenu-container .sffm-submenu-panel-scroller {
    display: flex;
    flex-direction: column;
    position: relative;
    overflow: hidden auto;
    height: 100%;
}

    /* ScrollBar */
    .sffm-submenu-container .sffm-submenu-panel-scroller::-webkit-scrollbar {
        width: var(--sffm-scrollbar-width, 4px);
    }

    .sffm-submenu-container .sffm-submenu-panel-scroller::-webkit-scrollbar-track {
        background: var(--sffm-scrollbar-drag-bar-color, rgba(255, 255, 255, 0.75));
    }

    .sffm-submenu-container .sffm-submenu-panel-scroller::-webkit-scrollbar-thumb {
        background: var(--sffm-scrollbar-drag-rail-color, rgba(0, 0, 0, 0.4));
    }

.sffm-submenu-container .sffm-submenu-panel {
    padding: var(--sffm-panel-spacing-top, 40px) var(--sffm-panel-spacing-right, 40px) var(--sffm-panel-spacing-bottom, 40px) var(--sffm-panel-spacing-left, 40px);
    max-height: 100%;
}


/*
.sffm-scrollbar-on .mCS_no_scrollbar .mCustomScrollBox {
    display: flex;
    flex-direction: column;
}

.sffm-scrollbar-on .mCS-sffm-scrollbar-theme.mCSB_outside+.mCSB_scrollTools {
    right: 0;
}

.sffm-scrollbar-on .mCS-sffm-scrollbar-theme.mCSB_scrollTools,
.sffm-scrollbar-on .mCS-sffm-scrollbar-theme.mCSB_scrollTools .mCSB_draggerRail,
.sffm-scrollbar-on .mCS-sffm-scrollbar-theme.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    width: var(--sffm-scrollbar-width, 4px);
    border-radius: 0;
}

.sffm-scrollbar-on .mCS-sffm-scrollbar-theme.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
    background: var(--sffm-scrollbar-drag-bar-color, rgba(255,255,255,0.75));
}

.sffm-scrollbar-on .mCS-sffm-scrollbar-theme.mCSB_scrollTools .mCSB_draggerRail{
    background: var(--sffm-scrollbar-drag-rail-color, rgba(0,0,0,0.4));
}
*/
/* Panel Image Background */

.sffm-bg-image .sffm-flymenu-panel {
    background-image: var(--sffm-panel-background-image);
    background-size: var(--sffm-panel-background-size, cover);
    background-repeat: var(--sffm-panel-background-repeat, repeat);
    background-attachment: scroll;
    background-position: var(--sffm-panel-background-position, center center);
}

.sffm-bg-image .sffm-submenu-container {
    background-image: var(--sffm-panel-background-image);
    background-size: var(--sffm-panel-background-size, cover);
    background-repeat: var(--sffm-panel-background-repeat, repeat);
    background-attachment: var(--sffm-panel-background-attachment, scroll);
    background-position: var(--sffm-panel-background-position, center center);
}

    .sffm-bg-image .sffm-flymenu-panel:before,
    .sffm-bg-image .sffm-submenu-container:before {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        opacity: 0.9;
        background: var(--sffm-panel-overlay-color, transparent);
    }


/* Panel Video Background */

.sffm-video-bg-wrap {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
}

    .sffm-video-bg-wrap:after,
    .sffm-bg-video .sffm-submenu-container:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        bottom: 0;
        right: 0;
        opacity: 0.9;
        background: var(--sffm-panel-video-overlay-color, transparent);
    }

.sffm-bg-video .sffm-submenu-container {
    background-image: var(--sffm-panel-video-background-image);
    background-size: cover;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center;
}


/* Icon Menu */

.sffm-layout-icon-menu .sffm-flymenu-trigger-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 20px;
}

.sffm-layout-icon-menu .sffm-flymenu-trigger {
    position: relative;
    background: none;
    height: 70px;
    width: 70px;
}

.sffm-layout-icon-menu .sffm-flymenu-trigger-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    background: none;
    height: 70px;
    width: 70px;
    font-size: var(--sffm-trigger-btn-icon-size, 24px);
    color: var(--sffm-trigger-btn-icon-color, #FFF);
}

    .sffm-layout-icon-menu .sffm-flymenu-trigger-btn:hover {
        background: none;
        color: var(--sffm-trigger-btn-icon-color-hover, var(--sffm-trigger-btn-icon-color, #FFF));
    }

    .sffm-layout-icon-menu .sffm-flymenu-trigger-btn img {
        width: var(--sffm-trigger-btn-image-size, 100%);
    }

.sffm-layout-icon-menu .sffm-flymenu-panel-content {
    padding: var(--sffm-panel-spacing-top, 40px) 0 var(--sffm-panel-spacing-bottom, 40px) 0;
}

.sffm-flymenu-show.sffm-layout-icon-menu .sffm-flymenu-panel-content {
    padding: var(--sffm-panel-spacing-top, 40px) var(--sffm-panel-spacing-right, 40px) var(--sffm-panel-spacing-bottom, 40px) var(--sffm-panel-spacing-left, 40px);
}

.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-flymenu-header {
    padding: 0 10px;
}

.sffm-layout-icon-menu .sffm-flymenu-panel {
    transition: all 0.1s ease-in-out;
}

.sffm-layout-icon-menu .sffm-submenu-menu-drop .sffm-menu-container ul ul {
    margin-left: calc(80px - var(--sffm-panel-spacing-left, 40px));
}

.sffm-layout-icon-menu .sffm-menu-item-link-depth-0 .sffm-menu-item-description {
    margin-left: 80px;
}

.sffm-layout-icon-menu .sffm-submenu-menu-drop .sffm-menu-container ul ul ul {
    margin-left: 15px;
}

.sffm-flymenu-hide.sffm-layout-icon-menu.sffm-flymenu-pos-left .sffm-flymenu-panel.sffm-submenu-animate {
    left: -80px;
}

.sffm-flymenu-hide.sffm-layout-icon-menu.sffm-flymenu-pos-right .sffm-flymenu-panel.sffm-submenu-animate {
    right: -80px;
}

.sffm-flymenu-hide.sffm-layout-icon-menu.sffm-flymenu-pos-left .sffm-flymenu-panel,
.sffm-flymenu-hide.sffm-layout-icon-menu.sffm-flymenu-pos-left.sffm-submenu-animate-loaded .sffm-flymenu-panel.sffm-submenu-animate {
    left: 0;
}

.sffm-flymenu-hide.sffm-layout-icon-menu.sffm-flymenu-pos-right .sffm-flymenu-panel,
.sffm-flymenu-hide.sffm-layout-icon-menu.sffm-flymenu-pos-right.sffm-submenu-animate-loaded .sffm-flymenu-panel.sffm-submenu-animate {
    right: 0;
}

.sffm-layout-icon-menu .sffm-menu-container li.sffm-menu-item .sffm-menu-item-notification-label {
    margin-left: 10px;
}

.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-flymenu-panel {
    width: 80px !important;
}

.sffm-flymenu-hide.sffm-layout-icon-menu li.sffm-menu-item .sffm-menu-item-link-depth-0,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-flymenu-body {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0;
}

.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-menu-item-link .sffm-menu-item-label,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-menu-item-link .sffm-menu-item-notification-label,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-menu-container li.sffm-menu-item .sffm-menu-item-description,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-menu-container li.sffm-menu-item .sffm-addditional-content,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-menu-container li.sffm-menu-item .sffm-submenu-toggle {
    display: none !important;
}

.sffm-flymenu-show.sffm-layout-icon-menu .sffm-menu-item-link .sffm-menu-item-label,
.sffm-flymenu-show.sffm-layout-icon-menu .sffm-menu-item-link .sffm-menu-item-notification-label,
.sffm-flymenu-show.sffm-layout-icon-menu .sffm-menu-container li.sffm-menu-item .sffm-menu-item-description,
.sffm-flymenu-show.sffm-layout-icon-menu .sffm-menu-container li.sffm-menu-item .sffm-addditional-content,
.sffm-flymenu-show.sffm-layout-icon-menu .sffm-menu-container li.sffm-menu-item .sffm-submenu-toggle {
    width: auto;
    opacity: 1;
    transition: opacity .25s ease 0.1s;
}

.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-flymenu-footer,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-panel-social-icons,
.sffm-flymenu-show.sffm-layout-icon-menu ul.sffm-iconmenu-social-icons,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-header-title-tagline,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-header-custom-content,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-panel-search,
.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-submenu.sffm-submenu-open,
.sffm-flymenu-hide.sffm-layout-icon-menu li.sffm-menu-item .sffm-menu-item-description {
    display: none !important;
}

.sffm-layout-icon-menu li.sffm-menu-item .sffm-menu-item-link-depth-0 {
    transition: none !important;
    transform: none !important;
    opacity: 1 !important;
    margin-left: calc(var(--sffm-panel-spacing-left, 40px) * -1);
}

.sffm-flymenu-hide.sffm-layout-icon-menu .sffm-header-image img {
    width: 50px;
}

.sffm-layout-icon-menu li.sffm-menu-item .sffm-menu-item-link-depth-0 .sffm-menu-link-items {
    gap: 0;
}

.sffm-layout-icon-menu li.sffm-menu-item .sffm-menu-item-link-depth-0 .sffm-menu-item-title {
    gap: 0;
    width: 100%;
}

.sffm-layout-icon-menu li.sffm-menu-item .sffm-menu-item-link-depth-0 .sffm-menu-item-label {
    white-space: nowrap;
    overflow: hidden;
    width: calc(100% - 80px);
    text-overflow: ellipsis;
}

.sffm-layout-icon-menu li.sffm-menu-item .sffm-menu-item-link-depth-0 .sffm-menu-item-title i {
    width: 80px;
    min-width: 80px;
    display: flex;
    justify-content: center;
}

ul.sffm-iconmenu-social-icons {
    list-style: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 30px 0 0;
    padding: 0;
}

    ul.sffm-iconmenu-social-icons li a {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 40px;
        width: 40px;
        font-size: 20px;
        background: #333;
        color: #FFF;
        background: var(--sffm-socialicon-bg-color, #333);
        color: var(--sffm-socialicon-icon-color, #FFF);
    }


/* Hover Animation */

.sffm-menu-item-link .sffm-menu-item-title {
    transition: all 0.3s ease;
}

.sffm-hover-linear-slide .sffm-flymenu-body.sffm-align-left .sffm-menu-item-link:hover .sffm-menu-item-title,
.sffm-hover-linear-slide .sffm-flymenu-body.sffm-align-center .sffm-menu-item-link:hover .sffm-menu-item-title {
    transform: translateX(10px);
}

.sffm-hover-linear-slide .sffm-flymenu-body.sffm-align-right .sffm-menu-item-link:hover .sffm-menu-item-title {
    transform: translateX(-10px);
}

.sffm-icon-menu.sffm-hover-linear-slide .sffm-menu-item-link:hover .sffm-menu-item-title {
    transform: translateX(10px);
}

.sffm-hover-side-border .sffm-menu-item-link .sffm-menu-item-title:before {
    position: absolute;
    content: "";
    top: 0;
    height: 0;
    width: 5px;
    background: var(--sffm-menu-label-color-hover, var(--sffm-menu-label-color, #FFF));
    border-radius: 3px;
    transition: all 0.3s ease;
}

.sffm-hover-side-border .sffm-flymenu-body.sffm-align-left .sffm-menu-item-link .sffm-menu-item-title:before,
.sffm-hover-side-border .sffm-flymenu-body.sffm-align-center .sffm-menu-item-link .sffm-menu-item-title:before {
    left: -15px;
}

.sffm-hover-side-border .sffm-flymenu-body.sffm-align-right .sffm-menu-item-link .sffm-menu-item-title:before {
    right: -15px;
}

.sffm-icon-menu.sffm-hover-side-border .sffm-menu-item-link.sffm-menu-item-link-depth-0 .sffm-menu-item-title:before {
    left: 0;
}

.sffm-icon-menu.sffm-hover-side-border .sffm-menu-item-link .sffm-menu-item-title:before {
    left: -15px;
}

.sffm-hover-side-border .sffm-menu-item-link:hover .sffm-menu-item-title:before {
    height: 100%;
}

.sffm-hover-border-bottom .sffm-menu-item-link .sffm-menu-link-items:before {
    position: absolute;
    content: "";
    bottom: 0;
    height: 1px;
    width: 0;
    background: var(--sffm-menu-label-color-hover, var(--sffm-menu-label-color, #FFF));
    transition: all 0.3s ease;
}

.sffm-hover-border-bottom .sffm-flymenu-body.sffm-align-left .sffm-menu-item-link .sffm-menu-link-items:before {
    left: 0;
}

.sffm-hover-border-bottom .sffm-flymenu-body.sffm-align-right .sffm-menu-item-link .sffm-menu-link-items:before {
    right: 0;
}

.sffm-hover-border-bottom .sffm-menu-item-link:hover .sffm-menu-link-items:before {
    width: 100%;
}

/* Plugin Comatibility CSS */
.sffm-submenu-container div.wpforms-container-full,
.sffm-submenu-container div.wpforms-container-full .wpforms-form * {
    visibility: inherit;
}


@media screen and (max-width:768px) {
    .sffm-flymenu-pos-right .sffm-submenu-container {
        right: 0;
        z-index: 9;
    }

    .sffm-flymenu-pos-left .sffm-submenu-container {
        left: 0;
        z-index: 9;
    }
}

:root {
    --animate-duration: 1s;
    --animate-delay: 1s;
    --animate-repeat: 1;
}

.animate--animated {
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-duration: var(--animate-duration);
    animation-duration: var(--animate-duration);
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
}

    .animate--animated.animate--infinite {
        -webkit-animation-iteration-count: infinite;
        animation-iteration-count: infinite;
    }

    .animate--animated.animate--repeat-1 {
        -webkit-animation-iteration-count: 1;
        animation-iteration-count: 1;
        -webkit-animation-iteration-count: var(--animate-repeat);
        animation-iteration-count: var(--animate-repeat);
    }

    .animate--animated.animate--repeat-2 {
        -webkit-animation-iteration-count: calc(1 * 2);
        animation-iteration-count: calc(1 * 2);
        -webkit-animation-iteration-count: calc(var(--animate-repeat) * 2);
        animation-iteration-count: calc(var(--animate-repeat) * 2);
    }

    .animate--animated.animate--repeat-3 {
        -webkit-animation-iteration-count: calc(1 * 3);
        animation-iteration-count: calc(1 * 3);
        -webkit-animation-iteration-count: calc(var(--animate-repeat) * 3);
        animation-iteration-count: calc(var(--animate-repeat) * 3);
    }

    .animate--animated.animate--delay-1s {
        -webkit-animation-delay: 1s;
        animation-delay: 1s;
        -webkit-animation-delay: var(--animate-delay);
        animation-delay: var(--animate-delay);
    }

    .animate--animated.animate--delay-2s {
        -webkit-animation-delay: calc(1s * 2);
        animation-delay: calc(1s * 2);
        -webkit-animation-delay: calc(var(--animate-delay) * 2);
        animation-delay: calc(var(--animate-delay) * 2);
    }

    .animate--animated.animate--delay-3s {
        -webkit-animation-delay: calc(1s * 3);
        animation-delay: calc(1s * 3);
        -webkit-animation-delay: calc(var(--animate-delay) * 3);
        animation-delay: calc(var(--animate-delay) * 3);
    }

    .animate--animated.animate--delay-4s {
        -webkit-animation-delay: calc(1s * 4);
        animation-delay: calc(1s * 4);
        -webkit-animation-delay: calc(var(--animate-delay) * 4);
        animation-delay: calc(var(--animate-delay) * 4);
    }

    .animate--animated.animate--delay-5s {
        -webkit-animation-delay: calc(1s * 5);
        animation-delay: calc(1s * 5);
        -webkit-animation-delay: calc(var(--animate-delay) * 5);
        animation-delay: calc(var(--animate-delay) * 5);
    }

    .animate--animated.animate--faster {
        -webkit-animation-duration: calc(1s / 2);
        animation-duration: calc(1s / 2);
        -webkit-animation-duration: calc(var(--animate-duration) / 2);
        animation-duration: calc(var(--animate-duration) / 2);
    }

    .animate--animated.animate--fast {
        -webkit-animation-duration: calc(1s * 0.8);
        animation-duration: calc(1s * 0.8);
        -webkit-animation-duration: calc(var(--animate-duration) * 0.8);
        animation-duration: calc(var(--animate-duration) * 0.8);
    }

    .animate--animated.animate--slow {
        -webkit-animation-duration: calc(1s * 2);
        animation-duration: calc(1s * 2);
        -webkit-animation-duration: calc(var(--animate-duration) * 2);
        animation-duration: calc(var(--animate-duration) * 2);
    }

    .animate--animated.animate--slower {
        -webkit-animation-duration: calc(1s * 3);
        animation-duration: calc(1s * 3);
        -webkit-animation-duration: calc(var(--animate-duration) * 3);
        animation-duration: calc(var(--animate-duration) * 3);
    }

@media print, (prefers-reduced-motion: reduce) {
    .animate--animated {
        -webkit-animation-duration: 1ms !important;
        animation-duration: 1ms !important;
        -webkit-transition-duration: 1ms !important;
        transition-duration: 1ms !important;
        -webkit-animation-iteration-count: 1 !important;
        animation-iteration-count: 1 !important;
    }

        .animate--animated[class*='Out'] {
            opacity: 0;
        }
}


/* Attention seekers  */

@-webkit-keyframes bounce {

    from, 20%, 53%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
        transform: translate3d(0, -30px, 0) scaleY(1.1);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
        transform: translate3d(0, -15px, 0) scaleY(1.05);
    }

    80% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
        transform: translate3d(0, 0, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
        transform: translate3d(0, -4px, 0) scaleY(1.02);
    }
}

@keyframes bounce {

    from, 20%, 53%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    40%, 43% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -30px, 0) scaleY(1.1);
        transform: translate3d(0, -30px, 0) scaleY(1.1);
    }

    70% {
        -webkit-animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
        -webkit-transform: translate3d(0, -15px, 0) scaleY(1.05);
        transform: translate3d(0, -15px, 0) scaleY(1.05);
    }

    80% {
        -webkit-transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        -webkit-transform: translate3d(0, 0, 0) scaleY(0.95);
        transform: translate3d(0, 0, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -4px, 0) scaleY(1.02);
        transform: translate3d(0, -4px, 0) scaleY(1.02);
    }
}

.animate--bounce {
    -webkit-animation-name: bounce;
    animation-name: bounce;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

@-webkit-keyframes flash {

    from, 50%, to {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}

@keyframes flash {

    from, 50%, to {
        opacity: 1;
    }

    25%, 75% {
        opacity: 0;
    }
}

.animate--flash {
    -webkit-animation-name: flash;
    animation-name: flash;
}


/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes pulse {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes pulse {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    50% {
        -webkit-transform: scale3d(1.05, 1.05, 1.05);
        transform: scale3d(1.05, 1.05, 1.05);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.animate--pulse {
    -webkit-animation-name: pulse;
    animation-name: pulse;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}

@-webkit-keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes rubberBand {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    30% {
        -webkit-transform: scale3d(1.25, 0.75, 1);
        transform: scale3d(1.25, 0.75, 1);
    }

    40% {
        -webkit-transform: scale3d(0.75, 1.25, 1);
        transform: scale3d(0.75, 1.25, 1);
    }

    50% {
        -webkit-transform: scale3d(1.15, 0.85, 1);
        transform: scale3d(1.15, 0.85, 1);
    }

    65% {
        -webkit-transform: scale3d(0.95, 1.05, 1);
        transform: scale3d(0.95, 1.05, 1);
    }

    75% {
        -webkit-transform: scale3d(1.05, 0.95, 1);
        transform: scale3d(1.05, 0.95, 1);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.animate--rubberBand {
    -webkit-animation-name: rubberBand;
    animation-name: rubberBand;
}

@-webkit-keyframes shakeX {

    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }
}

@keyframes shakeX {

    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(-10px, 0, 0);
        transform: translate3d(-10px, 0, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(10px, 0, 0);
        transform: translate3d(10px, 0, 0);
    }
}

.animate--shakeX {
    -webkit-animation-name: shakeX;
    animation-name: shakeX;
}

@-webkit-keyframes shakeY {

    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }
}

@keyframes shakeY {

    from, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    10%, 30%, 50%, 70%, 90% {
        -webkit-transform: translate3d(0, -10px, 0);
        transform: translate3d(0, -10px, 0);
    }

    20%, 40%, 60%, 80% {
        -webkit-transform: translate3d(0, 10px, 0);
        transform: translate3d(0, 10px, 0);
    }
}

.animate--shakeY {
    -webkit-animation-name: shakeY;
    animation-name: shakeY;
}

@-webkit-keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

@keyframes headShake {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    6.5% {
        -webkit-transform: translateX(-6px) rotateY(-9deg);
        transform: translateX(-6px) rotateY(-9deg);
    }

    18.5% {
        -webkit-transform: translateX(5px) rotateY(7deg);
        transform: translateX(5px) rotateY(7deg);
    }

    31.5% {
        -webkit-transform: translateX(-3px) rotateY(-5deg);
        transform: translateX(-3px) rotateY(-5deg);
    }

    43.5% {
        -webkit-transform: translateX(2px) rotateY(3deg);
        transform: translateX(2px) rotateY(3deg);
    }

    50% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }
}

.animate--headShake {
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-name: headShake;
    animation-name: headShake;
}

@-webkit-keyframes swing {
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

@keyframes swing {
    20% {
        -webkit-transform: rotate3d(0, 0, 1, 15deg);
        transform: rotate3d(0, 0, 1, 15deg);
    }

    40% {
        -webkit-transform: rotate3d(0, 0, 1, -10deg);
        transform: rotate3d(0, 0, 1, -10deg);
    }

    60% {
        -webkit-transform: rotate3d(0, 0, 1, 5deg);
        transform: rotate3d(0, 0, 1, 5deg);
    }

    80% {
        -webkit-transform: rotate3d(0, 0, 1, -5deg);
        transform: rotate3d(0, 0, 1, -5deg);
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 0deg);
        transform: rotate3d(0, 0, 1, 0deg);
    }
}

.animate--swing {
    -webkit-transform-origin: top center;
    transform-origin: top center;
    -webkit-animation-name: swing;
    animation-name: swing;
}

@-webkit-keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes tada {
    from {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }

    10%, 20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
    }

    30%, 50%, 70%, 90% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
    }

    40%, 60%, 80% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
        transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
    }

    to {
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.animate--tada {
    -webkit-animation-name: tada;
    animation-name: tada;
}


/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes wobble {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes wobble {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    15% {
        -webkit-transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
        transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
    }

    30% {
        -webkit-transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
        transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
    }

    45% {
        -webkit-transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
        transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
    }

    60% {
        -webkit-transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
        transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
    }

    75% {
        -webkit-transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
        transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--wobble {
    -webkit-animation-name: wobble;
    animation-name: wobble;
}

@-webkit-keyframes jello {

    from, 11.1%, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

@keyframes jello {

    from, 11.1%, to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    22.2% {
        -webkit-transform: skewX(-12.5deg) skewY(-12.5deg);
        transform: skewX(-12.5deg) skewY(-12.5deg);
    }

    33.3% {
        -webkit-transform: skewX(6.25deg) skewY(6.25deg);
        transform: skewX(6.25deg) skewY(6.25deg);
    }

    44.4% {
        -webkit-transform: skewX(-3.125deg) skewY(-3.125deg);
        transform: skewX(-3.125deg) skewY(-3.125deg);
    }

    55.5% {
        -webkit-transform: skewX(1.5625deg) skewY(1.5625deg);
        transform: skewX(1.5625deg) skewY(1.5625deg);
    }

    66.6% {
        -webkit-transform: skewX(-0.78125deg) skewY(-0.78125deg);
        transform: skewX(-0.78125deg) skewY(-0.78125deg);
    }

    77.7% {
        -webkit-transform: skewX(0.390625deg) skewY(0.390625deg);
        transform: skewX(0.390625deg) skewY(0.390625deg);
    }

    88.8% {
        -webkit-transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
        transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
    }
}

.animate--jello {
    -webkit-animation-name: jello;
    animation-name: jello;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes heartBeat {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    14% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    28% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }

    42% {
        -webkit-transform: scale(1.3);
        transform: scale(1.3);
    }

    70% {
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.animate--heartBeat {
    -webkit-animation-name: heartBeat;
    animation-name: heartBeat;
    -webkit-animation-duration: calc(1s * 1.3);
    animation-duration: calc(1s * 1.3);
    -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
    animation-duration: calc(var(--animate-duration) * 1.3);
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
}


/* Back entrances */

@-webkit-keyframes backInDown {
    0% {
        -webkit-transform: translateY(-1200px) scale(0.7);
        transform: translateY(-1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInDown {
    0% {
        -webkit-transform: translateY(-1200px) scale(0.7);
        transform: translateY(-1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.animate--backInDown {
    -webkit-animation-name: backInDown;
    animation-name: backInDown;
}

@-webkit-keyframes backInLeft {
    0% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInLeft {
    0% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.animate--backInLeft {
    -webkit-animation-name: backInLeft;
    animation-name: backInLeft;
}

@-webkit-keyframes backInRight {
    0% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInRight {
    0% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.animate--backInRight {
    -webkit-animation-name: backInRight;
    animation-name: backInRight;
}

@-webkit-keyframes backInUp {
    0% {
        -webkit-transform: translateY(1200px) scale(0.7);
        transform: translateY(1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

@keyframes backInUp {
    0% {
        -webkit-transform: translateY(1200px) scale(0.7);
        transform: translateY(1200px) scale(0.7);
        opacity: 0.7;
    }

    80% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }
}

.animate--backInUp {
    -webkit-animation-name: backInUp;
    animation-name: backInUp;
}


/* Back exits */

@-webkit-keyframes backOutDown {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(700px) scale(0.7);
        transform: translateY(700px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutDown {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(700px) scale(0.7);
        transform: translateY(700px) scale(0.7);
        opacity: 0.7;
    }
}

.animate--backOutDown {
    -webkit-animation-name: backOutDown;
    animation-name: backOutDown;
}

@-webkit-keyframes backOutLeft {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutLeft {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(-2000px) scale(0.7);
        transform: translateX(-2000px) scale(0.7);
        opacity: 0.7;
    }
}

.animate--backOutLeft {
    -webkit-animation-name: backOutLeft;
    animation-name: backOutLeft;
}

@-webkit-keyframes backOutRight {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutRight {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateX(0px) scale(0.7);
        transform: translateX(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateX(2000px) scale(0.7);
        transform: translateX(2000px) scale(0.7);
        opacity: 0.7;
    }
}

.animate--backOutRight {
    -webkit-animation-name: backOutRight;
    animation-name: backOutRight;
}

@-webkit-keyframes backOutUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(-700px) scale(0.7);
        transform: translateY(-700px) scale(0.7);
        opacity: 0.7;
    }
}

@keyframes backOutUp {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    20% {
        -webkit-transform: translateY(0px) scale(0.7);
        transform: translateY(0px) scale(0.7);
        opacity: 0.7;
    }

    100% {
        -webkit-transform: translateY(-700px) scale(0.7);
        transform: translateY(-700px) scale(0.7);
        opacity: 0.7;
    }
}

.animate--backOutUp {
    -webkit-animation-name: backOutUp;
    animation-name: backOutUp;
}


/* Bouncing entrances  */

@-webkit-keyframes bounceIn {

    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97, 0.97, 0.97);
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

@keyframes bounceIn {

    from, 20%, 40%, 60%, 80%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    20% {
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    40% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(1.03, 1.03, 1.03);
        transform: scale3d(1.03, 1.03, 1.03);
    }

    80% {
        -webkit-transform: scale3d(0.97, 0.97, 0.97);
        transform: scale3d(0.97, 0.97, 0.97);
    }

    to {
        opacity: 1;
        -webkit-transform: scale3d(1, 1, 1);
        transform: scale3d(1, 1, 1);
    }
}

.animate--bounceIn {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-animation-name: bounceIn;
    animation-name: bounceIn;
}

@-webkit-keyframes bounceInDown {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
        transform: translate3d(0, -3000px, 0) scaleY(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
        transform: translate3d(0, 25px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
        transform: translate3d(0, -10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
        transform: translate3d(0, 5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInDown {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(0, -3000px, 0) scaleY(3);
        transform: translate3d(0, -3000px, 0) scaleY(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, 25px, 0) scaleY(0.9);
        transform: translate3d(0, 25px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.95);
        transform: translate3d(0, -10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, 5px, 0) scaleY(0.985);
        transform: translate3d(0, 5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--bounceInDown {
    -webkit-animation-name: bounceInDown;
    animation-name: bounceInDown;
}

@-webkit-keyframes bounceInLeft {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
        transform: translate3d(-3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
        transform: translate3d(25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
        transform: translate3d(-10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
        transform: translate3d(5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInLeft {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    0% {
        opacity: 0;
        -webkit-transform: translate3d(-3000px, 0, 0) scaleX(3);
        transform: translate3d(-3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(25px, 0, 0) scaleX(1);
        transform: translate3d(25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(-10px, 0, 0) scaleX(0.98);
        transform: translate3d(-10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(5px, 0, 0) scaleX(0.995);
        transform: translate3d(5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--bounceInLeft {
    -webkit-animation-name: bounceInLeft;
    animation-name: bounceInLeft;
}

@-webkit-keyframes bounceInRight {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
        transform: translate3d(3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
        transform: translate3d(-25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
        transform: translate3d(10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
        transform: translate3d(-5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInRight {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(3000px, 0, 0) scaleX(3);
        transform: translate3d(3000px, 0, 0) scaleX(3);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(-25px, 0, 0) scaleX(1);
        transform: translate3d(-25px, 0, 0) scaleX(1);
    }

    75% {
        -webkit-transform: translate3d(10px, 0, 0) scaleX(0.98);
        transform: translate3d(10px, 0, 0) scaleX(0.98);
    }

    90% {
        -webkit-transform: translate3d(-5px, 0, 0) scaleX(0.995);
        transform: translate3d(-5px, 0, 0) scaleX(0.995);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--bounceInRight {
    -webkit-animation-name: bounceInRight;
    animation-name: bounceInRight;
}

@-webkit-keyframes bounceInUp {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
        transform: translate3d(0, 3000px, 0) scaleY(5);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
        transform: translate3d(0, 10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
        transform: translate3d(0, -5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes bounceInUp {

    from, 60%, 75%, 90%, to {
        -webkit-animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
        animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    }

    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 3000px, 0) scaleY(5);
        transform: translate3d(0, 3000px, 0) scaleY(5);
    }

    60% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    75% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.95);
        transform: translate3d(0, 10px, 0) scaleY(0.95);
    }

    90% {
        -webkit-transform: translate3d(0, -5px, 0) scaleY(0.985);
        transform: translate3d(0, -5px, 0) scaleY(0.985);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--bounceInUp {
    -webkit-animation-name: bounceInUp;
    animation-name: bounceInUp;
}


/* Bouncing exits  */

@-webkit-keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

@keyframes bounceOut {
    20% {
        -webkit-transform: scale3d(0.9, 0.9, 0.9);
        transform: scale3d(0.9, 0.9, 0.9);
    }

    50%, 55% {
        opacity: 1;
        -webkit-transform: scale3d(1.1, 1.1, 1.1);
        transform: scale3d(1.1, 1.1, 1.1);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }
}

.animate--bounceOut {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-animation-name: bounceOut;
    animation-name: bounceOut;
}

@-webkit-keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
        transform: translate3d(0, 10px, 0) scaleY(0.985);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
        transform: translate3d(0, 2000px, 0) scaleY(3);
    }
}

@keyframes bounceOutDown {
    20% {
        -webkit-transform: translate3d(0, 10px, 0) scaleY(0.985);
        transform: translate3d(0, 10px, 0) scaleY(0.985);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, -20px, 0) scaleY(0.9);
        transform: translate3d(0, -20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0) scaleY(3);
        transform: translate3d(0, 2000px, 0) scaleY(3);
    }
}

.animate--bounceOutDown {
    -webkit-animation-name: bounceOutDown;
    animation-name: bounceOutDown;
}

@-webkit-keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
        transform: translate3d(20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
        transform: translate3d(-2000px, 0, 0) scaleX(2);
    }
}

@keyframes bounceOutLeft {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(20px, 0, 0) scaleX(0.9);
        transform: translate3d(20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0) scaleX(2);
        transform: translate3d(-2000px, 0, 0) scaleX(2);
    }
}

.animate--bounceOutLeft {
    -webkit-animation-name: bounceOutLeft;
    animation-name: bounceOutLeft;
}

@-webkit-keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
        transform: translate3d(-20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
        transform: translate3d(2000px, 0, 0) scaleX(2);
    }
}

@keyframes bounceOutRight {
    20% {
        opacity: 1;
        -webkit-transform: translate3d(-20px, 0, 0) scaleX(0.9);
        transform: translate3d(-20px, 0, 0) scaleX(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0) scaleX(2);
        transform: translate3d(2000px, 0, 0) scaleX(2);
    }
}

.animate--bounceOutRight {
    -webkit-animation-name: bounceOutRight;
    animation-name: bounceOutRight;
}

@-webkit-keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
        transform: translate3d(0, -10px, 0) scaleY(0.985);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
        transform: translate3d(0, 20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
        transform: translate3d(0, -2000px, 0) scaleY(3);
    }
}

@keyframes bounceOutUp {
    20% {
        -webkit-transform: translate3d(0, -10px, 0) scaleY(0.985);
        transform: translate3d(0, -10px, 0) scaleY(0.985);
    }

    40%, 45% {
        opacity: 1;
        -webkit-transform: translate3d(0, 20px, 0) scaleY(0.9);
        transform: translate3d(0, 20px, 0) scaleY(0.9);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0) scaleY(3);
        transform: translate3d(0, -2000px, 0) scaleY(3);
    }
}

.animate--bounceOutUp {
    -webkit-animation-name: bounceOutUp;
    animation-name: bounceOutUp;
}


/* Fading entrances  */

@-webkit-keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

.animate--fadeIn {
    -webkit-animation-name: fadeIn;
    animation-name: fadeIn;
}

@-webkit-keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDown {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInDown {
    -webkit-animation-name: fadeInDown;
    animation-name: fadeInDown;
}

@-webkit-keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInDownBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInDownBig {
    -webkit-animation-name: fadeInDownBig;
    animation-name: fadeInDownBig;
}

@-webkit-keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInLeft {
    -webkit-animation-name: fadeInLeft;
    animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInLeftBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInLeftBig {
    -webkit-animation-name: fadeInLeftBig;
    animation-name: fadeInLeftBig;
}

@-webkit-keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInRight {
    -webkit-animation-name: fadeInRight;
    animation-name: fadeInRight;
}

@-webkit-keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInRightBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInRightBig {
    -webkit-animation-name: fadeInRightBig;
    animation-name: fadeInRightBig;
}

@-webkit-keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInUp {
    -webkit-animation-name: fadeInUp;
    animation-name: fadeInUp;
}

@-webkit-keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInUpBig {
    from {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInUpBig {
    -webkit-animation-name: fadeInUpBig;
    animation-name: fadeInUpBig;
}

@-webkit-keyframes fadeInTopLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInTopLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInTopLeft {
    -webkit-animation-name: fadeInTopLeft;
    animation-name: fadeInTopLeft;
}

@-webkit-keyframes fadeInTopRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInTopRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInTopRight {
    -webkit-animation-name: fadeInTopRight;
    animation-name: fadeInTopRight;
}

@-webkit-keyframes fadeInBottomLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInBottomLeft {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInBottomLeft {
    -webkit-animation-name: fadeInBottomLeft;
    animation-name: fadeInBottomLeft;
}

@-webkit-keyframes fadeInBottomRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes fadeInBottomRight {
    from {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--fadeInBottomRight {
    -webkit-animation-name: fadeInBottomRight;
    animation-name: fadeInBottomRight;
}


/* Fading exits */

@-webkit-keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.animate--fadeOut {
    -webkit-animation-name: fadeOut;
    animation-name: fadeOut;
}

@-webkit-keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes fadeOutDown {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.animate--fadeOutDown {
    -webkit-animation-name: fadeOutDown;
    animation-name: fadeOutDown;
}

@-webkit-keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

@keyframes fadeOutDownBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, 2000px, 0);
        transform: translate3d(0, 2000px, 0);
    }
}

.animate--fadeOutDownBig {
    -webkit-animation-name: fadeOutDownBig;
    animation-name: fadeOutDownBig;
}

@-webkit-keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes fadeOutLeft {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.animate--fadeOutLeft {
    -webkit-animation-name: fadeOutLeft;
    animation-name: fadeOutLeft;
}

@-webkit-keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

@keyframes fadeOutLeftBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-2000px, 0, 0);
        transform: translate3d(-2000px, 0, 0);
    }
}

.animate--fadeOutLeftBig {
    -webkit-animation-name: fadeOutLeftBig;
    animation-name: fadeOutLeftBig;
}

@-webkit-keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes fadeOutRight {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.animate--fadeOutRight {
    -webkit-animation-name: fadeOutRight;
    animation-name: fadeOutRight;
}

@-webkit-keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

@keyframes fadeOutRightBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(2000px, 0, 0);
        transform: translate3d(2000px, 0, 0);
    }
}

.animate--fadeOutRightBig {
    -webkit-animation-name: fadeOutRightBig;
    animation-name: fadeOutRightBig;
}

@-webkit-keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes fadeOutUp {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.animate--fadeOutUp {
    -webkit-animation-name: fadeOutUp;
    animation-name: fadeOutUp;
}

@-webkit-keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

@keyframes fadeOutUpBig {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(0, -2000px, 0);
        transform: translate3d(0, -2000px, 0);
    }
}

.animate--fadeOutUpBig {
    -webkit-animation-name: fadeOutUpBig;
    animation-name: fadeOutUpBig;
}

@-webkit-keyframes fadeOutTopLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }
}

@keyframes fadeOutTopLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, -100%, 0);
        transform: translate3d(-100%, -100%, 0);
    }
}

.animate--fadeOutTopLeft {
    -webkit-animation-name: fadeOutTopLeft;
    animation-name: fadeOutTopLeft;
}

@-webkit-keyframes fadeOutTopRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }
}

@keyframes fadeOutTopRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, -100%, 0);
        transform: translate3d(100%, -100%, 0);
    }
}

.animate--fadeOutTopRight {
    -webkit-animation-name: fadeOutTopRight;
    animation-name: fadeOutTopRight;
}

@-webkit-keyframes fadeOutBottomRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }
}

@keyframes fadeOutBottomRight {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 100%, 0);
        transform: translate3d(100%, 100%, 0);
    }
}

.animate--fadeOutBottomRight {
    -webkit-animation-name: fadeOutBottomRight;
    animation-name: fadeOutBottomRight;
}

@-webkit-keyframes fadeOutBottomLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }
}

@keyframes fadeOutBottomLeft {
    from {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 100%, 0);
        transform: translate3d(-100%, 100%, 0);
    }
}

.animate--fadeOutBottomLeft {
    -webkit-animation-name: fadeOutBottomLeft;
    animation-name: fadeOutBottomLeft;
}


/* Flippers */

@-webkit-keyframes flip {
    from {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

@keyframes flip {
    from {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    40% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
        -webkit-animation-timing-function: ease-out;
        animation-timing-function: ease-out;
    }

    50% {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    80% {
        -webkit-transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    to {
        -webkit-transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }
}

.animate--animated.animate--flip {
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    -webkit-animation-name: flip;
    animation-name: flip;
}

@-webkit-keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInX {
    from {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.animate--flipInX {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInX;
    animation-name: flipInX;
}

@-webkit-keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

@keyframes flipInY {
    from {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
        opacity: 0;
    }

    40% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
        -webkit-animation-timing-function: ease-in;
        animation-timing-function: ease-in;
    }

    60% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    }

    to {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }
}

.animate--flipInY {
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipInY;
    animation-name: flipInY;
}

@-webkit-keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutX {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
        opacity: 0;
    }
}

.animate--flipOutX {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-animation-name: flipOutX;
    animation-name: flipOutX;
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
}

@-webkit-keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

@keyframes flipOutY {
    from {
        -webkit-transform: perspective(400px);
        transform: perspective(400px);
    }

    30% {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
        opacity: 1;
    }

    to {
        -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
        opacity: 0;
    }
}

.animate--flipOutY {
    -webkit-animation-duration: calc(1s * 0.75);
    animation-duration: calc(1s * 0.75);
    -webkit-animation-duration: calc(var(--animate-duration) * 0.75);
    animation-duration: calc(var(--animate-duration) * 0.75);
    -webkit-backface-visibility: visible !important;
    backface-visibility: visible !important;
    -webkit-animation-name: flipOutY;
    animation-name: flipOutY;
}


/* Lightspeed */

@-webkit-keyframes lightSpeedInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes lightSpeedInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0) skewX(-30deg);
        transform: translate3d(100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(20deg);
        transform: skewX(20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(-5deg);
        transform: skewX(-5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--lightSpeedInRight {
    -webkit-animation-name: lightSpeedInRight;
    animation-name: lightSpeedInRight;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
        transform: translate3d(-100%, 0, 0) skewX(30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(-20deg);
        transform: skewX(-20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(5deg);
        transform: skewX(5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes lightSpeedInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(30deg);
        transform: translate3d(-100%, 0, 0) skewX(30deg);
        opacity: 0;
    }

    60% {
        -webkit-transform: skewX(-20deg);
        transform: skewX(-20deg);
        opacity: 1;
    }

    80% {
        -webkit-transform: skewX(5deg);
        transform: skewX(5deg);
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--lightSpeedInLeft {
    -webkit-animation-name: lightSpeedInLeft;
    animation-name: lightSpeedInLeft;
    -webkit-animation-timing-function: ease-out;
    animation-timing-function: ease-out;
}

@-webkit-keyframes lightSpeedOutRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

@keyframes lightSpeedOutRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(100%, 0, 0) skewX(30deg);
        transform: translate3d(100%, 0, 0) skewX(30deg);
        opacity: 0;
    }
}

.animate--lightSpeedOutRight {
    -webkit-animation-name: lightSpeedOutRight;
    animation-name: lightSpeedOutRight;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}

@-webkit-keyframes lightSpeedOutLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
        transform: translate3d(-100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }
}

@keyframes lightSpeedOutLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(-100%, 0, 0) skewX(-30deg);
        transform: translate3d(-100%, 0, 0) skewX(-30deg);
        opacity: 0;
    }
}

.animate--lightSpeedOutLeft {
    -webkit-animation-name: lightSpeedOutLeft;
    animation-name: lightSpeedOutLeft;
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
}


/* Rotating entrances */

@-webkit-keyframes rotateIn {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateIn {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -200deg);
        transform: rotate3d(0, 0, 1, -200deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.animate--rotateIn {
    -webkit-animation-name: rotateIn;
    animation-name: rotateIn;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes rotateInDownLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInDownLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.animate--rotateInDownLeft {
    -webkit-animation-name: rotateInDownLeft;
    animation-name: rotateInDownLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateInDownRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInDownRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.animate--rotateInDownRight {
    -webkit-animation-name: rotateInDownRight;
    animation-name: rotateInDownRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}

@-webkit-keyframes rotateInUpLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInUpLeft {
    from {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.animate--rotateInUpLeft {
    -webkit-animation-name: rotateInUpLeft;
    animation-name: rotateInUpLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateInUpRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

@keyframes rotateInUpRight {
    from {
        -webkit-transform: rotate3d(0, 0, 1, -90deg);
        transform: rotate3d(0, 0, 1, -90deg);
        opacity: 0;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1;
    }
}

.animate--rotateInUpRight {
    -webkit-animation-name: rotateInUpRight;
    animation-name: rotateInUpRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}


/* Rotating exits */

@-webkit-keyframes rotateOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 200deg);
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

@keyframes rotateOut {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 200deg);
        transform: rotate3d(0, 0, 1, 200deg);
        opacity: 0;
    }
}

.animate--rotateOut {
    -webkit-animation-name: rotateOut;
    animation-name: rotateOut;
    -webkit-transform-origin: center;
    transform-origin: center;
}

@-webkit-keyframes rotateOutDownLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 45deg);
        transform: rotate3d(0, 0, 1, 45deg);
        opacity: 0;
    }
}

.animate--rotateOutDownLeft {
    -webkit-animation-name: rotateOutDownLeft;
    animation-name: rotateOutDownLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateOutDownRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutDownRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.animate--rotateOutDownRight {
    -webkit-animation-name: rotateOutDownRight;
    animation-name: rotateOutDownRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}

@-webkit-keyframes rotateOutUpLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpLeft {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, -45deg);
        transform: rotate3d(0, 0, 1, -45deg);
        opacity: 0;
    }
}

.animate--rotateOutUpLeft {
    -webkit-animation-name: rotateOutUpLeft;
    animation-name: rotateOutUpLeft;
    -webkit-transform-origin: left bottom;
    transform-origin: left bottom;
}

@-webkit-keyframes rotateOutUpRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

@keyframes rotateOutUpRight {
    from {
        opacity: 1;
    }

    to {
        -webkit-transform: rotate3d(0, 0, 1, 90deg);
        transform: rotate3d(0, 0, 1, 90deg);
        opacity: 0;
    }
}

.animate--rotateOutUpRight {
    -webkit-animation-name: rotateOutUpRight;
    animation-name: rotateOutUpRight;
    -webkit-transform-origin: right bottom;
    transform-origin: right bottom;
}


/* Specials */

@-webkit-keyframes hinge {
    0% {
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%, 60% {
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%, 80% {
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

@keyframes hinge {
    0% {
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    20%, 60% {
        -webkit-transform: rotate3d(0, 0, 1, 80deg);
        transform: rotate3d(0, 0, 1, 80deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
    }

    40%, 80% {
        -webkit-transform: rotate3d(0, 0, 1, 60deg);
        transform: rotate3d(0, 0, 1, 60deg);
        -webkit-animation-timing-function: ease-in-out;
        animation-timing-function: ease-in-out;
        opacity: 1;
    }

    to {
        -webkit-transform: translate3d(0, 700px, 0);
        transform: translate3d(0, 700px, 0);
        opacity: 0;
    }
}

.animate--hinge {
    -webkit-animation-duration: calc(1s * 2);
    animation-duration: calc(1s * 2);
    -webkit-animation-duration: calc(var(--animate-duration) * 2);
    animation-duration: calc(var(--animate-duration) * 2);
    -webkit-animation-name: hinge;
    animation-name: hinge;
    -webkit-transform-origin: top left;
    transform-origin: top left;
}

@-webkit-keyframes jackInTheBox {
    from {
        opacity: 0;
        -webkit-transform: scale(0.1) rotate(30deg);
        transform: scale(0.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes jackInTheBox {
    from {
        opacity: 0;
        -webkit-transform: scale(0.1) rotate(30deg);
        transform: scale(0.1) rotate(30deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    50% {
        -webkit-transform: rotate(-10deg);
        transform: rotate(-10deg);
    }

    70% {
        -webkit-transform: rotate(3deg);
        transform: rotate(3deg);
    }

    to {
        opacity: 1;
        -webkit-transform: scale(1);
        transform: scale(1);
    }
}

.animate--jackInTheBox {
    -webkit-animation-name: jackInTheBox;
    animation-name: jackInTheBox;
}


/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes rollIn {
    from {
        opacity: 0;
        -webkit-transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
        transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
    }

    to {
        opacity: 1;
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--rollIn {
    -webkit-animation-name: rollIn;
    animation-name: rollIn;
}


/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@-webkit-keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

@keyframes rollOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
        -webkit-transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
        transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
    }
}

.animate--rollOut {
    -webkit-animation-name: rollOut;
    animation-name: rollOut;
}


/* Zooming entrances */

@-webkit-keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

@keyframes zoomIn {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    50% {
        opacity: 1;
    }
}

.animate--zoomIn {
    -webkit-animation-name: zoomIn;
    animation-name: zoomIn;
}

@-webkit-keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInDown {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.animate--zoomInDown {
    -webkit-animation-name: zoomInDown;
    animation-name: zoomInDown;
}

@-webkit-keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInLeft {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.animate--zoomInLeft {
    -webkit-animation-name: zoomInLeft;
    animation-name: zoomInLeft;
}

@-webkit-keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInRight {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.animate--zoomInRight {
    -webkit-animation-name: zoomInRight;
    animation-name: zoomInRight;
}

@-webkit-keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomInUp {
    from {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    60% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.animate--zoomInUp {
    -webkit-animation-name: zoomInUp;
    animation-name: zoomInUp;
}


/* Zooming exits */

@-webkit-keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

@keyframes zoomOut {
    from {
        opacity: 1;
    }

    50% {
        opacity: 0;
        -webkit-transform: scale3d(0.3, 0.3, 0.3);
        transform: scale3d(0.3, 0.3, 0.3);
    }

    to {
        opacity: 0;
    }
}

.animate--zoomOut {
    -webkit-animation-name: zoomOut;
    animation-name: zoomOut;
}

@-webkit-keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutDown {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.animate--zoomOutDown {
    -webkit-animation-name: zoomOutDown;
    animation-name: zoomOutDown;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}

@-webkit-keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
    }
}

@keyframes zoomOutLeft {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(-2000px, 0, 0);
        transform: scale(0.1) translate3d(-2000px, 0, 0);
    }
}

.animate--zoomOutLeft {
    -webkit-animation-name: zoomOutLeft;
    animation-name: zoomOutLeft;
    -webkit-transform-origin: left center;
    transform-origin: left center;
}

@-webkit-keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
    }
}

@keyframes zoomOutRight {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
    }

    to {
        opacity: 0;
        -webkit-transform: scale(0.1) translate3d(2000px, 0, 0);
        transform: scale(0.1) translate3d(2000px, 0, 0);
    }
}

.animate--zoomOutRight {
    -webkit-animation-name: zoomOutRight;
    animation-name: zoomOutRight;
    -webkit-transform-origin: right center;
    transform-origin: right center;
}

@-webkit-keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

@keyframes zoomOutUp {
    40% {
        opacity: 1;
        -webkit-transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
        animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
    }

    to {
        opacity: 0;
        -webkit-transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
        -webkit-animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
        animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
    }
}

.animate--zoomOutUp {
    -webkit-animation-name: zoomOutUp;
    animation-name: zoomOutUp;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
}


/* Sliding entrances */

@-webkit-keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInDown {
    from {
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--slideInDown {
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
}

@-webkit-keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInLeft {
    from {
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--slideInLeft {
    -webkit-animation-name: slideInLeft;
    animation-name: slideInLeft;
}

@-webkit-keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInRight {
    from {
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--slideInRight {
    -webkit-animation-name: slideInRight;
    animation-name: slideInRight;
}

@-webkit-keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

@keyframes slideInUp {
    from {
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
        visibility: visible;
    }

    to {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

.animate--slideInUp {
    -webkit-animation-name: slideInUp;
    animation-name: slideInUp;
}


/* Sliding exits */

@-webkit-keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

@keyframes slideOutDown {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, 100%, 0);
        transform: translate3d(0, 100%, 0);
    }
}

.animate--slideOutDown {
    -webkit-animation-name: slideOutDown;
    animation-name: slideOutDown;
}

@-webkit-keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

@keyframes slideOutLeft {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(-100%, 0, 0);
        transform: translate3d(-100%, 0, 0);
    }
}

.animate--slideOutLeft {
    -webkit-animation-name: slideOutLeft;
    animation-name: slideOutLeft;
}

@-webkit-keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

@keyframes slideOutRight {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(100%, 0, 0);
        transform: translate3d(100%, 0, 0);
    }
}

.animate--slideOutRight {
    -webkit-animation-name: slideOutRight;
    animation-name: slideOutRight;
}

@-webkit-keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

@keyframes slideOutUp {
    from {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }

    to {
        visibility: hidden;
        -webkit-transform: translate3d(0, -100%, 0);
        transform: translate3d(0, -100%, 0);
    }
}

.animate--slideOutUp {
    -webkit-animation-name: slideOutUp;
    animation-name: slideOutUp;
}