/*** General CSS ***/
body {
    line-height: 1.9em;
	background: #171717;
}
body.home #sp-main-body {
    padding: 80px 0;
  	color: #fff;
}

/*** Header Area ***/
/* Header Top */
#sp-top-bar {
    position: relative;
    z-index: 9999;
}

/* Header Menu */
#sp-header {
    top: 0px;
    padding: 0px;
    height: inherit;
    box-shadow: none;
    z-index: 9999;
}
#sp-header.header-sticky {
    position: fixed;
    top: 0;
  	background: #282828;
    box-shadow: 0 0 4px 0 rgb(0 0 0 / 10%);
}
body:not(.home) #sp-header{
  	background: #282828;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item>a {
  	font-size: 15px !important;
    font-weight: 400 !important;
    padding: 10px 0;
}

.sp-megamenu-parent > li > span {
	color: #fff;
}
.sp-megamenu-parent>li.active>a {
    font-weight: 600;
}
#sp-header .container-inner {
	position: relative;
	background: #282828;
	padding: 0 20px;
}
#sp-header .container-inner:before {
    bottom: 0;
    right: -5px;
    content: "";
    width: 13px;
    height: 100%;
    transform: skewX(-10deg);
    background: #282828;
    position: absolute;
    box-shadow: #181818 3px 0 0;
    transition: 400ms ease;
    -moz-transition: none;
    z-index: 100000;
}
#sp-header .container-inner:after {
    bottom: 0;
    left: -7px;
    content: "";
    width: 13px;
    height: 100%;
    transform: skewX(-10deg);
    background: #FF214F;
    position: absolute;
    box-shadow: #181818 3px 0 0;
    transition: 400ms ease;
    -moz-transition: none;
    z-index: 100000;
}

/* Canvas Menu */
.offcanvas-menu .offcanvas-inner .menu-child > li a {
    padding: 12px 10px !important;
    border-bottom: 1px solid rgba(197, 153, 153, 0.21);
    display: inherit;
}
.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span {
    font-size: 15px;
    font-weight: 500;
}
body.ltr .sp-megamenu-parent .sp-dropdown.sp-dropdown-main.sp-menu-right {
    width: 200px !important;
}
body.ltr .sp-megamenu-parent .sp-dropdown .sp-dropdown-items .sp-has-child>a:after {
    top: 1px;
    position: relative;
}
.burger-icon>span {
    background-color: #fff;
}

/*** Block Styles ***/
/* Button */
.btn,
#sp_qc_submit {
	position: relative;
    display: inline-block;
    width: auto;
    margin: 0;
    color: #fff !important;
    font-weight: 600;
    font-family: inherit;
    line-height: 2em;
    font-size: 14px;
    letter-spacing: 1px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 13px 45px;
    cursor: pointer;
    text-transform: uppercase;
    border: 0;
    background-color: #FFFFFF;
    border-radius: 30px;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.btn:hover {
  	color: #fff;
  	transform: translateY(-8px);
}
a.hikabtn.hikacart:hover {
  	color: #fff;
    background: #201100;
}
.btn.no-bg {
	background: transparent;
}

/* Slider */
.sp-module.slider {
	margin-top: -65px;
}

/* Latest News */
.latest-news.sp-module {
  	padding-top: 80px;
}

/* Content Top */
section#sp-content-top, section#sp-content-bottom,
body.home #sp-main-body {
    background-color: #181C23;
}
#sp-main-body h3 {
    font-size: 18px;
}

/* Title */
#sp-content-top h3.sp-module-title {
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0;
    position: relative;
    color: #ffffff;
    font-size: 22px;
    font-weight: 500;
    background-color: #000F2B;
    display: inline-block;
    padding: 25px 40px 25px;
}
#sp-content-top .sp-module-content {
    border-top: 4px solid #000F2B;
    padding-top: 20px;
}

/* Content Bottom */
#sp-content-bottom > .container {
    max-width: 100%;
    padding: 0;
}

/* Blog */
.jmm-item .jmm-image.mod-article-image {
  	overflow: hidden;
  	margin: 0 !important;
}
.jmm-image.mod-article-image img {
  	transform: scale(1);
  	-webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.jmm-item:hover .jmm-image.mod-article-image img {
  	transform: scale(1.15);
  	filter: grayscale(100%);
}
.jm-category-module.default .jmm-text .jmm-title {
	font-weight: 500;
}
.jm-category-module.default .jmm-text .jmm-title {
    font-size: 18px;
    line-height: 25px;
}
.jmm-text {
	background-color: #292E38;
	padding: 20px;
	color: #fff;
}
body.home #sp-main-body .article-list .article, 
body.home #sp-main-body #sp-left .sp-module, body.home #sp-right .sp-module {
    border: 1px solid rgb(245 245 245 / 24%);
}
body.home #sp-main-body #sp-left .sp-module .sp-module-title, 
body.home #sp-main-body #sp-right .sp-module .sp-module-title {
  	border-bottom: 1px solid rgb(245 245 245 / 24%);
}
body.home #sp-main-body .article-list .article .readmore a,
body.home #sp-main-body .article-info>span a {
    color: #fff;
}
body.home #sp-main-body .article-list .article .article-header h1 a, 
body.home #sp-main-body .article-list .article .article-header h2 a,
body.home #sp-main-body .mfp_default_skin_default .mfp_default_item .mfp_date {
  	color: #fff;
}
.article-social-share .social-share-icon ul li a {
    color: #282828;
}

/* Contact Info */
.contact-info h2, .contact-info h3 {
    font-size: 25px;
}
button.btn.btn-primary.validate {
    color: #fff !important;
    padding: 13px 20px;
}

/* Bottom */
#sp-bottom {
    position: relative;
    text-align: left;
    z-index: 1;
  	padding: 60px 0 30px;
    font-size: 15px;
}
#sp-bottom .sp-module .sp-module-title {
    position: relative;
    margin: 0 0 20px;
    font-size: 18px;
    max-width: 165px;
    font-weight: 600;
    padding: 3px 10px;
    line-height: 1em;
    z-index: 1;
}
#sp-bottom .sp-module .sp-module-title:before {
    top: 0;
    left: -10px;
    content: "";
    width: 13px;
    height: 100%;
    transform: skewX(-10deg);
    background: rgba(255,40,81,0.5);
    position: absolute;
    border-right: 3px solid #181818;
    transition: 400ms ease;
    z-index: -1;
}
#sp-bottom .sp-module .sp-module-title:after {
    left: 3px;
    right: 3px;
    top: 0;
    height: 100%;
    content: "";
    position: absolute;
    transform: skewX(-10deg);
    z-index: -1;
    background: #ff2851;
}
div#sp-bottom2 {
    padding-top: 10px;
}
#sp-bottom p {
    line-height: 1.8;
    margin-bottom: 20px;
}
#sp-bottom strong {
    display: none;
}
#sp-bottom2 span {
    padding-right: 10px;
}
#sp-bottom h2 {
  	font-size: 30px;
  	font-weight: 600;
  	margin-bottom: 15px;
    text-align: left;
}
#sp-bottom em {
  	font-family: "Font Awesome 5 Brands";
}
.shrewd_solution_icon ul,
.shrewd_solution_icon ul li {
    display: inline-block!important;
    padding: 0px!important;
}
.shrewd_solution_icon ul li a {
    font-size: 16px;
    background: #fff;
    height: 36px;
    width: 36px;
    line-height: 36px;
    text-align: center;
    border-radius: 2px;
    margin-right: 10px;
    -webkit-transition: .5s;
    transition: .5s;
    box-shadow: 0 0 15px rgba(228, 200, 200, 0.5);
    display: inline-block;
}
.shrewd_solution_icon ul li a:hover {
    color: #fff !important; 
}

/* Footer Copyright */
#sp-footer {
    text-align: center;
}
#sp-footer {
    display: inline-block;
    width: 100%;
}
#sp-footer .container-inner {
    padding: 30px 0;
    border-top: 1px solid rgba(255, 255, 255, .1);
}

/*** Responsive Layout ***/
/* Tablet Landscape Layout */
@media (min-width: 1400px) {
    .sppb-row-container {
      	max-width: 1320px;
    }
}

@media (max-width: 1200px) {
	.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    	font-size: 14px !important;
	}
}

/* Mobile Standard Layout */
@media (max-width: 991px) {
  	#sp-bottom h1, .shrewd_solution_icon {
    	text-align: left;
	}
  	#sp-bottom .col-lg-3 {
    	width: 100% !important;
	}
}
@media (max-width: 768px) {
	#sp-header, #sp-header .logo {
        height: 70px;
    }
  	#sp-footer p {
  		text-align: center;
	}
  	body #sp-header {
      	padding: 0;
	}
  	#sp-header {
    	top: 0px;
	}
	#sp-bottom4 ul {
    	display: initial;
 }
}

/* Mobile Small Resolution */
@media (max-width: 480px) {
  	.check-list ul.left, .check-list ul.right {
    	width: 100%;
  	}
}

/* General color defination
Color value depend on preset color that picking on template settings > Presets
*/

:root {
  --background-color: currentColor;
  --background: currentColor;
  --text-color: currentColor;
}
.page-item.active .page-link, a.hikabtn.hikacart, .btn,
.slider-item .sppb-btn-success, .sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover,
.shrewd_solution_icon ul li a:hover, #sp-content-top h3.sp-module-title {
 	background-color: var(--background-color);
}
.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li.active > a,
.article-list .article .readmore a:hover, .article-list .article .readmore a:active, .article-list .article .article-header h2 a:hover,
.travel-guides .jm-category-module.default .jmm-text a:hover, .budgeting .jmm-category a:hover,
body.home #sp-main-body .article-list .article .article-header h1 a:hover, 
body.home #sp-main-body .article-list .article .article-header h2 a:hover {
	color: var(--text-color);
}
.shrewd_solution_icon ul li a {
	color: var(--text-color) !important;
}
.jmm-item .jmm-author {
	border-left-color: var(--text-color) !important;
}
.page-item.active .page-link, #sp-content-top .sp-module-content {
  	border-color: var(--text-color);
}

body, .sp-preloader {
	color: #fff;
}

/*------------- ghost --------------------------------*/
a {
	color: #fff;
}

a:hover, a:focus, a:active {
	color: #35877e;
}

.h1, h1 {
	color: #b0aeae;
	font-size: 30px!important 
}

.logo {
	display: none;
}

.logo span{
	font-size: 17px;
}

#sp-menu{
	padding-bottom: 15px;
	border-bottom: 1px solid #fff;
}


#sp-menu > .sp-column {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
}

.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    position: relative;
    transition: 400ms ease;
    -moz-transition: none;
    transform: skewX(-10deg);
	font-size: 18px;
	color: #fff;
	line-height: 25px;
}

.sp-megamenu-parent {
	margin-bottom: 15px;
}

.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li.active:hover > a {
	color: #91b6cf;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	background: #3a3a3a;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
	color: #fff;
}

/* -------------------- Mise en page de la carte -------------------- */
.bloc-card{
	padding: 5px 0;
}

.contact-card {
	text-align: left;
	padding: 5px;
	max-width: 400px;
}


/* -------------------- Texte -------------------- */

.name {
    font-size: 1.2em;
    color: #fff;
    margin: 0;
    line-height: 1.2;
}

.title {
    font-size: 1em;
    font-weight: 700;
    color: #ffc000;
    margin: 0;
    line-height: 1.2; 
}

/* -------------------- Alignement Titre + Icônes -------------------- */

.title-and-social {
    display: flex;
    align-items: center;
    gap: 15px;
}

.social-links {
    display: flex;
    gap: 10px;
}

/* -------------------- Icônes -------------------- */

.social-icon {
    text-decoration: none;
    font-size: 1.em;
    transition: opacity 0.3s;
}

.social-icon:hover {
    opacity: 0.7;
}

.social-icon.mail {
    color: #fff;
}

.social-icon.linkedin {
    color: #fff;
}

/* -------------------- Responsivité -------------------- */

@media (max-width: 450px) {
    .contact-card.dark-theme {
        padding: 15px 20px;
    }
    
    .title-and-social {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }
    
    .social-links {
        margin-left: 0;
    }
}
/*---------------------------------------------------------------------*/

.vertical .sppb-row {
	align-items: center;
}

.vertical .sppb-addon-image-layout-content{
	width: 100%;
}

h2{
	color: #b0aeae!important;
	font-size: 30px!important;
}

/*----------------- image accueil ------------*/
.over-home .sppb-addon-single-image-container {
  position: relative;
  overflow: hidden;
  display: inline-block;
  border-radius: 15px;
}

.over-home .sppb-addon-single-image-container img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 15px;
  transition: transform 0.6s ease, opacity 0.6s ease;
  transform-origin: center center;
}

.over-home:hover .sppb-addon-single-image-container img {
  opacity: 0.9;
}

.over-home .sppb-addon-single-image-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: rgba(0, 0, 0, 0);
  transition: background 0.6s ease;
  pointer-events: none;
  z-index: 2;
}

.over-home:hover .sppb-addon-single-image-container::after {
  background: rgba(0, 0, 0, 0.5);
}


/*------------------------ galerie foundational-games -------------------*/
.gallery-strip {
	display: flex;
	gap: 15px;
	width: 100%;
	justify-content: space-around;
}

.gallery-item {
    overflow: hidden;
    height: 200px;
}

.gallery-item img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    margin: 0;
}

@media (max-width: 767px) {
    .gallery-strip {
        flex-direction: column;
        gap: 15px;
    }
    
    .gallery-item {
        flex-basis: auto;
        width: 100%;
        height: 250px;
    }
}

.carousel-lightbox .sppb-addon-image-layout-wrap, 
.carousel-lightbox .sppb-carousel-extended-item {
    position: relative;
    overflow: hidden;
}

.carousel-lightbox a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0); 
    transition: background 0.3s ease-in-out;
    z-index: 1;
}

.carousel-lightbox .sppb-addon-image-layout-wrap:hover a::before, 
.carousel-lightbox .sppb-carousel-extended-item:hover a::before {
    background: rgba(0, 0, 0, 0.4); 
}

/*--------------- boutons ------------------------*/
.button-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
  margin: 20px auto;
  max-width: 600px;
}

.custom-button {
  background-color: #19372d;
  color: white;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding: 15px 25px;
  border-radius: 10px;
  flex: 1 1 180px;
  transition: background-color 0.3s, transform 0.2s;
}

.custom-button:hover {
  background-color: #215544;
  transform: translateY(-3px);
  color: #e6eceb!important;
}

.custom-button-orange {
  background-color: #a52e1b;
  color: white;
  font-weight: 600;
  text-align: center;
  text-decoration: none;
  padding: 15px 25px;
  border-radius: 10px;
  flex: 1 1 180px;
  transition: background-color 0.3s, transform 0.2s;
  max-width: 33%;
}

.custom-button-orange:hover {
  background-color: #dd4837;
  transform: translateY(-3px);
  color: #e6eceb!important;
}
/*------------ legende image ---------------------*/
.step {
  display: flex;
  background-color: #111;
  color: white;
  padding: 10px 15px;
  border-radius: 8px;
  max-width: 600px;
  margin: 10px auto;
  font-family: "Inter", sans-serif;
}

.step-number {
  background-color: #19372d;
  color: white;
  font-weight: 600;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 12px;
  flex-shrink: 0;
}

.step-text {
  line-height: 1.4;
  font-size: 16px;
}

#blockout .sppb-addon-image-layout-content {
	background: #111;
	padding: 0px 0px 0px;
	width: 100%;
}