html {
  box-sizing: border-box;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

:root {
  --navbar-height: 60px;
  --darkMode-background-color: #161617;
  --darkMode-header: #1a1a1a;
  --lightMode-back-white: #f5f5f5;
  --header-white: #ebeded;
  --off-white: #dcdcde;
}

body {
  background-color: var(--lightMode--white);
  position: relative;
  height: 100vh;
  width: 100vw;
  margin: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}

body > .main {
  display: none;
}
@media screen and (min-width: 320px) {
  body > .main {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    row-gap: 100px;
    background-color: inherit;
    width: 100%;
    margin: 0;
    font-family: "Cormorant SC", sans-serif;
    padding-top: 60px;
    padding-bottom: 12px;
  }

  body > .main > #construction-container {
    position: relative;
    width: 100%;
    max-width: max-content;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 10px;
    background-color: inherit;
  }

  body > .main > #construction-container > .text {
    text-align: center;
    color: navy;
    font-family: "Times New Roman", Times, serif;
  }

  body > .main > #header {
    background-color: var(--header-white);
    /* background-image: "url(./assets/black-linen.png)";*/
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0%;
    left: 0%;
    z-index: 2;
    box-shadow: 0 0 10px #000;
    backdrop-filter: saturate(50%) blur(25px);
    -webkit-backdrop-filter: saturate(50%) blur(25px);
  }

  body > .main > #header #navigation_links_wrapper,
  body > .main > header > #mode_switch_social_wrapper {
    display: none;
  }

  /*hamburger menu*/
  body > .main > #header > .menu_icon_wrapper {
    background-color: inherit;
    display: block;
    position: relative;
    left: 9px;
    height: 45px;
    width: 35px;
    cursor: pointer;
  }

  body > .main > #header > .menu_icon_wrapper > .menuIcon {
    display: block;
    background-color: black;

    filter: brightness(120%) contrast(120%);
    width: 100%;
    height: 4.5px;
    left: 0px;
    border-radius: 3px;
    position: absolute;
    -webkit-transform: rotate(0deg) translateX() left width top;
    -moz-transform: rotate(0deg) translateX() left width top;
    -o-transform: rotate(0deg) translateX() left width top;
    transform: rotate(0deg) translateX() left width top;
    -webkit-transition: 0.35s ease-in-out;
    -moz-transition: 0.35s ease-in-out;
    -o-transition: 0.35s ease-in-out;
    transition: 0.35s ease-in-out;
  }

  body > .main > #header > .menu_icon_wrapper > .menuIcon:nth-child(1) {
    top: 4px;
  }

  body > .main > #header > .menu_icon_wrapper > .menuIcon:nth-child(2),
  body > .main > #header > .menu_icon_wrapper > .menuIcon:nth-child(3) {
    top: 19px;
  }

  body > .main > #header > .menu_icon_wrapper > .menuIcon:nth-child(4) {
    top: 34px;
  }

  /*mobile navigation links*/
  body > .main > .mobile_navigation_links {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    background-color: var(--header-white);
    width: 100%;
    height: max-content;
    row-gap: 17px;
    padding-bottom: 17px;
    left: 0;
    top: -150%;
    z-index: 1;
    box-shadow: 0 0 10px #000;
    opacity: 1;
  }

  body > .main > .mobile_navigation_links > .mobile_display_flex_column {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
    background-color: inherit;
  }

  body > .main > .mobile_navigation_links > #mobile_social_icon_parent {
    display: flex;
    justify-content: space-around;
    align-items: center;
    width: max-content;
    position: relative;
    margin: auto;
  }

  body > .main > .mobile_navigation_links > #mobile_social_icon_parent > a {
    text-decoration: none;
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  body
    > #main
    > .mobile_navigation_links
    > #mobile_social_icon_parent
    > a
    > .mobile_social_icon {
    filter: invert(0);
    -webkit-filter: invert(0);
    cursor: pointer;
  }

  body > .main > .mobile_navigation_links > div > h3 {
    display: block;
    width: max-content;
    text-align: center;
    font-size: 20px;
  }

  body > .main > .mobile_navigation_links > div > h3:hover {
    cursor: pointer;
  }

  body > .main > .mobile_navigation_links > #mobile_mode_switch_container {
    background-color: var(--lightMode-back-white);
    width: 60px;
    height: 28px;
    border-radius: 40px;
    border-color: var(--darkMode-background-color);
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    cursor: pointer;
    overflow: hidden;
    margin: auto;
  }

  body
    > #main
    > .mobile_navigation_links
    > #mobile_mode_switch_container
    > .mobile_switch_circle {
    position: absolute;

    right: 1.9px;
    filter: invert(0);
    -webkit-filter: invert(0);
    top: auto;
    bottom: auto;
    z-index: 3;
  }

  body
    > #main
    > .mobile_navigation_links
    > #mobile_mode_switch_container
    > .mobile_switch_icon_wrapper {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    position: relative;
    background-color: inherit;
  }

  body
    > #main
    > .mobile_navigation_links
    #mobile_mode_switch_container
    #mobile_switch_icon_wrapper
    #mobile_moon {
    filter: invert(0.99) sepia(100%) saturate(9) brightness(120%) contrast(120%);
    border-color: 2px solid;
  }

  /*home page section*/
  body > .main > #homeContainer {
    color: black;
    width: 100%;
    height: 400px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
  }

  #homeHeading {
    color: inherit;
    height: max-content;
    width: 100%;
    display: grid;
    grid-template-columns: auto;
    grid-template-rows: auto;
    justify-content: center;
    align-content: center;
  }

  #homeHeading > h3,
  #homeHeading > h1 {
    text-align: center;
    filter: contrast(150%), brightness(150%);
  }

  #homeHeading > h1 {
    font-size: 28px;
  }

  #homeHeading > h2 {
    font-size: 13px;
  }

  /*portfolio section*/
  #portfolio_container {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
    width: 100%;
    height: max-content;
    position: relative;
    left: 0;
    right: 0;
    color: black;
    overflow-y: visible;
  }

  #portfolio_container > h1 {
    font-size: 28px;
    filter: brightness(120%) contrast(120%);
    text-align: center;
    height: fit-content;
    width: 100%;
    color: inherit;
  }

  #portfolio_container > #portfolio {
    display: flex;
    flex-direction: column;
    row-gap: 35px;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: max-content;
    color: inherit;
    padding: 0 5% 0 3%;
  }

  #portfolio_container > #portfolio > article {
    padding: 0 5px;
    width: 290px;
    max-width: 290px;
  }

  .article-parent {
    color: inherit;
    height: 108px;
    border-color: white;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
    filter: brightness(100%) contrast(100%);
    background-color: white;
  }

  .link {
    color: inherit;
    align-items: center;
    display: flex;
    justify-content: space-between;
    text-decoration: none;
    width: 100%;
    height: 100%;
    background-color: inherit;
  }

  .copy_wrapper {
    width: 60%;
    max-width: 210px;
    height: 100%;
    position: relative;
    overflow: hidden;
  }

  .copy_wrapper > header {
    position: relative;
    top: -10%;
  }

  .proj_heading {
    position: relative;
    font-size: 16px;
    font-weight: 600;
  }

  .proj_copy {
    height: 50px;
    font-size: 13px;
    font-weight: 600;
    width: 85%;
    position: relative;
    padding-bottom: 3px;
  }

  .img_wrapper {
    border-color: white;
    height: 100%;
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .square {
    width: 60px;
    max-width: 65;
    height: 60px;
    border-radius: rem(2);
    display: block;
    filter: brightness(100%), contrast(100%);
  }
  .rect {
    width: 45px;
    height: 60px;
    border-radius: rem(2);
    display: block;
    filter: brightness(100%) contrast(100%);
  }

  /*about section*/
  #main #about_container {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 49px;
    align-items: center;
    background-color: inherit;
    overflow-x: hidden;
    padding-bottom: 10px;
  }

  #main #about_container #about_header_wrapper {
    position: relative;
    margin-top: 68px;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    color: black;
  }

  #main #about_container div #about_header {
    font-size: calc(28px);
    filter: brightness(120%) contrast(120%);
    -webkit-filter: brightness(120%) contrast(120%);
    text-align: center;
    height: fit-content;
    width: 100%;
    color: inherit;
    position: relative;
  }

  #main #about_container div #about_intro_header {
    font-size: calc(19px);
    filter: brightness(120%) contrast(120%);
    text-align: center;
    height: fit-content;
    width: 100%;
    color: inherit;
    position: relative;
  }

  #main #about_container > #about_article_wrapper {
    color: black;
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    align-items: center;
  }

  #main #about_container > #about_article_wrapper img {
    width: 55px;
    height: 55px;
    border-radius: 50px;
    border-style: solid;
    border-color: black;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);
  }

  #main #about_container > #about_article_wrapper > #my_intro {
    color: inherit;
    font-size: smaller;
    font-weight: 600;
    width: 75%;
    max-width: 450px;
  }

  #main #about_container > #my_career_and_tech_stack_wrapper {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    color: black;
  }

  #main
    #about_container
    > #my_career_and_tech_stack_wrapper
    > .career_tech_stack {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 5px;
    padding: 1%;
    color: black;
    background-color: inherit;
  }

  #main
    #about_container
    > #my_career_and_tech_stack_wrapper
    > #career_obj_wrapper {
    width: 100%;
    max-width: 100%;
  }

  #main
    #about_container
    > #my_career_and_tech_stack_wrapper
    > #tech_stack_wrapper {
    width: 100%;
    max-width: 100%;
  }

  #main
    #about_container
    > #my_career_and_tech_stack_wrapper
    > .career_tech_stack
    > h3 {
    text-align: center;
    margin: 0px;
  }

  #main
    #about_container
    > #my_career_and_tech_stack_wrapper
    > .career_tech_stack
    > p {
    width: 260px;
    max-width: 260px;
    font-size: smaller;
    font-weight: 600;
    text-align: center;
  }

  #main #about_container > #res_button_container {
    position: relative;
    box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.35);
    background-color: #013c8a;
    border-radius: 10px;
    border-color: #013c8a;
    width: fit-content;
    text-decoration: none;
    overflow: hidden;
  }

  #main #about_container > a > div {
    border: none;
    border-radius: 10px;
    width: 90px;
    max-width: 90px;
    height: 35px;
    background-color: inherit;
    text-align: center;
    font-size: medium;
    font-weight: 800;
    font-family: "Cormorant SC", sans-serif;
    opacity: 0.85;
    transition: all 0.2s ease-in-out;
    overflow-wrap: normal;
  }

  #main #about_container > a > div > .cv_download_text {
    display: block;
    color: whitesmoke;
    text-align: center;
    margin-top: 13%;
  }

  #main #about_container > a > div > img {
    width: 22px;
    height: 22px;
    margin-top: 30%;
    filter: invert(100%) saturate(200%);
    -webkit-filter: invert(100%) saturate(200%);
  }

  #main #about_container > a:hover {
    cursor: pointer;
    opacity: 1;
    filter: brightness(110%) contrast(110%);
    -webkit-filter: brightness(110%) contrast(110%);
  }

  #main #about_container > a > div:hover {
    transform: translate3d(0, -128%, 0);
  }

  #main #about_container > #res_button_container:active {
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.35);
    transform: scale(0.95);
  }

  /*contact section*/
  #main #contact_container {
    position: relative;
    width: 100%;
    min-width: 100%;
    height: 750px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 10px;
    align-items: center;
    background-color: inherit;
    color: black;
    overflow-x: hidden;
  }

  #main #contact_container h1 {
    font-size: calc(28px);
    width: 100%;
    height: fit-content;
    text-align: center;
  }

  #contact-paragraph-container {
    position: relative;
    width: 55%;
    max-width: 450px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    row-gap: 5px;
  }

  #contact-paragraph-container > .contact-message {
    color: black;
    font-weight: 600;
  }

  .email-address {
    text-decoration: none;
    font-weight: 650;
    color: black;
  }

  .email-address:hover {
    cursor: pointer;
    font-size: larger;
  }

  #ending-contact-message {
    font-weight: 600;
    color: black;
  }
  /**

  #main > #contact_container > form {
    width: 260px;
    max-width: 260px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    row-gap: 25px;
    align-items: center;
    border: 2px solid white;
    color: black;
    padding: 3% 0;
    margin: 0 auto;
    position: relative;
  }

  #main > #contact_container > form > input,
  #main > #contact_container > form > textarea {
    width: 85%;
    max-width: 85%;
    color: white;
    background-color: black;
    font-family: "Cormorant SC", sans-serif;
  }

  #main > #contact_container > form > textarea {
    height: 225px;
    min-height: 225px;
    max-height: 225px;
  }

  #main > #contact_container > form > input::placeholder {
    color: white;
    font-family: "Cormorant SC", sans-serif;
    font-size: small;
    background-color: black;
  }

  #main > #contact_container > form > textarea::placeholder {
    color: white;
    font-family: "Cormorant SC", sans-serif;
    font-size: small;
    background-color: black;
  }

  #main > #contact_container > form > button {
    width: 90px;
    max-width: 90px;
    height: 45px;
    color: whitesmoke;
    background-color: #0e5227;
    box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.35);
    font-family: "Cormorant SC", sans-serif;
    font-size: small;
    text-align: center;
    overflow-wrap: normal;
    overflow: hidden;
    opacity: 0.85;
    transition: all 0.2s ease-in-out;
    position: relative;
    border-radius: 10px;
    border-color: #0e5227;
  }

  #main > #contact_container > form > button > .alt-send-button {
    position: relative;
    width: 100%;
    height: 100%;
    transition: all 0.2s ease-in-out;
  }

  #main > #contact_container > form > button > .alt-send-button > .send-text {
    position: relative;
    display: block;
    margin-top: 10%;
    font-size: medium;
    font-weight: 800;
    filter: brightness(120%);
    -webkit-filter: brightness(120%);
  }

  #main > #contact_container > form > button > div > img {
    width: 40%;
    height: 40%;
    position: relative;
    filter: invert(100%);
    -webkit-filter: invert(100%);
    margin-top: 30%;
  }

  #main > #contact_container > form > button:hover {
    opacity: 1;
    cursor: pointer;
    filter: brightness(110%);
    -webkit-filter: brightness(110%);
  }

  #main > #contact_container > form > button > .alt-send-button:hover {
    transform: translate3d(0px, -100%, 0px);
    filter: brightness(110%);
    -webkit-filter: brightness(110%);
  }

  #main > #contact_container > form > button:active {
    box-shadow: 0px 1px 10px rgba(0, 0, 0, 0.35);
    transform: scale(0.95);
  }

  */

  body > .main > footer {
    position: relative;
    color: black;
    bottom: 0%;
    width: 100%;
    height: fit-content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    row-gap: 3px;
    align-items: center;
    background-color: inherit;
    backdrop-filter: saturate(50%) blur(25px);
    -webkit-backdrop-filter: saturate(50%) blur(25px);
  }

  body > .main > footer > a {
    color: inherit;
    text-decoration: none;
    font-size: smaller;
    font-weight: 600;
  }

  body > .main > footer > h5 {
    margin: 0px;
  }

  body > .main > footer > img {
    filter: invert(1) contrast(100%) brightness(100%);
    -webkit-filter: invert(1) contrast(100%) brightness(100%);
  }
}

@media screen and (min-width: 480px) {
  #portfolio_container > #portfolio > article {
    width: 310px;
    max-width: 310px;
  }

  .square {
    width: 70px;
    height: 70px;
    border-radius: rem(2);
    display: block;
    filter: brightness(100%) contrast(100%);
  }
  .rect {
    width: 60px;
    height: 70px;
    border-radius: rem(2);
    display: block;
    filter: brightness(100%) contrast(100%);
  }
  .copy_wrapper {
    width: 220px;
    max-width: 220px;
    height: 100%;
    position: relative;
    overflow: hidden;
  }

  #main
    #about_container
    > #my_career_and_tech_stack_wrapper
    > .career_tech_stack
    > p {
    width: 280px;
    max-width: 280px;
  }

  #main > #contact_container > form {
    width: 290px;
    max-width: 290px;
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    row-gap: 25px;
    align-items: center;
    border: 2px solid black;
    color: black;
    padding: 3% 0;
    margin: 0 auto;
    position: relative;
  }
}

@media screen and (min-width: 650px) {
  #portfolio_container > #portfolio > article {
    width: 390px;
    max-width: 390px;
  }

  .square {
    width: 80px;
    height: 80px;
  }
  .rect {
    width: 70px;
    height: 80px;
  }
  .copy_wrapper {
    width: 290px;
    max-width: 290px;
  }

  #main > #contact_container > form {
    width: 330px;
    max-width: 330px;
  }
}

@media screen and (min-width: 840px) {
  #portfolio_container > #portfolio > article {
    width: 405px;
    max-width: 405px;
  }

  .square {
    width: 90px;
    height: 90px;
  }

  .rect {
    width: 80px;
    height: 90px;
  }

  .copy_wrapper {
    width: 295px;
    max-width: 295px;
  }

  .proj_heading {
    font-size: 18px;
  }

  .proj_copy {
    font-size: 14px;
  }

  #main > #contact_container > form {
    width: 340px;
    max-width: 340px;
  }
}

@media screen and (min-width: 992px) {
  /*desktop mode switch*/
  body > .main > header > #mode_switch_social_wrapper {
    position: relative;
    width: 200px;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 15px;
    left: 16px;
  }

  header > #mode_switch_social_wrapper > #mode_switch_container {
    background-color: white;
    width: 65px;
    height: 30px;
    border-radius: 40px;
    border-color: var(--darkMode-background-color);
    display: flex;
    justify-content: left;
    align-items: center;
    position: relative;
    cursor: pointer;
    overflow: hidden;
  }

  header
    > #mode_switch_social_wrapper
    > #mode_switch_container
    > .switch_circle {
    position: absolute;
    border-radius: 50%;
    right: 1px;
    filter: invert(0);
    -webkit-filter: invert(0);
    top: auto;
    bottom: auto;
    z-index: 1;
  }

  header
    > #mode_switch_social_wrapper
    > #mode_switch_container
    > #switch_icon_wrapper {
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: center;
    background-color: white;
    position: relative;
  }

  header
    > #mode_switch_social_wrapper
    > #mode_switch_container
    > #switch_icon_wrapper
    > .moon {
    filter: invert(0.99) sepia(100%) saturate(9) brightness(120%) contrast(120%);
    border-color: 2px solid;
  }

  /*desktop social links*/
  header > #mode_switch_social_wrapper > .social_icon_parent {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 3px;
    width: 100px;
    position: relative;
  }

  header > #mode_switch_social_wrapper > .social_icon_parent > a {
    text-decoration: none;
    width: fit-content;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  header
    > #mode_switch_social_wrapper
    > .social_icon_parent
    > a
    > .social_icon {
    filter: invert(0);
    -webkit-filter: invert(0);
    cursor: pointer;
  }

  /*Desk Top Navigation Links*/
  body > .main > #header #navigation_links_wrapper {
    width: 300px;
    display: flex;
    justify-content: left;
    align-items: center;
    column-gap: 18px;
    right: 20px;
    position: relative;
    color: black;
    font-family: inherit;
    font-size: 16px;
    overflow: hidden;
  }

  #header > #navigation_links_wrapper > .nav_links {
    width: fit-content;
    filter: brightness(110%), contrast(110%);
    font-weight: 600;
  }

  #header > #navigation_links_wrapper > .nav_links:hover {
    cursor: pointer;
    text-decoration: underline;
  }

  /*hamburger menu bars*/
  body > .main > #header > .menu_icon_wrapper {
    display: none;
  }

  /*portfolio section*/
  #portfolio_container > #portfolio > article {
    width: 415px;
    max-width: 415px;
  }

  .square {
    width: 95px;
    height: 95px;
    border-radius: rem(2);
    display: block;
    filter: brightness(100%), contrast(100%);
  }

  .rect {
    width: 80px;
    height: 95px;
    border-radius: rem(2);
    display: block;
    filter: brightness(100%), contrast(100%);
  }

  .copy_wrapper {
    width: 300px;
    max-width: 300px;
    height: 100%;
    position: relative;
    overflow: hidden;
  }

  #main #about_container > #about_article_wrapper img {
    width: 65px;
    height: 65px;
  }

  #main #about_container > #about_article_wrapper > p {
    font-size: 15px;
  }

  #main
    #about_container
    > #my_career_and_tech_stack_wrapper
    > .career_tech_stack
    > p {
    font-size: 15px;
  }

  #main > #contact_container > form {
    width: 340px;
    max-width: 340px;
  }
}
