.label-container {
    position: fixed;
    bottom: 48px;
    right: 105px;
    display: table;
    visibility: hidden;
}

.label-text {
    color: #FFF;
    background: rgba(51, 51, 51, 0.5);
    display: table-cell;
    vertical-align: middle;
    padding: 10px;
    border-radius: 3px;
}

.label-arrow {
    display: table-cell;
    vertical-align: middle;
    color: #333;
    opacity: 0.5;
}

.float {
    position: fixed;
    width: 120px;
    height: 120px;
    bottom: 40px;
    right: 40px;
    background-color: #F78C1C;
    color: #FFF;
    border-radius: 70px;
    text-align: center;
    box-shadow: 2px 2px 3px #999;
    z-index: 1000;
}

.float a#menu-share:hover>i {
    color: #FFF !important;
}

.speech-bubble {
    position: fixed;
    width: 260px;
    height: 80px;
    bottom: 120px;
    right: 150px;
    background-color: #f3f5f6;
    color: #f3f5f6;
    border-radius: 70px;
    text-align: center;
    box-shadow: 2px 2px 3px #999;
    z-index: 1000;
    padding: 10px;
  }
  .speech-bubble p {
    margin: 0 0 10px;
  }
  .speech-bubble p :last-of-type {
    margin-bottom: 0;
  }
  .speech-bubble::after {
    border-left: 20px solid transparent;
    border-top: 20px solid #f3f5f6;
    bottom: -15px;
    content: "";
    position: absolute;
    right: 20px;
    
  }

.float ul {
    position: fixed;
    right: 60px;
    padding-bottom: 80px;
    bottom: 80px;
    z-index: 100;
}

.float ul li {
    list-style: none;
    margin-bottom: 10px;
}

.float ul li a {
    background-color: #F78C1C;
    color: #FFF;
    border-radius: 60px;
    text-align: center;
    box-shadow: 2px 2px 3px #999;
    width: 80px;
    height: 80px;
    display: block;
}

.float ul:hover {
    visibility: visible!important;
    opacity: 1!important;
}

.my-float {
    font-size: 48px;
    margin-top: 36px;
}

.my-float-inner {
    font-size: 36px;
    margin-top: 24px;
}

.float a#menu-share+ul {
    visibility: hidden;
}

.float a#menu-share:hover+ul {
    visibility: visible;
    animation: scale-in 0.5s;
}

@keyframes scale-in {
    from {
        transform: scale(0);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

.float a#menu-share i {
    animation: rotate-in 0.5s;
}

.float a#menu-share:hover>i {
    animation: rotate-out 0.5s;
}

@keyframes rotate-in {
    from {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }
    to {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg);
    }
}

@keyframes rotate-out {
    from {
        -webkit-transform: rotateY(360deg);
        transform: rotateY(360deg);
    }
    to {
        -webkit-transform: rotateY(0deg);
        transform: rotateY(0deg);
    }
    100% {
        display: none;
        opacity: 0;
    }
}



/*
---------------------------------------------------------------
MOBILE
---------------------------------------------------------------
*/

@media screen and (max-width: 940px) {
    .float ul {
        position: fixed;
        right: 40px !important;
        padding-bottom: 20px !important;
        bottom: 120px !important;
        z-index: 100;
    }
    .float ul li a {
        background-color: #F78C1C;
        color: #FFF;
        border-radius: 50px !important;
        text-align: center;
        box-shadow: 2px 2px 3px #999;
        width: 60px !important;
        height: 60px !important;
        display: block;
    }
    .float {
        position: fixed;
        width: 60px !important;
        height: 60px !important;
        bottom: 90px !important;
        right: 40px !important;
        background-color: #F78C1C;
        color: #FFF;
        border-radius: 50px !important;
        text-align: center;
        box-shadow: 2px 2px 3px #999;
        z-index: 1000;
        animation: bot-to-top 2s ease-out;
    }
    .my-float {
        font-size: 24px !important;
        margin-top: 18px !important;
    }
    .my-float-inner {
        font-size: 24px !important;
        margin-top: 18px !important;
    }

    .speech-bubble {
        position: fixed;
        width: 260px;
        height: 80px;
        bottom: 140px;
        right: 90px;
        background-color: #f3f5f6;
        color: #f3f5f6;
        border-radius: 70px;
        text-align: center;
        box-shadow: 2px 2px 3px #999;
        z-index: 1000;
        padding: 10px;
      }
      .speech-bubble p {
        margin: 0 0 10px;
      }
      .speech-bubble p :last-of-type {
        margin-bottom: 0;
      }
      .speech-bubble::after {
        border-left: 20px solid transparent;
        border-top: 20px solid #f3f5f6;
        bottom: -15px;
        content: "";
        position: absolute;
        right: 20px;
        
      }    
}


/*
---------------------------------------------------------------
---------------------------------------------------------------
*/