/* Page */

.page {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

/* Sections */

.section {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  padding: 96px 0;
}

.section.sectionDark {
  background-color: #212121;
  color: #fff;
}

.section.sectionGray {
  background-color: #f5f5f7;
}

.section.sectionRounded {
  width: calc(100% - 48px);
  border-radius: 16px;
  max-width: 1296px;
  padding: 48px 0;
}

.section.sectionLessBottom {
  padding-bottom: 48px;
}

/* Containers */

.container {
  display: flex;
  max-width: 1344px;
  padding: 0 24px;
  gap: 36px;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex-wrap: wrap;
}

.splitContainer {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

@media (max-width: 1200px) {
  div.splitContainer {
    display: flex;
    align-items: center;
    justify-self: center;
    flex-direction: column;
  }
}

.section.sectionRounded .container {
  padding: 0 64px;
}

@media (max-width: 460px) {
  div.section.sectionRounded .container {
    padding: 0 32px;
  }
}

/* Titles */

.title {
  font-size: 64px;
  line-height: 64px;
  font-weight: 800;
  text-wrap: balance;
}

.subtitle {
  font-size: 20px;
  line-height: 34px;
  font-weight: 500;
  color: #86868b;
}

.sectionDark .subtitle {
  color: rgba(255, 255, 255, 0.7);
}

.pillTitle {
  background-color: #b3e5fc;
  color: #141414;
  padding: 2px 16px;
  display: inline-block;
  font-size: 16px;
  font-weight: 600;
  border-radius: 16px;
  margin-bottom: 16px;
}

@media (max-width: 600px) {
  .title.title {
    font-size: 52px;
    line-height: 52px;
  }
}

@media (max-width: 500px) {
  .title.title {
    font-size: 40px;
    line-height: 48px;
  }
}

/* Text */

.text {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: flex-start;
  max-width: 560px;
}

.centeredText {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 800px;
}

/* Buttons */

.button {
  background-color: transparent;
  border: 1px solid #eee;
  padding: 18px 32px;
  border-radius: 8px;
  font-weight: 600;
  font-family: inherit;
  font-size: 16px;
  line-height: 26px;
  cursor: pointer;
  flex-grow: 1;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 300ms ease-in-out;
}

.button.buttonPrimary {
  background-color: #212121;
  color: #fff;
  border: 0;
}

.button.buttonGradient {
  background-color: #fff;
  color: #000;
  position: relative;
  border: 0;
}

.button.buttonGradient:before {
  transition: all 200ms ease-in-out;
  border: 12px solid transparent;
  background-clip: padding-box;
  content: "";
  filter: blur(8px);
  height: calc(100%);
  opacity: 0.8;
  position: absolute;
  width: 100%;
  background-image: linear-gradient(-65deg, rgb(73, 162, 245), rgb(216, 106, 211));
  z-index: -2;
  border-radius: 8px;
}

.button.buttonGradient:after {
  transition: all 200ms ease-in-out;
  position: absolute;
  background-image: linear-gradient(-65deg, rgb(73, 162, 245), rgb(216, 106, 211));
  content: "";
  height: calc(100% + 2px);
  width: calc(100% + 2px);
  z-index: -1;
  border-radius: 9px;
}

.button.buttonGradient:hover:before {
  filter: blur(10px);
  margin-top: 4px;
  opacity: 1;
}

.button.buttonPrimary:disabled {
  background-color: #9e9e9e;
  color: #fff;
}

/* Spacers */

.spacer {
  flex-grow: 1;
}
