/* =========================================================
   JamboJon Tooltips
   Desktop: hover or keyboard focus
   Mobile: tap to open, X or outside tap to close
   ========================================================= */


/* Tooltip wrapper */
.jj-tooltip {
	position: relative;
	display: inline-block;
}


/* =========================================================
   Trigger reset
   Prevent theme and Beaver Builder button styling
   ========================================================= */

.jj-tooltip-trigger,
.jj-tooltip-trigger:hover,
.jj-tooltip-trigger:focus,
.jj-tooltip-trigger:active {
	-webkit-appearance: none;
	appearance: none;
	display: inline;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	outline: none;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit;
	line-height: inherit;
	text-align: inherit;
	text-decoration: none !important;
	text-transform: none;
	cursor: help;
}


/* Dotted underline for word tooltips */
.jj-tooltip-trigger.jj-tooltip-word,
.jj-tooltip-trigger.jj-tooltip-word:hover,
.jj-tooltip-trigger.jj-tooltip-word:focus,
.jj-tooltip-trigger.jj-tooltip-word:active {
	border-bottom: 1px dotted currentColor !important;
}


/* No underline for icon tooltips */
.jj-tooltip-trigger.jj-tooltip-icon-trigger,
.jj-tooltip-trigger.jj-tooltip-icon-trigger:hover,
.jj-tooltip-trigger.jj-tooltip-icon-trigger:focus,
.jj-tooltip-trigger.jj-tooltip-icon-trigger:active {
	border: 0 !important;
	border-bottom: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: help;
}


/* Information icon */
.info-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 16px;
	height: 16px;
	margin-left: 3px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-size: 10px;
	font-weight: 700;
	line-height: 1;
	vertical-align: middle;
	cursor: help;
}


/* =========================================================
   Tooltip box default styling
   ========================================================= */

.jj-tooltip-box {
	position: absolute;
	left: 50%;
	bottom: calc(100% + 12px);

	display: block;

	width: max-content;
	max-width: min(280px, calc(100vw - 32px));
	padding: 12px 16px;

	background: #222;
	color: #fff;

	font-size: 14px;
	font-weight: 400;
	line-height: 1.4;
	text-align: left;
	white-space: normal;

	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.22);

	opacity: 0;
	visibility: hidden;
	pointer-events: none;

	transform: translateX(-50%) translateY(8px);

	transition:
		opacity 0.2s ease,
		transform 0.2s ease,
		visibility 0.2s ease;

	z-index: 999999;
}


/* Tooltip content */
.jj-tooltip-content {
	display: block;
}


/* Desktop arrow */
.jj-tooltip-box::after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;

	border-width: 7px;
	border-style: solid;
	border-color: #222 transparent transparent transparent;

	transform: translateX(-50%);
}


/* =========================================================
   Close button
   Hidden by default and shown on mobile
   ========================================================= */

.jj-tooltip-close,
.jj-tooltip-close:hover,
.jj-tooltip-close:focus,
.jj-tooltip-close:active {
	-webkit-appearance: none;
	appearance: none;

	position: absolute;
	top: 6px;
	right: 8px;

	display: none;

	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0 !important;

	border: 0 !important;
	border-radius: 0 !important;
	outline: none !important;

	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	color: inherit !important;

	font-family: Arial, sans-serif;
	font-size: 26px;
	font-weight: 400;
	line-height: 32px;
	text-align: center;
	text-decoration: none !important;

	cursor: pointer;
	touch-action: manipulation;

	z-index: 10;
}


/* =========================================================
   Desktop behavior
   ========================================================= */

@media (min-width: 770px) {

	.jj-tooltip:hover > .jj-tooltip-box,
	.jj-tooltip-trigger:focus + .jj-tooltip-box {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(-50%) translateY(0);
	}

}


/* =========================================================
   Mobile behavior
   JavaScript adds .jj-mobile-open to .jj-tooltip
   ========================================================= */

@media (max-width: 769px) {

	.jj-tooltip > .jj-tooltip-box {
		position: fixed;
		top: 50%;
		left: 50%;
		right: auto;
		bottom: auto;

		display: none !important;

		width: calc(100vw - 40px);
		max-width: 420px;
		max-height: calc(100vh - 80px);
		max-height: calc(100dvh - 80px);
		padding: 42px 22px 22px;

		overflow-x: hidden;
		overflow-y: auto;

		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;

		transform: translate(-50%, -50%) !important;
		transition: none;

		z-index: 999999;
	}

	/* Only show when JavaScript adds this class */
	.jj-tooltip.jj-mobile-open > .jj-tooltip-box {
		display: block !important;
	}

	/* No arrow on centered mobile popup */
	.jj-tooltip-box::after {
		display: none;
	}

	/* Show close button on mobile */
	.jj-tooltip-close,
	.jj-tooltip-close:hover,
	.jj-tooltip-close:focus,
	.jj-tooltip-close:active {
		display: block;

		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		background-color: transparent !important;
		background-image: none !important;
		box-shadow: none !important;
		color: inherit !important;
	}

}


/* =========================================================
   Beaver Builder overflow protection

   Add the class allow-tooltips to a row or column if a
   desktop tooltip is cut off.
   ========================================================= */

.allow-tooltips,
.allow-tooltips .fl-row-content-wrap,
.allow-tooltips .fl-row-content,
.allow-tooltips .fl-col,
.allow-tooltips .fl-col-content,
.allow-tooltips .fl-module,
.allow-tooltips .fl-module-content {
	overflow: visible !important;
}