*,
*::after,
*::before {
	font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;
	--brand-color: hsl(6 37% 31%);
}

.intro-holder {
	z-index: 999;
	display: grid;
	place-content: center;
	position: absolute;
	inset: 0;
	background-color: hsl(0 0% 0% / 30%);
	opacity: 100%;
	transition: opacity 250ms ease-in-out;
}

.intro-holder.hidden {
	opacity: 0%;
}

.intro-modal {
	width: auto;
	background-color: white;
	padding: 1rem 2rem;
	border-radius: 10px;
	position: relative;
	border: 7px solid var(--brand-color);
}

.intro-modal .exit {
	position: absolute;
	top: 0;
	right: 0;
	padding: 6px;
	font-size: 14px;
	line-height: 14px;
	cursor: pointer;
}

.my-hover-element {
	background-color: white;
	padding: 0.5rem 1rem 1rem;
	border-radius: 10px;
	display: grid;
	grid-template:
		"yt		yt" auto
		"img	title" auto
		"img	content" 1fr /
		auto 1fr;
	pointer-events: all;
}

.hover-element {
	pointer-events: none;
}

.hover-element .my-hover-element {
	border: 7px solid var(--brand-color);
	box-shadow: 0 0 10px 0 hsl(0 0% 0% / 50%);
	transform: translate(0, calc(-50% - 25px));
}

.my-hover-element h1 {
	margin: 0;
	margin-bottom: 0.5rem;
	grid-area: title;
}

.my-hover-element img {
	grid-area: img;
	max-width: 300px;
	align-self: center;
	margin-right: 1rem;
}

.my-hover-element iframe {
	grid-area: yt;
	align-self: center;
	margin-bottom: 1rem;
}

.my-hover-element .content {
	grid-area: content;
	max-width: 60ch;
}
