.tooltip-element, .tooltip-element:after, .tooltip-element:before, .tooltip-element *, .tooltip-element *:after, .tooltip-element *:before {
  box-sizing: border-box; }

.tooltip-element {
  position: absolute;
  display: none; }
  .tooltip-element.tooltip-open {
    display: block; }

.tooltip-element.tooltip-theme-twipsy {
  max-width: 100%;
  max-height: 100%; }
  .tooltip-element.tooltip-theme-twipsy .tooltip-content {
    border-radius: 5px;
    position: relative;
    font-family: inherit;
    background: #414141;
    color: #fff;
    padding: 1em;
    font-size: 1.1em;
    line-height: 1.5em; }
    .tooltip-element.tooltip-theme-twipsy .tooltip-content:before {
      content: "";
      display: block;
      position: absolute;
      width: 0;
      height: 0;
      border-color: transparent;
      border-width: 10px;
      border-style: solid; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-center .tooltip-content {
    margin-bottom: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-center .tooltip-content:before {
      top: 100%;
      left: 50%;
      margin-left: -10px;
      border-top-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-center .tooltip-content {
    margin-top: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-center .tooltip-content:before {
      bottom: 100%;
      left: 50%;
      margin-left: -10px;
      border-bottom-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-right.tooltip-element-attached-middle .tooltip-content {
    margin-right: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-right.tooltip-element-attached-middle .tooltip-content:before {
      left: 100%;
      top: 50%;
      margin-top: -10px;
      border-left-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-left.tooltip-element-attached-middle .tooltip-content {
    margin-left: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-left.tooltip-element-attached-middle .tooltip-content:before {
      right: 100%;
      top: 50%;
      margin-top: -10px;
      border-right-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-bottom .tooltip-content {
    margin-top: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-bottom .tooltip-content:before {
      bottom: 100%;
      left: 10px;
      border-bottom-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-bottom .tooltip-content {
    margin-top: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-bottom .tooltip-content:before {
      bottom: 100%;
      right: 10px;
      border-bottom-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-top .tooltip-content {
    margin-bottom: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-top .tooltip-content:before {
      top: 100%;
      left: 10px;
      border-top-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-top .tooltip-content {
    margin-bottom: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-top .tooltip-content:before {
      top: 100%;
      right: 10px;
      border-top-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content {
    margin-right: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content:before {
      top: 10px;
      left: 100%;
      border-left-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content {
    margin-left: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-top.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content:before {
      top: 10px;
      right: 100%;
      border-right-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content {
    margin-right: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-right.tooltip-target-attached-left .tooltip-content:before {
      bottom: 10px;
      left: 100%;
      border-left-color: #414141; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content {
    margin-left: 10px; }
    .tooltip-element.tooltip-theme-twipsy.tooltip-element-attached-bottom.tooltip-element-attached-left.tooltip-target-attached-right .tooltip-content:before {
      bottom: 10px;
      right: 100%;
      border-right-color: #414141; }

.tooltip-element.tooltip-theme-twipsy {
  opacity: 0;
  -webkit-transition: opacity 150ms;
          transition: opacity 150ms;
  pointer-events: none; }
  .tooltip-element.tooltip-theme-twipsy .tooltip-content {
    padding: 0.5em 1em; }
  .tooltip-element.tooltip-theme-twipsy .tooltip-content {
    box-shadow: 0 3px 7px rgba(0, 0, 0, 0.2);
    border-radius: 2px;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    padding: 3px 8px;
    line-height: 18px;
    font-size: 11px; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-open-transitionend {
    display: block; }
  .tooltip-element.tooltip-theme-twipsy.tooltip-after-open {
    opacity: 1; }
