.search-wrapper {
  position: absolute;
  transform: translate(-5%, -50%);
  top: 50%;
  right: 0;
}

.search-wrapper .input-holder {
  height: 50px;
  width: 50px;
  overflow: hidden;
  background: rgba(255,255,255,0);
  border-radius: 6px;
  position: relative;
  transition: all 0.3s ease-in-out;
}

.search-wrapper.active .input-holder {
  min-width: 335px;
  border-radius: 50px;
  background: rgb(225,225,225);
  transition: all .5s cubic-bezier(0.000, 0.105, 0.035, 1.570);
}

.search-wrapper .input-holder .search-input {
  width: 100%;
  height: 32px;
  padding: 0px 70px 0 20px;
  opacity: 0;
  position: absolute;
  top: 0px;
  left: 0px;
  background: transparent;
  box-sizing: border-box;
  border: none;
  outline: none;
  font-family: "Open Sans", Arial, Verdana;
  font-size: 16px;
  font-weight: 400;
  line-height: 20px;
  color: #333333;
  transform: translate(0, 60px);
  transition: all .3s cubic-bezier(0.000, 0.105, 0.035, 1.570);
  transition-delay: 0.3s;
}

.search-wrapper .input-holder .search-input::placeholder {
  color: #757575;
}

.search-wrapper.active .input-holder .search-input {
  opacity: 1;
  transform: translate(0, 10px);
}

.search-wrapper .input-holder .search-icon {
  margin: 4px 0;
  border: none;
  position: relative;
  z-index: 2;
  float: right;
  cursor: pointer;
  transition: all 0.3s ease-in-out;
}

.search-wrapper.active .input-holder .search-icon {
  width: 37px;
  height: 37px;
  margin: 11px 11px;
  border-radius: 30px;
  transform: rotate(-101deg);
  transition: all .6s cubic-bezier(0.000, 0.105, 0.035, 1.570);
}

.search-wrapper .input-holder .search-icon span {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  transform: rotate(45deg);
  transition: all .4s cubic-bezier(0.650, -0.600, 0.240, 1.650);
}

.search-wrapper.active .input-holder .search-icon span {
  transform: rotate(-45deg);
}

.search-wrapper .input-holder .search-icon span::before, .search-wrapper .input-holder .search-icon span::after {
  position: absolute;
  content: '';
}

.search-wrapper .close {
  position: absolute;
  z-index: 1;
  top: 12px;
  right: 5px;
  width: 25px;
  height: 17px;
  cursor: pointer;
  transform: rotate(-180deg);
  transition: all .3s cubic-bezier(0.285, -0.450, 0.935, 0.110);
}

.search-wrapper.active .close {
  right: -30px;
  transform: rotate(45deg);
  transition: all .6s cubic-bezier(0.000, 0.105, 0.035, 1.570);
}

.search-wrapper .close::before, .search-wrapper .close::after {
  position: absolute;
  content: '';
  background: #FE5F55;
  border-radius: 2px;
}

.search-wrapper .close::before {
  width: 5px;
  height: 20px;
  left: 7px;
  top: 0px;
}

.search-wrapper .close::after {
  width: 20px;
  height: 5px;
  left: 0px;
  top: 7px;
}

