/* General  */
*, ::after, ::before {
  box-sizing: border-box;
}

:root {
  color-scheme: dark;
  --text-color: #ffffff;
  --secondary-text-color: #757575;
  --code-text-color: #ffffff;
  --assent-color: #7471f6;
  --bg-primary: #000000;
  --bg-secondary: #F5F5F5;
  --bg-tertiary: #EEEEEE;
  --bg-select: #717171;
  --bg-button: #E0E0E0;
  --bg-profile: #E0E0E0;
  --border-color: #DFDFDF;
}

html {
  font-family: -apple-system,BlinkMacSystemFont,Inter,system-ui,sans-serif;
  font-size: 17px;
  line-height: 1.5em;
  font-synthesis: none;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased; 
  text-align: left;
}

html, body {
  margin: 0;
  padding: 0;
  color: var(--text-color);
  background-color: var(--bg-primary);
}

.home {
  flex: 1;
  color: #ffffff
}

.home section,
.home header {
  display: flex;
  justify-content: center;
  padding: 2rem 5rem 4rem;
}

.home header {
  flex-direction: column;
  align-items: center;
  row-gap: 1.8rem;
  color: #7471f6;
}

.home header>.title {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 5.8rem
}

.home header>.title>span {
  font-weight: 500
}

.home header>.title>span:last-child {
  font-size: 4rem;
  font-weight: 550
}

.home header>.buttons {
  display: block;
}

.home header>.buttons>a {
  height: 1.5rem
}

.home .features {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-evenly;
  flex-wrap: wrap;
  max-width: 70rem;
  column-gap: 2rem
}

.home .features>.feature {
  flex: 1;
  text-align: center;
  max-width: 30%
}

.home .features>.feature>.details h2 {
  font-size: 1.3rem;
  font-weight: 550;
  margin-bottom: 0
}

.home .features>.feature>.details p {
  font-size: .95rem;
  margin-top: .3rem;
  line-height: 1.7;
  opacity: 70%
}

.home .features>.feature>.image {
  padding-top: .5rem
}

.home .features>.feature>.image>img {
  max-height: 38em;
  max-width: 100%
}

footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.7;
  padding: 2rem 5rem;
  color: #919196
}

footer .copyright {
  font-size: 1.0rem;
  font-weight: 400;
  color: #555
}

footer .detail {
  margin-top: -.1rem;
  font-size: .9rem;
  font-weight: 300
}

@media only screen and (max-width:768px) {
  .home header,
  .home section {
    padding: 2rem 3rem 4rem
  }

  .home .features {
    flex-direction: column;
    row-gap: 2rem
  }

  .home .features .feature {
    max-width: 100%
  }

  footer {
    padding: 2rem
  }
}

/*.icon {
  border-radius: 22.5%;
  border: 1px solid var(--secondary-text-color);
}*/

a {
  text-decoration: none;
  color: #7471f6
}

.button {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1.2rem 1.5rem;
  border-radius: .4rem;
  font-size: 1rem;
  font-weight: 500;
  color: #fff;
  background-color: #7471f6;
  cursor: pointer
}

.button:hover {
  background-image: linear-gradient(rgb(33, 33, 33, .02) 0 0)
}

.mobile {
  display: none
}

@media only screen and (max-width:920px) {
  .page {
    padding-left: 16rem
  }
}

@media only screen and (max-width:768px) {
  .page {
    padding-left: 0
  }

  .mobile {
    display: flex
  }
}

.root {
  padding-top: 4rem
}

.page {
  padding-left: 20rem
}

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 20;
  display: flex;
/*  height: 4rem;*/
  padding: 1rem 4rem;
  line-height: 2rem;
  box-sizing: border-box;
  column-gap: 1rem;
  color: #7471f6;
  background: #000000;
  border-bottom: 1px solid #3f3b3c
}

.navbar.border {
  border-color: #ebebeb
}

.navbar>.left {
  flex: 1;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  column-gap: 1rem
}

.navbar>.left .icon {
  position: relative;
  top: .25rem
}

.navbar>.left>.menu {
  display: none
}

.navbar>.left>.title {
  font-size: 1.5rem;
  font-weight: 400;
  color: #7471f6
}

.navbar>.left>.title.bold {
  font-weight: 450
}

.navbar>.left>.title:nth-child(3) {
  margin-left: -.4rem
}

.navbar>.links {
  flex: 2;
  display: flex;
  justify-content: flex-end;
  column-gap: 1.5rem
}

.navbar>.links>.nav-link {
  color: #7471f6;
  text-decoration: none;
  font-weight: 500
}

.navbar>.links>.nav-link.active,
.navbar>.links>.nav-link:hover {
  border-bottom: .15rem solid #7471f6
}

.navbar>.links>.nav-link:first-child {
  margin-left: 0
}

@media only screen and (max-width:768px) {
  .navbar {
    padding: 1rem;
    flex-direction: column;
  }

  .navbar>.left {
    display: none;
  }

  .navbar>.links {
    flex: 2;
    display: flex;
    justify-content: center;
    column-gap: 1.5rem
  }
}

h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.5rem;
}

h3 {
  font-size: 1.25rem;
}

h1, h2, h3, h4, h5, h6, hgroup {
  margin-bottom: 1rem;
  line-height: 1.25;
  text-rendering: optimizeLegibility;
  color: var(--text-color)
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

a {
  text-decoration: none;
  color: var(--assent-color);
  font-weight: 400;
}

a:hover, a:active {
  text-decoration: underline;
}

/* Container */
.main-container {
  overflow: hidden;
  height: auto;
  width: 100%;
  max-width: 45rem;
  margin: 0 auto;
  padding: 0 1rem;
}

img {
  max-width: 100%;
  height: auto;
}

figure, img {
  margin: 0;
}

.container {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

*[debug] * {
 outline: 1px solid #009DDC !important;
}
