* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


h1 {
  font-family: "Consolas", "Courier New", monospace;
  color: #00ff41;
  text-shadow: 0 0 5px black;
  font-size: 30px;
  text-align: center;
  margin-top: 0px;
  white-space: nowrap;
  overflow: hidden;
  transform: translateY(-50%);
}

h3, h6 {
  font-family: 'Alegreya', serif;
  text-transform: uppercase;
}

h6 {
  text-align: center;
}

h3 {
  color: rgb(203, 203, 203);
  font-size: 50px;
  text-shadow: 0 0 10px black;
}

/* Animation */
.typewriter {
  animation: typewriter 1s steps(14) 1s 1 normal both,
    blinkTextCursor 1s steps(14) infinite normal;
}
@keyframes typewriter {
  from {
    width: 0;
  }
  to {
    width: 18em;
  }
}
@keyframes blinkTextCursor {
  from {
    border-right-color: rgba(255, 255, 255, 0.75);
  }
  to {
    border-right-color: transparent;
  }
}

.animate__animated.animate__fadeInUpBig {
  --animate-duration: 7s;
  --animation-delay: .3s;
}


.wrapper {
  height: 100vh;
  overflow-y: auto;
  overflow-x: hidden;
  perspective: 10px;
}

header {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  transform-style: preserve-3d;
  z-index: -1;
}


*,
:after,
:before {
  scroll-behavior: smooth;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

.scroll-down {
  opacity: 1;
  -webkit-transition: all .5s ease-in 3s;
  transition: all .5s ease-in 3s;
}

.scroll-down {
  position: absolute;
  bottom: 30px;
  left: 50%;
  margin-left: -16px;
  display: block;
  width: 40px;
  height: 40px;
  background-size: 14px auto;
  z-index: 2;
  -webkit-animation: bounce 2s infinite 2s;
  animation: bounce 2s infinite 2s;
  -webkit-transition: all .2s ease-in;
  transition: all .2s ease-in;
}

.scroll-down:before {
    position: absolute;
    top: calc(50% - 8px);
    left: calc(50% - 6px);
    transform: rotate(-45deg);
    display: block;
    width: 12px;
    height: 12px;
    content: "";
    border: 2px solid #00ff41;
    border-width: 0px 0 2px 2px;
}

@keyframes bounce {
  0%,
  100%,
  20%,
  50%,
  80% {
    -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
  }
  40% {
    -webkit-transform: translateY(-10px);
    -ms-transform: translateY(-10px);
    transform: translateY(-10px);
  }
  60% {
    -webkit-transform: translateY(-5px);
    -ms-transform: translateY(-5px);
    transform: translateY(-5px);
  }
}

hr {
  background-color: lightblue;
  box-shadow: 0 0 1px 1px white;
  width: 80%;
}

.projects a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: black;
  text-decoration: none;
  cursor: pointer;
}

.background,
.foreground,
.infront {
  position: absolute;
  height: 100%;
  width: 100%;
  border: none;
  object-fit: cover;
  z-index: -1;
}

.infront {
  animation: fadeInAnimation ease 7s;
  opacity: 0;
  animation-delay: 0.5s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 0.9;
  }
}

.infront {
  position: absolute;
  margin-top: 350px;
  height: 100%;
  width: 100%;
  object-fit: cover;
  z-index: -1;
}

.background {
  transform: translateZ(-30px) scale(4.1);
}

.foreground {
  transform: translateZ(-20px) scale(3.1);
}

.infront {
  transform: translateZ(-10px) scale(2.1);
}

.custom-shape-divider-bottom-1689908511 {
  position: absolute;
  margin-bottom: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-bottom-1689908511 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 130px;
}

.custom-shape-divider-bottom-1689908511 .shape-fill {
  fill: rgb(90, 101, 107);
}

.custom-shape-divider-bottom-1686835790 {
  position: absolute;
  margin-bottom: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-bottom-1686835790 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 100px;
}

.custom-shape-divider-bottom-1686835790 .shape-fill {
  fill: rgb(73, 85, 90);
}

.custom-shape-divider-bottom-1686836607 {
  position: absolute;
  margin-bottom: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  overflow: hidden;
  line-height: 0;
  transform: rotate(180deg);
}

.custom-shape-divider-bottom-1686836607 svg {
  position: relative;
  display: block;
  width: calc(100% + 1.3px);
  height: 100px;
}

.custom-shape-divider-bottom-1686836607 .shape-fill {
  fill: rgb(90, 101, 107);
}

.projects {
  position: relative;
  max-width: 100vw;
  min-width: auto;
  background-color: rgb(90, 101, 107);
  padding-bottom: 120px;
  padding-top: -20px;
}

.bio {
  position: relative;
  background-color: rgb(73, 85, 90);
  padding-bottom: 120px;
  padding-top: -20px;
  padding-right: 20px;
}

.contact {
  position: relative;
  padding-top: -20px;
  background-color: rgb(90, 101, 107);
  color: white;
}

section {
  display: table;
  table-layout: fixed;
  height: 100vh;
  width: 100%;
  font-size: 1.5rem;
  padding: 2rem;
  background-color: rgb(73, 85, 90);
  color: white;
}

.job {
  color: silver;
  text-decoration: none;
  transition: 1s ease;
}

.job:hover {
  color: white;
  text-decoration: none;
  text-shadow: 1px 0 10px #04aa6d;
  transition: color 0.5s ease;
}

.job:active {
  color: #20b2aa;
}

p {
  font-family: 'Alegreya Sans', sans-serif;
  font-size: 20px;
  margin: 20px;
}

.container-fluid {
  display: flex;
  justify-content: center;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: row;
  gap: 20px 20px;
  margin: auto;
  
}

.p1,
.p2,
.p3,
.p4,
.p5 {
  flex: auto;
  border: rgb(130, 142, 147) solid 3px;
  border-radius: 10px;
  background-color: rgb(60, 72, 77);
  box-shadow: 0 0 20px black;
  color: white;
  padding: 10px;
  margin-top: 20px;  
  width: 450px;
  height: 480px;
  max-width: 90vw;
  min-width: auto;
  max-height: fit-content;
  opacity: .5;
  transition: .5s ease-in-out;
}

.p1:hover,
.p2:hover,
.p3:hover,
.p4:hover,
.p5:hover {
  opacity: 1;
  background-color: #0f0f0f;
  color: white;
  border: white solid 3px;
  box-shadow: 0px 0px 10px 8px violet;
  text-shadow: violet 1px 3px 1px;
  transition: .5s ease-in-out;
}

.p1:hover h6,
.p2:hover h6,
.p3:hover h6,
.p4:hover h6,
.p5:hover h6 {
  transition: .5s ease;
  font-size: 22px;
  color: white;
}

img {
  display: block;
  margin: 10px auto;
  border: white 1px solid;
  border-radius: 5px;
  width: 100%;
  height: 250px;
}

.description {
  font-size: 15px;
  margin-top: 15px;
}

form {
  font-size: 14px;
  width: 60vw;
  max-width: 500px;
  min-width: 300px;
  margin: 0 auto;
  padding-bottom: 2em;
}

fieldset {
  border: none;
  padding: 20px 0;
}

fieldset:last-of-type {
  border-bottom: none;
}

label {
  display: block;
  margin: 1rem 0;
}

input,
textarea,
select {
  margin: 10px 0 0 0;
  width: 100%;
  min-height: 2em;
}

input,
textarea {
  background: linear-gradient(rgb(233, 233, 233), white, rgb(22, 22, 22));
  border: 1px solid lightblue;
  color: black;
}

.inline {
  width: unset;
  margin: 0 0.5em 0 0;
  vertical-align: middle;
}

input[type="submit"] {
  display: block;
  width: 60%;
  margin: 1em auto;
  height: 2em;
  font-size: 1.1rem;
  font-weight: bold;
  background-color: black;
  border-color: lightblue;
  min-width: 300px;
}

input[type="submit"]:hover {
  cursor: pointer;
}

input[type="submit"]:active {
  background: linear-gradient(rgb(22, 22, 22), white, rgb(233, 233, 233));
}

#icons {
  display: flex;
  justify-content: space-around;
  align-items: baseline;
  align-self: flex-end;
  flex-direction: row;
  gap: 10px 10px;
}

#icon {
  color: lightblue;
  gap: 10px 10px;
}

#icon:hover {
  transition: 1.5s ease;
  color: lightblue;
  transition: 1s ease;
}

footer {
  display: flex;
  justify-content: space-between;
  align-content: flex-start;
  align-items: center;
  flex-direction: row;  
  color: lightblue;
  border-top: 1px solid lightblue;
  height: 100px;
  padding-top: 20px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 20px;
  background: linear-gradient(#333, #0f0f0f);
}

/* width */
::-webkit-scrollbar {
  width: 20px;
}

/* Track */
::-webkit-scrollbar-track {
  background-color: rgb(23, 23, 23);
  box-shadow: inset 0 0 5px teal;
  /* border-radius: 10px; */
}

/* Handle */
::-webkit-scrollbar-thumb {
  background-color: rgb(23, 23, 23);
  border: #ddd 1px solid;
  box-shadow: inset 0 0 5px #ddd;
}

Handle on hover ::-webkit-scrollbar-thumb:hover {
  background: #04aa6d;
}