Initial commit: Landing page for partners
93
assets/img/carousel/capacitacion.webp
Normal file
@@ -0,0 +1,93 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400" fill="none">
|
||||
<defs>
|
||||
<linearGradient id="classroomBg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#f8f8f8;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background -->
|
||||
<rect width="600" height="400" fill="url(#classroomBg)"/>
|
||||
|
||||
<!-- Training room setup -->
|
||||
<!-- Whiteboard/presentation area -->
|
||||
<rect x="50" y="50" width="200" height="120" rx="10" fill="#ffffff" stroke="#e5e5e5" stroke-width="2"/>
|
||||
|
||||
<!-- Training content on board -->
|
||||
<text x="150" y="80" text-anchor="middle" fill="#4D3F3C" font-size="14" font-weight="bold">Técnicas Avanzadas</text>
|
||||
<circle cx="100" cy="100" r="15" fill="#A39660" opacity="0.3"/>
|
||||
<circle cx="200" cy="100" r="15" fill="#A39660" opacity="0.3"/>
|
||||
<path d="M85 100 L115 100 M185 100 L215 100" stroke="#4D3F3C" stroke-width="2"/>
|
||||
|
||||
<!-- Steps diagram -->
|
||||
<rect x="80" y="120" width="20" height="20" rx="3" fill="#A39660"/>
|
||||
<text x="90" y="133" text-anchor="middle" fill="#ffffff" font-size="10" font-weight="bold">1</text>
|
||||
<rect x="130" y="120" width="20" height="20" rx="3" fill="#A39660"/>
|
||||
<text x="140" y="133" text-anchor="middle" fill="#ffffff" font-size="10" font-weight="bold">2</text>
|
||||
<rect x="180" y="120" width="20" height="20" rx="3" fill="#A39660"/>
|
||||
<text x="190" y="133" text-anchor="middle" fill="#ffffff" font-size="10" font-weight="bold">3</text>
|
||||
|
||||
<!-- Instructor -->
|
||||
<g transform="translate(300,80)">
|
||||
<circle cx="30" cy="30" r="25" fill="#f4d1ae"/>
|
||||
<path d="M10 20 Q30 5 50 20 Q50 15 30 10 Q10 15 10 20 Z" fill="#8b4513"/>
|
||||
<circle cx="25" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<circle cx="35" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<path d="M27 33 Q30 36 33 33" stroke="#d2691e" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Professional attire -->
|
||||
<rect x="15" y="55" width="30" height="40" rx="5" fill="#4D3F3C"/>
|
||||
<rect x="18" y="58" width="24" height="34" rx="3" fill="#A39660"/>
|
||||
|
||||
<!-- Teaching gesture -->
|
||||
<path d="M55 40 L80 30" stroke="#f4d1ae" stroke-width="3"/>
|
||||
</g>
|
||||
|
||||
<!-- Students/trainees -->
|
||||
<g transform="translate(100,200)">
|
||||
<!-- Student 1 -->
|
||||
<circle cx="30" cy="30" r="20" fill="#f5deb3"/>
|
||||
<path d="M15 20 Q30 10 45 20 Q45 35 40 45 Q30 50 20 45 Q10 35 15 20 Z" fill="#2f1b14"/>
|
||||
<circle cx="26" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<circle cx="34" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<rect x="20" y="50" width="20" height="30" rx="3" fill="#A39660"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(200,200)">
|
||||
<!-- Student 2 -->
|
||||
<circle cx="30" cy="30" r="20" fill="#f4d1ae"/>
|
||||
<path d="M15 20 Q30 10 45 20 Q45 35 40 45 Q30 50 20 45 Q10 35 15 20 Z" fill="#8b4513"/>
|
||||
<circle cx="26" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<circle cx="34" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<rect x="20" y="50" width="20" height="30" rx="3" fill="#A39660"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(300,200)">
|
||||
<!-- Student 3 -->
|
||||
<circle cx="30" cy="30" r="20" fill="#f5deb3"/>
|
||||
<path d="M15 20 Q30 10 45 20 Q45 35 40 45 Q30 50 20 45 Q10 35 15 20 Z" fill="#654321"/>
|
||||
<circle cx="26" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<circle cx="34" cy="27" r="2" fill="#2d2d2d"/>
|
||||
<rect x="20" y="50" width="20" height="30" rx="3" fill="#A39660"/>
|
||||
</g>
|
||||
|
||||
<!-- Training materials -->
|
||||
<rect x="450" y="100" width="100" height="80" rx="5" fill="#ffffff" stroke="#e5e5e5" stroke-width="2"/>
|
||||
<text x="500" y="120" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Materiales</text>
|
||||
|
||||
<!-- Tools and supplies -->
|
||||
<circle cx="470" cy="140" r="8" fill="#A39660"/>
|
||||
<rect x="485" y="135" width="15" height="10" rx="2" fill="#4D3F3C"/>
|
||||
<circle cx="520" cy="140" r="6" fill="#A39660"/>
|
||||
<rect x="470" y="155" width="20" height="5" rx="2" fill="#4D3F3C"/>
|
||||
<circle cx="510" cy="160" r="5" fill="#A39660"/>
|
||||
|
||||
<!-- Learning progress indicators -->
|
||||
<circle cx="400" cy="200" r="15" fill="#A39660" opacity="0.3"/>
|
||||
<text x="400" y="205" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">✓</text>
|
||||
|
||||
<!-- Bottom description -->
|
||||
<rect x="50" y="320" width="500" height="60" rx="10" fill="rgba(255,255,255,0.9)"/>
|
||||
<text x="300" y="340" text-anchor="middle" fill="#4D3F3C" font-size="16" font-weight="bold">Capacitación Continua</text>
|
||||
<text x="300" y="360" text-anchor="middle" fill="#A39660" font-size="12">Técnicas nuevas • Tendencias • Desarrollo profesional</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
128
assets/img/carousel/crecimiento.webp
Normal file
@@ -0,0 +1,128 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400" fill="none">
|
||||
<defs>
|
||||
<linearGradient id="growthBg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#ffffff;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#f5e6f5;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient id="successGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#A39660;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#4D3F3C;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background -->
|
||||
<rect width="600" height="400" fill="url(#growthBg)"/>
|
||||
|
||||
<!-- Growth journey visualization -->
|
||||
|
||||
<!-- Career progression steps -->
|
||||
<g transform="translate(50,150)">
|
||||
<!-- Step 1: Junior -->
|
||||
<circle cx="50" cy="50" r="25" fill="#f5deb3"/>
|
||||
<path d="M30 35 Q50 20 70 35 Q70 45 65 55 Q50 65 35 55 Q25 45 30 35 Z" fill="#8b4513"/>
|
||||
<circle cx="45" cy="45" r="2" fill="#2d2d2d"/>
|
||||
<circle cx="55" cy="45" r="2" fill="#2d2d2d"/>
|
||||
<path d="M47 52 Q50 55 53 52" stroke="#d2691e" stroke-width="1" fill="none"/>
|
||||
|
||||
<rect x="35" y="75" width="30" height="40" rx="5" fill="#A39660"/>
|
||||
<text x="50" y="125" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Junior</text>
|
||||
</g>
|
||||
|
||||
<!-- Arrow progression -->
|
||||
<path d="M150 200 L200 200" stroke="#A39660" stroke-width="3" marker-end="url(#arrowhead)"/>
|
||||
|
||||
<g transform="translate(200,140)">
|
||||
<!-- Step 2: Experienced -->
|
||||
<circle cx="50" cy="50" r="30" fill="#f4d1ae"/>
|
||||
<path d="M25 35 Q50 15 75 35 Q75 50 70 65 Q50 75 30 65 Q20 50 25 35 Z" fill="#8b4513"/>
|
||||
<circle cx="42" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<circle cx="58" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<path d="M45 55 Q50 60 55 55" stroke="#d2691e" stroke-width="1" fill="none"/>
|
||||
|
||||
<rect x="30" y="80" width="40" height="50" rx="5" fill="#4D3F3C"/>
|
||||
<rect x="33" y="83" width="34" height="44" rx="3" fill="#A39660"/>
|
||||
|
||||
<!-- Experience badge -->
|
||||
<circle cx="70" cy="90" r="8" fill="#ffd700"/>
|
||||
<text x="70" y="94" text-anchor="middle" fill="#4D3F3C" font-size="8" font-weight="bold">★</text>
|
||||
|
||||
<text x="50" y="145" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Experta</text>
|
||||
</g>
|
||||
|
||||
<!-- Another arrow -->
|
||||
<path d="M300 200 L350 200" stroke="#A39660" stroke-width="3" marker-end="url(#arrowhead)"/>
|
||||
|
||||
<g transform="translate(350,130)">
|
||||
<!-- Step 3: Senior/Leader -->
|
||||
<circle cx="50" cy="50" r="35" fill="url(#successGradient)" opacity="0.2"/>
|
||||
<circle cx="50" cy="50" r="30" fill="#f4d1ae"/>
|
||||
<path d="M20 35 Q50 10 80 35 Q85 55 80 75 Q50 85 20 75 Q15 55 20 35 Z" fill="#8b4513"/>
|
||||
|
||||
<!-- Confident expression -->
|
||||
<circle cx="42" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<circle cx="58" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<path d="M40 55 Q50 65 60 55" stroke="#d2691e" stroke-width="2" fill="none"/>
|
||||
|
||||
<!-- Leadership attire -->
|
||||
<rect x="25" y="85" width="50" height="60" rx="8" fill="#2d2d2d"/>
|
||||
<rect x="28" y="88" width="44" height="54" rx="5" fill="#4D3F3C"/>
|
||||
|
||||
<!-- Leadership badge -->
|
||||
<rect x="50" y="95" width="20" height="12" rx="2" fill="#ffd700"/>
|
||||
<text x="60" y="103" text-anchor="middle" fill="#2d2d2d" font-size="6" font-weight="bold">LEAD</text>
|
||||
|
||||
<!-- Crown/success symbol -->
|
||||
<path d="M40 25 L45 15 L50 20 L55 15 L60 25 L50 30 Z" fill="#ffd700"/>
|
||||
|
||||
<text x="50" y="160" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Líder</text>
|
||||
</g>
|
||||
|
||||
<!-- Success metrics -->
|
||||
<g transform="translate(500,120)">
|
||||
<!-- Achievement badge -->
|
||||
<circle cx="40" cy="40" r="35" fill="#ffd700" opacity="0.3"/>
|
||||
<circle cx="40" cy="40" r="25" fill="#ffd700"/>
|
||||
<text x="40" y="32" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">5</text>
|
||||
<text x="40" y="45" text-anchor="middle" fill="#4D3F3C" font-size="8">AÑOS</text>
|
||||
<text x="40" y="55" text-anchor="middle" fill="#4D3F3C" font-size="6">CRECIMIENTO</text>
|
||||
|
||||
<text x="40" y="95" text-anchor="middle" fill="#4D3F3C" font-size="9" font-weight="bold">Trayectoria</text>
|
||||
<text x="40" y="108" text-anchor="middle" fill="#A39660" font-size="8">Exitosa</text>
|
||||
</g>
|
||||
|
||||
<!-- Growth chart/graph -->
|
||||
<g transform="translate(100,280)">
|
||||
<rect x="0" y="0" width="300" height="80" rx="5" fill="rgba(255,255,255,0.8)" stroke="#e5e5e5" stroke-width="1"/>
|
||||
|
||||
<!-- Chart bars representing growth -->
|
||||
<rect x="20" y="50" width="20" height="20" fill="#A39660" opacity="0.6"/>
|
||||
<rect x="60" y="35" width="20" height="35" fill="#A39660" opacity="0.7"/>
|
||||
<rect x="100" y="20" width="20" height="50" fill="#A39660" opacity="0.8"/>
|
||||
<rect x="140" y="10" width="20" height="60" fill="#A39660"/>
|
||||
<rect x="180" y="5" width="20" height="65" fill="#4D3F3C"/>
|
||||
|
||||
<!-- Chart labels -->
|
||||
<text x="30" y="85" text-anchor="middle" fill="#6b7280" font-size="8">Inicio</text>
|
||||
<text x="70" y="85" text-anchor="middle" fill="#6b7280" font-size="8">6m</text>
|
||||
<text x="110" y="85" text-anchor="middle" fill="#6b7280" font-size="8">1a</text>
|
||||
<text x="150" y="85" text-anchor="middle" fill="#6b7280" font-size="8">2a</text>
|
||||
<text x="190" y="85" text-anchor="middle" fill="#6b7280" font-size="8">5a</text>
|
||||
|
||||
<text x="150" y="15" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Tu Crecimiento en Vanity</text>
|
||||
</g>
|
||||
|
||||
<!-- Arrow markers definition -->
|
||||
<defs>
|
||||
<marker id="arrowhead" markerWidth="10" markerHeight="7"
|
||||
refX="9" refY="3.5" orient="auto">
|
||||
<polygon points="0 0, 10 3.5, 0 7" fill="#A39660"/>
|
||||
</marker>
|
||||
</defs>
|
||||
|
||||
<!-- Bottom inspirational message -->
|
||||
<rect x="450" y="280" width="140" height="80" rx="10" fill="rgba(77,63,60,0.1)"/>
|
||||
<text x="520" y="300" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">Tu carrera</text>
|
||||
<text x="520" y="315" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">en nuestras</text>
|
||||
<text x="520" y="330" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">manos</text>
|
||||
<text x="520" y="350" text-anchor="middle" fill="#A39660" font-size="10">✨ Crecimiento garantizado</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 6.1 KiB |
76
assets/img/carousel/equipo-trabajo.webp
Normal file
@@ -0,0 +1,76 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400" fill="none">
|
||||
<defs>
|
||||
<linearGradient id="teamBg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#fdf7fd;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#f5e6f5;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background -->
|
||||
<rect width="600" height="400" fill="url(#teamBg)"/>
|
||||
|
||||
<!-- Team members working together -->
|
||||
<g transform="translate(50,150)">
|
||||
<!-- Team member 1 -->
|
||||
<circle cx="50" cy="50" r="30" fill="#f4d1ae"/>
|
||||
<path d="M20 35 Q50 15 80 35 Q80 25 50 20 Q20 25 20 35 Z" fill="#8b4513"/>
|
||||
<circle cx="42" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<circle cx="58" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<path d="M45 55 Q50 60 55 55" stroke="#d2691e" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Working on client -->
|
||||
<rect x="30" y="80" width="40" height="60" rx="5" fill="#A39660"/>
|
||||
<circle cx="90" cy="100" r="8" fill="#ffffff"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(200,120)">
|
||||
<!-- Team member 2 -->
|
||||
<circle cx="50" cy="50" r="30" fill="#f5deb3"/>
|
||||
<path d="M25 30 Q50 10 75 30 Q80 60 70 80 Q50 90 30 80 Q20 60 25 30 Z" fill="#2f1b14"/>
|
||||
<circle cx="42" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<circle cx="58" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<path d="M45 55 Q50 60 55 55" stroke="#d2691e" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Professional tools -->
|
||||
<rect x="40" y="80" width="20" height="40" rx="3" fill="#4D3F3C"/>
|
||||
<circle cx="20" cy="90" r="6" fill="#A39660"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(350,150)">
|
||||
<!-- Team member 3 -->
|
||||
<circle cx="50" cy="50" r="30" fill="#f4d1ae"/>
|
||||
<path d="M30 35 Q50 20 70 35 Q75 55 70 70 Q50 80 30 70 Q25 55 30 35 Z" fill="#8b4513"/>
|
||||
<circle cx="42" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<circle cx="58" cy="45" r="3" fill="#2d2d2d"/>
|
||||
<path d="M45 55 Q50 60 55 55" stroke="#d2691e" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Consultation -->
|
||||
<rect x="30" y="80" width="40" height="50" rx="5" fill="#A39660"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(500,130)">
|
||||
<!-- Team member 4 -->
|
||||
<circle cx="40" cy="50" r="25" fill="#f5deb3"/>
|
||||
<path d="M20 35 Q40 20 60 35 Q60 55 55 70 Q40 75 25 70 Q15 55 20 35 Z" fill="#2f1b14"/>
|
||||
<circle cx="35" cy="45" r="2" fill="#2d2d2d"/>
|
||||
<circle cx="45" cy="45" r="2" fill="#2d2d2d"/>
|
||||
<path d="M37 52 Q40 55 43 52" stroke="#d2691e" stroke-width="1" fill="none"/>
|
||||
|
||||
<!-- Support role -->
|
||||
<rect x="25" y="75" width="30" height="40" rx="3" fill="#4D3F3C"/>
|
||||
</g>
|
||||
|
||||
<!-- Collaboration elements -->
|
||||
<circle cx="150" cy="100" r="5" fill="#A39660" opacity="0.6"/>
|
||||
<circle cx="300" cy="80" r="5" fill="#A39660" opacity="0.6"/>
|
||||
<circle cx="450" cy="110" r="5" fill="#A39660" opacity="0.6"/>
|
||||
|
||||
<!-- Communication lines -->
|
||||
<path d="M150 180 Q250 150 350 180" stroke="#A39660" stroke-width="2" opacity="0.4" fill="none"/>
|
||||
<path d="M250 170 Q350 140 450 160" stroke="#A39660" stroke-width="2" opacity="0.4" fill="none"/>
|
||||
|
||||
<!-- Team values -->
|
||||
<rect x="50" y="320" width="500" height="60" rx="10" fill="rgba(255,255,255,0.8)"/>
|
||||
<text x="300" y="340" text-anchor="middle" fill="#4D3F3C" font-size="16" font-weight="bold">Trabajo en Equipo</text>
|
||||
<text x="300" y="360" text-anchor="middle" fill="#A39660" font-size="12">Colaboración • Apoyo • Crecimiento Conjunto</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.3 KiB |
BIN
assets/img/carousel/hero/1.jpeg
Normal file
|
After Width: | Height: | Size: 46 KiB |
BIN
assets/img/carousel/hero/2.jpeg
Normal file
|
After Width: | Height: | Size: 90 KiB |
BIN
assets/img/carousel/hero/3.jpeg
Normal file
|
After Width: | Height: | Size: 61 KiB |
BIN
assets/img/carousel/hero/4.jpeg
Normal file
|
After Width: | Height: | Size: 69 KiB |
BIN
assets/img/carousel/hero/5.jpeg
Normal file
|
After Width: | Height: | Size: 29 KiB |
BIN
assets/img/carousel/hero/6.jpeg
Normal file
|
After Width: | Height: | Size: 26 KiB |
BIN
assets/img/carousel/hero/7.jpeg
Normal file
|
After Width: | Height: | Size: 65 KiB |
BIN
assets/img/carousel/hero/8.jpeg
Normal file
|
After Width: | Height: | Size: 66 KiB |
BIN
assets/img/carousel/hero/9.jpeg
Normal file
|
After Width: | Height: | Size: 41 KiB |
111
assets/img/carousel/resultados.webp
Normal file
@@ -0,0 +1,111 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400" fill="none">
|
||||
<defs>
|
||||
<linearGradient id="resultsBg" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#fdf7fd;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#f5e6f5;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient id="goldGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#ffd700;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#ffed4a;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background -->
|
||||
<rect width="600" height="400" fill="url(#resultsBg)"/>
|
||||
|
||||
<!-- Showcase of beautiful work results -->
|
||||
|
||||
<!-- Perfect nail art -->
|
||||
<g transform="translate(80,80)">
|
||||
<rect x="0" y="0" width="120" height="100" rx="10" fill="#ffffff" stroke="#e5e5e5" stroke-width="2"/>
|
||||
<text x="60" y="20" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Nail Art</text>
|
||||
|
||||
<!-- Nails representation -->
|
||||
<ellipse cx="30" cy="50" rx="8" ry="12" fill="#ffb6c1"/>
|
||||
<ellipse cx="30" cy="50" rx="6" ry="10" fill="#A39660" opacity="0.3"/>
|
||||
|
||||
<ellipse cx="50" cy="50" rx="8" ry="12" fill="#ffb6c1"/>
|
||||
<ellipse cx="50" cy="50" rx="6" ry="10" fill="#A39660" opacity="0.3"/>
|
||||
|
||||
<ellipse cx="70" cy="50" rx="8" ry="12" fill="#ffb6c1"/>
|
||||
<ellipse cx="70" cy="50" rx="6" ry="10" fill="#A39660" opacity="0.3"/>
|
||||
|
||||
<ellipse cx="90" cy="50" rx="8" ry="12" fill="#ffb6c1"/>
|
||||
<ellipse cx="90" cy="50" rx="6" ry="10" fill="#A39660" opacity="0.3"/>
|
||||
|
||||
<!-- Decorative details -->
|
||||
<circle cx="30" cy="50" r="2" fill="#ffd700"/>
|
||||
<circle cx="70" cy="50" r="2" fill="#ffd700"/>
|
||||
|
||||
<text x="60" y="85" text-anchor="middle" fill="#A39660" font-size="8">Perfección</text>
|
||||
</g>
|
||||
|
||||
<!-- Beautiful lashes -->
|
||||
<g transform="translate(250,80)">
|
||||
<rect x="0" y="0" width="120" height="100" rx="10" fill="#ffffff" stroke="#e5e5e5" stroke-width="2"/>
|
||||
<text x="60" y="20" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Extensiones</text>
|
||||
|
||||
<!-- Eye with lashes -->
|
||||
<ellipse cx="60" cy="50" rx="25" ry="15" fill="#f4d1ae"/>
|
||||
<ellipse cx="60" cy="50" rx="20" ry="12" fill="#ffffff"/>
|
||||
<circle cx="60" cy="50" r="8" fill="#4D3F3C"/>
|
||||
<circle cx="62" cy="48" r="2" fill="#ffffff"/>
|
||||
|
||||
<!-- Beautiful lashes -->
|
||||
<path d="M40 45 Q35 35 32 40" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
<path d="M45 42 Q40 30 38 35" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
<path d="M50 40 Q48 28 46 32" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
<path d="M55 40 Q53 28 54 32" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
<path d="M60 40 Q60 28 62 32" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
<path d="M65 40 Q67 28 66 32" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
<path d="M70 42 Q72 30 74 35" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
<path d="M75 45 Q77 35 80 40" stroke="#2d2d2d" stroke-width="1" fill="none"/>
|
||||
|
||||
<text x="60" y="85" text-anchor="middle" fill="#A39660" font-size="8">Impecable</text>
|
||||
</g>
|
||||
|
||||
<!-- Stunning hair -->
|
||||
<g transform="translate(400,80)">
|
||||
<rect x="0" y="0" width="120" height="100" rx="10" fill="#ffffff" stroke="#e5e5e5" stroke-width="2"/>
|
||||
<text x="60" y="20" text-anchor="middle" fill="#4D3F3C" font-size="10" font-weight="bold">Estilismo</text>
|
||||
|
||||
<!-- Styled hair -->
|
||||
<circle cx="60" cy="45" r="15" fill="#f4d1ae"/>
|
||||
<path d="M45 35 Q60 20 75 35 Q80 50 75 65 Q60 75 45 65 Q40 50 45 35 Z" fill="#8b4513"/>
|
||||
|
||||
<!-- Hair highlights and style -->
|
||||
<path d="M50 40 Q60 25 70 40" stroke="#deb887" stroke-width="2" fill="none" opacity="0.8"/>
|
||||
<path d="M52 50 Q62 35 72 50" stroke="#deb887" stroke-width="2" fill="none" opacity="0.6"/>
|
||||
|
||||
<text x="60" y="85" text-anchor="middle" fill="#A39660" font-size="8">Espectacular</text>
|
||||
</g>
|
||||
|
||||
<!-- Quality awards/recognition -->
|
||||
<g transform="translate(150,220)">
|
||||
<circle cx="50" cy="50" r="40" fill="url(#goldGradient)"/>
|
||||
<circle cx="50" cy="50" r="30" fill="#ffd700"/>
|
||||
<path d="M50 25 L55 40 L70 40 L58 50 L63 65 L50 55 L37 65 L42 50 L30 40 L45 40 Z" fill="#ffffff"/>
|
||||
<text x="50" y="105" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">Excelencia</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(300,220)">
|
||||
<circle cx="50" cy="50" r="40" fill="url(#goldGradient)"/>
|
||||
<circle cx="50" cy="50" r="30" fill="#ffd700"/>
|
||||
<text x="50" y="58" text-anchor="middle" fill="#ffffff" font-size="20" font-weight="bold">100%</text>
|
||||
<text x="50" y="105" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">Satisfacción</text>
|
||||
</g>
|
||||
|
||||
<!-- Client satisfaction representation -->
|
||||
<g transform="translate(450,220)">
|
||||
<circle cx="50" cy="50" r="30" fill="#f4d1ae"/>
|
||||
<circle cx="42" cy="42" r="3" fill="#2d2d2d"/>
|
||||
<circle cx="58" cy="42" r="3" fill="#2d2d2d"/>
|
||||
<path d="M35 55 Q50 70 65 55" stroke="#d2691e" stroke-width="3" fill="none"/>
|
||||
<text x="50" y="105" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">Cliente Feliz</text>
|
||||
</g>
|
||||
|
||||
<!-- Bottom description -->
|
||||
<rect x="50" y="340" width="500" height="50" rx="10" fill="rgba(255,255,255,0.9)"/>
|
||||
<text x="300" y="360" text-anchor="middle" fill="#4D3F3C" font-size="16" font-weight="bold">Resultados que Nos Enorgullecen</text>
|
||||
<text x="300" y="378" text-anchor="middle" fill="#A39660" font-size="12">Calidad • Precisión • Satisfacción total</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 5.4 KiB |
60
assets/img/carousel/salon-ambiente.webp
Normal file
@@ -0,0 +1,60 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 600 400" fill="none">
|
||||
<defs>
|
||||
<linearGradient id="floorGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#f8f8f8;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#e5e5e5;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient id="wallGradient" x1="0%" y1="0%" x2="0%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#fdf7fd;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#f5e6f5;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background - salon interior -->
|
||||
<rect width="600" height="400" fill="url(#wallGradient)"/>
|
||||
|
||||
<!-- Floor -->
|
||||
<rect x="0" y="300" width="600" height="100" fill="url(#floorGradient)"/>
|
||||
|
||||
<!-- Modern salon chairs -->
|
||||
<g transform="translate(100,200)">
|
||||
<rect x="0" y="50" width="80" height="100" rx="10" fill="#4D3F3C"/>
|
||||
<rect x="5" y="55" width="70" height="90" rx="8" fill="#A39660"/>
|
||||
<circle cx="40" cy="85" r="15" fill="#ffffff" opacity="0.8"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(250,200)">
|
||||
<rect x="0" y="50" width="80" height="100" rx="10" fill="#4D3F3C"/>
|
||||
<rect x="5" y="55" width="70" height="90" rx="8" fill="#A39660"/>
|
||||
<circle cx="40" cy="85" r="15" fill="#ffffff" opacity="0.8"/>
|
||||
</g>
|
||||
|
||||
<g transform="translate(400,200)">
|
||||
<rect x="0" y="50" width="80" height="100" rx="10" fill="#4D3F3C"/>
|
||||
<rect x="5" y="55" width="70" height="90" rx="8" fill="#A39660"/>
|
||||
<circle cx="40" cy="85" r="15" fill="#ffffff" opacity="0.8"/>
|
||||
</g>
|
||||
|
||||
<!-- Modern lighting -->
|
||||
<circle cx="150" cy="80" r="20" fill="#ffffff" opacity="0.9"/>
|
||||
<circle cx="300" cy="80" r="20" fill="#ffffff" opacity="0.9"/>
|
||||
<circle cx="450" cy="80" r="20" fill="#ffffff" opacity="0.9"/>
|
||||
|
||||
<!-- Equipment stations -->
|
||||
<rect x="50" y="120" width="40" height="60" rx="5" fill="#2d2d2d"/>
|
||||
<rect x="510" y="120" width="40" height="60" rx="5" fill="#2d2d2d"/>
|
||||
|
||||
<!-- Professional storage -->
|
||||
<rect x="20" y="50" width="30" height="120" rx="5" fill="#4D3F3C"/>
|
||||
<rect x="550" y="50" width="30" height="120" rx="5" fill="#4D3F3C"/>
|
||||
|
||||
<!-- Modern decor elements -->
|
||||
<circle cx="80" cy="40" r="8" fill="#A39660" opacity="0.6"/>
|
||||
<circle cx="520" cy="40" r="8" fill="#A39660" opacity="0.6"/>
|
||||
|
||||
<!-- Window/natural light effect -->
|
||||
<rect x="0" y="0" width="600" height="50" fill="rgba(255,255,255,0.3)"/>
|
||||
|
||||
<!-- Professional ambiance text -->
|
||||
<text x="300" y="380" text-anchor="middle" fill="#4D3F3C" font-size="18" font-weight="bold">Ambiente Profesional Moderno</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 2.5 KiB |
BIN
assets/img/favicon/android-chrome-192x192.png
Normal file
|
After Width: | Height: | Size: 11 KiB |
BIN
assets/img/favicon/android-chrome-512x512.png
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
assets/img/favicon/apple-touch-icon.png
Normal file
|
After Width: | Height: | Size: 10 KiB |
BIN
assets/img/favicon/favicon-16x16.png
Normal file
|
After Width: | Height: | Size: 410 B |
BIN
assets/img/favicon/favicon-32x32.png
Normal file
|
After Width: | Height: | Size: 994 B |
BIN
assets/img/favicon/favicon.ico
Normal file
|
After Width: | Height: | Size: 15 KiB |
1
assets/img/favicon/site.webmanifest
Normal file
@@ -0,0 +1 @@
|
||||
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
||||
76
assets/img/hero_equipo_2025Q3.webp
Normal file
@@ -0,0 +1,76 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 900" fill="none">
|
||||
<defs>
|
||||
<linearGradient id="heroGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#f5e6f5;stop-opacity:1" />
|
||||
<stop offset="50%" style="stop-color:#fdf7fd;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#ffffff;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
<linearGradient id="accentGradient" x1="0%" y1="0%" x2="100%" y2="100%">
|
||||
<stop offset="0%" style="stop-color:#A39660;stop-opacity:1" />
|
||||
<stop offset="100%" style="stop-color:#4D3F3C;stop-opacity:1" />
|
||||
</linearGradient>
|
||||
</defs>
|
||||
|
||||
<!-- Background -->
|
||||
<rect width="1280" height="900" fill="url(#heroGradient)"/>
|
||||
|
||||
<!-- Main illustration representing beauty team -->
|
||||
<circle cx="640" cy="450" r="300" fill="#ffffff" opacity="0.8"/>
|
||||
<circle cx="640" cy="450" r="280" fill="url(#accentGradient)" opacity="0.1"/>
|
||||
|
||||
<!-- Central beauty icons -->
|
||||
<g transform="translate(540,350)">
|
||||
<!-- Nail art representation -->
|
||||
<rect x="0" y="0" width="60" height="60" rx="30" fill="#A39660" opacity="0.8"/>
|
||||
<circle cx="30" cy="30" r="15" fill="#ffffff"/>
|
||||
<text x="30" y="36" text-anchor="middle" fill="#4D3F3C" font-size="14" font-weight="bold">💅</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(640,350)">
|
||||
<!-- Lashes representation -->
|
||||
<rect x="0" y="0" width="60" height="60" rx="30" fill="#A39660" opacity="0.8"/>
|
||||
<circle cx="30" cy="30" r="15" fill="#ffffff"/>
|
||||
<text x="30" y="36" text-anchor="middle" fill="#4D3F3C" font-size="14" font-weight="bold">👁️</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(740,350)">
|
||||
<!-- Hair styling representation -->
|
||||
<rect x="0" y="0" width="60" height="60" rx="30" fill="#A39660" opacity="0.8"/>
|
||||
<circle cx="30" cy="30" r="15" fill="#ffffff"/>
|
||||
<text x="30" y="36" text-anchor="middle" fill="#4D3F3C" font-size="14" font-weight="bold">💇</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(590,450)">
|
||||
<!-- Makeup representation -->
|
||||
<rect x="0" y="0" width="60" height="60" rx="30" fill="#A39660" opacity="0.8"/>
|
||||
<circle cx="30" cy="30" r="15" fill="#ffffff"/>
|
||||
<text x="30" y="36" text-anchor="middle" fill="#4D3F3C" font-size="14" font-weight="bold">💄</text>
|
||||
</g>
|
||||
|
||||
<g transform="translate(690,450)">
|
||||
<!-- Skincare representation -->
|
||||
<rect x="0" y="0" width="60" height="60" rx="30" fill="#A39660" opacity="0.8"/>
|
||||
<circle cx="30" cy="30" r="15" fill="#ffffff"/>
|
||||
<text x="30" y="36" text-anchor="middle" fill="#4D3F3C" font-size="14" font-weight="bold">🧴</text>
|
||||
</g>
|
||||
|
||||
<!-- Team collaboration elements -->
|
||||
<circle cx="450" cy="350" r="40" fill="#ffffff" opacity="0.9"/>
|
||||
<circle cx="450" cy="350" r="30" fill="#A39660" opacity="0.3"/>
|
||||
<text x="450" y="356" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">👥</text>
|
||||
|
||||
<circle cx="830" cy="350" r="40" fill="#ffffff" opacity="0.9"/>
|
||||
<circle cx="830" cy="350" r="30" fill="#A39660" opacity="0.3"/>
|
||||
<text x="830" y="356" text-anchor="middle" fill="#4D3F3C" font-size="12" font-weight="bold">⭐</text>
|
||||
|
||||
<!-- Decorative elements -->
|
||||
<circle cx="200" cy="200" r="15" fill="#A39660" opacity="0.4"/>
|
||||
<circle cx="1080" cy="200" r="12" fill="#A39660" opacity="0.3"/>
|
||||
<circle cx="150" cy="700" r="18" fill="#A39660" opacity="0.3"/>
|
||||
<circle cx="1130" cy="700" r="10" fill="#A39660" opacity="0.4"/>
|
||||
|
||||
<!-- Bottom text overlay -->
|
||||
<rect x="0" y="800" width="1280" height="100" fill="rgba(255,255,255,0.8)"/>
|
||||
<text x="640" y="840" text-anchor="middle" fill="#4D3F3C" font-size="24" font-weight="bold">Equipo Vanity - Profesionales en Belleza</text>
|
||||
<text x="640" y="870" text-anchor="middle" fill="#6b7280" font-size="18">Trabajando juntas para crear experiencias excepcionales</text>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 3.7 KiB |
BIN
assets/img/logos/alma_bk.png
Normal file
|
After Width: | Height: | Size: 40 KiB |
70
assets/img/logos/alma_bk.svg
Normal file
@@ -0,0 +1,70 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="1080.000000pt" height="1080.000000pt" viewBox="0 0 1080.000000 1080.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
|
||||
<g transform="translate(0.000000,1080.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M6452 10661 c-244 -114 -552 -749 -847 -1746 -134 -453 -531 -2056
|
||||
-824 -3330 l-90 -390 -121 -228 c-137 -260 -210 -390 -318 -562 -257 -413
|
||||
-527 -698 -710 -751 -75 -22 -114 -12 -174 44 -169 158 -279 601 -328 1322
|
||||
-14 198 -26 221 -132 246 -46 10 -94 -13 -141 -69 -24 -29 -103 -133 -174
|
||||
-232 -336 -464 -759 -971 -792 -950 -31 18 3 289 64 509 135 492 382 925 615
|
||||
1075 174 113 301 93 481 -75 63 -59 99 -85 123 -90 95 -17 187 73 171 169 -13
|
||||
75 -167 221 -310 293 -179 90 -366 89 -545 -1 -173 -87 -389 -332 -543 -616
|
||||
-178 -327 -327 -804 -345 -1104 -13 -214 10 -329 81 -403 92 -96 223 -99 359
|
||||
-9 123 82 499 515 749 861 l64 90 7 -40 c4 -21 18 -122 32 -224 85 -615 258
|
||||
-970 523 -1070 88 -33 224 -32 321 2 227 81 475 318 752 718 48 69 70 95 66
|
||||
76 -56 -237 -307 -1447 -436 -2101 -125 -636 -233 -1259 -271 -1565 -17 -134
|
||||
-17 -326 -1 -372 36 -102 166 -129 252 -52 67 60 170 289 170 377 0 55 -29
|
||||
101 -79 127 -35 17 -40 24 -36 48 2 15 12 74 21 132 57 370 203 1149 364 1935
|
||||
164 798 375 1784 385 1794 3 2 5 -203 5 -457 l0 -462 159 0 159 0 5 783 c6
|
||||
951 12 1015 101 1103 50 50 107 69 184 60 77 -9 117 -29 151 -76 68 -95 81
|
||||
-276 81 -1197 l0 -673 164 0 165 0 4 818 c4 879 6 912 58 1018 59 123 266 153
|
||||
360 52 81 -86 89 -188 89 -1135 l0 -753 166 0 165 0 -4 828 c-5 870 -6 894
|
||||
-52 1077 -60 235 -194 345 -421 345 -180 0 -303 -68 -389 -215 -15 -25 -30
|
||||
-45 -34 -45 -4 0 -17 21 -29 46 -35 70 -113 147 -185 180 -57 27 -71 29 -182
|
||||
29 -115 0 -123 -1 -186 -32 -62 -31 -147 -108 -191 -173 -17 -24 -17 -23 -17
|
||||
67 -1 82 -3 92 -20 95 -17 3 -11 35 85 443 57 242 150 624 205 850 94 379 104
|
||||
415 142 475 716 1146 1187 2259 1187 2804 0 160 -30 244 -108 297 -48 33 -141
|
||||
37 -200 10z m3 -448 c-11 -93 -82 -363 -136 -520 -59 -169 -130 -350 -220
|
||||
-553 -67 -154 -295 -620 -303 -620 -12 0 118 439 208 705 147 436 260 704 404
|
||||
963 25 45 48 82 50 82 2 0 1 -26 -3 -57z"/>
|
||||
<path d="M1552 7419 c-207 -103 -232 -392 -47 -539 84 -67 230 -78 332 -26 93
|
||||
46 163 162 163 268 l0 38 -165 0 -165 0 0 -35 0 -35 125 0 c138 0 137 1 106
|
||||
-65 -38 -81 -111 -125 -209 -125 -145 0 -243 112 -229 262 10 111 77 186 184
|
||||
208 93 20 194 -19 236 -90 15 -25 24 -30 58 -30 48 0 49 10 8 70 -60 87 -146
|
||||
130 -264 130 -60 0 -82 -5 -133 -31z"/>
|
||||
<path d="M4097 7434 c-69 -21 -148 -101 -177 -179 -18 -48 -21 -75 -18 -135 8
|
||||
-128 62 -216 166 -267 50 -24 69 -28 147 -28 78 0 97 4 147 28 103 51 159 137
|
||||
166 259 7 112 -16 177 -87 249 -38 38 -72 61 -105 72 -61 21 -173 21 -239 1z
|
||||
m225 -81 c47 -19 104 -84 118 -132 31 -111 -7 -231 -90 -286 -42 -28 -52 -30
|
||||
-135 -30 -83 0 -93 2 -135 30 -29 20 -54 49 -73 85 -26 50 -29 62 -25 133 4
|
||||
66 9 84 34 119 38 53 71 78 131 94 53 15 117 10 175 -13z"/>
|
||||
<path d="M2140 7135 l0 -305 40 0 40 0 0 110 0 110 68 0 67 -1 74 -109 75
|
||||
-110 43 0 c24 0 43 2 43 5 0 3 -34 55 -75 115 l-75 108 33 11 c36 12 76 50 97
|
||||
90 18 34 16 141 -3 177 -44 84 -97 104 -282 104 l-145 0 0 -305z m317 209 c15
|
||||
-12 34 -38 42 -59 13 -32 13 -43 0 -78 -23 -66 -53 -81 -174 -85 l-105 -4 0
|
||||
127 0 127 104 -4 c87 -2 109 -6 133 -24z"/>
|
||||
<path d="M2730 7247 c0 -217 12 -289 58 -346 45 -55 95 -76 182 -76 95 0 151
|
||||
28 193 96 37 60 47 132 47 347 l0 172 -39 0 -40 0 -3 -217 c-3 -242 -9 -265
|
||||
-71 -304 -26 -16 -45 -19 -99 -17 -57 3 -72 8 -96 31 -45 43 -52 84 -52 306
|
||||
l0 201 -40 0 -40 0 0 -193z"/>
|
||||
<path d="M3380 7136 l0 -306 35 0 35 0 0 99 0 99 103 4 c173 6 247 62 255 192
|
||||
4 78 -24 138 -86 181 -43 30 -46 30 -193 33 l-149 4 0 -306z m278 219 c49 -20
|
||||
72 -59 72 -125 0 -96 -73 -138 -225 -128 l-50 3 -3 133 -3 132 86 0 c53 0 99
|
||||
-6 123 -15z"/>
|
||||
<path d="M7935 5811 c-126 -23 -233 -51 -360 -94 l-100 -34 -3 -181 -2 -181
|
||||
87 44 c121 60 228 98 369 131 99 23 143 27 264 27 171 1 250 -12 346 -59 150
|
||||
-71 224 -210 224 -419 l0 -73 -347 -5 c-374 -4 -460 -13 -613 -64 -243 -80
|
||||
-399 -232 -462 -449 -20 -67 -23 -102 -23 -234 0 -134 3 -165 23 -230 100
|
||||
-323 405 -497 806 -461 141 12 259 47 352 102 75 44 172 135 220 205 l39 56 3
|
||||
-156 3 -156 184 0 185 0 0 668 c0 709 -8 912 -40 1038 -67 262 -266 441 -580
|
||||
520 -104 26 -447 29 -575 5z m822 -1268 c-9 -215 -60 -372 -160 -498 -62 -78
|
||||
-116 -120 -202 -160 -97 -46 -173 -58 -307 -53 -133 6 -201 28 -279 90 -101
|
||||
79 -146 193 -137 345 11 169 79 274 222 343 124 59 201 69 555 69 l314 1 -6
|
||||
-137z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 4.4 KiB |
BIN
assets/img/logos/alma_wh.png
Normal file
|
After Width: | Height: | Size: 43 KiB |
BIN
assets/img/logos/vanity_bk.png
Normal file
|
After Width: | Height: | Size: 578 KiB |
515
assets/img/logos/vanity_bk.svg
Normal file
@@ -0,0 +1,515 @@
|
||||
<?xml version="1.0" standalone="no"?>
|
||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
|
||||
"http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
|
||||
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
|
||||
width="5333.000000pt" height="5333.000000pt" viewBox="0 0 5333.000000 5333.000000"
|
||||
preserveAspectRatio="xMidYMid meet">
|
||||
|
||||
<g transform="translate(0.000000,5333.000000) scale(0.100000,-0.100000)"
|
||||
fill="#000000" stroke="none">
|
||||
<path d="M19032 48500 c-122 -29 -198 -188 -136 -287 26 -41 100 -26 153 31
|
||||
33 36 54 33 100 -14 45 -46 72 -50 106 -16 57 57 54 153 -8 223 -55 62 -127
|
||||
84 -215 63z"/>
|
||||
<path d="M26635 48240 c-112 -7 -127 -11 -150 -46 -45 -69 -21 -164 50 -199
|
||||
36 -17 71 -20 398 -26 1681 -35 3326 -351 4917 -946 483 -181 896 -362 1410
|
||||
-619 1225 -613 2310 -1352 3345 -2277 237 -211 878 -853 1086 -1087 735 -825
|
||||
1337 -1650 1858 -2548 993 -1712 1638 -3621 1885 -5582 47 -369 71 -630 108
|
||||
-1180 9 -130 13 -1589 17 -5695 5 -4156 9 -5525 18 -5540 41 -71 122 -94 183
|
||||
-53 19 13 43 39 53 58 16 33 17 304 14 5600 -2 4105 -6 5607 -15 5725 -46 628
|
||||
-71 891 -122 1265 -256 1872 -854 3671 -1758 5290 -1274 2282 -2979 4099
|
||||
-5136 5473 -1987 1265 -4094 2020 -6396 2291 -650 77 -1409 118 -1765 96z"/>
|
||||
<path d="M19243 48093 c-20 -8 -26 -71 -13 -135 17 -79 113 -272 185 -373 87
|
||||
-120 158 -198 280 -303 328 -282 717 -458 1165 -527 148 -23 484 -31 664 -15
|
||||
81 6 149 10 152 7 12 -12 -12 -37 -59 -62 -298 -160 -1050 -604 -1333 -786
|
||||
-236 -152 -329 -208 -424 -253 l-85 -41 -225 -7 c-415 -14 -1618 -114 -2035
|
||||
-169 -884 -117 -1501 -337 -2010 -719 -425 -318 -642 -589 -1250 -1560 -282
|
||||
-450 -268 -427 -261 -446 6 -16 9 -14 501 361 326 249 423 318 611 433 175
|
||||
107 343 197 549 294 517 244 795 348 1955 733 484 160 741 249 1008 349 130
|
||||
49 162 55 162 31 0 -16 16 -5 -260 -188 -487 -323 -913 -643 -1495 -1123 -229
|
||||
-189 -331 -248 -855 -499 -279 -133 -477 -223 -975 -440 -822 -359 -1090 -497
|
||||
-1510 -778 -370 -247 -614 -457 -1040 -893 -425 -437 -614 -604 -865 -770
|
||||
-289 -191 -568 -309 -915 -388 -150 -34 -254 -70 -241 -83 7 -7 280 -53 546
|
||||
-92 461 -68 910 -51 1372 50 639 140 1200 430 1773 916 290 245 501 456 1181
|
||||
1178 649 688 1261 1267 1919 1816 185 155 210 172 227 167 8 -3 -167 -183
|
||||
-436 -449 -731 -723 -1168 -1193 -1700 -1828 -784 -937 -1497 -1953 -2007
|
||||
-2860 -73 -131 -129 -195 -284 -328 -228 -197 -430 -309 -715 -399 -297 -94
|
||||
-382 -128 -394 -159 -20 -54 4 -88 80 -111 147 -44 452 17 720 146 108 52 128
|
||||
57 139 39 8 -12 -275 -617 -310 -664 -25 -33 -121 -90 -220 -129 -48 -20 -96
|
||||
-29 -197 -37 -175 -14 -206 -22 -214 -56 -4 -14 -2 -33 3 -42 13 -21 83 -61
|
||||
108 -61 30 -1 107 -38 100 -49 -10 -17 -186 -135 -320 -216 -168 -102 -371
|
||||
-204 -566 -288 -239 -102 -328 -157 -432 -266 -248 -260 -166 -704 154 -827
|
||||
72 -27 86 -47 108 -156 32 -160 83 -237 213 -322 61 -39 65 -45 120 -157 49
|
||||
-99 67 -125 125 -180 182 -170 398 -183 641 -38 98 59 169 79 272 79 155 0
|
||||
289 59 411 180 123 121 173 239 172 405 0 136 -20 191 -203 558 -204 406 -245
|
||||
538 -243 782 0 68 7 158 17 208 27 143 24 141 90 42 100 -151 160 -205 229
|
||||
-205 77 0 75 39 -9 169 -108 168 -144 270 -144 409 0 109 31 187 211 534 450
|
||||
868 877 1578 1426 2372 139 201 167 236 185 236 16 0 7 -30 -76 -246 -276
|
||||
-721 -459 -1485 -431 -1794 8 -90 18 -110 50 -110 48 0 93 106 191 452 237
|
||||
837 347 1165 539 1613 155 359 509 1083 590 1206 109 164 617 743 1100 1254
|
||||
437 462 1351 1385 1372 1385 7 0 13 -5 13 -12 0 -6 -42 -79 -94 -162 -183
|
||||
-294 -307 -517 -491 -886 -356 -710 -598 -1301 -980 -2385 -195 -555 -314
|
||||
-844 -462 -1125 -226 -428 -450 -740 -770 -1072 -126 -130 -152 -168 -118
|
||||
-168 20 0 684 323 910 442 865 459 1359 895 1609 1420 187 390 235 753 206
|
||||
1543 -27 716 33 1206 212 1755 107 329 214 536 401 780 454 591 1026 1117
|
||||
1756 1612 93 63 148 95 154 89 7 -7 7 -15 0 -23 -6 -7 -48 -60 -95 -118 -496
|
||||
-614 -842 -1310 -1042 -2097 -274 -1082 -244 -2115 95 -3170 56 -173 64 -190
|
||||
80 -180 23 14 356 516 459 692 265 454 360 792 347 1240 -8 272 -44 462 -202
|
||||
1060 -151 571 -177 723 -179 1030 -1 249 8 291 114 500 136 268 338 587 544
|
||||
860 197 262 493 598 570 649 28 18 168 102 311 185 143 84 277 164 297 177 39
|
||||
25 78 32 78 14 0 -6 -34 -50 -76 -98 -523 -604 -838 -1309 -905 -2025 -16
|
||||
-174 -7 -503 19 -672 66 -426 197 -760 401 -1022 82 -105 131 -146 171 -141
|
||||
39 5 31 42 -55 243 -131 307 -210 571 -257 856 -30 184 -33 670 -5 849 119
|
||||
753 465 1401 1093 2049 119 123 154 150 154 117 0 -7 -16 -76 -36 -152 -31
|
||||
-118 -37 -160 -41 -274 -5 -166 8 -230 50 -244 21 -8 31 -6 41 5 8 7 28 90 46
|
||||
183 50 275 136 503 257 688 66 101 220 254 323 321 47 30 132 78 189 107 175
|
||||
87 660 359 693 388 14 11 15 19 7 34 -9 16 -18 19 -45 15 -68 -11 -507 -194
|
||||
-889 -370 l-90 -42 -230 0 c-218 0 -236 2 -340 28 -130 33 -245 81 -375 155
|
||||
-135 78 -176 95 -199 83 -42 -23 -33 -61 34 -139 81 -94 257 -193 455 -257 63
|
||||
-20 117 -38 118 -40 23 -22 -335 -104 -663 -152 -154 -22 -594 -25 -730 -4
|
||||
-252 38 -476 106 -680 206 -310 152 -567 362 -799 655 -96 121 -195 231 -206
|
||||
229 -3 0 -10 -3 -17 -6z m-1013 -2834 c-30 -11 -151 -46 -267 -79 -249 -70
|
||||
-412 -134 -472 -186 -2 -2 4 -13 15 -25 18 -20 25 -21 108 -14 49 4 162 22
|
||||
250 40 89 19 291 61 450 94 159 34 294 61 300 61 6 0 -2 -11 -19 -25 -18 -14
|
||||
-101 -47 -205 -80 -567 -183 -1728 -565 -1871 -616 -519 -183 -1003 -397
|
||||
-1379 -608 -193 -108 -205 -97 -77 74 163 216 396 452 587 596 560 420 1206
|
||||
628 2370 763 260 30 283 31 210 5z m1360 -2054 c1 -240 36 -511 81 -613 17
|
||||
-40 21 -43 51 -40 57 5 59 22 48 314 -16 434 -13 503 23 464 13 -14 140 -533
|
||||
187 -765 100 -489 91 -803 -31 -1171 -49 -146 -110 -271 -244 -496 -129 -218
|
||||
-131 -218 -173 -40 -79 335 -112 563 -132 922 -25 443 29 1012 141 1465 28
|
||||
112 28 113 39 95 6 -8 10 -69 10 -135z m-3892 -587 c-8 -12 -181 -143 -384
|
||||
-291 -584 -425 -722 -529 -829 -623 -110 -96 -119 -106 -129 -146 -6 -25 -4
|
||||
-28 21 -28 80 0 332 158 908 570 143 102 275 196 293 208 27 20 33 21 38 8 7
|
||||
-19 -714 -784 -1037 -1101 -417 -408 -753 -674 -1113 -880 -419 -239 -860
|
||||
-382 -1361 -440 -180 -21 -284 -20 -292 2 -4 10 1 22 13 30 10 8 69 48 131 91
|
||||
212 146 370 288 838 754 491 488 562 553 807 738 412 312 801 531 1578 891
|
||||
146 67 321 148 390 180 69 32 129 58 134 59 5 0 2 -10 -6 -22z m1831 -526
|
||||
c-153 -685 -181 -907 -118 -927 11 -4 26 -1 34 5 31 26 82 181 154 468 42 167
|
||||
81 304 86 305 30 6 30 -1115 1 -1311 -45 -300 -141 -559 -292 -787 -139 -212
|
||||
-363 -445 -587 -614 -210 -156 -616 -407 -644 -397 -21 8 -16 21 40 119 190
|
||||
326 355 705 577 1327 273 760 397 1091 542 1440 126 302 183 421 201 414 11
|
||||
-4 13 -14 6 -42z m-5183 -5874 c-3 -29 -21 -107 -40 -173 -42 -149 -54 -229
|
||||
-35 -223 8 2 34 31 59 64 25 33 55 74 67 90 28 37 40 23 47 -61 57 -670 45
|
||||
-968 -47 -1154 -72 -147 -218 -256 -342 -256 -95 1 -183 60 -219 147 -22 52
|
||||
-20 85 9 162 14 37 25 86 25 110 l0 43 -77 -18 c-146 -35 -212 -19 -253 61
|
||||
-45 88 -33 199 35 329 41 77 163 245 283 386 85 101 484 543 491 544 2 1 1
|
||||
-23 -3 -51z m-396 1 c0 -6 -44 -59 -98 -118 -311 -338 -428 -488 -521 -668
|
||||
-23 -45 -50 -84 -59 -88 -21 -8 -58 21 -104 81 -53 69 -72 130 -66 218 7 106
|
||||
54 186 155 263 29 22 667 322 686 323 4 0 7 -5 7 -11z m886 -891 c96 -197 118
|
||||
-267 112 -361 -9 -134 -84 -237 -220 -302 -77 -37 -103 -43 -95 -22 21 56 59
|
||||
190 74 263 14 71 18 137 18 332 0 226 1 242 18 242 13 0 38 -40 93 -152z"/>
|
||||
<path d="M26552 46813 c-37 -32 -30 -102 11 -120 14 -7 131 -14 273 -18 637
|
||||
-16 1105 -53 1669 -131 2558 -355 4975 -1435 6945 -3103 389 -330 993 -913
|
||||
1311 -1266 698 -774 1226 -1504 1762 -2431 78 -136 153 -256 168 -266 31 -23
|
||||
69 -12 95 26 21 33 14 55 -73 211 -929 1674 -2197 3128 -3763 4317 -1996 1515
|
||||
-4413 2465 -6932 2723 -525 53 -857 75 -1158 75 -260 0 -290 -2 -308 -17z"/>
|
||||
<path d="M26100 45002 c0 -5 9 -17 20 -27 31 -28 79 -108 100 -167 10 -29 80
|
||||
-294 155 -588 153 -605 184 -712 199 -707 18 5 54 73 337 632 277 546 320 618
|
||||
405 678 24 17 41 34 37 38 -9 8 -251 39 -306 39 -21 0 -37 -3 -35 -8 2 -4 17
|
||||
-34 33 -67 26 -51 30 -71 29 -135 0 -50 -8 -97 -22 -140 -38 -111 -344 -719
|
||||
-365 -726 -10 -3 -20 -4 -21 -2 -12 16 -246 996 -246 1030 0 24 8 60 19 80
|
||||
l18 37 -36 5 c-20 3 -90 10 -156 16 -66 6 -130 13 -142 16 -13 2 -23 0 -23 -4z"/>
|
||||
<path d="M28747 44540 c-34 -27 -177 -222 -382 -520 -219 -319 -328 -461 -449
|
||||
-587 -54 -57 -97 -105 -95 -107 11 -11 289 -79 289 -71 0 1 -9 24 -21 50 -32
|
||||
72 -24 148 26 254 59 125 51 123 321 51 120 -32 227 -61 236 -65 22 -9 24 -16
|
||||
43 -148 18 -122 10 -194 -25 -255 -12 -19 -17 -38 -13 -42 10 -9 316 -90 321
|
||||
-85 2 2 -6 21 -17 43 -52 101 -82 256 -101 517 -6 77 -19 212 -30 300 -11 88
|
||||
-31 277 -45 419 -14 143 -26 261 -28 263 -2 2 -16 -6 -30 -17z m-117 -293 c0
|
||||
-12 14 -161 30 -331 17 -170 29 -310 28 -311 -14 -13 -468 101 -468 117 0 5
|
||||
84 130 186 279 134 194 191 269 205 269 13 0 19 -7 19 -23z"/>
|
||||
<path d="M30175 44012 c-1 -89 11 -59 -251 -671 -92 -217 -181 -415 -198 -440
|
||||
-17 -25 -50 -59 -72 -77 l-42 -31 57 -26 c31 -14 68 -28 82 -31 26 -6 26 -5
|
||||
32 72 7 96 17 124 226 612 152 355 188 426 205 409 3 -3 60 -322 126 -709 66
|
||||
-387 121 -705 123 -706 18 -18 81 112 267 546 273 636 262 614 332 684 32 32
|
||||
58 59 56 60 -5 4 -157 66 -160 66 -2 0 -4 -35 -4 -77 -2 -94 -11 -120 -187
|
||||
-535 -70 -164 -127 -302 -127 -307 0 -9 -31 -31 -44 -31 -11 0 -27 87 -106
|
||||
565 -97 596 -96 588 -126 624 -23 28 -136 81 -172 81 -15 0 -17 -11 -17 -78z"/>
|
||||
<path d="M31877 43227 c-3 -34 -14 -83 -25 -107 -26 -61 -463 -839 -515 -918
|
||||
-28 -42 -61 -76 -99 -102 l-58 -38 78 -45 c42 -25 104 -59 137 -76 l60 -29 7
|
||||
61 c8 72 27 130 67 201 16 28 122 218 236 421 114 204 226 396 248 427 35 51
|
||||
104 107 146 120 22 6 -235 148 -268 148 -5 0 -11 -28 -14 -63z"/>
|
||||
<path d="M32784 42627 c-39 -56 -71 -103 -70 -104 0 -1 39 10 86 24 101 29
|
||||
173 28 241 -5 61 -29 89 -57 89 -88 0 -18 -98 -164 -312 -462 -416 -584 -398
|
||||
-562 -489 -591 l-47 -16 141 -101 142 -102 6 67 c3 36 15 86 26 111 11 25 114
|
||||
178 229 341 115 162 263 373 329 467 77 110 128 174 142 178 30 8 106 -46 155
|
||||
-111 43 -57 63 -119 63 -197 0 -31 3 -54 7 -52 9 6 118 161 124 179 4 9 -26
|
||||
34 -88 76 -145 97 -379 262 -539 381 -81 59 -151 108 -155 107 -5 0 -41 -46
|
||||
-80 -102z"/>
|
||||
<path d="M21658 42550 c-35 -27 -39 -53 -17 -95 10 -19 19 -44 19 -55 0 -18
|
||||
-7 -20 -56 -20 -66 0 -90 -11 -98 -45 -24 -96 97 -208 206 -191 125 20 204
|
||||
118 196 243 -3 51 -9 69 -34 100 -17 21 -46 48 -64 61 -43 29 -117 30 -152 2z"/>
|
||||
<path d="M34267 41567 c-5 -80 -25 -175 -92 -445 l-85 -343 -132 -146 c-138
|
||||
-153 -209 -215 -295 -261 -29 -15 -52 -30 -50 -34 3 -10 199 -188 206 -188 3
|
||||
0 20 31 38 68 45 93 111 177 255 320 l124 122 294 100 c183 61 339 107 410
|
||||
121 171 32 167 21 51 128 l-101 93 0 -36 c0 -88 -41 -130 -183 -190 -98 -42
|
||||
-447 -159 -453 -153 -5 5 37 212 67 332 36 142 91 299 112 322 11 13 40 28 65
|
||||
35 l44 13 -119 110 c-65 61 -125 116 -134 123 -14 11 -17 1 -22 -91z"/>
|
||||
<path d="M36253 39202 c-96 -34 -163 -103 -204 -211 -31 -81 -36 -225 -14
|
||||
-417 11 -98 16 -195 13 -269 -4 -106 -7 -119 -39 -182 -27 -54 -44 -73 -83
|
||||
-98 -165 -102 -409 51 -472 296 -30 117 -18 181 83 427 7 17 -167 -95 -189
|
||||
-122 -25 -31 -23 -108 8 -212 60 -210 187 -371 358 -455 87 -43 92 -44 185
|
||||
-44 80 0 104 4 143 23 113 56 180 165 198 322 11 99 9 138 -17 354 -21 178
|
||||
-15 326 16 386 30 59 48 78 93 101 150 77 364 -73 408 -286 16 -76 7 -157 -29
|
||||
-279 -16 -53 -27 -96 -24 -96 6 0 121 78 166 112 46 36 47 59 11 160 -58 161
|
||||
-133 279 -240 377 -125 114 -256 154 -371 113z"/>
|
||||
<path d="M39159 38646 c-160 -45 -294 -178 -345 -345 -21 -66 -18 -207 6 -282
|
||||
79 -259 364 -399 627 -308 219 75 361 307 323 529 -32 192 -181 357 -365 405
|
||||
-70 18 -182 18 -246 1z m231 -158 c51 -15 125 -64 153 -101 59 -78 72 -116 72
|
||||
-217 0 -89 -2 -99 -34 -158 -62 -114 -156 -174 -281 -180 -140 -7 -257 64
|
||||
-322 195 -27 56 -32 75 -32 143 0 68 5 87 33 144 75 154 244 225 411 174z"/>
|
||||
<path d="M25450 38600 c-41 -4 -157 -8 -258 -9 -101 0 -182 -4 -180 -8 45 -88
|
||||
43 -55 43 -583 0 -494 0 -495 -22 -538 -13 -23 -23 -45 -23 -48 0 -2 198 -3
|
||||
441 -2 l441 3 18 22 c20 25 44 144 35 173 -5 15 -14 9 -60 -36 -88 -88 -118
|
||||
-97 -333 -102 -101 -2 -193 -1 -206 2 -12 3 -28 17 -34 31 -15 32 -16 382 -2
|
||||
419 14 37 73 50 191 42 102 -6 148 -18 190 -47 24 -17 28 -17 33 -3 7 18 8
|
||||
174 1 174 -2 0 -21 -11 -41 -25 -53 -36 -96 -45 -222 -45 -107 0 -114 1 -138
|
||||
25 l-25 25 3 216 c3 248 2 244 95 244 66 0 109 -17 162 -65 l41 -37 0 75 c0
|
||||
82 -13 108 -53 105 -12 -1 -56 -4 -97 -8z"/>
|
||||
<path d="M26356 38586 c-118 -50 -189 -159 -190 -291 0 -85 24 -145 81 -201
|
||||
21 -22 120 -95 221 -163 100 -68 201 -142 223 -164 140 -140 109 -350 -64
|
||||
-428 -45 -21 -68 -24 -162 -24 -100 0 -115 3 -166 28 -119 58 -199 182 -207
|
||||
319 -3 43 -8 78 -12 78 -5 0 -13 -30 -19 -67 -38 -226 127 -404 404 -438 73
|
||||
-9 205 18 288 58 273 130 336 434 133 641 -29 30 -140 112 -256 188 -113 75
|
||||
-220 152 -237 172 -83 93 -33 212 106 253 99 28 200 3 288 -72 22 -19 43 -31
|
||||
47 -28 3 3 6 35 6 69 0 87 -1 87 -235 91 -184 4 -192 3 -249 -21z"/>
|
||||
<path d="M28030 38599 c-47 -4 -257 -7 -467 -8 -228 -1 -402 -5 -432 -12 -69
|
||||
-14 -134 -58 -156 -105 -21 -45 -24 -116 -5 -159 l13 -30 8 46 c10 67 42 133
|
||||
75 156 49 35 102 43 290 43 157 0 183 -2 195 -17 11 -13 14 -106 14 -507 l0
|
||||
-491 -26 -53 -26 -52 174 0 c95 0 173 2 173 4 0 2 -11 28 -25 58 l-25 53 0
|
||||
481 c0 444 1 483 18 503 16 20 26 22 134 22 129 0 186 -16 241 -68 l27 -27 0
|
||||
71 c0 109 -2 110 -200 92z"/>
|
||||
<path d="M11721 38020 c-141 -35 -215 -217 -145 -358 64 -129 201 -177 325
|
||||
-114 122 61 132 168 20 202 -75 24 -93 33 -79 41 7 5 29 9 49 9 82 0 113 70
|
||||
64 143 -44 63 -149 99 -234 77z"/>
|
||||
<path d="M14143 37816 c-42 -35 -63 -84 -63 -145 0 -185 237 -290 383 -170 58
|
||||
48 80 99 75 177 -4 58 -8 68 -36 93 -47 42 -77 38 -125 -16 -22 -25 -48 -45
|
||||
-57 -45 -9 0 -27 24 -45 63 -28 58 -33 62 -66 65 -27 2 -44 -3 -66 -22z"/>
|
||||
<path d="M37115 37239 c-720 -81 -733 -82 -818 -70 -41 6 -95 17 -118 25 -24
|
||||
8 -45 14 -47 12 -5 -5 141 -296 149 -296 3 0 14 18 24 40 28 63 100 124 175
|
||||
148 102 33 136 37 165 18 35 -23 239 -430 231 -461 -3 -13 -52 -70 -108 -128
|
||||
-95 -97 -108 -107 -166 -124 l-63 -19 57 -115 c60 -121 90 -169 104 -169 5 0
|
||||
16 21 24 48 9 26 31 70 50 97 18 28 218 252 445 499 403 439 481 527 481 540
|
||||
0 14 -180 1 -585 -45z m270 -29 c3 -5 -99 -122 -226 -260 l-233 -249 -30 52
|
||||
c-62 110 -188 379 -180 386 5 4 115 20 244 35 129 16 260 32 290 36 81 11 128
|
||||
11 135 0z"/>
|
||||
<path d="M39845 36695 c-14 -13 -25 -34 -25 -47 0 -13 16 -84 35 -158 280
|
||||
-1071 417 -2034 455 -3205 6 -184 10 -2316 10 -5528 l0 -5228 25 -24 c13 -14
|
||||
34 -25 45 -25 11 0 32 11 45 25 l25 24 0 5403 c0 5228 -2 5580 -30 5998 -58
|
||||
844 -196 1696 -412 2534 -55 212 -76 256 -124 256 -14 0 -36 -11 -49 -25z"/>
|
||||
<path d="M38234 35885 c-23 -23 -62 -52 -88 -64 -83 -41 -970 -338 -1045 -351
|
||||
-40 -7 -92 -9 -117 -5 -24 3 -44 4 -44 2 0 -2 50 -151 110 -330 61 -179 110
|
||||
-335 110 -346 0 -11 7 -39 16 -61 27 -66 72 -79 223 -64 33 4 61 10 61 14 0 4
|
||||
-30 22 -67 40 -86 42 -166 123 -215 215 -28 54 -118 291 -118 311 0 12 120 55
|
||||
613 220 579 193 608 201 682 170 19 -8 35 -12 35 -9 0 33 -97 304 -108 301 -4
|
||||
0 -26 -20 -48 -43z"/>
|
||||
<path d="M38108 34111 c-159 -35 -299 -94 -399 -167 -120 -88 -209 -226 -231
|
||||
-358 -41 -247 149 -484 434 -541 234 -46 549 9 743 130 84 52 198 168 237 241
|
||||
149 276 4 580 -327 684 -102 32 -334 38 -457 11z m566 -106 c65 -24 128 -87
|
||||
149 -150 10 -27 17 -79 17 -115 0 -57 -5 -78 -35 -136 -67 -133 -216 -269
|
||||
-386 -351 -180 -88 -388 -140 -519 -130 -94 7 -131 18 -200 59 -109 66 -148
|
||||
190 -101 330 71 212 375 427 712 503 88 20 296 14 363 -10z"/>
|
||||
<path d="M19450 34013 c-41 -14 -53 -69 -21 -97 10 -9 70 -30 132 -45 139 -36
|
||||
215 -64 339 -126 266 -133 502 -344 740 -660 186 -247 311 -458 515 -864 277
|
||||
-555 457 -984 803 -1911 1412 -3787 1870 -4997 3754 -9905 418 -1089 766
|
||||
-1990 774 -2002 30 -47 105 -41 135 12 10 17 461 1211 1002 2655 1478 3940
|
||||
1790 4779 2599 6985 872 2380 981 2672 1128 3030 466 1137 926 1919 1363 2317
|
||||
282 257 512 386 834 469 96 25 128 37 139 55 20 30 8 73 -23 85 -15 5 -1034 9
|
||||
-2579 9 l-2555 0 -24 -25 c-31 -30 -34 -86 -6 -114 21 -21 52 -27 196 -36 206
|
||||
-14 519 -82 697 -150 250 -97 423 -208 604 -389 333 -334 501 -745 553 -1361
|
||||
14 -155 14 -523 1 -696 -56 -733 -285 -1708 -629 -2681 -191 -539 -2514 -6926
|
||||
-2531 -6958 -22 -40 -47 -14 -83 85 -14 39 -224 594 -467 1235 -492 1297 -616
|
||||
1628 -1255 3350 -831 2240 -1036 2784 -1520 4035 -350 904 -527 1388 -684
|
||||
1867 -284 868 -293 1117 -51 1359 85 85 199 157 343 219 112 47 192 71 362
|
||||
109 99 23 134 35 147 51 23 29 23 55 -2 80 -20 20 -33 20 -2367 19 -1292 0
|
||||
-2355 -3 -2363 -6z"/>
|
||||
<path d="M39085 32270 c-66 -44 -106 -49 -655 -80 -294 -17 -555 -28 -578 -25
|
||||
-37 5 -72 19 -146 53 -11 6 -1 -157 11 -169 4 -4 36 6 71 22 71 35 59 33 672
|
||||
69 195 11 367 22 382 25 35 6 66 -21 46 -40 -7 -7 -164 -121 -348 -254 -184
|
||||
-133 -389 -281 -455 -329 -66 -49 -147 -107 -180 -129 -33 -23 -82 -64 -110
|
||||
-92 l-49 -51 126 0 c69 0 339 12 600 26 541 29 595 29 662 -9 40 -22 48 -24
|
||||
53 -11 8 21 -3 134 -14 145 -6 6 -43 1 -94 -11 -189 -44 -665 -87 -835 -74
|
||||
-46 4 -84 10 -84 14 0 9 500 375 715 525 94 64 181 127 194 139 55 49 83 154
|
||||
65 245 -8 37 -10 37 -49 11z"/>
|
||||
<path d="M15571 31119 c-29 -28 -84 -65 -121 -84 -37 -19 -287 -118 -556 -220
|
||||
-685 -261 -695 -265 -691 -278 6 -22 90 -56 647 -262 574 -213 649 -247 734
|
||||
-329 l46 -45 0 202 c0 200 0 202 -18 172 -29 -47 -88 -93 -134 -106 -95 -25
|
||||
-254 11 -584 134 -109 41 -228 84 -264 96 -36 11 -82 31 -103 44 l-38 23 503
|
||||
187 c520 194 553 203 608 172 14 -8 28 -14 33 -15 9 0 8 319 -1 342 -6 13 -16
|
||||
7 -61 -33z"/>
|
||||
<path d="M12744 31109 c-19 -21 -19 -125 -22 -5293 -3 -5340 -2 -5608 33
|
||||
-6116 59 -843 194 -1690 396 -2478 77 -299 87 -322 141 -322 41 0 68 32 68 80
|
||||
0 22 -22 127 -50 232 -215 835 -353 1712 -410 2608 -26 414 -29 1020 -29 6012
|
||||
0 4040 -3 5243 -12 5260 -16 31 -28 38 -65 38 -19 0 -38 -8 -50 -21z"/>
|
||||
<path d="M11419 30757 c-21 -14 -39 -37 -47 -61 -18 -55 -12 -10626 6 -10906
|
||||
81 -1249 228 -2151 529 -3230 678 -2438 1897 -4592 3634 -6420 1909 -2009
|
||||
4227 -3414 6889 -4175 1165 -333 2385 -525 3591 -566 372 -12 598 -8 641 12
|
||||
36 16 57 49 64 101 6 49 -17 95 -61 124 -28 18 -30 18 -730 44 -869 32 -1761
|
||||
150 -2664 355 -1973 445 -3713 1235 -5421 2458 -1197 858 -2286 1917 -3177
|
||||
3087 -965 1269 -1771 2800 -2289 4345 -387 1159 -648 2499 -724 3720 -27 440
|
||||
-30 1016 -30 5910 0 3424 -3 5102 -10 5127 -6 20 -26 50 -46 67 -44 39 -104
|
||||
42 -155 8z"/>
|
||||
<path d="M37930 29399 c-228 -39 -385 -261 -383 -544 0 -87 4 -111 32 -185 17
|
||||
-47 29 -95 26 -106 -2 -12 -25 -38 -49 -58 -53 -43 -79 -102 -74 -169 l3 -47
|
||||
70 55 c133 106 170 114 280 64 134 -60 239 -57 384 12 46 21 86 38 88 35 3 -2
|
||||
8 -30 12 -62 7 -47 14 -63 40 -86 17 -15 36 -28 41 -28 6 0 10 20 10 43 0 32
|
||||
13 70 50 143 87 175 88 251 4 332 -54 51 -68 53 -48 7 21 -51 17 -85 -17 -154
|
||||
-80 -160 -255 -251 -429 -222 -39 6 -95 23 -127 36 l-57 26 89 60 c151 101
|
||||
292 182 494 283 211 105 274 126 377 126 148 -1 227 -81 227 -232 0 -127 -83
|
||||
-236 -209 -273 -51 -15 -83 -39 -70 -53 8 -7 192 -40 234 -41 20 -1 22 3 22
|
||||
52 0 33 11 87 31 143 56 161 50 325 -14 421 -69 102 -174 139 -322 111 -104
|
||||
-19 -123 -13 -160 46 -113 183 -229 257 -421 270 -43 2 -104 0 -134 -5z m259
|
||||
-150 c94 -21 229 -109 262 -170 17 -32 -4 -52 -123 -111 -62 -31 -223 -123
|
||||
-358 -203 -135 -81 -259 -149 -276 -152 -37 -6 -53 14 -85 108 -38 115 -13
|
||||
249 67 354 59 77 187 152 299 175 58 11 163 11 214 -1z"/>
|
||||
<path d="M14210 29075 l0 -155 45 34 c66 50 134 62 243 42 66 -12 92 -21 111
|
||||
-41 l26 -26 -3 -246 c-1 -182 -5 -250 -15 -259 -18 -16 -174 -80 -230 -95 -29
|
||||
-7 -75 -9 -113 -6 l-64 6 0 -168 0 -169 48 44 c26 24 81 61 122 83 65 33 1174
|
||||
461 1197 461 13 0 68 48 62 54 -6 6 -695 266 -944 356 -88 31 -189 70 -225 85
|
||||
-75 31 -197 104 -224 134 -11 12 -23 21 -28 21 -4 0 -8 -70 -8 -155z m758
|
||||
-236 c141 -50 276 -98 300 -106 23 -8 39 -19 36 -24 -14 -23 -253 -129 -456
|
||||
-203 -67 -24 -131 -48 -140 -51 -17 -7 -18 8 -18 234 0 160 3 241 10 241 6 0
|
||||
126 -41 268 -91z"/>
|
||||
<path d="M14206 27268 c-8 -38 -8 -87 0 -125 l6 -29 61 31 61 30 525 0 c459 0
|
||||
526 -2 529 -15 1 -9 -30 -36 -85 -71 -49 -31 -241 -154 -428 -274 -187 -119
|
||||
-418 -269 -514 -333 -166 -111 -172 -116 -150 -128 19 -11 142 -13 579 -14
|
||||
626 -1 718 -6 787 -44 25 -15 49 -24 52 -20 3 3 7 39 10 81 l3 76 -28 -6
|
||||
c-145 -32 -242 -40 -464 -40 -129 0 -302 3 -384 8 l-148 7 28 28 c16 16 189
|
||||
131 384 255 195 125 402 257 460 294 138 88 153 110 148 218 -2 45 -6 84 -10
|
||||
88 -4 4 -26 -2 -50 -14 -78 -37 -135 -41 -664 -41 -541 0 -586 3 -660 46 l-42
|
||||
23 -6 -31z"/>
|
||||
<path d="M37534 26610 c-80 -31 -144 -226 -144 -438 0 -186 46 -317 146 -417
|
||||
78 -79 129 -100 244 -100 80 0 103 4 143 24 109 54 191 156 322 401 124 231
|
||||
187 311 274 347 157 66 311 -79 311 -292 0 -136 -61 -244 -204 -362 -50 -42
|
||||
-93 -77 -95 -79 -2 -2 50 -4 117 -4 152 0 162 7 192 125 34 137 44 285 27 395
|
||||
-22 143 -49 204 -121 276 -72 71 -126 94 -226 94 -57 0 -78 -5 -138 -35 -104
|
||||
-52 -167 -126 -282 -331 -120 -216 -151 -264 -202 -320 -203 -220 -470 -83
|
||||
-471 241 0 70 5 103 23 150 43 113 121 199 243 270 37 22 66 44 64 49 -4 12
|
||||
-194 17 -223 6z"/>
|
||||
<path d="M14206 25474 c-8 -59 -8 -148 0 -206 l6 -45 59 24 c85 34 207 42 649
|
||||
42 486 1 563 -7 703 -64 16 -7 17 4 17 144 0 83 -3 151 -7 151 -3 0 -36 -12
|
||||
-72 -27 l-66 -28 -580 0 -580 0 -59 28 c-32 15 -60 27 -61 27 -1 0 -5 -21 -9
|
||||
-46z"/>
|
||||
<path d="M38775 24876 l-60 -31 -555 -3 c-579 -3 -623 -1 -702 39 l-38 19 0
|
||||
-149 0 -149 73 26 c63 22 93 26 240 30 146 4 170 2 186 -12 15 -14 19 -39 25
|
||||
-149 12 -222 48 -329 146 -428 93 -94 234 -146 367 -136 171 13 305 125 365
|
||||
306 20 60 22 92 26 369 2 166 0 301 -5 301 -4 -1 -35 -16 -68 -33z m9 -232
|
||||
c22 -21 22 -199 0 -275 -53 -183 -228 -283 -454 -257 -134 16 -250 103 -313
|
||||
236 -30 62 -32 75 -32 173 0 75 4 111 14 122 12 15 52 17 392 17 330 0 380 -2
|
||||
393 -16z"/>
|
||||
<path d="M15427 24503 c-15 -14 -5 -29 37 -56 76 -48 126 -145 126 -247 0 -86
|
||||
5 -85 -267 -88 -131 -2 -407 1 -613 6 -370 8 -376 9 -437 34 l-62 25 -7 -65
|
||||
c-6 -61 0 -220 10 -229 2 -2 28 8 58 24 l53 28 614 3 c716 3 656 13 649 -103
|
||||
-8 -116 -53 -195 -146 -255 -39 -26 -41 -28 -20 -34 47 -12 195 -7 207 8 9 10
|
||||
11 133 9 464 -4 533 7 492 -123 492 -45 0 -85 -3 -88 -7z"/>
|
||||
<path d="M37420 23065 l0 -155 43 30 c60 43 137 57 235 43 94 -14 126 -27 141
|
||||
-60 7 -15 11 -106 11 -251 0 -261 1 -259 -84 -296 -136 -60 -248 -83 -318 -63
|
||||
l-28 7 0 -171 0 -171 49 44 c27 24 76 58 109 76 49 26 1100 432 1182 457 14 4
|
||||
40 16 58 27 33 20 33 21 15 38 -10 10 -178 78 -373 150 -195 73 -452 168 -570
|
||||
212 -239 89 -330 132 -407 195 -29 24 -55 43 -58 43 -3 0 -5 -70 -5 -155z
|
||||
m764 -241 c149 -53 290 -103 314 -111 28 -10 42 -20 40 -30 -2 -10 -100 -51
|
||||
-268 -114 -146 -54 -289 -108 -317 -119 l-53 -19 0 244 c0 135 3 245 6 245 3
|
||||
0 128 -43 278 -96z"/>
|
||||
<path d="M15554 22821 c-89 -69 -213 -144 -450 -271 -115 -62 -215 -117 -222
|
||||
-123 -9 -7 -100 -11 -260 -11 -205 -1 -257 2 -307 16 -33 10 -70 20 -82 24
|
||||
l-23 6 0 -145 0 -146 54 25 c42 19 82 27 168 33 170 13 384 7 438 -13 51 -19
|
||||
391 -203 525 -284 50 -30 117 -75 150 -101 33 -26 66 -50 73 -55 9 -6 12 23
|
||||
12 129 l0 137 -35 -30 c-65 -57 -106 -54 -270 23 -91 42 -383 200 -398 214
|
||||
-19 19 504 305 580 317 33 5 51 2 83 -15 l40 -21 0 170 c0 94 -3 170 -7 169
|
||||
-5 0 -36 -22 -69 -48z"/>
|
||||
<path d="M15463 20086 c-60 -19 -106 -50 -157 -107 -63 -70 -97 -144 -161
|
||||
-354 -74 -241 -99 -303 -145 -367 -86 -121 -197 -157 -308 -102 -129 64 -219
|
||||
261 -193 422 20 123 66 200 185 314 l81 77 -70 -14 c-169 -34 -174 -36 -199
|
||||
-66 -40 -47 -50 -101 -51 -259 0 -164 10 -210 76 -347 127 -265 381 -348 581
|
||||
-191 83 65 140 185 219 458 77 265 126 358 212 401 57 29 159 24 211 -11 76
|
||||
-51 146 -197 146 -303 0 -107 -37 -192 -140 -322 -33 -41 -55 -75 -48 -75 7 0
|
||||
53 7 103 15 105 17 136 36 148 91 11 56 -8 296 -32 387 -71 272 -257 415 -458
|
||||
353z"/>
|
||||
<path d="M40900 19436 c-73 -21 -116 -42 -193 -95 -95 -66 -127 -78 -238 -91
|
||||
-187 -22 -312 -75 -413 -175 -155 -155 -214 -359 -162 -562 22 -87 98 -240
|
||||
229 -461 154 -259 205 -370 248 -547 29 -117 35 -305 15 -430 -9 -54 -18 -101
|
||||
-20 -103 -3 -2 -28 32 -57 75 -63 94 -129 160 -192 193 -44 23 -49 24 -75 10
|
||||
-49 -28 -42 -64 33 -164 73 -99 126 -202 149 -291 21 -77 20 -216 0 -286 -9
|
||||
-30 -81 -197 -160 -372 -358 -788 -748 -1534 -1159 -2218 -228 -378 -313 -504
|
||||
-330 -487 -3 2 17 70 44 149 147 425 285 977 340 1354 31 207 46 485 33 575
|
||||
-23 155 -87 140 -147 -35 -9 -27 -43 -167 -75 -310 -263 -1169 -350 -1443
|
||||
-756 -2396 -213 -501 -212 -499 -438 -794 -486 -633 -1064 -1316 -1929 -2278
|
||||
-200 -222 -229 -234 -132 -54 114 210 360 713 451 922 310 713 478 1189 814
|
||||
2307 251 832 358 1132 526 1473 154 314 253 463 558 843 181 227 216 276 204
|
||||
288 -6 5 -464 -245 -743 -406 -697 -403 -1100 -720 -1396 -1100 -258 -331
|
||||
-389 -650 -440 -1075 -21 -171 -14 -533 16 -875 32 -372 44 -872 26 -1092 -45
|
||||
-538 -186 -1045 -392 -1412 -224 -396 -765 -1017 -1279 -1466 -186 -162 -600
|
||||
-490 -619 -490 -31 1 -22 24 46 115 529 708 873 1563 1007 2506 46 317 51 406
|
||||
51 819 0 434 -10 570 -66 900 -73 427 -211 901 -368 1264 l-22 50 -125 -210
|
||||
c-343 -570 -478 -861 -548 -1178 -38 -170 -49 -299 -43 -491 10 -313 66 -561
|
||||
262 -1155 115 -352 153 -481 189 -650 75 -348 75 -593 0 -802 -83 -232 -404
|
||||
-791 -668 -1161 -217 -306 -406 -506 -595 -627 -56 -36 -174 -113 -264 -172
|
||||
-137 -91 -207 -126 -207 -103 0 3 44 64 99 137 426 573 659 1127 747 1773 24
|
||||
178 24 551 0 725 -74 542 -277 1005 -563 1283 -72 70 -132 82 -133 26 0 -9 43
|
||||
-105 96 -213 144 -299 224 -511 280 -741 103 -430 109 -866 18 -1298 -123
|
||||
-584 -406 -1133 -860 -1672 -162 -192 -178 -209 -198 -202 -20 8 -21 6 15 162
|
||||
19 81 23 129 23 250 0 168 -12 226 -49 251 -23 15 -27 15 -49 0 -20 -12 -26
|
||||
-27 -31 -73 -38 -356 -65 -469 -160 -670 -123 -260 -274 -431 -495 -562 -294
|
||||
-174 -724 -447 -738 -469 -13 -20 -13 -25 -1 -33 8 -5 22 -9 33 -9 40 0 490
|
||||
213 790 375 l159 86 116 15 c233 29 458 13 631 -45 49 -17 156 -64 239 -106
|
||||
154 -76 178 -84 199 -63 52 52 -61 174 -247 268 -81 40 -216 91 -305 115 l-69
|
||||
19 39 16 c187 79 459 150 729 191 170 26 464 35 620 20 438 -44 846 -207 1180
|
||||
-471 105 -83 310 -290 408 -413 65 -81 83 -97 106 -97 34 0 61 28 61 63 0 63
|
||||
-85 240 -180 375 -200 284 -599 561 -998 692 -358 118 -749 148 -1197 91 -82
|
||||
-11 -152 -17 -154 -15 -13 13 55 63 294 215 468 297 918 602 1259 852 195 144
|
||||
293 182 506 197 498 37 1675 201 2155 300 224 46 489 115 676 176 815 264
|
||||
1403 713 1841 1402 153 240 695 1198 725 1280 11 30 11 33 -3 28 -9 -3 -17 -6
|
||||
-19 -6 -2 0 -142 -118 -312 -261 -500 -424 -651 -541 -927 -715 -507 -318
|
||||
-991 -541 -2236 -1026 -464 -180 -764 -302 -1029 -417 -156 -68 -209 -79 -159
|
||||
-34 13 11 93 71 178 133 464 338 939 729 1355 1114 439 407 631 526 1855 1146
|
||||
662 336 827 423 1035 550 281 172 590 394 815 586 160 136 492 470 640 644
|
||||
255 299 567 624 746 779 241 209 507 368 779 464 55 20 183 61 285 93 250 78
|
||||
259 86 118 103 -332 40 -553 55 -823 55 -165 1 -325 -5 -390 -12 -641 -75
|
||||
-1213 -285 -1735 -640 -238 -161 -420 -314 -684 -572 -271 -266 -466 -482
|
||||
-906 -1005 -420 -499 -631 -739 -981 -1110 -320 -341 -888 -897 -1127 -1103
|
||||
-53 -46 -62 -51 -62 -33 0 14 67 94 193 229 361 388 591 645 863 962 1147
|
||||
1339 2084 2721 2773 4087 107 212 145 266 280 396 247 237 502 392 822 502
|
||||
247 85 308 127 278 191 -19 40 -64 53 -186 53 -173 1 -405 -71 -624 -195 -98
|
||||
-56 -129 -65 -129 -39 0 17 255 638 278 678 20 34 151 121 229 152 38 16 112
|
||||
31 212 43 167 21 181 28 181 84 0 36 -25 52 -130 79 -47 13 -87 24 -89 26 -15
|
||||
11 148 139 344 270 149 100 322 200 530 305 195 99 283 157 370 244 113 115
|
||||
164 254 152 418 -15 209 -134 372 -316 431 -76 25 -95 47 -115 138 -35 156
|
||||
-112 261 -243 330 -59 31 -72 43 -88 79 -46 109 -74 156 -125 208 -65 66 -144
|
||||
113 -225 135 -70 18 -192 18 -255 1z m226 -274 c71 -37 124 -113 124 -179 0
|
||||
-16 -11 -78 -25 -138 -13 -60 -23 -110 -22 -111 1 -2 46 9 99 23 113 30 170
|
||||
27 218 -14 61 -51 79 -122 56 -230 -24 -118 -116 -278 -297 -520 -133 -176
|
||||
-434 -539 -454 -547 -24 -9 -19 53 15 194 29 124 39 220 21 220 -15 0 -58 -56
|
||||
-92 -121 -18 -33 -37 -58 -43 -56 -17 6 -36 49 -36 85 0 17 -14 143 -32 280
|
||||
-27 211 -32 279 -32 472 -1 181 3 238 17 293 43 170 149 303 285 358 58 24
|
||||
141 20 198 -9z m-691 -152 c-43 -122 -59 -242 -60 -440 0 -107 3 -242 8 -300
|
||||
l7 -105 -31 35 c-107 119 -229 368 -229 466 0 99 65 227 147 290 38 29 152 93
|
||||
165 94 4 0 1 -18 -7 -40z m1463 -650 c77 -56 122 -150 122 -256 0 -125 -66
|
||||
-232 -193 -312 -85 -54 -564 -302 -582 -302 -31 0 -13 41 48 112 211 242 377
|
||||
476 463 652 77 156 75 154 142 106z m-4823 -3884 c-176 -371 -299 -713 -515
|
||||
-1436 -276 -923 -542 -1711 -603 -1784 -20 -24 -25 -27 -22 -11 42 209 115
|
||||
753 117 865 1 107 -20 167 -52 150 -47 -25 -92 -181 -160 -557 -41 -225 -53
|
||||
-273 -68 -273 -5 0 -14 109 -20 243 -7 133 -21 366 -33 517 -32 415 -19 645
|
||||
52 909 117 438 379 820 789 1150 120 96 335 250 473 338 86 54 102 61 105 46
|
||||
1 -10 -27 -81 -63 -157z m4454 -660 c9 -11 -2 -24 -56 -67 -253 -199 -511
|
||||
-453 -868 -854 -338 -380 -480 -530 -630 -668 -384 -353 -818 -641 -1565
|
||||
-1039 -535 -285 -570 -302 -584 -280 -3 5 172 151 388 325 736 593 924 769
|
||||
864 809 -49 32 -255 -108 -800 -543 -417 -334 -408 -327 -408 -295 0 14 557
|
||||
678 811 966 580 660 1008 1023 1512 1285 337 175 666 282 1082 350 166 28 238
|
||||
31 254 11z m-7640 -1395 c224 -788 257 -1534 105 -2344 -15 -76 -28 -137 -29
|
||||
-135 -2 2 -11 82 -20 178 -29 319 -52 448 -100 557 -28 62 -52 79 -83 57 -20
|
||||
-14 -22 -24 -22 -117 0 -56 7 -165 15 -242 22 -207 31 -445 17 -445 -18 0 -25
|
||||
19 -115 320 -140 468 -191 677 -222 917 -53 403 39 798 295 1266 60 109 81
|
||||
137 105 137 7 0 31 -67 54 -149z m4640 -2737 c-291 -437 -599 -730 -1024 -974
|
||||
-417 -241 -888 -388 -1783 -559 -243 -47 -292 -52 -292 -31 0 4 102 42 228 84
|
||||
234 79 371 139 456 199 48 35 48 35 25 48 -56 30 -183 5 -749 -150 -162 -45
|
||||
-303 -81 -312 -81 -25 0 -22 17 5 34 12 8 297 120 632 249 1054 405 1290 499
|
||||
1639 654 348 153 748 361 1006 521 58 36 130 81 160 99 l55 34 3 -25 c2 -16
|
||||
-14 -50 -49 -102z"/>
|
||||
<path d="M14826 18151 c13 -43 36 -105 50 -137 14 -33 31 -70 36 -84 10 -25
|
||||
10 -25 30 15 42 83 89 114 211 139 103 22 130 20 154 -6 22 -25 173 -430 173
|
||||
-464 0 -29 -156 -177 -221 -210 -27 -13 -69 -27 -94 -31 -25 -3 -45 -8 -45
|
||||
-12 0 -3 25 -77 57 -163 l57 -157 29 53 c50 93 123 168 422 427 574 499 656
|
||||
572 665 590 9 16 5 19 -27 27 -21 5 -310 10 -643 11 -333 1 -633 7 -668 12
|
||||
-71 11 -146 34 -179 55 -12 8 -24 14 -27 14 -2 0 6 -35 20 -79z m1194 -69 c0
|
||||
-13 -204 -209 -290 -278 -84 -68 -189 -144 -201 -144 -12 0 -159 388 -159 422
|
||||
0 4 146 8 325 8 179 0 325 -4 325 -8z"/>
|
||||
<path d="M16787 17010 c-38 -64 -125 -124 -383 -262 -620 -333 -695 -368 -820
|
||||
-380 l-32 -3 105 -195 c58 -107 141 -268 184 -357 44 -90 89 -169 101 -177 12
|
||||
-9 43 -16 68 -16 45 0 210 39 210 51 0 3 -24 11 -53 18 -178 40 -299 158 -423
|
||||
414 -22 45 -26 62 -18 75 14 21 998 544 1067 566 27 9 76 16 109 16 l59 0 -72
|
||||
140 c-39 77 -74 140 -78 140 -4 0 -15 -13 -24 -30z"/>
|
||||
<path d="M41350 16174 c-65 -28 -120 -96 -120 -147 0 -34 31 -57 102 -77 35
|
||||
-9 62 -21 61 -26 -1 -5 -26 -11 -54 -14 -59 -7 -79 -26 -79 -78 0 -28 9 -44
|
||||
48 -82 94 -95 209 -93 307 5 74 73 94 165 60 266 -45 131 -203 206 -325 153z"/>
|
||||
<path d="M38860 16121 c-74 -23 -117 -61 -149 -131 -49 -108 -1 -220 94 -220
|
||||
19 0 34 12 61 50 20 28 40 50 45 50 4 0 27 -25 49 -56 23 -30 52 -60 65 -66
|
||||
51 -23 120 51 132 142 8 59 -19 121 -77 173 -66 60 -145 80 -220 58z"/>
|
||||
<path d="M25210 15979 c-81 -14 -214 -56 -240 -77 -13 -11 -22 -29 -22 -46 0
|
||||
-29 50 -156 61 -156 4 0 15 22 25 50 42 117 125 180 239 180 170 0 262 -135
|
||||
211 -311 -36 -123 -130 -251 -357 -485 -85 -88 -159 -169 -166 -181 l-12 -23
|
||||
389 0 c300 0 392 3 400 13 11 13 56 170 67 231 6 35 5 38 -12 31 -131 -55
|
||||
-156 -60 -298 -60 -91 0 -150 5 -169 13 l-29 13 119 81 c145 99 267 219 309
|
||||
303 25 50 30 72 30 135 0 52 -6 85 -18 107 -75 139 -305 218 -527 182z"/>
|
||||
<path d="M26331 15944 c-164 -44 -288 -180 -331 -364 -17 -68 -17 -228 -1
|
||||
-295 33 -136 131 -267 243 -324 82 -41 208 -65 303 -56 225 21 383 153 436
|
||||
365 19 75 17 259 -4 337 -47 177 -161 293 -332 338 -74 19 -241 19 -314 -1z
|
||||
m242 -58 c42 -17 94 -77 122 -140 41 -94 50 -152 49 -321 -1 -145 -3 -168 -28
|
||||
-242 -46 -140 -120 -213 -220 -213 -71 0 -131 32 -167 89 -40 63 -75 179 -87
|
||||
287 -25 221 50 477 155 533 45 24 129 27 176 7z"/>
|
||||
<path d="M13830 15929 c-195 -28 -338 -157 -395 -354 -24 -80 -16 -227 15
|
||||
-308 125 -327 562 -414 806 -160 322 337 36 890 -426 822z m155 -154 c69 -18
|
||||
140 -64 184 -118 105 -132 90 -343 -31 -452 -68 -62 -140 -89 -233 -89 -91 0
|
||||
-162 26 -229 85 -201 176 -119 502 144 573 71 19 93 19 165 1z"/>
|
||||
<path d="M27862 15930 c-19 -4 -38 -12 -43 -17 -19 -19 -39 -190 -24 -205 3
|
||||
-3 33 3 66 13 52 16 93 19 282 19 235 0 262 -3 271 -27 12 -30 -144 -383 -347
|
||||
-788 -86 -171 -87 -162 29 -164 51 -1 64 3 81 22 11 12 56 132 100 267 45 135
|
||||
133 375 197 535 66 164 116 304 116 322 l0 33 -347 -1 c-192 -1 -363 -5 -381
|
||||
-9z"/>
|
||||
<path d="M27276 15863 c9 -48 13 -177 13 -431 0 -354 -4 -407 -34 -484 -7 -17
|
||||
5 -18 155 -18 l162 0 -6 24 c-22 90 -30 213 -30 511 -1 182 3 360 7 398 l8 67
|
||||
-144 0 -144 0 13 -67z"/>
|
||||
<path d="M17378 15530 c-225 -35 -485 -193 -640 -389 -163 -204 -201 -418
|
||||
-111 -610 32 -68 121 -160 189 -194 95 -48 156 -60 283 -54 133 6 198 24 336
|
||||
92 217 108 419 319 486 510 95 270 -32 546 -287 625 -76 23 -181 31 -256 20z
|
||||
m267 -74 c57 -26 99 -70 129 -136 30 -65 29 -199 -3 -300 -62 -204 -248 -440
|
||||
-453 -577 -131 -87 -215 -116 -323 -111 -69 2 -88 7 -123 31 -123 81 -167 260
|
||||
-106 429 97 268 269 475 507 608 145 81 276 101 372 56z"/>
|
||||
<path d="M18525 14387 c-14 -63 -49 -113 -139 -201 -361 -351 -713 -679 -749
|
||||
-698 -23 -11 -62 -26 -86 -32 l-44 -12 55 -59 54 -58 64 84 c112 148 763 780
|
||||
782 761 9 -9 -31 -190 -151 -689 -89 -373 -164 -686 -167 -695 -4 -14 1 -18
|
||||
21 -18 29 0 22 -7 538 484 345 328 431 398 504 412 18 3 35 9 38 13 2 4 -21
|
||||
34 -51 66 l-54 59 -36 -54 c-85 -129 -179 -228 -537 -563 -146 -137 -153 -142
|
||||
-147 -82 1 11 60 259 131 550 71 292 130 548 131 571 0 22 -5 52 -12 65 -15
|
||||
28 -91 104 -119 119 -17 9 -20 6 -26 -23z"/>
|
||||
<path d="M14415 14125 c-14 -13 -25 -32 -25 -41 0 -24 98 -206 237 -442 487
|
||||
-826 998 -1525 1652 -2262 183 -206 774 -800 981 -986 1198 -1077 2485 -1902
|
||||
3910 -2506 1435 -608 2859 -945 4585 -1085 265 -21 838 -25 872 -5 26 15 38
|
||||
51 29 88 -12 46 -44 51 -391 57 -1006 19 -2068 165 -3080 422 -1223 311 -2523
|
||||
853 -3625 1510 -1773 1058 -3305 2525 -4432 4245 -171 261 -290 455 -459 749
|
||||
-74 128 -144 244 -156 257 -28 31 -67 31 -98 -1z"/>
|
||||
<path d="M20590 12471 c-104 -34 -172 -119 -201 -250 -22 -104 -30 -111 -158
|
||||
-130 -184 -28 -334 -158 -399 -345 -21 -60 -24 -84 -20 -166 3 -77 9 -106 31
|
||||
-155 93 -200 316 -344 535 -345 65 0 90 -22 115 -104 11 -32 28 -63 43 -75 27
|
||||
-21 89 -45 103 -39 4 2 -3 49 -16 106 -31 138 -26 160 68 249 47 46 80 88 101
|
||||
131 29 58 32 75 36 181 2 64 8 120 12 124 4 5 31 1 60 -9 48 -16 54 -16 85 -1
|
||||
19 9 38 25 44 35 9 17 6 20 -17 25 -39 8 -74 38 -138 119 -100 124 -184 163
|
||||
-294 134 -41 -11 -57 -11 -63 -3 -4 7 -6 64 -4 127 5 135 27 205 82 262 47 48
|
||||
92 68 157 68 64 0 121 -25 178 -76 65 -59 83 -103 88 -216 3 -60 9 -101 17
|
||||
-108 9 -7 29 16 79 91 37 56 66 102 64 104 -2 1 -21 12 -43 23 -22 11 -76 52
|
||||
-120 92 -111 100 -221 152 -324 156 -42 2 -87 0 -101 -5z m-236 -437 c11 -11
|
||||
16 -35 16 -77 1 -91 15 -241 51 -524 30 -241 31 -254 14 -279 -16 -25 -20 -26
|
||||
-98 -22 -307 14 -471 355 -321 666 50 103 165 206 267 237 55 18 53 18 71 -1z
|
||||
m287 -159 c42 -27 90 -96 121 -174 17 -44 22 -77 22 -156 1 -108 -15 -160 -70
|
||||
-232 -26 -34 -112 -98 -120 -90 -23 23 -73 395 -75 556 -1 89 2 107 17 118 21
|
||||
16 58 8 105 -22z"/>
|
||||
<path d="M22961 11220 c-95 -20 -174 -79 -219 -165 -24 -45 -27 -61 -27 -150
|
||||
0 -92 3 -105 32 -169 34 -71 57 -102 239 -322 130 -158 168 -218 191 -305 15
|
||||
-57 15 -73 4 -124 -24 -106 -131 -185 -251 -185 -124 0 -259 59 -343 150 -72
|
||||
78 -106 151 -126 275 l-17 100 -18 -27 c-28 -42 -76 -167 -76 -197 0 -37 30
|
||||
-77 102 -139 129 -109 261 -172 408 -192 94 -13 166 -7 264 21 60 18 78 29
|
||||
131 82 75 75 100 136 99 242 -1 138 -49 224 -273 485 -173 201 -206 260 -206
|
||||
366 0 64 3 77 30 115 48 67 91 84 215 84 95 0 111 -3 163 -29 114 -55 193
|
||||
-163 240 -325 l24 -83 21 29 c28 39 72 158 72 194 0 23 -13 37 -77 84 -92 67
|
||||
-255 149 -338 170 -77 19 -207 27 -264 15z"/>
|
||||
<path d="M31725 11026 c-85 -37 -135 -113 -135 -206 0 -93 44 -162 122 -195
|
||||
50 -20 86 -19 125 5 43 26 51 60 24 105 -12 20 -21 45 -21 56 0 17 7 19 59 19
|
||||
70 0 91 19 91 81 0 105 -154 184 -265 135z"/>
|
||||
<path d="M24291 10770 c34 -69 26 -122 -91 -629 -132 -570 -138 -591 -190
|
||||
-659 l-40 -53 32 -13 c39 -16 260 -67 266 -61 2 2 -2 21 -9 42 -20 59 -14 167
|
||||
15 293 33 137 43 167 62 174 9 3 56 -4 107 -16 125 -29 308 -31 387 -4 158 54
|
||||
268 177 301 336 19 90 8 217 -25 283 -78 161 -217 226 -690 323 -154 31 -148
|
||||
32 -125 -16z m374 -87 c129 -34 223 -102 273 -198 21 -40 27 -68 30 -141 2
|
||||
-50 -1 -115 -7 -143 -27 -128 -111 -239 -219 -289 -76 -35 -214 -43 -307 -17
|
||||
-112 30 -111 2 -16 413 45 196 89 367 97 380 17 25 34 25 149 -5z"/>
|
||||
<path d="M26368 10418 c-8 -13 -129 -261 -268 -553 -139 -291 -272 -561 -294
|
||||
-598 -22 -37 -69 -97 -105 -132 -47 -48 -59 -65 -45 -65 10 0 82 -7 159 -15
|
||||
77 -8 145 -15 152 -15 6 0 -4 23 -22 50 -40 60 -50 101 -42 180 9 78 53 189
|
||||
81 199 20 8 452 -30 493 -43 24 -8 32 -25 68 -146 31 -106 37 -197 16 -248 -7
|
||||
-18 -11 -35 -8 -39 7 -6 316 -35 330 -30 4 1 -10 26 -32 56 -22 29 -53 86 -70
|
||||
125 -16 39 -102 332 -190 651 -89 319 -168 595 -176 613 -17 38 -28 40 -47 10z
|
||||
m-30 -403 c18 -61 56 -195 83 -300 28 -104 52 -198 55 -207 5 -16 -4 -18 -83
|
||||
-18 -112 -1 -393 31 -393 43 0 6 48 114 107 241 58 127 119 259 135 294 41 91
|
||||
55 83 96 -53z"/>
|
||||
<path d="M34797 5125 c-20 -14 -37 -30 -37 -36 0 -5 -11 -14 -25 -21 -22 -10
|
||||
-29 -7 -64 25 -50 45 -75 53 -106 33 -52 -34 -58 -145 -12 -215 37 -55 121
|
||||
-96 182 -88 59 9 115 38 153 81 52 60 67 189 26 231 -23 23 -75 18 -117 -10z"/>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 36 KiB |
BIN
assets/img/logos/vanity_wh.png
Normal file
|
After Width: | Height: | Size: 528 KiB |
BIN
assets/img/testimonials/adriana.jpeg
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
assets/img/testimonials/ame.jpeg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
assets/img/testimonials/blanquita.jpeg
Normal file
|
After Width: | Height: | Size: 24 KiB |
BIN
assets/img/testimonials/eunice.jpeg
Normal file
|
After Width: | Height: | Size: 15 KiB |
BIN
assets/img/testimonials/itza.jpeg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
assets/img/testimonials/karen.png
Normal file
|
After Width: | Height: | Size: 243 KiB |
BIN
assets/img/testimonials/majo.jpeg
Normal file
|
After Width: | Height: | Size: 19 KiB |
BIN
assets/img/testimonials/paola.jpeg
Normal file
|
After Width: | Height: | Size: 25 KiB |
BIN
assets/img/testimonials/placeholder.png
Normal file
|
After Width: | Height: | Size: 42 KiB |
BIN
assets/img/testimonials/sabina.jpeg
Normal file
|
After Width: | Height: | Size: 16 KiB |
BIN
assets/img/testimonials/valeria.jpeg
Normal file
|
After Width: | Height: | Size: 20 KiB |
375
css/animations.css
Normal file
@@ -0,0 +1,375 @@
|
||||
/* ========================================
|
||||
ANIMATIONS.CSS - Scroll Reveal Animations
|
||||
======================================== */
|
||||
|
||||
/* Base animation classes */
|
||||
.animate-on-scroll {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.animate-on-scroll.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Different animation variants */
|
||||
.animate-fade-up {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.animate-fade-up.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.animate-fade-left {
|
||||
opacity: 0;
|
||||
transform: translateX(-50px);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.animate-fade-left.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.animate-fade-right {
|
||||
opacity: 0;
|
||||
transform: translateX(50px);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.animate-fade-right.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.animate-scale {
|
||||
opacity: 0;
|
||||
transform: scale(0.9);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.animate-scale.animate-in {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
|
||||
/* Staggered animations for children */
|
||||
.animate-stagger {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.animate-stagger.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Delay variants for staggered animations */
|
||||
.animate-delay-1 {
|
||||
transition-delay: 0.1s;
|
||||
}
|
||||
|
||||
.animate-delay-2 {
|
||||
transition-delay: 0.2s;
|
||||
}
|
||||
|
||||
.animate-delay-3 {
|
||||
transition-delay: 0.3s;
|
||||
}
|
||||
|
||||
.animate-delay-4 {
|
||||
transition-delay: 0.4s;
|
||||
}
|
||||
|
||||
.animate-delay-5 {
|
||||
transition-delay: 0.5s;
|
||||
}
|
||||
|
||||
.animate-delay-6 {
|
||||
transition-delay: 0.6s;
|
||||
}
|
||||
|
||||
/* Section-specific animations */
|
||||
.benefits {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.benefits.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.profile {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
|
||||
}
|
||||
|
||||
.profile.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.process {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.3s;
|
||||
}
|
||||
|
||||
.process.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.faq {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s;
|
||||
}
|
||||
|
||||
.faq.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.testimonials {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s;
|
||||
}
|
||||
|
||||
.testimonials.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.cta-carousel {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
transition: all 1s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.6s;
|
||||
}
|
||||
|
||||
.cta-carousel.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Enhanced benefit cards animation */
|
||||
.benefit-card {
|
||||
opacity: 0;
|
||||
transform: translateY(30px) scale(0.95);
|
||||
transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.benefit-card.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0) scale(1);
|
||||
}
|
||||
|
||||
/* Process steps animation */
|
||||
.process__step {
|
||||
opacity: 0;
|
||||
transform: translateY(40px);
|
||||
transition: all 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.process__step.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* FAQ items animation */
|
||||
.faq__item {
|
||||
opacity: 0;
|
||||
transform: translateX(-30px);
|
||||
transition: all 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.faq__item.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
/* Section headers animation */
|
||||
.section-header {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.section-header.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Profile cards animation */
|
||||
.profile__requirements,
|
||||
.profile__desired {
|
||||
opacity: 0;
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.profile__requirements {
|
||||
transform: translateX(-40px);
|
||||
}
|
||||
|
||||
.profile__desired {
|
||||
transform: translateX(40px);
|
||||
}
|
||||
|
||||
.profile__requirements.animate-in,
|
||||
.profile__desired.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
/* Testimonial cards animation */
|
||||
.testimonial-slide {
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
/* CTA section specific animations */
|
||||
.cta-carousel__text {
|
||||
opacity: 0;
|
||||
transform: translateX(-40px);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.cta-carousel__text.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
.cta-carousel__images {
|
||||
opacity: 0;
|
||||
transform: translateX(40px);
|
||||
transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s;
|
||||
}
|
||||
|
||||
.cta-carousel__images.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
|
||||
/* Stats animation */
|
||||
.stat-item {
|
||||
opacity: 0;
|
||||
transform: translateY(20px);
|
||||
transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
|
||||
}
|
||||
|
||||
.stat-item.animate-in {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
/* Respect reduced motion preference */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.animate-on-scroll,
|
||||
.animate-fade-up,
|
||||
.animate-fade-left,
|
||||
.animate-fade-right,
|
||||
.animate-scale,
|
||||
.animate-stagger,
|
||||
.benefits,
|
||||
.profile,
|
||||
.process,
|
||||
.faq,
|
||||
.testimonials,
|
||||
.cta-carousel,
|
||||
.benefit-card,
|
||||
.process__step,
|
||||
.faq__item,
|
||||
.section-header,
|
||||
.profile__requirements,
|
||||
.profile__desired,
|
||||
.cta-carousel__text,
|
||||
.cta-carousel__images,
|
||||
.stat-item {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
transition: none;
|
||||
}
|
||||
}
|
||||
|
||||
/* Enhanced entrance animations */
|
||||
@keyframes slideInFromBottom {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateY(50px);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes fadeInScale {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: scale(0.9);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideInFromLeft {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(-50px);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideInFromRight {
|
||||
0% {
|
||||
opacity: 0;
|
||||
transform: translateX(50px);
|
||||
}
|
||||
100% {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Pulse animation for important elements */
|
||||
@keyframes pulse {
|
||||
0%, 100% {
|
||||
transform: scale(1);
|
||||
}
|
||||
50% {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
}
|
||||
|
||||
.animate-pulse {
|
||||
animation: pulse 2s ease-in-out infinite;
|
||||
}
|
||||
|
||||
/* Floating animation for decorative elements */
|
||||
@keyframes float {
|
||||
0%, 100% {
|
||||
transform: translateY(0);
|
||||
}
|
||||
50% {
|
||||
transform: translateY(-10px);
|
||||
}
|
||||
}
|
||||
|
||||
.animate-float {
|
||||
animation: float 3s ease-in-out infinite;
|
||||
}
|
||||
241
css/base.css
Normal file
@@ -0,0 +1,241 @@
|
||||
/* ========================================
|
||||
BASE.CSS - Tokens, Reset, Typography
|
||||
======================================== */
|
||||
|
||||
/* CSS Tokens */
|
||||
:root {
|
||||
/* Colors - System Colors */
|
||||
--color-primary: #4D3F3C;
|
||||
--color-secondary: #A39660;
|
||||
--color-text: #262626;
|
||||
--color-emphasis: #46483B;
|
||||
|
||||
/* Custom Colors */
|
||||
--color-beige: #D8D3C7;
|
||||
--color-olive: #6E6F5F;
|
||||
--color-bg: #F5F5F5;
|
||||
|
||||
/* UI Colors */
|
||||
--color-surface: #ffffff;
|
||||
--color-surface-2: #f8f8f8;
|
||||
--color-muted: #6b7280;
|
||||
--color-accent: #A39660;
|
||||
--color-success: #065f46;
|
||||
--color-error: #b91c1c;
|
||||
--color-border: #e5e7eb;
|
||||
--color-border-focus: color-mix(in oklab, var(--color-primary) 60%, white 40%);
|
||||
|
||||
/* Spacing */
|
||||
--space-1: 0.5rem;
|
||||
--space-2: 1rem;
|
||||
--space-3: 1.5rem;
|
||||
--space-4: 2rem;
|
||||
--space-5: 3rem;
|
||||
--space-6: 4rem;
|
||||
|
||||
/* Typography */
|
||||
--font-family-sans: "Lato", system-ui, -apple-system, "Segoe UI", Roboto, Ubuntu, "Helvetica Neue", sans-serif;
|
||||
--font-family-serif: "Playfair Display", Georgia, Cambria, "Times New Roman", Times, serif;
|
||||
--font-size-sm: 0.875rem;
|
||||
--font-size-base: 1rem;
|
||||
--font-size-lg: 1.125rem;
|
||||
--font-size-xl: 1.25rem;
|
||||
--font-size-2xl: 1.5rem;
|
||||
--font-size-3xl: 1.875rem;
|
||||
--font-size-4xl: 2.25rem;
|
||||
--line-height-tight: 1.25;
|
||||
--line-height-normal: 1.5;
|
||||
--line-height-relaxed: 1.75;
|
||||
|
||||
/* Design tokens */
|
||||
--radius: 14px;
|
||||
--radius-sm: 8px;
|
||||
--radius-lg: 20px;
|
||||
--radius-full: 9999px;
|
||||
--shadow: 0 10px 30px rgba(0, 0, 0, 0.06);
|
||||
--shadow-lg: 0 20px 40px rgba(0, 0, 0, 0.1);
|
||||
--transition: 0.2s ease-in-out;
|
||||
|
||||
/* Layout */
|
||||
--container-max-width: 1200px;
|
||||
--header-height: 80px;
|
||||
}
|
||||
|
||||
/* CSS Reset */
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
html,
|
||||
body {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
scroll-behavior: smooth;
|
||||
}
|
||||
|
||||
html {
|
||||
font-size: 16px;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
font-family: var(--font-family-sans);
|
||||
font-size: var(--font-size-base);
|
||||
line-height: var(--line-height-normal);
|
||||
color: var(--color-text);
|
||||
background-color: var(--color-bg);
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
/* Remove default margins */
|
||||
h1, h2, h3, h4, h5, h6,
|
||||
p, ul, ol, dl, dd,
|
||||
blockquote, figure, fieldset, legend {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Images */
|
||||
img, picture, video, canvas, svg {
|
||||
display: block;
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Forms */
|
||||
input, button, textarea, select {
|
||||
font: inherit;
|
||||
letter-spacing: inherit;
|
||||
}
|
||||
|
||||
button {
|
||||
background: none;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* Lists */
|
||||
ul, ol {
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
/* Links */
|
||||
a {
|
||||
color: inherit;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* Focus styles */
|
||||
:focus-visible {
|
||||
outline: 2px solid var(--color-border-focus);
|
||||
outline-offset: 2px;
|
||||
}
|
||||
|
||||
/* Typography */
|
||||
.h1, h1 {
|
||||
font-family: var(--font-family-serif);
|
||||
font-size: var(--font-size-4xl);
|
||||
font-weight: 700;
|
||||
line-height: var(--line-height-tight);
|
||||
margin-bottom: var(--space-4);
|
||||
}
|
||||
|
||||
.h2, h2 {
|
||||
font-family: var(--font-family-serif);
|
||||
font-size: var(--font-size-3xl);
|
||||
font-weight: 600;
|
||||
line-height: var(--line-height-tight);
|
||||
margin-bottom: var(--space-3);
|
||||
}
|
||||
|
||||
.h3, h3 {
|
||||
font-size: var(--font-size-xl);
|
||||
font-weight: 600;
|
||||
line-height: var(--line-height-tight);
|
||||
margin-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
.h4, h4 {
|
||||
font-size: var(--font-size-lg);
|
||||
font-weight: 600;
|
||||
line-height: var(--line-height-normal);
|
||||
margin-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: var(--space-3);
|
||||
line-height: var(--line-height-relaxed);
|
||||
}
|
||||
|
||||
/* Utilities */
|
||||
.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;
|
||||
}
|
||||
|
||||
.container {
|
||||
max-width: var(--container-max-width);
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--space-4);
|
||||
}
|
||||
|
||||
/* Responsive breakpoints */
|
||||
@media (max-width: 768px) {
|
||||
:root {
|
||||
--font-size-4xl: 2rem;
|
||||
--font-size-3xl: 1.75rem;
|
||||
}
|
||||
|
||||
.container {
|
||||
padding: 0 var(--space-3);
|
||||
}
|
||||
|
||||
.h1, h1 {
|
||||
font-size: var(--font-size-4xl);
|
||||
}
|
||||
|
||||
.h2, h2 {
|
||||
font-size: var(--font-size-3xl);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.container {
|
||||
padding: 0 var(--space-2);
|
||||
}
|
||||
}
|
||||
|
||||
/* Accessibility */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
scroll-behavior: auto !important;
|
||||
}
|
||||
}
|
||||
|
||||
/* High contrast mode */
|
||||
@media (prefers-contrast: high) {
|
||||
:root {
|
||||
--color-border: #000000;
|
||||
--shadow: none;
|
||||
}
|
||||
}
|
||||
412
css/carousel.css
Normal file
@@ -0,0 +1,412 @@
|
||||
/* ========================================
|
||||
CAROUSEL.CSS - CTA Section with Image Carousel
|
||||
======================================== */
|
||||
|
||||
/* CTA Carousel Section */
|
||||
.cta-carousel {
|
||||
padding: var(--space-6) 0;
|
||||
background: linear-gradient(135deg, var(--color-surface) 0%, white 100%);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.cta-carousel::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23f5e6f5' fill-opacity='0.3'%3E%3Ccircle cx='30' cy='30' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.cta-carousel__content {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-5);
|
||||
align-items: center;
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
max-width: 1400px;
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--space-4);
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.cta-carousel__content {
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-6);
|
||||
align-items: center;
|
||||
justify-items: center;
|
||||
text-align: center;
|
||||
max-width: 1000px;
|
||||
}
|
||||
}
|
||||
|
||||
/* CTA Text Content */
|
||||
.cta-carousel__text {
|
||||
text-align: center;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.cta-carousel__text {
|
||||
text-align: center;
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
}
|
||||
|
||||
.cta-carousel__text h2 {
|
||||
font-size: clamp(2rem, 4vw, 2.5rem);
|
||||
color: var(--color-primary);
|
||||
margin-bottom: var(--space-3);
|
||||
line-height: var(--line-height-tight);
|
||||
}
|
||||
|
||||
.cta-carousel__text p {
|
||||
font-size: var(--font-size-lg);
|
||||
color: var(--color-muted);
|
||||
margin-bottom: var(--space-4);
|
||||
line-height: var(--line-height-relaxed);
|
||||
}
|
||||
|
||||
/* Stats Section */
|
||||
.cta-carousel__stats {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: var(--space-3);
|
||||
margin-bottom: var(--space-4);
|
||||
padding: var(--space-4);
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.cta-carousel__stats {
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-2);
|
||||
padding: var(--space-3);
|
||||
}
|
||||
}
|
||||
|
||||
.stat-item {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.stat-number {
|
||||
display: block;
|
||||
font-size: var(--font-size-3xl);
|
||||
font-weight: bold;
|
||||
color: var(--color-primary);
|
||||
line-height: 1;
|
||||
margin-bottom: 0.25rem;
|
||||
}
|
||||
|
||||
.stat-label {
|
||||
font-size: var(--font-size-sm);
|
||||
color: var(--color-muted);
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
/* CTA Actions */
|
||||
.cta-carousel__actions {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-4);
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
@media (min-width: 640px) {
|
||||
.cta-carousel__actions {
|
||||
flex-direction: row;
|
||||
justify-content: center;
|
||||
gap: var(--space-5);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.cta-carousel__actions {
|
||||
justify-content: center;
|
||||
}
|
||||
}
|
||||
|
||||
/* Image Carousel Container */
|
||||
.cta-carousel__images {
|
||||
position: relative;
|
||||
max-width: 500px;
|
||||
margin: 0 auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.image-carousel {
|
||||
position: relative;
|
||||
border-radius: var(--radius-lg);
|
||||
overflow: hidden;
|
||||
box-shadow: var(--shadow-lg);
|
||||
background: white;
|
||||
}
|
||||
|
||||
/* Carousel Track */
|
||||
.carousel-track {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
height: 400px;
|
||||
}
|
||||
|
||||
.carousel-slide {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
transition: opacity 0.5s ease-in-out;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
.carousel-slide.active {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.carousel-slide img {
|
||||
width: 100%;
|
||||
height: 70%;
|
||||
object-fit: cover;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Slide Captions */
|
||||
.slide-caption {
|
||||
flex: 1;
|
||||
padding: var(--space-3);
|
||||
background: white;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.slide-caption h4 {
|
||||
margin: 0 0 0.5rem 0;
|
||||
color: var(--color-primary);
|
||||
font-size: var(--font-size-lg);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.slide-caption p {
|
||||
margin: 0;
|
||||
color: var(--color-muted);
|
||||
font-size: var(--font-size-sm);
|
||||
line-height: var(--line-height-normal);
|
||||
}
|
||||
|
||||
/* Carousel Controls */
|
||||
.carousel-btn {
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
border: none;
|
||||
border-radius: 50%;
|
||||
width: 48px;
|
||||
height: 48px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
transition: var(--transition);
|
||||
color: var(--color-primary);
|
||||
box-shadow: var(--shadow);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.carousel-btn:hover {
|
||||
background: white;
|
||||
color: var(--color-primary-hover);
|
||||
transform: translateY(-50%) scale(1.1);
|
||||
}
|
||||
|
||||
.carousel-btn:active {
|
||||
transform: translateY(-50%) scale(0.95);
|
||||
}
|
||||
|
||||
.carousel-btn--prev {
|
||||
left: var(--space-2);
|
||||
}
|
||||
|
||||
.carousel-btn--next {
|
||||
right: var(--space-2);
|
||||
}
|
||||
|
||||
.carousel-btn svg {
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
/* Carousel Indicators */
|
||||
.carousel-indicators {
|
||||
position: absolute;
|
||||
bottom: var(--space-2);
|
||||
left: 50%;
|
||||
transform: translateX(-50%);
|
||||
display: flex;
|
||||
gap: var(--space-1);
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.carousel-indicator {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
border: none;
|
||||
background: rgba(255, 255, 255, 0.5);
|
||||
cursor: pointer;
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.carousel-indicator:hover {
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
}
|
||||
|
||||
.carousel-indicator.active {
|
||||
background: white;
|
||||
box-shadow: 0 0 0 2px var(--color-primary);
|
||||
}
|
||||
|
||||
/* Carousel Touch/Swipe Support */
|
||||
.carousel-track {
|
||||
touch-action: pan-y;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.carousel-slide {
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.carousel-slide.active {
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
/* Loading State */
|
||||
.carousel-slide img {
|
||||
background: var(--color-surface);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.carousel-slide img:not([src]) {
|
||||
background: linear-gradient(90deg, var(--color-surface) 25%, rgba(255,255,255,0.5) 50%, var(--color-surface) 75%);
|
||||
background-size: 200% 100%;
|
||||
animation: loading 1.5s infinite;
|
||||
}
|
||||
|
||||
@keyframes loading {
|
||||
0% {
|
||||
background-position: 200% 0;
|
||||
}
|
||||
100% {
|
||||
background-position: -200% 0;
|
||||
}
|
||||
}
|
||||
|
||||
/* Auto-play indicator */
|
||||
.carousel-progress {
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
height: 3px;
|
||||
background: var(--color-primary);
|
||||
transition: width 0.1s ease-out;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
/* Responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.cta-carousel {
|
||||
padding: var(--space-5) 0;
|
||||
}
|
||||
|
||||
.cta-carousel__content {
|
||||
gap: var(--space-4);
|
||||
}
|
||||
|
||||
.carousel-track {
|
||||
height: 320px;
|
||||
}
|
||||
|
||||
.carousel-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.carousel-btn svg {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
|
||||
.carousel-btn--prev {
|
||||
left: var(--space-1);
|
||||
}
|
||||
|
||||
.carousel-btn--next {
|
||||
right: var(--space-1);
|
||||
}
|
||||
|
||||
.slide-caption {
|
||||
padding: var(--space-2);
|
||||
}
|
||||
|
||||
.slide-caption h4 {
|
||||
font-size: var(--font-size-base);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.carousel-track {
|
||||
height: 280px;
|
||||
}
|
||||
|
||||
.cta-carousel__actions {
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.cta-carousel__actions .btn {
|
||||
width: 100%;
|
||||
max-width: 280px;
|
||||
}
|
||||
}
|
||||
|
||||
/* High contrast mode */
|
||||
@media (prefers-contrast: high) {
|
||||
.carousel-btn {
|
||||
background: white;
|
||||
border: 2px solid var(--color-primary);
|
||||
}
|
||||
|
||||
.carousel-indicator {
|
||||
border: 1px solid var(--color-primary);
|
||||
}
|
||||
}
|
||||
|
||||
/* Reduced motion */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.carousel-slide {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.carousel-btn {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
.carousel-indicator {
|
||||
transition: none;
|
||||
}
|
||||
|
||||
/* Disable auto-play if reduced motion is preferred */
|
||||
.carousel-progress {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
821
css/components.css
Normal file
@@ -0,0 +1,821 @@
|
||||
/* ========================================
|
||||
COMPONENTS.CSS - Buttons, Cards, Forms
|
||||
======================================== */
|
||||
|
||||
/* Buttons */
|
||||
.btn {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
padding: 0.875rem 1.25rem;
|
||||
border-radius: var(--radius-full);
|
||||
border: 1px solid transparent;
|
||||
gap: 0.5rem;
|
||||
font-weight: 600;
|
||||
font-size: var(--font-size-base);
|
||||
text-decoration: none;
|
||||
transition: var(--transition);
|
||||
cursor: pointer;
|
||||
min-height: 44px; /* iOS touch target */
|
||||
min-width: 44px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.btn:hover {
|
||||
text-decoration: none;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.btn:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
|
||||
.btn--primary {
|
||||
background: var(--color-primary);
|
||||
color: white;
|
||||
border-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.btn--primary:hover {
|
||||
background: var(--color-primary-hover);
|
||||
border-color: var(--color-primary-hover);
|
||||
}
|
||||
|
||||
.btn--ghost {
|
||||
background: transparent;
|
||||
border-color: var(--color-border);
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.btn--ghost:hover {
|
||||
background: var(--color-surface);
|
||||
border-color: var(--color-primary);
|
||||
color: var(--color-primary);
|
||||
}
|
||||
|
||||
.btn--lg {
|
||||
padding: 1rem 2rem;
|
||||
font-size: var(--font-size-lg);
|
||||
}
|
||||
|
||||
.btn--full {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Benefit Cards */
|
||||
.benefit-card {
|
||||
background: white;
|
||||
padding: var(--space-4);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
text-align: center;
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.benefit-card:hover {
|
||||
transform: translateY(-4px);
|
||||
box-shadow: var(--shadow-lg);
|
||||
}
|
||||
|
||||
.benefit-card__icon {
|
||||
font-size: 3rem;
|
||||
margin-bottom: var(--space-3);
|
||||
display: block;
|
||||
}
|
||||
|
||||
.benefit-card h3 {
|
||||
color: var(--color-primary);
|
||||
margin-bottom: var(--space-2);
|
||||
font-size: var(--font-size-xl);
|
||||
}
|
||||
|
||||
.benefit-card p {
|
||||
color: var(--color-muted);
|
||||
margin: 0;
|
||||
line-height: var(--line-height-relaxed);
|
||||
}
|
||||
|
||||
/* Profile Cards */
|
||||
.profile__requirements,
|
||||
.profile__desired {
|
||||
background: white;
|
||||
padding: var(--space-4);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
}
|
||||
|
||||
.profile__requirements h3 {
|
||||
color: var(--color-primary);
|
||||
border-bottom: 2px solid var(--color-primary);
|
||||
padding-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
.profile__desired h3 {
|
||||
color: var(--color-accent);
|
||||
border-bottom: 2px solid var(--color-accent);
|
||||
padding-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
/* Checklists */
|
||||
.checklist {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.checklist li {
|
||||
position: relative;
|
||||
padding: var(--space-2) 0 var(--space-2) var(--space-4);
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
}
|
||||
|
||||
.checklist li:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.checklist li::before {
|
||||
content: "✓";
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: var(--space-2);
|
||||
color: var(--color-primary);
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
|
||||
.checklist--secondary li::before {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
/* Process Steps */
|
||||
.process__step {
|
||||
text-align: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.process__number {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-primary);
|
||||
color: white;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: var(--font-size-xl);
|
||||
font-weight: bold;
|
||||
margin: 0 auto var(--space-3);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
}
|
||||
|
||||
.process__content h3 {
|
||||
color: var(--color-primary);
|
||||
margin-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
.process__content p {
|
||||
color: var(--color-muted);
|
||||
margin: 0;
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
/* Process timeline connection (desktop) */
|
||||
@media (min-width: 1024px) {
|
||||
.process__step:not(:last-child)::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 30px;
|
||||
left: calc(50% + 30px);
|
||||
right: calc(-50% + 30px);
|
||||
height: 2px;
|
||||
background: var(--color-border);
|
||||
z-index: 1;
|
||||
}
|
||||
}
|
||||
|
||||
/* FAQ Items - Elegant & Dynamic */
|
||||
.faq__item {
|
||||
background: white;
|
||||
border-radius: var(--radius-lg);
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
|
||||
overflow: hidden;
|
||||
border: 1px solid rgba(163, 150, 96, 0.1);
|
||||
transition: all 0.3s ease;
|
||||
position: relative;
|
||||
margin-bottom: var(--space-3);
|
||||
}
|
||||
|
||||
.faq__item::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 4px;
|
||||
background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
|
||||
transform: scaleX(0);
|
||||
transition: transform 0.3s ease;
|
||||
transform-origin: left;
|
||||
}
|
||||
|
||||
.faq__item:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12);
|
||||
border-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.faq__item:hover::before {
|
||||
transform: scaleX(1);
|
||||
}
|
||||
|
||||
.faq__question {
|
||||
background: white;
|
||||
padding: var(--space-4) var(--space-5);
|
||||
cursor: pointer;
|
||||
font-weight: 600;
|
||||
font-size: var(--font-size-lg);
|
||||
color: var(--color-text);
|
||||
border: none;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
transition: all 0.3s ease;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.faq__question::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, transparent, rgba(163, 150, 96, 0.1), transparent);
|
||||
transition: left 0.6s ease;
|
||||
}
|
||||
|
||||
.faq__question:hover::before {
|
||||
left: 100%;
|
||||
}
|
||||
|
||||
.faq__question:hover {
|
||||
background: linear-gradient(135deg, rgba(163, 150, 96, 0.05) 0%, white 100%);
|
||||
color: var(--color-primary);
|
||||
}
|
||||
|
||||
.faq__question::after {
|
||||
content: "+";
|
||||
font-size: 2em;
|
||||
font-weight: 300;
|
||||
color: var(--color-primary);
|
||||
transition: all 0.4s cubic-bezier(0.68, -0.55, 0.265, 1.55);
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50%;
|
||||
background: rgba(163, 150, 96, 0.1);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.faq__question:hover::after {
|
||||
background: var(--color-primary);
|
||||
color: white;
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
.faq__item[open] .faq__question::after {
|
||||
transform: rotate(45deg) scale(1.1);
|
||||
background: var(--color-primary);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.faq__item[open] .faq__question {
|
||||
background: linear-gradient(135deg, rgba(163, 150, 96, 0.08) 0%, white 100%);
|
||||
color: var(--color-primary);
|
||||
border-bottom: 1px solid rgba(163, 150, 96, 0.2);
|
||||
}
|
||||
|
||||
.faq__answer {
|
||||
padding: 0 var(--space-5) var(--space-4);
|
||||
color: var(--color-text);
|
||||
line-height: var(--line-height-relaxed);
|
||||
background: linear-gradient(180deg, rgba(163, 150, 96, 0.02) 0%, white 100%);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.faq__answer::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: var(--space-5);
|
||||
right: var(--space-5);
|
||||
height: 1px;
|
||||
background: linear-gradient(90deg, transparent, rgba(163, 150, 96, 0.3), transparent);
|
||||
}
|
||||
|
||||
.faq__answer p {
|
||||
margin: 0;
|
||||
font-size: var(--font-size-base);
|
||||
animation: fadeInUp 0.5s ease forwards;
|
||||
opacity: 0;
|
||||
transform: translateY(10px);
|
||||
}
|
||||
|
||||
.faq__item[open] .faq__answer p {
|
||||
animation: fadeInUp 0.5s ease forwards;
|
||||
}
|
||||
|
||||
@keyframes fadeInUp {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Enhanced text styling within FAQ answers */
|
||||
.faq__answer strong {
|
||||
color: var(--color-primary);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.faq__answer em {
|
||||
color: var(--color-emphasis);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.faq__answer u {
|
||||
color: var(--color-secondary);
|
||||
text-decoration: underline;
|
||||
text-decoration-color: var(--color-primary);
|
||||
text-decoration-thickness: 2px;
|
||||
text-underline-offset: 3px;
|
||||
}
|
||||
|
||||
/* Responsive FAQ adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.faq__question {
|
||||
padding: var(--space-3) var(--space-4);
|
||||
font-size: var(--font-size-base);
|
||||
}
|
||||
|
||||
.faq__answer {
|
||||
padding: 0 var(--space-4) var(--space-3);
|
||||
}
|
||||
|
||||
.faq__question::after {
|
||||
font-size: 1.5em;
|
||||
width: 28px;
|
||||
height: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Testimonial Cards */
|
||||
.testimonial-card {
|
||||
background: white;
|
||||
padding: var(--space-6) var(--space-4);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
text-align: center !important;
|
||||
align-items: center !important;
|
||||
justify-content: flex-start !important;
|
||||
gap: var(--space-4);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.testimonial-card__author {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: var(--space-3);
|
||||
order: 1;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.testimonial-card__author img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
object-fit: cover;
|
||||
border: 2px solid #f0f0f0;
|
||||
}
|
||||
|
||||
.testimonial-card__author div {
|
||||
text-align: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-1);
|
||||
}
|
||||
|
||||
.testimonial-card__author cite {
|
||||
font-weight: 700;
|
||||
color: var(--color-text);
|
||||
font-style: normal;
|
||||
display: block;
|
||||
font-size: 1.25rem;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.testimonial-card__author span {
|
||||
color: var(--color-muted);
|
||||
font-size: var(--font-size-sm);
|
||||
display: block;
|
||||
font-weight: 500;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.testimonial-card__content {
|
||||
order: 2;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
text-align: center;
|
||||
padding: 0 var(--space-2);
|
||||
}
|
||||
|
||||
.testimonial-card__content p {
|
||||
color: var(--color-muted);
|
||||
font-style: italic;
|
||||
line-height: var(--line-height-relaxed);
|
||||
margin: 0;
|
||||
font-size: 1.1rem;
|
||||
max-width: none;
|
||||
}
|
||||
|
||||
/* Form Components */
|
||||
.field {
|
||||
margin-bottom: var(--space-4);
|
||||
}
|
||||
|
||||
.field label {
|
||||
display: block;
|
||||
font-weight: 600;
|
||||
color: var(--color-text);
|
||||
margin-bottom: var(--space-1);
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
.field input,
|
||||
.field select,
|
||||
.field textarea {
|
||||
width: 100%;
|
||||
padding: 0.875rem;
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius);
|
||||
background: white;
|
||||
font-size: 16px; /* Prevent zoom on iOS */
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.field input:focus,
|
||||
.field select:focus,
|
||||
.field textarea:focus {
|
||||
outline: 2px solid var(--color-border-focus);
|
||||
outline-offset: 2px;
|
||||
border-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.field textarea {
|
||||
resize: vertical;
|
||||
min-height: 100px;
|
||||
}
|
||||
|
||||
.field select {
|
||||
cursor: pointer;
|
||||
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
|
||||
background-position: right 0.5rem center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: 1.5em 1.5em;
|
||||
padding-right: 2.5rem;
|
||||
appearance: none;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: var(--color-error);
|
||||
font-size: var(--font-size-sm);
|
||||
margin-top: 0.25rem;
|
||||
display: block;
|
||||
min-height: 1.2em;
|
||||
}
|
||||
|
||||
.hint {
|
||||
color: var(--color-muted);
|
||||
font-size: var(--font-size-sm);
|
||||
margin-top: 0.25rem;
|
||||
display: block;
|
||||
}
|
||||
|
||||
/* Checkbox groups */
|
||||
.checkbox-group {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
|
||||
gap: var(--space-2);
|
||||
margin-top: var(--space-2);
|
||||
}
|
||||
|
||||
.checkbox-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-2);
|
||||
padding: var(--space-2);
|
||||
border: 1px solid var(--color-border);
|
||||
border-radius: var(--radius-sm);
|
||||
cursor: pointer;
|
||||
transition: var(--transition);
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
.checkbox-item:hover {
|
||||
background: var(--color-surface);
|
||||
border-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.checkbox-item input {
|
||||
width: auto;
|
||||
margin: 0;
|
||||
accent-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.checkbox-item input:checked + span {
|
||||
color: var(--color-primary);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
/* Single checkbox (consent) */
|
||||
.field.checkbox {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: var(--space-2);
|
||||
margin-bottom: var(--space-4);
|
||||
}
|
||||
|
||||
.field.checkbox input {
|
||||
width: auto;
|
||||
margin: 0;
|
||||
margin-top: 0.25rem;
|
||||
accent-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.field.checkbox label {
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
line-height: var(--line-height-relaxed);
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
.field.checkbox label a {
|
||||
color: var(--color-primary);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
/* File input */
|
||||
input[type="file"] {
|
||||
padding: 0.5rem;
|
||||
border: 2px dashed var(--color-border);
|
||||
background: var(--color-surface);
|
||||
}
|
||||
|
||||
input[type="file"]:focus {
|
||||
border-color: var(--color-primary);
|
||||
background: white;
|
||||
}
|
||||
|
||||
/* Form validation states */
|
||||
.field--error input,
|
||||
.field--error select,
|
||||
.field--error textarea {
|
||||
border-color: var(--color-error);
|
||||
}
|
||||
|
||||
.field--success input,
|
||||
.field--success select,
|
||||
.field--success textarea {
|
||||
border-color: var(--color-success);
|
||||
}
|
||||
|
||||
/* Loading states */
|
||||
.btn--loading {
|
||||
position: relative;
|
||||
color: transparent;
|
||||
}
|
||||
|
||||
.btn--loading::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border: 2px solid transparent;
|
||||
border-top-color: currentColor;
|
||||
border-radius: 50%;
|
||||
animation: spin 1s linear infinite;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
}
|
||||
|
||||
@keyframes spin {
|
||||
to {
|
||||
transform: translate(-50%, -50%) rotate(360deg);
|
||||
}
|
||||
}
|
||||
|
||||
/* Mobile specific adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.btn {
|
||||
padding: 0.75rem 1rem;
|
||||
}
|
||||
|
||||
.btn--lg {
|
||||
padding: 0.875rem 1.5rem;
|
||||
}
|
||||
|
||||
.checkbox-group {
|
||||
grid-template-columns: 1fr;
|
||||
}
|
||||
|
||||
.benefit-card,
|
||||
.testimonial-card,
|
||||
.profile__requirements,
|
||||
.profile__desired {
|
||||
padding: var(--space-3);
|
||||
}
|
||||
|
||||
.process__number {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
font-size: var(--font-size-lg);
|
||||
}
|
||||
}
|
||||
|
||||
/* High contrast mode adjustments */
|
||||
@media (prefers-contrast: high) {
|
||||
.btn {
|
||||
border-width: 2px;
|
||||
}
|
||||
|
||||
.benefit-card,
|
||||
.testimonial-card,
|
||||
.faq__item,
|
||||
.profile__requirements,
|
||||
.profile__desired {
|
||||
border: 1px solid var(--color-border);
|
||||
}
|
||||
}
|
||||
|
||||
/* ========================================
|
||||
PRIVACY POLICY STYLES
|
||||
======================================== */
|
||||
|
||||
/* Privacy Policy */
|
||||
.privacy-policy {
|
||||
padding: 4rem 0 6rem;
|
||||
background: var(--color-bg-secondary);
|
||||
}
|
||||
|
||||
.privacy-policy__content {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
background: white;
|
||||
border-radius: var(--radius-lg);
|
||||
padding: 3rem;
|
||||
box-shadow: var(--shadow-lg);
|
||||
}
|
||||
|
||||
.privacy-policy__header {
|
||||
text-align: center;
|
||||
margin-bottom: 3rem;
|
||||
padding-bottom: 2rem;
|
||||
border-bottom: 1px solid var(--color-border-light);
|
||||
}
|
||||
|
||||
.privacy-policy__title {
|
||||
font-family: var(--font-heading);
|
||||
font-size: 2.5rem;
|
||||
font-weight: 700;
|
||||
color: var(--color-primary);
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
.privacy-policy__subtitle {
|
||||
font-size: 1.25rem;
|
||||
color: var(--color-text-muted);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.privacy-policy__body {
|
||||
line-height: 1.8;
|
||||
}
|
||||
|
||||
.privacy-policy__intro {
|
||||
font-size: 1.125rem;
|
||||
margin-bottom: 2.5rem;
|
||||
padding: 1.5rem;
|
||||
background: var(--color-bg-tertiary);
|
||||
border-radius: var(--radius-md);
|
||||
border-left: 4px solid var(--color-primary);
|
||||
}
|
||||
|
||||
.privacy-policy__section {
|
||||
margin-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
.privacy-policy__section h2 {
|
||||
font-family: var(--font-heading);
|
||||
font-size: 1.5rem;
|
||||
font-weight: 600;
|
||||
color: var(--color-heading);
|
||||
margin-bottom: 1rem;
|
||||
padding-bottom: 0.5rem;
|
||||
border-bottom: 2px solid var(--color-primary);
|
||||
}
|
||||
|
||||
.privacy-policy__section p {
|
||||
margin-bottom: 1rem;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.privacy-policy__list {
|
||||
margin-left: 1.5rem;
|
||||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
.privacy-policy__list li {
|
||||
margin-bottom: 0.5rem;
|
||||
color: var(--color-text);
|
||||
}
|
||||
|
||||
.privacy-policy__link {
|
||||
color: var(--color-primary);
|
||||
text-decoration: underline;
|
||||
font-weight: 600;
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.privacy-policy__link:hover {
|
||||
color: var(--color-primary-hover);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.privacy-policy__footer {
|
||||
margin-top: 3rem;
|
||||
padding-top: 2rem;
|
||||
border-top: 1px solid var(--color-border-light);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.privacy-policy__updated {
|
||||
color: var(--color-text-muted);
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
|
||||
.privacy-policy__actions {
|
||||
display: flex;
|
||||
gap: 1rem;
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* Mobile Responsiveness for Privacy Policy */
|
||||
@media (max-width: 768px) {
|
||||
.privacy-policy {
|
||||
padding: 2rem 0 4rem;
|
||||
}
|
||||
|
||||
.privacy-policy__content {
|
||||
margin: 0 1rem;
|
||||
padding: 2rem 1.5rem;
|
||||
}
|
||||
|
||||
.privacy-policy__title {
|
||||
font-size: 2rem;
|
||||
}
|
||||
|
||||
.privacy-policy__subtitle {
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
|
||||
.privacy-policy__intro {
|
||||
font-size: 1rem;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.privacy-policy__section h2 {
|
||||
font-size: 1.25rem;
|
||||
}
|
||||
|
||||
.privacy-policy__actions {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.privacy-policy__actions .btn {
|
||||
width: 100%;
|
||||
max-width: 280px;
|
||||
}
|
||||
}
|
||||
718
css/layout.css
Normal file
@@ -0,0 +1,718 @@
|
||||
/* ========================================
|
||||
LAYOUT.CSS - Grid, Sections, Mobile-First
|
||||
======================================== */
|
||||
|
||||
/* Header & Navigation */
|
||||
.site-header {
|
||||
position: sticky;
|
||||
top: 0;
|
||||
z-index: 50;
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
backdrop-filter: saturate(1.2) blur(8px);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.05);
|
||||
height: var(--header-height);
|
||||
}
|
||||
|
||||
.nav {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
height: 100%;
|
||||
max-width: var(--container-max-width);
|
||||
margin: 0 auto;
|
||||
padding: 0 var(--space-4);
|
||||
}
|
||||
|
||||
.nav__logo img {
|
||||
height: 40px;
|
||||
width: auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.nav__toggle {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
padding: var(--space-2);
|
||||
border-radius: var(--radius-sm);
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.nav__toggle span {
|
||||
display: block;
|
||||
width: 24px;
|
||||
height: 2px;
|
||||
background: var(--color-text);
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.nav__toggle[aria-expanded="true"] span:nth-child(1) {
|
||||
transform: rotate(45deg) translate(6px, 6px);
|
||||
}
|
||||
|
||||
.nav__toggle[aria-expanded="true"] span:nth-child(2) {
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.nav__toggle[aria-expanded="true"] span:nth-child(3) {
|
||||
transform: rotate(-45deg) translate(6px, -6px);
|
||||
}
|
||||
|
||||
.nav__menu {
|
||||
position: absolute;
|
||||
top: 100%;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: white;
|
||||
border-bottom: 1px solid var(--color-border);
|
||||
box-shadow: var(--shadow);
|
||||
padding: var(--space-3) var(--space-4);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.nav__menu[hidden] {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav__menu a {
|
||||
padding: var(--space-2) 0;
|
||||
color: var(--color-text);
|
||||
font-weight: 500;
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.nav__menu a:hover {
|
||||
color: var(--color-primary);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.nav__actions {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.nav__whatsapp {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Desktop Navigation */
|
||||
@media (min-width: 768px) {
|
||||
.nav {
|
||||
padding: 0 var(--space-5);
|
||||
}
|
||||
|
||||
.nav__toggle {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.nav__menu {
|
||||
position: static;
|
||||
background: transparent;
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
padding: 0;
|
||||
flex-direction: row;
|
||||
gap: var(--space-4);
|
||||
}
|
||||
|
||||
.nav__menu[hidden] {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.nav__whatsapp {
|
||||
display: inline-flex;
|
||||
}
|
||||
}
|
||||
|
||||
/* Hero Section */
|
||||
.hero {
|
||||
padding: var(--space-4) 0;
|
||||
background: linear-gradient(135deg, var(--color-surface) 0%, white 100%);
|
||||
min-height: calc(100vh - var(--header-height));
|
||||
margin-top: var(--header-height);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.hero .container {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-4);
|
||||
align-items: center;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.hero__content {
|
||||
text-align: center;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
.hero__title {
|
||||
font-size: clamp(1.75rem, 5vw, 3.5rem);
|
||||
margin-bottom: var(--space-3);
|
||||
line-height: 1.2;
|
||||
}
|
||||
|
||||
.hero__rotating {
|
||||
color: var(--color-primary);
|
||||
font-weight: 700;
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
min-width: 200px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.hero__rotating::after {
|
||||
content: '|';
|
||||
color: var(--color-primary);
|
||||
animation: blink 1.2s infinite;
|
||||
font-weight: 400;
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.hero__rotating.typing::after {
|
||||
animation: none;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
@keyframes blink {
|
||||
0%, 50% { opacity: 1; }
|
||||
51%, 100% { opacity: 0; }
|
||||
}
|
||||
|
||||
@keyframes fadeIn {
|
||||
from { opacity: 0; }
|
||||
to { opacity: 1; }
|
||||
}
|
||||
|
||||
.hero__rotating.fade-in {
|
||||
animation: fadeIn 0.3s ease-in;
|
||||
}
|
||||
|
||||
/* Respect reduced motion preference */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
.hero__rotating::after {
|
||||
animation: none;
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.hero__rotating.fade-in {
|
||||
animation: none;
|
||||
}
|
||||
}
|
||||
|
||||
.hero__subtitle {
|
||||
font-size: var(--font-size-lg);
|
||||
color: var(--color-muted);
|
||||
max-width: 600px;
|
||||
margin: 0 auto var(--space-4);
|
||||
}
|
||||
|
||||
.hero__actions {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-3);
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.hero__image {
|
||||
max-width: 280px;
|
||||
margin: 0 auto;
|
||||
width: 90%;
|
||||
}
|
||||
|
||||
/* Hero Carousel Styles */
|
||||
.hero__carousel {
|
||||
position: relative;
|
||||
width: 100%;
|
||||
aspect-ratio: 1;
|
||||
overflow: hidden;
|
||||
border-radius: var(--radius-lg);
|
||||
box-shadow: var(--shadow-lg);
|
||||
}
|
||||
|
||||
.hero__slide {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
transition: opacity 1s ease-in-out;
|
||||
}
|
||||
|
||||
.hero__slide.active {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
.hero__slide img {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
object-fit: cover;
|
||||
object-position: center;
|
||||
}
|
||||
|
||||
/* Desktop Hero */
|
||||
@media (min-width: 768px) {
|
||||
.hero {
|
||||
min-height: 70vh;
|
||||
padding: var(--space-6) 0;
|
||||
}
|
||||
|
||||
.hero .container {
|
||||
grid-template-columns: 1.1fr 0.9fr;
|
||||
gap: var(--space-6);
|
||||
}
|
||||
|
||||
.hero__content {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.hero__subtitle {
|
||||
margin: 0 0 var(--space-4) 0;
|
||||
}
|
||||
|
||||
.hero__actions {
|
||||
flex-direction: row;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
/* Section Layouts */
|
||||
.section-header {
|
||||
text-align: center;
|
||||
margin-bottom: var(--space-5);
|
||||
max-width: 700px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
padding: 0 var(--space-2);
|
||||
}
|
||||
|
||||
.section-header h2 {
|
||||
margin-bottom: var(--space-3);
|
||||
}
|
||||
|
||||
.section-header p {
|
||||
font-size: var(--font-size-lg);
|
||||
color: var(--color-muted);
|
||||
margin-bottom: 0;
|
||||
line-height: var(--line-height-relaxed);
|
||||
}
|
||||
|
||||
/* Benefits Section */
|
||||
.benefits {
|
||||
padding: var(--space-6) 0;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.benefits__grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-4);
|
||||
max-width: 1000px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
@media (min-width: 640px) {
|
||||
.benefits__grid {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: var(--space-5);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.benefits__grid {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: var(--space-4);
|
||||
}
|
||||
}
|
||||
|
||||
/* Profile Section */
|
||||
.profile {
|
||||
padding: var(--space-6) 0;
|
||||
background: var(--color-surface);
|
||||
}
|
||||
|
||||
.profile__content {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-5);
|
||||
margin-top: var(--space-4);
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.profile__content {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
/* Process Section */
|
||||
.process {
|
||||
padding: var(--space-6) 0;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.process__timeline {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-4);
|
||||
margin-top: var(--space-4);
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.process__timeline {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.process__timeline {
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
/* FAQ Section */
|
||||
.faq {
|
||||
padding: var(--space-6) 0;
|
||||
background: var(--color-surface);
|
||||
}
|
||||
|
||||
.faq__list {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-3);
|
||||
margin-top: var(--space-4);
|
||||
max-width: 800px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
/* Testimonials Section */
|
||||
.testimonials {
|
||||
padding: var(--space-6) 0;
|
||||
background: white;
|
||||
}
|
||||
|
||||
/* Testimonials Carousel */
|
||||
.testimonials__carousel {
|
||||
position: relative;
|
||||
max-width: 800px;
|
||||
margin: var(--space-4) auto 0;
|
||||
}
|
||||
|
||||
.testimonials__track {
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
border-radius: var(--radius-lg);
|
||||
}
|
||||
|
||||
.testimonial-slide {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
opacity: 0;
|
||||
transition: opacity 0.8s ease-in-out;
|
||||
transform: translateZ(0); /* Force GPU acceleration */
|
||||
}
|
||||
|
||||
.testimonial-slide.active {
|
||||
opacity: 1;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.testimonial-slide:not(.active) {
|
||||
position: absolute;
|
||||
}
|
||||
|
||||
/* Testimonials Controls */
|
||||
.testimonials__controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: var(--space-4);
|
||||
margin-top: var(--space-4);
|
||||
}
|
||||
|
||||
.testimonial-nav {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
border-radius: 50%;
|
||||
border: 2px solid var(--color-border);
|
||||
background: white;
|
||||
color: var(--color-muted);
|
||||
cursor: pointer;
|
||||
transition: var(--transition);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.testimonial-nav:hover {
|
||||
border-color: var(--color-primary);
|
||||
color: var(--color-primary);
|
||||
background: var(--color-light);
|
||||
}
|
||||
|
||||
.testimonial-nav:disabled {
|
||||
opacity: 0.4;
|
||||
cursor: not-allowed;
|
||||
}
|
||||
|
||||
/* Testimonials Indicators */
|
||||
.testimonials__indicators {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.testimonial-indicator {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
border: 2px solid var(--color-border);
|
||||
background: transparent;
|
||||
cursor: pointer;
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.testimonial-indicator:hover {
|
||||
border-color: var(--color-primary);
|
||||
background: rgba(197, 54, 148, 0.2);
|
||||
}
|
||||
|
||||
.testimonial-indicator.active {
|
||||
background: var(--color-primary);
|
||||
border-color: var(--color-primary);
|
||||
}
|
||||
|
||||
/* Application Section */
|
||||
.application {
|
||||
padding: var(--space-6) 0;
|
||||
background: var(--color-surface);
|
||||
}
|
||||
|
||||
.application-form {
|
||||
max-width: 800px;
|
||||
margin: 0 auto;
|
||||
margin-top: var(--space-4);
|
||||
}
|
||||
|
||||
.form-section {
|
||||
margin-bottom: var(--space-5);
|
||||
}
|
||||
|
||||
.form-section h3 {
|
||||
margin-bottom: var(--space-3);
|
||||
padding-bottom: var(--space-2);
|
||||
border-bottom: 2px solid var(--color-primary);
|
||||
color: var(--color-primary);
|
||||
}
|
||||
|
||||
.form-hint {
|
||||
color: var(--color-muted);
|
||||
font-size: var(--font-size-sm);
|
||||
margin-bottom: var(--space-3);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
.site-footer {
|
||||
background: var(--color-text);
|
||||
color: white;
|
||||
padding: var(--space-5) 0 var(--space-4);
|
||||
}
|
||||
|
||||
.footer__content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: var(--space-4);
|
||||
margin-bottom: var(--space-4);
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.footer__content {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.footer__brand {
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.footer__links {
|
||||
display: flex !important;
|
||||
flex-direction: column !important;
|
||||
align-items: flex-end !important;
|
||||
gap: var(--space-3) !important;
|
||||
}
|
||||
|
||||
.footer__links-top {
|
||||
display: flex !important;
|
||||
gap: var(--space-4) !important;
|
||||
}
|
||||
|
||||
.footer__links img {
|
||||
display: block !important;
|
||||
margin-top: var(--space-2) !important;
|
||||
}
|
||||
}
|
||||
|
||||
.footer__brand {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.footer__logos {
|
||||
display: flex;
|
||||
align-items: flex-end;
|
||||
gap: var(--space-2);
|
||||
margin-bottom: var(--space-1);
|
||||
}
|
||||
|
||||
.footer__logos a {
|
||||
display: inline-block;
|
||||
line-height: 0;
|
||||
}
|
||||
|
||||
.footer__logos img:first-child,
|
||||
.footer__logos a:first-child img {
|
||||
height: 180px;
|
||||
width: auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.footer__logos img:last-child {
|
||||
height: 40px;
|
||||
width: auto;
|
||||
object-fit: contain;
|
||||
}
|
||||
|
||||
.footer__brand p {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.footer__links {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: var(--space-3);
|
||||
}
|
||||
|
||||
.footer__links a {
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-size: var(--font-size-sm);
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.footer__links a:hover {
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.footer__copyright {
|
||||
text-align: center;
|
||||
padding-top: var(--space-4);
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
.footer__copyright p {
|
||||
color: rgba(255, 255, 255, 0.6);
|
||||
font-size: var(--font-size-sm);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.footer__content {
|
||||
flex-direction: row;
|
||||
justify-content: space-between;
|
||||
align-items: flex-start;
|
||||
}
|
||||
}
|
||||
|
||||
/* Responsive container adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.nav {
|
||||
padding: 0 var(--space-3);
|
||||
}
|
||||
|
||||
.hero {
|
||||
padding: var(--space-5) 0;
|
||||
min-height: 60vh;
|
||||
}
|
||||
|
||||
.benefits,
|
||||
.profile,
|
||||
.process,
|
||||
.faq,
|
||||
.testimonials,
|
||||
.application {
|
||||
padding: var(--space-5) 0;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
margin-bottom: var(--space-4);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.nav {
|
||||
padding: 0 var(--space-2);
|
||||
}
|
||||
|
||||
.hero {
|
||||
padding: var(--space-3) 0;
|
||||
min-height: calc(100vh - var(--header-height));
|
||||
margin-top: var(--header-height);
|
||||
}
|
||||
|
||||
.hero .container {
|
||||
gap: var(--space-3);
|
||||
}
|
||||
|
||||
.hero__image {
|
||||
max-width: 250px;
|
||||
width: 85%;
|
||||
}
|
||||
|
||||
.hero__title {
|
||||
font-size: clamp(1.5rem, 4.5vw, 2.5rem);
|
||||
margin-bottom: var(--space-2);
|
||||
}
|
||||
|
||||
.hero__subtitle {
|
||||
font-size: var(--font-size-base);
|
||||
margin-bottom: var(--space-3);
|
||||
}
|
||||
|
||||
.hero__actions {
|
||||
gap: var(--space-2);
|
||||
}
|
||||
|
||||
.benefits,
|
||||
.profile,
|
||||
.process,
|
||||
.faq,
|
||||
.testimonials,
|
||||
.application {
|
||||
padding: var(--space-4) 0;
|
||||
}
|
||||
|
||||
.section-header {
|
||||
margin-bottom: var(--space-3);
|
||||
padding: 0 var(--space-1);
|
||||
}
|
||||
|
||||
.benefits__grid {
|
||||
gap: var(--space-3);
|
||||
}
|
||||
}
|
||||
380
css/privacy.css
Normal file
@@ -0,0 +1,380 @@
|
||||
/* ========================================
|
||||
PRIVACY.CSS - Elegant & Dynamic Privacy Page
|
||||
======================================== */
|
||||
|
||||
/* Privacy Page Specific Styles */
|
||||
.privacy-policy {
|
||||
padding: var(--space-6) 0;
|
||||
background: linear-gradient(135deg, var(--color-bg) 0%, white 50%, var(--color-beige) 100%);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Animated background elements */
|
||||
.privacy-policy::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
left: -50%;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: radial-gradient(circle at 20% 30%, rgba(163, 150, 96, 0.05) 0%, transparent 50%),
|
||||
radial-gradient(circle at 80% 70%, rgba(77, 63, 60, 0.03) 0%, transparent 50%);
|
||||
animation: float 20s ease-in-out infinite;
|
||||
z-index: -1;
|
||||
}
|
||||
|
||||
@keyframes float {
|
||||
0%, 100% { transform: translate(0, 0) rotate(0deg); }
|
||||
25% { transform: translate(-10px, -20px) rotate(1deg); }
|
||||
50% { transform: translate(20px, -10px) rotate(-1deg); }
|
||||
75% { transform: translate(-20px, 10px) rotate(0.5deg); }
|
||||
}
|
||||
|
||||
/* Container with glass effect */
|
||||
.privacy-policy__content {
|
||||
max-width: 900px;
|
||||
margin: 0 auto;
|
||||
background: rgba(255, 255, 255, 0.9);
|
||||
backdrop-filter: blur(20px);
|
||||
border-radius: var(--radius-lg);
|
||||
box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
/* Header with elegant styling */
|
||||
.privacy-policy__header {
|
||||
text-align: center;
|
||||
padding: var(--space-6) var(--space-5) var(--space-4);
|
||||
background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-emphasis) 100%);
|
||||
color: white;
|
||||
border-radius: var(--radius-lg) var(--radius-lg) 0 0;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.privacy-policy__header::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -50%;
|
||||
left: -50%;
|
||||
width: 200%;
|
||||
height: 200%;
|
||||
background: linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.05) 50%, transparent 70%);
|
||||
animation: shimmer 4s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes shimmer {
|
||||
0%, 100% { transform: translateX(-100%); }
|
||||
50% { transform: translateX(100%); }
|
||||
}
|
||||
|
||||
.privacy-policy__title {
|
||||
font-family: var(--font-family-serif);
|
||||
font-size: clamp(2rem, 4vw, 3rem);
|
||||
margin-bottom: var(--space-2);
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
color: white;
|
||||
text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.privacy-policy__subtitle {
|
||||
font-size: var(--font-size-xl);
|
||||
opacity: 0.9;
|
||||
margin: 0;
|
||||
position: relative;
|
||||
z-index: 2;
|
||||
color: white;
|
||||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
/* Body content with dynamic spacing */
|
||||
.privacy-policy__body {
|
||||
padding: var(--space-5);
|
||||
}
|
||||
|
||||
.privacy-policy__intro {
|
||||
font-size: var(--font-size-lg);
|
||||
line-height: var(--line-height-relaxed);
|
||||
color: var(--color-text);
|
||||
text-align: center;
|
||||
margin-bottom: var(--space-5);
|
||||
padding: var(--space-4);
|
||||
background: linear-gradient(135deg, var(--color-beige) 0%, rgba(255, 255, 255, 0.8) 100%);
|
||||
border-radius: var(--radius);
|
||||
border-left: 4px solid var(--color-primary);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.privacy-policy__intro::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: -100%;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3), transparent);
|
||||
animation: sweep 4s ease-in-out infinite;
|
||||
}
|
||||
|
||||
@keyframes sweep {
|
||||
0% { left: -100%; }
|
||||
50% { left: 100%; }
|
||||
100% { left: 100%; }
|
||||
}
|
||||
|
||||
/* Section styling with hover effects */
|
||||
.privacy-policy__section {
|
||||
margin-bottom: var(--space-5);
|
||||
padding: var(--space-4);
|
||||
border-radius: var(--radius);
|
||||
transition: all var(--transition);
|
||||
position: relative;
|
||||
background: rgba(255, 255, 255, 0.6);
|
||||
border: 1px solid rgba(163, 150, 96, 0.2);
|
||||
}
|
||||
|
||||
.privacy-policy__section:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
|
||||
background: rgba(255, 255, 255, 0.8);
|
||||
border-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.privacy-policy__section h2 {
|
||||
color: var(--color-primary);
|
||||
font-family: var(--font-family-serif);
|
||||
font-size: var(--font-size-2xl);
|
||||
margin-bottom: var(--space-3);
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.privacy-policy__section h2::after {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -5px;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 3px;
|
||||
background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
|
||||
transition: width 0.3s ease;
|
||||
}
|
||||
|
||||
.privacy-policy__section:hover h2::after {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Dynamic list styling */
|
||||
.privacy-policy__list {
|
||||
margin: var(--space-3) 0;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
.privacy-policy__list li {
|
||||
position: relative;
|
||||
padding: var(--space-2) 0 var(--space-2) var(--space-4);
|
||||
margin-bottom: var(--space-2);
|
||||
border-radius: var(--radius-sm);
|
||||
transition: all var(--transition);
|
||||
opacity: 0;
|
||||
transform: translateX(-20px);
|
||||
animation: slideInFromLeft 0.6s ease forwards;
|
||||
}
|
||||
|
||||
.privacy-policy__list li:nth-child(1) { animation-delay: 0.1s; }
|
||||
.privacy-policy__list li:nth-child(2) { animation-delay: 0.2s; }
|
||||
.privacy-policy__list li:nth-child(3) { animation-delay: 0.3s; }
|
||||
.privacy-policy__list li:nth-child(4) { animation-delay: 0.4s; }
|
||||
.privacy-policy__list li:nth-child(5) { animation-delay: 0.5s; }
|
||||
.privacy-policy__list li:nth-child(6) { animation-delay: 0.6s; }
|
||||
|
||||
@keyframes slideInFromLeft {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
.privacy-policy__list li::before {
|
||||
content: '✓';
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: var(--space-2);
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
background: var(--color-primary);
|
||||
color: white;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
transform: scale(0);
|
||||
animation: popIn 0.3s ease forwards;
|
||||
animation-delay: inherit;
|
||||
}
|
||||
|
||||
@keyframes popIn {
|
||||
0% { transform: scale(0) rotate(-180deg); }
|
||||
80% { transform: scale(1.2) rotate(10deg); }
|
||||
100% { transform: scale(1) rotate(0deg); }
|
||||
}
|
||||
|
||||
.privacy-policy__list li:hover {
|
||||
background: rgba(163, 150, 96, 0.1);
|
||||
transform: translateX(5px);
|
||||
}
|
||||
|
||||
/* Elegant link styling */
|
||||
.privacy-policy__link {
|
||||
color: var(--color-primary);
|
||||
text-decoration: none;
|
||||
font-weight: 600;
|
||||
position: relative;
|
||||
transition: all var(--transition);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.privacy-policy__link::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
bottom: -2px;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 2px;
|
||||
background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
|
||||
transition: width var(--transition);
|
||||
}
|
||||
|
||||
.privacy-policy__link:hover {
|
||||
color: var(--color-emphasis);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
.privacy-policy__link:hover::before {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* Footer section with call-to-action */
|
||||
.privacy-policy__footer {
|
||||
margin-top: var(--space-6);
|
||||
padding: var(--space-5);
|
||||
background: linear-gradient(135deg, var(--color-beige) 0%, rgba(255, 255, 255, 0.9) 100%);
|
||||
border-radius: var(--radius);
|
||||
text-align: center;
|
||||
border: 2px solid rgba(163, 150, 96, 0.3);
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.privacy-policy__footer::before {
|
||||
content: '';
|
||||
position: absolute;
|
||||
top: -2px;
|
||||
left: -2px;
|
||||
right: -2px;
|
||||
bottom: -2px;
|
||||
background: linear-gradient(45deg, var(--color-primary), var(--color-secondary), var(--color-primary));
|
||||
background-size: 300% 300%;
|
||||
animation: gradientMove 3s ease infinite;
|
||||
z-index: -1;
|
||||
border-radius: var(--radius);
|
||||
}
|
||||
|
||||
@keyframes gradientMove {
|
||||
0% { background-position: 0% 50%; }
|
||||
50% { background-position: 100% 50%; }
|
||||
100% { background-position: 0% 50%; }
|
||||
}
|
||||
|
||||
.privacy-policy__updated {
|
||||
margin-bottom: var(--space-4);
|
||||
color: var(--color-muted);
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.privacy-policy__actions {
|
||||
display: flex;
|
||||
gap: var(--space-3);
|
||||
justify-content: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
/* Responsive design */
|
||||
@media (max-width: 768px) {
|
||||
.privacy-policy {
|
||||
padding: var(--space-5) 0;
|
||||
}
|
||||
|
||||
.privacy-policy__content {
|
||||
margin: 0 var(--space-3);
|
||||
}
|
||||
|
||||
.privacy-policy__header {
|
||||
padding: var(--space-4) var(--space-3);
|
||||
}
|
||||
|
||||
.privacy-policy__body {
|
||||
padding: var(--space-3);
|
||||
}
|
||||
|
||||
.privacy-policy__section {
|
||||
padding: var(--space-3);
|
||||
}
|
||||
|
||||
.privacy-policy__actions {
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
/* Scroll animations */
|
||||
@media (prefers-reduced-motion: no-preference) {
|
||||
.privacy-policy__section {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
animation: fadeInUp 0.8s ease forwards;
|
||||
}
|
||||
|
||||
.privacy-policy__section:nth-child(1) { animation-delay: 0.1s; }
|
||||
.privacy-policy__section:nth-child(2) { animation-delay: 0.2s; }
|
||||
.privacy-policy__section:nth-child(3) { animation-delay: 0.3s; }
|
||||
.privacy-policy__section:nth-child(4) { animation-delay: 0.4s; }
|
||||
.privacy-policy__section:nth-child(5) { animation-delay: 0.5s; }
|
||||
.privacy-policy__section:nth-child(6) { animation-delay: 0.6s; }
|
||||
.privacy-policy__section:nth-child(7) { animation-delay: 0.7s; }
|
||||
}
|
||||
|
||||
@keyframes fadeInUp {
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
/* Accessibility improvements */
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
*,
|
||||
*::before,
|
||||
*::after {
|
||||
animation-duration: 0.01ms !important;
|
||||
animation-iteration-count: 1 !important;
|
||||
transition-duration: 0.01ms !important;
|
||||
}
|
||||
|
||||
.privacy-policy__section {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.privacy-policy__list li {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
439
css/thanks.css
Normal file
@@ -0,0 +1,439 @@
|
||||
/* ========================================
|
||||
THANKS.CSS - Thank you page specific styles
|
||||
======================================== */
|
||||
|
||||
/* Thanks Hero Section */
|
||||
.thanks-hero {
|
||||
padding: var(--space-6) 0;
|
||||
background: linear-gradient(135deg, var(--color-surface) 0%, white 100%);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.thanks-hero__content {
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.thanks-hero__icon {
|
||||
margin-bottom: var(--space-4);
|
||||
}
|
||||
|
||||
.thanks-hero__icon svg {
|
||||
margin: 0 auto;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.thanks-hero__title {
|
||||
color: var(--color-primary);
|
||||
margin-bottom: var(--space-3);
|
||||
font-size: clamp(2rem, 5vw, 3rem);
|
||||
}
|
||||
|
||||
.thanks-hero__subtitle {
|
||||
font-size: var(--font-size-lg);
|
||||
color: var(--color-muted);
|
||||
margin-bottom: var(--space-4);
|
||||
line-height: var(--line-height-relaxed);
|
||||
}
|
||||
|
||||
.thanks-hero__folio {
|
||||
background: white;
|
||||
padding: var(--space-3);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.folio-label {
|
||||
font-weight: 600;
|
||||
color: var(--color-text);
|
||||
margin-right: var(--space-2);
|
||||
}
|
||||
|
||||
.folio-number {
|
||||
background: var(--color-surface-2);
|
||||
padding: 0.5rem 1rem;
|
||||
border-radius: var(--radius-sm);
|
||||
font-family: 'Courier New', monospace;
|
||||
font-weight: bold;
|
||||
color: var(--color-primary);
|
||||
}
|
||||
|
||||
/* Next Steps Section */
|
||||
.next-steps {
|
||||
padding: var(--space-6) 0;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.next-steps__timeline {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-4);
|
||||
margin-top: var(--space-4);
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.next-steps__timeline {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 1024px) {
|
||||
.next-steps__timeline {
|
||||
grid-template-columns: repeat(4, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
.step-card {
|
||||
background: var(--color-surface);
|
||||
padding: var(--space-4);
|
||||
border-radius: var(--radius);
|
||||
text-align: center;
|
||||
border: 2px solid transparent;
|
||||
transition: var(--transition);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.step-card:hover {
|
||||
border-color: var(--color-primary);
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.step-card__number {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
border-radius: 50%;
|
||||
background: var(--color-primary);
|
||||
color: white;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: var(--font-size-xl);
|
||||
font-weight: bold;
|
||||
margin: 0 auto var(--space-3);
|
||||
}
|
||||
|
||||
.step-card__content h3 {
|
||||
color: var(--color-primary);
|
||||
margin-bottom: var(--space-2);
|
||||
font-size: var(--font-size-lg);
|
||||
}
|
||||
|
||||
.step-card__content p {
|
||||
margin-bottom: var(--space-2);
|
||||
line-height: var(--line-height-normal);
|
||||
}
|
||||
|
||||
.step-card__content p:first-of-type {
|
||||
font-weight: 600;
|
||||
color: var(--color-text);
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
.step-card__content p:last-child {
|
||||
color: var(--color-muted);
|
||||
font-size: var(--font-size-sm);
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Important Info Section */
|
||||
.important-info {
|
||||
padding: var(--space-6) 0;
|
||||
background: var(--color-surface);
|
||||
}
|
||||
|
||||
.info-grid {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-4);
|
||||
margin-top: var(--space-4);
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.info-grid {
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
.info-card {
|
||||
background: white;
|
||||
padding: var(--space-4);
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
display: flex;
|
||||
gap: var(--space-3);
|
||||
border-left: 4px solid var(--color-primary);
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.info-card:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: var(--shadow-lg);
|
||||
}
|
||||
|
||||
.info-card--primary {
|
||||
border-left-color: var(--color-primary);
|
||||
}
|
||||
|
||||
.info-card--secondary {
|
||||
border-left-color: var(--color-accent);
|
||||
}
|
||||
|
||||
.info-card--accent {
|
||||
border-left-color: var(--color-success);
|
||||
}
|
||||
|
||||
.info-card__icon {
|
||||
font-size: 2rem;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.info-card__content h3 {
|
||||
color: var(--color-text);
|
||||
margin-bottom: var(--space-2);
|
||||
font-size: var(--font-size-lg);
|
||||
}
|
||||
|
||||
.info-card__content p {
|
||||
color: var(--color-muted);
|
||||
margin: 0;
|
||||
line-height: var(--line-height-relaxed);
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
/* Contact Info Section */
|
||||
.contact-info {
|
||||
padding: var(--space-6) 0;
|
||||
background: white;
|
||||
}
|
||||
|
||||
.contact-options {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-4);
|
||||
margin-top: var(--space-4);
|
||||
max-width: 600px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.contact-options {
|
||||
grid-template-columns: 1fr;
|
||||
justify-items: center;
|
||||
}
|
||||
}
|
||||
|
||||
.contact-option {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: var(--space-3);
|
||||
padding: var(--space-4);
|
||||
border: 2px solid var(--color-border);
|
||||
border-radius: var(--radius);
|
||||
text-decoration: none;
|
||||
color: var(--color-text);
|
||||
transition: var(--transition);
|
||||
background: white;
|
||||
}
|
||||
|
||||
.contact-option:hover {
|
||||
border-color: var(--color-primary);
|
||||
background: var(--color-surface);
|
||||
text-decoration: none;
|
||||
transform: translateY(-2px);
|
||||
}
|
||||
|
||||
.contact-option--primary:hover {
|
||||
border-color: #25D366; /* WhatsApp green */
|
||||
background: color-mix(in oklch, #25D366 10%, white 90%);
|
||||
}
|
||||
|
||||
.contact-option--secondary:hover {
|
||||
border-color: var(--color-accent);
|
||||
background: color-mix(in oklch, var(--color-accent) 10%, white 90%);
|
||||
}
|
||||
|
||||
.contact-option__icon {
|
||||
flex-shrink: 0;
|
||||
color: var(--color-primary);
|
||||
}
|
||||
|
||||
.contact-option--primary .contact-option__icon {
|
||||
color: #25D366;
|
||||
}
|
||||
|
||||
.contact-option--secondary .contact-option__icon {
|
||||
color: var(--color-accent);
|
||||
}
|
||||
|
||||
.contact-option__content h4 {
|
||||
margin: 0 0 0.25rem 0;
|
||||
font-size: var(--font-size-lg);
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.contact-option__content p {
|
||||
margin: 0;
|
||||
color: var(--color-muted);
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
/* Social Proof Section */
|
||||
.social-proof {
|
||||
padding: var(--space-6) 0;
|
||||
background: var(--color-surface);
|
||||
}
|
||||
|
||||
.social-links {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr;
|
||||
gap: var(--space-4);
|
||||
margin-top: var(--space-4);
|
||||
max-width: 800px;
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.social-links {
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
}
|
||||
}
|
||||
|
||||
.social-link {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: var(--space-3);
|
||||
padding: var(--space-4);
|
||||
background: white;
|
||||
border-radius: var(--radius);
|
||||
box-shadow: var(--shadow);
|
||||
text-decoration: none;
|
||||
color: var(--color-text);
|
||||
transition: var(--transition);
|
||||
}
|
||||
|
||||
.social-link:hover {
|
||||
transform: translateY(-2px);
|
||||
box-shadow: var(--shadow-lg);
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.social-link__icon {
|
||||
flex-shrink: 0;
|
||||
color: var(--color-primary);
|
||||
}
|
||||
|
||||
.social-link__content h4 {
|
||||
margin: 0 0 0.5rem 0;
|
||||
font-size: var(--font-size-lg);
|
||||
font-weight: 600;
|
||||
color: var(--color-primary);
|
||||
}
|
||||
|
||||
.social-link__content p {
|
||||
margin: 0;
|
||||
color: var(--color-muted);
|
||||
font-size: var(--font-size-sm);
|
||||
line-height: var(--line-height-relaxed);
|
||||
}
|
||||
|
||||
/* Consent Banner */
|
||||
.consent-banner {
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(45, 45, 45, 0.95);
|
||||
color: white;
|
||||
padding: var(--space-3);
|
||||
z-index: 9999;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
.consent-banner__content {
|
||||
max-width: var(--container-max-width);
|
||||
margin: 0 auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
gap: var(--space-3);
|
||||
}
|
||||
|
||||
.consent-banner__content p {
|
||||
margin: 0;
|
||||
font-size: var(--font-size-sm);
|
||||
flex: 1;
|
||||
}
|
||||
|
||||
.consent-banner__content a {
|
||||
color: var(--color-primary);
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.consent-banner__actions {
|
||||
display: flex;
|
||||
gap: var(--space-2);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
.btn--sm {
|
||||
padding: 0.5rem 1rem;
|
||||
font-size: var(--font-size-sm);
|
||||
}
|
||||
|
||||
/* Mobile responsive adjustments */
|
||||
@media (max-width: 768px) {
|
||||
.thanks-hero {
|
||||
padding: var(--space-5) 0;
|
||||
}
|
||||
|
||||
.thanks-hero__folio {
|
||||
display: block;
|
||||
margin: 0 var(--space-2);
|
||||
}
|
||||
|
||||
.next-steps,
|
||||
.important-info,
|
||||
.contact-info,
|
||||
.social-proof {
|
||||
padding: var(--space-5) 0;
|
||||
}
|
||||
|
||||
.step-card,
|
||||
.info-card {
|
||||
padding: var(--space-3);
|
||||
}
|
||||
|
||||
.contact-option,
|
||||
.social-link {
|
||||
padding: var(--space-3);
|
||||
}
|
||||
|
||||
.consent-banner__content {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.consent-banner__content p {
|
||||
margin-bottom: var(--space-2);
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 480px) {
|
||||
.info-card {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.contact-option {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.social-link {
|
||||
flex-direction: column;
|
||||
text-align: center;
|
||||
}
|
||||
}
|
||||
682
index.html
Normal file
@@ -0,0 +1,682 @@
|
||||
<!doctype html>
|
||||
<html lang="es" class="no-js">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||
<title>💖 Únete a Vanity — Aplica en 5 min</title>
|
||||
<meta name="description" content="Capacitación real, ingresos por desempeño y un equipo que te impulsa. Aplica en 2 minutos.">
|
||||
|
||||
<!-- Preload fonts -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Lato:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- SEO & Social -->
|
||||
<meta property="og:title" content="Únete a Vanity — Crece tu talento en belleza">
|
||||
<meta property="og:description" content="Capacitación real, ingresos por desempeño y un equipo que te impulsa. Aplica en 2 minutos.">
|
||||
<meta property="og:image" content="/assets/img/og-join-vanity.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="canonical" href="https://unirse.vanityexperience.mx/">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="/assets/img/logos/vanity_bk.png" type="image/png">
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="/css/base.css">
|
||||
<link rel="stylesheet" href="/css/layout.css">
|
||||
<link rel="stylesheet" href="/css/components.css">
|
||||
<link rel="stylesheet" href="/css/carousel.css">
|
||||
<link rel="stylesheet" href="/css/animations.css">
|
||||
|
||||
<!-- Schema.org JSON-LD -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "JobPosting",
|
||||
"title": "Profesional en Servicios de Belleza",
|
||||
"description": "Únete al equipo Vanity. Oportunidades para nail techs, lash artists, estilistas y más.",
|
||||
"hiringOrganization": {
|
||||
"@type": "Organization",
|
||||
"name": "Vanity",
|
||||
"url": "https://vanity.grupoalma.com",
|
||||
"logo": "https://join.vanity.grupoalma.com/assets/img/logos/vanity_bk.png"
|
||||
},
|
||||
"jobLocation": {
|
||||
"@type": "Place",
|
||||
"address": {
|
||||
"@type": "PostalAddress",
|
||||
"addressLocality": "Saltillo",
|
||||
"addressRegion": "Coahuila",
|
||||
"addressCountry": "MX"
|
||||
}
|
||||
},
|
||||
"employmentType": "OTHER",
|
||||
"datePosted": "2025-09-20"
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<header id="inicio" class="site-header">
|
||||
<nav class="nav">
|
||||
<a class="nav__logo" href="https://vanityexperience.mx/" target="_blank" rel="noopener">
|
||||
<img src="/assets/img/logos/vanity_bk.png" alt="Vanity — Belleza y cuidado profesional" width="40" height="40">
|
||||
</a>
|
||||
<button class="nav__toggle" aria-expanded="false" aria-controls="navMenu" aria-label="Menú">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
<ul id="navMenu" class="nav__menu" hidden>
|
||||
<li><a href="#beneficios">Beneficios</a></li>
|
||||
<li><a href="#perfil">Perfil ideal</a></li>
|
||||
<li><a href="#proceso">Proceso</a></li>
|
||||
<li><a href="#faq">FAQ</a></li>
|
||||
<li><a href="#testimonios">Testimonios</a></li>
|
||||
</ul>
|
||||
<div class="nav__actions">
|
||||
<a class="btn btn--ghost nav__whatsapp" href="https://wa.me/5218441565066?text=Hola%20quiero%20aplicar%20a%20Vanity" target="_blank" rel="noopener">
|
||||
WhatsApp
|
||||
</a>
|
||||
<a class="btn btn--primary nav__cta" href="#aplicar">Aplicar</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<!-- HERO SECTION -->
|
||||
<section class="hero">
|
||||
<div class="container">
|
||||
<div class="hero__content">
|
||||
<h1 class="hero__title">
|
||||
Únete a Vanity y crece con tu <span id="rotating" class="hero__rotating">Talento</span>
|
||||
</h1>
|
||||
<p class="hero__subtitle">
|
||||
Capacitación real, ingresos por desempeño y un equipo que te impulsa.
|
||||
</p>
|
||||
<div class="hero__actions">
|
||||
<a class="btn btn--primary btn--lg" href="#aplicar">Aplicar ahora</a>
|
||||
<a class="btn btn--ghost btn--lg" href="#beneficios">Conocer beneficios</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="hero__image">
|
||||
<div class="hero__carousel" id="heroCarousel">
|
||||
<div class="hero__slide active">
|
||||
<img src="/assets/img/carousel/hero/1.jpeg" alt="Servicios de belleza profesional Vanity" width="400" height="400" loading="eager">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/2.jpeg" alt="Técnicas de uñas profesionales" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/3.jpeg" alt="Servicios de pestañas especializados" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/4.jpeg" alt="Maquillaje profesional y estilismo" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/5.jpeg" alt="Ambiente profesional de trabajo" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/6.jpeg" alt="Equipo de profesionales Vanity" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/7.jpeg" alt="Resultados de calidad en servicios" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/8.jpeg" alt="Capacitación y crecimiento profesional" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
<div class="hero__slide">
|
||||
<img src="/assets/img/carousel/hero/9.jpeg" alt="Excelencia en servicios de belleza" width="400" height="400" loading="lazy">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- BENEFICIOS SECTION -->
|
||||
<section id="beneficios" class="benefits">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>¿Por qué elegir Vanity?</h2>
|
||||
<p>En Vanity creemos que la belleza es más que estética: es confianza, cuidado y crecimiento. Con varias sucursales y un equipo en expansión, ofrecemos un ambiente profesional donde tu talento florece y tus ideas cuentan.</p>
|
||||
</div>
|
||||
|
||||
<div class="benefits__grid">
|
||||
<div class="benefit-card">
|
||||
<div class="benefit-card__icon">📚</div>
|
||||
<h3>Capacitación continua</h3>
|
||||
<p>Talleres y entrenamientos en tendencias actuales</p>
|
||||
</div>
|
||||
|
||||
<div class="benefit-card">
|
||||
<div class="benefit-card__icon">💰</div>
|
||||
<h3>Salarios competitivos</h3>
|
||||
<p>Ingresos de $10,000 a $20,000 mensuales según habilidad, más comisiones y bonos</p>
|
||||
</div>
|
||||
|
||||
<div class="benefit-card">
|
||||
<div class="benefit-card__icon">🕐</div>
|
||||
<h3>Flexibilidad de horarios</h3>
|
||||
<p>Equilibrio real entre tu vida y tu carrera</p>
|
||||
</div>
|
||||
|
||||
<div class="benefit-card">
|
||||
<div class="benefit-card__icon">🏢</div>
|
||||
<h3>Ambiente moderno</h3>
|
||||
<p>Espacios diseñados para inspirar creatividad</p>
|
||||
</div>
|
||||
|
||||
<div class="benefit-card">
|
||||
<div class="benefit-card__icon">📈</div>
|
||||
<h3>Crecimiento</h3>
|
||||
<p>Ruta clara hacia roles de liderazgo y especialización</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- PERFIL IDEAL SECTION -->
|
||||
<section id="perfil" class="profile">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>Perfil ideal</h2>
|
||||
<p>Buscamos socias apasionadas por crecer y aportar dentro de un equipo profesional de belleza. Queremos personas con entusiasmo, compromiso y vocación de servicio que disfruten hacer sentir bien a cada clienta.</p>
|
||||
</div>
|
||||
|
||||
<div class="profile__content">
|
||||
<div class="profile__requirements">
|
||||
<h3>Requisitos mínimos</h3>
|
||||
<ul class="checklist">
|
||||
<li><strong>Edad:</strong> 18 a 40 años</li>
|
||||
<li><strong>Experiencia mínima:</strong> 6 meses en uñas, pestañas, maquillaje, estilismo o cosmetología</li>
|
||||
<li><strong>Vocación de servicio:</strong> pasión por brindar una experiencia positiva a las clientas</li>
|
||||
<li><strong>Cualidades personales:</strong> madurez, puntualidad y responsabilidad</li>
|
||||
<li><strong>Disponibilidad:</strong> de horario y de actuar</li>
|
||||
<li><strong>Apertura a retroalimentación:</strong> disposición para aprender y mejorar continuamente</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="profile__desired">
|
||||
<h3>Extras valorados</h3>
|
||||
<ul class="checklist checklist--secondary">
|
||||
<li>Certificaciones profesionales</li>
|
||||
<li>Inglés conversacional</li>
|
||||
<li>Portafolio reciente (link o fotos de tus trabajos)</li>
|
||||
<li>Manejo básico de redes sociales</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- PROCESO SECTION -->
|
||||
<section id="proceso" class="process">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>Proceso de aplicación</h2>
|
||||
<p>Tiempo estimado: 3–5 días hábiles</p>
|
||||
</div>
|
||||
|
||||
<div class="process__timeline">
|
||||
<div class="process__step">
|
||||
<div class="process__number">1</div>
|
||||
<div class="process__content">
|
||||
<h3>Aplicación online</h3>
|
||||
<p>Completa la aplicación en línea (3-6 minutos)</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="process__step">
|
||||
<div class="process__number">2</div>
|
||||
<div class="process__content">
|
||||
<h3>Revisión de portafolio</h3>
|
||||
<p>Revisamos tu portafolio (48–72h hábiles)</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="process__step">
|
||||
<div class="process__number">3</div>
|
||||
<div class="process__content">
|
||||
<h3>Entrevista</h3>
|
||||
<p>Te contactamos para entrevista</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="process__step">
|
||||
<div class="process__number">4</div>
|
||||
<div class="process__content">
|
||||
<h3>Prueba técnica</h3>
|
||||
<p>Realizas una prueba técnica breve</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="process__step">
|
||||
<div class="process__number">5</div>
|
||||
<div class="process__content">
|
||||
<h3>Oferta</h3>
|
||||
<p>Recibes oferta y on-boarding</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- FAQ SECTION -->
|
||||
<section id="faq" class="faq">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>Preguntas frecuentes</h2>
|
||||
<p>Resolvemos tus dudas más comunes</p>
|
||||
</div>
|
||||
|
||||
<div class="faq__list">
|
||||
<!-- 1. Ingresos y Bonos -->
|
||||
<details class="faq__item">
|
||||
<summary class="faq__question">¿Cómo funcionan los ingresos y los bonos?</summary>
|
||||
<div class="faq__answer">
|
||||
<p>
|
||||
Ofrecemos <strong>salarios base competitivos</strong> de $10,000 a $20,000 mensuales según tu nivel de habilidad,
|
||||
más un <strong>esquema de comisiones</strong> transparente y bonos por <strong>puntualidad</strong> y <strong>desempeño</strong>.
|
||||
<br>
|
||||
<u>Tu esfuerzo y talento tienen una recompensa directa</u> con ingresos que pueden crecer significativamente con tu desarrollo profesional.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- 2. Horarios -->
|
||||
<details class="faq__item">
|
||||
<summary class="faq__question">¿Qué horarios manejan en Vanity?</summary>
|
||||
<div class="faq__answer">
|
||||
<p>
|
||||
Entre semana: <strong>Matutino 10:00–18:00</strong> y <strong>Vespertino 12:00–20:00</strong>.
|
||||
<br>
|
||||
Sábados: <strong>10:00–18:00</strong>.
|
||||
<br>
|
||||
Buscamos que los horarios sean claros y favorezcan un <em>buen balance</em> entre vida personal y laboral.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- 3. Materiales, instalaciones y apoyo -->
|
||||
<details class="faq__item">
|
||||
<summary class="faq__question">¿Qué apoyo ofrece Vanity para trabajar?</summary>
|
||||
<div class="faq__answer">
|
||||
<p>
|
||||
Te brindamos <strong>materiales</strong>, <strong>instalaciones equipadas</strong>, <strong>impulso en redes</strong>,
|
||||
<strong>cartera de clientes</strong> y <strong>amenidades para clientas</strong> para que te enfoques en tu talento.
|
||||
<br>
|
||||
De forma natural, se espera que cuentes con tus <em>herramientas profesionales</em> habituales.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- 4. Prueba técnica -->
|
||||
<details class="faq__item">
|
||||
<summary class="faq__question">¿Qué se evalúa en la prueba técnica?</summary>
|
||||
<div class="faq__answer">
|
||||
<p>
|
||||
Observamos tu <strong>técnica</strong>, manejo de <strong>tiempos</strong>, <strong>higiene</strong>,
|
||||
<strong>atención al detalle</strong> y la <strong>calidad del trato</strong> al cliente.
|
||||
<br>
|
||||
Queremos ver cómo <em>brilla tu talento</em> en un entorno real.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- 5. Casa vs. Vanity -->
|
||||
<details class="faq__item">
|
||||
<summary class="faq__question">¿Qué diferencia hay entre trabajar en casa y en Vanity?</summary>
|
||||
<div class="faq__answer">
|
||||
<p>
|
||||
En Vanity te olvidas de costos como <strong>insumos</strong> o <strong>búsqueda de clientela</strong>; ya cuentas con
|
||||
<strong>materiales</strong>, <strong>espacios</strong> y una <strong>cartera de clientas</strong> que valora el servicio.
|
||||
Además, nuestro equipo te respalda para que te concentres en <em>lo que mejor haces</em>.
|
||||
<br>
|
||||
Resultado: <u>ganancias comparables o mejores, con menos preocupaciones operativas</u>.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- 6. Turnos parciales / fines de semana -->
|
||||
<details class="faq__item">
|
||||
<summary class="faq__question">¿Manejan turnos parciales o guardias en fines de semana?</summary>
|
||||
<div class="faq__answer">
|
||||
<p>
|
||||
Sí. Ofrecemos <strong>turnos parciales</strong> enfocados en servicios ágiles como
|
||||
<strong>pedicure</strong>, <strong>gelish</strong> o <strong>uñas acrílicas</strong>, especialmente en fines de semana.
|
||||
Funciona bajo un esquema flexible <u>sujeto a disponibilidad y demanda</u>, similar a "on-call" en
|
||||
<em>temporada alta</em>.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
|
||||
<!-- 7. Tipo de contrato -->
|
||||
<details class="faq__item">
|
||||
<summary class="faq__question">¿Qué tipo de contrato manejan?</summary>
|
||||
<div class="faq__answer">
|
||||
<p>
|
||||
El contrato es por <strong>tiempo indefinido</strong>. Al comprometernos con tu capacitación y crecimiento profesional,
|
||||
te pedimos retener tu colaboración en Vanity por <strong>2 años</strong>.
|
||||
<br>
|
||||
Esto nos permite <em>invertir en tu desarrollo</em> con la tranquilidad de construir un equipo sólido y duradero.
|
||||
</p>
|
||||
</div>
|
||||
</details>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- TESTIMONIOS SECTION -->
|
||||
<section id="testimonios" class="testimonials">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>Lo que dicen nuestras socias</h2>
|
||||
<p>Historias reales de crecimiento profesional</p>
|
||||
</div>
|
||||
|
||||
<div class="testimonials__carousel" id="testimonialsCarousel">
|
||||
<div class="testimonials__track">
|
||||
<div class="testimonial-slide active">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/blanquita.jpeg" alt="Blanquita" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Blanquita</cite>
|
||||
<span>Vanity Plaza O</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"En Vanity me siento siempre como en casa, mi trabajo para mí es una pasión y compartir con mis compañeras, no solo el trabajo, sino parte de la vida, es un placer. No se diga trabajar con Ale y aprender de ella, siempre inspira. La marca me encanta y ver cómo ha evolucionado y sobre todo ahora ser parte de esa evolución me emociona mucho."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/sabina.jpeg" alt="Sabina" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Sabina</cite>
|
||||
<span>Vanity Plaza O</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Mi experiencia en Vanity ha sido genial desde el primer día. Aprendo algo nuevo cada día y estoy orgullosa de mi progreso en técnicas y servicios. Vanity seguirá siendo el mejor!!"</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/majo.jpeg" alt="Majo" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Majo</cite>
|
||||
<span>Vanity Plaza CIMA</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Me encanta, es mi espacio seguro. Siempre aprendo cosas nuevas para mejorar laboral y personalmente."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/placeholder.png" alt="Anni" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Anni</cite>
|
||||
<span>Vanity Plaza CIMA</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Al llegar a Vanity me sentía estancada, pero aquí descubrí que puedo lograr lo que me proponga. He aprendido, crecido y sanado cosas que no sabía que necesitaba. Hoy me siento feliz y acompañada."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/adriana.jpeg" alt="Adriana" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Adriana</cite>
|
||||
<span>Vanity Plaza CIMA</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Trabajar en Vanity es increíble, aprendo algo nuevo cada día. La convivencia con el equipo es muy especial y siempre hay apoyo."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/ame.jpeg" alt="América" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>América</cite>
|
||||
<span>Vanity Plaza CIMA</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Vanity es un lugar seguro donde crecí profesional y personalmente. Amo la vibra y el ambiente, siempre hay algo que me motiva y me hace sentir mejor."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/karen.png" alt="Karen" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Karen</cite>
|
||||
<span>Vanity Los Pinos</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Me siento escuchada y valorada, cumpliendo con el trabajo de mis sueños. Vanity es profesional y una gran escuela. Nuestros jefes tienen la paciencia y experiencia para apoyarnos."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/paola.jpeg" alt="Paola" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Paola</cite>
|
||||
<span>Vanity Los Pinos</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Me siento agradecida y bendecida de tener a Vanity como mi segunda casa. Empezamos con pocas clientas y ahora es un espacio lleno de buena vibra. Es una experiencia única que solo aquí se vive."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Casi tres años en Vanity y he crecido muchísimo. Aprendí cosas nuevas, perfeccioné otras, y día a día veo cómo mi trabajo mejora. Vanity ha evolucionado mucho y ser parte de esto me llena de orgullo y alegría."</p>
|
||||
</div>
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/itza.jpeg" alt="Itza" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Itza</cite>
|
||||
<span>Vanity Los Pinos</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Vanity Nail Salon es un espacio que impulsa a crecer y seguir soñando. Cada día es un aprendizaje y un lugar que inspira como clienta y trabajadora."</p>
|
||||
</div>
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/valeria.jpeg" alt="Vale" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Vale</cite>
|
||||
<span>Vanity Plaza O</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Mi experiencia ha sido muy buena. Me gusta el equipo, nos apoyamos y estamos en constante capacitación para no quedarnos atrás en tendencias y técnicas."</p>
|
||||
</div>
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/eunice.jpeg" alt="Eunice" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Eunice</cite>
|
||||
<span>Vanity Plaza O</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Aunque llevo poco tiempo, me siento motivada y apoyada. He conocido amigas y una red de apoyo que me impulsa a ser responsable y crecer. Vanity ha cambiado mi vida de forma muy positiva."</p>
|
||||
</div>
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/placeholder.png" alt="Tay" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Tay</cite>
|
||||
<span>Vanity Plaza O</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="testimonial-slide">
|
||||
<div class="testimonial-card">
|
||||
<div class="testimonial-card__author">
|
||||
<img src="/assets/img/testimonials/placeholder.png" alt="Frida" width="60" height="60" loading="lazy">
|
||||
<div>
|
||||
<cite>Frida</cite>
|
||||
<span>Marketing Team</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="testimonial-card__content">
|
||||
<p>"Llegué sin saber nada de uñas y gracias al apoyo de Ale y mis compañeras aprendí paso a paso. Hoy soy directora de marketing y disfruto de mi trabajo con paz, entusiasmo y gratitud. Vanity es un lugar donde cada éxito de la marca se siente personal y especial."</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Carousel Controls -->
|
||||
<div class="testimonials__controls">
|
||||
<button class="testimonial-nav testimonial-nav--prev" id="testimonioPrev" aria-label="Testimonio anterior">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M15 18L9 12L15 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<!-- Carousel Indicators -->
|
||||
<div class="testimonials__indicators">
|
||||
<button class="testimonial-indicator active" data-slide="0" aria-label="Ver testimonio 1"></button>
|
||||
<button class="testimonial-indicator" data-slide="1" aria-label="Ver testimonio 2"></button>
|
||||
<button class="testimonial-indicator" data-slide="2" aria-label="Ver testimonio 3"></button>
|
||||
<button class="testimonial-indicator" data-slide="3" aria-label="Ver testimonio 4"></button>
|
||||
<button class="testimonial-indicator" data-slide="4" aria-label="Ver testimonio 5"></button>
|
||||
<button class="testimonial-indicator" data-slide="5" aria-label="Ver testimonio 6"></button>
|
||||
<button class="testimonial-indicator" data-slide="6" aria-label="Ver testimonio 7"></button>
|
||||
<button class="testimonial-indicator" data-slide="7" aria-label="Ver testimonio 8"></button>
|
||||
<button class="testimonial-indicator" data-slide="8" aria-label="Ver testimonio 9"></button>
|
||||
<button class="testimonial-indicator" data-slide="9" aria-label="Ver testimonio 10"></button>
|
||||
<button class="testimonial-indicator" data-slide="10" aria-label="Ver testimonio 11"></button>
|
||||
<button class="testimonial-indicator" data-slide="11" aria-label="Ver testimonio 12"></button>
|
||||
<button class="testimonial-indicator" data-slide="12" aria-label="Ver testimonio 13"></button>
|
||||
</div>
|
||||
|
||||
<button class="testimonial-nav testimonial-nav--next" id="testimonioNext" aria-label="Siguiente testimonio">
|
||||
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9 18L15 12L9 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CTA SECTION WITH CAROUSEL -->
|
||||
<section id="aplicar" class="cta-carousel">
|
||||
<div class="container">
|
||||
<div class="cta-carousel__content">
|
||||
<div class="cta-carousel__text">
|
||||
<h2>Aplica en 2 minutos y empieza tu camino con Vanity</h2>
|
||||
<p>
|
||||
Completa nuestra aplicación en línea y descubre las oportunidades
|
||||
que tenemos para ti en Vanity. Tu talento merece el mejor lugar para crecer.
|
||||
</p>
|
||||
<div class="cta-carousel__stats">
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">15+</span>
|
||||
<span class="stat-label">Socias felices</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">3</span>
|
||||
<span class="stat-label">Sucursales</span>
|
||||
</div>
|
||||
<div class="stat-item">
|
||||
<span class="stat-number">8+</span>
|
||||
<span class="stat-label">Años de experiencia</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="cta-carousel__actions">
|
||||
<button class="btn btn--primary btn--lg" id="openApplicationForm">
|
||||
Aplicar ahora
|
||||
</button>
|
||||
<a href="https://wa.me/5218441565066?text=Hola%20quiero%20información%20sobre%20trabajar%20en%20Vanity"
|
||||
class="btn btn--ghost btn--lg"
|
||||
target="_blank"
|
||||
rel="noopener">
|
||||
Contactar por WhatsApp
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<div class="footer__content">
|
||||
<div class="footer__brand">
|
||||
<div class="footer__logos">
|
||||
<a href="https://vanityexperience.mx/" target="_blank" rel="noopener">
|
||||
<img src="/assets/img/logos/vanity_wh.png" alt="Vanity">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer__links">
|
||||
<div class="footer__links-top">
|
||||
<a href="/privacy.html">Política de Privacidad</a>
|
||||
<a href="https://www.instagram.com/vanitynailsalon/" target="_blank" rel="noopener" aria-label="Instagram">Instagram</a>
|
||||
<a href="https://www.tiktok.com/@vanity.nail.salon" target="_blank" rel="noopener" aria-label="TikTok">TikTok</a>
|
||||
<a href="https://www.facebook.com/vanity.saltillo" target="_blank" rel="noopener" aria-label="Facebook">Facebook</a>
|
||||
</div>
|
||||
<img src="/assets/img/logos/alma_wh.png" alt="Alma" style="height: 50px; width: auto;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer__copyright">
|
||||
<p>© 2025 Vanity. Todos los derechos reservados. | Parte de Grupo AlMa</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="/js/main.js" defer></script>
|
||||
<script src="/js/analytics.js" async></script>
|
||||
</body>
|
||||
</html>
|
||||
355
js/analytics.js
Normal file
@@ -0,0 +1,355 @@
|
||||
/**
|
||||
* ANALYTICS.JS - Google Analytics 4 and social pixels
|
||||
* Loads asynchronously with consent management
|
||||
*/
|
||||
|
||||
// Configuration
|
||||
const ANALYTICS_CONFIG = {
|
||||
GA4_ID: 'G-XXXXXXXXXX', // Replace with actual GA4 ID
|
||||
META_PIXEL_ID: '123456789', // Replace with actual Meta Pixel ID
|
||||
TIKTOK_PIXEL_ID: 'TIKTOK123', // Replace with actual TikTok Pixel ID
|
||||
};
|
||||
|
||||
// Consent management (basic implementation)
|
||||
let analyticsConsent = localStorage.getItem('analytics_consent') !== 'false';
|
||||
|
||||
// Initialize Google Analytics 4
|
||||
function initGA4() {
|
||||
if (!analyticsConsent || !ANALYTICS_CONFIG.GA4_ID) return;
|
||||
|
||||
// Load gtag script
|
||||
const script = document.createElement('script');
|
||||
script.async = true;
|
||||
script.src = `https://www.googletagmanager.com/gtag/js?id=${ANALYTICS_CONFIG.GA4_ID}`;
|
||||
document.head.appendChild(script);
|
||||
|
||||
// Initialize dataLayer and gtag
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
function gtag() {
|
||||
dataLayer.push(arguments);
|
||||
}
|
||||
|
||||
window.gtag = gtag;
|
||||
|
||||
gtag('js', new Date());
|
||||
gtag('config', ANALYTICS_CONFIG.GA4_ID, {
|
||||
send_page_view: true,
|
||||
allow_google_signals: true,
|
||||
allow_ad_personalization_signals: true
|
||||
});
|
||||
|
||||
// Track initial page view
|
||||
gtag('event', 'page_view', {
|
||||
page_title: document.title,
|
||||
page_location: window.location.href,
|
||||
page_path: window.location.pathname
|
||||
});
|
||||
|
||||
console.log('GA4 initialized');
|
||||
}
|
||||
|
||||
// Initialize Meta Pixel
|
||||
function initMetaPixel() {
|
||||
if (!analyticsConsent || !ANALYTICS_CONFIG.META_PIXEL_ID) return;
|
||||
|
||||
// Meta Pixel base code
|
||||
!function(f,b,e,v,n,t,s)
|
||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||
'https://connect.facebook.net/en_US/fbevents.js');
|
||||
|
||||
fbq('init', ANALYTICS_CONFIG.META_PIXEL_ID);
|
||||
fbq('track', 'PageView');
|
||||
|
||||
console.log('Meta Pixel initialized');
|
||||
}
|
||||
|
||||
// Initialize TikTok Pixel
|
||||
function initTikTokPixel() {
|
||||
if (!analyticsConsent || !ANALYTICS_CONFIG.TIKTOK_PIXEL_ID) return;
|
||||
|
||||
// TikTok Pixel base code
|
||||
!function (w, d, t) {
|
||||
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var i="https://analytics.tiktok.com/i18n/pixel/events.js";ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=i,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};var o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=i+"?sdkid="+e+"&lib="+t;var a=document.getElementsByTagName("script")[0];a.parentNode.insertBefore(o,a)};
|
||||
}(window, document, 'ttq');
|
||||
|
||||
ttq.load(ANALYTICS_CONFIG.TIKTOK_PIXEL_ID);
|
||||
ttq.page();
|
||||
|
||||
console.log('TikTok Pixel initialized');
|
||||
}
|
||||
|
||||
// Enhanced event tracking for GA4
|
||||
function trackCustomEvents() {
|
||||
if (typeof gtag === 'undefined') return;
|
||||
|
||||
// Track form starts
|
||||
const form = document.getElementById('formJoin');
|
||||
if (form) {
|
||||
let formStarted = false;
|
||||
|
||||
form.addEventListener('input', () => {
|
||||
if (!formStarted) {
|
||||
formStarted = true;
|
||||
gtag('event', 'form_start', {
|
||||
event_category: 'form',
|
||||
event_label: 'application_form',
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
}, { once: true });
|
||||
}
|
||||
|
||||
// Track video interactions (if any)
|
||||
const videos = document.querySelectorAll('video');
|
||||
videos.forEach(video => {
|
||||
video.addEventListener('play', () => {
|
||||
gtag('event', 'video_play', {
|
||||
event_category: 'engagement',
|
||||
event_label: video.src || 'embedded_video',
|
||||
value: 1
|
||||
});
|
||||
});
|
||||
|
||||
video.addEventListener('ended', () => {
|
||||
gtag('event', 'video_complete', {
|
||||
event_category: 'engagement',
|
||||
event_label: video.src || 'embedded_video',
|
||||
value: 1
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
// Track file downloads
|
||||
document.addEventListener('click', (e) => {
|
||||
const link = e.target.closest('a');
|
||||
if (!link) return;
|
||||
|
||||
const href = link.getAttribute('href');
|
||||
if (href && (href.includes('.pdf') || href.includes('.doc') || href.includes('.zip'))) {
|
||||
gtag('event', 'file_download', {
|
||||
event_category: 'engagement',
|
||||
event_label: href,
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Track external link clicks
|
||||
document.addEventListener('click', (e) => {
|
||||
const link = e.target.closest('a');
|
||||
if (!link) return;
|
||||
|
||||
const href = link.getAttribute('href');
|
||||
if (href && (href.startsWith('http') && !href.includes(window.location.hostname))) {
|
||||
gtag('event', 'external_link_click', {
|
||||
event_category: 'engagement',
|
||||
event_label: href,
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Track ecommerce events (if applicable)
|
||||
function trackConversionEvents() {
|
||||
// Track form submission as conversion
|
||||
const form = document.getElementById('formJoin');
|
||||
if (form && typeof gtag !== 'undefined') {
|
||||
form.addEventListener('submit', () => {
|
||||
// This will be called before the form is actually submitted
|
||||
setTimeout(() => {
|
||||
gtag('event', 'conversion', {
|
||||
send_to: `${ANALYTICS_CONFIG.GA4_ID}/lead_generation`,
|
||||
event_category: 'lead',
|
||||
event_label: 'application_submitted',
|
||||
value: 1
|
||||
});
|
||||
|
||||
// Meta Pixel conversion
|
||||
if (typeof fbq !== 'undefined') {
|
||||
fbq('track', 'Lead', {
|
||||
content_name: 'Job Application',
|
||||
content_category: 'Recruitment',
|
||||
value: 1,
|
||||
currency: 'MXN'
|
||||
});
|
||||
}
|
||||
|
||||
// TikTok Pixel conversion
|
||||
if (typeof ttq !== 'undefined') {
|
||||
ttq.track('SubmitForm', {
|
||||
content_type: 'application',
|
||||
content_name: 'Job Application'
|
||||
});
|
||||
}
|
||||
}, 100);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Enhanced user engagement tracking
|
||||
function trackEngagement() {
|
||||
let engagementStartTime = Date.now();
|
||||
let maxScrollDepth = 0;
|
||||
let interactions = 0;
|
||||
|
||||
// Track interactions
|
||||
['click', 'scroll', 'keydown'].forEach(eventType => {
|
||||
document.addEventListener(eventType, () => {
|
||||
interactions++;
|
||||
}, { passive: true });
|
||||
});
|
||||
|
||||
// Track scroll depth more granularly
|
||||
function updateScrollDepth() {
|
||||
const scrollTop = window.pageYOffset;
|
||||
const docHeight = document.documentElement.scrollHeight - window.innerHeight;
|
||||
const scrollPercent = Math.min(100, Math.round((scrollTop / docHeight) * 100));
|
||||
|
||||
if (scrollPercent > maxScrollDepth) {
|
||||
maxScrollDepth = scrollPercent;
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('scroll', updateScrollDepth, { passive: true });
|
||||
|
||||
// Send engagement data before page unload
|
||||
function sendEngagementData() {
|
||||
if (typeof gtag === 'undefined') return;
|
||||
|
||||
const timeOnPage = Math.round((Date.now() - engagementStartTime) / 1000);
|
||||
|
||||
gtag('event', 'engagement_summary', {
|
||||
event_category: 'engagement',
|
||||
custom_parameters: {
|
||||
time_on_page: timeOnPage,
|
||||
max_scroll_depth: maxScrollDepth,
|
||||
interactions_count: interactions
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Send data on page visibility change or unload
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.visibilityState === 'hidden') {
|
||||
sendEngagementData();
|
||||
}
|
||||
});
|
||||
|
||||
window.addEventListener('beforeunload', sendEngagementData);
|
||||
}
|
||||
|
||||
// Consent banner (basic implementation)
|
||||
function showConsentBanner() {
|
||||
if (localStorage.getItem('analytics_consent') !== null) return;
|
||||
|
||||
const banner = document.createElement('div');
|
||||
banner.className = 'consent-banner';
|
||||
banner.innerHTML = `
|
||||
<div class="consent-banner__content">
|
||||
<p>Utilizamos cookies y herramientas de análisis para mejorar tu experiencia.
|
||||
<a href="/aviso-de-privacidad" target="_blank">Más información</a></p>
|
||||
<div class="consent-banner__actions">
|
||||
<button class="btn btn--ghost btn--sm consent-reject">Rechazar</button>
|
||||
<button class="btn btn--primary btn--sm consent-accept">Aceptar</button>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
// Add basic styles
|
||||
banner.style.cssText = `
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
background: rgba(45, 45, 45, 0.95);
|
||||
color: white;
|
||||
padding: 1rem;
|
||||
z-index: 9999;
|
||||
backdrop-filter: blur(8px);
|
||||
`;
|
||||
|
||||
document.body.appendChild(banner);
|
||||
|
||||
// Set up event listeners
|
||||
const acceptBtn = banner.querySelector('.consent-accept');
|
||||
const rejectBtn = banner.querySelector('.consent-reject');
|
||||
|
||||
acceptBtn.addEventListener('click', () => setConsent(true));
|
||||
rejectBtn.addEventListener('click', () => setConsent(false));
|
||||
|
||||
// Consent function
|
||||
function setConsent(accepted) {
|
||||
localStorage.setItem('analytics_consent', accepted.toString());
|
||||
analyticsConsent = accepted;
|
||||
banner.remove();
|
||||
|
||||
if (accepted) {
|
||||
initializeAnalytics();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Main initialization function
|
||||
function initializeAnalytics() {
|
||||
if (!analyticsConsent) return;
|
||||
|
||||
// Only initialize with valid IDs (not placeholder values)
|
||||
if (ANALYTICS_CONFIG.GA4_ID && !ANALYTICS_CONFIG.GA4_ID.includes('XXXXXXXXXX')) {
|
||||
initGA4();
|
||||
}
|
||||
|
||||
if (ANALYTICS_CONFIG.META_PIXEL_ID && !ANALYTICS_CONFIG.META_PIXEL_ID.includes('123456789')) {
|
||||
initMetaPixel();
|
||||
}
|
||||
|
||||
if (ANALYTICS_CONFIG.TIKTOK_PIXEL_ID && !ANALYTICS_CONFIG.TIKTOK_PIXEL_ID.includes('TIKTOK123')) {
|
||||
initTikTokPixel();
|
||||
}
|
||||
|
||||
// Wait for DOM to be ready for event tracking
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', () => {
|
||||
trackCustomEvents();
|
||||
trackConversionEvents();
|
||||
trackEngagement();
|
||||
});
|
||||
} else {
|
||||
trackCustomEvents();
|
||||
trackConversionEvents();
|
||||
trackEngagement();
|
||||
}
|
||||
}
|
||||
|
||||
// Enhanced error tracking
|
||||
window.addEventListener('error', (e) => {
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'exception', {
|
||||
description: e.error?.message || 'Unknown error',
|
||||
fatal: false
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Initialize everything
|
||||
function init() {
|
||||
// Show consent banner if needed
|
||||
showConsentBanner();
|
||||
|
||||
// Initialize analytics if consent already given
|
||||
if (analyticsConsent) {
|
||||
initializeAnalytics();
|
||||
}
|
||||
}
|
||||
|
||||
// Start initialization
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', init);
|
||||
} else {
|
||||
init();
|
||||
}
|
||||
789
js/main.js
Normal file
@@ -0,0 +1,789 @@
|
||||
/**
|
||||
* MAIN.JS - Core interactions and form handling
|
||||
* Mobile-first, progressive enhancement approach
|
||||
*/
|
||||
|
||||
// Utility functions
|
||||
const $ = (selector, context = document) => context.querySelector(selector);
|
||||
const $$ = (selector, context = document) => [...context.querySelectorAll(selector)];
|
||||
|
||||
// Remove no-js class
|
||||
document.documentElement.classList.remove('no-js');
|
||||
|
||||
// ==============================================
|
||||
// MOBILE NAVIGATION
|
||||
// ==============================================
|
||||
|
||||
function initMobileNav() {
|
||||
const toggle = $('.nav__toggle');
|
||||
const menu = $('#navMenu');
|
||||
|
||||
if (!toggle || !menu) return;
|
||||
|
||||
toggle.addEventListener('click', () => {
|
||||
const isExpanded = toggle.getAttribute('aria-expanded') === 'true';
|
||||
|
||||
toggle.setAttribute('aria-expanded', String(!isExpanded));
|
||||
menu.hidden = isExpanded;
|
||||
|
||||
// Trap focus when menu is open
|
||||
if (!isExpanded) {
|
||||
menu.querySelector('a')?.focus();
|
||||
}
|
||||
});
|
||||
|
||||
// Close menu when clicking outside
|
||||
document.addEventListener('click', (e) => {
|
||||
if (!toggle.contains(e.target) && !menu.contains(e.target)) {
|
||||
toggle.setAttribute('aria-expanded', 'false');
|
||||
menu.hidden = true;
|
||||
}
|
||||
});
|
||||
|
||||
// Close menu on escape key
|
||||
document.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Escape' && toggle.getAttribute('aria-expanded') === 'true') {
|
||||
toggle.setAttribute('aria-expanded', 'false');
|
||||
menu.hidden = true;
|
||||
toggle.focus();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// ANIMATED HEADLINE
|
||||
// ==============================================
|
||||
|
||||
function initAnimatedHeadline() {
|
||||
const rotatingElement = $('#rotating');
|
||||
if (!rotatingElement) return;
|
||||
|
||||
const words = ["Talento", "Pasión", "Servicio", "Actitud"];
|
||||
let currentIndex = 0;
|
||||
let currentText = '';
|
||||
let isDeleting = false;
|
||||
let typeSpeed = 120; // Speed of typing
|
||||
let deleteSpeed = 60; // Speed of deleting
|
||||
let pauseTime = 1500; // Pause between words
|
||||
|
||||
// Respect reduced motion preference
|
||||
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
if (prefersReducedMotion) {
|
||||
rotatingElement.textContent = words[0];
|
||||
return;
|
||||
}
|
||||
|
||||
function typeAnimation() {
|
||||
const currentWord = words[currentIndex];
|
||||
|
||||
if (isDeleting) {
|
||||
// Remove characters
|
||||
currentText = currentWord.substring(0, currentText.length - 1);
|
||||
rotatingElement.classList.add('typing');
|
||||
} else {
|
||||
// Add characters
|
||||
currentText = currentWord.substring(0, currentText.length + 1);
|
||||
rotatingElement.classList.add('typing');
|
||||
}
|
||||
|
||||
rotatingElement.textContent = currentText;
|
||||
|
||||
// Determine next action
|
||||
if (!isDeleting && currentText === currentWord) {
|
||||
// Word is complete, pause then start deleting
|
||||
rotatingElement.classList.remove('typing');
|
||||
setTimeout(() => {
|
||||
isDeleting = true;
|
||||
typeAnimation();
|
||||
}, pauseTime);
|
||||
return;
|
||||
}
|
||||
|
||||
if (isDeleting && currentText === '') {
|
||||
// Finished deleting, move to next word
|
||||
isDeleting = false;
|
||||
currentIndex = (currentIndex + 1) % words.length;
|
||||
rotatingElement.classList.remove('typing');
|
||||
setTimeout(typeAnimation, 300); // Brief pause before starting new word
|
||||
return;
|
||||
}
|
||||
|
||||
// Continue typing/deleting
|
||||
const speed = isDeleting ? deleteSpeed : typeSpeed;
|
||||
|
||||
// Add some randomness to typing speed for more natural feel
|
||||
const randomSpeed = speed + (Math.random() * 40 - 20);
|
||||
|
||||
setTimeout(typeAnimation, randomSpeed);
|
||||
}
|
||||
|
||||
// Start animation after initial delay
|
||||
setTimeout(typeAnimation, 800);
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// SMOOTH SCROLLING
|
||||
// ==============================================
|
||||
|
||||
function initSmoothScrolling() {
|
||||
// Handle anchor links
|
||||
$$('a[href^="#"]').forEach(link => {
|
||||
link.addEventListener('click', (e) => {
|
||||
const href = link.getAttribute('href');
|
||||
if (href === '#') return;
|
||||
|
||||
const target = $(href);
|
||||
if (!target) return;
|
||||
|
||||
e.preventDefault();
|
||||
|
||||
const headerHeight = $('.site-header')?.offsetHeight || 80;
|
||||
const targetPosition = target.offsetTop - headerHeight;
|
||||
|
||||
window.scrollTo({
|
||||
top: targetPosition,
|
||||
behavior: 'smooth'
|
||||
});
|
||||
|
||||
// Close mobile menu if open
|
||||
const toggle = $('.nav__toggle');
|
||||
const menu = $('#navMenu');
|
||||
if (toggle && menu && toggle.getAttribute('aria-expanded') === 'true') {
|
||||
toggle.setAttribute('aria-expanded', 'false');
|
||||
menu.hidden = true;
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// IMAGE CAROUSEL
|
||||
// ==============================================
|
||||
|
||||
function initImageCarousel() {
|
||||
const carousel = $('#imageCarousel');
|
||||
if (!carousel) return;
|
||||
|
||||
const track = carousel.querySelector('.carousel-track');
|
||||
const slides = carousel.querySelectorAll('.carousel-slide');
|
||||
const prevBtn = $('#carouselPrev');
|
||||
const nextBtn = $('#carouselNext');
|
||||
const indicators = carousel.querySelectorAll('.carousel-indicator');
|
||||
|
||||
let currentSlide = 0;
|
||||
let autoPlayInterval;
|
||||
const autoPlayDelay = 4000; // 4 seconds
|
||||
|
||||
// Respect reduced motion preference
|
||||
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
|
||||
function updateCarousel(slideIndex, manual = false) {
|
||||
// Remove active class from all slides and indicators
|
||||
slides.forEach(slide => slide.classList.remove('active'));
|
||||
indicators.forEach(indicator => indicator.classList.remove('active'));
|
||||
|
||||
// Add active class to current slide and indicator
|
||||
slides[slideIndex].classList.add('active');
|
||||
indicators[slideIndex].classList.add('active');
|
||||
|
||||
currentSlide = slideIndex;
|
||||
|
||||
// Restart autoplay if this was a manual change
|
||||
if (manual && !prefersReducedMotion) {
|
||||
clearInterval(autoPlayInterval);
|
||||
startAutoPlay();
|
||||
}
|
||||
|
||||
// Track carousel interaction
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'carousel_slide', {
|
||||
event_category: 'engagement',
|
||||
event_label: `slide_${slideIndex}`,
|
||||
value: slideIndex
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function nextSlide() {
|
||||
const nextIndex = (currentSlide + 1) % slides.length;
|
||||
updateCarousel(nextIndex);
|
||||
}
|
||||
|
||||
function prevSlide() {
|
||||
const prevIndex = (currentSlide - 1 + slides.length) % slides.length;
|
||||
updateCarousel(prevIndex);
|
||||
}
|
||||
|
||||
function goToSlide(slideIndex) {
|
||||
updateCarousel(slideIndex, true);
|
||||
}
|
||||
|
||||
function startAutoPlay() {
|
||||
if (prefersReducedMotion) return;
|
||||
|
||||
autoPlayInterval = setInterval(() => {
|
||||
nextSlide();
|
||||
}, autoPlayDelay);
|
||||
}
|
||||
|
||||
function stopAutoPlay() {
|
||||
clearInterval(autoPlayInterval);
|
||||
}
|
||||
|
||||
// Event listeners
|
||||
if (prevBtn) {
|
||||
prevBtn.addEventListener('click', () => {
|
||||
prevSlide();
|
||||
});
|
||||
}
|
||||
|
||||
if (nextBtn) {
|
||||
nextBtn.addEventListener('click', () => {
|
||||
nextSlide();
|
||||
});
|
||||
}
|
||||
|
||||
// Indicator clicks
|
||||
indicators.forEach((indicator, index) => {
|
||||
indicator.addEventListener('click', () => {
|
||||
goToSlide(index);
|
||||
});
|
||||
});
|
||||
|
||||
// Keyboard navigation
|
||||
carousel.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'ArrowLeft') {
|
||||
e.preventDefault();
|
||||
prevSlide();
|
||||
} else if (e.key === 'ArrowRight') {
|
||||
e.preventDefault();
|
||||
nextSlide();
|
||||
}
|
||||
});
|
||||
|
||||
// Touch/swipe support
|
||||
let touchStartX = 0;
|
||||
let touchEndX = 0;
|
||||
|
||||
track.addEventListener('touchstart', (e) => {
|
||||
touchStartX = e.changedTouches[0].screenX;
|
||||
}, { passive: true });
|
||||
|
||||
track.addEventListener('touchend', (e) => {
|
||||
touchEndX = e.changedTouches[0].screenX;
|
||||
handleSwipe();
|
||||
}, { passive: true });
|
||||
|
||||
function handleSwipe() {
|
||||
const swipeThreshold = 50;
|
||||
const swipeLength = touchEndX - touchStartX;
|
||||
|
||||
if (Math.abs(swipeLength) > swipeThreshold) {
|
||||
if (swipeLength > 0) {
|
||||
prevSlide();
|
||||
} else {
|
||||
nextSlide();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Pause autoplay on hover
|
||||
carousel.addEventListener('mouseenter', stopAutoPlay);
|
||||
carousel.addEventListener('mouseleave', () => {
|
||||
if (!prefersReducedMotion) startAutoPlay();
|
||||
});
|
||||
|
||||
// Pause autoplay when page is not visible
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.hidden) {
|
||||
stopAutoPlay();
|
||||
} else if (!prefersReducedMotion) {
|
||||
startAutoPlay();
|
||||
}
|
||||
});
|
||||
|
||||
// Start autoplay
|
||||
if (!prefersReducedMotion) {
|
||||
startAutoPlay();
|
||||
}
|
||||
|
||||
// Intersection Observer for performance
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
if (!prefersReducedMotion) startAutoPlay();
|
||||
} else {
|
||||
stopAutoPlay();
|
||||
}
|
||||
});
|
||||
}, { threshold: 0.5 });
|
||||
|
||||
observer.observe(carousel);
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// HERO CAROUSEL - Auto-rotating image slideshow
|
||||
// ==============================================
|
||||
|
||||
function initHeroCarousel() {
|
||||
const carousel = $('#heroCarousel');
|
||||
if (!carousel) return;
|
||||
|
||||
const slides = carousel.querySelectorAll('.hero__slide');
|
||||
let currentSlide = 0;
|
||||
let autoPlayInterval;
|
||||
const autoPlayDelay = 3000; // 3 seconds
|
||||
|
||||
// Check for reduced motion preference
|
||||
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
|
||||
function showSlide(index) {
|
||||
// Remove active class from all slides
|
||||
slides.forEach(slide => slide.classList.remove('active'));
|
||||
|
||||
// Add active class to current slide
|
||||
slides[index].classList.add('active');
|
||||
|
||||
// Track slide view
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'hero_slide_view', {
|
||||
event_category: 'engagement',
|
||||
event_label: `hero_slide_${index + 1}`,
|
||||
value: index + 1
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function nextSlide() {
|
||||
currentSlide = (currentSlide + 1) % slides.length;
|
||||
showSlide(currentSlide);
|
||||
}
|
||||
|
||||
function startAutoPlay() {
|
||||
if (prefersReducedMotion) return;
|
||||
|
||||
autoPlayInterval = setInterval(nextSlide, autoPlayDelay);
|
||||
}
|
||||
|
||||
function stopAutoPlay() {
|
||||
if (autoPlayInterval) {
|
||||
clearInterval(autoPlayInterval);
|
||||
autoPlayInterval = null;
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize first slide
|
||||
showSlide(currentSlide);
|
||||
|
||||
// Start autoplay
|
||||
startAutoPlay();
|
||||
|
||||
// Pause autoplay on hover
|
||||
carousel.addEventListener('mouseenter', stopAutoPlay);
|
||||
carousel.addEventListener('mouseleave', startAutoPlay);
|
||||
|
||||
// Pause autoplay when page is not visible
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.hidden) {
|
||||
stopAutoPlay();
|
||||
} else {
|
||||
startAutoPlay();
|
||||
}
|
||||
});
|
||||
|
||||
// Pause autoplay on focus within carousel
|
||||
carousel.addEventListener('focusin', stopAutoPlay);
|
||||
carousel.addEventListener('focusout', startAutoPlay);
|
||||
|
||||
// Cleanup on page unload
|
||||
window.addEventListener('beforeunload', stopAutoPlay);
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// TESTIMONIALS CAROUSEL - Auto-rotating testimonials
|
||||
// ==============================================
|
||||
|
||||
function initTestimonialsCarousel() {
|
||||
const carousel = $('#testimonialsCarousel');
|
||||
if (!carousel) return;
|
||||
|
||||
const slides = carousel.querySelectorAll('.testimonial-slide');
|
||||
const indicators = carousel.querySelectorAll('.testimonial-indicator');
|
||||
let currentSlide = 0;
|
||||
let autoPlayInterval;
|
||||
const autoPlayDelay = 15000; // 15 seconds for testimonials
|
||||
|
||||
// Check for reduced motion preference
|
||||
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
|
||||
function showSlide(index) {
|
||||
// Remove active class from all slides and indicators
|
||||
slides.forEach(slide => slide.classList.remove('active'));
|
||||
indicators.forEach(indicator => indicator.classList.remove('active'));
|
||||
|
||||
// Add active class to current slide and indicator
|
||||
slides[index].classList.add('active');
|
||||
indicators[index].classList.add('active');
|
||||
|
||||
// Track testimonial view
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'testimonial_view', {
|
||||
event_category: 'engagement',
|
||||
event_label: `testimonial_${index + 1}`,
|
||||
value: index + 1
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function nextSlide() {
|
||||
currentSlide = (currentSlide + 1) % slides.length;
|
||||
showSlide(currentSlide);
|
||||
}
|
||||
|
||||
function prevSlide() {
|
||||
currentSlide = (currentSlide - 1 + slides.length) % slides.length;
|
||||
showSlide(currentSlide);
|
||||
}
|
||||
|
||||
function goToSlide(index) {
|
||||
currentSlide = index;
|
||||
showSlide(currentSlide);
|
||||
restartAutoPlay();
|
||||
}
|
||||
|
||||
function startAutoPlay() {
|
||||
if (prefersReducedMotion) return;
|
||||
autoPlayInterval = setInterval(nextSlide, autoPlayDelay);
|
||||
}
|
||||
|
||||
function stopAutoPlay() {
|
||||
if (autoPlayInterval) {
|
||||
clearInterval(autoPlayInterval);
|
||||
autoPlayInterval = null;
|
||||
}
|
||||
}
|
||||
|
||||
function restartAutoPlay() {
|
||||
stopAutoPlay();
|
||||
startAutoPlay();
|
||||
}
|
||||
|
||||
// Initialize first slide
|
||||
showSlide(currentSlide);
|
||||
|
||||
// Add click handlers to indicators
|
||||
indicators.forEach((indicator, index) => {
|
||||
indicator.addEventListener('click', () => goToSlide(index));
|
||||
});
|
||||
|
||||
// Add click handlers to navigation buttons
|
||||
const prevBtn = $('#testimonioPrev');
|
||||
const nextBtn = $('#testimonioNext');
|
||||
|
||||
if (prevBtn) {
|
||||
prevBtn.addEventListener('click', () => {
|
||||
prevSlide();
|
||||
restartAutoPlay();
|
||||
});
|
||||
}
|
||||
|
||||
if (nextBtn) {
|
||||
nextBtn.addEventListener('click', () => {
|
||||
nextSlide();
|
||||
restartAutoPlay();
|
||||
});
|
||||
}
|
||||
|
||||
// Start autoplay
|
||||
startAutoPlay();
|
||||
|
||||
// Pause autoplay on hover
|
||||
carousel.addEventListener('mouseenter', stopAutoPlay);
|
||||
carousel.addEventListener('mouseleave', startAutoPlay);
|
||||
|
||||
// Pause autoplay when page is not visible
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.hidden) {
|
||||
stopAutoPlay();
|
||||
} else {
|
||||
startAutoPlay();
|
||||
}
|
||||
});
|
||||
|
||||
// Pause autoplay on focus within carousel
|
||||
carousel.addEventListener('focusin', stopAutoPlay);
|
||||
carousel.addEventListener('focusout', startAutoPlay);
|
||||
|
||||
// Cleanup on page unload
|
||||
window.addEventListener('beforeunload', stopAutoPlay);
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// APPLICATION FORM HANDLING
|
||||
// ==============================================
|
||||
|
||||
function initApplicationForm() {
|
||||
const ctaButtons = $$('#openApplicationForm, .btn[href="#aplicar"]');
|
||||
|
||||
ctaButtons.forEach(button => {
|
||||
button.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
|
||||
// Track CTA click
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'application_form_open', {
|
||||
event_category: 'engagement',
|
||||
event_label: 'cta_button',
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
|
||||
// Redirect to application form
|
||||
const formUrl = 'https://feedback.soul23.cloud/s/cmfsu7y5h003smo0170y0l0x5';
|
||||
window.open(formUrl, '_blank', 'noopener,noreferrer');
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// FAQ ACCORDIONS - Elegant Accordion Behavior
|
||||
// ==============================================
|
||||
|
||||
function initFAQAccordions() {
|
||||
const faqItems = $$('.faq__item');
|
||||
|
||||
faqItems.forEach(item => {
|
||||
const question = item.querySelector('.faq__question');
|
||||
|
||||
question?.addEventListener('click', (e) => {
|
||||
e.preventDefault(); // Prevent default details behavior
|
||||
|
||||
const isCurrentlyOpen = item.open;
|
||||
|
||||
// Close all other FAQ items first
|
||||
faqItems.forEach(otherItem => {
|
||||
if (otherItem !== item && otherItem.open) {
|
||||
otherItem.open = false;
|
||||
}
|
||||
});
|
||||
|
||||
// If the clicked item was closed, open it
|
||||
if (!isCurrentlyOpen) {
|
||||
item.open = true;
|
||||
|
||||
// Track FAQ interactions
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'faq_open', {
|
||||
event_category: 'engagement',
|
||||
event_label: question.textContent.trim(),
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Enhanced keyboard navigation
|
||||
faqItems.forEach((item, index) => {
|
||||
const question = item.querySelector('.faq__question');
|
||||
|
||||
question?.addEventListener('keydown', (e) => {
|
||||
if (e.key === 'Enter' || e.key === ' ') {
|
||||
e.preventDefault();
|
||||
question.click();
|
||||
} else if (e.key === 'ArrowDown') {
|
||||
e.preventDefault();
|
||||
const nextIndex = (index + 1) % faqItems.length;
|
||||
faqItems[nextIndex].querySelector('.faq__question')?.focus();
|
||||
} else if (e.key === 'ArrowUp') {
|
||||
e.preventDefault();
|
||||
const prevIndex = (index - 1 + faqItems.length) % faqItems.length;
|
||||
faqItems[prevIndex].querySelector('.faq__question')?.focus();
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// ANALYTICS TRACKING
|
||||
// ==============================================
|
||||
|
||||
function initAnalyticsTracking() {
|
||||
// Track CTA clicks
|
||||
$$('a[href="#aplicar"], .btn[href="#aplicar"]').forEach(button => {
|
||||
button.addEventListener('click', () => {
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'apply_click', {
|
||||
event_category: 'engagement',
|
||||
event_label: button.textContent.trim(),
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Track WhatsApp clicks
|
||||
$$('a[href*="wa.me"], a[href*="whatsapp"]').forEach(link => {
|
||||
link.addEventListener('click', () => {
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'whatsapp_click', {
|
||||
event_category: 'engagement',
|
||||
event_label: 'whatsapp_contact',
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Track scroll depth
|
||||
let maxScroll = 0;
|
||||
const milestones = [25, 50, 75, 100];
|
||||
const trackedMilestones = new Set();
|
||||
|
||||
function trackScrollDepth() {
|
||||
const scrollTop = window.pageYOffset;
|
||||
const docHeight = document.documentElement.scrollHeight - window.innerHeight;
|
||||
const scrollPercent = Math.round((scrollTop / docHeight) * 100);
|
||||
|
||||
if (scrollPercent > maxScroll) {
|
||||
maxScroll = scrollPercent;
|
||||
|
||||
milestones.forEach(milestone => {
|
||||
if (scrollPercent >= milestone && !trackedMilestones.has(milestone)) {
|
||||
trackedMilestones.add(milestone);
|
||||
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'scroll_depth', {
|
||||
event_category: 'engagement',
|
||||
event_label: `${milestone}%`,
|
||||
value: milestone
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Throttled scroll tracking
|
||||
let scrollTimer;
|
||||
window.addEventListener('scroll', () => {
|
||||
if (scrollTimer) clearTimeout(scrollTimer);
|
||||
scrollTimer = setTimeout(trackScrollDepth, 100);
|
||||
});
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// SCROLL ANIMATIONS
|
||||
// ==============================================
|
||||
|
||||
function initScrollAnimations() {
|
||||
// Check for reduced motion preference
|
||||
const prefersReducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||
if (prefersReducedMotion) return;
|
||||
|
||||
// Create intersection observer for scroll animations
|
||||
const observerOptions = {
|
||||
threshold: 0.1,
|
||||
rootMargin: '0px 0px -50px 0px'
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
const element = entry.target;
|
||||
|
||||
// Add the animate-in class to trigger animations
|
||||
element.classList.add('animate-in');
|
||||
|
||||
// For sections with multiple children, stagger their animations
|
||||
const children = element.querySelectorAll('.benefit-card, .process__step, .faq__item, .stat-item');
|
||||
children.forEach((child, index) => {
|
||||
setTimeout(() => {
|
||||
child.classList.add('animate-in');
|
||||
}, index * 100); // 100ms delay between each child
|
||||
});
|
||||
|
||||
// Special handling for CTA section
|
||||
if (element.classList.contains('cta-carousel')) {
|
||||
setTimeout(() => {
|
||||
const text = element.querySelector('.cta-carousel__text');
|
||||
const images = element.querySelector('.cta-carousel__images');
|
||||
|
||||
if (text) text.classList.add('animate-in');
|
||||
setTimeout(() => {
|
||||
if (images) images.classList.add('animate-in');
|
||||
}, 200);
|
||||
}, 100);
|
||||
}
|
||||
|
||||
// Special handling for profile section
|
||||
if (element.classList.contains('profile')) {
|
||||
setTimeout(() => {
|
||||
const requirements = element.querySelector('.profile__requirements');
|
||||
const desired = element.querySelector('.profile__desired');
|
||||
|
||||
if (requirements) requirements.classList.add('animate-in');
|
||||
setTimeout(() => {
|
||||
if (desired) desired.classList.add('animate-in');
|
||||
}, 200);
|
||||
}, 100);
|
||||
}
|
||||
|
||||
// Unobserve element after animation is triggered
|
||||
observer.unobserve(element);
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
// Observe all sections
|
||||
const sections = $$('section:not(.hero)');
|
||||
sections.forEach(section => {
|
||||
observer.observe(section);
|
||||
});
|
||||
|
||||
// Observe section headers
|
||||
const headers = $$('.section-header');
|
||||
headers.forEach(header => {
|
||||
observer.observe(header);
|
||||
});
|
||||
|
||||
// Observe individual elements that need animation
|
||||
const animatedElements = $$('.benefit-card, .process__step, .faq__item');
|
||||
animatedElements.forEach(element => {
|
||||
observer.observe(element);
|
||||
});
|
||||
}
|
||||
|
||||
// ==============================================
|
||||
// INITIALIZATION
|
||||
// ==============================================
|
||||
|
||||
function init() {
|
||||
initMobileNav();
|
||||
initAnimatedHeadline();
|
||||
initSmoothScrolling();
|
||||
initHeroCarousel();
|
||||
initTestimonialsCarousel();
|
||||
initImageCarousel();
|
||||
initApplicationForm();
|
||||
initFAQAccordions();
|
||||
initScrollAnimations();
|
||||
initAnalyticsTracking();
|
||||
}
|
||||
|
||||
// Initialize when DOM is ready
|
||||
if (document.readyState === 'loading') {
|
||||
document.addEventListener('DOMContentLoaded', init);
|
||||
} else {
|
||||
init();
|
||||
}
|
||||
|
||||
// Handle page visibility changes (for analytics)
|
||||
document.addEventListener('visibilitychange', () => {
|
||||
if (document.visibilityState === 'hidden' && typeof gtag !== 'undefined') {
|
||||
gtag('event', 'page_exit', {
|
||||
event_category: 'engagement',
|
||||
value: Math.round(performance.now() / 1000)
|
||||
});
|
||||
}
|
||||
});
|
||||
268
privacy.html
Normal file
@@ -0,0 +1,268 @@
|
||||
<!doctype html>
|
||||
<html lang="es" class="no-js">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||
<title>Política de Privacidad — Vanity Experience</title>
|
||||
<meta name="description" content="Política de Privacidad de Vanity Experience. Conoce cómo recopilamos, usamos y protegemos tu información personal.">
|
||||
|
||||
<!-- Preload fonts -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Lato:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- SEO & Social -->
|
||||
<meta property="og:title" content="Política de Privacidad — Vanity Experience">
|
||||
<meta property="og:description" content="Política de Privacidad de Vanity Experience. Conoce cómo recopilamos, usamos y protegemos tu información personal.">
|
||||
<meta property="og:image" content="/assets/img/og-join-vanity.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="canonical" href="https://unirse.vanityexperience.mx/privacy">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="/assets/img/logos/vanity_bk.png" type="image/png">
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="/css/base.css">
|
||||
<link rel="stylesheet" href="/css/layout.css">
|
||||
<link rel="stylesheet" href="/css/components.css">
|
||||
<link rel="stylesheet" href="/css/privacy.css">
|
||||
|
||||
<!-- Schema.org JSON-LD -->
|
||||
<script type="application/ld+json">
|
||||
{
|
||||
"@context": "https://schema.org",
|
||||
"@type": "WebPage",
|
||||
"name": "Política de Privacidad - Vanity Experience",
|
||||
"url": "https://unirse.vanityexperience.mx/privacy",
|
||||
"isPartOf": {
|
||||
"@type": "WebSite",
|
||||
"name": "Vanity Experience Reclutamiento",
|
||||
"url": "https://unirse.vanityexperience.mx"
|
||||
},
|
||||
"about": {
|
||||
"@type": "Organization",
|
||||
"name": "Vanity Experience",
|
||||
"url": "https://vanityexperience.mx"
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<header id="inicio" class="site-header">
|
||||
<nav class="nav">
|
||||
<a class="nav__logo" href="/">
|
||||
<img src="/assets/img/logos/vanity_bk.png" alt="Vanity — Belleza y cuidado profesional" width="40" height="40">
|
||||
</a>
|
||||
<button class="nav__toggle" aria-expanded="false" aria-controls="navMenu" aria-label="Menú">
|
||||
<span></span>
|
||||
<span></span>
|
||||
<span></span>
|
||||
</button>
|
||||
<ul id="navMenu" class="nav__menu" hidden>
|
||||
<li><a href="/">Inicio</a></li>
|
||||
<li><a href="/#beneficios">Beneficios</a></li>
|
||||
<li><a href="/#perfil">Perfil ideal</a></li>
|
||||
<li><a href="/#proceso">Proceso</a></li>
|
||||
<li><a href="/#faq">FAQ</a></li>
|
||||
<li><a href="/#testimonios">Testimonios</a></li>
|
||||
</ul>
|
||||
<div class="nav__actions">
|
||||
<a class="btn btn--ghost nav__whatsapp" href="https://wa.me/5218441565066?text=Hola%20quiero%20aplicar%20a%20Vanity" target="_blank" rel="noopener">
|
||||
WhatsApp
|
||||
</a>
|
||||
<a class="btn btn--primary nav__cta" href="/#aplicar">Aplicar</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<!-- Main Content -->
|
||||
<main class="main" role="main">
|
||||
<section class="privacy-policy">
|
||||
<div class="container">
|
||||
<div class="privacy-policy__content">
|
||||
<header class="privacy-policy__header">
|
||||
<h1 class="privacy-policy__title">Política de Privacidad</h1>
|
||||
<p class="privacy-policy__subtitle">Vanity Experience</p>
|
||||
</header>
|
||||
|
||||
<div class="privacy-policy__body">
|
||||
<p class="privacy-policy__intro">
|
||||
En Vanity Experience valoramos y respetamos tu privacidad. Esta Política de Privacidad describe cómo recopilamos, usamos y protegemos la información personal que nos compartes a través del sitio de reclutamiento <strong>unirse.vanityexperience.mx</strong>.
|
||||
</p>
|
||||
|
||||
<section class="privacy-policy__section">
|
||||
<h2>1. Responsable del tratamiento de datos</h2>
|
||||
<p>
|
||||
El responsable de tus datos personales es <strong>Vanity Experience</strong>, con domicilio en Saltillo, Coahuila, México. Para cualquier duda o ejercicio de derechos relacionados con esta política, puedes escribir a:
|
||||
<a href="mailto:privacy@vanityexperience.mx" class="privacy-policy__link">privacy@vanityexperience.mx</a>.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="privacy-policy__section">
|
||||
<h2>2. Datos que recopilamos</h2>
|
||||
<p>A través de nuestro formulario de reclutamiento podemos solicitarte, de manera enunciativa más no limitativa, los siguientes datos:</p>
|
||||
<ul class="privacy-policy__list">
|
||||
<li>Nombre y apellidos</li>
|
||||
<li>Número de celular</li>
|
||||
<li>Estado civil, estudios y experiencia laboral</li>
|
||||
<li>Habilidades y certificaciones</li>
|
||||
<li>Disponibilidad de turnos y fechas de inicio</li>
|
||||
<li>Links a redes sociales profesionales o portafolios digitales</li>
|
||||
</ul>
|
||||
</section>
|
||||
|
||||
<section class="privacy-policy__section">
|
||||
<h2>3. Finalidad del uso de los datos</h2>
|
||||
<p>Tus datos personales se utilizan únicamente para los siguientes fines:</p>
|
||||
<ul class="privacy-policy__list">
|
||||
<li>Gestionar tu postulación al proceso de reclutamiento.</li>
|
||||
<li>Evaluar tu perfil, experiencia y compatibilidad con nuestras vacantes.</li>
|
||||
<li>Mantener comunicación contigo durante el proceso.</li>
|
||||
<li>Generar estadísticas internas sobre la composición de nuestro equipo.</li>
|
||||
</ul>
|
||||
<p><strong>Vanity Experience no comparte, vende ni entrega tus datos personales a terceros para fines distintos al reclutamiento.</strong></p>
|
||||
</section>
|
||||
|
||||
<section class="privacy-policy__section">
|
||||
<h2>4. Conservación y almacenamiento</h2>
|
||||
<p>
|
||||
La información recopilada se procesa y almacena en plataformas digitales internas y en la nube, bajo medidas de seguridad administrativas, técnicas y físicas que buscan proteger tu información contra pérdida, uso indebido, acceso no autorizado o divulgación.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="privacy-policy__section">
|
||||
<h2>5. Derechos de las personas titulares</h2>
|
||||
<p>
|
||||
En cualquier momento puedes ejercer tus derechos de acceso, rectificación, cancelación y oposición (ARCO), así como revocar el consentimiento otorgado.
|
||||
</p>
|
||||
<p>
|
||||
Para ello, envía un correo a <a href="mailto:privacy@vanityexperience.mx" class="privacy-policy__link">privacy@vanityexperience.mx</a> con tu solicitud. Tu petición será atendida en un plazo no mayor a <strong>6 días hábiles</strong> a partir de la recepción.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="privacy-policy__section">
|
||||
<h2>6. Cambios a la política</h2>
|
||||
<p>
|
||||
Vanity Experience puede modificar o actualizar esta Política de Privacidad en cualquier momento. Los cambios serán publicados en este mismo sitio:<br>
|
||||
👉 <a href="https://unirse.vanityexperience.mx/privacy" class="privacy-policy__link">https://unirse.vanityexperience.mx/privacy</a>
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<section class="privacy-policy__section">
|
||||
<h2>7. Aceptación</h2>
|
||||
<p>
|
||||
Al enviar tu información a través del formulario de reclutamiento, confirmas que has leído y aceptado esta Política de Privacidad.
|
||||
</p>
|
||||
</section>
|
||||
|
||||
<div class="privacy-policy__footer">
|
||||
<p class="privacy-policy__updated">
|
||||
<small>Última actualización: <time datetime="2025-09-21">21 de septiembre de 2025</time></small>
|
||||
</p>
|
||||
<div class="privacy-policy__actions">
|
||||
<a href="/" class="btn btn--secondary">Volver al inicio</a>
|
||||
<a href="/#aplicar" class="btn btn--primary">Aplicar ahora</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<div class="footer__content">
|
||||
<div class="footer__brand">
|
||||
<div class="footer__logos">
|
||||
<a href="https://vanityexperience.mx/" target="_blank" rel="noopener">
|
||||
<img src="/assets/img/logos/vanity_wh.png" alt="Vanity">
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer__links">
|
||||
<div class="footer__links-top">
|
||||
<a href="/privacy.html">Política de Privacidad</a>
|
||||
<a href="https://www.instagram.com/vanitynailsalon/" target="_blank" rel="noopener" aria-label="Instagram">Instagram</a>
|
||||
<a href="https://www.tiktok.com/@vanity.nail.salon" target="_blank" rel="noopener" aria-label="TikTok">TikTok</a>
|
||||
<a href="https://www.facebook.com/vanity.saltillo" target="_blank" rel="noopener" aria-label="Facebook">Facebook</a>
|
||||
</div>
|
||||
<img src="/assets/img/logos/alma_wh.png" alt="Alma" style="height: 50px; width: auto;">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer__copyright">
|
||||
<p>© 2025 Vanity. Todos los derechos reservados. | Parte de Grupo AlMa</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script src="/js/main.js" defer></script>
|
||||
<script>
|
||||
// Remove no-js class
|
||||
document.documentElement.classList.remove('no-js');
|
||||
|
||||
// Privacy page specific interactions
|
||||
document.addEventListener('DOMContentLoaded', function() {
|
||||
// Add smooth scroll for internal links
|
||||
document.querySelectorAll('a[href^="#"]').forEach(anchor => {
|
||||
anchor.addEventListener('click', function (e) {
|
||||
e.preventDefault();
|
||||
const target = document.querySelector(this.getAttribute('href'));
|
||||
if (target) {
|
||||
target.scrollIntoView({ behavior: 'smooth' });
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Add reading progress indicator
|
||||
const progressBar = document.createElement('div');
|
||||
progressBar.style.cssText = `
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 0;
|
||||
height: 3px;
|
||||
background: linear-gradient(90deg, var(--color-primary), var(--color-secondary));
|
||||
z-index: 9999;
|
||||
transition: width 0.1s ease;
|
||||
`;
|
||||
document.body.appendChild(progressBar);
|
||||
|
||||
window.addEventListener('scroll', () => {
|
||||
const scrolled = (window.scrollY / (document.documentElement.scrollHeight - window.innerHeight)) * 100;
|
||||
progressBar.style.width = scrolled + '%';
|
||||
});
|
||||
|
||||
// Enhanced section animations on scroll
|
||||
const sections = document.querySelectorAll('.privacy-policy__section');
|
||||
const observerOptions = {
|
||||
threshold: 0.1,
|
||||
rootMargin: '0px 0px -50px 0px'
|
||||
};
|
||||
|
||||
const observer = new IntersectionObserver((entries) => {
|
||||
entries.forEach(entry => {
|
||||
if (entry.isIntersecting) {
|
||||
entry.target.style.animationPlayState = 'running';
|
||||
}
|
||||
});
|
||||
}, observerOptions);
|
||||
|
||||
sections.forEach(section => {
|
||||
observer.observe(section);
|
||||
});
|
||||
});
|
||||
|
||||
// Simple analytics for privacy policy page
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'page_view', {
|
||||
page_title: 'Política de Privacidad',
|
||||
page_location: window.location.href
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
326
thanks.html
Normal file
@@ -0,0 +1,326 @@
|
||||
<!doctype html>
|
||||
<html lang="es" class="no-js">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
|
||||
<title>¡Gracias por aplicar! — Vanity</title>
|
||||
<meta name="description" content="Tu aplicación ha sido recibida. Nos pondremos en contacto contigo pronto.">
|
||||
|
||||
<!-- Preload fonts -->
|
||||
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
|
||||
<link href="https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Lato:wght@400;600;700&display=swap" rel="stylesheet">
|
||||
|
||||
<!-- SEO & Social -->
|
||||
<meta property="og:title" content="Aplicación recibida — Vanity">
|
||||
<meta property="og:description" content="Tu aplicación ha sido recibida. Nos pondremos en contacto contigo pronto.">
|
||||
<meta property="og:image" content="/assets/img/og-join-vanity.jpg">
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<link rel="canonical" href="https://join.vanity.grupoalma.com/thanks.html">
|
||||
|
||||
<!-- Favicon -->
|
||||
<link rel="icon" href="/assets/img/favicon.svg" type="image/svg+xml">
|
||||
|
||||
<!-- Styles -->
|
||||
<link rel="stylesheet" href="/css/base.css">
|
||||
<link rel="stylesheet" href="/css/layout.css">
|
||||
<link rel="stylesheet" href="/css/components.css">
|
||||
<link rel="stylesheet" href="/css/thanks.css">
|
||||
|
||||
<!-- Prevent indexing of thank you page -->
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
</head>
|
||||
<body>
|
||||
<header class="site-header">
|
||||
<nav class="nav">
|
||||
<a class="nav__logo" href="/">
|
||||
<img src="/assets/img/logos/vanity.svg" alt="Vanity" width="120" height="40">
|
||||
</a>
|
||||
<div class="nav__actions">
|
||||
<a class="btn btn--ghost" href="/">Inicio</a>
|
||||
</div>
|
||||
</nav>
|
||||
</header>
|
||||
|
||||
<main>
|
||||
<!-- THANK YOU HERO -->
|
||||
<section class="thanks-hero">
|
||||
<div class="container">
|
||||
<div class="thanks-hero__content">
|
||||
<div class="thanks-hero__icon">
|
||||
<svg width="80" height="80" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<circle cx="12" cy="12" r="10" stroke="var(--color-primary)" stroke-width="2"/>
|
||||
<path d="m9 12 2 2 4-4" stroke="var(--color-primary)" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
<h1 class="thanks-hero__title">¡Aplicación recibida!</h1>
|
||||
|
||||
<p class="thanks-hero__subtitle">
|
||||
Gracias por tu interés en formar parte del equipo Vanity.
|
||||
Hemos recibido tu aplicación correctamente.
|
||||
</p>
|
||||
|
||||
<div class="thanks-hero__folio">
|
||||
<span class="folio-label">Número de folio:</span>
|
||||
<code class="folio-number" id="folioNumber">...</code>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- NEXT STEPS -->
|
||||
<section class="next-steps">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>¿Qué sigue ahora?</h2>
|
||||
<p>Estos son los próximos pasos en el proceso de selección</p>
|
||||
</div>
|
||||
|
||||
<div class="next-steps__timeline">
|
||||
<div class="step-card">
|
||||
<div class="step-card__number">1</div>
|
||||
<div class="step-card__content">
|
||||
<h3>Revisión de aplicación</h3>
|
||||
<p><strong>24-48 horas</strong></p>
|
||||
<p>Nuestro equipo de Recursos Humanos revisará tu aplicación y portafolio cuidadosamente.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="step-card">
|
||||
<div class="step-card__number">2</div>
|
||||
<div class="step-card__content">
|
||||
<h3>Primer contacto</h3>
|
||||
<p><strong>2-3 días hábiles</strong></p>
|
||||
<p>Te contactaremos vía WhatsApp para confirmar tu interés y programar una entrevista.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="step-card">
|
||||
<div class="step-card__number">3</div>
|
||||
<div class="step-card__content">
|
||||
<h3>Entrevista personal</h3>
|
||||
<p><strong>1 semana</strong></p>
|
||||
<p>Conversaremos sobre tus objetivos, experiencia y cómo encajas en nuestro equipo.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="step-card">
|
||||
<div class="step-card__number">4</div>
|
||||
<div class="step-card__content">
|
||||
<h3>Prueba técnica</h3>
|
||||
<p><strong>Si avanzas</strong></p>
|
||||
<p>Demostración práctica de tus habilidades en tu área de especialidad.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- IMPORTANT INFO -->
|
||||
<section class="important-info">
|
||||
<div class="container">
|
||||
<div class="info-grid">
|
||||
<div class="info-card info-card--primary">
|
||||
<div class="info-card__icon">📱</div>
|
||||
<div class="info-card__content">
|
||||
<h3>Mantén tu WhatsApp activo</h3>
|
||||
<p>Te contactaremos por WhatsApp, así que mantén tu teléfono disponible y revisa tus mensajes regularmente.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-card info-card--secondary">
|
||||
<div class="info-card__icon">📧</div>
|
||||
<div class="info-card__content">
|
||||
<h3>Revisa tu email</h3>
|
||||
<p>También enviaremos actualizaciones por email. Verifica tu bandeja de entrada y spam.</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="info-card info-card--accent">
|
||||
<div class="info-card__icon">⏰</div>
|
||||
<div class="info-card__content">
|
||||
<h3>Tiempo de respuesta</h3>
|
||||
<p>Si no tienes noticias nuestras en una semana, no dudes en contactarnos directamente.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- CONTACT INFO -->
|
||||
<section class="contact-info">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>¿Tienes preguntas?</h2>
|
||||
<p>Estamos aquí para ayudarte durante todo el proceso</p>
|
||||
</div>
|
||||
|
||||
<div class="contact-options">
|
||||
<a href="https://wa.me/5218442278408?text=Hola,%20tengo%20preguntas%20sobre%20mi%20aplicación%20(Folio:%20)"
|
||||
class="contact-option contact-option--primary"
|
||||
target="_blank"
|
||||
rel="noopener">
|
||||
<div class="contact-option__icon">
|
||||
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M17.472 14.382c-.297-.149-1.758-.867-2.03-.967-.273-.099-.471-.148-.67.15-.197.297-.767.966-.94 1.164-.173.199-.347.223-.644.075-.297-.15-1.255-.463-2.39-1.475-.883-.788-1.48-1.761-1.653-2.059-.173-.297-.018-.458.13-.606.134-.133.298-.347.446-.52.149-.174.198-.298.298-.497.099-.198.05-.371-.025-.52-.075-.149-.669-1.612-.916-2.207-.242-.579-.487-.5-.669-.51-.173-.008-.371-.01-.57-.01-.198 0-.52.074-.792.372-.272.297-1.04 1.016-1.04 2.479 0 1.462 1.065 2.875 1.213 3.074.149.198 2.096 3.2 5.077 4.487.709.306 1.262.489 1.694.625.712.227 1.36.195 1.871.118.571-.085 1.758-.719 2.006-1.413.248-.694.248-1.289.173-1.413-.074-.124-.272-.198-.57-.347m-5.421 7.403h-.004a9.87 9.87 0 01-5.031-1.378l-.361-.214-3.741.982.998-3.648-.235-.374a9.86 9.86 0 01-1.51-5.26c.001-5.45 4.436-9.884 9.888-9.884 2.64 0 5.122 1.03 6.988 2.898a9.825 9.825 0 012.893 6.994c-.003 5.45-4.437 9.884-9.885 9.884m8.413-18.297A11.815 11.815 0 0012.05 0C5.495 0 .16 5.335.157 11.892c0 2.096.547 4.142 1.588 5.945L.057 24l6.305-1.654a11.882 11.882 0 005.683 1.448h.005c6.554 0 11.89-5.335 11.893-11.893A11.821 11.821 0 0020.465 3.516" fill="currentColor"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="contact-option__content">
|
||||
<h4>WhatsApp</h4>
|
||||
<p>Respuesta en 24h</p>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="mailto:rrhh@vanity.grupoalma.com?subject=Consulta%20sobre%20aplicación&body=Hola,%20tengo%20preguntas%20sobre%20mi%20aplicación.%0A%0AFollio:%20"
|
||||
class="contact-option contact-option--secondary">
|
||||
<div class="contact-option__icon">
|
||||
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
<polyline points="22,6 12,13 2,6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="contact-option__content">
|
||||
<h4>Email</h4>
|
||||
<p>rrhh@vanity.grupoalma.com</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<!-- SOCIAL PROOF -->
|
||||
<section class="social-proof">
|
||||
<div class="container">
|
||||
<div class="section-header">
|
||||
<h2>Mientras tanto...</h2>
|
||||
<p>Conoce más sobre la familia Vanity</p>
|
||||
</div>
|
||||
|
||||
<div class="social-links">
|
||||
<a href="https://instagram.com/vanity" target="_blank" rel="noopener" class="social-link">
|
||||
<div class="social-link__icon">
|
||||
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<rect x="2" y="2" width="20" height="20" rx="5" ry="5" stroke="currentColor" stroke-width="2"/>
|
||||
<path d="m16 11.37A4 4 0 1 1 12.63 8 4 4 0 0 1 16 11.37z" stroke="currentColor" stroke-width="2"/>
|
||||
<line x1="17.5" y1="6.5" x2="17.51" y2="6.5" stroke="currentColor" stroke-width="2"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="social-link__content">
|
||||
<h4>@vanity</h4>
|
||||
<p>Síguenos en Instagram para ver nuestros trabajos y el día a día del equipo</p>
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<a href="https://tiktok.com/@vanity" target="_blank" rel="noopener" class="social-link">
|
||||
<div class="social-link__icon">
|
||||
<svg width="32" height="32" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
<path d="M9 12a4 4 0 1 0 4 4V4a5 5 0 0 0 5 5" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
|
||||
</svg>
|
||||
</div>
|
||||
<div class="social-link__content">
|
||||
<h4>@vanity</h4>
|
||||
<p>Tutoriales, tips de belleza y contenido divertido en TikTok</p>
|
||||
</div>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main>
|
||||
|
||||
<footer class="site-footer">
|
||||
<div class="container">
|
||||
<div class="footer__content">
|
||||
<div class="footer__brand">
|
||||
<img src="/assets/img/logos/vanity.svg" alt="Vanity" width="100" height="32">
|
||||
<p>Parte de Grupo Alma</p>
|
||||
</div>
|
||||
|
||||
<div class="footer__links">
|
||||
<a href="/privacy.html">Política de Privacidad</a>
|
||||
<a href="https://instagram.com/vanity" target="_blank" rel="noopener" aria-label="Instagram">Instagram</a>
|
||||
<a href="https://tiktok.com/@vanity" target="_blank" rel="noopener" aria-label="TikTok">TikTok</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="footer__copyright">
|
||||
<p>© 2025 Vanity. Todos los derechos reservados.</p>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
<!-- Scripts -->
|
||||
<script>
|
||||
// Remove no-js class
|
||||
document.documentElement.classList.remove('no-js');
|
||||
|
||||
// Extract and display folio from URL
|
||||
function displayFolio() {
|
||||
const urlParams = new URLSearchParams(window.location.search);
|
||||
const folio = urlParams.get('folio');
|
||||
const folioElement = document.getElementById('folioNumber');
|
||||
|
||||
if (folio && folioElement) {
|
||||
folioElement.textContent = folio;
|
||||
|
||||
// Update WhatsApp and email links with folio
|
||||
const whatsappLink = document.querySelector('a[href*="wa.me"]');
|
||||
const emailLink = document.querySelector('a[href*="mailto"]');
|
||||
|
||||
if (whatsappLink) {
|
||||
const currentHref = whatsappLink.getAttribute('href');
|
||||
whatsappLink.setAttribute('href', currentHref.replace('Folio:%20)', `Folio:%20${folio})`));
|
||||
}
|
||||
|
||||
if (emailLink) {
|
||||
const currentHref = emailLink.getAttribute('href');
|
||||
emailLink.setAttribute('href', currentHref.replace('Folio:%20', `Folio:%20${folio}`));
|
||||
}
|
||||
} else if (folioElement) {
|
||||
folioElement.textContent = 'No disponible';
|
||||
}
|
||||
}
|
||||
|
||||
// Track page view
|
||||
function trackPageView() {
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'page_view', {
|
||||
page_title: 'Thank You Page',
|
||||
page_location: window.location.href
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
// Initialize
|
||||
displayFolio();
|
||||
trackPageView();
|
||||
|
||||
// Track social link clicks
|
||||
document.querySelectorAll('.social-link').forEach(link => {
|
||||
link.addEventListener('click', () => {
|
||||
if (typeof gtag !== 'undefined') {
|
||||
gtag('event', 'social_click', {
|
||||
event_category: 'engagement',
|
||||
event_label: link.getAttribute('href'),
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
// Track contact option clicks
|
||||
document.querySelectorAll('.contact-option').forEach(option => {
|
||||
option.addEventListener('click', () => {
|
||||
if (typeof gtag !== 'undefined') {
|
||||
const type = option.href.includes('wa.me') ? 'whatsapp' : 'email';
|
||||
gtag('event', 'contact_click', {
|
||||
event_category: 'engagement',
|
||||
event_label: type,
|
||||
value: 1
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
<script src="/js/analytics.js" async></script>
|
||||
</body>
|
||||
</html>
|
||||