/* CSS Reset */
/* CSS Reset */
/* CSS Reset */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* GENERAL BODY RULES INCLUDING VENDOR SPECIFIC PREFIXES */
/* GENERAL BODY RULES INCLUDING VENDOR SPECIFIC PREFIXES */
/* GENERAL BODY RULES INCLUDING VENDOR SPECIFIC PREFIXES */

body {
    background: -webkit-radial-gradient(#fbfbfb, #eaeaea);
    background: -moz-radial-gradient(#fbfbfb, #eaeaea);
    background: -o-radial-gradient(#fbfbfb, #eaeaea);
    background: radial-gradient(#fbfbfb, #eaeaea);
    background-attachment: fixed;
}

body {
    display: flex;
    justify-content: center;
    margin: 0;
    
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.05em;
}

.centered{
	text-align: center;
}

/* CONTENT CONTAINER FOUND ON EVERY PAGE */
/* CONTENT CONTAINER FOUND ON EVERY PAGE */
/* CONTENT CONTAINER FOUND ON EVERY PAGE */

.content-container {
    position: relative;
    padding: 2rem;
    margin: 6rem 0;
	margin-left: 2rem;
	margin-right: 2rem;
    width: 100%;
    max-width: 100%;
    border: 0.0625rem solid #ccc;
    background-color: #fbfbfb;
    border-radius: 0.3125rem;
    box-sizing: border-box;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.1);
    color: #252525;
    font-family: 'Roboto', Arial, sans-serif;
	
}

.h1special {
    position: relative;
    margin-top: 0;
    padding-top: 1rem 0;
    font-family: 'Roboto', Arial, sans-serif;
    color: #696969;
}

.p1special {
    margin-top: 1rem;
    margin-bottom: 1rem;
    position: relative;
    font-family: 'Roboto', Arial, sans-serif;
    line-height: 1.5;
    color: #000000;
}

.hidden {
    display: none;
}

/* NAVIGATION */
/* NAVIGATION */
/* NAVIGATION */

nav {
	position: fixed;
    top: 0;
    right: 0;
    background-color: #e4e4e4;
    width: 100%;
	max-width: 100%;
    height: 5.5rem; 
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 0 1rem;
    z-index: 1000;
    font-family: 'Inter', sans-serif;
    transition: height 0.3s ease, background-color 0.3s ease;
}

nav ul {
    list-style: none;
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0;
}

nav ul li {
    margin-right: 2rem;
}

nav ul li a {
    color: #888888;
    text-decoration: none;
    font-size: .7rem;
    font-weight: bold;
    transition: color 0.3s;
}

nav ul li a:hover {
    color: #3A3A3A;
}

nav ul li a.active {
    text-decoration: underline;
    color: #696969;
    font-size: .8rem;
}

.nav-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.5rem;
    cursor: pointer;
}

/* CSS FOR THE MODALS ON ANY PAGE */
/* CSS FOR THE MODALS ON ANY PAGE */
/* CSS FOR THE MODALS ON ANY PAGE */

.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.75);
  z-index: 999;
}

.modal {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
  z-index: 1000;
  display: flex;
  flex-direction: column; 
  align-items: center;
  padding: 1.25rem;
  border-radius: 0.5rem;
  height: 95%; 
  width: 80%; 
  max-height: 95%; 
  max-width: 100%; 
  overflow: hidden; 
}

.modal-content-central {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: 'Roboto', sans-serif;
  margin-bottom: .5rem; 
  margin-top: .5rem;
}

.modal-content-container {
  display: flex;
  flex-direction: row;
  font-family: 'Roboto', sans-serif;
  overflow: hidden; 
}

.modal-text-container-left {
  flex: 1;
  text-align: left; 
  overflow: hidden;
  margin-right: 2%;  
}

.modal-text-container-right {
  flex: 1;
  text-align: left; 
  overflow: hidden;
  margin-left: 2%;  
}

.portfolio-tag {
  margin-bottom: 0.625rem;
  color: #666;
  font-weight: bold;
}
.portfolio-descripter {
  margin-bottom: 1rem;
    margin-left: 2rem;
  color: #666;
}

.portfolio-space{
	margin-bottom: 1rem;
}

.modal-img-container {
    flex: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    width: auto; 
    height: auto;
    overflow: hidden;
}

.modal-sw {
    max-width: 10%;
    max-height: 5%;
    margin: 0.625rem;
    object-fit: contain;
    display: block;
    background-color: transparent;
}

.modal-img-portfolio {
    max-width: 80%;
    max-height: 80%;
    object-fit: contain;
    display: block;
    border-radius: 0.625rem;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    transition: transform 0.3s ease, max-height 0.3s ease;
    background-color: transparent;
}

.modal-img-portfolio:hover {
    transform: scale(1.001);
    max-height: none;
    border-radius: 0;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.0);
}

.modal-close-button {
  position: absolute;
  top: 0.3125rem;
  right: 0.3125rem;
  background-color: transparent;
  color: black;
  border: none;
  font-size: 1.25rem;
  cursor: pointer;
}

/* Home Page CSS */
/* Home Page CSS */
/* Home Page CSS */

.content-container-home {
    display: grid;
    grid-template-columns: 1fr 1fr;
    overflow: hidden;
	width: 100%;
	background-color: transparent;	
}

/* Things on the Left Side of the Home Page */
/* Things on the Left Side of the Home Page */
/* Things on the Left Side of the Home Page */

.left-div {
    grid-column: 1 / 2;
    display: relative;
    flex-direction: column;
    color: #000000;
    font-family: 'Roboto', Arial, sans-serif;
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    overflow: hidden;
    max-height: 45rem;
	background-color: transparent;	
}

.top-container-home {
    display: grid; 
    grid-template-columns: repeat(3, 1fr); 
    width: 100%;
    height: 70%;
    margin: 0;
    padding: 0;
    overflow: hidden;
	background-color: transparent;	
}

.bottom-container-home {
    display: grid; 
    grid-template-columns: 65% auto; 
	width: 100%;
    max-width: 100%;
	height: 30%;
	max-height: 30%;
    margin: 0;
    padding: 0;
    overflow: hidden;
	background-color: transparent;	
}

.top-left{
    height: 100%;
    width: 100%;
    max-height: 100%;
    display: flex;
    margin: 0;
    flex-direction: column;
    overflow: hidden;
	background-color: transparent;
}

.top-middle {
    height: 100%;
    width: 100%;
    max-height: 100%;
    display: flex;
    margin: 0;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
	background-color: transparent;	
}

.top-right {
    height: 100%;
    width: 100%;
    max-height: 100%;
    display: flex;
    margin: 0;
    flex-direction: column;
    align-items: center;
    overflow: hidden;
	background-color: transparent;	
}

.bottom-left {
	width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    display: flex;
    overflow: hidden;
	background-color: transparent;
}

.bottom-right {
	bottom: 0;
	right: 0;
	width: 100%;
    max-width: 100%;
    height: 100%;
    max-height: 100%;
    display: flex;
    overflow: hidden;
	margin-left: 2.5%;
	margin-top: .5%;	
	background-color: transparent;
}

.jelly-fish{
    width: 98%;
    height: 49.75%;
    padding: 0;
    margin: 0;
    margin-bottom: .5%;	
    background-position: left top;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.code{
    width: 98%;
    height: 49.74%;
    padding: 0;
    margin: 0;
    background-position: left top;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.quiz{
    width: 100%;
    height: 52%;
    padding: 0;
    margin: 0;
    margin-bottom: 2%;		
    background-position: left top;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.yellow {
    width: 100%;
    height: 48%;
    padding: 0;
    margin: 0;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.math{
    width: 100%;
    height: 42.5%;
    padding: 0;
    margin: 0;
	margin-bottom: 2%;
	margin-left: 6.5%;			
    background-position: left top;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.art{
    width: 100%;
    height: 57%;
    padding: 0;
    margin: 0;
	margin-left: 3.5%;		
    background-position: left top;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.cereal {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    background-position: left top;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.pink {
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    background-position: left top;
    transition: transform 0.3s ease, background-color 0.3s ease;
}

.jelly-fish:hover, .yellow:hover {
    background-color: rgba(0, 0, 0, 0.1);
    transform: scale(1.05);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.0);
    filter: brightness(1.5);
}

.code:hover, .quiz:hover, .math:hover, .art:hover, .cereal:hover, .pink:hover {
    background-color: rgba(0, 0, 0, 0.1);
    transform: scale(1.05);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.0);
    filter: saturate(200%);
}

/* Things on the Right Side of the Home Page */

.right-div {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    padding: 0;
    color: #ffffff;
    font-family: 'Roboto', Arial, sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    max-height: 45rem;
    overflow: hidden;
	background-color: transparent;	
}

/* Logo Container */
.logo-container-home {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
	background-color: transparent;	
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.shen-logo {
    width: 85%;
    margin-top: 25.5%;
    margin-right: 0.625rem;
    margin-left: 0.313rem;
    animation: fadeIn 1.5s ease-in-out;
}

/* Socials */
.right-side-socials {
    width: 100%;
    height: auto;
    font-family: 'Roboto', Arial, sans-serif;
    background-color: transparent;
    display: flex;
    gap: 15%; 
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.right-side-socials img {
    transition: transform 0.3s ease, filter 0.3s ease;
}

.right-side-socials img:hover {
    transform: scale(1.1); 
    filter: brightness(500%); 
}

.twitter {
    height: 3.125rem; /* Adjust the height as needed */
    width: auto;
}

.instagram {
    height: 2.5rem; /* Adjust the height as needed */
    width: auto;
}

.pinterest {
    height: 2.51rem; /* Adjust the height as needed */
    width: auto;
}

.youtube {
    height: 3.25rem; /* Adjust the height as needed */
    width: auto;
	margin-top: 3%;
	margin-bottom: 0rem;	
}

.right-side {
    width: 100%;
	max-width: 100%;
    color: #000000;
    font-family: 'Roboto', Arial, sans-serif;
    display: flex;
    height: 18.5%;
	background-color: transparent;
	margin-bottom: 10%;
}

.right-side img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: auto;
    display: flex;
    align-items: center;
    position: relative;
	margin-bottom: 10%;
}

/* Highlight Section */

.highlight {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    padding: 0;
    font-family: 'Roboto', Arial, sans-serif;
    text-align: center;
    color: #d8d8d8;
    border-radius: 0.625rem;
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    margin-top: 1%;
    background-color: #696969;
}

.designer {
    color: #61c7c8;
    font-weight: bold;
}

.thankyoutop {
    font-family: 'Roboto', Arial, sans-serif;
    text-align: center;
    font-weight: bold;
    font-size: 1.875rem;
    background-color: #3A3A3A;
    border-top-left-radius: 0.625rem;
    border-top-right-radius: 0.625rem;
}

.specialpeople {
    display: grid;
    grid-template-columns: 50% 50%; /* Adjust the percentages as needed */
    align-items: center;
    margin: 1rem 0;
}

.thankyou {
    font-family: 'Roboto', Arial, sans-serif;
    text-align: left;
    font-weight: bold;
    font-size: 1.25rem;
    color: #61c7c8;
    margin-left: 1rem;
    text-align: center;	
}

.thankyouexp {
    font-family: 'Roboto', Arial, sans-serif;
    text-align: right;
    margin-right: 1rem;
    text-align: center;	
}

/* PORTFOLIO PAGE CSS */
/* PORTFOLIO PAGE CSS */
/* PORTFOLIO PAGE CSS */

.portp {
    margin-top: 2rem;
    margin-bottom: 5rem;
	font-size: 1.5rem;
    font-family: 'Roboto', Arial, sans-serif;
	color: #252525;
}

.portfolio-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); 
    gap: 1rem;
    background-color: transparent;
}

.portfolio-grid-one-wide {
    display: grid;
    grid-template-columns: repeat(1, 1fr); 
    gap: 1rem;
    background-color: transparent;
}

.portfolio-grid-two-wide {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 1rem;
    background-color: transparent;
}

.portfolio-grid-two-wideA {
    display: grid;
    grid-template-columns: repeat(2, 1fr); 
    gap: 1rem;
    background-color: transparent;
}

.portfolio-grid-four-wide {
    display: grid;
    grid-template-columns: repeat(4, 1fr); 
    gap: 1rem;
    background-color: transparent;
}

/* MAIN PORTFOLIO PAGE CSS */

.portfolio-category {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    background-color: transparent;
    padding: 1rem;
	padding-bottom: 1.5rem;
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    width: 100%; 
    height: 31.25rem; 
}

.portfolio-category::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    box-shadow: 0 1rem 4.6875rem 1.25rem rgba(0, 0, 0, 0.2), 0 1rem 4.6875rem rgba(0, 0, 0, 0.4), 0 1rem 4.6875rem rgba(0, 0, 0, 0.6);
    transition: box-shadow 0.3s ease;
    border-radius: inherit;
    opacity: 0;
}

.portfolio-category:hover::before {
    opacity: 1;
}

.portfolio-category:hover {
    background-color: #ffffff;
    border-radius: 0;
    transform: scale(1.05);
    z-index: 10;
}

.portfolio-category .description {
    font-family: 'Roboto', Arial, sans-serif; 
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    text-align: center;
    position: absolute;
    bottom: -1.5rem; 
    left: 50%;
    transform: translateX(-50%);
    margin: 0;
    white-space: nowrap; 
}

.portfolio-category a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
}

.portfolio-category a:hover {
    text-decoration: none;
}

.portfolio-category img {
    width: 100%;
    height: 28.125em; 
    object-fit: cover;
	image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges; 
}

.portfolio-centered {
    position: relative;
}

.portfolio-category-center{
    display: flex;
    flex-direction: column;
	margin: auto;
    margin-top: 1rem; 
	margin-right: 0rem;
    padding: 1rem;
    background-color: transparent;
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    width: 21.875rem; 
    height: 31.25rem;
}

.portfolio-category-centerA{
    display: flex;
    flex-direction: column;
	margin: auto;
    margin-top: 1rem; 
	margin-left: 0rem;
    padding: 1rem;
    background-color: transparent;
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    width: 21.875rem; 
    height: 31.25rem; 
}

.portfolio-category-center img {
    width: 100%;
    height: 28.125rem; 
    object-fit: cover;
	image-rendering: -webkit-optimize-contrast; 
    image-rendering: crisp-edges; 
}

.portfolio-category-center::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    box-shadow: 0 1rem 4.6875rem 1.25rem rgba(0, 0, 0, 0.2), 0 1rem 4.6875rem rgba(0, 0, 0, 0.4), 0 1rem 4.6875rem rgba(0, 0, 0, 0.6);
    transition: box-shadow 0.3s ease;
    border-radius: inherit;
    opacity: 0;
}

.portfolio-category-center:hover::before {
    opacity: 1;
}

.portfolio-category-center:hover {
    background-color: #ffffff;
    border-radius: 0;
    transform: scale(1.05);
    z-index: 10;
}

.portfolio-category-center .description {
    font-family: 'Roboto', Arial, sans-serif; 
    font-size: 1rem;
	font-weight: bold;
    color: #333;
    text-align: center;
    margin-top: .3rem;
}

.portfolio-category-center a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.portfolio-category-center a:hover {
    text-decoration: none;
}

.portfolio-category-centerA {
    display: flex;
    flex-direction: column;
    margin: auto;
    margin-top: 1rem; 
    margin-right: 33.33%;
    margin-left: 0rem;
    padding: 1rem;
    background-color: transparent;
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    width: 21.875rem; 
    height: 31.25rem; 
}

.portfolio-category-centerA img {
    width: 100%;
    height: 28.125rem; 
    object-fit: cover;
    image-rendering: -webkit-optimize-contrast; 
    image-rendering: crisp-edges; 
}

.portfolio-category-centerA::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    box-shadow: 0 1rem 4.6875rem 1.25rem rgba(0, 0, 0, 0.2), 0 1rem 4.6875rem rgba(0, 0, 0, 0.4), 0 1rem 4.6875rem rgba(0, 0, 0, 0.6);
    transition: box-shadow 0.3s ease;
    border-radius: inherit;
    opacity: 0;
}

.portfolio-category-centerA:hover::before {
    opacity: 1;
}

.portfolio-category-centerA:hover {
    background-color: #ffffff;
    border-radius: 0;
    transform: scale(1.05);
    z-index: 10;
}

.portfolio-category-centerA .description {
    font-family: 'Roboto', Arial, sans-serif; 
    font-size: 1rem;
    font-weight: bold;
    color: #333;
    text-align: center;
    margin-top: .3rem;
}

.portfolio-category-centerA a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.portfolio-category-centerA a:hover {
    text-decoration: none;
}

/* INDIVIDUAL PORTFOLIO PAGE CSS */

.portfolio-image {
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    background-color: transparent;
    padding: 1rem;
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
}

.portfolio-image::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    box-shadow: 0 1rem 4.6875rem 1.25rem rgba(0, 0, 0, 0.2), 0 1rem 4.6875rem rgba(0, 0, 0, 0.4), 0 1rem 4.6875rem rgba(0, 0, 0, 0.6);
    transition: box-shadow 0.3s ease;
    border-radius: inherit;
    opacity: 0;
}

.portfolio-image:hover::before {
    opacity: 1;
}

.portfolio-image:hover {
    background-color: #ffffff;
    border-radius: 0;
    transform: scale(1.05);
    z-index: 10;
}

.portfolio-image .description {
    font-family: 'Roboto', Arial, sans-serif; 
    font-size: 1rem;
	font-weight: bold;
    color: #333;
    text-align: center;
    margin-top: .6rem;
}

.portfolio-image a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.portfolio-image a:hover {
    text-decoration: none;
}

.portfolio-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    image-rendering: -webkit-optimize-contrast; 
    image-rendering: crisp-edges; 
}

.portfolio-centered {
    position: relative;
}

.portfolio-image-center {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
	margin: auto;
    margin-top: 1rem; 
	margin-left: 50%;
    text-align: center; 
    padding: 1rem;
    background-color: #ff0000;
    transition: transform 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.3);
    width: 100%; 
    height: auto; 
}

.portfolio-image-center img {
    max-width: 100%;
    max-height: 100%;
    object-fit: cover;
    image-rendering: -webkit-optimize-contrast; 
    image-rendering: crisp-edges; 	
}

.portfolio-image-center::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    box-shadow: 0 1rem 4.6875rem 1.25rem rgba(0, 0, 0, 0.2), 0 1rem 4.6875rem rgba(0, 0, 0, 0.4), 0 1rem 4.6875rem rgba(0, 0, 0, 0.6);
    transition: box-shadow 0.3s ease;
    border-radius: inherit;
    opacity: 0;
}

.portfolio-image-center:hover::before {
    opacity: 1;
}

.portfolio-image-center:hover {
    background-color: #ffffff;
    border-radius: 0;
    transform: scale(1.05);
    z-index: 10;
}

.portfolio-image-center .description {
    font-family: 'Roboto', Arial, sans-serif; 
    font-size: 1rem;
	font-weight: bold;
    color: #333;
    text-align: center;
    margin-top: .6rem;
}

.portfolio-image-center a {
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.portfolio-image-center a:hover {
    text-decoration: none;
}