@import url('https://fonts.googleapis.com/css2?family=Host+Grotesk:ital,wght@0,300..800;1,300..800&display=swap');

:root{
	--primary-font-family: 'Host Grotesk';

	--heading-font-size: 20px;
	--base-font-size: 16px;

	--base-border-radius: 8px;

	--gap: 12px;
	--bigger-gap: 20px;
	
	--base-color: #373737;
	--point-color: #EC561F;
}

html{
	scroll-behavior: smooth;
	max-width: 100%;
}

body{
	font-family: var(--primary-font-family);
	font-size: var(--base-font-size);
	font-weight: 350;
	margin: 12px 18px;
	max-width: 100%;
	overflow-x:hidden;

	background-color: #fafafa;
}

#channel-title{
	font-size: var(--heading-font-size);
	background-color:#333;
	color: white;
	padding: var(--gap);
	text-align: left;
	border-radius: var(--base-border-radius);
	margin-bottom: var(--gap);
}

.img-and-about{
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--gap);
}

.keyboard-image{
	height: 250px;
	border-radius: var(--base-border-radius);
	overflow: hidden;
}

.keyboard-image img{
	width: 100%;
	height: 100%;
	object-fit: fill;
}

.heading-cta{
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--gap);
	position: relative;
}

#channel-link{
	font-size: var(--base-font-size);
	padding: 12px 12px 40px 12px;
	border-radius: var(--base-border-radius);
	height: auto;

	border: 1.5px solid #a0a0a0;
	color: black;
	background: linear-gradient(to bottom, #e6e6e6, #bfbfbf);
	text-align: left;
	cursor: pointer;

	text-decoration: none;
	box-shadow: inset 2px 2px 5px rgba(255, 255, 255, 0.6), 
	inset -2px -2px 5px rgba(0, 0, 0, 0.2),
	0 6px #888888, 
	0 8px 12px rgba(0, 0, 0, 0.2);
	transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

#channel-link:hover {
	color: var(--point-color);
	animation: rainbowGlow 2s infinite linear;

	background: linear-gradient(to bottom, #f0f0f0, #cfcfcf);
	box-shadow: 
		inset 2px 2px 5px rgba(255, 255, 255, 0.8), 
		inset -2px -2px 5px rgba(0, 0, 0, 0.3),
		0 4px #666666, 
		0 6px 10px rgba(0, 0, 0, 0.25);
}

#channel-link:active {
	color: rgba(55, 98, 255, 0.656);
	background: linear-gradient(to bottom, #d9d9d9, #b3b3b3);
	border: 1.5px solid rgba(55, 98, 255, 0.656);
	box-shadow: 0 3px rgba(55, 98, 255, 0.656), 0 10px 20px rgba(55, 98, 255, 0.656);
	
	transform: translateY(4px);
	animation: none;
}

#about {
	border-radius: 20px;
	background-color: white;
	color: var(--point-color);
	margin: 14px 14px auto 85px;
	padding: 3px 8px;
	text-align: center;
}

.empty-box{
	background-color: var(--point-color);
	position: absolute;
	top:0;
	right:0;
	width: 48%;
	height: calc(2 * 100%);
	border-radius: var(--base-border-radius);
	max-width: calc(100% - var(--gap));
}

.description-box{
	color: white;
	background-color: var(--point-color);
	padding: 26px 12px 16px 12px;
	margin-top: var(--bigger-gap);
	border-radius: var(--base-border-radius);

	position: relative;
}

nav{
	position: sticky;
	top: var(--gap);
	z-index: 1000;
	width: 100%;
}

.nav-container{
	display: flex;
	gap: 8px;
	padding-bottom: 9px;
	justify-content: space-between;
	margin-block: var(--gap);
}

/*glowing animation on each button's border*/
@keyframes rainbowGlow{
	0% { box-shadow: 0 0 9px red; border-color: red; }
	16% { box-shadow: 0 0 9px orange; border-color: orange; }
	32% { box-shadow: 0 0 9px yellow; border-color: yellow; }
	48% { box-shadow: 0 0 9px green; border-color: green; }
	64% { box-shadow: 0 0 9px blue; border-color: blue; }
	80% { box-shadow: 0 0 9px indigo; border-color: indigo; }
	100% { box-shadow: 0 0 9px violet; border-color: violet; }
}

/*originial button styling*/
.nav-button{
	flex: 1;
	border-radius: var(--base-border-radius);
	border: 1.5px solid #a0a0a0;
	color: black;

	background: linear-gradient(to bottom, #e6e6e6, #bfbfbf);
	padding: var(--gap);
	text-align: center;
	cursor: pointer;

	display: inline-block;
	text-decoration: none;

	box-shadow: 
	inset 2px 2px 5px rgba(255, 255, 255, 0.6), 
	inset -2px -2px 5px rgba(0, 0, 0, 0.2),
	0 6px #888888, 
	0 8px 12px rgba(0, 0, 0, 0.2);

	transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.nav-button:hover {
	color: var(--point-color);
	animation: rainbowGlow 2s infinite linear;

	background: linear-gradient(to bottom, #f0f0f0, #cfcfcf);
	box-shadow: inset 2px 2px 5px rgba(255, 255, 255, 0.8), inset -2px -2px 5px rgba(0, 0, 0, 0.3), 0 4px #666666, 0 6px 10px rgba(0, 0, 0, 0.25);	
}

/* active button (clicked) */
.nav-button.active {
	color: rgba(55, 98, 255, 0.656);
	background: linear-gradient(to bottom, #d9d9d9, #b3b3b3);
	border: 1.5px solid rgba(55, 98, 255, 0.656);
	box-shadow: 0 3px rgba(55, 98, 255, 0.656), 0 10px 20px rgba(55, 98, 255, 0.656);

	transform: translateY(4px);
	animation: none;
}

.glow{
	animation: rainbowGlow 2s infinite linear;
}

#channel-blocks{
	max-width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: var(--gap);
	justify-content: center;

	padding-top: 9px;
}

/*javascript add show buttons*/
.show-image{
	li{display:none;}
	li.image-block{display:block;}
}

.show-video{
	li{display:none;}
	li.video-block{display:block;}
}

.show-link{
	li{display:none;}
	li.link-block{display:block;}
}

.show-text{
	li{display:none;}
	li.text-block{display:block;}
}

.show-audio{
	li{display:none;}
	li.audio-block{display:block;}
}

li > iframe, li > video, li > text, li > link{
	width: 100%;
	height: 170px;
	object-fit: cover;
	display:block;
	border-radius: var(--base-border-radius);
	overflow: hidden;
}

.image-block img{
	width: 100%;
	height: 100%;
	max-height: 200px;
	object-fit: fill;
	display:block;
	border-radius: var(--base-border-radius);
	overflow: hidden;
}

li > audio{
	width: 100%;
	height: 80px;
	padding: 0 10px 20px 10px;
	object-fit: cover;
	background-color: #e0e0e0;
	border-radius: 0 0 8px 8px;
}

h3{
	font-size: var(--base-font-size);
	text-align: left;
	padding: 15px 20px 7px 20px;
	background-color: #e0e0e0;
	border-radius: 8px 8px 0 0;
}


.text-block {
	background: #e0e0e0;
	max-width: 100%;
	border-radius: var(--base-border-radius);

	width: auto;
	height: 200px;
	padding: 20px;
	text-align: center;
	align-items: center;
	justify-content: center;
}

.image-block, .video-block, .audio-block, .link-block{
	background-color: #e0e0e0;
	border-radius: var(--base-border-radius);
}

.image-block:hover, 
.video-block:hover, 
.audio-block:hover, 
.text-block:hover, 
.link-block:hover {
	animation: rainbowGlow 1s infinite alternate;
	transform: translateY(4px);
	transition: all 0.3s ease-in-out;
}

video{
	max-width: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: var(--gap);
}

.link-block{
	width: 100%;
	height: 100%;
	object-fit: fill;
	display:block;
	border-radius: var(--base-border-radius);
	overflow: hidden;
}

#top{
	opacity:0;
	visibility: hidden;
	transition: opacity 0.4s ease-in-out, visibility 0.4s ease-in-out;

	border-radius: var(--base-border-radius);
	border: 1.5px solid var(--point-color);
	color: var(--point-color);
	background: linear-gradient(145deg, #fdd8c6, #fbc0a5); 
	padding: 12px 18px;
	position: fixed;
	right: 5.5vw;
	bottom: 3vh;
	cursor: pointer;

	font-weight: bold;
	text-transform: uppercase;
	box-shadow: inset 3px 3px 6px rgba(255, 255, 255, 0.5), inset -3px -3px 6px rgba(0, 0, 0, 0.3), 0 4px 0px var(--point-color), 0 6px 10px rgba(0, 0, 0, 0.3);

	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}

#top:hover {
	background: linear-gradient(145deg, #ffefe8, #f8a07d); 
	color:var(--point-color);
	transform: translateY(2px); 
	box-shadow: inset 3px 3px 6px rgba(255, 255, 255, 0.5), inset -3px -3px 6px rgba(0, 0, 0, 0.3), 0 2px 0px var(--point-color), 0 3px 6px rgba(0, 0, 0, 0.2);
}

#top:active {
	color: rgba(55, 98, 255, 0.656);
	background-color: #dedede;
	background: linear-gradient(145deg, #ffefe8, #f8a07d); 
	border: 1.5px solid rgba(55, 98, 255, 0.656);
	box-shadow: inset 4px 4px 8px rgba(55, 98, 255, 0.656), inset -4px -4px 8px rgba(255, 255, 255, 0.3), 0 5px rgba(55, 98, 255, 0.656), 0 10px 20px rgba(55, 98, 255, 0.656);
	transform: translateY(4px);
  }

footer{
	color: gray;
	margin-block: var(--bigger-gap);
}


@media (min-width: 768px){

	body{
		max-width: 100%;
		margin: 30px 80px;
		font-size: 18px;
	}

	#channel-title{
		font-size: 22px;
		padding: var(--bigger-gap);
	}

	#channel-link{
		font-size: 20px;
		padding-left: 18px;
		padding-top: 18px;
	}

	.img-and-about{
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		gap: var(--bigger-gap);
		margin-block: var(--bigger-gap);
	}
	
	.keyboard-image{
		height: 70vh;
		object-fit: contain;
		border-radius: var(--base-border-radius);
		overflow: hidden;

		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.enter{
		width: 100%;
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		position: relative;
	}

	.heading-cta{
		gap: var(--bigger-gap);
	}

	.nav-container{
		margin-block: var(--bigger-gap);
		gap: var(--bigger-gap);
	}

	.nav-button{
		font-size: var(--heading-font-size);
		padding: var(--bigger-gap);
	}

	#channel-link{
		font-size: 18px;
		height: calc(2 * 100%);
	}

	#about{
		font-size: var(--heading-font-size);
		margin: 20px 20px auto 50px;
	}

	.empty-box{
		height: calc(4 * 100%);
	}

	.description-box{
		font-size: var(--heading-font-size);
		padding: 40px;
		height: 45.5vh;
	}

	#channel-blocks {
		grid-template-columns: repeat(5,1fr);
		gap: var(--bigger-gap);
	}

	li > img, li > iframe, li > video, li > text, li > link{
		height: 200px;
		overflow: hidden;
		border-radius: var(--base-border-radius);
	}

	li>audio{
		height: 120px;
	}

	.link-block img{
		width: 100%;
		height: 200px;
		object-fit: cover;
		justify-content: center;
		align-items: center;
		border-radius: var(--base-border-radius);
	}

	.text-block > p:nth-child(2){
		height: auto;
	}

	footer p{
		margin-top: 50px;
	}

}


@media (min-width: 1300px){
	#about{
		font-size: var(--heading-font-size);
		margin: 20px 25px auto 150px;
		padding: 5px 10px;
	}
}
