syntaxis/assets/showcases/syntaxis-branding-showcase.html

1288 lines
45 KiB
HTML
Raw Normal View History

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SYNTAXIS - Branding Showcase</title>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Source+Sans+Pro:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet">
<link rel="stylesheet" href="assets/header-shared.css">
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
:root {
/* Colors - Updated with Balanced Gray */
--syntaxis-blue: #2C5F8E;
--syntaxis-gray: #757773;
--syntaxis-gold: #D97706;
--syntaxis-green: #059669;
--syntaxis-purple: #7C3AED;
/* RGB & CMYK variants for display */
--blue-rgb: 44, 95, 142;
--gray-rgb: 117, 119, 115;
--gold-rgb: 217, 119, 6;
--green-rgb: 5, 150, 105;
--purple-rgb: 124, 58, 237;
/* Typography */
--font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--font-secondary: 'Source Sans Pro', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
--font-mono: 'JetBrains Mono', 'Fira Code', monospace;
/* Spacing */
--space-xs: 0.25rem;
--space-sm: 0.5rem;
--space-md: 1rem;
--space-lg: 1.5rem;
--space-xl: 2rem;
--space-2xl: 3rem;
}
/* Light Mode (Default) */
body {
font-family: var(--font-secondary);
background: #ffffff;
color: #1F2937;
transition: background 0.3s ease, color 0.3s ease;
}
body.dark-mode {
background: #1a1a1a;
color: #F1F5F9;
}
/* Header */
header {
background: var(--syntaxis-blue);
color: white;
padding: var(--space-2xl) var(--space-xl);
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
position: sticky;
top: 0;
z-index: 100;
}
body.dark-mode header {
background: linear-gradient(135deg, var(--syntaxis-blue) 0%, #1E3A5F 100%);
}
header h1 {
font-family: var(--font-primary);
font-size: 2rem;
font-weight: 700;
margin-bottom: var(--space-sm);
letter-spacing: -0.01em;
}
header p {
font-size: 0.95rem;
opacity: 0.95;
margin-bottom: var(--space-lg);
}
.header-controls {
display: flex;
gap: var(--space-md);
flex-wrap: wrap;
align-items: center;
}
.select-group {
display: flex;
align-items: center;
gap: var(--space-sm);
background: rgba(255,255,255,0.15);
padding: var(--space-sm) var(--space-md);
border-radius: 6px;
}
.select-group label {
font-size: 0.85rem;
font-weight: 500;
white-space: nowrap;
}
.select-group select {
background: rgba(255,255,255,0.2);
color: white;
border: 1px solid rgba(255,255,255,0.3);
padding: 0.5rem 0.75rem;
border-radius: 4px;
font-family: var(--font-secondary);
font-size: 0.85rem;
cursor: pointer;
transition: all 0.2s;
}
.select-group select:hover,
.select-group select:focus {
background: rgba(255,255,255,0.25);
border-color: rgba(255,255,255,0.5);
outline: none;
}
.select-group select option {
background: var(--syntaxis-blue);
color: white;
}
.toggle-btn {
background: rgba(255,255,255,0.2);
color: white;
border: 1px solid rgba(255,255,255,0.3);
padding: 0.5rem 1rem;
border-radius: 6px;
cursor: pointer;
font-family: var(--font-secondary);
font-size: 0.85rem;
font-weight: 500;
transition: all 0.2s;
white-space: nowrap;
}
.toggle-btn:hover,
.toggle-btn.active {
background: rgba(255,255,255,0.3);
border-color: rgba(255,255,255,0.5);
}
.container {
max-width: 1400px;
margin: 0 auto;
padding: 0 var(--space-xl) var(--space-2xl) var(--space-xl);
}
/* Section */
.section {
margin-bottom: var(--space-2xl);
}
.section h2 {
font-family: var(--font-primary);
font-size: 1.75rem;
font-weight: 700;
color: var(--syntaxis-blue);
margin-bottom: var(--space-lg);
letter-spacing: -0.01em;
border-bottom: 3px solid var(--syntaxis-gold);
padding-bottom: var(--space-md);
}
body.dark-mode .section h2 {
color: #60A5FA;
}
/* Logo Variants Title - Styled like header */
#logoVariantsTitle {
font-size: 1.2rem !important;
color: #9CA3AF !important;
border-bottom: 2px solid #9CA3AF !important;
}
body.dark-mode #logoVariantsTitle {
color: #9CA3AF !important;
}
/* Logo Grid */
.logo-gallery {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
gap: var(--space-lg);
margin-top: var(--space-lg);
}
.logo-card {
background: white;
border: 2px solid #E5E7EB;
border-radius: 8px;
overflow: hidden;
transition: all 0.3s ease;
cursor: pointer;
display: flex;
flex-direction: column;
height: 100%;
}
body.dark-mode .logo-card {
background: #252525;
border-color: #404040;
}
.logo-card:hover {
box-shadow: 0 8px 16px rgba(44, 95, 142, 0.15);
transform: translateY(-4px);
border-color: var(--syntaxis-blue);
}
.logo-preview {
background: linear-gradient(135deg, #F9FAFB 0%, #F3F4F6 100%);
padding: var(--space-2xl);
height: 200px;
display: flex;
align-items: center;
justify-content: center;
position: relative;
overflow: hidden;
flex-shrink: 0;
}
body.dark-mode .logo-preview {
background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
}
.logo-preview.dark {
background: #1a1a1a;
}
.logo-preview img,
.logo-preview svg {
max-width: 90%;
height: auto;
max-height: 160px;
}
.logo-info {
padding: var(--space-lg);
border-top: 1px solid #E5E7EB;
display: flex;
flex-direction: column;
flex-grow: 1;
}
body.dark-mode .logo-info {
border-top-color: #334155;
}
.logo-name {
font-family: var(--font-primary);
font-size: 1rem;
font-weight: 600;
color: var(--syntaxis-blue);
margin-bottom: var(--space-sm);
}
body.dark-mode .logo-name {
color: #60A5FA;
}
.logo-description {
font-size: 0.85rem;
color: #6B7280;
margin-bottom: var(--space-md);
line-height: 1.4;
}
body.dark-mode .logo-description {
color: #9CA3AF;
}
.logo-meta {
font-family: var(--font-mono);
font-size: 0.75rem;
color: #9CA3AF;
margin-bottom: var(--space-md);
background: #F9FAFB;
padding: var(--space-sm);
border-radius: 4px;
word-break: break-all;
}
body.dark-mode .logo-meta {
background: #334155;
color: #CBD5E1;
}
.logo-action {
display: flex;
gap: var(--space-sm);
}
.btn {
flex: 1;
padding: 0.5rem 1rem;
border: none;
border-radius: 4px;
font-family: var(--font-secondary);
font-size: 0.85rem;
font-weight: 500;
cursor: pointer;
transition: all 0.2s;
text-align: center;
text-decoration: none;
display: inline-block;
}
.btn-primary {
background: #F3F4F6;
color: var(--syntaxis-blue);
border: 2px solid var(--syntaxis-blue);
}
.btn-primary:hover {
background: #E5E7EB;
box-shadow: 0 4px 8px rgba(44, 95, 142, 0.3);
}
body.dark-mode .btn-primary {
background: #3a4555;
color: #9ab8d9;
border-color: #9ab8d9;
}
body.dark-mode .btn-primary:hover {
background: #4a5a75;
color: #b0d0f0;
border-color: #b0d0f0;
}
.btn-secondary {
background: #F3F4F6;
color: var(--syntaxis-blue);
border: 1px solid #E5E7EB;
}
body.dark-mode .btn-secondary {
background: #334155;
color: #60A5FA;
border-color: #475569;
}
.btn-secondary:hover {
background: #E5E7EB;
}
body.dark-mode .btn-secondary:hover {
background: #475569;
}
/* Color Palette */
.color-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
gap: var(--space-lg);
margin-top: var(--space-lg);
}
.color-card {
background: white;
border-radius: 8px;
overflow: hidden;
box-shadow: 0 2px 8px rgba(0,0,0,0.1);
transition: transform 0.3s ease;
}
body.dark-mode .color-card {
background: #1E293B;
box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.color-card:hover {
transform: translateY(-2px);
}
.color-swatch {
width: 100%;
height: 120px;
display: flex;
align-items: center;
justify-content: center;
color: white;
font-weight: 600;
font-size: 0.9rem;
text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}
.color-details {
padding: var(--space-lg);
}
.color-name {
font-family: var(--font-primary);
font-size: 1rem;
font-weight: 600;
color: var(--syntaxis-blue);
margin-bottom: var(--space-sm);
}
body.dark-mode .color-name {
color: #60A5FA;
}
.color-code {
font-family: var(--font-mono);
font-size: 0.85rem;
line-height: 1.6;
background: #F9FAFB;
padding: var(--space-md);
border-radius: 4px;
border-left: 3px solid var(--syntaxis-blue);
}
body.dark-mode .color-code {
background: #334155;
border-left-color: #60A5FA;
color: #E5E7EB;
}
.color-code-line {
display: flex;
justify-content: space-between;
margin-bottom: var(--space-sm);
}
.color-code-line:last-child {
margin-bottom: 0;
}
.color-label {
color: #6B7280;
font-weight: 500;
}
body.dark-mode .color-label {
color: #9CA3AF;
}
.color-value {
font-weight: 600;
color: var(--syntaxis-blue);
font-family: var(--font-mono);
}
body.dark-mode .color-value {
color: #60A5FA;
}
/* Typography */
.typography-showcase {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: var(--space-lg);
margin-top: var(--space-lg);
}
.typography-item {
background: white;
padding: var(--space-lg);
border-radius: 8px;
border: 1px solid #E5E7EB;
}
body.dark-mode .typography-item {
background: #252525;
border-color: #404040;
}
.typography-item h3 {
font-family: var(--font-primary);
font-size: 0.9rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
color: var(--syntaxis-gold);
margin-bottom: var(--space-md);
padding-bottom: var(--space-md);
border-bottom: 2px solid #E5E7EB;
}
body.dark-mode .typography-item h3 {
border-bottom-color: #334155;
}
.typography-example {
margin-bottom: var(--space-md);
}
.typography-example.headline {
font-family: var(--font-primary);
font-size: 1.75rem;
font-weight: 700;
line-height: 1.2;
letter-spacing: -0.01em;
color: var(--syntaxis-blue);
}
body.dark-mode .typography-example.headline {
color: #60A5FA;
}
.typography-example.body {
font-family: var(--font-secondary);
font-size: 1rem;
font-weight: 400;
line-height: 1.6;
color: #4B5563;
}
body.dark-mode .typography-example.body {
color: #E5E7EB;
}
.typography-example.code {
font-family: var(--font-mono);
font-size: 0.875rem;
font-weight: 400;
color: #7C3AED;
background: #F9FAFB;
padding: 0.5rem;
border-radius: 4px;
}
body.dark-mode .typography-example.code {
background: #334155;
color: #A78BFA;
}
.font-stack {
font-family: var(--font-mono);
font-size: 0.75rem;
color: #6B7280;
margin-top: var(--space-sm);
padding: var(--space-sm);
background: #F9FAFB;
border-radius: 4px;
word-break: break-all;
}
body.dark-mode .font-stack {
background: #334155;
color: #9CA3AF;
}
/* Modal */
.modal {
display: none;
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(0,0,0,0.5);
z-index: 1000;
align-items: center;
justify-content: center;
padding: var(--space-md);
}
.modal.active {
display: flex;
}
.modal-content {
background: white;
border-radius: 12px;
max-width: 600px;
max-height: 90vh;
overflow: auto;
padding: var(--space-2xl);
position: relative;
animation: slideIn 0.3s ease;
}
body.dark-mode .modal-content {
background: #1E293B;
color: #F1F5F9;
}
@keyframes slideIn {
from {
transform: translateY(-20px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.modal-close {
position: absolute;
top: var(--space-lg);
right: var(--space-lg);
background: #E5E7EB;
border: none;
width: 32px;
height: 32px;
border-radius: 50%;
cursor: pointer;
font-size: 1.2rem;
display: flex;
align-items: center;
justify-content: center;
transition: background 0.2s;
}
body.dark-mode .modal-close {
background: #334155;
color: #E5E7EB;
}
.modal-close:hover {
background: #D1D5DB;
}
body.dark-mode .modal-close:hover {
background: #475569;
}
.modal h2 {
font-family: var(--font-primary);
font-size: 1.5rem;
font-weight: 700;
color: var(--syntaxis-blue);
margin-bottom: var(--space-lg);
margin-top: 0;
}
body.dark-mode .modal h2 {
color: #60A5FA;
}
/* Utilities */
.text-center {
text-align: center;
}
.mt-lg {
margin-top: var(--space-lg);
}
.hidden {
display: none;
}
/* Responsive */
@media (max-width: 768px) {
.container {
padding: var(--space-lg) var(--space-md);
}
header h1 {
font-size: 1.5rem;
}
.header-controls {
flex-direction: column;
align-items: stretch;
}
.select-group {
justify-content: space-between;
}
.logo-gallery {
grid-template-columns: 1fr;
}
.color-grid {
grid-template-columns: 1fr;
}
.typography-showcase {
grid-template-columns: 1fr;
}
}
/* Category Labels */
.category-label {
display: inline-block;
font-family: var(--font-mono);
font-size: 0.7rem;
text-transform: uppercase;
font-weight: 600;
letter-spacing: 0.05em;
background: transparent;
color: var(--syntaxis-gold);
padding: 0.25rem 0.5rem;
border-radius: 3px;
margin-bottom: var(--space-sm);
}
.category-label.static {
background: transparent;
color: var(--syntaxis-blue);
}
.category-label.animated {
background: transparent;
color: var(--syntaxis-purple);
}
/* Font Selection */
.font-selector {
margin-top: var(--space-lg);
padding: var(--space-lg);
background: #F9FAFB;
border-radius: 8px;
border: 1px solid #E5E7EB;
}
body.dark-mode .font-selector {
background: #252525;
border-color: #404040;
}
.font-selector h4 {
font-family: var(--font-primary);
font-size: 0.9rem;
font-weight: 600;
color: var(--syntaxis-blue);
margin-bottom: var(--space-md);
}
body.dark-mode .font-selector h4 {
color: #60A5FA;
}
.font-options {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
gap: var(--space-md);
}
.font-option {
padding: var(--space-md);
background: white;
border: 2px solid #E5E7EB;
border-radius: 6px;
cursor: pointer;
transition: all 0.2s;
}
body.dark-mode .font-option {
background: #334155;
border-color: #475569;
}
.font-option:hover {
border-color: var(--syntaxis-blue);
}
.font-option.active {
background: var(--syntaxis-blue);
color: white;
border-color: var(--syntaxis-blue);
}
.font-option-name {
font-weight: 600;
font-size: 0.9rem;
margin-bottom: var(--space-sm);
}
.font-option-preview {
font-size: 0.8rem;
opacity: 0.8;
}
.font-option.active .font-option-preview {
opacity: 0.9;
}
/* Info Box */
.info-box {
background: transparent;
border-left: 4px solid var(--syntaxis-blue);
padding: var(--space-lg);
border-radius: 4px;
margin-bottom: var(--space-lg);
font-size: 0.9rem;
color: #6B7280;
}
body.dark-mode .info-box {
background: transparent;
color: #9CA3AF;
border-left-color: #60A5FA;
}
.info-box strong {
color: #6B7280;
}
body.dark-mode .info-box strong {
color: #9CA3AF;
}
/* Scalability Test */
.scalability-container {
background: transparent;
padding: 2rem;
border-radius: 8px;
margin-bottom: 2rem;
}
.scalability-item {
text-align: center;
background: transparent;
padding: 1rem;
border-radius: 6px;
}
.scalability-icon {
display: inline-block;
padding: 0.75rem;
background: white;
border: 2px solid #E5E7EB;
border-radius: 8px;
margin-bottom: 0.5rem;
}
body.dark-mode .scalability-icon {
background: #252525;
border-color: #404040;
}
/* Make SVG preview clickable */
.logo-preview,
.main-logo-preview {
cursor: pointer;
position: relative;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
}
.logo-preview:hover,
.main-logo-preview:hover {
opacity: 0.85;
transition: opacity 0.2s;
}
</style>
</head>
<body>
<div class="shared-header">
<div class="header-content">
<div style="display: flex; flex-direction: column; align-items: center; gap: 0.5rem;">
<div style="display: flex; align-items: center; gap: 2rem; justify-content: center;">
<h1 class="header-title">
<div class="header-logo">
<object data="syntax_logo_a.svg" type="image/svg+xml"></object>
</div>
</h1>
<div style="text-align: left; border-left: 2px solid #9CA3AF; padding-left: 2rem;">
<h2 style="margin: 0; font-size: 1.2rem; font-weight: 600; color: #9CA3AF;">🎨 Static Logos</h2>
<p style="margin: 0.5rem 0 0 0; font-size: 0.8rem; color: #9CA3AF;">Branding & Guidelines</p>
</div>
</div>
<div style="text-align: center;">
<p style="margin: 0; font-size: 0.9rem; color: #9CA3AF;">Systematic Orchestration, Perfectly Arranged</p>
</div>
</div>
<div class="header-nav">
<a class="nav-btn active" data-nav-button="branding" href="syntaxis-branding-showcase.html">🎨 Static Gallery</a>
<a class="nav-btn" data-nav-button="animated" href="syntaxis-animated-showcase.html">🎬 Animated Gallery</a>
<button class="header-btn" data-toggle="dark-mode" onclick="toggleDarkMode()">🌙 Dark Mode</button>
<a href="syntaxis-palette-fonts.html" target="_blank" class="header-btn" style="text-decoration: none; display: inline-flex; align-items: center;">🎨 Palette & Fonts</a>
</div>
</div>
</div>
<!-- Main Content -->
<div class="container">
<div class="info-box">
<strong>💡 Branding Guidelines:</strong> Click any logo to open it in a new tab. All logos are available in multiple formats and sizes. For animated versions, visit the Animated Gallery. Maintain proper spacing and sizing for best results.
</div>
<!-- Main Logo Showcase Section -->
<section class="main-logo-showcase">
<h2>🎯 Main Logos - Quick Access</h2>
<!-- Primary Logo Variations -->
<h3 style="margin-top: 2rem; margin-bottom: 1rem; font-size: 1.2rem;">Primary Logo Variations</h3>
<div class="main-logo-grid" style="grid-template-columns: repeat(4, 1fr);">
<!-- Full Logo Static -->
<div class="main-logo-card">
<a href="syntax_logo.svg" target="_blank" class="main-logo-preview">
<object data="syntax_logo.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">STATIC</span>
<div class="main-logo-title">Horizontal Lockup</div>
<div class="main-logo-description">Complete logo with icon, wordmark, and tagline. Use for headers, documents, and marketing materials.</div>
<div class="main-logo-meta">syntax_logo.svg • 800×200px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntax_logo.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
<!-- Compact Logo Static -->
<div class="main-logo-card">
<a href="syntaxis_logo_c.svg" target="_blank" class="main-logo-preview">
<object data="syntaxis_logo_c.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">STATIC</span>
<div class="main-logo-title">Compact Horizontal</div>
<div class="main-logo-description">Horizontal logo without tagline for narrow spaces. Ideal for toolbars, navigation, and reduced-space contexts.</div>
<div class="main-logo-meta">syntaxis_logo_c.svg • 400×100px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntaxis_logo_c.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
<!-- Vertical Stack Static -->
<div class="main-logo-card">
<a href="syntax_logo_vertical.svg" target="_blank" class="main-logo-preview">
<object data="syntax_logo_vertical.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">STATIC</span>
<div class="main-logo-title">Vertical Stack</div>
<div class="main-logo-description">Icon stacked above text. Perfect for social media profiles, mobile apps, and square layouts.</div>
<div class="main-logo-meta">syntax_logo_vertical.svg • 250×380px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntax_logo_vertical.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
<!-- Compact Vertical Static -->
<div class="main-logo-card">
<a href="syntax_logo_vertical_c.svg" target="_blank" class="main-logo-preview">
<object data="syntax_logo_vertical_c.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">STATIC</span>
<div class="main-logo-title">Compact Vertical</div>
<div class="main-logo-description">Vertical logo without tagline for compact spaces. Ideal for icons, app headers, and minimal layouts.</div>
<div class="main-logo-meta">syntax_logo_vertical_c.svg • 200×280px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntax_logo_vertical_c.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
</div>
<!-- Icon & Monogram -->
<h3 style="margin-top: 2rem; margin-bottom: 1rem; font-size: 1.2rem;">Icon & Monogram</h3>
<div class="main-logo-grid" style="grid-template-columns: repeat(2, 1fr);">
<!-- Main Icon -->
<div class="main-logo-card">
<a href="syntax_icon.svg" target="_blank" class="main-logo-preview" style="background: transparent;">
<object data="syntax_icon.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">ICON</span>
<div class="main-logo-title">Main Icon</div>
<div class="main-logo-description">Primary geometric icon with accent color. Perfect for app icons and interface elements. Minimum 32px recommended.</div>
<div class="main-logo-meta">syntax_icon.svg • 200×200px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntax_icon.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
<!-- Favicon -->
<div class="main-logo-card">
<a href="syntax_favicon.svg" target="_blank" class="main-logo-preview" style="background: transparent;">
<object data="syntax_favicon.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">FAVICON</span>
<div class="main-logo-title">Favicon</div>
<div class="main-logo-description">Optimized icon for browser tabs and bookmarks. Available in SVG, and in ICO (32×32, 16×16) and PNG formats upon request.</div>
<div class="main-logo-meta">syntax_favicon.svg • 200×200px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntax_favicon.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
</div>
<!-- Monochrome Versions -->
<h3 style="margin-top: 2rem; margin-bottom: 1rem; font-size: 1.2rem;">Monochrome Versions</h3>
<div class="main-logo-grid">
<!-- Horizontal Lockup - Blanco y Negro -->
<div class="main-logo-card">
<a href="syntax_logo_bn.svg" target="_blank" class="main-logo-preview">
<object data="syntax_logo_bn.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">STATIC</span>
<div class="main-logo-title">Horizontal Lockup (B&W)</div>
<div class="main-logo-description">Complete logo in black and white. Perfect for print, high-contrast designs, and monochrome applications.</div>
<div class="main-logo-meta">syntax_logo_bn.svg • 800×200px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntax_logo_bn.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
<!-- Compact - Blanco y Negro -->
<div class="main-logo-card">
<a href="syntaxis_logo_bn_c.svg" target="_blank" class="main-logo-preview">
<object data="syntaxis_logo_bn_c.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">STATIC</span>
<div class="main-logo-title">Compact Horizontal (B&W)</div>
<div class="main-logo-description">Horizontal logo without tagline in black and white. Ideal for small spaces and monochrome contexts.</div>
<div class="main-logo-meta">syntaxis_logo_bn_c.svg • 400×100px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntaxis_logo_bn_c.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
<!-- Vertical Stack - Blanco y Negro -->
<div class="main-logo-card">
<a href="syntax_logo_vertical_bn.svg" target="_blank" class="main-logo-preview">
<object data="syntax_logo_vertical_bn.svg" type="image/svg+xml" style="width: 100%; max-height: 180px;"></object>
</a>
<div class="main-logo-info">
<span class="main-logo-badge">STATIC</span>
<div class="main-logo-title">Vertical Stack (B&W)</div>
<div class="main-logo-description">Stacked layout in black and white. Perfect for square spaces and monochrome layouts.</div>
<div class="main-logo-meta">syntax_logo_vertical_bn.svg • 250×380px</div>
<div class="main-logo-action">
<button class="main-logo-btn" onclick="window.open('syntax_logo_vertical_bn.svg', '_blank')">
🔗 Open SVG
</button>
</div>
</div>
</div>
</div>
<!-- Scalability Test -->
<h3 style="margin-top: 2rem; margin-bottom: 1rem; font-size: 1.2rem;">Scalability Test</h3>
<div class="scalability-container">
<p style="margin-bottom: 1.5rem; color: #9CA3AF;">The icon maintains clarity and proportions at various sizes. Recommended minimum size is 32px for interface elements.</p>
<div style="display: flex; gap: 2rem; align-items: flex-end; flex-wrap: wrap; justify-content: center;">
<div class="scalability-item">
<object data="syntax_icon_simple.svg" type="image/svg+xml" class="scalability-icon" style="width: 16px; height: 16px;"></object>
<div style="font-size: 0.75rem; color: #9CA3AF;">16×16px</div>
</div>
<div class="scalability-item">
<object data="syntax_icon_simple.svg" type="image/svg+xml" class="scalability-icon" style="width: 32px; height: 32px;"></object>
<div style="font-size: 0.75rem; color: #9CA3AF;">32×32px</div>
</div>
<div class="scalability-item">
<object data="syntax_icon_simple.svg" type="image/svg+xml" class="scalability-icon" style="width: 64px; height: 64px;"></object>
<div style="font-size: 0.75rem; color: #9CA3AF;">64×64px</div>
</div>
<div class="scalability-item">
<object data="syntax_icon_simple.svg" type="image/svg+xml" class="scalability-icon" style="width: 128px; height: 128px;"></object>
<div style="font-size: 0.75rem; color: #9CA3AF;">128×128px</div>
</div>
<div class="scalability-item">
<object data="syntax_icon_simple.svg" type="image/svg+xml" class="scalability-icon" style="width: 256px; height: 256px;"></object>
<div style="font-size: 0.75rem; color: #9CA3AF;">256×256px</div>
</div>
</div>
</div>
</section>
<!-- Logos Section -->
<section class="section">
<h2 id="logoVariantsTitle">Logos - Available Variants</h2>
<div class="logo-gallery" id="logoGallery">
<!-- Logos se cargarán dinámicamente -->
</div>
</section>
</div>
<script>
// Data
const LOGOS = {
static: [
{
name: 'syntaxis-logo-icon.svg',
category: 'Icon',
description: 'Main geometric icon - Favicon, app icon, profile',
dimensions: '200×200px',
uses: 'Minimum 32px, ideal for iconography',
type: 'static',
path: 'syntaxis_logo_static_files/'
},
{
name: 'syntaxis-logo-horizontal.svg',
category: 'Full Horizontal',
description: 'Complete logo with icon, wordmark and tagline',
dimensions: '500×120px',
uses: 'Web headers, business cards, marketing materials',
type: 'static',
path: 'syntaxis_logo_static_files/'
},
{
name: 'syntaxis-logo-compact.svg',
category: 'Compact Horizontal',
description: 'Horizontal logo without tagline',
dimensions: '400×100px',
uses: 'Toolbars, navigation, reduced spaces',
type: 'static',
path: 'syntaxis_logo_static_files/'
},
{
name: 'syntaxis-logo-vertical.svg',
category: 'Vertical',
description: 'Stacked layout with icon above text',
dimensions: '300×300px',
uses: 'Square spaces, mobile layouts, posters',
type: 'static',
path: 'syntaxis_logo_static_files/'
},
{
name: 'syntaxis-logo-monogram.svg',
category: 'Monogram',
description: 'Geometric construction of the letter "S"',
dimensions: '200×200px',
uses: 'Watermarks, very small sizes',
type: 'static',
path: 'syntaxis_logo_static_files/'
},
{
name: 'syntaxis-logo-mono-light.svg',
category: 'Monochromatic - Light',
description: 'Black shapes for light backgrounds',
dimensions: '200×200px',
uses: 'Print, high contrast, accessibility',
type: 'static',
path: 'syntaxis_logo_static_files/'
},
{
name: 'syntaxis-logo-mono-dark.svg',
category: 'Monochromatic - Dark',
description: 'White shapes for dark backgrounds',
dimensions: '200×200px',
uses: 'Dark themes, presentations, dark interface',
type: 'static',
path: 'syntaxis_logo_static_files/'
}
],
animated: [
{
name: 'syntaxis-logo-icon-animated.svg',
category: 'Entry - Assembly',
description: 'Pieces appear from the center, rotating to position',
duration: '~1.2s (one time)',
uses: 'Splash screens, hero sections, presentation intros',
type: 'animated',
path: 'syntax_logos_anim/'
},
{
name: 'syntaxis-logo-icon-construction.svg',
category: 'Entry - Construction',
description: 'Pieces slide from top, bottom, left and right',
duration: '~1.4s (one time)',
uses: 'Explainer videos, "How it works", onboarding',
type: 'animated',
path: 'syntax_logos_anim/'
},
{
name: 'syntaxis-logo-horizontal-animated.svg',
category: 'Full Animated Logo',
description: 'Icon assembles → text appears → tagline fade in',
duration: '~1.4s (one time)',
uses: 'Web headers, video intros, brand presentations',
type: 'animated',
path: 'syntax_logos_anim/'
},
{
name: 'syntaxis-logo-icon-pulse.svg',
category: 'Loop - Pulse',
description: 'Central triangle pulses and glows softly',
duration: '2s infinite loop',
uses: 'Active status indicators, CTAs, dashboard widgets',
type: 'animated',
path: 'syntax_logos_anim/'
},
{
name: 'syntaxis-logo-loading.svg',
category: 'Loop - Loading Spinner',
description: 'Diamonds orbit, squares rotate',
duration: '3s loop (orbit) + 2s (fade)',
uses: 'Loading indicators, "processing" states, work in progress',
type: 'animated',
path: 'syntax_logos_anim/'
},
{
name: 'syntaxis-logo-icon-ambient.svg',
category: 'Loop - Ambient',
description: 'Subtle expansion/contraction + floating',
duration: '4-6s infinite loop',
uses: 'Decorative elements, section headers, subtle backgrounds',
type: 'animated',
path: 'syntax_logos_anim/'
},
{
name: 'syntaxis-logo-icon-hover.svg',
category: 'Interactive - Hover',
description: 'Shapes grow and change color on hover',
duration: '0.3s transition',
uses: 'Clickable logos, buttons, interactive links',
type: 'animated',
path: 'syntax_logos_anim/'
}
]
};
// Helper Functions
function openLogoInNewTab(filename, path) {
const fullPath = `${path}${filename}`;
window.open(fullPath, '_blank');
}
// Render Functions
function renderLogos() {
const gallery = document.getElementById('logoGallery');
const logos = [...LOGOS.static, ...LOGOS.animated];
gallery.innerHTML = logos.map(logo => `
<div class="logo-card">
<div class="logo-preview ${logo.type === 'animated' ? 'dark' : ''}">
<img src="${logo.path}${logo.name}" alt="${logo.name}" onerror="this.style.display='none'">
</div>
<div class="logo-info">
<div class="category-label ${logo.type}">${logo.type.toUpperCase()}</div>
<div class="logo-name">${logo.category}</div>
<div class="logo-description">${logo.description}</div>
<div class="logo-meta">📄 ${logo.name}</div>
<div class="logo-meta">📐 ${logo.dimensions}</div>
<div class="logo-meta">💡 ${logo.uses}</div>
<div class="logo-action">
<button class="btn btn-primary" onclick="openLogoInNewTab('${logo.name}', '${logo.path}')">
Open in New Tab
</button>
</div>
</div>
</div>
`).join('');
}
// Initialize
document.addEventListener('DOMContentLoaded', function() {
renderLogos();
});
</script>
<script src="assets/header-shared.js"></script>
</body>
</html>