INNOVXPROCOM / index.html
HuggyGuyJo01's picture
Update index.html
02692e9 verified
raw
history blame
87.1 kB
<html><head><base href="https://www.innovxpro.com">
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="theme-color" content="#FFE600">
<link rel="manifest" href="manifest.json">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css" integrity="sha512-z3gLpd7yknf1YoNbCzqRKc4qyor8gaKU1qmn+CShxbuBusANI9QpRohGBreCFkKxLhei6S9CQXFEbbKuqLg0DA==" crossorigin="anonymous" referrerpolicy="no-referrer" />
<style>
:root {
--primary: #FFE600;
--secondary: #475569;
--accent: #FFE600;
--dark: #1a1a1a;
--light: #f8fafc;
--text-dark: #1a1a1a;
--text-light: #f8fafc;
}
[data-theme="light"] {
--primary: #FFD700;
--secondary: #4a5568;
--accent: #FFD700;
--dark: #ffffff;
--light: #1a1a1a;
--text-dark: #000000;
--text-light: #f8fafc;
}
[data-theme="light"] .hero p {
color: #000000 !important;
}
[data-theme="light"] .hero h1 {
color: #000000 !important;
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
font-family: 'Inter', system-ui, sans-serif;
margin: 0;
background: var(--dark);
color: var(--light);
line-height: 1.5;
-webkit-font-smoothing: antialiased;
overflow-x: hidden;
transition: background-color 0.3s ease, color 0.3s ease;
}
nav {
background: var(--primary) !important;
padding: 1rem;
display: flex;
justify-content: space-between;
align-items: center;
position: sticky;
top: 0;
z-index: 100;
width: 100%;
border-bottom: none;
}
nav h1 {
color: var(--dark) !important;
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0 !important;
margin-left: 1rem !important;
flex: 1;
justify-content: flex-start;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
}
.nav-buttons {
position: relative;
left: auto;
top: auto;
margin-left: auto;
}
nav .menu {
display: flex;
gap: 1rem;
}
nav .menu-item {
position: relative;
color: var(--primary);
text-decoration: none;
padding: 0.75rem 1.25rem;
cursor: pointer;
white-space: nowrap;
margin: 0 0.5rem;
border-radius: 4px;
background: black;
border: 1px solid var(--primary);
transition: all 0.3s ease;
}
nav .submenu {
min-width: 220px;
max-width: min(400px, calc(100vw - 100px));
width: max-content;
position: absolute;
top: 100%;
left: 0;
background: var(--dark);
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
border-radius: 8px;
padding: 0.5rem;
max-height: 80vh;
overflow-x: hidden;
overflow-y: auto;
border: 1px solid var(--primary);
transition: background-color 0.3s ease, border-color 0.3s ease;
color: var(--light);
display: none;
position: relative;
padding-bottom: 60px; /* Make room for bottom button */
}
[data-theme="light"] nav .submenu {
background: #ffffff;
color: #000000;
border: 1px solid var(--primary);
}
[data-theme="light"] nav .submenu a {
color: #000000;
}
[data-theme="light"] nav .submenu a:hover {
background: rgba(255, 230, 0, 0.1);
}
nav .menu-item.active .submenu {
display: block;
}
nav .submenu a {
display: block;
color: var(--primary);
padding: 0.75rem 1rem;
font-size: 0.9rem;
line-height: 1.4;
text-decoration: none;
transition: background 0.2s;
background: var(--dark);
border-radius: 4px;
margin: 0.25rem 0;
text-align: center;
}
nav .submenu a:hover {
background: rgba(255, 230, 0, 0.1);
}
nav .submenu-content {
padding: 1rem;
width: 100%;
white-space: normal;
word-wrap: break-word;
background: var(--dark);
border-top: 1px solid var(--primary);
text-align: center;
}
[data-theme="light"] nav .submenu-content {
background: #ffffff;
color: #000000;
}
nav .submenu-content h4 {
font-size: 1rem;
margin: 0 0 0.5rem;
color: var(--primary);
line-height: 1.3;
font-weight: bold;
}
nav .submenu-content li {
padding: 0.25rem 0;
font-size: 0.9rem;
line-height: 1.3;
margin-bottom: 0.25rem;
}
.btn-back {
position: absolute !important;
bottom: 10px !important;
left: 50% !important;
transform: translateX(-50%) !important;
top: auto !important;
right: auto !important;
width: calc(100% - 20px) !important;
max-width: 300px !important;
margin: 0 auto !important;
text-align: center !important;
z-index: 10 !important;
}
@media (max-width: 768px) {
.btn-back {
display: block;
position: absolute;
top: 5px;
right: 5px;
}
nav .submenu {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
max-width: none;
border-radius: 0;
z-index: 200;
padding-bottom: 80px;
}
}
.hero {
background: var(--dark);
color: var(--primary);
padding: 4rem 2rem;
text-align: center;
border-bottom: 2px solid var(--primary);
transition: background-color 0.3s ease, border-color 0.3s ease;
}
.hero h1 {
font-size: 2.5rem;
margin-bottom: 1rem;
}
.hero p {
font-size: 1.2rem;
margin-bottom: 2rem;
max-width: 800px;
margin-left: auto;
margin-right: auto;
font-weight: bold;
}
.section {
padding: 4rem 2rem;
max-width: 100%;
overflow-x: hidden;
background: var(--dark);
border-bottom: 1px solid var(--primary);
transition: background-color 0.3s ease, border-color 0.3s ease;
color: var(--light);
}
.section-title {
text-align: center;
margin-bottom: 3rem;
font-size: 2rem;
color: var(--primary);
}
.services-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 2rem;
max-width: 1200px;
margin: 0 auto;
}
.service-card {
background: var(--dark);
padding: 2rem;
border-radius: 8px;
box-shadow: 0 2px 4px rgba(0,0,0,0.1);
transition: transform 0.3s;
border: 1px solid var(--primary);
color: var(--light);
}
.service-card:hover {
border-color: var(--accent);
transform: translateY(-5px);
}
.service-card h3 {
color: var(--primary);
margin-bottom: 1rem;
}
.stats {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 2rem;
text-align: center;
max-width: 1200px;
margin: 0 auto;
background: var(--dark);
color: var(--light);
}
.stat-item {
padding: 2rem;
background: var(--dark);
color: var(--light);
}
.stat-item i {
font-size: 2rem;
color: var(--primary);
margin-bottom: 0.5rem;
}
.stat-number {
font-size: 2.5rem;
font-weight: bold;
color: var(--primary);
margin-bottom: 0.5rem;
}
.stat-label {
color: var(--light);
}
.btn {
background: var(--primary);
color: var(--dark);
padding: 0.75rem 1.5rem;
border-radius: 4px;
text-decoration: none;
display: inline-block;
transition: transform 0.3s, box-shadow 0.3s;
border: none;
cursor: pointer;
font-weight: bold;
}
.btn:hover {
background: var(--accent);
transform: translateY(-2px);
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
nav .menu {
display: none;
flex-direction: column;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--dark);
padding: 1rem;
}
nav .menu.active {
display: flex;
}
nav .menu-item {
width: 100%;
margin: 0.5rem 0;
}
nav .submenu {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
max-width: none;
border-radius: 0;
z-index: 200;
}
}
.menu-toggle {
display: none;
background: var(--dark);
border: none;
color: var(--primary);
font-size: 1.5rem;
cursor: pointer;
padding: 10px;
border-radius: 4px;
border: 1px solid var(--primary);
}
.menu-toggle:hover {
background: rgba(0, 0, 0, 0.9);
}
@keyframes slideIn {
from {
transform: translateY(10px);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
}
}
.submenu {
animation: slideIn 0.2s ease-out;
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
nav h1 {
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
max-width: calc(100% - 100px);
}
@media (max-width: 1024px) {
nav h1 {
font-size: 1.8rem;
max-width: calc(100% - 90px);
color: black;
}
.nav-buttons {
left: 0.9rem;
top: 0.9rem;
}
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
}
@media (max-width: 480px) {
nav h1 {
font-size: 1.4rem;
max-width: calc(100% - 70px);
color: black;
}
.nav-buttons {
left: 0.7rem;
top: 0.7rem;
}
}
.theme-toggle {
position: fixed;
bottom: 20px;
left: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: rgba(255, 230, 0, 0.1);
border: 1px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1001;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
padding: 0;
}
.theme-toggle:hover {
background: rgba(255, 230, 0, 0.2);
transform: scale(1.1);
}
.theme-toggle svg {
width: 24px;
height: 24px;
}
.btn-back {
position: absolute;
top: 5px;
right: 5px;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.3rem 0.6rem;
border-radius: 3px;
cursor: pointer;
z-index: 1;
font-size: 0.8rem;
width: auto;
height: auto;
line-height: 1;
white-space: nowrap;
display: block;
}
[data-theme="light"] .btn-back {
border-color: #808080;
}
@media (min-width: 769px) {
.btn-back {
display: none;
}
}
.hidden {
display: none;
}
[data-theme="light"] .moon-icon {
display: none;
}
[data-theme="light"] .sun-icon {
display: block;
}
[data-theme="light"] .moon-icon {
stroke: #FFE600;
}
.mini-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 100%;
}
.mini-form input,
.mini-form select {
width: 100%;
font-size: 0.85rem;
padding: 0.5rem;
border: 1px solid var(--primary);
border-radius: 4px;
background: var(--dark);
color: var(--light);
}
.btn-inscription,
.btn-submit,
.btn-more {
background: var(--primary);
color: var(--dark);
border: none;
padding: 0.5rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.85rem;
width: 100%;
margin-top: 0.5rem;
}
.btn-more {
background: linear-gradient(145deg, rgba(255,230,0,0.05), rgba(255,230,0,0.1));
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background 0.3s ease;
animation: none;
box-shadow: none;
}
.btn-more:hover {
background: linear-gradient(145deg, rgba(255,230,0,0.15), rgba(255,230,0,0.2));
transform: none;
}
.social-icons {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
}
.social-icons a {
color: var(--primary);
font-size: 1.2rem;
text-decoration: none;
}
nav .menu-item:nth-child(5) .submenu-content {
max-width: min(300px, calc(100vw - 150px));
white-space: normal;
overflow-wrap: break-word;
}
nav .menu-item:nth-child(5) .submenu-content p {
margin: 0.5rem 0;
font-size: 0.8rem;
line-height: 1.3;
}
nav .menu-item:nth-child(5) .submenu-content ul {
padding-left: 1rem;
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
nav h1 {
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
max-width: calc(100% - 100px);
}
@media (max-width: 1024px) {
nav h1 {
font-size: 1.8rem;
max-width: calc(100% - 90px);
color: black;
}
.nav-buttons {
left: 0.9rem;
top: 0.9rem;
}
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
}
@media (max-width: 480px) {
nav h1 {
font-size: 1.4rem;
max-width: calc(100% - 70px);
color: black;
}
.nav-buttons {
left: 0.7rem;
top: 0.7rem;
}
}
.theme-toggle {
position: fixed;
bottom: 20px;
left: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: rgba(255, 230, 0, 0.1);
border: 1px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1001;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
padding: 0;
}
.theme-toggle:hover {
background: rgba(255, 230, 0, 0.2);
transform: scale(1.1);
}
.theme-toggle svg {
width: 24px;
height: 24px;
}
.btn-back {
position: absolute;
top: 5px;
right: 5px;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.3rem 0.6rem;
border-radius: 3px;
cursor: pointer;
z-index: 1;
font-size: 0.8rem;
width: auto;
height: auto;
line-height: 1;
white-space: nowrap;
display: block;
}
[data-theme="light"] .btn-back {
border-color: #808080;
}
@media (min-width: 769px) {
.btn-back {
display: none;
}
}
.hidden {
display: none;
}
[data-theme="light"] .moon-icon {
display: none;
}
[data-theme="light"] .sun-icon {
display: block;
}
[data-theme="light"] .moon-icon {
stroke: #FFE600;
}
.mini-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 100%;
}
.mini-form input,
.mini-form select {
width: 100%;
font-size: 0.85rem;
padding: 0.5rem;
border: 1px solid var(--primary);
border-radius: 4px;
background: var(--dark);
color: var(--light);
}
.btn-inscription,
.btn-submit,
.btn-more {
background: var(--primary);
color: var(--dark);
border: none;
padding: 0.5rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.85rem;
width: 100%;
margin-top: 0.5rem;
}
.btn-more {
background: linear-gradient(145deg, rgba(255,230,0,0.05), rgba(255,230,0,0.1));
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background 0.3s ease;
animation: none;
box-shadow: none;
}
.btn-more:hover {
background: linear-gradient(145deg, rgba(255,230,0,0.15), rgba(255,230,0,0.2));
transform: none;
}
.social-icons {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
}
.social-icons a {
color: var(--primary);
font-size: 1.2rem;
text-decoration: none;
}
nav .menu-item:nth-child(5) .submenu-content {
max-width: min(300px, calc(100vw - 150px));
white-space: normal;
overflow-wrap: break-word;
}
nav .menu-item:nth-child(5) .submenu-content p {
margin: 0.5rem 0;
font-size: 0.8rem;
line-height: 1.3;
}
nav .menu-item:nth-child(5) .submenu-content ul {
padding-left: 1rem;
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
nav h1 {
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
max-width: calc(100% - 100px);
}
@media (max-width: 1024px) {
nav h1 {
font-size: 1.8rem;
max-width: calc(100% - 90px);
color: black;
}
.nav-buttons {
left: 0.9rem;
top: 0.9rem;
}
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
}
@media (max-width: 480px) {
nav h1 {
font-size: 1.4rem;
max-width: calc(100% - 70px);
color: black;
}
.nav-buttons {
left: 0.7rem;
top: 0.7rem;
}
}
.theme-toggle {
position: fixed;
bottom: 20px;
left: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: rgba(255, 230, 0, 0.1);
border: 1px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1001;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
padding: 0;
}
.theme-toggle:hover {
background: rgba(255, 230, 0, 0.2);
transform: scale(1.1);
}
.theme-toggle svg {
width: 24px;
height: 24px;
}
.btn-back {
position: absolute;
top: 5px;
right: 5px;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.3rem 0.6rem;
border-radius: 3px;
cursor: pointer;
z-index: 1;
font-size: 0.8rem;
width: auto;
height: auto;
line-height: 1;
white-space: nowrap;
display: block;
}
[data-theme="light"] .btn-back {
border-color: #808080;
}
@media (min-width: 769px) {
.btn-back {
display: none;
}
}
.hidden {
display: none;
}
[data-theme="light"] .moon-icon {
display: none;
}
[data-theme="light"] .sun-icon {
display: block;
}
[data-theme="light"] .moon-icon {
stroke: #FFE600;
}
.mini-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 100%;
}
.mini-form input,
.mini-form select {
width: 100%;
font-size: 0.85rem;
padding: 0.5rem;
border: 1px solid var(--primary);
border-radius: 4px;
background: var(--dark);
color: var(--light);
}
.btn-inscription,
.btn-submit,
.btn-more {
background: var(--primary);
color: var(--dark);
border: none;
padding: 0.5rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.85rem;
width: 100%;
margin-top: 0.5rem;
}
.btn-more {
background: linear-gradient(145deg, rgba(255,230,0,0.05), rgba(255,230,0,0.1));
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background 0.3s ease;
animation: none;
box-shadow: none;
}
.btn-more:hover {
background: linear-gradient(145deg, rgba(255,230,0,0.15), rgba(255,230,0,0.2));
transform: none;
}
.social-icons {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
}
.social-icons a {
color: var(--primary);
font-size: 1.2rem;
text-decoration: none;
}
nav .menu-item:nth-child(5) .submenu-content {
max-width: min(300px, calc(100vw - 150px));
white-space: normal;
overflow-wrap: break-word;
}
nav .menu-item:nth-child(5) .submenu-content p {
margin: 0.5rem 0;
font-size: 0.8rem;
line-height: 1.3;
}
nav .menu-item:nth-child(5) .submenu-content ul {
padding-left: 1rem;
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
nav h1 {
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
max-width: calc(100% - 100px);
}
@media (max-width: 1024px) {
nav h1 {
font-size: 1.8rem;
max-width: calc(100% - 90px);
color: black;
}
.nav-buttons {
left: 0.9rem;
top: 0.9rem;
}
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
}
@media (max-width: 480px) {
nav h1 {
font-size: 1.4rem;
max-width: calc(100% - 70px);
color: black;
}
.nav-buttons {
left: 0.7rem;
top: 0.7rem;
}
}
.theme-toggle {
position: fixed;
bottom: 20px;
left: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: rgba(255, 230, 0, 0.1);
border: 1px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1001;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
padding: 0;
}
.theme-toggle:hover {
background: rgba(255, 230, 0, 0.2);
transform: scale(1.1);
}
.theme-toggle svg {
width: 24px;
height: 24px;
}
.btn-back {
position: absolute;
top: 5px;
right: 5px;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.3rem 0.6rem;
border-radius: 3px;
cursor: pointer;
z-index: 1;
font-size: 0.8rem;
width: auto;
height: auto;
line-height: 1;
white-space: nowrap;
display: block;
}
[data-theme="light"] .btn-back {
border-color: #808080;
}
@media (min-width: 769px) {
.btn-back {
display: none;
}
}
.hidden {
display: none;
}
[data-theme="light"] .moon-icon {
display: none;
}
[data-theme="light"] .sun-icon {
display: block;
}
[data-theme="light"] .moon-icon {
stroke: #FFE600;
}
.mini-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 100%;
}
.mini-form input,
.mini-form select {
width: 100%;
font-size: 0.85rem;
padding: 0.5rem;
border: 1px solid var(--primary);
border-radius: 4px;
background: var(--dark);
color: var(--light);
}
.btn-inscription,
.btn-submit,
.btn-more {
background: var(--primary);
color: var(--dark);
border: none;
padding: 0.5rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.85rem;
width: 100%;
margin-top: 0.5rem;
}
.btn-more {
background: linear-gradient(145deg, rgba(255,230,0,0.05), rgba(255,230,0,0.1));
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background 0.3s ease;
animation: none;
box-shadow: none;
}
.btn-more:hover {
background: linear-gradient(145deg, rgba(255,230,0,0.15), rgba(255,230,0,0.2));
transform: none;
}
.social-icons {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
}
.social-icons a {
color: var(--primary);
font-size: 1.2rem;
text-decoration: none;
}
nav .menu-item:nth-child(5) .submenu-content {
max-width: min(300px, calc(100vw - 150px));
white-space: normal;
overflow-wrap: break-word;
}
nav .menu-item:nth-child(5) .submenu-content p {
margin: 0.5rem 0;
font-size: 0.8rem;
line-height: 1.3;
}
nav .menu-item:nth-child(5) .submenu-content ul {
padding-left: 1rem;
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
nav h1 {
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
max-width: calc(100% - 100px);
}
@media (max-width: 1024px) {
nav h1 {
font-size: 1.8rem;
max-width: calc(100% - 90px);
color: black;
}
.nav-buttons {
left: 0.9rem;
top: 0.9rem;
}
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
}
@media (max-width: 480px) {
nav h1 {
font-size: 1.4rem;
max-width: calc(100% - 70px);
color: black;
}
.nav-buttons {
left: 0.7rem;
top: 0.7rem;
}
}
.theme-toggle {
position: fixed;
bottom: 20px;
left: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: rgba(255, 230, 0, 0.1);
border: 1px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1001;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
padding: 0;
}
.theme-toggle:hover {
background: rgba(255, 230, 0, 0.2);
transform: scale(1.1);
}
.theme-toggle svg {
width: 24px;
height: 24px;
}
.btn-back {
position: absolute;
top: 5px;
right: 5px;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.3rem 0.6rem;
border-radius: 3px;
cursor: pointer;
z-index: 1;
font-size: 0.8rem;
width: auto;
height: auto;
line-height: 1;
white-space: nowrap;
display: block;
}
[data-theme="light"] .btn-back {
border-color: #808080;
}
@media (min-width: 769px) {
.btn-back {
display: none;
}
}
.hidden {
display: none;
}
[data-theme="light"] .moon-icon {
display: none;
}
[data-theme="light"] .sun-icon {
display: block;
}
[data-theme="light"] .moon-icon {
stroke: #FFE600;
}
.mini-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 100%;
}
.mini-form input,
.mini-form select {
width: 100%;
font-size: 0.85rem;
padding: 0.5rem;
border: 1px solid var(--primary);
border-radius: 4px;
background: var(--dark);
color: var(--light);
}
.btn-inscription,
.btn-submit,
.btn-more {
background: var(--primary);
color: var(--dark);
border: none;
padding: 0.5rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.85rem;
width: 100%;
margin-top: 0.5rem;
}
.btn-more {
background: linear-gradient(145deg, rgba(255,230,0,0.05), rgba(255,230,0,0.1));
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background 0.3s ease;
animation: none;
box-shadow: none;
}
.btn-more:hover {
background: linear-gradient(145deg, rgba(255,230,0,0.15), rgba(255,230,0,0.2));
transform: none;
}
.social-icons {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
}
.social-icons a {
color: var(--primary);
font-size: 1.2rem;
text-decoration: none;
}
nav .menu-item:nth-child(5) .submenu-content {
max-width: min(300px, calc(100vw - 150px));
white-space: normal;
overflow-wrap: break-word;
}
nav .menu-item:nth-child(5) .submenu-content p {
margin: 0.5rem 0;
font-size: 0.8rem;
line-height: 1.3;
}
nav .menu-item:nth-child(5) .submenu-content ul {
padding-left: 1rem;
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
nav h1 {
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
max-width: calc(100% - 100px);
}
@media (max-width: 1024px) {
nav h1 {
font-size: 1.8rem;
max-width: calc(100% - 90px);
color: black;
}
.nav-buttons {
left: 0.9rem;
top: 0.9rem;
}
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
}
@media (max-width: 480px) {
nav h1 {
font-size: 1.4rem;
max-width: calc(100% - 70px);
color: black;
}
.nav-buttons {
left: 0.7rem;
top: 0.7rem;
}
}
.theme-toggle {
position: fixed;
bottom: 20px;
left: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: rgba(255, 230, 0, 0.1);
border: 1px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1001;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
padding: 0;
}
.theme-toggle:hover {
background: rgba(255, 230, 0, 0.2);
transform: scale(1.1);
}
.theme-toggle svg {
width: 24px;
height: 24px;
}
.btn-back {
position: absolute;
top: 5px;
right: 5px;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.3rem 0.6rem;
border-radius: 3px;
cursor: pointer;
z-index: 1;
font-size: 0.8rem;
width: auto;
height: auto;
line-height: 1;
white-space: nowrap;
display: block;
}
[data-theme="light"] .btn-back {
border-color: #808080;
}
@media (min-width: 769px) {
.btn-back {
display: none;
}
}
.hidden {
display: none;
}
[data-theme="light"] .moon-icon {
display: none;
}
[data-theme="light"] .sun-icon {
display: block;
}
[data-theme="light"] .moon-icon {
stroke: #FFE600;
}
.mini-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 100%;
}
.mini-form input,
.mini-form select {
width: 100%;
font-size: 0.85rem;
padding: 0.5rem;
border: 1px solid var(--primary);
border-radius: 4px;
background: var(--dark);
color: var(--light);
}
.btn-inscription,
.btn-submit,
.btn-more {
background: var(--primary);
color: var(--dark);
border: none;
padding: 0.5rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.85rem;
width: 100%;
margin-top: 0.5rem;
}
.btn-more {
background: linear-gradient(145deg, rgba(255,230,0,0.05), rgba(255,230,0,0.1));
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background 0.3s ease;
animation: none;
box-shadow: none;
}
.btn-more:hover {
background: linear-gradient(145deg, rgba(255,230,0,0.15), rgba(255,230,0,0.2));
transform: none;
}
.social-icons {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
}
.social-icons a {
color: var(--primary);
font-size: 1.2rem;
text-decoration: none;
}
nav .menu-item:nth-child(5) .submenu-content {
max-width: min(300px, calc(100vw - 150px));
white-space: normal;
overflow-wrap: break-word;
}
nav .menu-item:nth-child(5) .submenu-content p {
margin: 0.5rem 0;
font-size: 0.8rem;
line-height: 1.3;
}
nav .menu-item:nth-child(5) .submenu-content ul {
padding-left: 1rem;
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
nav h1 {
font-size: 2rem;
font-weight: bold;
text-shadow: none;
animation: none;
white-space: nowrap;
overflow: visible;
margin: 0;
padding: 0;
display: flex;
align-items: center;
gap: 0.75rem;
max-width: calc(100% - 100px);
}
@media (max-width: 1024px) {
nav h1 {
font-size: 1.8rem;
max-width: calc(100% - 90px);
color: black;
}
.nav-buttons {
left: 0.9rem;
top: 0.9rem;
}
}
@media (max-width: 768px) {
nav h1 {
font-size: 1.6rem;
max-width: calc(100% - 80px);
color: black;
}
.nav-buttons {
left: 0.8rem;
top: 0.8rem;
}
}
@media (max-width: 480px) {
nav h1 {
font-size: 1.4rem;
max-width: calc(100% - 70px);
color: black;
}
.nav-buttons {
left: 0.7rem;
top: 0.7rem;
}
}
.theme-toggle {
position: fixed;
bottom: 20px;
left: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: rgba(255, 230, 0, 0.1);
border: 1px solid var(--primary);
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1001;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
transition: all 0.3s ease;
padding: 0;
}
.theme-toggle:hover {
background: rgba(255, 230, 0, 0.2);
transform: scale(1.1);
}
.theme-toggle svg {
width: 24px;
height: 24px;
}
.btn-back {
position: absolute;
top: 5px;
right: 5px;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.3rem 0.6rem;
border-radius: 3px;
cursor: pointer;
z-index: 1;
font-size: 0.8rem;
width: auto;
height: auto;
line-height: 1;
white-space: nowrap;
display: block;
}
[data-theme="light"] .btn-back {
border-color: #808080;
}
@media (min-width: 769px) {
.btn-back {
display: none;
}
}
.hidden {
display: none;
}
[data-theme="light"] .moon-icon {
display: none;
}
[data-theme="light"] .sun-icon {
display: block;
}
[data-theme="light"] .moon-icon {
stroke: #FFE600;
}
.mini-form {
display: flex;
flex-direction: column;
gap: 0.5rem;
max-width: 100%;
}
.mini-form input,
.mini-form select {
width: 100%;
font-size: 0.85rem;
padding: 0.5rem;
border: 1px solid var(--primary);
border-radius: 4px;
background: var(--dark);
color: var(--light);
}
.btn-inscription,
.btn-submit,
.btn-more {
background: var(--primary);
color: var(--dark);
border: none;
padding: 0.5rem;
border-radius: 4px;
cursor: pointer;
font-size: 0.85rem;
width: 100%;
margin-top: 0.5rem;
}
.btn-more {
background: linear-gradient(145deg, rgba(255,230,0,0.05), rgba(255,230,0,0.1));
border: 1px solid var(--primary);
color: var(--primary);
padding: 0.5rem 1rem;
border-radius: 4px;
cursor: pointer;
text-decoration: none;
transition: background 0.3s ease;
animation: none;
box-shadow: none;
}
.btn-more:hover {
background: linear-gradient(145deg, rgba(255,230,0,0.15), rgba(255,230,0,0.2));
transform: none;
}
.social-icons {
display: flex;
gap: 1rem;
margin-top: 0.5rem;
}
.social-icons a {
color: var(--primary);
font-size: 1.2rem;
text-decoration: none;
}
nav .menu-item:nth-child(5) .submenu-content {
max-width: min(300px, calc(100vw - 150px));
white-space: normal;
overflow-wrap: break-word;
}
nav .menu-item:nth-child(5) .submenu-content p {
margin: 0.5rem 0;
font-size: 0.8rem;
line-height: 1.3;
}
nav .menu-item:nth-child(5) .submenu-content ul {
padding-left: 1rem;
}
#chatbot-button {
position: fixed;
bottom: 20px;
right: 20px;
width: 50px;
height: 50px;
border-radius: 50%;
background: var(--primary);
color: var(--dark);
border: none;
cursor: pointer;
box-shadow: 0 2px 10px rgba(0,0,0,0.2);
display: flex;
align-items: center;
justify-content: center;
font-size: 20px;
transition: all 0.3s ease;
z-index: 1000;
animation: pulse 2s infinite;
}
#chatbot-button:hover {
transform: scale(1.1);
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
#chatbot-widget {
position: fixed;
bottom: 90px;
right: 20px;
width: calc(100% - 32px);
height: calc(100% - 32px);
background: var(--dark);
border: 1px solid var(--primary);
border-radius: 10px;
display: none;
z-index: 1000;
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
@keyframes pulse {
0% {
box-shadow: 0 0 0 0 rgba(255, 230, 0, 0.4);
}
70% {
box-shadow: 0 0 10px 5px rgba(255, 230, 0, 0.2);
}
100% {
box-shadow: 0 0 0 0 rgba(255, 230, 0, 0);
}
}
.social-links {
padding: 2rem 1rem;
background: var(--dark);
border-top: 1px solid var(--primary);
color: var(--light);
}
.social-links .social-icons {
justify-content: center;
gap: 1.5rem;
}
@media (max-width: 768px) {
.social-links .social-icons {
flex-wrap: wrap;
gap: 1rem;
}
.social-links .social-icons a {
font-size: 1.2rem;
margin: 0.25rem;
}
}
iframe {
max-width: 100%;
height: auto;
aspect-ratio: 16 / 9;
border: 4px solid var(--primary);
border-radius: 8px;
}
.carousel {
width: 100%; /* Maintain full width */
max-width: 800px; /* Maximum width for larger screens */
margin: 2rem auto; /* Center the carousel */
position: relative; /* Enable absolute positioning for controls */
overflow: hidden; /* Hide overflow for a clean look */
border-radius: 8px; /* Soft corners */
border: 2px solid var(--primary); /* Primary color border */
aspect-ratio: 1; /* Maintain square ratio */
padding-bottom: 50px; /* Space for controls */
}
.carousel img {
width: 100%; /* Fill width of the container */
aspect-ratio: 1; /* Maintain aspect ratio */
object-fit: cover; /* Cover the area without distortion */
display: block; /* Block display for proper spacing */
}
.carousel-controls {
position: absolute; /* Position controls absolutely in the carousel */
bottom: 10px; /* Position at the bottom */
left: 50%; /* Center horizontally */
transform: translateX(-50%); /* Adjust for centering */
display: flex; /* Flex display for spacing controls */
gap: 0.5rem; /* Space between controls */
}
.carousel-control {
width: 30px; /* Control button size */
height: 30px; /* Control button size */
background: var(--primary); /* Background color */
color: var(--dark); /* Font color */
border: none; /* No border */
border-radius: 50%; /* Rounded controls */
cursor: pointer; /* Pointer on hover */
display: flex; /* Flex display for centering icon */
align-items: center; /* Center items vertically */
justify-content: center; /* Center items horizontally */
font-size: 1rem; /* Font size */
transition: all 0.3s ease; /* Smooth transitions */
}
.carousel-control:hover {
background: var(--accent); /* Highlight color on hover */
transform: scale(1.1); /* Slightly grow on hover */
}
.modal {
display: none;
position: fixed;
z-index: 1000;
padding: 2rem;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,0.9);
color: var(--light);
}
.modal-content {
margin: auto;
display: block;
max-width: 100%;
max-height: 100vh;
object-fit: contain;
}
.modal-close {
position: absolute;
top: 20px;
right: 35px;
color: var(--primary);
font-size: 40px;
font-weight: bold;
cursor: pointer;
}
.modal-close:hover {
color: #fff;
}
@media (max-width: 768px) {
.carousel {
max-width: 100%;
margin: 1rem;
aspect-ratio: 1;
}
.carousel-controls {
margin-top: 0.5rem;
padding: 0.5rem 0;
}
.modal-content {
width: 95%;
}
.modal-close {
top: 10px;
right: 15px;
font-size: 30px;
}
}
@media (max-width: 768px) {
.theme-toggle, #chatbot-button {
position: fixed;
bottom: 20px;
height: 50px;
width: 50px;
display: flex;
align-items: center;
justify-content: center;
}
.theme-toggle {
left: 20px;
}
#chatbot-button {
right: 20px;
}
}
@media (max-width: 480px) {
.theme-toggle, #chatbot-button {
bottom: 10px;
height: 40px;
width: 40px;
font-size: 18px;
}
.theme-toggle {
left: 10px;
}
#chatbot-button {
right: 10px;
}
.theme-toggle svg, #chatbot-button svg {
width: 20px;
height: 20px;
}
}
#install-prompt {
display: none;
position: fixed;
bottom: 20px;
left: 50%;
transform: translateX(-50%);
background: var(--dark);
padding: 1rem;
border-radius: 8px;
box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
z-index: 1000;
border: 1px solid var(--primary);
color: var(--light);
}
[data-theme="light"] {
--primary: #FFD700;
--secondary: #4a5568;
--accent: #FFD700;
--dark: #ffffff;
--light: #1a1a1a;
--text-dark: #000000;
--text-light: #f8fafc;
}
/* Add this to handle menu toggle visibility */
@media (max-width: 768px) {
.menu-toggle.hidden {
display: none !important;
}
.submenu.active + .menu-toggle {
display: none !important;
}
}
[data-theme="light"] h2.splash-text {
color: #000000 !important;
animation: splash 2s ease-in-out infinite;
}
[data-theme="light"] h2:not(.section-title) {
color: #000000;
}
/* Ajout pour le texte "BON PLAN" en noir en mode thème clair */
[data-theme="light"] h2 {
color: #000000 !important;
}
[data-theme="light"] .social-icons a {
color: #000000 !important;
}
[data-theme="light"] .social-icons svg {
fill: #000000 !important;
}
[data-theme="light"] .social-icons .fa-telegram {
color: #000000 !important;
}
</style>
<style>
nav .submenu {
background: var(--dark);
border: 1px solid var(--primary);
border-radius: 8px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
padding: 1rem;
max-width: 300px;
min-width: 250px;
animation: slideIn 0.2s ease-out;
}
nav .submenu a {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 1rem;
margin: 0.25rem 0;
border-radius: 4px;
color: var(--primary);
text-decoration: none;
transition: all 0.2s ease;
font-size: 0.9rem;
}
nav .submenu a i {
width: 20px;
height: 20px;
display: flex;
align-items: center;
justify-content: center;
}
nav .submenu a:hover {
background: rgba(255, 230, 0, 0.1);
transform: translateX(4px);
}
nav .submenu-content {
padding: 1rem;
border-top: 1px solid rgba(255,230,0,0.1);
}
nav .submenu-content h4 {
font-size: 1rem;
margin-bottom: 1rem;
color: var(--primary);
}
@media (max-width: 768px) {
nav .submenu {
position: fixed;
top: 0;
left: 0;
right: 0;
bottom: 0;
width: 100%;
height: 100%;
max-width: none;
border-radius: 0;
padding: 1rem;
overflow-y: auto;
z-index: 1000;
}
nav .submenu a {
padding: 1rem;
font-size: 1rem;
}
}
</style>
<style>
@keyframes splash {
0% {
transform: scale(1);
opacity: 1;
}
50% {
transform: scale(1.2);
opacity: 0.7;
}
100% {
transform: scale(1);
opacity: 1;
}
}
.splash-text {
animation: splash 2s ease-in-out infinite;
display: inline-block;
text-align: center;
width: 100%;
margin: 0 auto;
}
.splash-text-container {
text-align: center;
width: 100%;
margin: 2rem auto;
}
</style>
<style>
.contact-section {
padding: 1rem;
}
.contact-section h4 {
text-align: center;
font-size: 1.2rem;
margin: 1rem 0;
color: var(--primary);
}
.contact-socials {
margin-top: 1.5rem;
padding-top: 1rem;
border-top: 1px solid var(--primary);
display: flex;
justify-content: center;
gap: 1.5rem;
}
.contact-socials a {
font-size: 1.2rem;
width: 32px;
height: 32px;
display: flex;
align-items: center;
justify-content: center;
padding: 0.5rem;
border-radius: 50%;
transition: all 0.3s ease;
}
.contact-socials a:hover {
transform: scale(1.1);
}
.contact-socials svg {
width: 20px;
height: 20px;
}
@media (max-width: 768px) {
.contact-socials {
flex-wrap: wrap;
gap: 1rem;
}
.contact-socials a {
font-size: 1rem;
width: 28px;
height: 28px;
}
.contact-socials svg {
width: 18px;
height: 18px;
}
}
.btn-whatsapp {
background-color: #25D366 !important;
color: white !important;
display: flex;
align-items: center;
justify-content: center;
gap: 0.5rem;
padding: 0.75rem 1rem;
border-radius: 6px;
margin-top: 1rem;
text-decoration: none;
transition: all 0.3s ease;
font-weight: bold;
}
.btn-whatsapp:hover {
background-color: #128C7E !important;
transform: translateY(-2px);
}
.btn-whatsapp i {
font-size: 1.2rem;
}
[data-theme="light"] .contact-socials a {
color: #000000 !important;
}
[data-theme="light"] .contact-socials svg {
fill: #000000 !important;
}
</style>
<style>
@media (max-width: 768px) {
.contact-socials a {
width: 42px !important;
height: 42px !important;
font-size: 1.4rem !important;
padding: 0.6rem !important;
}
.contact-socials svg {
width: 24px !important;
height: 24px !important;
}
.menu-toggle {
display: block !important;
width: 40px;
height: 40px;
font-size: 1.4rem;
padding: 0.6rem;
}
.menu {
display: none;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--dark);
padding: 1rem;
z-index: 1000;
}
.menu.active {
display: flex;
}
}
</style>
<style>
@media (max-width: 768px) {
nav {
padding-left: 0.5rem; /* Make space for menu toggle */
padding-right: 1rem; /* Reduce right padding */
display: flex;
align-items: center;
justify-content: space-between;
}
.menu-toggle {
display: block;
position: absolute; /* Changed from fixed */
right: 1rem; /* Change from left to right */
top: 50%;
transform: translateY(-50%);
z-index: 1001;
width: 50px;
height: 50px;
padding: 0.5rem;
background: black;
border: 1px solid var(--primary);
color: var(--primary);
font-size: 1.5rem;
cursor: pointer;
border-radius: 4px;
}
nav h1 {
order: -1; /* Ensure logo is first */
flex: 0; /* Don't expand */
margin-right: auto; /* Push menu toggle to right */
max-width: calc(100% - 100px);
margin-left: 0;
padding-left: 0;
text-align: left;
}
}
</style>
<style>
@media (max-width: 480px) {
.menu-toggle {
right: 0.5rem; /* Adjust right positioning for smaller screens */
width: 40px;
height: 40px;
font-size: 1.2rem;
}
nav h1 {
max-width: calc(100% - 70px); /* Adjust max-width for smaller screens */
}
}
</style>
<style>
@media (max-width: 768px) {
.carousel {
width: calc(100vw - 32px) !important; /* Full width minus padding */
max-width: 100% !important;
margin: 1rem auto !important;
aspect-ratio: 1 !important;
height: auto !important;
}
.carousel img {
width: 100%;
height: 100%;
object-fit: cover;
}
}
</style>
<style>
@media (max-width: 768px) {
.section {
padding: 2rem 1rem; /* Reduce padding on mobile */
overflow-x: hidden;
}
.services-grid {
grid-template-columns: 1fr; /* Stack services vertically on mobile */
gap: 1rem;
}
.service-card, .stat-item {
padding: 1rem; /* Reduce padding */
}
.stats {
grid-template-columns: 1fr; /* Stack stats vertically */
gap: 1rem;
}
.hero {
padding: 2rem 1rem; /* Reduce hero section padding */
}
.hero h1 {
font-size: 2rem; /* Reduce heading size */
}
.hero p {
font-size: 1rem; /* Reduce paragraph size */
}
}
</style>
<style>
nav h1 {
order: -1;
flex: 0;
margin-right: auto;
max-width: calc(100% - 100px);
margin-left: 0;
padding-left: 0;
text-align: left;
}
nav h1 {
margin-left: 0 !important;
padding-left: 0 !important;
}
nav {
padding-left: 0.5rem;
padding-right: 1rem;
display: flex;
align-items: center;
justify-content: space-between;
}
.menu-toggle {
right: 1rem;
left: auto;
}
</style>
<style>
@media (max-width: 768px) {
.carousel {
width: calc(100vw - 32px) !important;
max-width: 100% !important;
margin: 1rem auto !important;
aspect-ratio: 1 !important;
height: auto !important;
}
.carousel img {
width: 100%;
height: 100%;
object-fit: cover;
}
.section {
padding: 2rem 1rem !important;
overflow-x: hidden;
}
.services-grid {
grid-template-columns: 1fr !important;
gap: 1rem;
}
.service-card, .stat-item {
padding: 1rem !important;
}
.stats {
grid-template-columns: 1fr !important;
gap: 1rem;
}
.hero {
padding: 2rem 1rem !important;
}
.hero h1 {
font-size: 2rem !important;
}
.hero p {
font-size: 1rem !important;
}
.contact-socials a {
width: 42px !important;
height: 42px !important;
font-size: 1.4rem !important;
padding: 0.6rem !important;
}
.contact-socials svg {
width: 24px !important;
height: 24px !important;
}
.menu-toggle {
display: block !important;
width: 40px;
height: 40px;
font-size: 1.4rem;
padding: 0.6rem;
}
.menu {
display: none;
position: absolute;
top: 100%;
left: 0;
right: 0;
background: var(--dark);
padding: 1rem;
z-index: 1000;
}
.menu.active {
display: flex;
}
}
</style>
<style>
nav .menu-item {
position: relative;
color: var(--primary);
text-decoration: none;
padding: 0.75rem 1.25rem;
cursor: pointer;
white-space: nowrap;
margin: 0 0.5rem;
border-radius: 4px;
background: black;
border: 1px solid var(--primary);
transition: all 0.3s ease;
}
.submenu a {
display: flex;
align-items: center;
gap: 0.75rem;
padding: 0.75rem 1rem;
margin: 0.25rem 0;
border-radius: 4px;
color: var(--primary);
text-decoration: none;
transition: all 0.2s ease;
font-size: 0.9rem;
border: 1px solid var(--primary);
}
.submenu a:hover {
background: rgba(255, 230, 0, 0.1);
transform: translateX(4px);
}
.modal-close {
position: absolute;
top: 20px;
right: 35px;
color: var(--primary);
font-size: 40px;
font-weight: bold;
cursor: pointer;
border: 1px solid var(--primary);
border-radius: 50%;
padding: 0.5rem;
}
</style>
<style>
@media (min-width: 769px) {
nav .menu-item {
transition: border-color 0.3s ease;
}
nav .menu-item.active {
border-color: var(--primary);
background: black;
transform: none;
margin: 0 0.5rem;
}
nav .menu-item.active .submenu a {
border: 1px solid var(--primary);
margin: 0.25rem 0;
transform: none;
}
nav .menu-item.active .submenu a:hover {
transform: translateX(4px);
}
nav .submenu {
display: none;
position: absolute;
width: max-content;
}
nav .menu-item.active .submenu {
display: block;
}
}
</style>
<style>
@media (min-width: 769px) {
nav .menu-item {
transition: border-color 0.3s ease;
}
nav .menu-item.active {
border-color: var(--primary);
background: black;
transform: none;
margin: 0 0.5rem;
}
nav .menu-item.active .submenu a {
border: 1px solid var(--primary);
margin: 0.25rem 0;
transform: none;
}
nav .menu-item.active .submenu a:hover {
transform: translateX(4px);
}
nav .submenu {
display: none;
position: absolute;
width: max-content;
max-width: min(400px, calc(100vw - 40px));
overflow-y: auto;
max-height: 80vh;
/* Position relative to viewport edge */
left: 0;
transform: translateX(0);
}
/* Reposition submenu if it would overflow right edge */
nav .menu-item:nth-last-child(-n+2) .submenu {
right: 0;
left: auto;
transform: translateX(0);
}
nav .menu-item.active .submenu {
display: block;
}
}
/* Enhanced submenu styling */
nav .submenu {
background: var(--dark);
border: 1px solid var(--primary);
border-radius: 8px;
box-shadow: 0 4px 12px rgba(0,0,0,0.15);
animation: slideIn 0.2s ease-out;
}
nav .submenu::before {
content: '';
position: absolute;
top: -8px;
left: 20px;
width: 14px;
height: 14px;
background: var(--dark);
border-left: 1px solid var(--primary);
border-top: 1px solid var(--primary);
transform: rotate(45deg);
}
nav .submenu-content {
padding: 1rem;
margin-top: 0.5rem;
border-top: 1px solid rgba(255,230,0,0.1);
}
nav .submenu-content h4 {
color: var(--primary);
font-size: 0.9rem;
margin-bottom: 0.5rem;
}
nav .submenu-content p {
font-size: 0.8rem;
opacity: 0.8;
line-height: 1.4;
}
</style>
<style>
/* Tooltip styles */
nav .menu-item {
position: relative;
}
nav .menu-item::after {
content: none;
}
nav .menu-item:hover::after {
opacity: 0;
}
</style>
<style>
@keyframes menuSplash {
0% {box-shadow: 0 0 0 0 rgba(255, 230, 0, 0.4);
}
50% {
box-shadow: 0 0 10px 5px rgba(255, 230, 0, 0.2);
}
100% {
box-shadow: 0 0 0 0 rgba(255, 230, 0, 0);
}
}
@media (min-width: 769px) {
nav .menu-item.active {
animation: menuSplash 2s ease-in-out infinite;
border: 2px solid var(--primary);
background: rgba(0,0,0,0.9);
}
nav .menu-item.active:hover {
animation: none;
}
}
</style>
<style>
@media (max-width: 768px) {
nav .menu-item:nth-child(5) .submenu-content {
padding: 1rem;
text-align: center;
width: 100%;
margin: 0 auto;
}
nav .menu-item:nth-child(5) .submenu-content p {
font-size: 1rem;
line-height: 1.5;
margin: 1rem auto;
max-width: 280px;
text-align: center;
color: var(--primary);
}
.btn-whatsapp {
width: calc(100% - 2rem) !important;
max-width: 280px !important;
margin: 1rem auto !important;
padding: 1rem !important;
display: flex !important;
align-items: center;
justify-content: center;
gap: 0.5rem;
font-size: 1rem !important;
position: relative;
left: 50%;
transform: translateX(-50%);
}
.btn-whatsapp i {
font-size: 1.2rem !important;
}
nav .menu-item:nth-child(5) .submenu-content h4 {
text-align: center;
margin-bottom: 1rem;
font-size: 1.1rem;
}
}
</style>
<style>
#chatbot-widget {
position: fixed;
bottom: 90px;
right: 20px;
width: 350px;
height: 500px;
background: var(--dark);
border: 1px solid var(--primary);
border-radius: 10px;
display: none;
z-index: 1000;
overflow: hidden;
box-shadow: 0 4px 15px rgba(0,0,0,0.3);
}
#chatbot-close {
position: absolute;
top: 10px;
right: 10px;
width: 30px;
height: 30px;
border-radius: 50%;
background: var(--primary);
color: var(--dark);
border: none;
display: flex;
align-items: center;
justify-content: center;
cursor: pointer;
z-index: 1002;
font-size: 20px;
}
@media (max-width: 768px) {
#chatbot-widget {
width: 90vw;
height: 80vh;
left: 50%;
transform: translateX(-50%);
bottom: 80px;
}
}
@media (max-width: 480px) {
#chatbot-widget {
width: 95vw;
height: 70vh;
}
}
</style>
<style>
.sun-icon {
stroke: black; /* Setting the icon color to black */
}
.moon-icon {
stroke: yellow; /* Setting the icon color to yellow */
}
</style>
</head>
<body data-theme="dark">
<button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="yellow" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path class="moon-icon" d="M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"/>
<circle class="sun-icon hidden" cx="12" cy="12" r="5"/>
<line class="sun-icon hidden" x1="12" y1="1" x2="12" y2="3"/>
<line class="sun-icon hidden" x1="12" y1="21" x2="12" y2="23"/>
<line class="sun-icon hidden" x1="4.22" y1="4.22" x2="5.64" y2="5.64"/>
<line class="sun-icon hidden" x1="18.36" y1="18.36" x2="19.78" y2="19.78"/>
<line class="sun-icon hidden" x1="1" y1="12" x2="3" y2="12"/>
<line class="sun-icon hidden" x1="21" y1="12" x2="23" y2="12"/>
<line class="sun-icon hidden" x1="4.22" y1="19.78" x2="5.64" y2="18.36"/>
<line class="sun-icon hidden" x1="18.36" y1="5.64" x2="19.78" y2="4.22"/>
</svg>
</button>
<nav>
<h1 style="margin-left: 0; padding-left: 0; text-align: left;">
<img src="https://i.ibb.co/xDYyC9D/1736963821453.png" alt="InnovXPRO.COM logo" style="height: 2.5rem; vertical-align: middle; margin-right: -0.65rem;">
InnovX
</h1>
<button id="menu-toggle" class="menu-toggle" aria-label="Toggle menu">&#x2630;</button>
<div id="main-menu" class="menu">
<div class="menu-item">Services
<div class="submenu">
<a href="/services/maintenance">
<i class="fas fa-tools"></i>
Maintenance informatique
</a>
<a href="/services/bureautique">
<i class="fas fa-file-alt"></i>
Bureautique & PAO
</a>
<a href="/services/design">
<i class="fas fa-palette"></i>
Design & Marketing
</a>
<a href="/services/reseaux">
<i class="fas fa-network-wired"></i>
Installation Réseaux
</a>
<a href="/services/consultance">
<i class="fas fa-user-tie"></i>
Consultance IT
</a>
<button class="btn-back">
<i class="fas fa-arrow-left"></i> Retour
</button>
</div>
</div>
<div class="menu-item">Formation
<div class="submenu">
<a href="/formations/bureautique">
<i class="fas fa-laptop-code"></i>
Formation Bureautique
</a>
<a href="/formations/pao">
<i class="fas fa-pencil-ruler"></i>
Formation PAO/Design
</a>
<a href="/formations/programmation">
<i class="fas fa-code"></i>
Formation Programmation
</a>
<a href="/formations/systemes">
<i class="fas fa-cogs"></i>
Formation Systèmes
</a>
<div class="submenu-content">
<h4>Nos Formations</h4>
<p>Des formations pratiques adaptées à vos besoins professionnels</p>
</div>
<button class="btn-back">
<i class="fas fa-arrow-left"></i> Retour
</button>
</div>
</div>
<div class="menu-item">Technologies
<div class="submenu">
<a href="/tech/hardware">
<i class="fas fa-microchip"></i>
Hardware
</a>
<a href="/tech/software">
<i class="fas fa-code-branch"></i>
Software
</a>
<a href="/tech/reseaux">
<i class="fas fa-wifi"></i>
Réseaux
</a>
<a href="/tech/cloud">
<i class="fas fa-cloud"></i>
Cloud Computing
</a>
<div class="submenu-content">
<h4>Technologies Innovantes</h4>
<p>Découvrez nos solutions technologiques de pointe</p>
</div>
<button class="btn-back">
<i class="fas fa-arrow-left"></i> Retour
</button>
</div>
</div>
<div class="menu-item">Contact
<div class="submenu">
<a href="tel:+22625453080">
<i class="fas fa-phone"></i>
+226 25 45 30 80
</a>
<a href="tel:+22656666666">
<i class="fas fa-mobile-alt"></i>
+226 56 66 66 66
</a>
<a href="mailto:contact@innovxpro.com">
<i class="fas fa-envelope"></i>
contact@innovxpro.com
</a>
<a href="https://goo.gl/maps/innovxLocation">
<i class="fas fa-map-marker-alt"></i>
Secteur 15 Ouaga 2000
</a>
<div class="submenu-content">
<h4>Nous contacter</h4>
<p>Disponible 24/7 pour répondre à vos questions</p>
</div>
<button class="btn-back">
<i class="fas fa-arrow-left"></i> Retour
</button>
</div>
</div>
<div class="menu-item">Services à venir
<div class="submenu">
<a href="/marketplace">
<i class="fas fa-store"></i>
Market Place
</a>
<a href="/affiliation">
<i class="fas fa-handshake"></i>
Affiliation
</a>
<a href="/crypto">
<i class="fas fa-coins"></i>
Crypto InovX
</a>
<div class="submenu-content">
<h4>Services à venir</h4>
<p>Découvrez nos prochaines offres et opportunités</p>
<a href="https://wa.me/grouplink" class="btn-whatsapp">
<i class="fab fa-whatsapp"></i>
Rejoindre le groupe
</a>
</div>
<button class="btn-back">
<i class="fas fa-arrow-left"></i> Retour
</button>
</div>
</div>
</div>
</nav>
<section class="hero">
<h1>InnovX SARL</h1>
<p>Votre partenaire d'affaires innovant au</p>
<p>Solutions professionnelles sur mesure, formations pratiques et opportunités d'affaires exclusives</p>
<iframe src="https://drive.google.com/file/d/1Fej2Q3z6rtYeUESUQjdRiYP6EsW7_0Ay/preview" width="100%" height="480" allow="autoplay; fullscreen" style="max-width: 600px; margin: 2rem auto; display: block;"></iframe>
</section>
<div class="splash-text-container">
<h2 class="splash-text" style="color: var(--primary);">BON PLAN</h2>
</div>
<div class="carousel">
<div class="carousel-container">
<img src="https://i.ibb.co/Q9ZptwK/Flyer-Formation-en-informatique-innov-X-1.jpg" alt="Formation en informatique">
<img src="https://i.ibb.co/SKh8pQk/Flyer-consultance-innov-X.jpg" alt="Consultance InnovX">
<img src="https://i.ibb.co/R3srpDt/Flyer-general-innov-X.jpg" alt="Services InnovX">
<img src="https://i.ibb.co/3crdLpy/Flyer-formation-maintenance-innov-X.jpg" alt="Formation maintenance">
</div>
<div class="carousel-controls">
<button class="carousel-control" onclick="prevSlide()"></button>
<button class="carousel-control" onclick="nextSlide()"></button>
</div>
</div>
<section class="section">
<h2 class="section-title">Nos Services</h2>
<div class="services-grid">
<div class="service-card">
<h3>Maintenance Professionnelle</h3>
<p>Solutions de maintenance adaptées pour les ménages, entreprises et institutions. Packs personnalisés et suivi rigoureux.</p>
</div>
<div class="service-card">
<h3>Services Numériques</h3>
<p>Développement web, maintenance informatique et transformation digitale pour propulser votre présence en ligne.</p>
</div>
<div class="service-card">
<h3>Formation</h3>
<p>Formations pratiques en informatique, développement personnel et intelligence financière. En présentiel et en ligne.</p>
</div>
</div>
</section>
<section class="section" style="background: var(--dark)">
<h2 class="section-title">Pourquoi Nous Choisir</h2>
<div class="stats">
<div class="stat-item">
<i class="fas fa-users"></i>
<div class="stat-number">7</div>
<div class="stat-label">Experts Dévoués</div>
</div>
<div class="stat-item">
<i class="fas fa-thumbs-up"></i>
<div class="stat-number">100%</div>
<div class="stat-label">Satisfaction Client</div>
</div>
<div class="stat-item">
<i class="fas fa-clock"></i>
<div class="stat-number">24/7</div>
<div class="stat-label">Support Client</div>
</div>
<div class="stat-item">
<i class="fas fa-file-alt"></i>
<div class="stat-number">XXX</div>
<div class="stat-label">Inscriptions au Site</div>
</div>
</div>
</section>
<section class="section">
<h2 class="section-title">FAQ</h2>
<div class="services-grid">
<div class="service-card">
<h3>Répondre aux questions fréquemment posées</h3>
<p>Questions et réponses sur les services, la marketplace, la procédure d'inscription, les paiements, etc.</p>
</div>
<div class="service-card">
<h3>Témoignages Clients</h3>
<p>Témoignages de clients satisfaits, études de cas et success stories pour renforcer la crédibilité et la confiance.</p>
</div>
</div>
</section>
<div class="social-links" style="text-align:center; padding:2rem; background:var(--dark); border-top:1px solid var(--primary);">
<div class="social-icons">
<a href="https://facebook.com" style="color:var(--primary); font-size:1.5rem; margin:0 0.5rem;" aria-label="Facebook"><i class="fab fa-facebook"></i></a>
<a href="https://t.me" style="color:var(--primary); font-size:1.5rem; margin:0 0.5rem;" aria-label="Telegram"><i class="fab fa-telegram"></i></a>
<a href="https://x.com" style="color:var(--primary); font-size:1.5rem; margin:0 0.5rem; font-weight:bold; text-decoration:none;" aria-label="X">
<svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path d="M18.901 1.153h3.68l-8.04 9.19L24 22.846h-7.406l-5.8-7.584-6.638 7.584H.474l8.6-9.83L0 1.154h7.594l5.243 6.932ZM17.61 20.644h2.039L6.486 3.24H4.298Z"/>
</svg>
</a>
<a href="https://wa.me" style="color:var(--primary); font-size:1.5rem; margin:0 0.5rem;" aria-label="Whatsapp"><i class="fab fa-whatsapp"></i></a>
</div>
</div>
<div id="install-prompt">
<p>Installez l'application InnovX pour un accès rapide</p>
<button class="btn" id="install-button">Installer</button>
</div>
<button id="chatbot-button" aria-label="Open chatbot">
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
<path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
</svg>
</button>
<div id="chatbot-widget">
<button id="chatbot-close" aria-label="Close chatbot">&times;</button>
<iframe src="https://spring-chatbot-customer-service-assistant.hf.space" frameborder="0" style="width: 100%; height: 100%;"></iframe>
</div>
<div class="modal" id="modal">
<span class="modal-close" id="modal-close">&times;</span>
<img class="modal-content" id="modal-content">
</div>
<script>
let isMenuOpen = false;
let currentSubmenu = null;
function closeAllSubmenus() {
document.querySelectorAll('.submenu').forEach(submenu => {
submenu.classList.remove('active');
});
document.querySelectorAll('.menu-item').forEach(item => {
item.classList.remove('active');
});
document.querySelector('.menu-toggle').classList.remove('hidden');
currentSubmenu = null;
}
function toggleMenu() {
isMenuOpen = !isMenuOpen;
menu.classList.toggle('active');
if (!isMenuOpen) {
closeAllSubmenus();
}
}
function handleSubmenuClick(e, menuItem) {
e.preventDefault();
e.stopPropagation();
const submenu = menuItem.querySelector('.submenu');
const menuToggle = document.querySelector('.menu-toggle');
if (!submenu) return;
document.querySelectorAll('.menu-item').forEach(item => {
item.classList.remove('active');
});
closeAllSubmenus();
const rect = menuItem.getBoundingClientRect();
const submenuRect = submenu.getBoundingClientRect();
const viewportWidth = window.innerWidth;
if (rect.left + submenuRect.width > viewportWidth) {
submenu.style.right = '0';
submenu.style.left = 'auto';
}
if (currentSubmenu === submenu) {
submenu.classList.remove('active');
menuItem.classList.remove('active');
currentSubmenu = null;
menuToggle.classList.remove('hidden');
} else {
submenu.classList.add('active');
menuItem.classList.add('active');
currentSubmenu = submenu;
menuToggle.classList.add('hidden');
if (window.innerWidth <= 768) {
window.scrollTo({top: 0, behavior: 'smooth'});
}
}
}
const menuToggle = document.querySelector('.menu-toggle');
const menu = document.querySelector('.menu');
menuToggle.addEventListener('click', toggleMenu);
document.querySelectorAll('.menu-item').forEach(menuItem => {
menuItem.addEventListener('click', e => handleSubmenuClick(e, menuItem));
});
document.querySelectorAll('.btn-back').forEach(btn => {
btn.addEventListener('click', e => {
e.preventDefault();
e.stopPropagation();
closeAllSubmenus();
document.querySelector('.menu-toggle').classList.remove('hidden');
});
});
document.addEventListener('click', e => {
if (isMenuOpen && !menu.contains(e.target) && !menuToggle.contains(e.target)) {
toggleMenu();
}
});
window.addEventListener('resize', () => {
if (window.innerWidth > 768) {
menu.classList.remove('active');
isMenuOpen = false;
closeAllSubmenus();
}
});
document.addEventListener('DOMContentLoaded', () => {
const themeToggle = document.getElementById('theme-toggle');
const body = document.body;
function toggleTheme() {
const isDark = body.getAttribute('data-theme') === 'light';
body.setAttribute('data-theme', isDark ? 'dark' : 'light');
localStorage.setItem('theme', isDark ? 'dark' : 'light');
const moonIcon = themeToggle.querySelector('.moon-icon');
const sunIcon = themeToggle.querySelector('.sun-icon');
if (isDark) {
moonIcon.classList.remove('hidden');
sunIcon.classList.add('hidden');
} else {
moonIcon.classList.add('hidden');
sunIcon.classList.remove('hidden');
}
document.querySelectorAll('.btn-back').forEach(btn => {
btn.style.backgroundColor = 'black';
});
document.querySelectorAll('.carousel-control').forEach(btn => {
btn.style.backgroundColor = 'var(--primary)';
btn.style.color = 'var(--dark)';
});
}
themeToggle.addEventListener('click', toggleTheme);
const savedTheme = localStorage.getItem('theme') || 'dark';
body.setAttribute('data-theme', savedTheme);
});
function openModal(imgSrc) {
const modal = document.getElementById('modal');
const modalImg = document.getElementById('modal-content');
modal.style.display = 'block';
modalImg.src = imgSrc;
}
function startCarousel() {
let interval; // Declare interval variable
function startAutoSlide() {
interval = setInterval(nextSlide, 5000); // Automatically slide every 5 seconds
}
const carousel = document.querySelector('.carousel');
const slides = document.querySelectorAll('.carousel img');
// Ensure at least one slide exists before starting carousel
if (slides.length === 0) {
return; // Exit if no slides
}
// Basic touch handling for mobile devices
carousel.addEventListener('touchstart', () => {
clearInterval(interval); // Stop auto sliding on touch
});
carousel.addEventListener('touchend', () => {
startAutoSlide(); // Restart auto sliding on touch end
});
// Start the auto slide
startAutoSlide();
// Add click listeners to control buttons
document.querySelectorAll('.carousel-control').forEach(control => {
control.addEventListener('click', () => {
clearInterval(interval); // Stop auto sliding when manually controlled
if (control.textContent === '‹') {
prevSlide(); // Call prevSlide function
} else {
nextSlide(); // Call nextSlide function
}
startAutoSlide(); // Restart auto slide after manual control
});
});
}
document.querySelectorAll('.carousel img').forEach(img => {
img.addEventListener('click', () => {
openModal(img.src);
});
});
const modal = document.getElementById('modal');
const modalImg = document.getElementById('modal-content');
const closeBtn = document.getElementById('modal-close');
closeBtn.addEventListener('click', () => {
modal.style.display = 'none';
});
modal.addEventListener('click', (e) => {
if (e.target === modal) {
modal.style.display = 'none';
}
});
let currentSlide = 0;
function prevSlide() {
const carousel = document.querySelector('.carousel-container');
const slides = document.querySelectorAll('.carousel img');
currentSlide = (currentSlide - 1 + slides.length) % slides.length;
carousel.style.transform = `translateX(-${currentSlide * 100}%)`;
}
function nextSlide() {
const carousel = document.querySelector('.carousel-container');
const slides = document.querySelectorAll('.carousel img');
currentSlide = (currentSlide + 1) % slides.length;
carousel.style.transform = `translateX(-${currentSlide * 100}%)`;
}
document.addEventListener('DOMContentLoaded', startCarousel);
const chatbotButton = document.getElementById('chatbot-button');
const chatbotWidget = document.getElementById('chatbot-widget');
let isChatbotOpen = false;
chatbotButton.addEventListener('click', () => {
isChatbotOpen = !isChatbotOpen;
chatbotWidget.style.display = isChatbotOpen ? 'block' : 'none';
chatbotButton.style.transform = isChatbotOpen ? 'scale(0.9)' : 'scale(1)';
});
const chatbotClose = document.getElementById('chatbot-close');
chatbotClose.addEventListener('click', () => {
chatbotWidget.style.display = 'none';
isChatbotOpen = false;
chatbotButton.style.transform = 'scale(1)';
});
function adjustCarousel() {
const carousel = document.querySelector('.carousel');
if (!carousel) return;
const isMobile = window.innerWidth <= 768;
if (isMobile) {
carousel.style.width = 'calc(100vw - 32px)';
carousel.style.height = 'auto';
} else {
carousel.style.width = '800px';
carousel.style.height = '800px';
}
}
document.addEventListener('DOMContentLoaded', () => {
adjustCarousel();
window.addEventListener('resize', () => {
adjustCarousel();
});
});
const socialIcons = document.querySelectorAll('.contact-socials a');
function adjustSocialIcons() {
socialIcons.forEach(icon => {
icon.style.width = '42px';
icon.style.height = '42px';
icon.style.fontSize = '1.4rem';
icon.style.padding = '0.6rem';
if (window.innerWidth <= 768) {
icon.style.width = '36px';
icon.style.height = '36px';
icon.style.fontSize = '1.2rem';
icon.style.padding = '0.5rem';
}
});
const socialSvgs = document.querySelectorAll('.contact-socials svg');
socialSvgs.forEach(svg => {
svg.style.width = '24px';
svg.style.height = '24px';
if (window.innerWidth <= 768) {
svg.style.width = '20px';
svg.style.height = '20px';
}
});
}
window.addEventListener('resize', adjustSocialIcons);
document.addEventListener('DOMContentLoaded', adjustSocialIcons);
document.addEventListener('click', (e) => {
if (isMenuOpen && !menu.contains(e.target) && !menuToggle.contains(e.target)) {
menu.classList.remove('active');
isMenuOpen = false;
}
});
document.addEventListener('DOMContentLoaded', () => {
document.addEventListener('click', (e) => {
const isClickInsideMenu = menu.contains(e.target);
const isClickOnToggle = menuToggle.contains(e.target);
if (!isClickInsideMenu && !isClickOnToggle && isMenuOpen) {
menu.classList.remove('active');
isMenuOpen = false;
}
});
document.querySelectorAll('.menu-item').forEach(menuItem => {
menuItem.addEventListener('click', (e) => {
e.preventDefault();
document.querySelectorAll('.menu-item').forEach(item => {
if (item !== menuItem) {
item.classList.remove('active');
const otherSubmenu = item.querySelector('.submenu');
if (otherSubmenu) {
otherSubmenu.style.display = 'none';
}
}
});
const submenu = menuItem.querySelector('.submenu');
if (submenu) {
const isOpen = submenu.style.display === 'block';
submenu.style.display = isOpen ? 'none' : 'block';
if (window.innerWidth <= 768 && !isOpen) {
window.scrollTo({top: 0, behavior: 'smooth'});
}
}
});
});
document.querySelectorAll('.btn-back').forEach(btn => {
btn.addEventListener('click', (e) => {
e.preventDefault();
const submenu = btn.closest('.submenu');
if (submenu) {
submenu.style.display = 'none';
window.scrollTo({top: 0, behavior: 'smooth'});
}
});
});
});
document.addEventListener('DOMContentLoaded', () => {
document.querySelectorAll('.btn-back').forEach(btn => {
const submenu = btn.closest('.submenu');
if (submenu) {
submenu.appendChild(btn);
}
});
});
function adjustChatbotDimensions() {
const chatbotWidget = document.getElementById('chatbot-widget');
const iframe = chatbotWidget.querySelector('iframe');
iframe.style.width = '100%';
iframe.style.height = '100%';
chatbotWidget.style.margin = '0';
}
adjustChatbotDimensions();
window.addEventListener('resize', adjustChatbotDimensions);
</script>
</body>
</html>