:root {
	--primary-background: rgb(100, 100, 100);
	--primary-dark: rgb(25, 25, 25);
	--primary-light: rgb(200, 200, 200);
}

body {
	display: flex;
	justify-content: center;
	background-color: var(--primary-background);
	background-image: url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/MinaBackgroundTexture.jpg");
	text-align: center;
	font-family: "Sour Gummy", sans-serif;
	font-size: calc(calc(4vw + 40px) / 3);
	height: 100%;
}


h1 {
	color: var(--primary-light);
	font-size: 30em;
}

#main {
	width: calc(calc(100vh - 20px)/0.7);
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	grid-template-rows: auto auto auto auto auto;
	/* background-color: var(--primary-dark); */
        background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/background_medium.jpg");
        background-size: cover;
	height: 100%;
}

ul {
	grid-column: 1 / span 4;
	list-style-type: none;
	margin: 0;
	padding-bottom: 20px;
	padding-left: 0;
}

ul li {
	float: left;
	width: 25%;
	padding: 0px;
}

ul li a {
	display: block;
	margin: 10px;
	text-align: center;
	padding: 14px 16px;
	text-decoration: none;
	color: white;
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/MinaBackgroundTexture.jpg");
	border-radius: 10px;
        transition: scale 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

ul li a:hover {
	background-image: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/MinaBackgroundTexture.jpg");
        scale: 1.05;
}

.box {
	background-color: var(--primary-background);
	margin: 10px;
	text-align: center;
	padding: 10px;
	border-radius: 10px;
	height: auto;
	width: auto;
        display: flex;
        flex-direction: column;
}

.title_box {
	/* background-color: var(--primary-dark); */
        background-image: linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 1)), url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/background_dark.jpg");
        background-size: cover;
	color: var(--primary-light);
	padding: 10px;
	margin-bottom: 10px;
	border-style: solid;
	border-color: var(--primary-background);
	border-radius: 10px;
	justify-content: center;
	display: block;
}

.sub_box {
	border-radius: 10px;
	background-color: var(--primary-dark);
	display: flex;
	align-items: center;
	height: auto;
	justify-content: center;
        flex-grow: 1;
        overflow: hidden;
}

#youtubeVid {
	/* width: calc(1297px/2); */
	height: calc(543px/2);
}

.pic {
	padding: 10px;
	margin: 10px;
	border-radius: 10px;
	display: flex;
	align-items: center;
}

.canvas_box {
	display: flex;
	justify-content: center;
	height: auto;
	margin: 0px;
	padding: 0px;
	width: 100%;
	flex-direction: column;
}

.canvas_title {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
        transition: background-color 0.3s ease, transform 0.1s ease;
	background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.8)), url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/MinaBackgroundTexture.jpg");
	color: var(--primary-light);
	width: 100%;
	font-size: 80%;
	height: 8vh;
}

.image_wrapper {
        width: auto;
        height: 100%;
        flex-grow: 1;
        object-fit: cover;
}


.sub_box_center {
        height: 100%;
}

/* ~~~~~~~~~ SOTRY PAGE ~~~~~~~~~ */


.btn-text {
        position: absolute;
        z-index: 2;
        color: #ffffff;
        font-size: 1.5rem;
        font-family: "Sour Gummy", sans-serif;
        font-weight: bold;
        text-transform: uppercase;
        letter-spacing: 1px;
        text-shadow: 0 2px 4px rgba(0, 0, 0, 0.6);
        padding: 0;
        margin: 0;
        left: 50%;
        top: 2%;
        transform: translate(-50%);
        transition: font-size 0.3s ease;
}

.btn-text:hover {
        font-size: 1.7rem;
}

.story_youtube_video {
        border: #000000;
        border-radius: 10px;
        border-style: solid;
        margin: 10px;
}

.lyric_box {
        color: rgb(255, 255, 255);
	font-size: 2rem;
        padding: 2vw;
        text-align: left;
        background-image: linear-gradient(rgba(0, 0, 0, 0.8), rgba(0, 0, 0, 0.8)), url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/paper.jpg");
        box-shadow: inset 0 0 20px 20px var(--primary-dark); 
}

.lyric_header {
        font-size: 1.5rem;
        color: rgb(152, 152, 152);
}

.lyric_charecter {
        font-size: 3rem;
        text-align: center;
        color: rgb(177, 177, 177);
}

.gallery-container {
        position: relative;
        width: 100%;
        height: 100vh;
        min-height: 100vh;
        overflow: hidden;
        transition: height 0.7s cubic-bezier(0.4, 0, 0.2, 1);
        will-change: height;
} 

.row {
        position: absolute;
        left: 0;
        width: 100%;
        height: auto;
        transform: translateY(-50%); 
        transition: top 0.7s cubic-bezier(0.4, 0, 0.2, 1);
        will-change: top;
}

.item {
        position: absolute;
        top: 50%;
        width: 15vw;
        height: auto;
        transition: left 0s cubic-bezier(0.4, 0, 0.2, 1), transform 0s cubic-bezier(0.4, 0, 0.2, 1);
        will-change: left, transform;
}

.item.active {
        transition: left 0.7s cubic-bezier(0.4, 0, 0.2, 1), transform cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-image {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 15px;
        cursor: pointer;
        position: relative;
        z-index: 2; /* Keeps image above the menu */
        box-shadow: 0 10px 30px rgba(0,0,0,0.6);
        transition: box-shadow 0.3s ease, transform 0.3s ease, border-radius 0.3s ease;
}

.btn-image:hover {
        border-radius: 25px;
        transform: scale(1.03);
        box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}

.menu {
        position: absolute;
        top: 10px;
        left: 100px; /* Starts tucked completely behind the image */
        width: 0;
        max-height: 90%;
        background-image: linear-gradient(rgba(0,0,0,0.5), rgba(0,0,0,0.5)), url("https://pub-bc4c2d8538fa4a0a814294ee13fc8249.r2.dev/media/background_dark.jpg");
        background-size: 50%;
        border-style: none;
        border-radius: 16px 16px 16px 16px;
        z-index: 1; /* Slips under the image */
        opacity: 0;
        transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.5s, max-height 0.7s cubic-bezier(0.4, 0, 0.2, 1);
        overflow: hidden;
        box-shadow: 5px 10px 20px rgba(0,0,0,0.3);
}

.item.active .menu {
        width: 20vw;
        height: auto;
        left: 14vw; /* Slides out past the right edge of the image */
        opacity: 1;
        max-height: 1000vh;
        transition: all 0.7s cubic-bezier(0.4, 0, 0.2, 1), max-height 0.7s cubic-bezier(0.4, 0, 0.2, 1) 0.5s;
}

.menu-content {
        height: auto;
}