<div class="container-fluid">
  <div class="row">
    <div class="col-xs-12">
      <div class="ms-nav-container">
        <ul class="ms-nav">
          <input type="checkbox" id="ms-menu" class="ms-menu-toggle" name="ms-menu-toggle" />
          <div class="bg-change"></div>
          <li class="ms-li ms-li3 ms-li-last">
            <a href="javascript:void(0)">
              <span class="fa fa-search"></span>
            </a>
          </li>
          <li class="ms-li ms-li2">
            <a href="javascript:void(0)">
              <span class="fa fa-flask"></span>
            </a>
          </li>
          <li class="ms-li ms-li1 ms-li-first">
            <a href="javascript:void(0)">
              <span class="fa fa-fort-awesome"></span>
            </a>
          </li>
          <li class="ms-main">
            <a href="javascript:void(0)">
              <label class="ms-menu-toggle-lbl" for="ms-menu">
                <span class="fa fa-plus"></span>
              </label>
            </a>
          </li>
        </ul>
      </div>
    </div>
  </div>
</div>
body{
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  position: relative;
  background: #29313e;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
a {
  outline: none !important;
}
.ms-nav-container {
  position: relative;
  width: 100%;
  height: 100vh;
}
#ms-menu {
  display: none;
}
.bg-change {
  position: absolute;
  bottom: -75px;
  right: -90px;
  width: 1px;
  height: 1px;
  border-radius: 100% 0% 0% 0%;
  background: #2D394D;
  transition: all .25s ease;
}
.ms-nav .ms-menu-toggle:checked ~ .bg-change {
  width: 3000px;
  height: 3000px;
  transition: all .5s ease;
}
.ms-nav {
  position: absolute;
  bottom: 75px;
  right: 75px;
}
.ms-nav > .ms-main {
  position: relative;
}

.ms-nav > .ms-li {
  position: absolute;
  bottom: 0;
  right: 8px;
  transition: bottom .5s ease;
  z-index: 1;
}
.ms-nav .ms-menu-toggle:checked ~ .ms-li a {
  box-shadow: 0px 5px 10px #333333;
}
  .ms-nav .ms-menu-toggle:checked ~ .ms-li1 {
    bottom: 150%;
    transition: bottom .5s ease;
  }
  .ms-nav .ms-menu-toggle:checked ~ .ms-li1 a span {
    opacity: 1;
    transition: opacity .5s ease .1s;
  }
    .ms-nav .ms-menu-toggle:checked ~ .ms-main:after {
      animation: big-border-bottom-animation .5s ease .1s;
    }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li1:before {
      animation: border-top-animation .5s ease .2s;
    }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li1:after {
      animation: border-bottom-animation .5s ease .2s;
    }
  .ms-nav .ms-menu-toggle:checked ~ .ms-li2 {
    bottom: 265%;
    transition: bottom .6s ease;
  }
  .ms-nav .ms-menu-toggle:checked ~ .ms-li2 a span {
    opacity: 1;
    transition: opacity .6s ease .2s;
  }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li2:before {
      animation: border-top-animation .5s ease .2s;
    }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li2:after {
      animation: border-bottom-animation .5s ease .3s;
    }
  .ms-nav .ms-menu-toggle:checked ~ .ms-li3 {
    bottom: 380%;
    transition: bottom .7s ease;
  }
  .ms-nav .ms-menu-toggle:checked ~ .ms-li3 a span {
    opacity: 1;
    transition: opacity .7s ease .3s;
  }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li3:before {
      animation: border-top-animation .5s ease .3s;
    }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li3:after {
      animation: border-bottom-animation .5s ease .4s;
    }
  .ms-nav .ms-menu-toggle:checked ~ .ms-li4 {
    bottom: 495%;
    transition: bottom .8s ease;
  }
  .ms-nav .ms-menu-toggle:checked ~ .ms-li4 a span {
    opacity: 1;
    transition: opacity .8s ease .4s;
  }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li4:before {
      animation: border-top-animation .5s ease .4s;
    }
  
    .ms-nav .ms-menu-toggle ~ .ms-li:before {
      content: '';
      width: 45px;
      display: block;
      position: absolute;
      bottom: -5px;
      left: 0;
      right: 0;
      margin: auto;
      border-left: 20px solid transparent;
      border-right: 20px solid transparent;
      border-top: 0px solid #337ab7;
    }
    .ms-nav .ms-menu-toggle ~ .ms-li:before {
      content: '';
      width: 45px;
      display: block;
      position: absolute;
      bottom: -5px;
      left: 0;
      right: 0;
      margin: auto;
      border-left: 20px solid transparent;
      border-right: 20px solid transparent;
      border-top: 0px solid #337ab7;
    }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li:before {
      content: '';
      width: 45px;
      display: block;
      position: absolute;
      bottom: 0px;
      left: 0;
      right: 0;
      margin: auto;
      border-left: 24px solid transparent;
      border-right: 24px solid transparent;
      border-top: 25px solid #337ab7;
      z-index: 11;
    }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li:after {
      content: '';
      width: 45px;
      display: block;
      position: absolute;
      top: 0px;
      left: 0;
      right: 0;
      margin: auto;
      border-left: 24px solid transparent;
      border-right: 24px solid transparent;
      border-bottom: 25px solid #337ab7;
      transition: border-bottom .3s ease;
      z-index: 11;
    }

    .ms-nav .ms-menu-toggle:checked ~ .ms-main:after {
      content: '';
      width: 60px;
      display: block;
      position: absolute;
      top: 0px;
      left: 0;
      right: 0;
      margin: auto;
      border-left: 24px solid transparent;
      border-right: 24px solid transparent;
      border-bottom: 45px solid #337ab7;
      transition: border-bottom .3s ease;
      z-index: 11;
    }
    .ms-nav .ms-menu-toggle:checked ~ .ms-li-last:after {
      content: '';
      width: 45px;
      display: block;
      position: absolute;
      top: -5px;
      left: 0;
      right: 0;
      margin: auto;
      border-left: 0px solid transparent;
      border-right: 0px solid transparent;
      border-bottom: 0px solid #337ab7;
    }

.ms-nav .ms-menu-toggle:checked ~ .ms-main span {
  transform: rotate(-45deg);
  transition: transform .35s ease;
}
.ms-nav .ms-menu-toggle ~ .ms-main span {
  transition: transform .35s ease;
  opacity: 1;
}
.ms-nav > .ms-main > a {
  box-shadow: 0px 5px 10px #333333;
}
.ms-nav > li a {
  font-size: 30px;
  color: #FFFFFF;
  background: #337ab7;
  width: 60px;
  height: 60px;
  display: block;
  border-radius: 100%;
  position: relative;
  text-align: center;
}

  .ms-nav > .ms-main a,
  .ms-nav > .ms-main > a > label {
    font-size: 30px;
    color: #FFFFFF;
    background: #337ab7;
    width: 75px;
      height: 75px;
    display: block;
    border-radius: 100%;
    position: relative;
    text-align: center;
    z-index: 19;
  }
    .ms-nav > li > a span {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      height: 30px;
      width: 30px;
      opacity: 0;
      z-index: 12;
    }
@keyframes border-top-animation {
  0% {
    bottom: 0px;
  }
  50% {
    bottom: -14px;
  }
  100% {
    bottom: 0px;
  }
}
@keyframes border-bottom-animation {
  0% {
    top: 0px;
  }
  50% {
    top: -13px;
  }
  100% {
    top: 0px;
  }
}
@keyframes big-border-bottom-animation {
  0% {
    top: 0px;
  }
  50% {
    top: -30px;
  }
  100% {
    top: 0px;
  }
}

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

This Pen doesn't use any external JavaScript resources.