:root {
	--primary_background_color: rgb(238,239,241);
	--primary_background_transparent: rgb(238,239,241,.9);
	--secondary_background_color: #26262E;
	--primary_font_color: #26262E;
	--secondary_font_color: #F9FAFA;
	--shadow_color: #848499;
	--primary_font: 'Literata', Georgia, serif;
	--secondary_font: 'IBM Plex Sans', Helvetica, sans-serif;
	--max_content_width: 100%;
	--default_font_size: 12px;
	--portfolio_label_font_size: 1.17rem;
	--section_header_font_size: 2rem;
	--subheading_font_size: 1rem;
	--footer_font_size: 1.5rem;
	--about_links_font_size: 1.5rem;
	--about_description_font_size: 1.7rem;
	--nav_font_size_large: 2.5rem;
	--nav_font_size_medium: 1.75rem;
	--nav_font_size_small: 1rem;
	--nav_word_spacing: 3rem;
	--semibold_weight: 600;
	--regular_weight: 400;
	--subheading_spacing: .4rem;
	--portfolio-item-background-color: #E3E5E8;
	--portfolio-item-stroke-color: #6F7786;
	--portfolio-item-line-color: #A6ABB5;
	--portfolio-item-background-color-hovered: #EBEBFF;
	--portfolio-item-hovered-color: #0000EE;
	--portfolio-item-shadow-color-hovered: #8A8AFF;
}

html {
	background-color: var(--primary_background_color);
	color: var(--primary_font_color);
	font-family: var(--primary_font);
	font-size: var(--default_font_size);
	padding: 0;
}

body {
	margin: 0 auto;
}
  
#nav {
	@media only screen and (min-width: 48em) {
		position: sticky;
	}
	top: 0;
	background-color: var(--primary_background_transparent);
	backdrop-filter: blur(8px);
	margin: 0 auto;
	width: 100%;
	margin-top: 30px;
	margin-bottom: 40px;
	z-index: 1;
}

#nav::before, #nav::after {
		content: '';
		display: block;
		height: 10px;
		position: sticky;
		-webkit-position: sticky;
}
  
#nav_container {
	display: block;
	@media only screen and (min-width: 48em) {
		display: flex;
	}
	padding: 6px 20px 10px 20px;
	@media only screen and (min-width: 48em) {
			padding: 6px 50px 10px 50px;
	}
	max-width: var(--max_content_width);
	font-size: var(--nav_font_size_medium);
	font-weight: var(--regular_weight);
	
	@media only screen and (min-width: 48em) {
		font-size: var(--nav_font_size_large);
		font-weight: var(--semibold_weight);
	}
	margin: 0 auto;
	position: sticky;
	z-index: 3;
}

#page_title {
	width: 100%;
	text-align: center;
	margin-bottom: .5rem;
	@media only screen and (min-width: 48em) {
		text-align: left;
		float: left;
		width: 50%;
		margin-bottom: 0;
	}
}

#page_title h1 {
	margin: 0 auto;
	font-size: var(--nav_font_size_large);
	font-weight: var(--semibold_weight);
}

#page_nav {
	width: 100%;
	text-align: center;
	@media only screen and (min-width: 48em) {
		text-align: right;
		float: right;
		width: 50%;
	}
	word-spacing: var(--nav_word_spacing);
}

#page_title a {
	color: var(--primary_font_color);
	text-decoration: none;
}

#page_nav a {
	color: var(--primary_font_color);
	@media only screen and (min-width: 48em) {
		text-decoration: none;
	}
}

#nav a:hover {
	text-decoration: underline;
}

#work #portfolio_section_header {
	margin: 0 auto;
	padding: 0px 20px 20px 20px;
	@media only screen and (min-width: 48em) {
		margin-top: 40px;
		padding: 0px 50px 20px 50px;
	}
	max-width: var(--max_content_width);
	font-size: var(--section_header_font_size);
}

#play #portfolio_section_header {
	margin: 0 auto;
	padding: 0px 20px 20px 20px;
	margin-top: 20px;
	@media only screen and (min-width: 48em) {
		padding: 0px 50px 20px 50px;
		margin-top: 0px;
	}
	max-width: var(--max_content_width);
	font-size: var(--section_header_font_size);
}

#portfolio_section_header p {
	margin: 0px 0px -5px 0px;
}

#portfolio_section_header hr {
	border: 0;
	height: 0;
	border-top: 2px solid var(--shadow_color);
	border-radius: 1px;
}

#portfolio_section_content {
	display: grid;
	  @media only screen and (min-width: 40em) {
		  grid-template-columns: 1fr;
	  }
	  @media only screen and (min-width: 48em) {
		  grid-template-columns: 1fr 1fr;
	  }
	  @media only screen and (min-width: 64em) {
		  grid-template-columns: 1fr 1fr 1fr;
	  }
	  @media only screen and (min-width: 100em) {
		  grid-template-columns: 1fr 1fr 1fr 1fr;
	  }
	  grid-gap: 1.5em 1.5em;
	  grid-auto-flow: row dense;
	  margin: 0 auto;
	  padding: 0px 20px 20px 20px;
	  @media only screen and (min-width: 48em) {
			padding: 0px 50px 40px 50px;
		}
	  max-width: var(--max_content_width);
}

.portfolio_item_link {
	display: grid;
}

#portfolio_section_content a {
	color: var(--primary_font_color);
	text-decoration: none;
	font-weight: var(--regular_weight);
}

#portfolio_item {
	padding: 4px 4px 4px 4px;
	background-color: var(--portfolio-item-background-color);
	border: 1px solid var(--portfolio-item-stroke-color);
	font-family: var(--secondary_font);
	color: var(--primary_font_color);
}

#portfolio_item:hover {
	border: 1px solid var(--portfolio-item-hovered-color);
	background-color: var(--portfolio-item-background-color-hovered);
	color: var(--portfolio-item-hovered-color);
	filter: drop-shadow(3px 3px 0px var(--portfolio-item-shadow-color-hovered));
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	-ms-transition: all .2s ease;
	transition: all .2s ease;
}

#project_label_container {
	background-image: url("../images/project_label_background.svg");
	width: 100%;
	margin-bottom: 4px;
	text-align: center;
}

#portfolio_item:hover #project_label_container {
	background-image: url("../images/project_label_background_hovered.svg");
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	-ms-transition: all .2s ease;
	transition: all .2s ease;
}

.icon {
	background-image: url("../images/project_folder_icon.svg");
	width: 16px;
	height: 16px;
	margin-right: 2px;
	display: inline-block;
	vertical-align: bottom;
}

#portfolio_item:hover .icon {
	background-image: url("../images/project_folder_icon_hovered.svg");
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	-ms-transition: all .2s ease;
	transition: all .2s ease;
}

#project_label {
	margin-left: auto;
	margin-right: auto;
	padding-left: 6px;
	padding-right: 6px;
	font-size: var(--portfolio_label_font_size);
	line-height: 16px;
	width: fit-content;
	background-color: var(--portfolio-item-background-color);
}

#portfolio_item:hover #project_label {
	background-color: var(--portfolio-item-background-color-hovered);
	color: var(--portfolio-item-hovered-color);
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	-ms-transition: all .2s ease;
	transition: all .2s ease;
}

#portfolio_item img {
	max-width: 100%;
	width: 100%;
	height: 100%; 
	object-fit: contain;
	background-size: cover;
	display: block;
}

#project_img {
	border: 1px solid var(--portfolio-item-line-color);
	margin: 0 auto;
	display: block;
}

#portfolio_item:hover #project_img {
	border: 1px solid var(--portfolio-item-shadow-color-hovered);
	-webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	-ms-transition: all .2s ease;
	transition: all .2s ease;
}
  
#about {
	margin-top: 0px;
	background-color: var(--secondary_background_color);
	background-image: url("../images/tyler_bg_transparent.jpg");
	-webkit-background-size: cover;
	  -moz-background-size: cover;
	  -o-background-size: cover;
	  background-size: cover;
	  background-position: center;
	color: var(--secondary_font_color);
}

#about h1 {
	color: var(--secondary_font_color);
	font-weight: var(--regular_weight);
	margin-top: -10px;
	margin-block-end: 20px !important;
}

#about p {
	margin-block-start: 1em;
}

#about a {
	color: var(--secondary_font_color);
	font-weight: var(--regular_weight);
}

#about_content {
	@media only screen and (min-width: 40em) {
		display: block;
	}
	@media only screen and (min-width: 48em) {
		display: block;
	}
	@media only screen and (min-width: 64em) {
		display: flex;
	}
	padding: 50px 20px 20px 20px;
	@media only screen and (min-width: 48em) {
			padding: 50px 50px 20px 50px;
	}
}

#about_text {
	max-width: 700px;
	font-size: var(--about_description_font_size);
}

#about_description_section {
	margin-bottom: 24px;
}

#about_links_section {
	margin-bottom: 24px;
	font-size: var(--about_links_font_size);
}

#about_links_section.group_end {
	margin-bottom: 4px;
}

#about_links_section_final {
	margin-bottom: 0;
	font-size: var(--about_links_font_size);
}

.about_subheading {
	font-family: var(--secondary_font);
	font-size: var(--subheading_font_size);
	letter-spacing: var(--subheading_spacing);
	font-weight: var(--regular_weight);
	margin-bottom: 5px;
}

.arrow_line {
	margin: 0 auto;
	font-family: var(--primary_font);
	margin-block-start: 4px !important;
}

.arrow_line::first-letter {
	font-family: var(--secondary_font);
	font-size: var(--about_links_font_size);
}

.about_dividing_dash {
	margin: 0 !important;
}

#about_footer p {
	text-align: left;
	margin: 0 auto;
	padding: 20px 0px 20px 20px;
	@media only screen and (min-width: 48em) {
		padding: 20px 0px 20px 50px;
	}
	font-size: var(--footer_font_size);
}