.link-tool {
  position: relative;
}

  .link-tool__input {
    padding-left: 38px;
    background-image: url("data:image/svg+xml,%3Csvg width='13' height='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.567 13.629c.728.464 1.581.65 2.41.558l-.873.873A3.722 3.722 0 1 1 4.84 9.794L6.694 7.94a3.722 3.722 0 0 1 5.256-.008L10.484 9.4a5.209 5.209 0 0 1-.017.016 1.625 1.625 0 0 0-2.29.009l-1.854 1.854a1.626 1.626 0 0 0 2.244 2.35zm2.766-7.358a3.722 3.722 0 0 0-2.41-.558l.873-.873a3.722 3.722 0 1 1 5.264 5.266l-1.854 1.854a3.722 3.722 0 0 1-5.256.008L9.416 10.5a5.2 5.2 0 0 1 .017-.016 1.625 1.625 0 0 0 2.29-.009l1.854-1.854a1.626 1.626 0 0 0-2.244-2.35z' fill='rgba(0, 0, 0, 0.6)' transform='translate(-3.667 -2.7)'/%3E%3C/svg%3E%0A");
    background-repeat: no-repeat;
    background-position: 15px;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
  }

  .link-tool__input-holder {
      position: relative;
    }

  ^^.link-tool__input-holder--error {
          background-image: url("data:image/svg+xml,%3Csvg width='13' height='14' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.567 13.629c.728.464 1.581.65 2.41.558l-.873.873A3.722 3.722 0 1 1 4.84 9.794L6.694 7.94a3.722 3.722 0 0 1 5.256-.008L10.484 9.4a5.209 5.209 0 0 1-.017.016 1.625 1.625 0 0 0-2.29.009l-1.854 1.854a1.626 1.626 0 0 0 2.244 2.35zm2.766-7.358a3.722 3.722 0 0 0-2.41-.558l.873-.873a3.722 3.722 0 1 1 5.264 5.266l-1.854 1.854a3.722 3.722 0 0 1-5.256.008L9.416 10.5a5.2 5.2 0 0 1 .017-.016 1.625 1.625 0 0 0 2.29-.009l1.854-1.854a1.626 1.626 0 0 0-2.244-2.35z' fill='rgb(224, 147, 147)' transform='translate(-3.667 -2.7)'/%3E%3C/svg%3E%0A");
          background-color: #fff3f6;
          border-color: #f3e0e0;
          color: #a95a5a;
          box-shadow: inset 0 1px 3px 0 rgba(146, 62, 62, .05);
        }

  .link-tool__input[contentEditable=true][data-placeholder]::before{
      position: absolute;
      content: attr(data-placeholder);
      color: #707684;
      font-weight: normal;
      opacity: 0;
    }

  .link-tool__input[contentEditable=true][data-placeholder]:empty::before {
        opacity: 1;
      }

  .link-tool__input[contentEditable=true][data-placeholder]:empty:focus::before {
         opacity: 0;
       }

  .link-tool__progress {
    position: absolute;
    box-shadow: inset 0 1px 3px 0 rgba(102, 85, 107, 0.04);
    height: 100%;
    width: 0;
    background-color: #f4f5f7;
    z-index: -1;
  }

  .link-tool__progress--loading {
      -webkit-animation: progress 500ms ease-in;
      -webkit-animation-fill-mode: forwards;
    }

  .link-tool__progress--loaded {
      width: 100%;
    }

  .link-tool__content {
    display: block;
    padding: 25px;
    border-radius: 2px;
    box-shadow: 0 0 0 2px #fff;
    color: initial !important;
    text-decoration: none !important;
  }

  .link-tool__content::after {
      content: "";
      clear: both;
      display: table;
    }

  .link-tool__content--rendered {
      background: #fff;
      border: 1px solid rgba(201, 201, 204, 0.48);
      box-shadow: 0 1px 3px rgba(0,0,0, .1);
      border-radius: 6px;
      will-change: filter;
      -webkit-animation: link-in 450ms 1 cubic-bezier(0.215, 0.61, 0.355, 1);
              animation: link-in 450ms 1 cubic-bezier(0.215, 0.61, 0.355, 1);
    }

  .link-tool__content--rendered:hover {
        box-shadow: 0 0 3px rgba(0,0,0, .16);
      }

  .link-tool__image {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    margin: 0 0 0 30px;
    width: 65px;
    height: 65px;
    border-radius: 3px;
    float: right;
  }

  .link-tool__title {
    font-size: 17px;
    font-weight: 600;
    line-height: 1.5em;
    margin: 0 0 10px 0;
  }

  + ^.link-tool__title__anchor {
      margin-top: 25px;
    }

  .link-tool__description {
    margin: 0 0 20px 0;
    font-size: 15px;
    line-height: 1.55em;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  .link-tool__anchor {
    display: block;
    font-size: 15px;
    line-height: 1em;
    color: #888 !important;
    border: 0 !important;
    padding: 0 !important;
  }

@-webkit-keyframes link-in {
  from {
    filter: blur(5px);
  }

  to {
    filter: none;
  }
}

@keyframes link-in {
  from {
    filter: blur(5px);
  }

  to {
    filter: none;
  }
}

.codex-editor--narrow .link-tool__image {
  display: none;
}

@-webkit-keyframes progress {
  0% {
    width: 0;
  }
  100% {
    width: 85%;
  }
}