@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
:root{

    font-family: 'roboto';
  
 
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}

a:visited, a{
  color: white;
  translate: color 0.5 ease-in ease-out;
}

a{
  text-decoration: none;
}

a::before{
  content: '> ';
}

a:hover{
  color: orange;
  cursor: pointer;

}

a:hover::before {
content: ' ! ';
}

p, h1, h2, h3, h4, h5, h6{
  color: white;
}

/*//////////////////////////////////*/

body{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: rgb(39, 39, 39);
}

/* Navbar */

.head-navbar{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  width: 60rem;

  border-bottom: 1px solid white;
  margin-bottom: 1rem;
  border-left: 1px solid white;
  border-right: 1px solid white;
  background-color: black;

}

.SHB-LOGO{
  color: white;
}



.navbar-title{
  font-weight: bold;
}

.head-navbar ul{
  flex: 1;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
.head-navbar ul li{
  padding-right: 1rem;

}


.page-container{
  background-color: gray;
}

/* Main Content */
.main-content{
 
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  width: 60rem;

 


}

.hero-shelf{
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  margin-top: 1rem;

  border: 1px solid white;
  border-radius: 15px;
  margin-bottom: 2rem;
  

}

.hero-shelf-left{
  margin: 0;
  padding: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-right: 1px solid white;
  padding: 1rem;
}


.hero-shelf-right{
  margin: 0;
  padding: 1rem;

  flex: 2;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  font-size: 0.85rem;
  line-height: 1.1;
  
}

.hero-text, .hero-shelf h1{
  font-size: 10rem;
  line-height: 8rem;
  font-weight: bolder;
  padding: 0;
  padding-bottom: 0.25rem;
  margin: 0;
  color: orange;

}

.hero-shelf strong{
  color: orange;
}

.sub-hero-text-top{
  font-weight: bolder;

}

.sub-hero-text, .hero-shelf h5{
  padding: 0;
  margin: 0;
  margin-bottom: 1rem;
}

.sub-hero-text-horizontal{
  display: flex;
  flex-direction: row;
  justify-content: space-between;

}

.sub-hero-text-horizontal h5{
 margin-left: 0.5rem;
}

.active-text{
  color: orange;
}

.social-media-icon::before{
  content: "";
}

.social-media-icon svg{
 height: 2rem;
 padding: 0 0.5rem 0 0.5rem;
}

.social-media-icon svg:hover{
  transform: scale(1.025%);
}

.social-media-icon:hover::before{
  content: "";
}



/* Side Menu */

.side-menu{
  display: flex;
  flex-direction: column;
  justify-content: start;
  border-top: 1px solid white;
  border-bottom: 1px solid white;
  border-left: 1px solid white;
  padding: 0 0 1rem 0;
  margin-bottom: 1rem;
  width: 12rem;
  flex: 1;
  
}

.side-menu h2{
  color: orange;
  background-color: black;
  padding: 0.5rem;
  text-align: center;
  border-bottom: 1px solid white;
  margin-bottom: 0.5rem;
}

.side-menu h2:first-of-type{
  font-weight: bold;
}
.side-menu li{
  padding: 0.5rem 1rem 0.25rem 1rem;
  line-height: 1.2rem;
}

/* Blog Page */

.blog-page-grid{
  display: flex;
  flex-direction: row;
  width: 60rem;
}

/* Article Menus */

.article-group{
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid white;
}

.article-group h3{
  text-align: end;
  padding-bottom: 0.5rem;
  color: #ffa500;
  padding-right: 1rem;
}
/* Article Content */
.article-content{
  display: flex;
  flex-direction: column;
  justify-content: start;
  border: 1px solid white;
  padding: 0 0 1rem 0;
  margin-bottom: 1rem;
  flex: 3;
}

.article-content h2:first-of-type{
  font-weight: bold;
}
.blog-body{
  display: flex;
  flex-direction: column;
  padding: 1rem;
}

.blog-body img{
  display: flex;
  flex-direction: row;
  align-self: center;
  justify-self: center;
  max-width: 90%;
  margin-bottom: 1rem;
}

.blog-body h1{
  text-align: center;
  margin-bottom: 2rem;
  font-weight: bold;
}

.blog-body p{
  margin-bottom: 1rem;
}

.article-content h2{
  color: orange;
  background-color: black;
  padding: 0.5rem;
  text-align: center;
  border-bottom: 1px solid white;
  margin-bottom: 0.5rem;
}

/* Projects */

.category-selector{
  border-left: 1px solid white;
  border-bottom: 1px solid white;
  padding: 1rem;
}

.project-category{
  
  border-right: 1px solid white;


  display: flex;
  flex-direction: row;

}



.category-spacer{
  flex: 4;
}


.selected-category{
  padding: 0.5rem;
  background-color: black;
  border-left: 1px solid white;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  text-align: center;
  flex: 1;
  color: orange;
  font-weight: bold;
}

.project-container{
  padding-top: 2rem;
  border-right: 1px solid white;
  border-bottom: 1px solid white;

  
}

.individual-project{
  display: flex;
  flex-direction: row;
  margin-bottom: 3rem;
  
}

.individual-project-body{
  flex: 5;

  border: 1px solid white;
  padding-bottom: 1rem;
}

.individual-project-buffer{
  flex: 0.3;
  border-top: 1px solid white;
}

.project-title-area{
  background-color: black;
  padding: 1rem;
  border-bottom: 1px solid white;
  display: flex;
  flex-direction: row;
  justify-content: space-between;
}

.project-title-area h5{
  font-weight: bold;
  color: orange;
}


.individual-project-body-top{
  display: flex;
  flex-direction: row;
  

}

.individual-project-body-top-text{
  margin-top: 2rem;
  flex: 5;
}

.individual-project-body-top-image{
  flex: 1.5;
  background-color: black;
  margin-bottom: 1rem;
}

.individual-project-body p{
  padding-left: 2rem;
  padding-right: 2rem;
  margin-bottom: 1rem;
}

.individual-project-body-bottom p:last-of-type{
  margin-bottom: 2rem;

}

.individual-project-body-bottom a{
  padding-left: 4rem;

}

/* Temp Content */

.temp-content
{
  display: flex;
  flex-direction: column;
  text-align: center;
  justify-content: center;
  align-items: center;
}

.temp-content h5{
  margin-bottom: 1rem;
}

.temp-content strong{
  color: orange;
}

.temp-content svg{
  width: 70px;
  margin-bottom: 2rem;
}

.social-media-icon svg:hover{

  cursor: pointer;
  transform: scale(105%);
}

.social-media-icon svg:hover path{
  fill: orange;
}
/* Footer */

footer{

  margin-top: 1rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;

  width: 65rem;


  border-top: 1px solid white;
  border-bottom: 1px solid white;
  margin-bottom: 1rem;
  border-left: 1px solid white;
  border-right: 1px solid white;
  background-color: black;
  
}

footer h5{
  padding-top: 1rem;
  padding-bottom: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;

}

.type-tabs-container{
  display: flex;
  flex-direction: row ;
  width: 60rem;
  border: 1px solid white;
  border-radius: 15px;

}

.type-tab{
  
  
  flex: 1;
}

.tab-title h5:first-of-type{
  color: orange;
  font-weight: bold;

}


.tab-title{
  display: flex;
  flex-direction: row;
  border-bottom: 1px solid white;
  justify-content: space-between;
  margin-bottom: 1rem;
  padding: 1.25rem 1rem;
  align-items: center;

  border-radius: 15px 15px 0 0;
}

.first-section{
  border-bottom: 1px solid white;
}

.tab-title-secondary{
  margin-top: 1rem;
  text-align: end;
}

.tab-content{

  padding: 0.5rem 0 0 2rem;
}

.tab-content svg{
  max-width: 1.25rem;
  max-height: 1.25rem;
  padding-right: 0.5rem;
}

.experience-section{
  padding: 1rem;
}

.experience-head{
  display: flex;
  flex-direction: row;
  margin-bottom: 1rem;
}
.experience-title{
  color: #ffa500;
  font-weight: bold;
  margin-bottom: 1rem;
}

.experience-year{
  padding-left: 1rem;
  margin-bottom: 1rem;
}

.experience-list li::before{
  content: "- ";
  padding-right: 1rem;
  
}

.experience-list{
  font-size: 0.85rem;
  line-height: 1.1;
}

.tab-section p{
  margin-bottom: 0.5rem;
  line-height: 1.2rem;
}

.type-tab{
  display: flex;
  flex-direction: column;
}
.type-tab ul{
  padding-left: 1rem;
  color: white;
}
.type-tab ul li{
  margin-bottom: 0.5rem;
  line-height: 1.2rem;
}

.tab-section{
  padding-bottom: 1rem;

}

.social-media-tray{
  margin-bottom: 1rem;
 

}

/* Work Examples */

.work-selector{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 2rem;

}
.work-types{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
 
}

.work-types h5{
  border: 1px solid white;
  border-radius: 10px;
  padding: 0.5rem;
  margin: 0.5rem;
  text-align: center;
}

.work-types h5:hover{
  cursor: pointer;
  background-color: white;
  color: black;
}

.work-example-container{
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.work-example-container h5{
  padding: 3rem 2rem 2rem 2rem;
  color: orange;
  font-weight: bold;
}

.work-examples{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;

  margin-bottom: 1rem;
  color: white;
}

.work-example-piece{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  margin-bottom: 1rem;
  border: 1px solid white;
  border-radius: 10px;
  padding: 1rem;
  width: 25rem;
}

.work-example-piece h5{
  text-align: center;
  padding: 0.5rem;
  color: #ffa500;
  font-weight: bold;
  margin-bottom: 1rem;
}

.work-example-piece p{
  margin-left: 1rem;
  padding-bottom: 0.5rem;
  font-size: 0.9rem;
  line-height: 1.1rem;
}

.example-content{
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: start;
}

.example-image{
  
  max-width: 10rem;
  height: 10rem;
  object-fit: cover;
  border-radius: 10px;
}

.work-example-piece a{
  background-color: rgb(255, 255, 255);
  color: black;
  padding: 0.25rem;
  border-radius: 8px;
  text-align: center;
  margin-top: 1rem;

}

.work-example-piece a:hover{
  background-color: orange;
}

.hidden{
  display: none;
}

.selected{
  background-color: rgb(255, 255, 255);

  color: black;
}


.tab-title svg{
  max-width: 1.25rem;
  max-height: 1.25rem;
  padding-right: 0.5rem;

}

li{
  display: flex;
  flex-direction: row;
  align-items: center;
}

.about-container{
  display: flex;
  flex-direction: row ;
  width: 60rem;
  border: 1px solid white;
  border-radius: 15px;
}


.about-text{
  padding: 2rem;
}

.about-text strong{
  color: #ffa500;
}

.hidden{
  display: none;
}

footer{
  width: 60rem;
  
  background-color: black;
  border-radius: 15px;
 
  display: flex;
  flex-direction: column;
  margin-top: 2rem;
}

footer h5{
  padding: 0.5rem;
}

.footer-text{
  text-align: center;
  padding: 1rem;
  color: white;
}

em{
  font-style: italic;
  color: gray;
}

.footer-text strong{
  color: #ffa500;
}

@media (max-width: 1100px) {
  .about-container, .type-tabs-container,  .main-content, footer, .head-navbar{
    width: 90vw; /* 90% of the viewport width */
  }

  .work-examples{
    display: flex;
    flex-direction: column;
 
  
    margin-bottom: 1rem;
    color: white;
  }

  .work-example-piece{
    width: 80vw;
  }


}

@media (max-width: 800px)
{

}

@media (max-width: 500px)
{
 .hero-shelf{
  flex-direction: column;
  justify-content: center;
  align-items: center;
 }
 .hero-shelf-left{

  border: none;

 }

 .head-navbar
 {
  font-size: small;
 }

 .work-types h5{
  font-size: small;
 }
}

@media (max-width: 400px)
{

  .head-navbar
  {
   font-size: x-small;
  }

  a::before{
    content: '';
  }
}
