@import 'libs/vars';
@import 'libs/functions';
@import 'libs/mixins';
@import 'libs/vendor';
@import 'libs/breakpoints';
@import 'libs/html-grid';
@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,300italic,600,600italic,700');
@import url('fontawesome-all.min.css');


html, body {
    height: auto;
    min-height: 100vh; /* Ensures it doesn't exceed viewport height */
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}


body {
    display: flex;
    flex-direction: column;  /* Stack elements vertically */
    align-items: center;  /* Center horizontally */
    justify-content: flex-start;  /* Start from the top */
    background-color: #111;  /* Optional background color */
    color: #1c1c1c;
    padding: 20px 0;
    padding-top: 10em;
}


.header {
	overflow: hidden;
	background-color: #cdcdcd;
	padding: 10px 5px;
	position: fixed; /* Fixes the header at the top */
	top: 0;
	width: 100%;
	z-index: 1000; /* Ensures the header is above other content */
  }

  .heading{
	display: flex;
	position: flex;
  }

nav ul {
	list-style: none;
	display: flex;
	color:rgb(0, 0, 0);
}

nav .homeLi{
	margin-right: auto;
	display: block;
}

nav .Li{
	display: none;
}

.name{
	width: 200px;
	padding-left: 2em;
	height: 50px;
	position: flex;
	display: block;
}


nav a{
	display: flex;
	text-decoration: none;
	color:rgb(0, 0, 0);
	padding: 0 2em;
	display: block;
}

#openMenu{
	display: none;
	width: 50px;
	height: 50px;
	background: none;
	background-image: url(/images/menu.png);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
	border: none;
	padding: 1em;
	margin-left: auto;
	cursor: pointer;
	margin-right: 3em;
}

#closeMenu{
	display: none;
	width: 35px;
	height: 35px;
	background: none;
	background-image: url(/images/x.png);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	border:none;
	padding: 1em;
	cursor:pointer;
}

/* @media screen and (max-width: 700px){ */
	nav {
		position: fixed;
		top: 0;
		right: -100%;
		height: 100vh;
		width: min(10em, 75%);
		z-index: 100;
		background-image: url("/images/textureWork2.png");
		background-repeat:inherit;
		background-size: cover;
		background-color: white;
		background-position: center;
		border-style: ridge;
		border-color: white;
		transition: right 300ms ease-out;
	}
	nav.show{
		right: 0;
	}

	nav ul {
		width: 100%;
		flex-direction: column;
		gap: 0;
		margin-top: 5vh;
		padding-left: 5%;

	}

	nav a {
		width: 100%;
		padding-left: 1em;
		padding-top: 1.5em;
		padding-right: 1em;
		margin-right: 10rem;
		display: block;
		width: 100px;
		height: 60px;
		background-image: url(/images/panel3.png);
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		text-align: center;
		font-weight: bold;
		font-size: 20px;
		transition: transform 0.3s;
	}
	nav a:hover{
		transform: scale(1.05);
	}
	nav .Li {
		display: block;
	}

	#openMenu{
		display: block;
	}
	#closeMenu{
		display: block;
		margin-left: 30%;
		margin-top: -10px;
		width: 45px;
		height: 45px;
		padding-bottom: 2em;
	}

/* Video & GIF container */
.media-container {
    width: 80%;  /* Make videos and GIFs responsive */
    max-width: 800px; /* Limit maximum width */
    margin-bottom: 10px; /* Space between each media */
    text-align: center; /* Center text if needed */
    display: flex;
    flex-direction: column; /* Ensures media + text stack properly */
    align-items: center; /* Centers everything inside */
    justify-content: center;
}

.media-container:last-child {
    margin-bottom: 0; /* Removes extra space below last media item */
}

.media-caption, .horiz-caption {
    font-size: 1.1em;
    font-weight: 400;
    color: #ccc;
    margin-top: 10px;
    max-width: 80%;
    width: auto !important; 
    text-align: center;
    line-height: 1.5;
    display: block;
}

#title {
    font-size: 2.1em;
    font-weight: bold;
    color: #ccc;
    text-align: center;
    max-width: 80%;  /* Constrains width so it wraps like captions */
    word-wrap: break-word; /* Ensures wrapping on long words */
    line-height: 1.3; /* Keeps good spacing */
    margin-bottom: 0px;
}

/* Video styling */
video, img {
    width: 100%;  /* Make media fill the container */
    height: 100%;  /* Keep aspect ratio */
    display: block; /* Remove extra space */
    border-radius: 10px; /* Optional rounded corners */
    margin-bottom: 0px;
}

#fleshbox {
    max-width: 600px;
    width: 60vw;
    height: 50vh;
}

#SlimeMold {
    max-width: 600px;
    width: 60vw;
    height: 50vh;
}

#alloReel {
	max-width: 600px;
    width: 60vw;
    height: 50vh;
}

#JUCE {
    max-width: 600px;
    width: 60vw;
    height: 50vh;
}

#imago {
    display: block;  /* Ensures proper block behavior */
    margin-left: auto;
    margin-right: auto;
    width: auto;  /* Ensures it keeps its natural size */
    max-width: 40vw;  /* Prevents it from being too large */
    max-height: 100vh; /* Ensures it fits well */
}


#maxlive {
    width: 60vw;
    height: 50vh;
    max-width: 600px;
}

#supercollider {
    width: 60vw;
    height: 50vh;
    max-width: 600px;
}

#birds {
    width: 60vw;
    height: 50vh;
    max-width: 600px;
}

/* Wrap the two club images */
.horiz-container {
    display: flex;
    justify-content: center;  /* Center them in the container */
    align-items: center;  /* Align vertically if needed */
    width: 80%;  /* Match other media container sizes */
    max-width: 800px;  /* Prevent it from being too wide */
    margin-bottom: 10px;  /* Space between other elements */
    gap: 20px;  /* Space between the two images */
    text-align: center;
}

/* Ensure both images take up equal space */
.horiz-container img {
    width: 50%;  /* Each takes half the container */
    max-width: 50vw;  /* Ensures they stay responsive */
    max-height: 50vh;  /* Keeps aspect ratio controlled */
    border-radius: 10px;  /* Optional: rounded corners */
}

#thayer {
    width: 40vw;
    height: 50vh;
}

#phynth {
    width: 60vw;
    height: 50vh;
}