.glossary-tooltip {
	display: inline;
	position: relative;
	z-index: 999;
}

/* Trigger text */

.glossary-tooltip a,
.glossary-underline {
	cursor: pointer;
	display: inline-block;
	font-weight: 700;
	padding: 0 10px;
	-webkit-transition: color 0.3s;
	transition: color 0.3s;
	border: 0px !important;
}

.glossary-tooltip .glossary-external-link::after {
	content: "";
	display: inline-block;
	margin-right: 5px;
	margin-left: -4px;
	width: 12px;
	height: 14px;
	background-size: 12px 14px;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg%20height%3D%221024%22%20width%3D%22768%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M640%20768H128V257.90599999999995L256%20256V128H0v768h768V576H640V768zM384%20128l128%20128L320%20448l128%20128%20192-192%20128%20128V128H384z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
	mask-image: url("data:image/svg+xml,%3Csvg%20height%3D%221024%22%20width%3D%22768%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Cpath%20d%3D%22M640%20768H128V257.90599999999995L256%20256V128H0v768h768V576H640V768zM384%20128l128%20128L320%20448l128%20128%20192-192%20128%20128V128H384z%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");
	-webkit-mask-size: cover;
	mask-size: cover;
	background: black;
}

.glossary-tooltip a::before,
.glossary-tooltip a::after {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	opacity: 0;
	border: 2px solid #017ed5;
	-webkit-transition: -webkit-transform 0.3s, opacity 0.3s;
	transition: transform 0.3s, opacity 0.3s;
	-webkit-transition-timing-function: cubic-bezier(0.17, 0.67, 0.05, 1.29);
	transition-timing-function: cubic-bezier(0.17, 0.67, 0.05, 1.29);
}

.glossary-tooltip a::before {
	top: 0;
	left: 0;
	border-width: 3px 0 0 3px;
	-webkit-transform: translate3d(10px, 10px, 0);
	transform: translate3d(10px, 10px, 0);
}

.glossary-tooltip a::after {
	right: 0;
	bottom: 0;
	border-width: 0 3px 3px 0;
	-webkit-transform: translate3d(-10px, -10px, 0);
	transform: translate3d(-10px, -10px, 0);
}

.glossary-tooltip:focus a::before,
.glossary-tooltip:active a::before,
.glossary-tooltip:hover a::before {
	opacity: 1;
	position: absolute;
	display: block;
	visibility: visible;
	top: unset;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.glossary-tooltip:focus a::after,
.glossary-tooltip:active a::after,
.glossary-tooltip:hover a::after {
	opacity: 1;
	position: absolute;
	display: block;
	visibility: visible;
	bottom: 0;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

/* Tooltip */

.glossary-tooltip-content {
	position: absolute;
	z-index: 9999;
	width: 360px;
	left: 50%;
	margin: 0 0 20px -180px;
	bottom: 80%;
	text-align: left;
	box-shadow: 0 8px 13px #0006, 0 0 0 1px #0000001a;
	background-color: #017ed5;
	border-bottom: 2px solid #00243d;
	border-radius: 3px;
	padding: 5px 20px;
	opacity: 0;
	cursor: default;
	pointer-events: none;
	opacity: 0;
	transition: all 100ms ease-in-out, visibility 0ms;
	-webkit-transform: rotateX(-80deg) rotateY(0deg) rotateZ(-19deg) scale(0.6)
		translateY(53px);
	transform: rotateX(-80deg) rotateY(0deg) rotateZ(-19deg) scale(0.6)
		translateY(53px);
	-webkit-transform-origin: bottom center;
	transform-origin: bottom center;
	display: none;
}

.glossary-tooltip:hover .glossary-tooltip-content,
.glossary-tooltip:focus .glossary-tooltip-content,
.glossary-tooltip:active .glossary-tooltip-content {
	pointer-events: auto;
	opacity: 1;
	position: absolute;
	display: block !important;
	visibility: visible !important;
	top: unset;
	-webkit-transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(1);
	transform: rotateX(0deg) rotateY(0deg) rotateZ(0deg) scale(1);
	animation: wobble 700ms;
}

/* Arrow */

.glossary-tooltip-content::before,
.glossary-tooltip-content::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	right: 50%;
	bottom: -27px;
	z-index: 3;
	border: solid 15px transparent;
	border-top-color: #017ed5;
	left: auto;
}

.glossary-tooltip-content::after {
	bottom: -30px;
	z-index: 2;
	border-top-color: #00243d;
}

/* Tooltip content*/

.glossary-tooltip-content img {
	position: relative;
	height: 150px;
	display: block;
	float: left;
	margin-right: 1em;
}

.glossary-tooltip-text {
	display: block;
	padding: 0;
	padding-bottom: 15px;
	padding-top: 10px;
	color: #000;
	text-transform: uppercase;
	font-family: sans-serif;
}

.glossary-tooltip-text a {
	font-weight: bold;
}

@keyframes wobble {
	0% {
		transform: scale(0) rotate(-54deg) translatey(40px);
	}
	45% {
		transform: scale(1.1) rotate(20deg) translatey(0px);
	}
	60% {
		transform: scale(1) rotate(-15deg) translatey(0px);
	}
	77% {
		transform: scale(1) rotate(10deg) translatey(0px);
	}
	100% {
		transform: translatey(0);
	}
}

.glossary-underline {
	text-decoration: underline;
}

.rtl .glossary-tooltip-content {
	text-align: right;
}
