.panel-intro {
	color: var(--white);
	position: relative;
	--rock-translate: translate(-50%, -48%);
}

#main-content :first-child > .panel-intro.with-slideshow {
	margin-top: -34px;
}

#main-content :first-child > .panel-intro.with-image {
	margin-top: -36px;
}

#main-content :first-child > .panel-intro.with-video {
	margin-top: 0;
	z-index: 3;
}

.panel-intro.blue {
	background-color: var(--blue);
}

.panel-intro.red {
	background-color: var(--red);
}

.panel-intro.green {
	background-color: var(--green);
}

.panel-intro .rocknroll {
	position: absolute;
	width: 122px;
	height: 122px;
	top: 0;
	left: 50%;
	transform: var(--rock-translate) rotate(0deg);
	animation: rotate 60s infinite forwards;
}

.panel-intro .intro-inner {
	margin-bottom: 19px;
}

.panel-intro .intro-inner {
	padding-top: 110px;
}

.panel-intro .title-cont h1 {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-family: var(--brandon);
	font-weight: 900;
	color: var(--white);
	text-transform: uppercase;
	padding: 0 20px;
	margin: 0 auto 23px;
	width: min-content;
}

.panel-intro .title {
	font-size: calc(90px + (150 - 90) * ((100vw - 375px) / (1440 - 375)));
	line-height: 0.8556;
	display: block;
}

.panel-intro .subtitle {
	font-size: calc(36px + (60 - 36) * ((100vw - 375px) / (1440 - 375)));
	line-height: 1.04556;
	max-width: 14ch;
	display: block;
}

.panel-intro .description {
	margin: 0 auto;
	padding: 0 30px;
	font-family: var(--roboto);
	font-weight: 400;
	max-width: 50ch;
	font-size: calc(18px + (22 - 18) * ((100vw - 375px) / (1440 - 375)));
	line-height: 1.5556;
}

@media (min-width: 40em) {
	#main-content :first-child > .panel-intro.with-slideshow {
		margin-top: -62px;
	}

	#main-content :first-child > .panel-intro.with-image {
		margin-top: -70px;
	}

	#main-content :first-child > .panel-intro.with-video {
		margin-top: -9px;
	}

	.panel-intro .intro-inner {
		display: grid;
		grid-template-columns: 1fr 1fr;
		justify-content: center;
		align-items: start;
	}

	.panel-intro .title {
		font-size: calc(80px + (150 - 80) * ((100vw - 640px) / (1024 - 640)));
	}

	.panel-intro .subtitle {
		font-size: calc(30px + (60 - 30) * ((100vw - 640px) / (1024 - 640)));
	}

	.panel-intro .description {
		font-size: calc(16px + (22 - 16) * ((100vw - 640px) / (1024 - 640)));
	}
}

@media (min-width: 64em) {
	.panel-intro {
		--rock-translate: translate(-50%, -58%);
	}

	.panel-intro .title {
		font-size: 150px;
		line-height: 132px;
	}

	.panel-intro .subtitle {
		font-size: 60px;
		line-height: 58px;
		padding-left: 22px;
		width: 14ch;
	}

	.panel-intro .description {
		font-size: 22px;
		line-height: 35px;
	}

	.panel-intro .rocknroll {
		width: 248px;
		height: 248px;
		transform: var(--rock-translate) rotate(0deg);
		animation: rotate 60s infinite forwards;
	}

	.panel-intro .title-cont h1 {
		padding-top: 5px;
		align-items: start;
	}

	.panel-intro .title {
		padding-top: 7px;
		padding-left: 10px;
	}

	.panel-intro .intro-inner {
		padding-top: 188px;
		margin-bottom: 145px;
	}

	.panel-intro .title-cont {
		margin-left: auto;
		margin-right: 0;
	}

	.panel-intro .description {
		margin-right: auto;
		margin-left: 44px;
	}
}

@keyframes rotate {
	0% {
		transform: var(--rock-translate) rotate(0deg);
	}
	100% {
		transform: var(--rock-translate) rotate(360deg);
	}
}
