

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&family=Hanken+Grotesk:ital,wght@0,100..900;1,100..900&display=swap');

:root {
    /* These are global variables that you can use in your CSS */
    --black:black;
    --dark-grey:#333;
    --mid-grey:#666;
    --light-grey:#999;
    --white:white;
    --accent-colour:rgb(84, 4, 233);
    --headline-font:hanken grotesk, lust, serif;
    --body-font: dm Sans,nunito-sans, sans-serif;
    --horizontal-shift:5px;
    --section-padding-top:120px;
  }

  * {
    margin: 0;
    padding: 0;
    transition: 0.3s;
    
  }

  body {
    font-family: var(--body-font);
 }


 html {
    scroll-behavior: smooth;
 }

 h1, h2, h3, h4, h5, h6 {
   font-family: var(--headline-font);
 }
 h1 {
   font-size: calc(40px + (72 - 40) * (100vw - 400px) / (1800 - 400));
   margin-bottom: 3rem;
   letter-spacing: -1px;
   line-height: calc(50rpx + (72 - 40) * (100vw - 400px) / (1800 - 400));
   font-weight: 600;
 }
 h2 {
   font-size: calc(32px + (48 - 32) * (100vw - 400px) / (1800 - 400));
   margin-bottom: 1.5rem;
 }
 h3 {
   font-size: calc(20px + (28 - 20) * (100vw - 400px) / (1800 - 400));
 }
 p {font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400));
   margin-bottom:2rem;
 }

 a {
    font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400)); text-decoration: none;
  color: var(--black);
}
 a:visited {
 color: var(--black);
}

.inverted-colours {
    background:var(--black);
    color:var(--white);
  }
  .inverted-colours a {
    color:var(--white);
  }
  .inverted-colours a:visited {
   color:var(--white);
  }

  .inverted-colours .btn {
    color:var(--black);
    background:var(--white);
  }
  .inverted-colours .btn:hover {
    color:var(--white);
    background:var(--accent-colour);
  }


header {
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 10;
    padding-top: 25px;
    transition: top 0.4s ease;
  }

  nav {
    overflow: hidden;
    /* background: var(--white); */
    height: 70px;
    /* background-color: aquamarine; */
    margin-right: 30px;
    margin-left: 30px;
  }

  nav ul {
    display: flex;
    list-style-type: none;
    flex-wrap: wrap;
    text-align: center;
  }
  nav ul > li {
    margin-top: 14px;
    flex-basis: 100%;
  }
  nav ul li a {
    text-decoration: none;
    color: var(--black);
    margin: 20px;
  }
  nav ul li a:hover {
    text-decoration: none;
    color: var(--accent-colour);
  }

  ul.bulleted {
  padding-left: 1rem;
  }

  ul.bulleted li {
  list-style-type: disc;
  display: list-item;   /* THIS is critical */
  }

  #sectionwithbg {
    background-color: aqua;
  }

  #gap {
    min-height: 120px;
  }

  .dot-divider {
  border: none;
  height: 0;
  width: 250px;
  margin: 3rem auto;
  border-top: 4px dotted #7f7f7f;
}

.dot-divider2 {
  border: none;
  width: 70px;
  height: 6px;
  margin: 4rem auto;
  background-image: radial-gradient(
    circle,
    #b4b4b4 40%,
    transparent 2%);
  background-size: 10px;
}



  #logo {
    margin-right: auto;
    flex-basis: 50%;
    text-align: left;
  }
  #logo img {
    height: 2rem;
  width: auto;
  }

  #btn-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 35px;
    margin-top: 35px;
    /* height: 100vh; */
}

  #menu-icon,
  #close-icon {
    margin-left: auto;
    flex-basis: 50%;
    text-align: right;
    font-size: 40px;
    margin-top: 0px;
  }

  #close-icon {
    display:none;
}

.navexpanded {
  height: auto;
}


.navexpanded #close-icon {
    display:inline-block;
    height: 20px;
    
}
.navexpanded #menu-icon {
    display:none;
}

  #logo a:hover,
  #menu-icon a:hover,
  #close-icon a:hover {
    background: none;
  }




  /* Styling for the Introduction */
#introduction {
    align-content: center;
    min-height: calc(100vh - var(--section-padding-top));
    /* letter-spacing: 0.001rem; */
    
    /* height: 200px; */
    /* background-color: rgb(117, 202, 202); */
    margin-top: 44px;
    /* padding-top: 120px; */
    /* font-weight: 700; */
  }

  #page-title {
    /* padding-top: var(--section-padding-top); */
    text-align: center;
  }
  #page-title h2{
    padding-top: 100px;
    /* text-align: center; */
  }

  .more-projects {
    margin-top: 140px;
    margin-bottom: 140px;
  }

  .more-projects h3{
    padding-bottom: 40px;
  }

  .project-title {
    margin-top: 30px;
    margin-bottom: 60px;
  }


  #portfolio a:hover h3,
#portfolio a:hover p {
  padding-left:var(--horizontal-shift);
}

.middle-text {
    margin-top: 50px;
    margin-bottom: 50px;
}


.Prototype {
    position: relative;
  overflow: hidden;
  width: 100%;
  /* padding-top: 56.25%; */
  padding-top: 90%;
}

.responsive-iframe {
    border: 1px solid rgba(0, 0, 0, 0.1);
    position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}



  img {
    width:100%;
  }


  .two-columns {
    display: grid;
    grid-template-columns:1fr;
    grid-gap:2rem;
  }

  .three-columns {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-gap:2rem;
    margin-bottom:2rem;
 }


  .two-columns-fixed {
    display: grid;
    grid-template-columns:1fr 1fr;
    grid-gap:2rem;
  }

  #about ul {
    list-style: none;
  }

  #about .intro-paragraph {
    font-size: calc(20px + (28 - 20) * (100vw - 400px) / (1800 - 400));
    grid-column: 1/-1;
  }


  /* Styling for the Sections */
section {
    display: grid;
    /* min-height: calc(100vh - var(--section-padding-top)); */
    padding-top: var(--section-padding-top);
    grid-template-columns: 5% 1fr 5%;
   align-content: start;
}
  
  section > * {
    grid-column: 2;
} 

#contact {
 min-height:auto;
 text-align: center;
 padding-top: 90px;
}

#contact a.btn {
  display: block;
  margin: 0 auto;
}

#myname {
  font-weight:900;
}

#maindescription {
  font-size: calc(30px + (48 - 32) * (100vw - 400px) / (1800 - 400));
  font-weight: 300;
  color: var(--dark-grey);


}

#aboutheadline {
  text-align: center;
  font-size: calc(20px + (48 - 32) * (100vw - 400px) / (1800 - 400));
  font-weight: 400;
  color: var(--black);
  text-align: center;
  margin-top: 30px;
}

#mydescription {
  font-size: calc(9px + (48 - 32) * (100vw - 400px) / (1800 - 400));

}

#profileimage {
  /* width: calc(30vw - 20px); */
  /* height: auto; */
  height: calc(30vw - 20px);
  width: auto;
  margin: auto;
}

#moreinfo {
  margin-bottom: 80px;
}

#scrolldown {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  margin-top: 130px;
}

#scrollbtn {
  border: 2px solid rgb(162, 162, 162);
  background-color: transparent;
  color: rgb(162, 162, 162);
}

#contact ul {
  display: flex;
  gap: 20px;
  justify-content: center;
  list-style-type: none;
  margin-bottom:1rem;
  margin-top: 1rem;

}
#contact ul li a {
  text-decoration: none;
  color: var(--white);
  font-size: 32px;
}
#contact ul li a:hover {
  text-decoration: none;
  color: var(--accent-colour);
}


 .btn {
   background-color: var(--black);
   border: none;
   color: var(--white);
   padding: 20px 40px;
   text-align: center;
   text-decoration: none;
   display: inline-block;
   font-size: calc(16px + (20 - 16) * (100vw - 400px) / (1800 - 400));
  width: fit-content;
  border-radius: 60px;
}
 .btn:hover {
   background-color: var(--accent-colour);
   color: white;
 
 padding-left: calc(32px + var(--horizontal-shift));
}
 .btn:visited {
     color: var(--white);
 }
 .btn:hover:visited {
     color: var(--white);
 }



/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */


@media (min-width: 900px) {

    nav {
     height: 70px;
     margin-left: 60px;
    margin-right: 60px;
    }

    .navexpanded {
        height: 90px;
    }

    .navexpanded #close-icon {
        display:none;
    }

  nav ul {
      flex-direction: row;
     align-items: baseline;
  }
    nav ul > li {
     flex-basis: auto;
    }

    header {
    padding-top: calc(20px + (72 - 20) * (100vw - 400px) / (1800 - 400));
    }

    #logo {
     flex-basis: auto;
    }
  #menu-icon {
      display: none;
  } 

  .two-columns {
    grid-template-columns:1fr 1fr;
}

.three-columns {
    grid-template-columns:1fr 1fr 1fr;
}

.auto-height {
    min-height: auto;
 }

.featured {
    grid-column: 1/-1;  /*This Class can be used to stretch an item the entire width of the parent grid */
}

.text-with-bg {
  background-color: #f8f8f8;
  /* border: #e2e2e2 1px solid; */
  padding: 3rem 2rem 1rem 2rem;
  border-radius: 12px;
  font-style: italic;
}


  section {
    grid-template-columns: 15% 1fr 15%;
} 


}

@media (max-width: 900px) {
#gap {
  min-height: 6px;
  }


.text-with-bg {
  background-color: #f8f8f8;
  /* border: #e2e2e2 1px solid; */
  padding: 2.5rem 1.5rem 0.5rem 1.5rem;
  border-radius: 12px;
  margin-top: 0px !important;
  margin-bottom: 20px !important;

  font-style: italic;
}

.middle-text {
    margin-top: 50px;
    margin-bottom: 50px;
}

.Prototype {
    position: relative;
  overflow: hidden;
  width: 100%;
  /* padding-top: 56.25%; */
  padding-top: 90%;
}

.responsive-iframe {
    border: 1px solid rgba(0, 0, 0, 0.1);
    position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

}
/* @media (max-width: 600px) {
  #mydescription {
    font-size: calc(30px * (100vw - 400px) / (1800 - 400));
  
  }

  #aboutheadline {
    font-size: calc(22px + (48 - 32) * (100vw - 400px) / (1800 - 400));
    font-weight: 400;
    margin-top: 30px;
  }

  #profileimage {

    height: calc(65vw - 20px);
  }

} */


@media (max-width: 1000px) {
  #mydescription {
    font-size: calc(16px + (48 - 32) * (100vw - 400px) / (1800 - 400));
  
  }

  #aboutheadline {
    font-size: calc(23px + (48 - 32) * (100vw - 400px) / (1800 - 400));
    font-weight: 400;
    margin-top: 30px;
  }

  #profileimage {

    height: calc(50vw - 10px);
  }

}

