@import url('https://fonts.googleapis.com/css2?family=Inter:wght@200,400;500;600;700&display=swap');

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

body {
  background-color: rgb(17, 17, 17);
  margin: 0rem;
  font-family: 'neue-haas-grotesk-display', Helvetica, Arial, sans-serif;
  color: hsla(0, 0%, 93%, 1);
}

.main-container {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  grid-template-rows: 1fr;
  gap: 0rem 1rem;
  grid-auto-flow: row;
  grid-template-areas:
    "content-left content-right";
  height: 100dvh;
  max-width: 900px;
  margin: 0 auto;
}

.content-left {
  justify-self: center;
  align-self: center;
  grid-area: content-left;
  padding-left: 2rem;
}

.content-left > .avatar {
  display: flex;
  justify-content: center;
}

.content-left > .avatar > .avatar-image {
  border-radius: 50%;
  max-width: 192px;
}

.content-left > .details {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.content-left > .details > .name {
  color: white;
  margin: 1rem 0rem;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 700;
  background: linear-gradient(128deg, rgba(151,129,225,1) 0%, rgba(151,129,225,1) 45%, rgba(225,184,129,1) 76%, rgba(68,40,162,1) 100%);
  background-size: 400% 400%;
  animation: gradient 10s ease infinite;
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

.content-left > .details > .description {
  font-weight: 400;
  font-style: normal;
  letter-spacing: 1px;
}

.content-right {
  justify-self: center;
  align-self: center;
  grid-area: content-right;
  padding-right: 2rem;
  max-width: 350px;
  width: 100%;
}

.content-right > .top-text-container {
  margin-bottom: 1.5rem;
  text-align: center;
}

.content-right > .top-text-container > .top-text {
  font-family: neue-haas-grotesk-display, sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: 1px;
  font-size: 1.5rem;
  color: rgba(151,129,225,1);
}

.content-right > .links {
  display: flex;
  flex-direction: column;
  gap: 1rem 0;
}

.content-right > .links > .find-me-link {
  padding: .5rem 2rem;
  background-color: #000;
  position: relative;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: .5rem;
  text-align: center;
  font-weight: 500;
  cursor: pointer;
  text-decoration: none;
  color: rgba(255, 255, 255, 0.82);
  letter-spacing: 1px;
}

.content-right > .links > .find-me-link > .find-me-icon {
  margin-right: .5rem;
}

.content-right > .links > .find-me-link:before {
  content: '';
  background: linear-gradient(45deg, #ff0000, #ff7300, #fffb00, #48ff00, #00ffd5, #002bff, #7a00ff, #ff00c8, #ff0000);
  position: absolute;
  top: -2px;
  left:-2px;
  background-size: 400%;
  z-index: -1;
  filter: blur(5px);
  width: calc(100% + 4px);
  height: calc(100% + 4px);
  animation: glowing 20s linear infinite;
  opacity: 0;
  transition: opacity .3s ease-in-out;
  border-radius:.5rem;
}

.content-right > .links > .find-me-link:active {
  color: #696969;
}

.content-right > .links > .find-me-link:active:after {
  background: transparent;
}

.content-right > .links > .find-me-link:hover:before {
  opacity: 1;
}

.content-right > .links > .find-me-link:after {
  z-index: -1;
  content: '';
  position: absolute;
  width: 100%;
  height: 100%;
  background: #111;
  left: 0;
  top: 0;
  border-radius: .5rem;
}

@keyframes glowing {
  0% { background-position: 0 0; }
  50% { background-position: 400% 0; }
  100% { background-position: 0 0; }
}

@keyframes gradient {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

@media screen and (max-width: 720px) {
  .main-container {
    grid-template-columns: 1fr;
    grid-template-rows: 1fr 1fr;
    gap: 1rem 0rem;
  }

  .main-container > .content-left {
    grid-column-start: 1;
    grid-row-start: 1;
    padding: 1.5rem 2rem;
    align-self: end;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .main-container > .content-right {
    grid-column-start: 1;
    grid-row-start: 2;
    padding: .5rem 2rem;
    align-self: start;
  }
}