@charset "UTF-8";

@font-face {
	font-family: BodyFont;
	src: url("font/DMSans-Medium.ttf");
}

@font-face {
	font-family: HeadingFont;
	src: url("font/WalterTurncoat-Regular.ttf");
}


/* CSS Document */

* {
  box-sizing: border-box;
}

*, html {
	scroll-behaviour: smooth !important;
}

body {
	padding: 0;
	margin: 0;
	border:thin ridge #555;
	overflow-x: hidden;
	overflow-y: auto;
	font-family: "BodyFont", Arial, sans-serif;
}

ul {
	padding: 20px;
}

li {
	flex-wrap: nowrap;
	list-style-type: none;
	line-height: 1.5em;
}

h1, h2 {
	margin: 0;
	line-height: 1em;
}

h3 {
	font-family: "HeadingFont", Arial, sans-serif;
	font-size: clamp(2em, 5vw, 4em);
	text-align: center;
	flex-grow: 1;
	-webkit-transform: translate(-1vw, 0);
	transform: translate(-1vw, 0);
}
#hero {
	position: absolute;
	bottom: 0;
	right:0;
	-webkit-transform: scale(-1,1);
	transform: scale(-1,1);
}

div {
	padding: 0px;
	margin: 0px;
	min-width: 0;
}

a {
	text-decoration: none;
	color: black;
}

a:hover {
	text-shadow:
     1px 1px 0 #187b86;	
}

.TOC-title, .TOC {
	font-family: "HeadingFont", Arial, sans-serif;	
	font-size: clamp(1.5rem, 4vw, 5rem);

/* -webkit-transform: rotate(-3deg);
transform: rotate(-3deg); */

}

p, .text {
	font-family: "BodyFont", Arial, sans-serif;
	margin: 0.2em;
	font-weight: 300;
}

p {
	font-size: clamp(12px, 3vw, 24px);
	line-height: 1.5em;
}

.text {
	font-size: clamp(12px, 3vw, 18px);
	flex-wrap:wrap;
	flex: 1;
}

.flex-container {
	display: flex;
	row-gap: 0.8em;
	flex: 1;
	flex-grow: 1;
	min-height: 0;
}

.page {
	width: 100vw;
	height: 100vh;
	position: fixed;
	top: 0px;
	border:thin solid black;
	background-image: url("img/RSCO_Vintage_Flyleaf.jpg");
	background-size: cover;
	transition: 0.4s;
	overflow: none;
	transition: transform 0.3s ease-in-out;
}

.backdrop {
	width: 100vw;
	height: 100vh;
	position: fixed;
	background-color: rgba(203,206,196,0.5);
	-webkit-backdrop-filter: blur(2px);
	backdrop-filter: blur(2px);
	object-fit: cover;
	overflow: auto;
}

.content, #home-menu {
	width: 100%;
	align-items: flex-start;
	margin: 3em;
}

.vertical {
	flex-direction: column;
}

.center-items {
	align-items: center;
}

/* Also ensure the image scales within that container */
.showcase-box {
	flex-wrap: wrap;
	max-width: 90vw;
	object-fit: cover;
	flex-shrink: 1;
	flex-grow: 1;
  	align-items: center;
	justify-content: center;
}

.showcase-box img, .construction img {
	flex: 1;
	height: auto; /* Maintains aspect ratio */
	justify-content: center;
	align-items: center;
	width: clamp(150px, 90vw, 450px);
}

.spacer {
	height: 1em;
}

.showcase-container, .contact-form {
	flex-wrap: wrap;
	grid-gap: 30px 20px;
	align-items: flex-start;
	max-width: 85vw;
	margin-bottom:50px;
}

.horizontal {
	flex-direction: row;
}

.bottom-left {
	position: absolute;
	bottom: 0;
	left: 0;
}

.toptext {
	display: flex;
	flex-wrap: wrap;
	max-width: 600px;
	width: clamp(300px, 33vw, 600px);
}

p.toptext {
	max-width: 600px;
	border: 3px solid blue;

}

#home {
	z-index: 60;
}

#learning {
	-webkit-transform:rotate(1deg);
	transform:rotate(1deg);
	z-index: 50;
}

#writing {
	-webkit-transform:rotate(-1.3deg);
	transform:rotate(-1.3deg);
	z-index: 40;
}

#animation {
	-webkit-transform:rotate(1deg);
	transform:rotate(1deg);
	z-index: 30;
}

#comedy {
	-webkit-transform:rotate(-2deg);
	transform:rotate(-2deg);
	z-index: 20;
}

#contact {
	z-index: 10;
}

/* Contact button */
.home-button, .contact-button {
	margin: 20px;
	background-color: #bf4723;
	border: none;
 	color: white;
	border-radius: 40px;
	padding: 32px;
	text-align: center;
	text-decoration: none;
	display: inline-block;
	cursor: pointer;
}

.side-button {
	position: absolute;
	bottom: 0;
}

.TOC, .TOC-title {
	white-space:normal;
	padding: 0px;
}

.TOC-title {
	font-weight: 800;
	line-height: 1.5em;
}

.TOC {
	font-weight: 600;
	margin-left: 20px;
	line-height: 1.5em;
}

.TOC a:hover {
	color: #187b86;
	text-shadow:
     2px 2px 0 #000;
}

.emailMe a:hover {
	color: #bf4723;
	text-shadow:
     2px 2px 0 #000;
}

.home-button {
	left: 0;
}

.contact-button {
	right: 0;
}

/* Menu bar */
#menu-button {
	position: fixed;
	z-index: 100;
	cursor: pointer;
}

#bar1, #bar2, #bar3 {
	width: 35px;
	height: 5px;
	background-color: #333;
	margin: 6px 0;
	transition: 0.4s;
}

#side-menu {
	position: fixed;
	z-index: 99;
	left: 100%;
	top: 0;
	background-color: #fff;
	height: 100vh;
	width: auto;
	min-width: 33vw;
	padding: 87px 20px 20px 20px;
	transition: 0.4s;
	font-family: HeadingFont;
	font-size: clamp(0.5rem, 5vw, 2rem);
}

@media (orientation:landscape) {
	
	.side-button {
		min-width: 40%
	}
	
	.portrait-only {
		display: none;
	}
	
	#hero, .construction {
		width: auto;
		height:  clamp(100px, 66vh, 1000px);
	}
		
	.content, .toptext {
		padding: 20px, 20px;
	}

	#menu-button {
		top: 5vh;
		right: 5vh;
	}

	h3 {	
		margin: 1em 0.2em 0.2em 0.2em;
	}
}

@media (orientation:portrait) {
	#side-menu {
		min-width: 100vw;
	}
	
	.side-button {
		min-width: 90%
	}
		.landscape-only {
		display: none;
	}
	
	h1, #side-menu {
		width: 90vw;
		font-size: clamp(2em, 4vw, 5em);
	}
	
	h3 {	
		margin: 2em 0.2em 0.2em 0.2em;
	}

	
	#hero, .construction {
		bottom: 5vh;
		width:  clamp(10vw, 80vw, 100vw);
	}

	.content {
		padding: 2em 3em;
		margin-top: 4em;
	}

	#menu-button {
		top: 5vw;
		right: 5vw;
	}
	
	.construction {
		align-content: flex-start;
		flex-direction: column;
		justify-content: center;
	}

}

.change #bar1 {
  -webkit-transform: translate(0, 11px) rotate(-45deg);
  transform: translate(0, 11px) rotate(-45deg);
}

.change #bar2 {opacity: 0;}

.change #bar3 {
  -webkit-transform: scale(0, -11px) rotate(45deg);
  transform: translate(0, -11px) rotate(45deg);
}

.change #side-menu {
  -webkit-transform: translate(-100%,0);
  transform: translate(-100%,0);
}

.oneline, h3 {flex-wrap: nowrap;}

.flex-item  {
	object-fit:contain;
	flex-shrink: 1;
	max-width: 90vw;
	min-width: 0; /* Allows the item to shrink below content size */
	flex-wrap: auto;
}

.slideLeft {
	-webkit-transform: translate(-110%,0);
	transform: translate(-110%,0);	
}

.gallery-item {
	display: flex;
}

.gallery-item img {
	transition: transform 0.3s ease-in-out;
}

.gallery-item img:hover {
	-webkit-transform: scale(1.05);
	transform: scale(1.05);
}

.rollover {
	display: none;
}

form {
	margin: 0 auto;
	width: clamp(33vw, 600px, 90vw);
}

.form-group, input, textarea {
	width: 100%;
	margin-bottom: 0.5em;
}

.construction {
	display: flex;
	flex-wrap: wrap;
	justify-content:flex-start;
	align-items: center;
	gap: 1em;
}

.text {
	flex-wrap:wrap;
}

/* Color pallette

#cbcec4 pearl grey rgba(203,206,196,0.5)
#e2a449 brass mesh
#76908e Juniper
#187b86 caribe
#bf4723 devil's butterfly
#333c38 rookwood shutter green

*/