.inline {
  display: inline-block; }

.reusable-checkbox {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .reusable-checkbox-item {
    margin: 5px 10px; }
    .reusable-checkbox-item input[type='checkbox'] {
      opacity: 0;
      position: absolute; }
      .reusable-checkbox-item input[type='checkbox']:checked + .label {
        color: #333; }
        .reusable-checkbox-item input[type='checkbox']:checked + .label:before {
          color: #fff;
          border-style: solid;
          width: 10px;
          height: 5px;
          border-width: 0.12em 0.12em 0 0;
          content: '';
          display: inline-block;
          left: 3px;
          position: absolute;
          top: 11px;
          -webkit-transform: rotate(135deg);
                  transform: rotate(135deg);
          z-index: 2; }
        .reusable-checkbox-item input[type='checkbox']:checked + .label:after {
          background: #5643fa;
          border-color: #5643fa; }
    .reusable-checkbox-item .label {
      position: relative;
      padding: 9px 10px 5px 25px;
      display: block;
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      cursor: pointer;
      color: #777; }
      .reusable-checkbox-item .label:after {
        content: '';
        display: inline-block;
        width: 15px;
        height: 15px;
        border: 1px solid #5643fa;
        position: absolute;
        left: 0;
        bottom: 0;
        top: 8px;
        border-radius: 2px; }

.reusable-radio {
  list-style-type: none;
  padding: 0;
  margin: 0; }
  .reusable-radio-item {
    margin: 5px 10px; }
    .reusable-radio-item input[type='radio'] {
      opacity: 0;
      position: absolute; }
      .reusable-radio-item input[type='radio']:checked + .label {
        color: #333; }
        .reusable-radio-item input[type='radio']:checked + .label:before {
          width: 10px;
          height: 10px;
          border-radius: 10px;
          content: '';
          display: inline-block;
          left: 3px;
          position: absolute;
          top: 11px;
          z-index: 2;
          background: #5643fa; }
    .reusable-radio-item .label {
      position: relative;
      padding: 8px 10px 5px 25px;
      display: block;
      margin: 0;
      overflow: hidden;
      text-overflow: ellipsis;
      cursor: pointer;
      color: #777; }
      .reusable-radio-item .label:after {
        content: '';
        display: inline-block;
        width: 14px;
        height: 14px;
        border-radius: 14px;
        border: 1px solid #5643fa;
        position: absolute;
        left: 0;
        bottom: 0;
        top: 8px; }

.reusable-dropdown, .reusable-ms-dropdown {
  width: 250px;
  position: relative;
  display: inline-block; }
  .reusable-dropdown-box, .reusable-ms-dropdown-box {
    position: relative; }
    .reusable-dropdown-box-default, .reusable-ms-dropdown-box-default {
      padding: 0 40px 0 10px;
      position: relative;
      height: 40px;
      display: flex;
      align-items: center;
      border: 1px solid #ddd;
      cursor: pointer;
      color: #333; }
      .reusable-dropdown-box-default:before, .reusable-ms-dropdown-box-default:before {
        content: ' ';
        z-index: 1;
        position: absolute;
        height: 40px;
        top: 0;
        right: 40px;
        border-left: 1px solid #ddd; }
      .reusable-dropdown-box-default:after, .reusable-ms-dropdown-box-default:after {
        content: ' ';
        position: absolute;
        z-index: 1;
        top: 17px;
        right: 16px;
        border-top: 10px solid #5643fa;
        border-left: 5px solid transparent;
        border-right: 5px solid transparent; }
    .reusable-dropdown-box-search, .reusable-ms-dropdown-box-search {
      padding: 0 40px 0 10px;
      position: relative;
      height: 40px;
      display: flex;
      align-items: center;
      border: 1px solid #ddd;
      cursor: pointer;
      color: #333; }
      .reusable-dropdown-box-search .reusable-search-icon, .reusable-ms-dropdown-box-search .reusable-search-icon {
        position: absolute;
        z-index: 1;
        top: 15px;
        right: 16px;
        cursor: default; }
      .reusable-dropdown-box-search-input, .reusable-ms-dropdown-box-search-input {
        background-color: transparent;
        border: 0;
        outline: none;
        width: 100%;
        font-size: 14px; }
    .reusable-dropdown-box-clear, .reusable-ms-dropdown-box-clear {
      display: flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      position: absolute;
      top: 10px;
      right: 10px;
      width: 20px;
      height: 20px;
      border-radius: 100%;
      background-color: #5643fa;
      z-index: 3;
      border: 0; }
  .reusable-dropdown-container, .reusable-ms-dropdown-container {
    max-height: 200px;
    min-height: 150px;
    overflow: auto;
    position: absolute;
    top: 100%;
    border: 1px solid #ddd;
    background: #fff;
    z-index: 3;
    width: 100%;
    margin-top: 1px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
    .reusable-dropdown-container-list, .reusable-ms-dropdown-container-list {
      list-style-type: none;
      padding: 0;
      margin: 0; }
      .reusable-dropdown-container-list-item, .reusable-ms-dropdown-container-list-item {
        padding: 12px;
        cursor: pointer; }
        .reusable-dropdown-container-list-item:not(:last-child), .reusable-ms-dropdown-container-list-item:not(:last-child) {
          border-bottom: 1px solid #ddd; }
        .reusable-dropdown-container-list-item:hover, .reusable-ms-dropdown-container-list-item:hover {
          background-color: #eee; }

.reusable-search-icon {
  position: relative;
  display: inline-block;
  background: #fff;
  border-radius: 30px;
  height: 6px;
  width: 6px;
  border: 2px solid #888; }
  .reusable-search-icon:after {
    content: '';
    height: 2px;
    width: 6px;
    background: #888;
    position: absolute;
    top: 7px;
    left: 5px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg); }

.reusable-dropdown-no-data-found {
  height: 200px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center; }

.reusable-overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.6);
  z-index: 9999; }

.reusable-modal {
  position: fixed;
  top: 30%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 10000;
  min-height: 300px;
  width: 800px;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3); }
  .reusable-modal.reusable-modal-dialog {
    top: 50%; }
  .reusable-modal.reusable-modal-small {
    width: 400px; }
  .reusable-modal.reusable-modal-medium {
    width: 800px; }
  .reusable-modal.reusable-modal-large {
    width: 1000px; }
  .reusable-modal-close {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10001;
    font-size: 25px;
    cursor: pointer; }

.reusable-loader-item,
.reusable-loader-item:before,
.reusable-loader-item:after {
  background: #ffb900;
  -webkit-animation: load1 1s infinite ease-in-out;
  animation: load1 1s infinite ease-in-out;
  width: 10px;
  height: 15px; }

.reusable-loader-item {
  color: #ffb900;
  text-indent: -9999em;
  margin: 10px auto;
  position: relative;
  font-size: 11px;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

.reusable-loader-item:before,
.reusable-loader-item:after {
  position: absolute;
  top: 0;
  content: ''; }

.reusable-loader-item:before {
  left: -1.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.reusable-loader-item:after {
  left: 1.5em; }

@-webkit-keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 15px; }
  40% {
    box-shadow: 0 -2em;
    height: 25px; } }

@keyframes load1 {
  0%,
  80%,
  100% {
    box-shadow: 0 0;
    height: 15px; }
  40% {
    box-shadow: 0 -2em;
    height: 25px; } }

.reusable-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 70px; }
