body { background-color: #000; color:#b4b4b4; }
.bg-light-grey { color:var(--dark-color); }
.bg-light { color:var(--dark-color); }
h1, h2, h3, h4, h5, h6 { text-transform: uppercase; font-style: italic; }
.header { margin: 15px auto; width: 95%; max-width: 1320px; border-radius: 50px; padding: 0 25px; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); border: 1px solid rgba(255, 255, 255, 0.15); left: 0; right: 0; top: 0; position: fixed; z-index: 997; display: flex; align-items: center; }
.header:not(.header-scrolled) {  background-image: url('../img/cms/bg_footer_blue.jpg'); background-position: 100% 100%; background-size: cover; /*backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px);*/ }
.header.header-scrolled { background-image: url('../img/cms/bg_footer_blue.jpg'); background-position: 100% 100%; background-size: cover; margin-top: 8px; border: 1px solid rgba(255, 255, 255, 0.25); box-shadow: 0 15px 35px rgba(0, 0, 0, 0.8); padding:5px 0px; }
body.infobar .header:not(.header-scrolled) { margin-top: 45px; }
.header .logo img { max-height: 80px;  filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.3)); }
.hero-video-component.section { padding-top:0px;  }
.mobile-nav-toggle { color: #FFF; }
.header nav a.nav-button-primary { border-radius: 30px !important; padding: 8px 25px !important; border: 1px solid var(--primary-border-color); background: linear-gradient(145deg, #475569, #000); text-transform: uppercase; font-weight: bold; color: #fff !important;  }
#hero {  background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../img/cms/bg.jpg'); background-color: #050505; background-size: cover; }
#hero h1 { text-shadow: 0px 0px 20px rgba(255, 255, 255, 0.5);  letter-spacing: 2px; }
#subfooter { background-color: var(--color-primary) !important;  border-top: 1px solid #222;  }
#subfooter, #subfooter a { color: var(--dark-color) !important;  }
.navmenu a, .btn {  text-transform: uppercase;  font-size: 1.4em;  font-weight: normal;  font-style: italic;  }
.navmenu ul li a {  position: relative;  text-decoration: none;  padding-bottom: 5px; transition: color 0.3s ease;  }
.navmenu ul li a::after {   content : "";  position: absolute; left: 0; bottom: 0;  width: 0; height: 2px; background-color: var(--nav-hover-color); transition: width 0.3s ease; }
.navmenu li:hover > a.scrollto, .navmenu .scrollto.active, .navmenu .scrollto.active:focus, .navmenu .dropdown a:hover { color:var(--nav-hover-color) !important; background-color: inherit !important; border-radius: 5px;  }
.navmenu ul li a:hover::after,  .navmenu ul li a.active::after { width: 100%; }
.navmenu ul li a.nav-button::after {  display: none;  }
.navmenu .dropdown .selected { background-color:inherit !important; color: var(--nav-hover-color) !important; }
.nav-button-primary { position: relative; display: inline-flex; align-items: center; justify-content: center; padding: 12px 30px; border-radius: 50px; font-weight: 700; text-transform: uppercase; text-decoration: none !important; letter-spacing: 1px; cursor: pointer; overflow: hidden; background-color: #d4af37; color: #000000 !important; border: none; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4); transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1 ), box-shadow 0.6s ease, background-color 0.4s ease; }
.nav-button-primary::before {  content : ""; position: absolute; top: 0; left: -150%; width: 60%; height: 100%; background: linear-gradient(to right, transparent 0%, rgba(255, 255, 255, 0.4) 50%, transparent 100% ); transform: skewX(-30deg); transition: none; }
.nav-button-primary:hover { transform: scale(1.06); filter: brightness(1.1) contrast(1.1); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 2px 5px rgba(255, 255, 255, 0.8); }
.nav-button-primary:hover::before { left: 200%; transition: left 0.8s ease-in-out; }
.nav-button-primary:active { transform: scale(0.98); filter: brightness(0.9); }
.section__subtitle { background-color:#000; }
.section__title { font-size:2em; }
.box-card.bg-white { background-color: var(--dark-color) !important; border:1px solid var(--primary-color) !important; box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px !important; color:var(--color-light); }
.box-card .btn { color: var(--color-light); border-color: var(--color-light); }
.box-card .bi { color:var(--color-light) !important; }
.navmenu .dropdown .selected a:hover, .navmenu .dropdown a:hover { background-color:inherit !important; }
footer { background-image:  url('../img/cms/bg_footer_blue.jpg'); background-color: #050505; background-size: cover; color: var(--color-light); background-position: 50% 80%; background-repeat: no-repeat; background-attachment: fixed; }
footer .logo_footer { filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.75)); }
.back-to-top { position: fixed; visibility: hidden; opacity: 0; right: 10px; bottom: 7px; z-index: 99999; width: 48px; height: 48px; border-radius: 50%; display: flex; align-items: center; justify-content: center; background: #1a1d20; color: var(--primary-color); border: 1px solid rgba(var(--bs-primary-rgb), 0.3); text-decoration: none !important; box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6); transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); cursor: pointer; }
.back-to-top.active { visibility: visible; opacity: 1; animation: pulse-gold 2s infinite; }
.back-to-top:hover { transform: translateY(-8px) scale(1.1); text-decoration: none !important; background-color: var(--primary-color); border: 1px solid var(--primary-color); box-shadow: 0 10px 25px rgba(189, 149, 63, 0.6); }
.back-to-top:hover i { font-size:2rem; color: #FFF !important; font-weight: 700; }
.back-to-top:hover i { animation: bounce-up 0.5s infinite alternate; }
@keyframes bounce-up { from { transform: translateY(0); } to { transform: translateY(-4px); } }
@keyframes pulse-gold { 0% { box-shadow: 0 0 0 0 rgba(var(--bs-primary-rgb), 0.4); } 70% { box-shadow: 0 0 0 10px rgba(212, 175, 55, 0); } 100% { box-shadow: 0 0 0 0 rgba(212, 175, 55, 0); } }
.back-to-top i { font-size: 22px; line-height: 0; text-decoration: none !important; }
.slider-component .swiper-slide img { height: 200px; opacity:inherit; }
.brand-inline { height: 3rem; }
.purecounter { font-family: var(--nav-font), serif; }
.purecounter-label { font-family: var(--nav-font), serif; text-transform: uppercase; font-style: italic; color:var(--color-secondary); }
.btn-whatsapp {background: rgba(255, 255, 255, 0.05); border-color: #25D366; color: #ffffff !important; font-weight: 600; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); border-width: 1.5px; box-shadow: 0 0 5px rgba(37, 211, 102, 0.2); }
.btn-whatsapp:hover { border-color: transparent; background: #25D366; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(37, 211, 102, 0.4); color: #fff !important; }
.btn-tiktok { background: rgba(255, 255, 255, 0.05); border-color: #00f2ea; color: #ffffff !important; font-weight: 600; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); border-width: 1.5px; }
.btn-tiktok:hover { border-color: transparent; background: linear-gradient(45deg, #fe2c55 0%, #000000 50%, #00f2ea 100%); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(254, 44, 85, 0.4); color: #fff !important; }
.btn-facebook { background: rgba(255, 255, 255, 0.05); border-color: #1877F2; color: #ffffff !important; font-weight: 600; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); border-width: 1.5px; }
.btn-facebook:hover { border-color: transparent; background: #1877F2; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(24, 119, 242, 0.4); color: #fff !important; }
.btn-youtube { background: rgba(255, 255, 255, 0.05); border-color: #FF0000; color: #ffffff !important; font-weight: 600; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); border-width: 1.5px; }
.btn-youtube:hover { border-color: transparent; background: #FF0000; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(255, 0, 0, 0.4); color: #fff !important; }
.btn-linkedin { background: rgba(255, 255, 255, 0.05); border-color: #0077B5; color: #ffffff !important; font-weight: 600; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); border-width: 1.5px; }
.btn-linkedin:hover { border-color: transparent; background: #0077B5; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 119, 181, 0.4); color: #fff !important; }
.btn-instagram { background: rgba(255, 255, 255, 0.05); border-color: #f09433; color: #ffffff !important; font-weight: 600; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); border-width: 1.5px; box-shadow: 0 0 5px rgba(240, 148, 51, 0.2); }
.btn-instagram:hover { border-color: transparent; background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%); transform: translateY(-2px); box-shadow: 0 5px 15px rgba(220, 39, 67, 0.4); color: #fff !important; }
.btn-instagram:hover i { color: #fff !important; }
footer [class^="btn-"]:hover i { color: #fff !important; }
.btn-hero-glow { position: relative;  overflow: hidden; background: linear-gradient(270deg, var(--accent-color), #FFF, var(--accent-color)); background-size: 200% 200%; border: none; font-weight: 700; letter-spacing: 0.5px; transition: all 0.4s ease; box-shadow: 0 4px 15px rgba(255, 255, 255, 0.3); animation: gradientMove 3s ease infinite; font-size:2rem; color:var(--dark-color); }
@keyframes gradientMove { 0% { background-position: 0% 50%; } 50% { background-position: 100% 50%; } 100% { background-position: 0% 50%; }}
.btn-hero-glow::before {  content : ""; position: absolute; top: 0; left: -100%; width: 50%; height: 100%; background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 50%, rgba(255, 255, 255, 0) 100%); transform: skewX(-25deg); transition: none; }
.btn-hero-glow:hover { transform: translateY(-3px) scale(1.03); box-shadow: 0 8px 25px rgba(255, 255, 255, 0.5); color: #fff; }
.btn-hero-glow:hover::before { animation: shimmer 0.8s forwards; }
@keyframes shimmer { 100% { left: 150%; }}
#hero { position: relative; overflow: hidden; background-image: none !important; }
#hero::before {  content : ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.6)), url('../img/cms/bg.jpg'); background-size: cover; background-position: center; filter: blur(8px); transform: scale(1.1); z-index: 0; pointer-events: none; }
#hero > * { position: relative; z-index: 1; }
.custom-card { border-radius: 50px !important; transition: all 0.4s cubic-bezier(0.25, 0.8, 0.25, 1); overflow: hidden; text-decoration: none !important; display: flex; flex-direction: column; }
.custom-card:hover { transform: translateY(-10px);  border-color: var(--accent-color) !important; box-shadow: 0 15px 35px rgba(212, 175, 55, 0.25) !important; }
.custom-card .card-body { padding: 30px 15px 10px 15px; flex-grow: 0; }
.custom-card .card-title { font-family: var(--nav-font), sans-serif; color: var(--primary-color); text-transform: uppercase; font-size: 1.1rem; letter-spacing: 1px; margin: 0; line-height: 1.4; }
.img-container { flex-grow: 1; display: flex; align-items: center; justify-content: center; padding: 20px; overflow: hidden; }
.img-container img { max-width: 80%; height: auto; transition: transform 0.5s ease; filter: drop-shadow(0 10px 15px rgba(0,0,0,0.4)); }
.custom-card:hover .img-container img { transform: scale(1.12); }
.custom-card .card-footer { background: transparent !important; border: none !important; padding: 0 25px 25px 25px; }
.btn-discover { background-color: #000; color: #fff; border-radius: 50px; font-weight: 700; text-transform: uppercase; font-size: 0.85rem; padding: 12px; transition: all 0.3s ease; border: 1px solid transparent; display: block; width: 100%; text-align: center; }
.custom-card:hover .btn-discover { background-color: var(--accent-color); color: #000; box-shadow: 0 0 15px rgba(var(--bs-primary-rgb), 0.4); }
.portfolio-content { border-radius:10px; }
.portfolio-content:hover { border: 5px solid var(--accent-color); }
body.page-contactus .brand-inline { height:10rem; }
.counter-component .card { box-shadow:none; border:none; background-color: rgba(var(--bs-primary-rgb), 0.5); }
.counter-component .counter-icon { color: var(--light-color) !important; }
.contactus-section .box-card a:hover { color: var(--light-color); }
@media (min-width: 1200px) { .navmenu a { padding-left: 0px; }}
.rows-2cols-txt-img-component h3 { font-weight:normal !important; }
.testimonials.bg-light-grey  .testimonial-item { background-color: #000; color: var(--light-color); border: 1px solid var(--primary-color); }
.testimonials.bg-light-grey .testimonial-item h3 { font-size: inherit; font-weight:normal; }
.testimonials.bg-light-grey  .testimonial-item h4 { color:var(--grey-light); font-weight:normal; }
.testimonial-item .profile h3 { font-weight:normal !important; color: var(--primary-color); }
body.page-contactus .card h1, body.page-app .card h1 { color: var(--primary-color); font-weight:normal !important; }
#faqlist .accordion-header h4 { color: var(--primary-color); }
#ft-links h5, #ft-accounts h5 { font-weight:normal !important; color: var(--primary-color); }
.box-card h3 { font-weight:normal !important; color: var(--primary-color); }
#highlights h2.h6, #epi_highlights h2.h6 { font-weight:normal !important; color: var(--primary-color) !important; font-size:1.5rem !important; }
.accordion { --bs-accordion-active-color: var(--primary-color) !important; }
body.page-mentions .card h1 { color: var(--primary-color); font-weight:normal !important; }
#pdfTitle { font-weight:normal !important; }
#pdfModal h5 { font-weight:normal !important; }
.section__title { font-weight: normal; }
.faq .accordion-body { color: #b4b4b4; }
.faq .accordion-item { border-color: var(--primary-color); }
.faq .accordion-button:not(.collapsed)::after,.accordion-button::after { color: var(--primary-color) !important; }
.faq .accordion-button::after { filter: invert(53%) sepia(88%) saturate(765%) hue-rotate(135deg); }
.faq .accordion-button:not(.collapsed)::after { filter: invert(53%) sepia(88%) saturate(765%) hue-rotate(135deg); }
.newsbar--highlight {background: linear-gradient(to right, var(--primary-color), var(--color-tertiary)); background-color: rgba(0, 0, 0, 0); background-color: var(--primary-color); }
.custom-card { background-color:var(--color-tertiary); }
.testimonials:not(.bg-light-grey)  .testimonial-item { background-color: var(--color-tertiary); color: var(--primary-color); border: 1px solid var(--primary-color); }
.testimonials:not(.bg-light-grey) .testimonial-item h3 { font-size: inherit; font-weight:normal; }
.testimonials:not(.bg-light-grey)  .testimonial-item h4 { color:var(--grey-light); font-weight:normal; }
.testimonials:not(.bg-light-grey) .swiper-pagination .swiper-pagination-bullet { background-color: var(--grey-light); }
.testimonials:not(.bg-light-grey) .swiper-pagination .swiper-pagination-bullet-active { background-color: var(--primary-color); }
body.page-contactus, body.page-mentions { background-color:#000; }
body.page-contactus a:not(.dropdown-item):hover { color:#FFF; }
body.page-contactus .bi.text-dark { color:var(--accent-color) !important; }
#epi_partners, #goodies_partners, #entreprise_partners, #associatif-clubs-sportifs_partners { & .line .item img { width: auto !important; height: 100px !important; }}
.testimonials .swiper-pagination .swiper-pagination-bullet:not(.swiper-pagination-bullet-active) { background-color: var(--grey-light); }
.catalog-card .btn, body.page-contactus .btn { font-size: 1rem; }
