/* start new styling */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: Helvetica;
}
body {
  background-color: #152816;
  font-weight: bold;
  min-width: none;
}

section {
  /* display: flex; */
  padding: 5% 5%;
  min-height: 90dvh;
  z-index: 0;
  /* margin-bottom: 10%; */
}

section.half-section {
  min-height: 45dvh;
}

section.quarter-section {
  min-height: 22.5dvh;
}

/* footer {
  height: 25vh;
} */

img {
  pointer-events: none;
  user-select: none;
}

.copyright {
  margin-top: 2.5%;
  font-size: 1rem;
  justify-self: end;
  bottom: 0;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #b4a789;
}

.vertical-nav {
  display: none;
  /* display: flex; uncomment for debugging*/
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: clamp(1.5rem, 3vw, 2.5rem);
  padding: 10%;
  /* padding-top: 20dvh; */
  /* padding-bottom: 40dvh; */
  position: fixed;
  right: 0;
  top: 0;
  margin-top: 10dvh;
  width: clamp(100px, 70dvw, 70dvw);
  height: 90vh;
  background-color: #061807;
  z-index: 10000;
}

.nav-format-container {
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 65%;
  width: 100%;
}

#mobile-nav-list {
  display: flex;
  flex-direction: column;
  justify-content: space-around;

  min-width: 100%;
  height: 100%;
  padding: 0;
}

#mobile-nav-list .nav-item a {
  min-width: 100%;
  width: 100px;
  min-height: 55px;
  display: block;
  border-bottom: solid 2px #0e443b;
}

.list {
  list-style: none;
  padding: 1% 0;
}

.section-title {
  font-size: clamp(2rem, 5vw, 2.5rem);
  font-weight: 900;
  margin-bottom: 1.5rem;
}

.hero {
  height: 90dvh;

  display: flex;
  flex-direction: column;
}

#page-format-container {
  margin-left: auto;
  margin-right: auto;
  margin-top: 10dvh;
  display: grid;
  min-width: 300px;
  grid-template-columns: minmax(300px, 1fr);
  grid-auto-rows: minmax(100px, auto);

  /* ! should leave this commented out to promote mobile-first development
  but can uncomment to show desktop format */
  /* width: 85vw; */
}

nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  flex-grow: 1;

  /* !should leave this commented out to promote mobile-first development
  but can uncomment to show desktop format */
  /* width: 85vw; */
  height: 10dvh;

  /* font-size: clamp(0.7rem, 2vw, 1.5rem); */

  /* padding: 2%; */
  background-color: #152816;
  z-index: 1000;
}

.sr-logo {
  display: flex;
  flex-shrink: 1;
  /* justify-self: center; */
  /* flex-grow: 1; */
  /* aspect-ratio: 1/1; */
  pointer-events: all;
  max-height: 7dvh;
}

.bars-button img {
  pointer-events: auto;
}

#bars-img {
  height: 70%;
  width: 70%;
}

.bars-button {
  position: absolute;
  /* margin-left: auto; */
  right: 5svw;
  justify-content: center;
  align-items: center;
  display: flex;
  flex-shrink: 1;
  flex-grow: 0;
  width: 66px;
  height: 66px;
  background: none;
  border: none;
  z-index: 20000;
  pointer-events: auto;

  cursor: pointer;

  touch-action: none;
  -webkit-tap-highlight-color: transparent;
}

/* .bars-button:hover .bars {
  background-color: purple;
  cursor: pointer;
} */

#nav-list {
  display: flex;
  flex-grow: 1;
  flex-shrink: 1;
  justify-content: center;
  align-items: center;
  /* width: 85vw; */

  gap: 4%;
}

.nav-item {
  /* flex-shrink: 0; */
}

.nav-item a {
  text-decoration: none;
}
.nav-item a:link,
.nav-item a:visited {
  color: #f7fcff;
}

.nav-item a:hover {
  color: #f0b971;
}

.nav-item a:active {
  color: #ce5fec;
}

#download-resume-link {
  color: #36d079;
}

#download-resume-link:hover {
  color: #54f097;
}

#download-resume-link:active {
  color: #ce5fec;
}

.introduction {
  display: flex;
  flex-shrink: 1;
  flex-direction: column;
  margin: auto 0;
  justify-content: center;
  align-items: center;

  padding: 2%;
  position: relative;
  min-height: 0;
  height: 100%;
  background-color: #2b522d;
  /* overflow: hidden; */
  z-index: 0;
}

.portrait-and-nameplate-container {
  display: flex;
  flex-direction: column;
  max-width: 90%;
  max-height: 90%;
}

#portrait-container {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  max-height: 75%;
  /* width: 100%; */
  /* min-width: none; */
  /* max-width: 50%; */
  aspect-ratio: 1/1;
  background-color: #266a56;
  box-shadow: 0px 0px 10px 5px #1b2c1c99;
  /* margin-bottom: 10%; */
  /* width: min(50vw, 60vh); */
  /* z-index: 2; */
}

#portrait-container::before {
  content: "";
  position: absolute;
  top: -7%;
  left: -7%;
  background-color: #f0b971;
  height: auto;
  width: 60%;
  aspect-ratio: 1/1;
  z-index: -1;
}

#portrait-container::after {
  content: "";
  position: absolute;
  bottom: -7%;
  right: -7%;
  background-color: #ce5fec;
  height: auto;
  width: 60%;
  aspect-ratio: 1/1;
  z-index: -1;
}

.portrait-img {
  position: relative;
  max-height: 90%;
  max-width: 90%;
  /* z-index: 999; */
}

.personal-info {
  position: relative;
  display: flex;
  flex-grow: 1;
  flex-shrink: 1;
  justify-content: center;
  align-items: center;
  /* min-width: none; */
  max-width: 100%;
  max-height: 25%;
  background-color: #1b2c1c99;
  padding: 3% 5%;
  /* z-index: 1; */
}

.nameplate {
  /* min-height: 100%;
  min-width: 100%; */
}

#name-text {
  font-size: clamp(1.75rem, 8vw, 3rem);
  /* text-wrap: nowrap; */
  color: #f7fcff;
  left: 0;
  /* might not work in every browser */
}

#title-text {
  /* display: inline; */
  font-size: clamp(1.25rem, 5vw, 2rem);
  /* text-wrap: nowrap; */
  margin-top: 2%;
  color: #f0b971;
}

#location-text {
  /* text-wrap: nowrap; */
  font-size: clamp(1rem, 4.75vw, 1.75rem);
  margin-top: 3%;
  color: #8bdbc3;
}

/* About Styling */
.about {
  display: flex;
  flex-direction: column;
  /* gap: 2%; */
  align-items: center;
  background-color: #2d2030;
}

#about {
  scroll-margin-top: 10dvh;
}

#about-title {
  color: #c58bd5;
}

.about-text {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  padding: 5% 10% 10% 10%;
  text-align: center;
  color: #c9bbaa;
  /* background-color: #042128; */
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  max-height: 100%;
}

#about-paragraph {
  margin-bottom: 5%;
}

#work-statement {
  color: #fe9143;
}

/* Experience styling */

.experience {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
  background-color: #0e443b;
  color: #8bdbc3;
}

#experience-title {
  /* justify-self: center;   */
  margin: 0 auto;
  /* margin-left: 15%; */
  color: #f7fcff;
  /* grid-row: 1;
  grid-column: 1 / -1; */
}

.work-experience-grid {
  display: grid;
  grid-template-columns: 1fr minmax(0, 1fr) 1fr;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 97%;
  max-height: 100%;
  align-items: center;
  gap: 1.25rem;
}

.align-right {
  justify-self: right;
}

.experience-img {
  /* max-width: 5rem;
  min-width: none; */
  height: auto;
  width: clamp(100px, 20vw, 175px);
  aspect-ratio: 1/1;
}

#gl-logo.experience-img {
  grid-column: 1;
  grid-row: 1;
}

#sju-logo.experience-img {
  grid-column: 1;
  grid-row: 2;
}

.job-details {
  /* width:; */
}

#gl-details.job-details {
  grid-column: 3;
  grid-row: 1;
}

#sju-details.job-details {
  grid-column: 3;
  grid-row: 2;
}

.dash {
  /* font-size: 0; */
  /* line-height: 0; */
  background-color: none;
  max-height: 0.1rem;
  border-bottom: 0.15em dotted #cad9e3;
  max-width: 100%;
  min-width: none;
}

#gl-dash.dash {
  grid-column: 2;
  grid-row: 1;
}

#sju-dash.dash {
  grid-column: 2;
  grid-row: 2;
}

.job-header {
  /* text-wrap: nowrap; */
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.job-title {
  /* text-wrap: nowrap; */
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  color: #f0b971;
  margin-top: 0.25rem;
}

.job-details .date {
  font-size: clamp(1rem, 1.75vw, 1.25rem);
  /* text-wrap: nowrap; */
  margin-top: 0.5rem;
  color: #cad9e3;
}

/* Technologies Styling */
/* need a better standardized naming convention */

.tech-stack {
  background-color: #042128;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  min-height: 100%;
  align-items: center;
  /* justify-content: space-around; */
}

#tech-stack-title {
  color: #8bdbc3;
}

.tech-imgs {
  height: auto;
  aspect-ratio: 1/1;
  /* min-width: 40px;
  width: 100px;
  max-width: 150px; */
  width: clamp(40px, 5vw, 110px);
  margin-right: 1rem;
  /* object-fit: contain; */
}

.tech-stack-text {
  /* display: inline-block; */
}

.black-logo {
  /* changes the color of the svgs that are black */
  filter: invert(91%) sepia(26%) saturate(484%) hue-rotate(185deg)
    brightness(106%) contrast(103%);
}

.simple-icons.tech-imgs {
  padding: 4%;
}

/* !fix size bugs here */

.tech-list {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  /* flex-grow: 1; */
  padding: 3%;
  /* flex-shrink: 0; */

  /* margin-top: 7%;
  margin-bottom: 7%; */
  gap: clamp(2.5rem, 3dvw, 5dvw);
  row-gap: clamp(1rem, 3dvh, 5dvh);
  /* min-height: 100%; */
  font-size: clamp(1.5rem, 2dvw, 2rem);
  color: #c8b599;
}

.technology {
  display: flex;
  flex-direction: row;
  /* flex-grow: 1; */
  /* flex-shrink: 0; */
  /* flex-grow: 1; */
  /* justify-content: space-around; */
  align-items: center;
  /* gap: 1rem; */
  margin-right: 1.5rem;
  font-weight: bold;
  /* width: fit-content; */
  /* white-space: nowrap; */
}

/* Education Styling */
.education {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  justify-content: space-between;
  color: #efe1ce;
  background-color: #282a3c;
}

#education-title {
  margin: 0 auto;
  color: #caec86;
}

.education-grid {
  display: grid;
  grid-template-columns: 1fr minmax(0, 1fr) 1fr;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
  margin: 0 auto;
  max-width: 97%;
  max-height: 100%;
  align-items: center;
  gap: 1.25rem;
}

.education-img {
  /* max-width: 5rem;
  min-width: none; */
  display: inline-block;
  /* height: auto; */
  width: clamp(100px, 20vw, 175px);
  aspect-ratio: 1/1;
}

.education-text {
  color: #d6bb63;
}

.education-dash {
  flex-shrink: 1;
  border-color: #b89fc2;
}

.education-header {
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.education-degree {
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  margin-top: 0.25rem;
  color: #c58bd5;
}

.education-date {
  font-size: clamp(1rem, 1.75vw, 1.25rem);
  margin-top: 0.5rem;
  color: #bdb4aa;
}

#magna {
  font-size: clamp(1rem, 1.75vw, 1.25rem);
  color: #7fb5a4;
  margin-top: 0.1rem;
}

#minor {
  font-size: clamp(1rem, 1.75vw, 1.25rem);
  margin-top: 0.5rem;
  color: #c8b2d5;
}

#masters-img.education-img {
  grid-column: 1;
  grid-row: 1;
}

#masters-dash {
  /* display: none; */
  grid-column: 2;
  grid-row: 1;
}

#masters-text {
  grid-column: 3;
  grid-row: 1;
}

#bachelors-img.education-img {
  grid-column: 1;
  grid-row: 2;
}

#bachelors-dash {
  /* display: none; */
  grid-column: 2;
  grid-row: 2;
}

#bachelors-text {
  grid-column: 3;
  grid-row: 2;
}

/* Contact Styling */

.contact {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  padding-bottom: 0;
  background-color: #491405;
}

#contact {
  scroll-margin-top: 10dvh;
}

#contact-title {
  color: #ec7bb7;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 1.25rem;
}

.contact-form-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-around;
  flex-wrap: wrap;

  flex-grow: 1;
  /* gap: 5%; */
  padding: 5%;
  background-color: #74a59f;
  margin-bottom: 5%;
}

#contact-form {
  display: flex;
  flex-direction: column;
  color: #325936;
  width: 60%;
}

.form-group {
  display: flex;
  flex-direction: column;
  margin-bottom: 5%;
}
.form-group label {
  font-size: clamp(1rem, 3vw, 1.2rem);
  margin-bottom: 0.25rem;
}

.form-group input,
.form-group textarea {
  font-size: clamp(1rem, 3vw, 1.25rem);
  height: clamp(1.5rem, 3vh, 2rem);
  border-radius: 1rem;
  border: none;
  padding: 0.5rem;
  background-color: #ddf4f1;
  color: #0e443b;
}

.form-group textarea {
  /* min-height: 2rem; */
}

#message-input {
  resize: none;
  /* overflow: hidden; */
  /* word-wrap: break-word; */
  overflow-y: hidden;
  width: 100%;
  min-height: 3.5rem;
}

.form-submit-button {
  background-color: #87e590;
  color: #205736;
  font-size: clamp(1rem, 2vw, 1.1rem);
  border: none;
  border-radius: 1rem;
  padding: 0.5rem;
  margin-top: 0.5rem;
  margin-left: auto;
}

.form-submit-button:hover {
  background-color: #92f29c;
}

.form-submit-button:active {
  background-color: #61ef6f;
}

.contact-info-container {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  min-height: 100%;
  padding: 10%;
  background-color: #c5431f;
}

.contact-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 1;
  margin-right: 1.25rem;
}

.contact-img {
  height: auto;
  width: clamp(1.5rem, 5vw, 3rem);
}

.contact-link {
  font-size: clamp(1rem, 3vw, 1.25rem);
  color: #dfd38a;
  text-decoration: none;
}

@media (width >= 700px) {
  nav {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    width: 65dvw;
  }

  .vertical-nav {
    display: flex;
    flex-direction: row;
    justify-content: right;
    align-items: center;
    height: 10dvh;
    padding: 0;
    font-size: clamp(1rem, 3dvw, 1.5rem);
    width: 100%;
    margin-top: 0;
    position: static;
    background-color: transparent;
  }

  .nav-format-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 100%;
  }

  #mobile-nav-list {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: end;
    width: max-content;
    gap: 4%;
  }

  .nav-link {
    height: 100%;
    width: max-content;
  }

  .nav-item {
    /* margin-left: 2%; */
    width: max-content;
  }

  #mobile-nav-list .nav-item a {
    display: inline-block;
    border-bottom: none;
    width: max-content;
    font-size: clamp(1rem, 2.5dvw, 1.5rem);
  }

  #mobile-nav-list .nav-item a {
    min-height: 0;
  }

  .bars {
    display: none;
  }

  .bars-button {
    display: none;
  }

  #page-format-container {
    width: 65dvw;
  }

  #message-input {
    height: 4rem;
  }
}

/* color pallette

background green                        #152816
introduction background green           #2b522d
styling square green                    #266a56
orange                                  #f0b971
white                                   #f7fcff
soft white                              #cad9e3
experience background                   #0e443b
tech stack background                   #042128
 



*/
