.tooltip {
    --tt-width: 200px;
	--tt-height: 250px;
	--tt-columns: 3;
	--tt-rows: 4;
	--tt-bg-color: #4d25b0;
	--tt-text-color: #abcb19;
	position: absolute;
	pointer-events: none;
	opacity: 0;
	top: 50%;
	left: 50%;
	width: var(--tt-width);
	height: var(--tt-height);
	display: grid;
	grid-template-areas: 'tooltip';
}

.tooltip--style-alt {
	--tt-bg-color: #94ad24;
    --tt-text-color: #2e3023;
}

.tooltip--show {
	opacity: 1;
}

.tooltip__bg {
	grid-area: tooltip;
	width: 100%;
	height: 100%;
	display: grid;
	grid-template-columns: repeat(var(--tt-columns), 1fr);
	grid-template-rows: repeat(var(--tt-rows), 1fr);
	background: var(--tt-bg-color);
}

.js .tooltip__bg {
	background: transparent;
}

.tooltip__bg div {
	background: var(--tt-bg-color);
    outline: 1px solid var(--tt-bg-color); /* Fixes the gap in FF */
}

.tooltip__content {
	grid-area: tooltip;
	color: var(--tt-text-color);
	position: relative;
	padding: 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.tooltip__content-title {
	font-weight: normal;
	margin: 0;
	font-size: 1.5rem;
}

.tooltip__content-meta {
	margin: 0;
}

.tooltip__content-desc {
	margin: auto 0 0 0;
}

@media screen and (min-width: 53em) {
    .tooltip {
        --tt-width: 290px;
        --tt-height: 330px;
    }

    .tooltip__content {
        padding: 2rem;
    }
    
    .tooltip__content-title {
        font-size: 2rem;
    }
    
}