
@charset "UTF-8";

@font-face {
	font-family: 'Orbitron';
	src: url(../Fonts/Orbitron/Orbitron-Regular.ttf) format('truetype');
	font-weight: 400;
	font-style: normal;
}

@font-face {
	font-family: 'Orbitron';
	src: url(../Fonts/Orbitron/Orbitron-Medium.ttf) format('truetype');
	font-weight: 500;
	font-style: normal;
}

@font-face {
	font-family: 'Orbitron';
	src: url(../Fonts/Orbitron/Orbitron-Bold.ttf) format('truetype');
	font-weight: 700;
	font-style: normal;
}

@font-face {
	font-family: 'Orbitron';
	src: url(../Fonts/Orbitron/Orbitron-Black.ttf) format('truetype');
	font-weight: 800;
	font-style: normal;
}



/**********************************************************************/
/***************************** Page Top *******************************/
/**********************************************************************/

.subtitle {
	letter-spacing: 1px !important;
}

.subtitle2 {
	color: #555;
	max-width: 90%;
	font-size: 80% !important;
	font-style: italic;
	margin-top: 1rem;
}

.titleDivider {
	max-width: 90%;
	border: none;
	height: 1px;
	background: #222;
	box-shadow: 0 0 8px rgba(0, 210, 255, 0.9);
	margin: 0 auto;
	margin-top: 1.5rem;

}

.hero-banner {
	border: 1px solid #222; /* #444 */
	border-radius: 20px;
	margin: 0 auto;
	margin-top: 1rem;
	margin-bottom: 1rem;
	filter: hue-rotate(320deg);
}

.welcome-box {
	width: 100%;
	max-width: 900px;
	height: auto;
	background-color: #12121290;
	border: 1px solid #222;
	border-radius: 20px;
	margin: 0 auto;
	margin-top: 2rem;
	margin-bottom: 8rem;
	/*padding: 2rem 2rem 2rem 2rem;*/
	box-sizing: border-box;
}

.welcome-title {
	flex-basis: 100%;
	text-align: center;
	margin-top: 3rem;
	/*margin-bottom: 2rem;*/
	color: #555;
	font-size: 3rem;
	letter-spacing: 1px;
}

.welcome-description {
	flex-basis: 100%;
	text-align: center;
	margin-top: 1rem;
	margin-bottom: 2rem;
	color: #444;
	font-size: 1rem;
	padding: 0px 2rem;
	/*text-transform: uppercase;*/
	/*letter-spacing: 1px;*/
}

.mobile-break {
	display:;
}



/**********************************************************************/
/**************************** Intro Section ***************************/
/**********************************************************************/

.introduction-box {
	width: 100%;
	max-width: 900px;
	height: auto;
	background-color: #111; /* #12121290 */
	border: 2px solid #222; /* #222222 */
	border-radius: 20px;
	margin: 0 auto;
	/*margin-left: -20px;*/
	padding: 2rem 2rem 2rem 2rem;
	box-sizing: border-box;
	/*box-shadow: 0 0 15px 5px rgba(135,206,250, 0.0), inset 0 0 15px 3px rgba(135,206,250, 0.1);*/
}

.introduction-box img {
	max-width: 100%;
	height: auto;
	/*margin: 1rem 0rem 1rem 0rem;*/
	border: 1px solid #777;
	border-radius: 3px;
	margin-top: 4px !important;
	margin-bottom: 16px !important;
}

.introduction-box-title {
	margin-top: 1rem;
	/*margin-bottom: 2.5rem;*/
	color: #555 !important;
	text-align: center;
	font-size: 2rem;
	letter-spacing: 2px !important;
}

.introduction-box-subtitle {
	flex-basis: 100%;
	text-align: center;
	margin-bottom: 3rem;
	margin-top: 1rem;
	color: #444 !important;
	font-size: .9rem;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.introduction-box p {
	text-align: justify;
	margin-bottom: 1rem;
}


img {
	transform: rotate(0deg);
	-webkit-transform:(0deg);
}



/**********************************************************************/
/**************************** Main Gallery ****************************/
/**********************************************************************/

.studio-pics-box {
	display: flex;
	justify-content: space-around;
	align-content: center;
	flex-direction: column;
	flex-flow: wrap;
	align-items: flex-start;
	max-width: 900px;
	height: auto;
	padding: 2rem;
	/*margin: 4rem 0rem;*/
	background-color: #111;
	border: 1px solid #222;
	border-radius: 20px;
	margin: 16rem 0rem;
	box-sizing: border-box;
	/*box-shadow: 0 0 15px 5px rgba(135,206,250, 0.0), inset 0 0 15px 3px rgba(135,206,250, 0.1);*/
}

.studio-pics-box img {
	width: 100%;
	max-width: 300px;
	height: auto;
	border: 1px solid #444;
	border-radius: 3px;
	box-shadow: 15px 15px 20px 8px rgba(0, 0, 0, 0.5);
}

.gallery-title {
	flex-basis: 100%;
	text-align: center;
	margin-top: 1rem;
	/*margin-bottom: 2rem;*/
	color: #555;
	font-size: 3rem;
	/*letter-spacing: 2px;*/
}

.gallery-subtitle {
	flex-basis: 100%;
	text-align: center;
	margin-top: 1rem;
	margin-bottom: 2rem;  /* 2rem */
	color: #444;
	font-size: .9rem;
	text-transform: uppercase;
	letter-spacing: 0px;
}

.gallery-content-title {
	flex-basis: 100%;
	text-align: center;
	margin-bottom: 1rem;
	color: #333;
	font-size: 2rem;
	text-transform:uppercase;
	letter-spacing: .5rem;
	margin-left: .5rem;
	font-weight: 900;
	font-family: 'Orbitron';
}




/**********************************************************************/
/**************************** SMALL PHOTOS ****************************/
/**********************************************************************/

.pic-frame {
	display: block;
	margin: 2rem 0rem 2rem 0rem;
	max-width: 95%;
	text-align: center;
}

/* Using flex to get the img, h3 and p aligned without shifting the placement of div. Try CSS Grid instead */
/*.pic-frame {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	margin: 2rem 0rem 2rem 0rem;
}*/

.pic-title {
	font-size: .8rem !important;
	font-weight: 600;
	text-align: center;
	color: #AAA;
	/*margin: 0 auto !important;*/
	margin-top: 2%;
}

.caption-small {
	font-size: .65rem !important;
	font-weight: normal !important;
	color: #777 !important;
	max-width: 70%;
	font-style: italic;
	box-sizing: border-box;
	padding: 0rem 1rem;
	margin-top: .25rem;
}




/**********************************************************************/
/***************************** BIG PHOTOS *****************************/
/**********************************************************************/

.big-pic {
	width: 100%;
	max-width: 900px;
	height: auto;
	border: 2px solid #444;
	border-radius: 20px;
	/*box-shadow: 15px 15px 20px 8px rgba(0, 0, 0, 0.5);*/
}

.caption-big {
	font-weight: normal !important;
	color: #777 !important;
	max-width: 90%;
	font-style: italic;
	text-align: center !important;
	margin: 0 auto !important;
	margin-top: 1rem !important;
	box-sizing: border-box;
	padding: 0rem 1rem;
}



/**********************************************************************/
/*************************** PROFOUND QUOTES **************************/
/**********************************************************************/

.profound-quote {
	font-size: 2rem;
	font-weight: normal;
	color: #444;
	max-width: 90%;
	font-style: italic;
	text-align: center;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0rem 1rem;
}

.end-quote {
	font-size: 2rem !important;
	/*font-size: clamp(2rem 5vw, 4rem);*/ /* alternative to responsive resizing */
	max-width: 95%;
	margin-bottom: 16rem;
	font-family: orbitron;
	font-style: normal;
}



/**********************************************************************/
/************************* Thank You Section **************************/
/**********************************************************************/

.thank-you-box {
	width: 100%;
	max-width: 900px;
	height: auto;
	background-color: #12121290;
	border: 1px solid #222;
	border-radius: 20px;
	margin: 0 auto;
	margin-top: 8rem;
	margin-bottom: 8rem;
	/*padding: 2rem 2rem 2rem 2rem;*/
	box-sizing: border-box;
}

.thank-you-title {
	flex-basis: 100%;
	text-align: center;
	margin-top: 3rem;
	color: #555;
	font-size: 2rem;
}

.thank-you-subtitle {
	flex-basis: 100%;
	text-align: center;
	margin-top: 1rem;
	margin-bottom: 2rem;
	color: #444 !important;
	font-size: .8rem;
	text-transform: uppercase;
	letter-spacing: 0px;
}

.end-banner {
	/*border: 1px solid #444;*/
	border-radius: 20px;
	margin: 0 auto;
	margin-top: 1rem !important;
	margin-bottom: 4rem;
	/*filter: grayscale();*/
}



/**********************************************************************/
/***************************** Slideshow ******************************/
/**********************************************************************/

/* 1. Container can now safely use height: auto */
.slideshow-container {
  /*max-width: 800px;
  width: 100%;*/
  position: relative;
  margin: auto;
  overflow: hidden;
  height: auto; /* Container scales naturally based on the image inside */
}

/* 2. Hide all slides using opacity and visibility */
.mySlides {
  width: 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 1.5s ease-in-out, visibility 1.5s ease-in-out;
  
  /* Pull hidden slides out of the flow so they stack on top of the active one */
  position: absolute;
  top: 0;
  left: 0;
}

/* 3. The active slide drops back into normal document flow */
.mySlides.active-slide {
  opacity: 1;
  visibility: visible;
  position: relative; /* This pushes the container open and pushes the dots down */
}

/* 4. Images scale purely based on width, keeping native aspect ratios */
.mySlides img {
  /*width: 100%;*/
  height: auto; /* Truly responsive height */
  display: block;
  box-sizing: border-box;
}

/* Caption text */
.text {
  color: #444; /* was #f2f2f2 -->
  font-size: 1rem; /* was 15px */
  letter-spacing: 4px;
  text-transform: uppercase;
  /*padding: 8px 12px;
  position: absolute;*/
  bottom: 8px;
  width: 100%;
  margin: 0 auto;
  margin-top: 1rem;
  text-align: center;
  /*background-color: rgba(0, 0, 0, 0.5);*/
  z-index: 10;
  display: ; /* optionally hide text overlay with "none" */
}

/* The dots naturally stay below the container */
.dot-container {
  text-align: center;
  padding: 15px;
}

.dot {
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
  display: none;
}

.current-photo {
  background-color: #717171;
}



/**********************************************************************/
/**************************** AUDIO PLAYER ****************************/
/**********************************************************************/

#myAudio {
	display: none;
}

#playButton {
	cursor: pointer;
	border: 2px solid #444;
	border-radius: 50px;
	opacity: .3;
	transition: opacity 2s;
	display: ;
}

#playButton:hover {
	border: 2px solid #555;
	opacity: 1;
}

.page-play-button {
	cursor: pointer;
	border: 2px solid #444;
	border-radius: 50px;
	opacity: .3;
	transition: opacity 2s;
	width: 30px;
	height: auto;
}

#timeDisplay {
	color: #222;
	display: ;
}

.audio-box {

}

/*  Play Button Undulates After Page Loads */

@keyframes singleFade {
  0% { opacity: .3; border-color: #444;}
  50% { opacity: .7; border-color: #555; } 
  100% { opacity: .3; border-color: #444;} 
}

.fade-button {
  /* Takes 2 seconds per cycle, repeats 2 times */
  animation: singleFade 2s ease-in-out 1; 
  /* Waits 4 seconds after page load before starting */
  animation-delay: 1s; 
  /* Ensures the button keeps its default styling during the delay */
  animation-fill-mode: backwards; 
}




/* Hardware acceleration - Optimized Performance CSS */

/* 1. Force the scrolling layout to run on the GPU instead of the CPU */
.studio-pics-box {
  will-change: transform;
  transform: translate3d(0, 0, 0); /* Forces old hardware-acceleration engines to kick in */
}

/* 2. Isolate your images so they don't recalculate the flex layout grid when moving */
img {
  contain: layout paint;
  transform: translate3d(0, 0, 0);
  decoding: async; /* Crucial: Tells the browser to unpack images on a separate background thread */
  content-visibility: auto; /* Only available in slightly newer setups, saves massive rendering memory */
}

/* 3. Isolate the time text container cleanly without shrinking it to 0 pixels */
#timeDisplay {
  contain: content;
  display: block; /* Restores the full width so centering works */
  text-align: center; /* Forces the numbers to stay perfectly centered */
  will-change: transform;
  transform: translate3d(0, 0, 0); /* Keeps the GPU acceleration active */
}



/************************************************************************/
/***************************** MEDIA QUERIES ****************************/
/************************************************************************/

@media (min-width: 480px) {  

}

@media (min-width: 576px) { 

}

@media (min-width: 768px) {

	.subtitle {
		letter-spacing: 8px !important;
	}

	.subtitle2 {
		color: #555;
		max-width: 80%;
		font-size: 95% !important;
		font-style: italic;
		margin-top: 1rem;
	}

	.titleDivider {
		max-width: 80%;
		border: none;
		height: 2px;
		background: #222;
		box-shadow: 0 0 8px rgba(0, 210, 255, 0.6);
		margin: 0 auto;
		margin-top: 1.5rem;
	}

	.welcome-title {
		flex-basis: 100%;
		text-align: center;
		margin-top: 3rem;
		/*margin-bottom: 2rem;*/
		color: #555;
		font-size: 3rem;
		letter-spacing: 2px;
	}

	.welcome-description {
		flex-basis: 100%;
		text-align: center;
		margin-top: 1rem;
		margin-bottom: 2rem;
		color: #444;
		font-size: 1rem;
		padding: 0px 6rem;
		/*text-transform: uppercase;*/
		/*letter-spacing: 1px;*/
	}

	.introduction-box img {
		max-width: 304px;
		float: right;
		height: auto;
		margin: 1rem 0rem .5rem 1rem;
		margin-top: 4px !important;
		margin-bottom: 0px !important;
	}

	.introduction-box-title {
		margin-top: 1rem;
		/*margin-bottom: 2.5rem;*/
		color: #555;
		text-align: center;
		font-size: 3rem;
		color: #333;
		letter-spacing: 2px;
	}

	.introduction-box-subtitle {
		flex-basis: 100%;
		text-align: center;
		margin-bottom: 3rem;
		color: #222;
		font-size: 1rem;
		text-transform: uppercase;
		letter-spacing: 6px;
	}

	.studio-pics-box {
		justify-content: space-between;
		flex-direction: row;
		align-items: center;
	}

	.gallery-title {
		flex-basis: 100%;
		text-align: center;
		margin-top: 1rem;
		/*margin-bottom: 2rem;*/
		color: #555;
		font-size: 3rem;
		/*letter-spacing: 2px;*/
	}

	.gallery-subtitle {
		flex-basis: 100%;
		text-align: center;
		margin-top: 1rem;
		margin-bottom: 2rem;  /* 2rem */
		color: #444;
		font-size: 1rem;
		text-transform: uppercase;
		letter-spacing: 4px;
	}

	.thank-you-box {
		width: 100%;
		max-width: 900px;
		height: auto;
		background-color: #12121290;
		border: 1px solid #222;
		border-radius: 20px;
		margin: 0 auto;
		margin-top: 8rem;
		margin-bottom: 8rem;
		/*padding: 2rem 2rem 2rem 2rem;*/
		box-sizing: border-box;
	}

	.gallery-content-title {
		flex-basis: 100%;
		text-align: center;
		margin-bottom: 1rem;
		color: #333;
		font-size: 2rem;
		text-transform:uppercase;
		letter-spacing: 2rem;
		margin-left: 2rem;
		font-weight: 900;
		font-family: orbitron;
	}

	.thank-you-title {
		flex-basis: 100%;
		text-align: center;
		margin-top: 3rem;
		color: #555;
		font-size: 2.25rem;
	}

	.thank-you-subtitle {
		flex-basis: 100%;
		text-align: center;
		margin-top: 1rem;
		margin-bottom: 2rem;
		color: #333;
		font-size: 1rem;
		text-transform: uppercase;
		letter-spacing: 4px;
	}

	.end-banner {
		/*border: 1px solid #444;*/
		border-radius: 20px;
		margin: 0 auto;
		margin-top: 4rem !important;
		margin-bottom: 4rem;
		/*filter: grayscale();*/
	}

	.end-quote {
		font-size: 2rem !important;
	}

	.mobile-break {
		display: none;
	}

@media (min-width: 992px) { 

}

@media (min-width: 1200px) {  

}

