/* styles.css */ :root { --primary-color: #2a1827; --secondary-color: #6c757d; --dark-color: #343a40; --light-color: #f4f4f4; --white: #fff; --danger-color: #dc3545; --covered: 50%; --link-color: #668be2; } html { scroll-behavior: smooth; } body { font-family: Arial, sans-serif; line-height: 1.6; margin: 0; padding: 0; color: #333; overflow-x: hidden; } a { color: var(--link-color); text-decoration: none; text-shadow: 0 0; } main, footer { a { transition: text-shadow 0.3s ease; } a:hover { /*glow effect */ text-shadow: 0 0 5px var(--link-color), 0 0 10px var(--link-color), 0 0 20px var(--link-color); } } img { max-width: 100%; } .container { max-width: 1200px; margin: 0 auto; padding: 20px; } .header { background: var(--dark-color); background-image: url(./bg-head.webp); background-size: cover; background-repeat: no-repeat; background-position: bottom; background-attachment: fixed; background-blend-mode: multiply; color: #fff; text-align: center; padding: 50px 20px; } .header .container { display: flex; flex-direction: column; justify-content: space-evenly; display: flex; height: 100%; } @media (min-width: 768px) { .header { display: flex; align-items: center; height: 100vh; padding: 0; padding-bottom: 115px; } main>section { flex: 1; height: 100vh; display: flex; justify-content: center; align-items: center; } } .header h1 { font-size: 3rem; margin: 0; background-image: url("https://github.com/Katenary/katenary/raw/refs/heads/develop/doc/docs/statics/logo-vertical.svg"); color: transparent; background-size: contain; background-repeat: no-repeat; background-position: center; height: 265px; } .header p { font-size: 1.2rem; margin: 20px 0; } .btn-primary { display: inline-block; background: #fff; color: var(--primary-color); padding: 10px 20px; border-radius: 5px; text-decoration: none; font-weight: bold; margin-top: 20px; } .btn-primary:hover { background: #0056b3; color: #fff; } .features { background: var(--light-color); padding: 50px 20px; text-align: center; } .features h2 { font-size: 2.5rem; margin-bottom: 20px; } .feature-grid { /* display: grida; gap: 20px; margin-top: 20px; grid-auto-rows: 200px; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); */ display: flex; flex-wrap: wrap; justify-content: center; gap: 20px; } @keyframes slidingLeft { from { transform: translateX(-100vw); filter: opacity(0) blur(10px); } to { transform: translateX(0); filter: opacity(1) blur(0); } } @keyframes slidingRight { from { transform: translateX(100vw); filter: opacity(0) blur(10px); } to { transform: translateX(0); filter: opacity(1) blur(0); } } .feature-item { background: var(--white); border: 1px solid #ddd; flex: 1 1 200px; padding: 20px; border-radius: 8px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); } @media (min-width: 768px) { :root { --animation-slide: entry 0% contain 0%; } .from-left { view-timeline: --reveal-blockl; view-timeline-axis: block; animation: linear slidingLeft forwards; animation-range: var(--animation-slide); animation-timeline: --reveal-blockl; } .from-right { view-timeline: --reveal-blockr; view-timeline-axis: block; animation: linear slidingRight forwards; animation-range: var(--animation-slide); animation-timeline: --reveal-blockr; } } .how-it-works, .how-to-use, .tutorials { padding: 50px 20px; text-align: center; } h2 { font-size: 2.5rem; margin-bottom: 20px; text-align: center; } .how-it-works ol { list-style: decimal inside; text-align: left; max-width: 800px; margin: 0 auto; padding: 0; } .image-placeholder { margin: 30px auto; height: 275px; width: 100%; max-width: 1280px; display: flex; justify-content: center; align-items: center; font-size: 1.2rem; border-radius: 8px; padding: 2em 0; img { margin: 10px; width: 100%; height: 100%; object-fit: fill; border-radius: 8px; } } .get-started { background: var(--primary-color); color: var(--white); padding: 50px 20px; text-align: center; display: flex; flex-direction: column; pre { background: var(--white); color: #333; padding: 10px; margin: 20px 0; border-radius: 5px; } >.container { display: flex; flex-direction: row; } } div.video { padding-top: 25px; } pre { text-align: left; } @media (min-width: 768px) { .example { display: flex; justify-content: space-between; align-items: center; gap: 20px; } iframe { width: 100%; height: 500px; } } iframe { max-width: 100%; } section { width: 100%; &:nth-child(even) .example { text-align: right; flex-direction: row-reverse !important; } &:nth-child(odd) .example { text-align: left; flex-direction: row; } &:nth-child(even) .example h3 { text-align: right; } &.alternate:nth-child(odd) { background: var(--light-color); color: var(--dark-color); } &.alternate:nth-child(even) { background: var(--dark-color); color: var(--light-color); } } .example>div { flex: 1 1 200px; align-content: center; } code.hljs { border-radius: 5px; box-shadow: 0 6px 15px rgba(0, 0, 0, 0.5); } p code { background: var(--dark-color); color: var(--light-color); padding: 1px 5px; border-radius: 5px; display: inline-block; } #menu-toggle { position: fixed; z-index: 11; margin: 0; } @media (min-width: 768px) { #menu-toggle { display: none; } .navbar { background: var(--white); color: var(--dark-color); display: flex; justify-content: space-evenly; align-items: center; position: fixed; top: 0px; z-index: 10; width: 100%; .container { padding: 0; } li { &.external { border-left: 1px solid var(--secondary-color); } } } nav ul { display: flex; flex-wrap: wrap; list-style: none; } nav ul li { margin: 0 10px; } nav ul li a { color: var(--dark-color); text-decoration: none; display: block; padding: 10px; } nav ul li a:hover { color: var(--light-color); background: var(--dark-color); } nav ul li a.active { color: var(--light-color) !important; background: var(--dark-color) !important; } } @media (max-width: 768px) { .navbar { display: none !important; } .navbar:hover, #menu-toggle:focus~.navbar { display: block !important; } .navbar { opacity: 0.8; position: fixed; top: 10px; left: 0px; color: var(--white); font-size: 1rem; cursor: pointer; background: var(--dark-color); color: var(--white); display: flex; justify-content: space-between; align-items: center; padding: 10px 20px; border: 1px solid var(--dark-color); box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); border-radius: 5px; &:has(a:active) { display: none; } } nav ul { display: block; list-style: none; padding: 0; margin: 0; li { margin: 0; a { color: var(--white); text-decoration: none; display: block; padding: 10px; } } } a { color: var(--white); text-decoration: none; display: block; padding: 10px; } } footer { display: flex; flex-wrap: wrap; background: #333; color: #fff; text-align: center; padding: 20px 0; font-size: 0.9rem; section { padding: 20px; text-align: center; flex: 1 1 250px !important; p { font-weight: bold; } } ul { list-style: none; padding: 0; li { margin: 5px 0; } } a { color: var(--link-color); } .container { display: flex; flex: 1 1 auto; justify-content: space-between; align-items: start; width: 100%; flex-wrap: wrap; >p { flex: 1 1 auto; text-align: center; } } section { flex: 1 1 auto; align-self: normal; position: relative; } } @media (min-width: 768px) { footer section:after { content: " "; display: block; background: #fff; position: absolute; right: 0; top: 5%; height: 90%; width: 1px; filter: opacity(0.5) blur(1px); } footer section:last-child:after { display: none; } } .large-icon { font-size: 3rem; } @keyframes bouncing { 0% { transform: translateY(0); } 50% { transform: translateY(-20px); } 100% { transform: translateY(0); } } .down { position: relative; bottom: 0; } a.down { background: var(--white); color: var(--dark-color); width: 120px; height: 120px; display: flex; align-items: center; justify-content: center; border-radius: 50%; align-self: center; animation: bouncing 2s infinite; }