JSFiddle - React, Tailwind, and code Playground

HTML

<div class="wrapper">
  <a class="tooltips" href="#">CSS Tooltips
    <div class="hover">
      <div>This is multiple lines of text lalala so many lines of text but it keeps scaling</div>
    </div>
    <div class="overlay"/>
  </a>
</div>

CSS

.wrapper {
  margin-top: 200px;
  margin-left: 200px;
}

a.tooltips {
  position: relative;
  display: inline;
}

a.tooltips .hover {
  position: absolute;
  width: 140px;
  color: #FFFFFF;
  font-family: ProximaNova 14px;
  background: #006dbc;
  padding: 30px 20px 30px 20px;
  text-align: center;
  visibility: hidden;
  word-wrap: break-word;
}

a.tooltips .hover:after {
  content: '';
  position: absolute;
  top: 100%;
  right: 0;
  width: 0;
  height: 0;
  border-top: 24px solid #006dbc;
  border-left: 24px solid transparent;
}

a.tooltips .hover {
  visibility: hidden;
  opacity: 1;
  bottom: 45px;
  right: 50%;
  z-index: 1000;
  text-align: left;
}

a.tooltips .hover.visible {
  visibility: visible;
}

.overlay {
  visibility: hidden;
  position: fixed;
  height: 100%;
  width: 100%;
  z-index: 500;
  left: 0;
  top: 0;
}

.overlay.visible {
  visibility: visible;
}

JavaScript

$('.tooltips').on('click', (e) => {
  $('a.tooltips .hover').toggleClass('visible');
  $('.overlay').toggleClass('visible');
})

$('.overlay').on('click', (e) => {
	$('a.tooltips .hover').removeClass('visible');
  $('.overlay').removeClass('visible');
})