:root { --font-montserrat: "Montserrat", sans-serif; --font-farsi: "IRANYekan", Tahoma, "Segoe UI", sans-serif; --font-ui: var(--font-montserrat), var(--font-farsi); --color-black: #000; --color-white: #fff; --color-bg: #ffffff; --color-card: #eeeeee; --color-muted: #4a4a4a; --color-soft: #8e8e8e; --color-body: #aaaaaa; --color-dark: #1e1e1e; --color-explore: #f9f9f9; --color-footer: #070707; --color-footer-text: #bababa; --color-footer-line: #232323; --page-pad: 40px; --max-width: 1920px; --container-width: 1080px; --sidebar-width: 248px; --page-title-pattern: radial-gradient( rgba(0, 0, 0, 0.12) 0.75px, transparent 0.85px ); --page-title-pattern-size: 14px 14px; } * { box-sizing: border-box; padding: 0; margin: 0; } html { height: 100%; scroll-behavior: smooth; } html, body { max-width: 100vw; overflow-x: hidden; } body { min-height: 100%; color: var(--color-black); background: var(--color-bg); font-family: var(--font-ui); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } img { display: block; max-width: 100%; } button, a { font-family: inherit; color: inherit; } a { text-decoration: none; color: inherit; } button { background: none; border: none; cursor: pointer; } .icon { display: block; object-fit: contain; } .outline-btn { position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center; border: 0.5px solid var(--color-black); border-radius: 3px; background: transparent; color: var(--color-black); font-weight: 400; text-transform: uppercase; letter-spacing: 0.2em; white-space: nowrap; transition: color 0.3s ease, border-color 0.3s ease; } .outline-btn:hover, .outline-btn:focus-visible { color: var(--color-white); background: transparent; } .outline-btn:hover :is(span, strong, em, p, a, label, button), .outline-btn:focus-visible :is(span, strong, em, p, a, label, button) { color: var(--color-white); } .tile-hover, .outline-btn { position: relative; isolation: isolate; } .tile-hover::before, .outline-btn::before { content: ""; position: absolute; inset: 0; background: var(--color-black); clip-path: inset(100% 0 0 0); transition: clip-path 0.45s cubic-bezier(0.25, 0.8, 0.25, 1); pointer-events: none; border-radius: inherit; } .tile-hover::before { z-index: 0; } .outline-btn::before { z-index: -1; } .tile-hover:hover::before, .tile-hover:focus-within::before, .outline-btn:hover::before, .outline-btn:focus-visible::before { clip-path: inset(0 0 0 0); } .tile-hover > *:not(img), .outline-btn > * { position: relative; z-index: 2; } .tile-hover:hover, .tile-hover:focus-within, .tile-hover:hover :is(h1, h2, h3, p, span, strong, a), .tile-hover:focus-within :is(h1, h2, h3, p, span, strong, a) { color: var(--color-white); } .tile-hover :is(h1, h2, h3, p, span, strong, a) { transition: color 0.3s ease, border-color 0.3s ease; } .outline-btn:hover img, .outline-btn:focus-visible img { position: relative; z-index: 2; } @media (prefers-reduced-motion: reduce) { .tile-hover::before, .outline-btn::before { transition: none; } } .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; } .fa, [lang="fa"], :lang(fa) { font-family: var(--font-farsi); font-weight: 400; letter-spacing: 0; } [dir="ltr"] { unicode-bidi: isolate; direction: ltr; } @media (max-width: 1100px) { :root { --page-pad: 28px; } } @media (max-width: 720px) { :root { --page-pad: 20px; } }