:root { --bg-primary: #FFFFFF; --bg-secondary: #f9fafb; --text-primary: #343434; --text-primary-invert: #f9fafb; --text-secondary: #9ca3af; --text-accent: #f97316; --footer-bg: #111827; --border-radius: 0.5rem; --transition-duration: 0.3s; --bottom-shadow: 4px 4px 10px rgba(0, 0, 0, 0.1); --smooth-shadow: 0 8px 14px 0 rgba(0, 0, 0, 0.08); --red: #AA3333; --orange: coral; --blue: cornflowerblue; --green: #77cfa5; --grey: #AAAAAA; } html, body { scroll-behavior: smooth; font-family: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; margin: 0; padding: 0; color: var(--text-primary); } #vanta-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; background-color: #111827; min-height: 100vh; } pre { text-wrap: auto; background-color: var(--text-primary); padding: 1rem; border-radius: var(--border-radius); box-shadow: var(--bottom-shadow); font-size: 0.875rem; code { color: var(--text-primary-invert); span { color: var(--green); } } } .hidden { display: none; } .gradient-text { background-clip: text; color: transparent; background-image: linear-gradient(to right, #f97316, #7c3aed); } .button { background-color: var(--text-accent); color: var(--text-primary-invert); padding: 0.75rem 1.5rem; border: none; border-radius: var(--border-radius); cursor: pointer; font-size: 1rem; transition: background-color var(--transition-duration); text-decoration: none; display: inline-block; .feather { vertical-align: middle; margin-left: 0.1rem; height: 1rem; } &:hover { box-shadow: 0 4px 14px 0 rgba(249, 115, 22, 0.69); } } .picto { display: flex; justify-content: center; align-items: center; border-radius: 100%; width: 3.5rem; height: 3.5rem; &.red { color: var(--red); background-color: hsl(from var(--red) h s calc(l*1.4)); } &.blue { color: var(--blue); background-color: hsl(from var(--blue) h s calc(l*1.4)); } &.orange { color: var(--orange); background-color: hsl(from var(--orange) h s calc(l*1.4)); } &.green { color: var(--green); background-color: hsl(from var(--green) h s calc(l*1.4)); } &.grey { color: var(--grey); background-color: hsl(from var(--grey) h s calc(l*1.4)); } } nav { width: 100%; flex-direction: row; .nav-links { display: none; gap: 1.5rem; a, a:visited { .feather { vertical-align: middle; margin-right: 0.25rem; height: 1rem; } transition: color .2s ease-in-out; text-decoration: none; color: var(--text-primary); &:hover { color: var(--text-accent); } } } #navbar { max-width: 80rem; margin: 0 auto; display: flex; padding: 1rem 0; justify-content: space-between; img { height: 40px; } } } #hero { overflow: hidden; position: relative; padding: 6rem 1rem 8rem 1rem; #hero-content { h1 { font-size: 3.75rem; margin-bottom: 1rem; } max-width: 80rem; margin: 0 auto; position: relative; text-align: center; color: var(--text-primary-invert); p { font-size: 2rem; } } } section { padding: .5rem 0.5rem; >div { margin: 0 auto; max-width: 80rem; margin-bottom: 4rem; } >div:nth-child(1) { text-align: center; h2 { font-size: 2rem; } } } .diapo { display: flex; flex-wrap: wrap; >div { border: 1px solid rgba(from var(--text-primary) / 0.3); display: flex; flex-direction: column; border-radius: 1rem; background-color: var(--bg-secondary); padding: 0.2rem 1rem; transition: all .3s ease-in-out; flex: 1; min-width: 15rem; p { flex-grow: 1; } } .action { justify-self: center; align-self: center; margin-bottom: 1rem } } #demo { .video-player { width: 65%; margin: 0 auto; height: 26rem; box-shadow: 0 0 12px rgba(0, 0, 0, 0.5); border-radius: 1rem; } } #tutorials { .video-player { width: 85%; margin: 0 auto; height: 16rem; } .diapo { text-align: center; } } #cta { padding: 4rem 1rem; background: linear-gradient(to right, #f97316, #7c3aed); h2 { color: var(--text-primary-invert); } color: var(--text-primary-invert); .button { background-color: var(--text-primary-invert); color: var(--text-primary); font-weight: bold; } } footer { padding-top: 1rem; background-color: var(--footer-bg); color: var(--text-primary-invert); ul, li { list-style: none; padding: 0; } a, a:visited { color: var(--text-secondary); text-decoration: none; &:hover { text-decoration: underline; } } .diapo { max-width: 80rem; margin: 0 auto; } .diapo>div { background-color: transparent; &:hover { box-shadow: none; } } .logo img { height: 3rem } .feather { margin-right: 0.5rem; justify-self: center; height: 2rem; } .copyright { text-align: center; padding: 1rem 0; font-size: 0.875rem; color: var(--text-secondary); } } .video-player iframe { width: 100%; height: 100%; border-radius: 1rem; } #mobile-menu-button { position: absolute; top: 1rem; right: 1rem; background: none; border: none; cursor: pointer; z-index: 30; .feather { height: 2rem; color: var(--text-primary); } } #mobile-menu { position: absolute; background-color: var(--bg-primary); width: 100%; z-index: 20; a, a:hover, a:visited { display: block; padding: 1rem; border-bottom: 1px solid var(--text-secondary); text-decoration: none; color: var(--text-primary); } >div { display: flex; flex-direction: column; } } @media (min-width: 769px) { #mobile-menu, #mobile-menu-button { display: none; visibility: hidden; } nav { position: fixed; top: 0; z-index: 10; background-color: var(--bg-secondary); box-shadow: var(--bottom-shadow); #navbar { padding: 1rem 2rem 0 0; } } #hero { margin-top: 4rem; } .nav-links { display: flex !important; } section, nav { padding: 0 1rem; } .diapo { gap: 0.8em; >div { padding: 2rem; } .action { margin-bottom: 0; } } }