:root {
  --bg-color: #fff;

  --purple: #3e1374;
  --deep-purple: #300e59;
  --purple-hover: #631eb8;
  --purple-hover-b: #6521bc;
  --light-purple: #3e137469;

  --soft-blue: #d7eff0;

  --light-blue: #b0e0e2;
  --soft-light-blue: #b0e0e23c;
}

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

  font-family: "museo-sans", "freight-sans-pro", sans-serif;
}

html {
  scroll-behavior: smooth;
}
/* 1282
92.89855072463769 */
body {
  width: 100%;
  text-align: center;
  overflow-x: hidden;

  -webkit-font-smoothing: antialiased;
}

ul {
  list-style: none;
}

h1,
h2,
h3 {
  font-weight: 700;
}

p {
  font-size: 1.125rem;
}

a {
  width: fit-content;
  
  width: -moz-fit-content;
}

button {
  cursor: pointer;
  background-color: transparent;
  border: none;
}

*::selection {
  background-color: var(--purple-hover);
  color: #fff;
}

.wrapper {
  max-width: 1380px;
  margin-inline: auto;
}

button.button {
  font-weight: 700;
  font-size: 1.125rem;
  letter-spacing: 0.36px;
  color: #fff;

  border: none;
  border-radius: 4px;

  background-color: var(--purple);
  padding: 1rem 1.125rem;
  cursor: pointer;

  width: max-content;

  transition: background 0.3s, color 0.3s;
}

button.button:disabled {
  cursor: default;
  opacity: 0.7;
}

button.button:not(:disabled):hover {
  background-color: var(--purple-hover-b);
}

button.button a {
  text-decoration: none;
  color: inherit;
}

@keyframes appear {
  from {
    opacity: 0;
  }
  to {
    opacity: 100%;
  }
}

@keyframes appearAndGrow {
  from {
    opacity: 0;
    width: 0;
  }
  to {
    opacity: 100%;
    width: 100%;
  }
}

@keyframes appearAndGrowTerminalBar {
  from {
    opacity: 0;
    width: 0;
  }
  to {
    opacity: 100%;
    width: calc(100% + 20px);
  }
}
