body {
	line-height: 30px;
}

a:hover, a:focus, a:active {
    color: #000;
}

.chat-window-toggle::after {
  content: "?";
  position: absolute;
  top: 2px;
  right: 2px;
  background: #ff3b30;
  color: #fff;
  font-size: 12px;
  line-height: 14px;
  width: 14px;
  height: 14px;
  text-align: center;
  border-radius: 50%;
  box-shadow: 0 0 0 2px var(--chat--toggle--background, #fff);
}

.chat-window-toggle {
  animation: chat-pulse 3s ease-in-out infinite;
}

@keyframes chat-pulse {
  0%, 100% { transform: scale(1); }
  50%      { transform: scale(1.08); }
}
.chat-window-toggle:hover {
  background: #007bff;
  color: #fff;
  transform: scale(1.1);
}

.article-details h1 {
  padding-bottom:30px;
}

.chat-get-started-footer {
    font-size: 12px;
}

.formResponsive button[type=reset], .formResponsive button[type=submit], .formResponsive input[type=reset], .formResponsive input[type=submit] {
    background-color: #ef0454;
    padding: 10px 38px;
    font-size: 16px;
}

/* Overlay dégradé noir derrière le chat */
  #chat-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: linear-gradient(180deg, rgba(0,0,0,0.88) 0%, rgba(0,0,0,0.66) 100%);
    z-index: 9998; /* juste sous la fenêtre du chat */
    opacity: 0;
    transition: opacity .18s ease-in-out;
    backdrop-filter: blur(6px);
  }
  #chat-overlay.is-visible {
    display: block;
    opacity: 1;
  }

@media (min-width: 768px) {
  #chat-overlay {
    display: none !important;
  }
}
.chat-powered-by {display:none;}
.chat-get-started-footer {text-align:center;}
:root {
  --chat--input--send--button--color : #e74266!important;
	--chat--color-primary: #e74266;
	--chat--color-primary-shade-50: #db4061;
	--chat--color-primary-shade-100: #cf3c5c;
	--chat--color-secondary: #20b69e;
	--chat--color-secondary-shade-50: #1ca08a;
	--chat--color-white: #ffffff;
	
	--chat--color-light-shade-50: #e6e9f1;
	--chat--color-light-shade-100: #c2c5cc;
	--chat--color-medium: #d2d4d9;
	--chat--color-dark: #101330;
	--chat--color-disabled: #777980;
	--chat--color-typing: #404040;

	--chat--spacing: 1rem;
	--chat--border-radius: 0.25rem;
	--chat--transition-duration: 0.15s;

	--chat--window--width: 400px;
	--chat--window--height: 600px;

	--chat--header-height: auto;
	--chat--header--padding: var(--chat--spacing);
	--chat--header--background: #000!important;
	--chat--header--color: var(--chat--color-light);
	--chat--header--border-top: none;
	--chat--header--border-bottom: none;
	--chat--header--border-bottom: none;
	--chat--header--border-bottom: none;
	--chat--heading--font-size: 2em;
	--chat--header--color: var(--chat--color-light);
	--chat--subtitle--font-size: inherit;
	--chat--subtitle--line-height: 1.8;

	--chat--textarea--height: 50px;

	--chat--message--font-size: 1rem;
	--chat--message--padding: var(--chat--spacing);
	--chat--message--border-radius: var(--chat--border-radius);
	--chat--message-line-height: 1.8;
	--chat--message--bot--background: var(--chat--color-white);
	--chat--message--bot--color: var(--chat--color-dark);
	--chat--message--bot--border: none;
	--chat--message--user--background: var(--chat--color-secondary);
	--chat--message--user--color: var(--chat--color-white);
	--chat--message--user--border: none;
	--chat--message--pre--background: rgba(0, 0, 0, 0.05);

	--chat--toggle--background: var(--chat--color-primary);
	--chat--toggle--hover--background: var(--chat--color-primary-shade-50);
	--chat--toggle--active--background: var(--chat--color-primary-shade-100);
	--chat--toggle--color: var(--chat--color-white);
	--chat--toggle--size: 64px;
}

.chat-get-started-footer {
    font-size:12px!important;
}

.article-details h1 {
  color:#000;
}

.offcanvas-active .burger-icon>span, #modal-menu-toggler.active .burger-icon>span {
    background-color: #fff;
}

.offcanvas-menu .offcanvas-inner ul.menu>li li a {
    color: #fff;
}

.offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>a>.menu-toggler, .offcanvas-menu .offcanvas-inner ul.menu>li.menu-parent>.menu-separator>.menu-toggler {
    color: #fff;
}

.offcanvas-menu .offcanvas-inner {
    padding: 10px;
}

.offcanvas-menu li ul li {
    padding:5px 0;
}

.offcanvas-menu .d-flex.align-items-center.p-3.pt-4 {
  background-color:#000;
}

.sp-simpleportfolio .sp-simpleportfolio-description {
    width: 55%;
}
.sp-simpleportfolio .sp-simpleportfolio-meta {
    width: 45%;
}




.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover h3>a {
    color: #000;
}

.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info:hover {
    background: #f5f5f5;
    color: #000;
}

.sp-simpleportfolio-description h2 {text-transform:uppercase;}

.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-info {

  text-align: center;
}


.sp-simpleportfolio-client, .sp-simpleportfolio-created, .sp-simpleportfolio-tags {
    color: #999!important;
    font-style: italic;
}
#sp-main-body {
    padding: 50px 0;
}

.sp-simpleportfolio .sp-simpleportfolio-item .sp-vertical-middle>div .sp-simpleportfolio-title {
    margin-top: 38px;
}

.sp-scroll-up {
    left: 30px!important;
  bottom: 20px!important;
  
}

.formResponsive .formHorizontal p.formDescription {
    display: none;
}

.formResponsive .formHorizontal .formValidation {
    display: none;
}

.rsform-block {
	    width: 48%;
	    float: left;
}

.rsform-block-entete, .rsform-block-infos, .rsform-block-message, .rsform-block-approbation {
	width:100%;
}
.formResponsive .formHorizontal .formControlLabel {
    text-align: left!important;
      width: 100%;
}

.formResponsive .formHorizontal .formControls {
    margin-left: 0!important;
}


.formResponsive textarea, .formResponsive input[type="text"], .formResponsive input[type="password"] {
    background-color: #dedede;
    border: 0px solid #cccccc;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
    border-radius: 0px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
    -webkit-transition: border linear 0.2s, box-shadow linear 0.2s;
    -moz-transition: border linear 0.2s, box-shadow linear 0.2s;
    -ms-transition: border linear 0.2s, box-shadow linear 0.2s;
    -o-transition: border linear 0.2s, box-shadow linear 0.2s;
    transition: border linear 0.2s, box-shadow linear 0.2s;
}
.formResponsive select, .formResponsive textarea, .formResponsive input[type="text"], .formResponsive input[type="password"] {
    max-width: 100%;
    display: block;
    box-sizing: border-box;
    height: 45px;
    padding: 4px;
    margin-bottom: 9px;
    font-size: 16px;
    line-height: 18px;
    color: #333333;
    
}

.rsform-block-code-postal, .rsform-block-telephone, .rsform-block-objet {
	clear:both;
}

.rsform-block-adresse , .rsform-block-ville , .rsform-block-email, .rsform-block-prenom  {
	float:right;
}



.rsform-block-message textarea {
	width:100%;
	height:100px;
}

.rsform-block-envoyer {
	width:100%;
}

.formResponsive input.rsform-error, .formResponsive textarea.rsform-error, .formResponsive select.rsform-error {
    color: #ff0000!important;
    border: 2px solid #ff0000 !important;
}

input.rsform-submit-button {
	background-color: #9fb71f!important;
    padding: 5px 20px!important;
    background-image: none!important;
    border: none!important;
    border-radius: 0!important;
	-webkit-border-radius: 0!important;
    -moz-border-radius: 0!important;
	    font-size: 18px!important;
    width: 150px!important;
	float: right!important;
}

.col-sm-6.form-plain h2 {
	margin-top:0;
	padding-top:0;
}
.formResponsive {
	margin:0!important;
}

.formResponsive input[type="submit"], .formResponsive input[type="submit"]:hover, .formResponsive input[type="submit"]:active, .formResponsive input[type="submit"].active, .formResponsive input[type="submit"].disabled, .formResponsive input[type="submit"][disabled] {
	color: #ffffff;
    background-color: #997f4b;
	font-family: 'Roboto Slab', serif;
	border: 0;
    font-weight: bold;
    padding: 8px 25px;
	background-image:none;
	    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.7142857;
    border-radius: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.rsform-block.rsform-block-intro-copy {
	width:100%!important;
}

.rsform-block.rsform-block-captcha {
  width: 100%!important;
    margin-bottom: 25px!important;
}

.rsform-block-approbation .formControls {
    float: left;  
}

.rsform-block-approbation .formControlLabel {
  display:none;
}

.com-spsimpleportfolio #sp-main-body {
      padding: 50px 0;
}

a.button-portfolio, a.button-portfolio2 {
background-color: #e74266;
    color: #fff;
    padding: 5px;
    display: block;
    margin: 0 auto;
    border-radius: 10px;
  font-size: 14px;
}
a.button-portfolio2 {
text-align: center;
    padding: 10px;
      margin-top: 10px;
  }
a.button-portfolio:hover, a.button-portfolio2:hover {
    color: #000;
}

.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper .sp-simpleportfolio-overlay
 {
    background: none;

}
ul {list-style-type:none;padding:0;}
.article-details  ul {
    list-style-type: disclosure-closed;
    padding: revert;  
}
.logo img:hover {
    -webkit-animation-name: wobble-to-top-right;
    animation-name: wobble-to-top-right;
    -webkit-animation-duration: 1s;
    animation-duration: 1s;
    -webkit-animation-timing-function: ease-in-out;
    animation-timing-function: ease-in-out;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-items {
    border-top: 4px solid var(--color-primary);
}


ul.sp-dropdown-items li.sp-menu-item a:before {
    background-color: #EF0454;
}

ul.sp-dropdown-items li.sp-menu-item a {
    position:relative;
  font-size: 16px!important;
}


ul.sp-dropdown-items li.sp-menu-item:hover > a:before
{
    width: 100%;
    left: 0;
    right: auto;
}

ul.sp-dropdown-items li.sp-menu-item a:before {
    content: "";
    width: 0;
    height: 1px;
    bottom: 0;
    position: absolute;
    left: auto;
    right: 0;
    z-index: -1;
    transition: width 0.6s cubic-bezier(0.25, 0.8, 0.25, 1) 0s;
    background: var(--color-primary);
  z-index:1;
}

.sp-page-title .breadcrumb>li>a:hover {
    color: #ef0454;
}

@keyframes slideDownFade {
  to {
    opacity: 1;
    transform: translateY(0%);
  }
}

@keyframes glow {
  0%, 100% {
    text-shadow: none;
  }
  50% {
    text-shadow: 0 0 10px rgba(239, 4, 84, 0.8); /* #ef0454 */
  }
}

.breadcrumb {
  opacity: 0;
  transform: translateY(100%);
  animation: slideDownFade 0.5s ease forwards;
  animation-delay: 0.5s;
  animation-fill-mode: forwards;
}

h2.sp-page-title-heading {
  opacity: 0;
  transform: translateY(100%);
  animation: slideDownFade 0.5s ease forwards, glow 3s ease-in-out infinite;
  animation-delay: 0.5s, 1.3s; /* slide après 0.5s, glow après 0.5s + 0.8s */
  animation-fill-mode: forwards;
}




.sp-page-title .breadcrumb>span, .sp-page-title .breadcrumb>li, .sp-page-title .breadcrumb>li+li:before, .sp-page-title .breadcrumb>li>a, .sp-page-title .breadcrumb>.active {
    color: #777;
}

.breadcrumb .float-start {display:none;}

.sp-page-title .breadcrumb {
    justify-content: center;
    align-items: center;
  margin: 25px 0 0 0;
}
#sp-title {
    min-height: 0;
    overflow: hidden;
}
.sp-page-title {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: center;
    background-size: cover;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
      background-image: url(/images/2025/06/18/greg-rakozy-ompaz-dn-9i-unsplash.jpg#joomlaImage://local-images/2025/06/18/greg-rakozy-ompaz-dn-9i-unsplash.jpg?width=2400&height=1600);
  background-position: center -380px;
}

.sp-page-title {
    position: relative; /* requis pour positionner le ::after */
    overflow: hidden;
}

.sp-page-title::after {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0, 0, 0, 0.7);
    z-index: 1;
}

.sp-page-title > * {
    position: relative;
    z-index: 2; /* pour que le contenu reste visible */
}

#section-id-36890689-dde9-428f-be9b-9821a9bb4844 .sppb-row-container {margin:0;}
#sp-main-body {
	background: #ffffff;
}

.sp-megamenu-parent {
    list-style: none;
    padding: 0;
    margin: 0 -15px;
    z-index: 99;
    display: block;
    float: none;
    position: relative;
    width: max-content;
    margin: 0 auto;
}
.sppb-sp-slider-button .sp-slider-btn-icon {
  color:#fff!important;
}

.sppb-testimonial-carousel-designation {text-align:center;}

/*menu*/

#sp-search .d-flex {
	display: block !important;
}
.sp-megamenu-parent > li.active > a, 
.sp-megamenu-parent > li.active:hover > a {
	color: var(--color-primary);
}
#sp-header.transparent-header.header-sticky {
	background: #161616;
	height: 110px;
	top: 0px;
	position: fixed;
}
#sp-header .logo {
	height: 110px;
}
#sp-header .logo-image {
    width:150px;
	height: auto;
} 	

#sp-header.transparent-header {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 999;
	background-color: rgba(36, 38, 41, 0.102);
	box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.1);
	height: 110px;
}
#sp-header.transparent-header .sp-megamenu-parent > li > a {
	color: #ffffff;
}
.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
	line-height: 110px;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover {
	color: var(--color-primary);
}
#sp-header.transparent-header .burger-icon > span {
	background-color: #fff !important;
}
.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
	padding: 0px;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item {
	padding: 7px 20px;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:last-child {
	padding: 8px 20px;
}
.sp-megamenu-parent .sp-dropdown li.sp-menu-item:not(:last-child) {
	border-bottom: 1px solid rgba(14, 32, 77, 0.07);
}
/**/
#sp-header.transparent-header-two.header-sticky {
	height: 110px;
	top: 0px;
	position: fixed;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
  background: #161616;
}

#sp-header.transparent-header-two {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	z-index: 999;
	background-color: rgba(36, 38, 41, 0);
	box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0);
	height: 110px;
}
#sp-header.transparent-header-two .sp-megamenu-parent > li > a {
	color: #FFF;
}
#sp-header.transparent-header-two .burger-icon > span {
	background-color: #fff !important;
}

.sp-megamenu-parent>li:hover>a {
    color: var(--color-primary)!important;
}
/*.sp-megamenu-parent > li.active > a, .sp-megamenu-parent > li.active:hover > a {
    color: var(--color-primary)!important;
}*/

/**/
#sp-header.white-header.header-sticky {
	background: #ffffff;
	height: 110px;
	top: 0px;
	position: fixed;
	box-shadow: 0 0 10px 3px rgba(0, 0, 0, 0.05);
}

#sp-header.white-header {
	position: relative;
	height: 110px;
}
#sp-header.white-header .sp-megamenu-parent > li > a {
	color: #161616;
}
#sp-header.white-header .burger-icon > span {
	background-color: #fff !important;
}
/**/

.offcanvas-menu {
	background: #ffffff;
}
.offcanvas-menu .offcanvas-inner ul.menu > li a, 
.offcanvas-menu .offcanvas-inner ul.menu > li span,
.offcanvas-menu .offcanvas-inner ul.menu > li a:hover, 
.offcanvas-menu .offcanvas-inner ul.menu > li a:focus, 
.offcanvas-menu .offcanvas-inner ul.menu > li span:hover, 
.offcanvas-menu .offcanvas-inner ul.menu > li span:focus {
	color: #fff;
	opacity: 1;
}

.offcanvas-menu .offcanvas-inner ul.menu>li>a, .offcanvas-menu .offcanvas-inner ul.menu>li>span {
    font-size: 16px;
}

.offcanvas-menu .offcanvas-inner ul.menu li.active a {
    color: inherit !important; /* annule la règle globale */
}

.offcanvas-menu .offcanvas-inner ul.menu li.active > a {
    color: #fd286c !important; /* applique uniquement au lien parent */
}

.offcanvas-menu li {
        border-bottom: 1px solid #333 !important;
  
}

.offcanvas-menu li.item-166 {
  border:none!important;
}

/**/
#sp-menu .d-flex {
	display: block !important;
}
/*.sp-megamenu-parent {
	float: left !important;
}*/
#sp-top1 .d-flex {
	display: block !important;
}
@media (min-width: 1024px) {
.hide-hamburger-desktop #offcanvas-toggler {
	display: none !important;
}
}
@media (max-width: 1023px) {
body.ltr #offcanvas-toggler.offcanvas-toggler-right {
	margin-top: 40px;
}
.logo-image-phone {
  width:120px;
	height: auto !important;
}
 
}

/**/

.btn.disabled, 
.btn:disabled, 
fieldset:disabled .btn {
	opacity: 1;
}
.theme-btn,
.btn-primary.disabled, 
.btn-primary:disabled {
	background: var(--color-primary);
	border-color: var(--color-primary);
}
.theme-btn:before,
.btn-primary.disabled:before, 
.btn-primary:disabled:before,
.sppb-btn-custom:before {
	background-color: #ffffff;
	content: "";
	height: 150px;
	left: -75px;
	position: absolute;
	top: -35px;
	transform: rotate(35deg);
	transition: all 1600ms cubic-bezier(.19,1,.22,1);
	width: 60px;
	opacity: 0;
}
.theme-btn:hover:before,
.btn-primary.disabled:hover:before, 
.btn-primary:disabled:hover:before,
.sppb-btn-custom:hover:before {
	left: 120%;
	transition: all 1300ms cubic-bezier(.19,1,.22,1);
	opacity: .35;
}
.theme-btn,
.btn-primary.disabled, 
.btn-primary:disabled,
.sppb-btn-custom {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.theme-btn:hover {
  color: #ffffff;
}
.theme-btn {
	padding: 16px 35px;
	font-size: 14px;
	justify-content: center;
	font-weight: 600;
	border: none;
	outline: none;
	box-shadow: none;
	height: 60px;
	line-height: 60px;
	border-radius: 10px;
	color: #ffffff;
	padding: 0px 38px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	text-transform: uppercase;
	display: block;
	text-align: center;
	margin-top: 40px;
}
.theme-btn-black {
	background: #161616;
}
.mb-30 {
	margin-top: 30px;
}
.bd-pricing-active {
	background: var(--color-primary);
	border-color: var(--color-primary);
}

/**/
.bd-about-img {
	position: relative;
}
.bd-about-img .bd-about-seconday-img {
	position: absolute;
	top: 60px;
	right: 30px;
}
.rounded-10 {
	border-radius: 10px;
}
.img, 
img {
	max-width: 100%;
	transition: all 1.5s cubic-bezier(0, 0, 0.2, 1);
}

.bd-about-shape-box .bd-about-shape-3 {
	margin-right: 50px;
	margin-top: -20px;
	-webkit-animation: hero-circle-1 6s linear 0s infinite alternate;
	-moz-animation: hero-circle-1 6s linear 0s infinite alternate;
	-o-animation: hero-circle-1 6s linear 0s infinite alternate;
	animation: hero-circle-1 6s linear 0s infinite alternate;
	top: 0;
	right: 0;
}
.bd-about-shape-box .bd-about-shape-4 {
	right: 40px;
	top: 0;
	margin-right: 40px;
	margin-top: 12px;
	animation-duration: 2.5s;
	-webkit-animation: hero-thumb-animation 4s linear infinite alternate;
	-moz-animation: hero-thumb-animation 4s linear infinite alternate;
	-o-animation: hero-thumb-animation 4s linear infinite alternate;
	animation: hero-thumb-animation 4s linear infinite alternate;
}
.bd-about-shape-box .bd-about-shape-5 {
	bottom: -30px;
	left: 220px;
	animation-duration: 2.5s;
	animation-fill-mode: both;
	animation-iteration-count: infinite;
	animation-name: hero-bounce;
}
@media only screen and (min-width: 1200px) and (max-width: 1399px) {
.bd-about-shape-box .bd-about-shape-5 {
	left: 130px;
}
}
.bd-about-shape-box .bd-about-shape {
	position: absolute;
}

.bd-about-shape-box .bd-about-shape-6 {
	bottom: 25px;
	left: -46px;
	z-index: -1;
	-webkit-animation: hero-dot-1 2s linear 0s infinite alternate;
	-moz-animation: hero-dot-1 2s linear 0s infinite alternate;
	-o-animation: hero-dot-1 2s linear 0s infinite alternate;
	animation: hero-dot-1 2s linear 0s infinite alternate;
}

/*animation keyframe*/

@keyframes hero-dot-1 {
    0% {
        transform: translateY(-60px);
    }
    100% {
        transform: translateY(0px);
    }
}
@keyframes hero-dot-2 {
    0% {
        transform: translateY(0px);
    }
    100% {
        transform: translateY(-60px);
    }
}

@keyframes hero-bounce {
    0%, 20%, 50%, 80%, 100% {transform: translateY(0);}
    40% {transform: translateY(-30px);}
    60% {transform: translateY(-15px);}
}
@keyframes hero-thumb-animation {
	0% {
	  -webkit-transform: translateX(80px);
	  -moz-transform: translateX(80px);
	  -ms-transform: translateX(80px);
	  transform: translateX(80px);
	}
	100% {
	  -webkit-transform: translateX(0px);
	  -moz-transform: translateX(0px);
	  -ms-transform: translateX(0px);
	  transform: translateX(0px);
	}
  }
  @keyframes hero-thumb-animation2 {
	0% {
	  -webkit-transform: translateX(-80px);
	  -moz-transform: translateX(-80px);
	  -ms-transform: translateX(-80px);
	  transform: translateX(-80px);
	}
	100% {
	  -webkit-transform: translateX(0px);
	  -moz-transform: translateX(0px);
	  -ms-transform: translateX(0px);
	  transform: translateX(0px);
	}
}
@-webkit-keyframes hero-circle-1 {
  from {
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes hero-circle-1 {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.hero-circle-1 {
  -webkit-animation: rotating 2s linear infinite;
  -moz-animation: rotating 2s linear infinite;
  -ms-animation: rotating 2s linear infinite;
  -o-animation: rotating 2s linear infinite;
  animation: rotating 2s linear infinite;
}
/**/
.mb-30 {
	padding-bottom: 30px;
}
.bd-choose-img .bd-choose-shape-2 {
  position: absolute;
  top: 85px;
  left: 220px;
  z-index: -1;
  animation: hero-dot-1 2s linear 0s infinite alternate;
}
/*portfolio*/

.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li > a {
	display: block;
	padding: 12px 35px;
	background: #F9F9F9;
	color: #161616;
	text-decoration: none;
	border-radius: 10px;
	font-weight: 500;
}

.sp-simpleportfolio .sp-simpleportfolio-filter > ul > li.active > a {
	background: var(--color-primary);
	color: #ffffff;
	font-weight: 500;
}

.sp-simpleportfolio-btns {
	display: none ;
}
.sp-simpleportfolio .sp-simpleportfolio-item .sp-vertical-middle > div .sp-simpleportfolio-title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.5;
	color: #ffffff;
}
h4.sp-tags {
	font-size: 14px;
	color: #fff;
	display: block;
	font-weight: 500;
}

.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper,
.sp-simpleportfolio .sp-simpleportfolio-img,
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper .sp-simpleportfolio-overlay {
	border-radius: 10px !important;
}


.sp-simpleportfolio-all {
    bottom: -100px;
    transition: all 0.3s ease-out 0s;
    z-index: 2;
}
.sp-simpleportfolio .sp-simpleportfolio-item:hover .sp-simpleportfolio-overlay .sp-simpleportfolio-all {
bottom: 130px;
    text-align: center;
    padding: 22px;
}
.sp-simpleportfolio .sp-simpleportfolio-item:hover .sp-simpleportfolio-img {
	transform:none;
  
}
.sp-simpleportfolio-description h2 {
	font-size: 40px!important;
	line-height: 1.16;
	color: #161616;
  text-transform: uppercase;
}

@media only screen and (max-width: 768px) {
    .sp-simpleportfolio .sp-simpleportfolio-meta {
        width: auto;
        float: none;
        padding-left: 0;
    }
      .sp-simpleportfolio .sp-simpleportfolio-description {
        width: auto;
        float: none;
        margin-bottom: 30px;
    }
  .sp-simpleportfolio-description h2 {
    font-size: 26px !important;
}
}

.sp-simpleportfolio .sp-simpleportfolio-item .sp-vertical-middle>div .sp-simpleportfolio-title a {
    text-decoration: none;
    color: #e74266;
    text-transform: uppercase;
    font-weight: bold;
}

.sp-simpleportfolio-description h3{
	font-size: 28px;
	font-weight: 600;
	color: #161616;
}
.sp-simpleportfolio-meta {
	padding: 30px 30px 30px 30px;
	border-radius: 10px;
	background: #F9F9F9;
}
.sp-simpleportfolio .sp-simpleportfolio-meta h4 {
	font-size: 14px !important;
	color: #6a6a6a!important;
	margin-bottom: 5px;
	font-weight: 500!important;
}
.sp-simpleportfolio-client,
.sp-simpleportfolio-created,
.sp-simpleportfolio-tags {
	font-size: 16px;
	font-weight: 500;
	color: #161616;
}
.sp-simpleportfolio .sp-simpleportfolio-meta .btn-primary {
	width: 100%;
}
.btn-primary {
	font-size: 14px;
	font-weight: 600;
	border: none;
	outline: none;
	box-shadow: none;
	height: 60px;
	line-height: 60px;
	border-radius: 10px;
	color: #ffffff;
	background-color: var(--color-primary);
	padding: 0px 38px;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	text-transform: uppercase;
}
.sppb-btn-primary:hover,
.btn-primary:hover {
	background-color: var(--color-primary);
}
.btn-primary:before {
	background-color: #ffffff;
	content: "";
	height: 150px;
	left: -75px;
	position: absolute;
	top: -35px;
	transform: rotate(35deg);
	transition: all 1600ms cubic-bezier(.19,1,.22,1);
	width: 60px;
	opacity: 0;
}
.btn-primary:hover:before {
	left: 120%;
	transition: all 1300ms cubic-bezier(.19,1,.22,1);
	opacity: .25;
}
.btn-primary {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
}
.sp-simpleportfolio .sp-simpleportfolio-description {
	padding-right: 5%;
}
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper, 
.sp-simpleportfolio .sp-simpleportfolio-img, 
.sp-simpleportfolio .sp-simpleportfolio-item .sp-simpleportfolio-overlay-wrapper .sp-simpleportfolio-overlay {
	width: 100%;
}
/*blog*/
.sp-page-title {
	/*background: var(--sp-page-title);*/
	padding-top: 195px;
	padding-bottom: 110px;
}
.sp-page-title .sp-page-title-heading {
	font-weight: 700;
	line-height: 1.12;
	color: #FFF;
	margin-bottom: 10px;
	text-align: center;
	font-size: 76px
}

@media (max-width: 768px) {
  .sp-page-title .sp-page-title-heading {
    font-size: 40px; /* taille réduite pour mobile/tablette */
  }
  #column-id-1654359468230 .pull-left {
    width: 100%;
    float: none !important;
  }

#column-id-1654359468230  .sppb-media {text-align:center;}
}

#column-id-28cbc652-7e76-4aea-9b7f-e3c222cd3ea3 .pull-left, #column-id-b5a8b029-e4c4-4a74-8a2a-a910b089548b  .pull-left, #column-id-6b3707d1-53da-4ab2-8a2f-ac29a090045d  .pull-left {
    width: 100%;
    float: none !important;
  }

#column-id-28cbc652-7e76-4aea-9b7f-e3c222cd3ea3 .sppb-media, #column-id-b5a8b029-e4c4-4a74-8a2a-a910b089548b  .sppb-media, #column-id-6b3707d1-53da-4ab2-8a2f-ac29a090045d  .sppb-media {text-align:center;}
}


.article-list .article .article-body {
	padding: 25px 35px 30px 35px;
	background-color: #F9F9F9;
	border-radius: 0px 0px 10px 10px;
}
.article-list .article .readmore a,
.article-info > span a,
.article-info span,
.article-info a {
	font-size: 14px;
	font-weight: 500;
	color: #6a6a6a;
	text-transform: uppercase !important;
}
.article-list .article .article-header h2 {
	font-size: 21px;
	line-height: 1.45;
	font-weight: 600;
}
.article-list .article .article-header h2 a {
	color: #161616;
}
.article-info > span a:hover,
.article-list .article .readmore a:hover, 
.article-list .article .readmore a:active, 
.article-list .article .readmore a:focus,
.article-list .article .article-header h2 a:hover {
	color: var(--color-primary);
}

.article-list .article {
	padding: 0px;
	padding: 0px;
	border: 0px solid #f5f5f5;
	border-radius: 10px;
}
.article-list .article .article-intro-image img, 
.article-list .article .article-featured-video img, 
.article-list .article .article-featured-audio img, 
.article-list .article .article-feature-gallery img {
	border-radius: 10px 10px 0 0;
}
.article-list .article .article-intro-image, 
.article-list .article .article-featured-video, 
.article-list .article .article-featured-audio, 
.article-list .article .article-feature-gallery {
	margin: 0px;
	border-radius: 10px 10px 0 0;
	border-bottom: 0px solid #f5f5f5;
}
.article-details .article-full-image img {
	border-radius: 10px;
	width: 100%;
}
.article-details .article-header h1 {
	font-size: 48px;
	font-weight: 700;
	line-height: 1.16;
	color: #161616;
}
blockquote {
	padding: 40px;
	color: #6A6A6A;
	position: relative;
	background: #F9F9F9;
	font-style: normal;
	text-align: left;
	clear: both;
	font-weight: 400;
	border-radius: 10px;
	box-shadow: 0px 1px 2px 0px rgba(10, 0, 58, 0.14);
	border: 1px border solid #EFEFEF;
	margin-bottom: 30px;
	padding-bottom: 25px;
}
blockquote cite {
	font-size: 16px;
	font-weight: 500;
	display: block;
	margin-top: 10px;
	color: #161616;
	font-style: inherit;
}
blockquote cite:before {
	content: "";
	display: inline-block;
	background: var(--color-primary);
	height: 2px;
	width: 40px;
	top: -4px;
	margin-right: 10px;
	position: relative;
}

blockquote:before {
    content: "\f10e";
    font-family: "Font Awesome 5 Free";
    padding-right: 15px;
    font-size: 32px;
    font-weight: 900;
    transition: all 0.4s ease-out 0s;
	color: var(--color-primary);
	display: inline-block;
}


.article-details h3 {
	font-size: 28px;
	margin-bottom: 15px;
	font-weight: 600;
	color: #161616;
}
.article-details img {
	margin-bottom: 20px;
	border-radius: 10px !important;
	width: 100%;
}

#sp-left .sp-module .sp-module-title, 
#sp-right .sp-module .sp-module-title {
	font-size: 20px;
	position: relative;
	padding-bottom: 10px;
	font-weight: 600;
	color: #161616;
	border-bottom: 0px solid #f3f3f3;
}
#sp-left .sp-module .sp-module-title:before, 
#sp-right .sp-module .sp-module-title:before {
	position: absolute;
	content: "";
	left: 0;
	bottom: 0;
	width: 60px;
	height: 2px;
	background: var(--color-primary);
}
.sp-module ul > li > a:hover {
	color: var(--color-primary);
}
#sp-left .sp-module, 
#sp-right .sp-module {
	border: 0px solid #fff;
	padding: 0;
}
.form-search .form-control {
	width: 100%;
	height: 60px;
	padding: 0 20px;
	background: #F9F9F9;
	color: #6A6A6A;
	border-radius: 10px;
	border: 0px solid #fff;
}
#sp-right {
	padding-left: 4%;
}
#sp-left {
	padding-right: 4%;
}
#sp-left .sp-module ul > li > a, 
#sp-right .sp-module ul > li > a {
  color: #6A6A6A;
}
#sp-left .sp-module ul > li > a:hover, 
#sp-right .sp-module ul > li > a:hover {
  color: var(--color-primary);
}
#sp-left .sp-module ul > li, 
#sp-right .sp-module ul > li {
	border-bottom: 0px solid #f3f3f3;
}
#sp-right .categories-module li,
#sp-right .categories-module li a {
	position: relative;
}
#sp-left .categories-module li a,
#sp-right .categories-module li a {
	padding-left: 0px !important;
}
#sp-right .categories-module li a:before {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    padding-right: 15px;
    font-size: 14px;
    font-weight: 900;
    transition: all 0.4s ease-out 0s;
	color: var(--color-primary);
}


#search-form .form-control {
	height: 60px;
}
/**/
.bd-team-four span {
  font-size: 15px;
  color: #ffffff;
  display: inline-block;
  margin-bottom: 20px;
}
.bd-team-four .bd-team-four-text {
  position: absolute;
  left: 0px;
  right: 0px;
  margin: 0 auto;
  bottom: -100%;
  -webkit-transition: all 0.5s ease-out 0s;
  -moz-transition: all 0.5s ease-out 0s;
  -ms-transition: all 0.5s ease-out 0s;
  -o-transition: all 0.5s ease-out 0s;
  transition: all 0.5s ease-out 0s;
  text-align: center;
  z-index: 2;
}
.bd-team-four:hover .bd-team-four-text {
  bottom: 30px;
}

.bd-team-four-title {
  font-size: 20px;
  font-weight: 600;
  margin-bottom: 5px;
  color: #ffffff;
}

.bd-team-four-social ul li {
  display: inline-block;
  list-style: none;
  margin: 0px 5px;
}
.bd-team-four-social ul li a {
  height: 36px;
  width: 36px;
  line-height: 36px;
  display: inline-block;
  border-radius: 3px;
  font-size: 14px;
  color: #ffffff;
  text-align: center;
  background: rgba(22, 22, 22, 0.22);
}
.bd-team-four-social ul li a:hover {
  background: var(--color-primary);
}
/**/

#sppb-modal-1654637799693 h3 {
	font-size: 22px !important;
	color: #161616 !important;
	font-weight: 600 !important;
	margin: 15px 0 !important;
}

#sppb-modal-1654637799693.white-popup-block {
	max-width: 385px;
	height: 100vh !important;
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	margin-top: 0 !important;
	transition: 0.6s cubic-bezier(1, 0, 0, 1);
}

#sppb-modal-1654637799693.white-popup-block .col-4 {
	padding-right: 0px !important;
	margin-bottom: 20px !important;
}
/**/
.page-item.active .page-link,
.pagination > .active > a:hover, 
.pagination > .active > a:focus, 
.pagination > .active > span:hover, 
.pagination > .active > span:focus {
	border-color: var(--color-primary) !important;
	background-color: var(--color-primary) !important;
}
.pagination {
	margin-top: 20px;
}

.sppb-article-info-wrap .tags {
	display: none;
}

@media (min-width: 1024px) {
#sp-top1 .sppb-icon-inner {
	margin-left: -50px !important;
	position: relative !important;
}
}
#sppb-addon-1654637799693 .sppb-modal-selector span > i {
	vertical-align: middle !important;
}
#column-id-1654609745567 #sppb-addon-1654609745596 {
  margin-left: -30px;
}
#sppb-addon-1654609745596 .sppb-addon-form-builder-form .sppb-form-group select, 
#sppb-addon-1654609745596 .sppb-addon-form-builder-form .sppb-form-group input:not([type="checkbox"]):not([type="radio"]) {
	padding: 20px !important;
}

.sp-simpleportfolio-overlay {
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  background: rgba(0, 0, 0, 0.6);
  transition: opacity 0.3s ease;
}

.sp-simpleportfolio-overlay-wrapper:hover .sp-simpleportfolio-overlay {
  opacity: 1;
}

.button-portfolio {
  background: var(--color-primary);
  color: #fff;
  padding: 12px 20px;
  border-radius: 4px;
  text-decoration: none;
  font-weight: 600;
  transform: translateY(100px);  /* décalage initial vers le bas */
  opacity: 0;                   /* invisible au départ */
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.sp-simpleportfolio-overlay-wrapper:hover .button-portfolio {
  transform: translateY(0);     /* remonte à sa position */
  opacity: 1;                   /* devient visible */
}

/* ===== Off-canvas MOBILE only (no HTML change) ===== */

  .offcanvas-menu {
    --oc-bg: #0f1115;
    --oc-text: #e9edf5;
    --oc-muted: #a5adc1;
    --oc-accent: var(--color-primary, #6c5ce7);
    --oc-border: rgba(255,255,255,.12);
    background: var(--oc-bg);
    color: var(--oc-text);
    -webkit-tap-highlight-color: transparent;
  }


