* {
  box-sizing: border-box;
  font-family: helvetica;
  font-size: 1.1rem;
  font-size: clamp(16px, 2vw, 1.1rem)
}

html {
  background-color: #000;
  min-width: 100vw;
  min-height: 100vh;
  margin: 0;
  text-align: center;
}

.background-image-container {
  position: fixed;
  left: 0;
  top: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  background-color: #020038;
}

.background-image-container:before,
.background-image-container:after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

@keyframes animateBackground {
  from{
      background-position: 0 1000%;
  }
  to{
      background-position: 0 0;
  }
}

.background-image-container:before {
  background-image: url('./static/texture.png');
  background-size: 18%;
  animation: animateBackground 80s linear infinite;
}
.background-image-container:after {
  background: radial-gradient(circle, transparent 0%, #000 80%);
}
.background-image-container img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

h1 {
  font-size: clamp(1rem, 6vw, 2rem);
}

footer,
header,
section {
  display: flex;
  background: linear-gradient(
    0deg,
    rgba(240,240,240,.95) 0%,
    rgba(255,255,255,.85) 80%,
    rgba(240,240,240,.95) 100%
  );
  box-shadow: 0 0 10rem rgba(255,255,255,0.2);

  justify-content: center;
  margin: 2rem 0;
  padding: 1rem;
}

footer,
header {
  margin: 3rem 0;
}

header {
  align-items: center;
  display: flex;
  margin-top: calc(100vh - 8rem);
}
header img {
  margin-right: 2rem;
}

.section-content {
  display: flex;
  max-width: 40rem;
  flex: 1;
}

.about {
  align-items: center;
  justify-content: space-between;
  text-align: left;
}
.about div:first-child {
  margin-right: 1rem;
}
.about img {
  background: radial-gradient(circle, #fff 0%, transparent 51%);
}

.projects {
  align-items: flex-start;
  flex-direction: column;
  text-align: left;
}
.projects p {
  margin: 0;
  padding: 0;
}
h3 {
  margin: 0;
}

.projects > a {
  align-items: center;
  display: flex;
  justify-content: flex-start;
  padding: 3.5rem 1rem;
  margin: 0 -1rem;

  width: 100%;
  color: inherit;
  text-decoration: none;
  min-height: 100px;
}
.projects > a:active,
.projects > a:hover,
.projects > a:focus {
  background: linear-gradient(90deg, #fff 0%, transparent 200px);
  outline: none;
  box-shadow: -1px 0 0 1px #aaa;
}


.projects img {
  margin-right: 1rem;
}


.toptal {
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  outline: none;
}
.toptal a {
  border: 0 solid transparent;
  border-width: 2px 0;
  padding: 1rem;
  color: inherit;
}
.toptal a:hover,
.toptal a:focus,
.toptal a:active {
  outline: none;
  border-color: #aaa;
  background: linear-gradient(90deg, transparent 0%, #fff 50%, transparent 100%);
}
.toptal hr {
  background-color: #ccc;
  height: 2px;
  border: 0;
  width: 200px;
  margin: 1rem auto;
}

footer {
  flex-wrap: wrap;
  justify-content: flex-start;
}
footer a {
  text-decoration: none;
  padding: .5rem;
}
footer a:last-child {
  padding-right: 2rem;
}

footer > a:active,
footer > a:hover,
footer > a:focus {
  background: linear-gradient(90deg, #fff 0%, transparent 80px);
  outline: none;
  box-shadow: -1px 0 0 1px #aaa;
}

footer a:not(:last-child):after {
  content: "-";
  margin: 1rem;

}

@media screen and (max-width: 500px) {
  header img {
    display: none;
  }
}
