.with-tooltip {
  position: relative;
  overflow: visible;
}

.tooltip img {
  max-width: 70vw;
}

.with-tooltip > .tooltip, .with-tooltip:hover > .tooltip:hover {
  position: absolute;
  top: -2px;
  left: 100%;
  margin-right: -100%;
  margin-left: 8px;
  line-height: 1.5em;
  visibility: hidden;
  opacity: 0;
}
  .with-tooltip:hover > .tooltip, .with-tooltip .tooltip:hover {
    opacity: 1;
    visibility: visible;
    overflow: visible;
  }
  .with-tooltip:hover {
    text-decoration: none;
  }

.tooltip {
  background: #222;
  color: white;

  -webkit-border-radius: 2px;
  -moz-border-radius: 2px;
  -o-border-radius: 2px;
  border-radius: 2px;

  font-family: Arial, sans-serif;
  font-size: 12px;
  text-decoration: none;
  font-style: normal;
  letter-spacing: 0;

  padding: 4px 10px;
  z-index: 10;
}
  .tooltip i {
    border-style: solid;
    border-color: transparent;
    border-width: 5px;
    border-right-color: #222;
    width: 0;
    height: 0;
    position: absolute;
    display: block;
    margin-left: -20px;
    margin-top: 2px;
  }

.tooltip.large {
   width: auto;
   bottom: 21px;
   left: -13px;
   top: initial;
   right: initial;
   background: white;
   border: 1px solid #222;
   color: #222;
   padding: 10px;

  -webkit-transition: opacity .3s ease-in-out;
	-moz-transition: opacity .3s ease-in-out;
	-ms-transition: opacity .3s ease-in-out;
	-o-transition: opacity .3s ease-in-out;
}
.tooltip.large i {
  border-color: #222 transparent transparent;
  margin: 0;
  bottom: -10px;
  left: 14px;
}
@media screen and (max-width: 600px) {
    .tooltip {  float: left; margin-top: 2em; margin-left: -6em !important; position: initial; }
    .tooltip i { margin-left: 51px; margin-top: -13px; margin-right: -27px; -webkit-transform: rotate(90deg); -o-transform:rotate(90deg); -moz-transform:rotate(90deg); }
}
