/* ----------------------------------------------------------------------------------------
* Copyright Pascal Evrard - Agence afondlacom' - 2026
* Site          : YogaTimeSxm - Studio de yoga à Beuvrequen (Côte d'Opale)
* Fichier       : Feuille de styles principale
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* SOMMAIRE
----------------------------------------------------------------------------------------
01. Variables globales
02. CSS général
03. CSS du header
04. CSS du hero
05. CSS à propos
06. CSS des services
07. CSS pourquoi nous choisir
08. CSS des bienfaits
09. CSS des caractéristiques
10. CSS de la vidéo d'intro
11. CSS des tarifs
12. CSS de la prise de rendez-vous
13. CSS des témoignages
14. CSS de la FAQ
15. CSS du blog
16. CSS du bandeau défilant
17. CSS du footer
18. CSS de la page à propos
19. CSS de la page prestations
20. CSS de la prestation individuelle
21. CSS des archives du blog
22. CSS de l'article de blog
23. CSS de la page équipe
24. CSS du membre de l'équipe
25. CSS de la page tarifs
26. CSS de la page témoignages
27. CSS de la galerie d'images
28. CSS de la galerie vidéo
29. CSS de la page FAQ
30. CSS de la page contact
31. CSS de la page prise de rendez-vous
32.	CSS de la page 404
33. CSS responsive
34. CSS accueil - version 2
35. CSS accueil - version 3
-------------------------------------------------------------------------------------- */

/************************************/
/*** 	 01. Variables globales	  ***/
/************************************/

:root{
	--primary-color				: #000000;
	--secondary-color			: #F6EEE4;
	--bg-color					: #FFFEF6;
	--text-color				: #666666;
	--accent-color				: #d14200;
	--white-color				: #FFFFFF;
	--divider-color				: #0000001A;
	--dark-divider-color		: #FFFFFF1A;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Bricolage Grotesque", sans-serif;
}

/************************************/
/*** 	   02. CSS général		  ***/
/************************************/

html,
body{
	width: 100%;
	overflow-x: clip;
}

body{
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1em;
	color: var(--text-color);
	background: var(--bg-color);
}

::-webkit-scrollbar-track{
	background-color: var(--primary-color);
	border-left: 1px solid var(--primary-color);
}

::-webkit-scrollbar{
	width: 7px;
	background-color: var(--primary-color);
}

::-webkit-scrollbar-thumb{
	background: var(--accent-color);
}

::selection{
	color: var(--white-color);
	background-color: var(--primary-color);
	filter: invert(1);
}

p{
	line-height: 1.6em;
	margin-bottom: 1.5em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	font-weight: 600;
	line-height: 1.2em;
	color: var(--primary-color);
	margin: 0;
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

a{
	text-decoration: none;
}

a:hover{
	text-decoration: none;
	outline: 0;
}

a:focus{
	text-decoration: none;
	outline: 0;
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
    padding-right: 15px;
    padding-left: 15px;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.3);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default{
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	line-height: 1em;
	text-transform: capitalize;
	background: var(--accent-color);
	color: var(--white-color);
	border-radius: 100px;
	padding: 17px 24px 17px 55px;
	border: none;
	overflow: hidden;
	box-shadow: none;
	outline: none;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.btn-default:hover{
	padding: 17px 55px 17px 24px;
}

.btn-default.btn-white{
	color: var(--primary-color);
	background-color: var(--white-color);
}

.btn-default::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 5px;
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	background-color: var(--white-color);
	border-radius: 50%;
	background-image: url('../images/arrow-primary.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 14px auto;
	transition: all 0.4s ease-in-out;
}

.btn-default:hover::before{
	left: 100%;
	transform: translate(calc(100% - 85px), -50%) rotate(45deg);	
}

.btn-default.btn-white::before{
	background-color: var(--accent-color);
	background-image: url('../images/arrow-white.svg');
}

.btn-default::after{ 
	content: '';
    display: block;
    position: absolute;
    top: 0;
	right: 0;
    bottom: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: var(--primary-color);
	border-radius: 100px;
    transition: all 0.4s ease-in-out;
    z-index: -1;
}

.btn-default:hover:after{
    left: 0;
	width: 100%;
}

.btn-default.btn-highlighted:hover{
	color: var(--primary-color);
}

.btn-default.btn-highlighted:hover:before{
	background-color: var(--accent-color);
	background-image: url('../images/arrow-white.svg');
}

.btn-default.btn-white::after,
.btn-default.btn-highlighted::after{
	background-color: var(--secondary-color);
}

.readmore-btn{
	position: relative;
    display: inline-block;
    font-weight: 600;
    line-height: 1em;
    text-transform: capitalize;
    color: var(--primary-color);
    padding: 5px 36px 5px 0;
}

.readmore-btn::before{
	content: '';
    position: absolute;
    top: 50%;
    right: 0;
	width: 26px;
	height: 26px;
	transform: translateY(-50%);
	background-color: var(--accent-color);
	border-radius: 50%;
	background-image: url('../images/arrow-white.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 12px auto;
    transition: all 0.4s ease-in-out;
}

.readmore-btn:hover::before{
	transform: translateY(-50%) rotate(45deg);
}

.cb-cursor:before{
	background: var(--primary-color);
}

.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: #ffffff;
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-container,
.loading{
	height: 100px;
	position: relative;
	width: 100px;
	border-radius: 100%;
}

.loading-container{
	margin: 40px auto;
}

.loading{
	border: 1px solid transparent;
	border-color: transparent rgba(209, 66, 0, 0.22) transparent rgba(209, 66, 0, 0.22);
	animation: rotate-loading 1.5s linear 0s infinite normal;
	transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading{
	transition: all 0.5s ease-in-out;
}

#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: 66px;
	transform: translate(-50%, -50%);
}

@keyframes rotate-loading{
	0%{
		transform: rotate(0deg);
	}
	100%{
		transform: rotate(360deg);
	}
}

.light-section{
	background-color: var(--secondary-color);
}

.light-section .container-fluid{
	padding: 0;
}

.dark-section{
	background-color: var(--accent-color);
	background-image: url('../images/dark-section-bg-image.png');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0; 
}

.section-row .section-title.section-title-center{
	width: 100%;
	max-width: 700px;
	margin: 0 auto;
	text-align: center;
}

.section-btn{
	text-align: right;
}

.section-content-btn .section-btn{
	margin-top: 30px;
	text-align: left;
}

.section-title-content p{
	margin-bottom: 20px;
}

.section-title-content p:last-child{
	margin-bottom: 0;	
}

.section-title{
	margin-bottom: 40px;
}

.section-sub-heading,
.section-title .section-sub-title{
	position: relative;
	display: inline-block;
	font-size: 14px;
	font-weight: 500;
	line-height: normal;
	text-transform: capitalize;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 8px 16px 8px 30px;
    margin-bottom: 15px;
}

.section-sub-heading,
.section-title .section-sub-title::before{
	content: '';
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    background: var(--accent-color);
    border-radius: 50%;
    width: 6px;
    height: 6px;
}

.section-title h1{
	font-size: 66px;
	line-height: 1.1em;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title h2{
	font-size: 46px;
	line-height: 1.1em;
	letter-spacing: -0.02em;
	margin-bottom: 0;
	cursor: none;
}

.section-title p{
	margin-top: 20px;
	margin-bottom: 0;
}

.dark-section .section-title .section-sub-title,
.dark-section .section-title h1,
.dark-section .section-title h2,
.dark-section .section-title p,
.dark-section .section-title-content p{
	color: var(--white-color);
}

.dark-section .section-title .section-sub-title{
	border-color: var(--dark-divider-color);
}

.dark-section .section-title .section-sub-title::before{
	background: var(--white-color);
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

/************************************/
/**** 	    03. CSS du header		 ****/
/************************************/

header.main-header{
	position: absolute;
	top: 30px;
	right: 15px;
	left: 15px;
	z-index: 100;
}

header.main-header .header-sticky{
    position: relative;
	max-width: 1300px;
	top: 0;
	border: 1px solid var(--dark-divider-color);
	background: var(--divider-color);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
    border-radius: 100px;
    margin: 0 auto;
	z-index: 100;
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 15px;
	left: 15px;
	right: 15px;
    transform: translateY(0);
	background: var(--primary-color);
	border-radius: 100px;
}

.navbar{
	padding: 15px 0px;
	align-items: center;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 1.042vw;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul li{
	margin: 0 10px;
	position: relative;
}

.main-menu ul li a{
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2em;
	padding: 12px 10px !important;
	color: var(--white-color);
	background: transparent;
	border-radius: 0px;
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.main-menu ul li.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
}

.main-menu ul li a:hover,
.main-menu ul li a:focus{
	color: var(--accent-color);
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scale(1,0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 235px;
	border-radius: 20px;
	position: absolute;
	left: 0;
	top: 100%;
	background: var(--accent-color);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 235px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scale(1,1);
    padding: 5px 0;
}

.main-menu ul li.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul li{
	margin: 0;
	padding: 0;
}

.main-menu ul ul li a{
	color: var(--white-color);
	padding: 8px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul ul li a:hover,
.main-menu ul ul li a:focus{
	color: var(--primary-color);
	background-color: transparent;
	padding: 8px 20px 8px 23px !important;
}

.main-menu ul li.highlighted-menu{
    display: none;
}

.header-btn{
	line-height: 0;
}

.responsive-menu,
.navbar-toggle{
	display: none;
}

.responsive-menu{
	position: relative;
	top: 0;
}

.slicknav_btn{
	background: var(--accent-color);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 6px;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--white-color);
	border-radius: 6px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
    opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
    transform: rotate(45deg) translate(-5px, -5px);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: var(--accent-color);
}

.slicknav_menu ul{
	margin: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-size: 16px;
	font-weight: 600;
	text-transform: capitalize;
	padding: 7px 20px;
	color: var(--white-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--primary-color);
}

.slicknav_menu ul ul li a{
    padding: 7px 20px 7px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	position: absolute;
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 12px;
	margin-left: 8px;
	color: var(--white-color);
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-50%) rotate(-180deg);
	color: var(--primary-color);
}

/************************************/
/*** 	    04. CSS du hero	      ***/
/************************************/

.hero{
	position: relative;
	background-image: url('../images/hero-bg-image.jpg');
	background-position: center center;
	min-height: 980px;
	align-content: end;
    padding: 230px 0 120px;
	overflow: hidden;
}

.hero::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
  	background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.80) 100%);
    z-index: 1;
}

.hero .container{
	position: relative;
    z-index: 2;
}

.hero-content .section-title .section-sub-title{
	background: var(--dark-divider-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	border: none;
	padding: 10px 16px 10px 32px;
}

.hero-body{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 20px;
}

.video-play-button a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	cursor: none;
}

.video-play-button a span{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	color: var(--white-color);
	display: flex;
	justify-content: center;
	align-items: center;
}

.video-play-button a span.bg-effect:before,
.video-play-button a span.bg-effect:after{
	content: '';
	position: absolute;
    width: 160%;
    height: 160%;
	border: 35px solid var(--white-color);
	opacity: 50%;
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
}

.video-play-button a span.bg-effect:after{
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button a span i{
    font-size: 16px;
    color: inherit;
    margin-left: 2px;
}

.video-play-button p{
	font-size: 16px;
	font-weight: 700;
	color: var(--white-color);
	margin: 0;
}

.hero-info-box{
	max-width: 335px;
	border: 1px solid var(--dark-divider-color);
	background-color: var(--divider-color);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 20px;
	padding: 40px;
	margin-left: auto;
}

.hero-info-client-content{
	margin-bottom: 20px;
}

.hero-info-client-content p{
	font-weight: 500;
	color: var(--white-color);
	margin: 0;
}

.satisfy-client-images{
	display: flex;
	align-items: center;
}

.satisfy-client-image{
	position: relative;
    display: inline-block;
    margin-left: -10px;
	border: 1px solid var(--white-color);
	border-radius: 50%;
	overflow: hidden;
	z-index: 1;
}

.satisfy-client-image:first-child{
	margin: 0;
}

.satisfy-client-image figure{
	display: block;
}

.satisfy-client-image figure img{
	width: 100%;
	max-width: 50px;
	border-radius: 50%;
}

.satisfy-client-image.add-more{
	width: 52px;
	height: 52px;
	background-color: var(--accent-color);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.3s ease-in-out;
}

.satisfy-client-image.add-more i{
	font-size: 20px;
	color: var(--white-color);
}

.satisfy-client-image.add-more span{
	font-size: 16px;
	line-height: 1em;
	color: var(--white-color);
}

.hero-info-review-box{
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

.hero-info-review-box h2{
	font-size: 46px;
	line-height: 1em;
	color: var(--white-color);
}

.hero-info-review-box p{
	font-size: 16px;
	font-weight: 500;
	color: var(--white-color);
	margin: 10px 0 0;
}

.hero-info-review-box p i{
	font-size: inherit;
	color: inherit;
}

/************************************/
/*** 	   05. CSS à propos	      ***/
/************************************/

.about-us{
	padding: 120px 0;
}

.about-us-content{
	margin-right: 15px;
}

.about-us-list ul{
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
	list-style: none;
    margin: 0;
    padding: 0;
}

.about-us-list ul li{
	position: relative;
	width: calc(50% - 10px);
	line-height: 1.5em;
	padding-left: 25px;
}

.about-us-list ul li::before{
	content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.about-us-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 50px;
	background: linear-gradient(180deg, var(--secondary-color) 0%, transparent 100%);
	border-radius: 20px 20px 0 0;
	padding: 35px;
	margin-top: 40px;
}

.about-us-item{
	width: calc(50% - 25px);
	position: relative;
}

.about-us-item::before{
	content: '';
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
    width: 1px;
    height: 80%;
    background: var(--divider-color);
}

.about-us-item:nth-child(2n + 2)::before,
.about-us-item:last-child::before{
	display: none;
}

.about-us-item h2{
	font-size: 30px;
	line-height: 1em;
}

.about-us-item p{
	margin: 10px 0 0;
}

.about-us-btn{
	margin-top: 40px;
}

.about-us-image-box{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
}

.about-us-image-box::before{
	content: '';
	position: absolute;
	right: 83px;
	bottom: 7px;
	background-image: url('../images/section-bg-image-1.png');
	background-repeat: no-repeat;
    background-position: center center;
	background-size: cover;
	width: 94px;
	height: 180px;
	transform: rotate(-45deg) rotateY(180deg);
}

.about-us-image-box-1{
	width: 64%;
	display: flex;
	flex-wrap: wrap;
	align-items: end;
}

.about-us-image-1{
	position: relative;
	width: 20%;
	z-index: 2;
}

.about-us-image-2{
    width: 80%;
	margin-bottom: 75px;
}

.about-us-image-1 figure,
.about-us-image-2 figure{
	display: block;
	border-radius: 999px 999px 100px 100px;
}

.about-us-image-1 figure img,
.about-us-image-2 figure img{
	width: 100%;
    object-fit: cover;
    border-radius: 999px 999px 20px 20px;
}

.about-us-image-1 figure{
	border: 6px solid var(--white-color);
	margin-right: -180px;
}

.about-us-image-1 figure img{
	aspect-ratio: 1 / 1.2209;
}

.about-us-image-2  figure{
	margin-right: -76px;
}

.about-us-image-2  figure img{
	aspect-ratio: 1 / 1.398;
}

.about-us-image-box-2{
	position: relative;
	width: 36%;
	border: 4px solid var(--white-color);
	border-radius: 14px;
	margin-top: 105px;
	overflow: hidden;
	z-index: 1;
}

.about-us-image-3 figure{
	display: block;
}

.about-us-image-3 figure img{
	width: 100%;
	aspect-ratio: 1 / 1.1711;
	object-fit: cover;
}

.about-image-content{
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	text-align: center;
	z-index: 1;
}

.about-image-content a{
	display: block;
	background-color: var(--accent-color);
	color: var(--white-color);
	font-weight: 500;
	padding: 12px;
	transition: all 0.4s ease-in-out;
}

.about-image-content a:hover{
	background: var(--primary-color);
}

/************************************/
/***     06. CSS des services     ***/
/************************************/

.our-services{
	background-image: url('../images/section-bg-image-2.png');
    background-repeat: no-repeat;
    background-position: bottom -20px left;
    background-size: auto;
    padding: 120px 0;
}

.service-slider{
	height: 100%;
}

.service-slider .swiper{
	height: 100%;
	padding-bottom: 70px;
}

.service-item{
	position: relative;
	height: 100%;
	min-height: 450px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	background: var(--white-color);
	border-radius: 20px;
	padding: 40px;
	overflow: hidden;
}

.service-item-header{
	position: relative;
	z-index: 2;
}

.service-item-number h2{
	font-size: 20px;
	transition: all 0.4s ease-in-out;
}

.service-item-content{
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	margin-top: 20px;
	transition: all 0.4s ease-in-out;
}

.service-item-content h2{
	font-size: 20px;
}

.service-item-content h2 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.service-item-content p{
	margin: 10px 0 0;
	transition: all 0.4s ease-in-out;
}

.service-slider .swiper-slide.swiper-slide-next .service-item-number h2,
.service-slider .swiper-slide.swiper-slide-next .service-item-content h2,
.service-slider .swiper-slide.swiper-slide-next .service-item-content p{
	color: var(--white-color);
}

.service-slider .swiper-slide.swiper-slide-next .service-item-content{
	border-color: var(--dark-divider-color);
}

.service-item .icon-box{
	padding-top: 110px;
}

.service-item .icon-box img{
	position: relative;
	width: 100%;
	max-width: 50px;
	transition: all 0.4s ease-in-out;
	z-index: 2;
}

.service-slider .swiper-slide.swiper-slide-next .icon-box img{
	filter: brightness(0) invert(1);
}

.service-item-image{
	position: absolute;
	right: 0;
	bottom: 0;
	transform: translate(40px, 40px);
	width: 240px;
	height: 240px;
	border-radius: 50%;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.service-slider .swiper-slide.swiper-slide-next .service-item-image{
	top: auto;
	left: auto;
	width: 100%;
	height: 100%;
	transform: translate(0, 0);
	border-radius: 0px;
}

.service-item-image figure{
	position: relative;
    display: block;
    height: 100%;
}

.service-item-image figure::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;	
	background-color: var(--primary-color);
	opacity: 0;
	transition: all 0.4s ease-in-out;
}

.service-slider .swiper-slide.swiper-slide-next .service-item-image figure::before{
	opacity: 50%;
}

.service-item-image img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.service-pagination.swiper-pagination-bullets{
	position: absolute;
	bottom: 0;
	text-align: center;
}

.service-pagination .swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	background: var(--divider-color);
	border-radius: 20px;
	opacity: 1;
	margin: 0 3px;
	transition: all 0.3s ease-in-out;
}

.service-pagination .swiper-pagination-bullet-active{
	width: 30px;
	background: var(--accent-color);
}

.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.section-footer-text p{
	color: var(--primary-color);
	margin-bottom: 0;
}

.section-footer-text p span{
	display: inline-block;
	font-size: 14px;
	font-weight: 600;
	background: var(--accent-color);
	color: var(--white-color);
	line-height: 1em;
	padding: 5px 12px;
	border-radius: 100px;
	margin-right: 10px;
}

.section-footer-text p a{
	display: inline-block;
	font-weight: 600;
	text-transform: capitalize;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--accent-color);
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	color: var(--primary-color);
}

.section-footer-text ul{
	width: 100%;
	padding: 0;
	margin: 20px 0 0;
	list-style: none;
}

.section-footer-text ul li{
	display: inline-block;
	line-height: normal;
	color: var(--primary-color);
	margin-right: 10px;
}

.section-footer-text .section-footer-border-list li{
	border-right: 1px solid var(--divider-color);
	padding-right: 15px;
}

.section-footer-text .section-footer-border-list li:last-child{
	padding-right: 0;
	border-right: none;
}

.section-footer-text ul li b{
	font-weight: 600;
}

.section-footer-text ul li i{
	color: var(--accent-color);
}

.section-footer-text.section-footer-contact{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 20px;
}

.section-footer-text.section-footer-contact span{
	width: 30px;
    height: 30px;
    padding: 0;
    display: inline-flex;
    justify-content: center;
	align-items: center;
    margin-right: 10px;
}

.section-footer-text.section-footer-contact span img{
	width: 100%;
	max-width: 16px;
}

.section-footer-text.section-satisfy-img{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 15px 10px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image figure img{
	max-width: 30px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more{
	width: 32px;
	height: 32px;
    margin-left: -10px;
}

.section-footer-text.section-satisfy-img .satisfy-client-image.add-more img{
	max-width: 16px;
}

.section-footer-text.section-satisfy-img ul{
	margin: 0;
}

.dark-section .section-footer-text p,
.dark-section .section-footer-text ul li,
.dark-section .section-footer-text ul li i{
	color: var(--white-color);
}

.dark-section .section-footer-text p a:hover{
	color: var(--white-color);
}

.dark-section .section-footer-text ul li{
	border-color: var(--dark-divider-color);
}
 
.our-services .section-footer-text{
	margin-top: 40px;
}

/************************************/
/***     07. CSS pourquoi nous choisir    ***/
/************************************/

.why-choose-us{
	padding: 120px 0;
}

.why-choose-image-box{
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	background-image: url('../images/why-choose-bg-image.png');
	background-repeat: no-repeat;
	background-position: bottom 60px left 178px;
	background-size: auto;
}

.why-choose-image-box-1{
	position: relative;
    width: 47%;
	padding: 0 0 143px 60px;
}

.why-choose-image-box-2{
	position: relative;
	width: 53%;
	z-index: 1;
}

.why-choose-image{
	position: relative;
    z-index: 1;
}
 
.why-choose-image figure{
	display: block;
	border-radius: 20px;
}

.why-choose-image-box-1 .why-choose-image figure{
	margin-right: -210px
}

.why-choose-image figure img{
	width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.why-choose-image-box-1 .why-choose-image figure img{
	aspect-ratio: 1 / 1.1781;
}

.why-choose-image-box-2 .why-choose-image figure{
	border: 6px solid var(--white-color);
	border-radius: 26px 110px;
}

.why-choose-image-box-2 .why-choose-image figure img{
	aspect-ratio: 1 / 1.2571;
	border-radius: 20px 110px;
}

.why-choose-cta-box{
	position: absolute;
    top: 60px;
    left: 0;
    max-width: 192px;
    background: var(--accent-color);
    border-radius: 20px;
    padding: 25px;
    text-align: center;
    animation: movestyle 4s infinite alternate linear;
    z-index: 1;
}

@keyframes movestyle{
	50%{
		transform: translateX(20px);
	}
}

.why-choose-cta-box .icon-box{
	margin-bottom: 30px;
}

.why-choose-cta-box .icon-box img{
	width: 100%;
	max-width: 50px;
}

.why-choose-cta-content p{
	line-height: normal;
	color: var(--white-color);
	margin: 0 0 10px;
}

.why-choose-cta-content h3{
	font-size: 40px;
	color: var(--white-color);
}

.why-choose-body{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.why-choose-info-box,
.why-choose-counter-box{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 20px;
	border-radius: 20px;
	padding: 30px;
}

.why-choose-info-box{
	width: calc(57% - 15px);
	background: var(--secondary-color);
}

.why-choose-info-content h3{
	font-size: 20px;
}

.why-choose-info-content p{
	margin: 10px 0 0;
}

.why-choose-info-list{
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
}

.why-choose-info-list ul{
	list-style: none;
	padding: 0;
	margin: 0 ;
}

.why-choose-info-list ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.why-choose-info-list ul li:last-child{
	margin-bottom: 0;
}

.why-choose-info-list ul li::before{
	content: "\2a";
    position: absolute;
    font-family: "Font Awesome 7 Free";
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0px;
    left: 0px;
}

.why-choose-counter-box{
	width: calc(43% - 15px);
	background: var(--primary-color);
}

.why-choose-counter-header{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid var(--dark-divider-color);
	padding-bottom: 20px;
}

.why-choose-counter-header h2{
	font-size: 34px;
	color: var(--white-color);
}

.why-choose-counter-header p{
	max-width: 85px;
	color: var(--white-color);
	line-height: 1.3em;
	margin: 0;
}

.why-choose-counter-body .icon-box{
	margin-bottom: 40px;
}

.why-choose-counter-body .icon-box img{
	width: 100%;
	max-width: 40px;
}

.why-choose-counter-content p{
	color: var(--white-color);
	margin: 0;
}

.why-choose-btn{
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

/************************************/
/***     08. CSS des bienfaits     ***/
/************************************/

.our-benefits{
	background-image: url('../images/section-bg-image-3.png');
	background-repeat: no-repeat;
	background-position: bottom -60px left -60px;
	background-size: auto;
	padding: 120px 0;
}

.our-benefit-item{
	height: calc(100% - 30px);
	min-height: 430px;
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 30px;
    background-color: var(--bg-color);
    border-radius: 20px;
    padding: 40px 35px;
	margin-bottom: 30px;
}

.benefit-item-header .icon-box{
	margin-bottom: 30px;
}

.benefit-item-header .icon-box img{
	width: 100%;
	max-width: 50px;
}

.benefit-item-content h3{
	font-size: 20px;
}

.benefit-item-content p{
	margin: 10px 0 0;
}

.benefit-item-list{
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
}

.benefit-item-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.benefit-item-list ul li{
	position: relative;
    line-height: 1.5em;
    padding-left: 25px;
    margin-bottom: 15px;
}

.benefit-item-list ul li:last-child{
	margin-bottom: 0;
}

.benefit-item-list ul li::before{
	content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.our-benefit-image-box{
	position: relative;
	height: calc(100% - 30px);
    border-radius: 20px;
	margin-bottom: 30px;
    overflow: hidden;
}

.our-benefit-image{
	height: 100%;
}

.our-benefit-image figure{
	position: relative;
    display: block;
    height: 100%;
}

.our-benefit-image figure img{
	width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1.0661;
    object-fit: cover;
}

.benefit-working-hours-box{
	position: absolute;
	right: 20px;
	bottom: 20px;
	left: 20px;
	border-radius: 20px;
	background-color: var(--divider-color);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	padding: 20px;
	z-index: 1;
}

.benefit-working-hour-header{
	display: flex;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--dark-divider-color);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.benefit-working-hour-header .icon-box i{
	font-size: 24px;
	color: var(--white-color);
}

.benefit-working-hour-title h3{
	font-size: 20px;
    color: var(--white-color);
}

.benefit-working-hour-content ul{
	list-style: none;
    margin: 0;
    padding: 0;
}

.benefit-working-hour-content ul li{
	display: flex;
	flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
	font-weight: 500;
    line-height: 1.5em;
    color: var(--white-color);
    margin-bottom: 15px;
}

.benefit-working-hour-content ul li:last-child{
	margin-bottom: 0; 
}

.our-benefit-footer-box{
	margin-top: 30px;
}

.our-benefit-footer-list ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 15px 30px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.our-benefit-footer-list ul li{
	position: relative;
	font-weight: 500;
	line-height: normal;
    color: var(--primary-color);
	border: 1px solid var(--divider-color);
    border-radius: 100px;
    padding: 10px 16px 10px 32px;
	transition: all 0.4s ease-in-out;
}

.our-benefit-footer-list ul li::before{
	content: '';
    position: absolute;
    top: 50%;
    left: 16px;
    transform: translateY(-50%);
    background: var(--accent-color);
    border-radius: 50%;
    width: 6px;
    height: 6px;
	transition: all 0.4s ease-in-out;
}

.our-benefit-footer-list ul li:hover{
	color: var(--white-color);
	background: var(--primary-color);
	border-color: var(--primary-color);
}

.our-benefit-footer-list ul li:hover:before{
	background: var(--white-color);
}

/************************************/
/***      09. CSS des caractéristiques     ***/
/************************************/

.our-feature{
	padding: 120px 0;
}

.our-feature-image-box{
	position: relative;
    display: flex;
    flex-wrap: wrap;
	align-items: end;
	margin-right: 15px;
}

.our-feature-image-box::before{
	content: '';
	position: absolute;
	top: 90px;
	left: 96px;
	background-image: url('../images/section-bg-image-1.png');
	background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
	width: 94px;
	height: 180px;
	transform: rotate(135deg) rotateY(180deg);
}

.our-feature-image-box-1{
   	position: relative;
	width: 68%;
    z-index: 2;
}

.our-feature-image-box-2{
	width: 32%;
	padding-bottom: 100px;
}

.our-feature-image figure{
	display: block;
	border-radius: 20px;
}

.our-feature-image figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.our-feature-image-box-1 .our-feature-image figure{
	border: 6px solid var(--bg-color);
	border-radius: 26px;
}

.our-feature-image-box-1 .our-feature-image figure img{
	aspect-ratio: 1 / 0.7211;
}

.our-feature-image-box-2 .our-feature-image figure{
	margin-left: -230px;
}

.our-feature-image-box-2 .our-feature-image figure img{
	aspect-ratio: 1 / 1.0152;
}

.our-feature-image-box-1 .contact-us-circle{
	position: absolute;
	bottom: 50px;
	right: 0;
	transform: translateX(50%);
	z-index: 1;
}

.our-feature-image-box-1 .contact-us-circle a{
	border: 6px solid var(--bg-color);
}

.contact-us-circle a{
	display: inline-block;
	border-radius: 50%;
}

.contact-us-circle a img{
	width: 100%;
	max-width: 120px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	animation: infiniterotate 20s infinite linear;
}

@keyframes infiniterotate{
    100%{
		transform: rotate(360deg);
    }
}

.contact-us-circle a:hover img{
	animation-play-state: paused;
}

.feature-accordion{
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 50px;
}

.feature-accordion .accordion-item{
    margin-bottom: 40px;
}

.feature-accordion .accordion-item:last-child{
    margin-bottom: 0;
}

.feature-accordion .accordion-header{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 20px;
}

.feature-accordion .accordion-item:last-child .accordion-header{
	border: none;
	padding-bottom: 0;
}

.feature-accordion .accordion-header .accordion-button{
    font-size: 20px;
    font-weight: 600;
    line-height: 1.2em;
    color: var(--primary-color);
	padding: 2px 30px 2px 0;
    transition: all 0.3s ease-in-out;
}

.feature-accordion .accordion-item .accordion-button::after,
.feature-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\f139';
    font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    right: 0;
	transform: translateY(-50%);
    font-size: 26px;
    line-height: normal;
    color: var(--accent-color);
    transition: all 0.4s ease-in-out;
}

.feature-accordion .accordion-button:not(.collapsed)::after{
    transform: translateY(-50%) rotate(180deg);
}

.feature-accordion .accordion-item .accordion-body{
	padding-top: 20px;
}

.feature-accordion .accordion-item .accordion-body p{
	margin: 0 0 20px;
}

.feature-accordion .accordion-item .accordion-body p:last-child{
	margin: 0;
}

.feature-accordion .accordion-item .accordion-body ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.feature-accordion .accordion-item .accordion-body ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.feature-accordion .accordion-item .accordion-body ul li:last-child{
	margin-bottom: 0;
}

.feature-accordion .accordion-item .accordion-body ul li::before{
	content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.our-feature .section-footer-text{
	margin-top: 60px;                          
}

/************************************/
/***      10. CSS de la vidéo d'intro     ***/
/************************************/

.intro-video{
	overflow: hidden;
}

.intro-video .container-fluid{
	padding: 0;
}

.intro-video-box{
	position: relative;
}

.intro-video-image figure{
	position: relative;
	display: block;
}

.intro-video-image figure:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--primary-color);
    opacity: 40%;
	z-index: 1;
}

.intro-video-image img{
	width: 100%;
    aspect-ratio: 1 / 0.4444;
	object-fit: cover;
	transition: all 1s ease-in-out;
}

.intro-video:hover .intro-video-image img{
	transform: scale(1.03);
}

.intro-video-circle-box{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	z-index: 1;
}

.intro-video-circle img{
	width: 100%;
    max-width: 110px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    animation: infiniterotate 20s infinite linear;
}

.intro-video-circle-box .video-play-button{
	margin-left: -35px;
}

.intro-video-circle-box .video-play-button a span{
	width: 110px;
	height: 110px;
	background: var(--dark-divider-color);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

.intro-video-circle-box .video-play-button a span i{
	font-size: 30px;
}

/************************************/
/***      11. CSS des tarifs     ***/
/************************************/

.our-pricing{
	padding: 120px 0;
}

.pricing-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 10px;
}

.pricing-item{
	width: calc(33.33% - 20px);
	padding: 40px 30px;
}

.pricing-item.highlighted-box{
	background-color: var(--bg-color);
	border-radius: 20px;
	padding: 40px;
}

.pricing-item-header .icon-box{
	margin-bottom: 30px;
}

.pricing-item-header .icon-box img{
    width: 100%;
    max-width: 50px;
}

.pricing-item-content .pricing-item-title{
	display: block;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2em;
	color: var(--primary-color);
}

.pricing-item-content p{
	margin: 10px 0 0;
}

.pricing-item-price{
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
	margin-top: 30px;
}

.pricing-item-price h2{
	font-size: 40px;
	line-height: 1em;
}

.pricing-item-price h2 sub{
	font-size: 16px;
	bottom: 0;
}

.pricing-item-body{
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
	margin-top: 30px;
}

.pricing-item-body-list h3{
	font-size: 20px;
	margin-bottom: 20px;
}

.pricing-item-body-list ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.pricing-item-body-list ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.pricing-item-body-list ul li:last-child{
	margin-bottom: 0;
}

.pricing-item-body-list ul li::before{
	content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.pricing-item-btn{
	margin-top: 40px;
}

.pricing-benefit-list{
	margin-top: 60px;
}

.pricing-benefit-list ul{
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	gap: 20px 50px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pricing-benefit-list ul li{
    display: inline-flex;
    align-items: center;
	color: var(--primary-color);
}

.pricing-benefit-list ul li img{
	width: 100%;
	max-width: 20px;
	margin-right: 10px;
}

/************************************/
/***   12. CSS de la prise de rendez-vous   ***/
/************************************/

.book-appointment{
	padding: 120px 0;
}

.appointment-content{
	height: 100%;
	display: flex;
	flex-direction: column;
	margin-right: 15px;
}

.appointment-image-box{
	position: relative;
	height: 100%;
	min-height: 450px;
	align-content: end;
	border-radius: 20px;
	padding: 40px;
	overflow: hidden;
}

.appointment-image{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.appointment-image figure{
	position: relative;
	display: block;
	height: 100%;
}

.appointment-image figure::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.70) 100%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.appointment-image figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.appointment-contact-item-list{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	z-index: 2;
}

.appointment-contact-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.appointment-contact-item .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.appointment-contact-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.appointment-contact-item:hover .icon-box::before{
    transform: scale(1);
}

.appointment-contact-item .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
	z-index: 1;
}

.appointment-contact-item-content{
	width: calc(100% - 65px);
}

.appointment-contact-item-content p{
	color: var(--white-color);
	margin: 0;
}

.appointment-contact-item-content h3{
	font-size: 20px;
	color: var(--white-color);
	margin: 5px 0 0;
}

.appointment-contact-item-content h3 a{
	color: inherit;
}

.appointment-form{
	background-color: var(--secondary-color);
    border-radius: 20px;
    padding: 3.125vw;
}

.appointment-form .section-title{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 40px;
}

.appointment-form .section-title h2{
	font-size: 40px;
}

.appointment-form .form-group label{
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 15px;
}

.appointment-form .form-control{
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6em;
    color: var(--primary-color);
	background: var(--bg-color);
	border: 1px solid var(--bg-color);
    border-radius: 5px;
    padding: 13px 20px;
    outline: none;
    box-shadow: none;
}

.appointment-form .form-control::placeholder{
	color: var(--text-color);
	opacity: 50%;
}

.appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-text,
.appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-month-field,
.appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-day-field,
.appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-year-field{
  color: var(--primary-color);
}

input[type="date"]::-webkit-calendar-picker-indicator{
    filter: invert(0);
    cursor: pointer;
	opacity: 50%;
}

.dark-section .appointment-form{
	background: var(--dark-divider-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
}

.dark-section .appointment-form .section-title{
	border-color: var(--dark-divider-color);
}

.dark-section .appointment-form form .form-group label{
	color: var(--white-color);
}

.dark-section .appointment-form .form-control{
	color: var(--white-color);
	border-color: var(--dark-divider-color);
	background: transparent;
}

.dark-section .appointment-form .form-control::placeholder{
	color: var(--white-color);
}

.dark-section .appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-text,
.dark-section .appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-month-field,
.dark-section .appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-day-field,
.dark-section .appointment-form input[type="date"]:is(:focus, :valid)::-webkit-datetime-edit-year-field{
  color: var(--white-color);
}

/* .dark-section .appointment-form input[type="date"]::before{
  color: var(--white-color);
} */

.dark-section .appointment-form input[type="date"]::-webkit-calendar-picker-indicator{
	filter: invert(1);
}

/************************************/
/***   13. CSS des témoignages   ***/
/************************************/

.our-testimonials{
	padding: 120px 0;
}

.testimonial-slider .swiper-wrapper{
	cursor: none;
}

.testimonial-item{
	min-height: 440px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 40px;
	transition: all 0.6s ease-in-out;
}

.testimonial-slider .swiper-wrapper .swiper-slide .testimonial-item{
	transform: scale(0.95);
}

.testimonial-slider .swiper-wrapper .swiper-slide.swiper-slide-next .testimonial-item{
    transform: scale(1);
}

.testimonial-item-author{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.testimonial-author-image figure{
	display: block;
	border-radius: 50%;
}

.testimonial-author-image figure img{
	width: 100%;
	max-width: 50px;
}

.testimonial-author-content{
	width: calc(100% - 65px);
}

.testimonial-author-content h2{
	font-size: 20px;
}

.testimonial-author-content p{
	line-height: normal;
	margin: 5px 0 0;
}

.testimonial-item-rating{
	margin-bottom: 30px;
}

.testimonial-item-rating i{
	font-size: 18px;
	color: var(--accent-color);
}

.testimonial-item-content p{
	font-size: 20px;
	font-weight: 500;
	color: var(--primary-color);
	margin: 0;
}

.our-testimonials .section-footer-text{
	margin-top: 60px;
}

/************************************/
/***       14. CSS de la FAQ      ***/
/************************************/

.our-faqs{
	padding: 120px 0;
}

.faqs-content{
	min-height: 490px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: start;
	margin-right: 15px;
}

.faq-cta-box{
	min-width: 300px;
	border-radius: 14px;
	overflow: hidden;
}

.faq-cta-header{
	background-color: var(--accent-color);
	padding: 16px 25px;
}

.faq-cta-header h3{
	font-size: 18px;
	line-height: 1em;
	color: var(--white-color);
}

.faq-cta-item-list{
	background-color: var(--bg-color);
	padding: 25px;
}

.faq-cta-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

.faq-cta-item:last-child{
	margin-bottom: 0;
}

.faq-cta-item .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.faq-cta-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.faq-cta-item:hover .icon-box::before{
	transform: scale(1);
}

.faq-cta-item .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
	z-index: 1;
}

.faq-cta-item-content{
	width: calc(100% - 65px);
}

.faq-cta-item-content p{
	margin: 0;
}

.faq-cta-item-content h3{
	font-size: 20px;
	margin: 5px 0 0;
}

.faq-cta-item-content h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.faq-cta-item-content h3 a:hover{
	color: var(--accent-color);
}

.faq-accordion .accordion-item{
    position: relative;
	background: var(--secondary-color);
    border-radius: 14px;
    margin-bottom: 30px;
    overflow: hidden;
}

.faq-accordion .accordion-item:last-child{
	margin-bottom: 0;
}

.light-section .faq-accordion .accordion-item{
	background: var(--bg-color);

}

.faq-accordion .accordion-header .accordion-button{
	font-size: 18px;
    font-weight: 500;
    line-height: 1.333em;
    background: transparent;
    color: var(--primary-color);
    padding: 18px 55px 18px 30px;
    transition: all 0.4s ease-in-out;
}

.faq-accordion .accordion-item .accordion-button:not(.collapsed){
	background-color: var(--accent-color);
    color: var(--white-color);
}

.faq-accordion .accordion-item .accordion-button::after,
.faq-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\2b';
    font-family: "Font Awesome 7 Free";
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    font-weight: 600;
    color: var(--primary-color);
    transition: 0.4s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
	content: '\f068';
    color: var(--white-color);
}

.faq-accordion .accordion-item .accordion-body{  
    background-color: transparent;  
    padding: 18px 30px;
}

.faq-accordion .accordion-item .accordion-body p{
    margin: 0;
}

.our-faqs .company-supports-slider-box{
    margin-top: 80px;
}

.company-supports-content{
	display: flex;
    align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 50px;
}

.company-supports-content hr{
	height: 1px;
    flex-grow: 1;
    color: var(--divider-color);
	opacity: 1;
	margin: 0;
}

.company-supports-content p{
	font-size: 18px;
	font-weight: 600;
	color: var(--primary-color);
	text-align: center;
	margin: 0;
}

.company-supports-slider{
	margin: 0 4.688vw;
}

.company-supports-logo{
	text-align: center;
}

.company-supports-logo img{
	width: 100%;
	max-width: 175px;
    height: 40px;
}

/************************************/
/***       15. CSS du blog       ***/
/************************************/

.our-blog{
	padding: 120px 0 90px;
}

.post-item{
	height: calc(100% - 30px);
    background-color: var(--secondary-color);
    border-radius: 20px;
	padding: 10px;
    margin-bottom: 30px;
    overflow: hidden;
}

.post-featured-image{
	margin-bottom: 10px;
}

.post-featured-image a{
    cursor: none;
    display: block;
    overflow: hidden;
}

.post-featured-image figure{
	display: block;
	border-radius: 20px;
}

.post-featured-image img{
	width: 100%;
    aspect-ratio: 1 / 0.731;
    object-fit: cover;
	border-radius: 20px;
    transition: all 0.6s ease-in-out;
}

.post-item:hover .post-featured-image img{
	transform: scale(1.03);
}

.post-item-body{
    padding: 20px;
}

.post-item-content h2{
    font-size: 20px;
	line-height: 1.4em;
}

.post-item-content h2 a{
    color: inherit;
}

.post-item-btn{
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	margin-top: 20px;
}

/************************************/
/***   16. CSS du bandeau défilant   ***/
/************************************/

.our-scrolling-ticker{
	position: relative;
	margin-bottom: 10px;
}

.scrolling-ticker-box{
	--gap: 10px;
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	user-select: none;
	gap: var(--gap);
}

.scrolling-content{
	flex-shrink: 0;
	display: flex;
	gap: var(--gap);
	min-width: 100%;
	animation: scroll 25s linear infinite;
}

@keyframes scroll{
	from{
		transform: translateX(0);
	}
	to{
		transform: translateX(calc(-100% - var(--gap)));
	}
}

.our-scrolling-ticker:hover .scrolling-content{
	animation-play-state: paused;
}

.scrolling-content .scrolling-ticker-gallery{
	width: calc((100vw / 4) - 7.5px);
}

.scrolling-content .scrolling-ticker-gallery figure{
	display: block;
	border-radius: 20px;
}

.scrolling-content .scrolling-ticker-gallery img{
	width: 100%;
    object-fit: cover;
    border-radius: 20px;
	aspect-ratio: 1 / 0.7831;
}

/************************************/
/***         17. CSS du footer       ***/
/************************************/

.main-footer{
	padding: 100px 0 0;
}

.footer-header{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    border-bottom: 1px solid var(--dark-divider-color);
    padding-bottom: 60px;
    margin-bottom: 60px;
}

.footer-header .section-title{
	width: 57%;
	margin-bottom: 0;
}

.footer-header .section-title h2{
	font-size: 40px;
}

.about-footer{
	max-width: 360px;
}

.footer-logo img{
	width: 100%;
	max-width: 174px;
}

.about-footer-content{
	margin-top: 20px;
}

.about-footer-content p{
	color: var(--white-color);
	margin: 0;
}

.footer-social-links{
	margin-top: 40px;
}

.footer-social-links ul{
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-social-links ul li a{
    width: 40px;
    height: 40px;
    color: var(--white-color);
   	border: 1px solid var(--dark-divider-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

.footer-social-links ul li a:hover{
	background: var(--white-color);
	color: var(--accent-color);
}

.footer-social-links ul li a i{
    font-size: 18px;
    color: inherit;
}

.footer-links-box{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
}

.footer-links{
    max-width: 30%;
}

.footer-links h2{
    font-size: 20px;
    color: var(--white-color);
    margin-bottom: 30px;
}

.footer-links ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-links ul li{
	position: relative;
	line-height: 1.5em;
    color: var(--white-color);
	padding-left: 25px;
	margin-bottom: 15px;
}

.footer-links ul li:last-child{
	margin-bottom: 0;
}

.footer-links ul li::before{
    content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--bg-color);
    top: 0;
    left: 0;
}

.footer-links ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-links ul li a:hover{
	color: var(--primary-color);
}

.footer-contact-info-list{
	max-width: 40%;
}

.footer-contact-item{
	margin-bottom: 30px;
}

.footer-contact-item:last-child{
	margin-bottom: 0;
}

.footer-contact-item p{
	color: var(--white-color);
	line-height: normal;
	margin: 0 0 10px 0;
}

.footer-contact-item h3{
	font-size: 20px;
	color: var(--white-color);
	margin: 0;
}

.footer-contact-item h3 a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.footer-contact-item h3 a:hover{
	color: var(--primary-color);
}

.footer-copyright-text{
	text-align: center;
	border-top: 1px solid var(--dark-divider-color);
	padding: 60px 0;
	margin-top: 60px;
}

.footer-copyright-text p{
	color: var(--white-color);
	margin-bottom: 0;
}

/************************************/
/*** 	18. CSS de la page à propos     ***/
/************************************/

.page-header{
	position: relative;
    background: url('../images/yogatimesxm-bandeau-interieur-salle-beuvrequen-3200.webp') no-repeat;
    background-position: center center;
    background-size: cover;
    padding: 260px 0 175px;
	overflow: hidden;
}

.page-header:before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.80) 100%);
    z-index: 1;
}

.page-header-box{
    position: relative;
    z-index: 2;
}

.page-header-box h1{
    display: inline-block;
    font-size: 66px;
    line-height: 1.1em;
    color: var(--white-color);
    margin-bottom: 10px;
    cursor: none;
}

.page-header-box ol{
    display: inline-flex;
    margin: 0;
}

.page-header-box ol li.breadcrumb-item{
    font-size: 16px;
    font-weight: 400;
    text-transform: capitalize;
    color: var(--white-color);
}

.page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
    color: var(--white-color);
}

.page-header-box ol li.breadcrumb-item a{
    color: inherit;
}

.our-approach{
	padding: 120px 0;
}

.approach-items-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 50px;
}

.approach-item{
	position: relative;
	width: calc(33.33% - 33.33px);
	background-color: var(--white-color);
	border-radius: 1200px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	gap: 20px;
	min-height: 500px;
	padding: 100px 40px;
	overflow: hidden;
}

.approach-item::before{
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--accent-color);
	border-radius: 1200px;
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
}

.approach-item:hover:before{
	top: auto;
	height: 100%;
}

.approach-item-header{
	position: relative;
	z-index: 1;
}

.approach-item-header .icon-box{
	margin-bottom: 30px;
}

.approach-item-header .icon-box img{
	width: 100%;
	max-width: 60px;
	transition: all 0.4s ease-in-out;
}

.approach-item:hover .approach-item-header .icon-box img{
	filter: brightness(0) invert(1);
}

.approach-item-content h3{
	font-size: 20px;
	transition: all 0.4s ease-in-out;
}

.approach-item-content p{
	margin: 10px 0 0;
	transition: all 0.4s ease-in-out;
}

.approach-item:hover .approach-item-content h3,
.approach-item:hover .approach-item-content p{
	color: var(--white-color);
}

.approach-item-list{
	position: relative;
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.approach-item:hover .approach-item-list{
	border-color: var(--dark-divider-color);
}

.approach-item-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.approach-item-list ul li{
	position: relative;
	text-align: left;
    display: inline-block;
    line-height: 1.5em;
    padding-left: 25px;
    margin-bottom: 15px;
	transition: all 0.4s ease-in-out;
}

.approach-item:hover .approach-item-list ul li{
	color: var(--white-color);
}

.approach-item-list ul li::before{
	content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
	transition: all 0.4s ease-in-out;
}

.approach-item-list ul li:last-child{
	margin-bottom: 0;
}

.approach-item:hover .approach-item-list ul li::before{
	filter: brightness(0) invert(1);
}

.our-approach .section-footer-text{
	margin-top: 60px;
}

.our-team{
	background-image: url('../images/section-bg-image-2.png');
	background-repeat: no-repeat;
	background-position: bottom -30px right -35px;
	background-size: auto;
	padding: 120px 0;
}

.team-item{
	border: 1px solid var(--divider-color);
	border-radius: 20px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.team-item-image{
	position: relative;
}

.team-item-image a,
.team-item-image figure{
	position: relative;
	display: block;
	border-radius: 20px 20px 0 0;
	cursor: none;
	overflow: hidden;
}

.team-item-image figure::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.80) 100%);
    z-index: 1;
}

.team-item-image img{
	width: 100%;
	aspect-ratio: 1 / 0.848;
	object-fit: cover;
	transition: all 0.6s ease-in-out;
}

.team-item:hover .team-item-image img{
	transform: scale(1.06);
}

.team-item-social-list{
	position: absolute;
	right: 40px;
	bottom: 40px;
	left: 40px;
	opacity: 0;
	transform: translateY(50%) scaleY(0);
	visibility: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.team-item:hover .team-item-social-list{
	transform: translateY(0) scaleY(1);
	opacity: 1;
	visibility: visible;
}

.team-item-social-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 15px;
}

.team-item-social-list ul li a{
	width: 40px;
	height: 40px;
	border: 1px solid var(--dark-divider-color);
	color: var(--white-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.team-item-social-list ul li a:hover{
	background: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.team-item-social-list ul li a i{
	font-size: 18px;
	color: inherit;
}

.team-item-content{
	padding: 30px 40px;
	text-align: center;
}

.team-item-content h2{
	font-size: 20px;
}

.team-item-content h2 a{
	color: inherit;
}

.team-item-content p{
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	margin: 20px 0 0;
}

/************************************/
/*** 	19. CSS de la page prestations     ***/
/************************************/

.page-services{
    padding: 120px 0 90px;
}

.page-services .service-item{
	height: calc(100% - 30px);
	background: var(--secondary-color);
	margin-bottom: 30px;
}

.service-item-list .service-item.active .service-item-image,
.service-item-list .service-item:hover .service-item-image{
	top: auto;
	left: auto;
	width: 100%;
	height: 100%;
	transform: translate(0, 0);
	border-radius: 20px;
}

.service-item-list .service-item.active .service-item-image figure::before,
.service-item-list .service-item:hover .service-item-image figure::before{
	opacity: 50%;
}

.service-item-list .service-item.active .service-item-number h2,
.service-item-list .service-item:hover .service-item-number h2,
.service-item-list .service-item.active .service-item-content h2,
.service-item-list .service-item:hover .service-item-content h2,
.service-item-list .service-item.active .service-item-content p,
.service-item-list .service-item:hover .service-item-content p{
	color: var(--white-color);
}

.service-item-list .service-item.active .service-item-content,
.service-item-list .service-item:hover .service-item-content{
	border-color: var(--dark-divider-color);
}

.service-item-list .service-item.active .icon-box img,
.service-item-list .service-item:hover .icon-box img{
	filter: brightness(0) invert(1);
}

/************************************/
/*** 	20. CSS de la prestation individuelle    ***/
/************************************/

.page-service-single{
	padding: 120px 0;
}

.page-single-sidebar{
	position: sticky;
	top: 30px;
	margin-right: 15px;
}

.page-category-list{
	background: var(--secondary-color);
	border-radius: 20px;
    margin-bottom: 30px;
	overflow: hidden;
}

.page-category-list .page-category-list-title{
	font-size: 20px;
	line-height: 1.2em;
	background: var(--accent-color);
	color: var(--white-color);
	padding: 20px 30px;
}

.page-category-list ul{
	list-style: none;
    margin: 0;
	padding: 40px;
}

.page-category-list ul li{
	line-height: 1.5em;
	color: var(--primary-color);
	font-weight: 600;
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.page-category-list ul li:last-child{
    border-bottom: none;
    margin: 0;
    padding: 0;
}

.page-category-list ul li a{
    position: relative;
    display: block;
    text-transform: capitalize;
	color: inherit;
    padding-right: 20px;
    transition: all 0.4s ease-in-out;
}

.page-category-list ul li a:hover{
    color: var(--accent-color);
}

.page-category-list ul li a::before{
	content: '';
    position: absolute;
    top: 50%;
    right: 0;
	background: url('../images/arrow-accent.svg') no-repeat;
	background-position: center center;
	background-size: cover;
    width: 14px;
    height: 14px;
	transform: translateY(-50%);
    transition: all 0.4s ease-in-out;
}

.page-category-list ul li a:hover::before{
	transform: translateY(-50%) rotate(45deg);
}

.sidebar-cta-box{
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 40px;
	min-height: 350px;
	background: url('../images/yogatimesxm-lumiere-vitraux-lieu-pratique.webp') no-repeat;
	background-position: center center;
	background-size: cover;
	border-radius: 20px;
	padding: 40px;
	overflow: hidden;
}

.sidebar-cta-box::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--primary-color);
	opacity: 40%;
	z-index: 1;
}

.sidebar-cta-content,
.sidebar-cta-btn{
	position: relative;
	z-index: 2;
}

.sidebar-cta-content h2{
	font-size: 20px;
	color: var(--white-color);
}

.sidebar-cta-content p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.page-single-image{
	margin-bottom: 30px;
}

.page-single-image figure{
	display: block;
	border-radius: 20px;
}

.page-single-image img{
	width: 100%;
	aspect-ratio: 1 / 0.622;
	object-fit: cover;
	border-radius: 20px;
}

.service-entry{
    margin-bottom: 60px;
}

.service-entry p{
    margin-bottom: 20px;
}

.service-entry h2{
	font-size: 46px;
	margin-bottom: 20px;
}

.service-entry h3{
    font-size: 20px;
    margin-bottom: 10px;
}

.service-entry p:last-child,
.service-entry h2:last-child,
.service-entry h3:last-child{
    margin: 0;
}

.service-benefits-box,
.service-intro-video-box{
    margin-top: 60px;
}

.service-benefits-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 40px;
}

.service-benefits-item{
	width: calc(50% - 15px);
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 30px;
}

.service-benefits-item .icon-box{
	margin-bottom: 30px;
}

.service-benefits-item .icon-box img{
	width: 100%;
	max-width: 50px;
}

.service-intro-video{
	position: relative;
    border-radius: 20px;
    overflow: hidden;
	margin-top: 40px;
}

.service-intro-video-image figure{
	position: relative;
	display: block;
}

.service-intro-video-image figure::before{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: var(--primary-color);
    opacity: 30%;
    z-index: 1;
}

.service-intro-video-image figure img{
	width: 100%;
    aspect-ratio: 1 / 0.538;
    object-fit: cover;
}

.service-intro-video .watch-our-video-circle{
	position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
}

.watch-our-video-circle a{
	cursor: none;
	border-radius: 50%;
}

.watch-our-video-circle a img{
	width: 100%;
	max-width: 120px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	animation: infiniterotate 20s infinite linear;
}

.service-intro-video .watch-our-video-circle a img{
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}

/************************************/
/*** 	21. CSS des archives du blog      ***/
/************************************/

.page-blog{
    padding: 120px 0;
}

.page-pagination{
    margin-top: 30px;
    text-align: center;
}

.page-pagination ul{
    justify-content: center;
    padding: 0;
    margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span{
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--secondary-color);
    color: var(--primary-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    margin: 0 5px;
    font-weight: 600;
	line-height: 1em;
    transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a, 
.page-pagination ul li a:hover{
    background: var(--accent-color);
	color: var(--white-color);
}

/************************************/
/*** 	 22. CSS de l'article de blog      ***/
/************************************/

.page-single-post{
	padding: 120px 0;
}

.post-single-meta ol li{
	font-size: 18px;
	color: var(--white-color);
	margin-right: 15px;
}

.post-single-meta ol li:last-child{
	margin-right: 0;
}

.post-single-meta ol li i{
    font-size: 18px;
    color: var(--white-color);
    margin-right: 5px;
}

.post-image{
	position: relative;
	margin-bottom: 30px;
}

.post-image figure{
	display: block;	
	border-radius: 20px;
	overflow: hidden;
}

.post-image img{
	width: 100%;
	aspect-ratio: 1 / 0.50;
	object-fit: cover;
	border-radius: 20px;
}

.post-content{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.post-entry{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
    margin-bottom: 30px;
}

.post-entry:after{
    content: '';
    display: block;
    clear: both;
}

.post-entry a{
    color: var(--accent-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
	font-weight: 600;
    line-height: 1.2em;
	margin: 0 0 0.42em;
}

.post-entry h1{
	font-size: 66px;
	line-height: 1.1em;
	letter-spacing: -0.02em;
}

.post-entry h2{
	font-size: 46px;
	line-height: 1.1em;
	letter-spacing: -0.02em;
}

.post-entry h3{
	font-size: 40px;
}

.post-entry h4{
	font-size: 30px;
}

.post-entry h5{
	font-size: 24px;
}

.post-entry h6{
	font-size: 20px;
}

.post-entry p{
	margin-bottom: 20px;
}

.post-entry p:last-child{
	margin-bottom: 0;
}

.post-entry p strong{
	color: var(--primary-color);
	font-size: 18px;
}

.post-entry ol{
    margin: 0 0 30px;
}

.post-entry ul{
	padding: 0;
	margin: 20px 0 20px;
	padding-left: 20px;
}

.post-entry ol:last-child,
.post-entry ul:last-child{
	margin-bottom: 0;
}

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 18px;
    line-height: 1.5em;
    color: var(--text-color);
    margin-bottom: 10px;
}

.post-entry ul li:last-child{
	margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
    margin-top: 20px;
    margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child{
    margin-bottom: 0;
}

.post-entry blockquote{
	background: var(--secondary-color) url('../images/icon-blockquote.svg');
	background-repeat: no-repeat;
	background-position: 30px 30px;
    background-size: 45px;
	border-radius: 20px;
    padding: 30px 30px 30px 90px;
    margin-bottom: 20px;
}

.post-entry blockquote p{
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4em;
	color: var(--primary-color);
}

.post-entry blockquote p:last-child{
	margin-bottom: 0;
}

.tag-links{
	font-family: var(--accent-font);
    font-size: 20px;
	font-weight: 600;
	color: var(--primary-color);
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.post-tags .tag-links a{
    display: inline-block;
	font-family: var(--accent-font);
    font-size: 16px;
    line-height: 1em;
	font-weight: 500;
    text-transform: capitalize;
	background: var(--accent-color);
    color: var(--white-color);
	border-radius: 10px;
    padding: 12px 20px;
	transition: all 0.4s ease-in-out;
}

.post-tags .tag-links a:hover{
	background: var(--primary-color);
}

.post-social-sharing{
    text-align: right;
}

.post-social-sharing ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-social-sharing ul li{
    display: inline-block;
    margin-right: 10px;
}

.post-social-sharing ul li:last-child{
	margin-right: 0;
}

.post-social-sharing ul li a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	border: 1px solid var(--divider-color);
    color: var(--primary-color);
	border-radius: 10px;
    width: 40px;
    height: 40px;
    transition: all 0.4s ease-in-out;
}

.post-social-sharing ul li:hover a{
	background: var(--primary-color);
	color: var(--white-color);
}

.post-social-sharing ul li a i{
    font-size: 18px;
    color: inherit;
}

/************************************/
/***      23. CSS de la page équipe       ***/
/************************************/

.page-team{
	padding: 120px 0 90px;
}

/************************************/
/***  	  24. CSS du membre de l'équipe     ***/
/************************************/

.page-team-single{
	padding: 120px 0;
}

.team-single-image{
	margin-bottom: 30px;
}

.team-single-image figure{
	display: block;
	border-radius: 20px;
}

.team-single-image figure img{
	width: 100%;
	aspect-ratio: 1 / 1.159;
	object-fit: cover;
	border-radius: 20px;
}

.team-member-about,
.team-member-expertise,
.team-member-fact{
	margin-bottom: 60px;
}

.member-social-list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 10px 20px;
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

.member-social-list h3{
	font-size: 20px;
}

.member-social-list ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
    padding: 0;
	margin: 0;
}

.member-social-list ul li a{
	width: 40px;
	height: 40px;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.3s ease-in-out;
}

.member-social-list ul li a:hover{
	background-color: var(--accent-color);
	border-color: var(--accent-color);
	color: var(--white-color);
}

.member-social-list ul li a i{
	font-size: 18px;
	color: inherit;
}

.team-member-expertise{
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 60px;
}

.skills-progress-bar{
	margin-bottom: 30px;
}

.skills-progress-bar:last-child{
	margin-bottom: 0;
}

.skills-progress-bar .skill-data{
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 15px;
}

.skills-progress-bar .skill-data .skill-title,
.skills-progress-bar .skill-data .skill-no{
	font-size: 16px;
	font-weight: 600;
    color: var(--primary-color);
}

.skills-progress-bar .skillbar .skill-progress{
    position: relative;
    width: 100%;
    height: 10px;
    background: var(--bg-color);
    border-radius: 10px;
    overflow: hidden;
}

.skills-progress-bar .skillbar .skill-progress .count-bar{
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    background: var(--accent-color);
    border-radius: 10px;
}

.team-member-fact-body{
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 40px;
}

.team-member-fact-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.team-member-fact-item{
	width: calc(50% - 15px);
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 15px;
}

.team-member-fact-item .icon-box img{
	width: 100%;
	max-width: 50px;
}

.team-member-fact-item-content{
	width: calc(100% - 65px);
}

.team-member-fact-item-content h3{
	font-size: 20px;
}

.team-member-fact-item-content p{
	margin: 5px 0 0;
}

.team-member-counter-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	border-top: 1px solid var(--divider-color);
	margin-top: 80px;
	padding-top: 40px;
}

.team-member-counter-item{
	width: calc(33.33% - 20px);
}

.team-member-counter-item h2{
	font-size: 46px;
	line-height: 1em;
	margin-bottom: 20px;
}

.team-member-counter-item h3{
	font-size: 20px;
}

.team-member-counter-item p{
	margin: 10px 0 0;
}

/************************************/
/*** 	25. CSS de la page tarifs      ***/
/************************************/

.page-pricing{
	padding: 120px 0;
}

/************************************/
/***  26. CSS de la page témoignages   ***/
/************************************/

.page-testimonials{
	padding: 120px 0 90px;
}

.page-testimonials .testimonial-item{
	background-color: var(--secondary-color);
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

/************************************/
/*** 	27. CSS de la galerie d'images     ***/
/************************************/

.page-gallery{
	padding: 120px 0 90px;
}

.page-gallery .page-gallery-box .photo-gallery{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.page-gallery-box .photo-gallery a{
	cursor: none;
}

.page-gallery-box .photo-gallery figure{
	display: block;
	border-radius: 20px;
}

.page-gallery-box .photo-gallery img{
	width: 100%;
	aspect-ratio: 1 / 0.744;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	28.  CSS de la galerie vidéo    ***/
/************************************/

.page-video-gallery{
	padding: 120px 0 90px;
}

.video-gallery-image{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	overflow: hidden;
}

.video-gallery-image a{
	position: relative;
	display: block;
	cursor: none;
}

.video-gallery-image a::before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: var(--primary-color);
	border-radius: 20px;
    opacity: 0%;
    visibility: hidden;
    width: 100%;
    height: 100%;
    z-index: 1;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
}

.video-gallery-image:hover a::before{
    opacity: 50%;
    visibility: visible;
    transform: scale(1);
}

.video-gallery-image a::after{
    content: '\f04b';
	font-family: 'FontAwesome';
    position: absolute;
    top: 50%;
    left: 50%;
    right: 0;
    transform: translate(-50%, -50%);
	font-size: 20px;
	background: var(--accent-color);
	color: var(--white-color);
    border-radius: 50%;
    height: 60px;
    width: 60px;
    cursor: none;
	display: flex;
	align-items: center;
	justify-content: center;
    opacity: 0;
    visibility: hidden;
    transition: all 0.5s ease-in-out;
    z-index: 1;
}

.video-gallery-image:hover a::after{
    opacity: 1;
    visibility: visible;
}

.video-gallery-image img{
	width: 100%;
	aspect-ratio: 1 / 0.744;
	object-fit: cover;
	border-radius: 20px;
}

/************************************/
/*** 	  29. CSS de la page FAQ      ***/
/************************************/

.page-faqs{
    padding: 120px 0;
}

.page-faqs .page-single-faqs{
    margin-bottom: 60px;
}

.page-faqs .page-single-faqs:last-child{
    margin-bottom: 0px;
}

/************************************/
/***   30. CSS de la page contact    ***/
/************************************/

.page-contact-us{
    padding: 120px 0 60px;
}

.contact-us-content{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 500px;
	margin-right: 15px;
}

.contact-info-item-list{
	border-top: 1px solid var(--divider-color);
	display: flex;
	flex-wrap: wrap;
	gap: 30px 50px;
	padding-top: 40px;
	overflow: hidden;
}

.contact-info-item{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.contact-info-item::before{
	content: '';
	position: absolute;
	top: 50%;
	right: -25px;
	transform: translateY(-50%);
	background: var(--divider-color);
	width: 1px;
	height: 80%;
}

.contact-info-item:nth-child(2n + 2):before,
.contact-info-item:last-child:before{
	display: none;
}

.contact-info-item .icon-box{
	position: relative;
    width: 50px;
    height: 50px;
    background: var(--accent-color);
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.contact-info-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    background: var(--primary-color);
    border-radius: 50%;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.contact-info-item:hover .icon-box::before{
	transform: scale(1);
}

.contact-info-item .icon-box img{
	position: relative;
	width: 100%;
    max-width: 24px;
	z-index: 1;
}

.contact-info-item-content{
	width: calc(100% - 65px);
}

.contact-info-item-content p{
	margin: 0;
}

.contact-info-item-content h3{
	font-size: 20px;
	color: var(--primary-color);
	margin-top: 5px;
}

.contact-info-item-content h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.contact-info-item-content h3 a:hover{
	color: var(--accent-color);
}

.contact-us-form{
    background: var(--secondary-color);
    border-radius: 20px;
    padding: 60px;
}

.contact-us-form .section-title{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 40px;
}

.contact-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25em;
	color: var(--primary-color);
	background-color: var(--bg-color);
	border-radius: 10px;
	padding: 20px;
	border: none;
	box-shadow: none;
	outline: none;
}

.contact-form .form-control::placeholder{
	color: var(--text-color);
	opacity: 50%;
}

.google-map{
    padding: 60px 0 120px;
}

.google-map-iframe{
	width: 100%;
	height: 650px;
	border-radius: 20px;
	overflow: hidden;
}

.google-map-iframe iframe{
	width: 100%;
	height: 100%;
}

/*************************************/
/*** 31. CSS de la page prise de rendez-vous ***/
/*************************************/

.page-appointment{
	padding: 120px 0;
}

/************************************/
/***   32. CSS de la page 404    ***/
/************************************/

.error-page{
	padding: 120px 0;
}

.error-page-image{
	text-align: center;
	margin-bottom: 30px;
}

.error-page-image img{
	width: 100%;
	max-width: 510px;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title{
	margin-bottom: 15px;
}

/************************************/
/***      33. CSS responsive      ***/
/************************************/

@media only screen and (max-width: 1024px){

	.main-menu ul li{
		margin: 0;
	}

	.section-title p{
		margin-top: 10px;
	}

	.section-title-content{
        margin-top: 10px;
    }

	.section-content-btn .section-btn{
        margin-top: 20px;
    }

	.section-btn{
        text-align: left;
        margin-top: 15px;
	}

	.hero{
		min-height: auto;
	}

	.hero-info-box{
		margin: 30px 0 0 0;
	}

	.about-us-content{
    	margin: 0 0 30px;
	}

	.about-us-image-box{
		max-width: 740px;
        margin: 0 auto;
	}

	.our-services{
		background-position: bottom -10px left;
		background-size: 350px auto;
	}

	.service-slider .swiper-slide.swiper-slide-next .service-item-number h2,
	.service-slider .swiper-slide.swiper-slide-next .service-item-content h2{
		color: var(--primary-color);
	}

	.service-slider .swiper-slide.swiper-slide-next .service-item-content{
		border-color: var(--divider-color);
	}

	.service-slider .swiper-slide.swiper-slide-next .service-item-content p{
		color: var(--text-color);
	}

	.service-slider .swiper-slide.swiper-slide-next .icon-box img{
		filter: brightness(1) invert(0);
	}

	.service-slider .swiper-slide.swiper-slide-next .service-item-image{
		width: 240px;
		height: 240px;
		border-radius: 50%;
		transform: translate(40px, 40px);
	}

	.service-slider .swiper-slide.swiper-slide-next .service-item-image figure::before{
		opacity: 0;
	}

	.service-slider .service-item:hover .service-item-image{
		top: auto;
		left: auto;
		width: 100%;
		height: 100%;
		transform: translate(0, 0);
		border-radius: 20px;
	}

	.service-slider .service-item:hover .service-item-image figure::before{
		opacity: 50%;
	}

	.service-slider .service-item:hover .service-item-number h2,
	.service-slider .service-item:hover .service-item-content h2,
	.service-slider .service-item:hover .service-item-content p{
		color: var(--white-color);
	}

	.service-slider .service-item:hover .service-item-content{
		border-color: var(--dark-divider-color);
	}

	.service-slider .service-item:hover .icon-box img{
		filter: brightness(0) invert(1);
	}

	.why-choose-image-box{
        max-width: 740px;
        margin: 0 auto 30px;
    }

	.why-choose-image-box-2 .why-choose-image figure img{
		aspect-ratio: 1 / 1.1;
	}

	.our-benefits{
		background-position: bottom -35px left -35px;
		background-size: 200px auto;
	}
	
	.our-feature-image-box{
		max-width: 740px;
		margin: 0 auto 30px
	}

	.intro-video-image img{
		aspect-ratio: 1 / 0.6;
	}

	.pricing-item{
		width: calc(50% - 15px);
	}

	.appointment-content{
		height: auto;
		margin: 0 0 30px;
	}

	.appointment-image-box{
		height: auto;
    }

	.testimonial-slider .swiper-wrapper .swiper-slide .testimonial-item{
		transform: none;
	}

	.faqs-content{
		min-height: auto;
		margin: 0 0 30px;
	}

	.scrolling-content .scrolling-ticker-gallery{
		width: calc((100vw / 3) - 6.67px);
	}

	.footer-header{
		padding-bottom: 30px;
		margin-bottom: 30px;
	}

	.footer-header .section-title{
		width: 70%;
	}

	.about-footer{
		max-width: 100%;
		margin: 0 0 30px;
	}

	.footer-social-links{
		margin-top: 20px;
	}

	.about-footer-content{
		margin-top: 15px;
	}

	.footer-links h2{
        margin-bottom: 20px;
    }

	.footer-links ul li{
        margin-bottom: 10px;
		padding-left: 22px;
    }

	.footer-links ul li::before{
		font-size: 16px;
	}

	.footer-contact-item{
    	margin-bottom: 20px;
	}

	.footer-copyright-text{
        padding: 30px 0;
        margin-top: 30px;
    }

	.approach-items-list{
		gap: 30px;
	}

	.approach-item{
		width: calc(50% - 15px);
		border-radius: 20px;
		min-height: 400px;
		padding: 40px;
	}

	.approach-item::before{
		border-radius: 20px;
	}

	.our-team{
		background-position: bottom -20px right -25px;
        background-size: 350px auto;
	}

	.page-single-sidebar{
        margin: 0;
    }

	.page-category-list .page-category-list-title{
        padding: 15px 20px;
    }

	.page-category-list ul{
        padding: 20px;
    }

	.page-category-list ul li{
        padding-bottom: 15px;
        margin-bottom: 15px;
    }

	.sidebar-cta-box{
		padding: 30px;
	}

	.service-entry{
        margin-bottom: 40px;
    }

	.service-benefits-box, 
	.service-intro-video-box{
    	margin-top: 40px;
	}

	.service-benefits-item-list,
	.service-intro-video{
		margin-top: 30px;
	}

	.team-member-about, 
	.team-member-expertise, 
	.team-member-fact{
		margin-bottom: 40px;
	}

	.team-member-expertise{
		padding: 30px;
	}

	.team-member-fact-body{
		padding: 30px;
	}

	.team-member-fact-item-list{
		gap: 30px;
	}

	.team-member-fact-item{
		width: calc(50% - 15px);
	}

	.team-member-fact-item-content{
		width: 100%;
	}

	.team-member-counter-list{
		padding-top: 30px;
		margin-top: 30px;
	}

	.team-member-counter-item{
    	width: calc(50% - 15px);
	}

	.contact-us-content{
		margin: 0 0 30px;
		min-height: 0;
	}

	.contact-us-form{
		padding: 30px;
	}
}

@media only screen and (max-width: 991px){

	.btn-default{
		padding: 15px 15px 15px 50px;
	}

	.btn-default:hover{
		padding: 15px 50px 15px 15px;
	}

	.btn-default::before{
		height: 36px;
		width: 36px;
		left: 5px;
	}

	.btn-default:hover::before{
		left: 100%;
		transform: translate(calc(100% - 77px), -50%);
	}

	.readmore-btn{
		padding: 3px 30px 3px 0;
	}

	.readmore-btn::before{
		width: 22px;
		height: 22px;
		background-size: 10px auto;
	}

	header.main-header{
		top: 0px;
		right: 0px;
		left: 0px;
	}

	header.main-header .header-sticky{
		border-radius: 0;
	}
	
	header.main-header .header-sticky.active{
        width: 100%;
		border-radius: 0;
		top: 0;
		left: 0;
		right: 0;
	}

	.responsive-menu,
    .navbar-toggle{
        display: block;
    }

	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.header-btn{
		display: none;
	}

	.section-row{
		margin-bottom: 40px;
	}
	
	.section-title{
		margin-bottom: 30px;
	}
	
	.section-sub-heading,
	.section-title .section-sub-title{
		padding: 6px 12px 6px 26px;
		margin-bottom: 10px;
	}

	.section-sub-heading,
	.section-title .section-sub-title::before{
		left: 12px;
	}

	.section-title h1{
		font-size: 48px;
	}

	.section-title h2{
		font-size: 36px;
	}

	.hero{
		padding: 150px 0 60px;
	}

	.hero-content .section-title .section-sub-title{
		padding: 8px 12px 8px 26px;
	}

	.video-play-button a span{
        width: 46px;
        height: 46px;
    }

	.hero-info-box{
		padding: 30px;
	}

	.satisfy-client-image figure img{
		max-width: 40px;
	}

	.satisfy-client-image.add-more{
		width: 42px;
		height: 42px;
	}

	.satisfy-client-image.add-more i{
		font-size: 18px;
	}

	.hero-info-review-box{
		padding-top: 30px;
		margin-top: 30px;
	}

	.hero-info-review-box h2{
		font-size: 36px;
	}

	.about-us{
		padding: 60px 0;
	}

	.about-us-list ul li{
		padding-left: 22px;
	}

	.about-us-list ul li::before{
		font-size: 16px;
	}

	.about-us-item-list{
		padding: 30px;
		margin-top: 30px;
	}

	.about-us-item h2{
    	font-size: 26px;
	}

	.about-us-btn{
		margin-top: 30px;
	}
	 
	.our-services{
		padding: 60px 0;
	}

	.service-slider .swiper{
		padding-bottom: 50px;
	}

	.service-item{
		min-height: auto;
		padding: 30px;
	}

	.service-item .icon-box{
		padding-top: 90px;
	}

	.service-item-image,
	.service-slider .swiper-slide.swiper-slide-next .service-item-image{
		width: 200px;
		height: 200px;
	}

	.service-slider .service-item:hover .service-item-image{
		width: 100%;
		height: 100%;
	}

	.section-footer-text,
	.section-footer-text ul{
		margin-top: 10px;
	}
	
	.section-footer-text ul li{
		margin-right: 5px;
	}

	.section-footer-text .section-footer-border-list li{
		padding-right: 10px;
	}

	.section-footer-text.section-satisfy-img{
		gap: 10px;
	}

	.our-services .section-footer-text{
		margin-top: 30px;
	}

	.why-choose-us{
		padding: 60px 0;
	}

	.why-choose-cta-box .icon-box{
		margin-bottom: 20px;
	}
	
	.why-choose-cta-content h3{
		font-size: 34px;
	}

	.why-choose-info-list ul li{
		margin-bottom: 10px;
		padding-left: 22px;
	}

	.why-choose-info-list ul li::before{
		font-size: 16px;
	}

	.why-choose-counter-header h2{
		font-size: 30px;
	}

	.why-choose-counter-body .icon-box{
		margin-bottom: 30px;
	}

	.why-choose-btn{
		padding-top: 30px;
		margin-top: 30px;
	}

	.our-benefits{
    	padding: 60px 0;
	}

	.our-benefit-item{
		min-height: auto;
		padding: 30px;
	}

	.benefit-item-list ul li{
		margin-bottom: 10px;
		padding-left: 22px;
	}

	.benefit-item-list ul li::before{
		font-size: 16px;
	}

	.our-benefit-image,
	.our-benefit-image figure,
	.our-benefit-image figure img{
		height: auto;
	}

	.benefit-working-hours-box{
		padding: 15px;
		left: 15px;
		right: 15px;
		bottom: 15px;
	}

	.benefit-working-hour-header{
		padding-bottom: 15px;
		margin-bottom: 15px;
	}

	.benefit-working-hour-header .icon-box i{
		font-size: 20px;
	}
	
	.benefit-working-hour-content ul li{
		margin-bottom: 10px;
	}

	.our-benefit-footer-box{
    	margin-top: 10px;
	}

	.our-benefit-footer-list ul{
		gap: 15px;
	}

	.our-benefit-footer-list ul li{
		font-size: 14px;
        padding: 7px 12px 7px 28px;
	}

	.our-benefit-footer-list ul li::before{
		left: 12px;
	}

	.our-benefit-footer-box .section-footer-text{
		margin-top: 20px;
	}

	.our-feature{
    	padding: 60px 0;
	}

	.feature-accordion{
		padding: 30px;
	}

	.feature-accordion .accordion-item{
		margin-bottom: 20px;
	}

	.feature-accordion .accordion-header .accordion-button{
		font-size: 18px;
	}

	.feature-accordion .accordion-item .accordion-button::after, 
	.feature-accordion .accordion-item .accordion-button.collapsed::after{
		font-size: 22px;
	}

	.feature-accordion .accordion-item .accordion-body p{
    	margin: 0 0 15px;
	}

	.feature-accordion .accordion-item .accordion-body ul li{
		margin-bottom: 10px;
		padding-left: 20px;
	}

	.feature-accordion .accordion-item .accordion-body ul li::before{
		font-size: 16px;
	}

	.our-feature .section-footer-text{
    	margin-top: 40px;
	}

	.our-feature .section-footer-text ul li:first-child{
		padding-right: 5px;
	}

	.intro-video-circle img{
		max-width: 80px;
	}

	.intro-video-circle-box .video-play-button a span{
		width: 80px;
		height: 80px;
	}

	.intro-video-circle-box .video-play-button a span i{
		font-size: 24px;
	}

	.our-pricing{
    	padding: 60px 0;
	}

	.pricing-item{
		padding: 30px 20px;
	}

	.pricing-item.highlighted-box{
		padding: 30px;
	}

	.pricing-item-header .icon-box{
		margin-bottom: 20px;
	}

	.pricing-item-price{
		margin-top: 20px;
		padding-top: 20px;
	}

	.pricing-item-price h2{
		font-size: 34px;
	}

	.pricing-item-body{
		padding-top: 20px;
		margin-top: 20px;
	}

	.pricing-item-body-list h3{
		margin-bottom: 15px;
	}

	.pricing-item-body-list ul li{
		margin-bottom: 10px;
		padding-left: 22px;
	}

	.pricing-item-body-list ul li::before{
		font-size: 16px;
	}

	.pricing-item-btn{
		margin-top: 30px;
	}

	.pricing-benefit-list{
		margin-top: 40px;
	}

	.pricing-benefit-list ul{
		gap: 15px 30px;
	}

	.pricing-benefit-list ul li img{
		max-width: 18px;
	}

	.book-appointment{
    	padding: 60px 0;
	}

	.appointment-form{
		padding: 30px;
	}

	.appointment-image-box{
		min-height: 350px;
		padding: 30px;
	}

	.appointment-form{
		padding: 30px;
	}

	.appointment-form .section-title{
		padding-bottom: 30px;
	}

	.appointment-form .section-title h2{
		font-size: 34px;
	}

	.appointment-form .form-group label{
		margin-bottom: 10px;
	}

	.appointment-form .form-control{
		padding: 11px 15px;
	}

	.our-testimonials{
		padding: 60px 0px;
	}

	.testimonial-item{
		min-height: auto;
		padding: 30px;
	}

	.testimonial-item-rating{
		margin-bottom: 20px;
	}

	.testimonial-item-content p{
		font-size: 18px;
	}

	.our-testimonials .section-footer-text{
		margin-top: 40px;
	}

	.our-faqs{
    	padding: 60px 0;
	}

	.faq-accordion .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion .accordion-header .accordion-button{
		padding: 13px 45px 13px 20px;
	}

	.faq-accordion .accordion-item .accordion-button::after, 
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		right: 20px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding: 13px 20px;
	}

	.our-faqs .company-supports-slider-box{
    	margin-top: 40px;
	}

	.company-supports-content{
        margin-bottom: 30px;
    }

	.company-supports-slider{
        margin: 0;
    }

	.our-blog{
		padding: 60px 0 30px;
	}

	.post-item-body{
    	padding: 10px;
	}

	.post-item-btn{
		padding-top: 15px;
		margin-top: 15px;
	}

	.main-footer{
    	padding: 50px 0 0;
	}

	.footer-header .section-title h2{
    	font-size: 30px;
	}

	.footer-header .contact-us-circle a img{
		max-width: 100px;
	}

	.page-header{
        padding: 180px 0 90px;
	}

	.page-header-box h1{
		font-size: 48px;
		margin-bottom: 10px;
	}

	.our-approach{
    	padding: 60px 0;
	}

	.approach-item{
		min-height: auto;
		padding: 30px;
	}

	.approach-item-header .icon-box{
		margin-bottom: 20px;
	}

	.approach-item-header .icon-box img{
		max-width: 50px;
	}

	.approach-item-list ul li{
		margin-bottom: 10px;
		padding-left: 22px;
	}

	.approach-item-list ul li::before{
		font-size: 16px;
	}

	.our-approach .section-footer-text{
		margin-top: 40px;
	}

	.our-team{
		padding: 60px 0;
	}

	.team-item-social-list{
		right: 30px;
		bottom: 30px;
		left: 30px;
	}

	.team-item-content{
        padding: 20px 15px;
    }

	.page-services{
    	padding: 60px 0 30px;
	}

	.page-service-single{
        padding: 60px 0;
    }

	.page-single-sidebar{
		position: initial;
        margin-bottom: 30px;
    }

	.sidebar-cta-box{
    	min-height: initial;
	}

	.service-entry p{
        margin-bottom: 15px;
    }

	.service-entry h2{
        font-size: 36px;
        margin-bottom: 15px;
    }

	.service-benefits-item-list{
		gap: 20px;
	}

	.service-benefits-item{
		width: calc(50% - 10px);
		padding: 20px;
	}

	.page-blog{
    	padding: 60px 0;
	}

	.page-pagination{
        margin-top: 10px;
    }

	.page-single-post{
        padding: 60px 0;
    }
    
    .post-image{
        margin-bottom: 20px;
    }
    
    .post-entry h2{
        font-size: 38px;
    }
    
    .post-entry p{
        margin-bottom: 15px;
    }

	.post-entry ol li,
	.post-entry ul li{
		font-size: 16px;
	}
    
    .post-entry blockquote{
        background-position: 20px 20px;
        background-size: 40px;
        padding: 20px 20px 20px 70px;
        margin-bottom: 15px;
    }
    
    .post-entry blockquote p{
        font-size: 16px;
    }
    
    .post-tags{
        margin-bottom: 20px;
    }
    
    .post-tags .tag-links a{
        padding: 12px 15px;
    }
    
    .post-social-sharing ul{
        text-align: left;
    }
	
	.page-team{
		padding: 60px 0 30px;
	}

	.page-team-single{
		padding: 60px 0;
	}

	.team-single-image figure img{
        aspect-ratio: 1 / 0.7;
    }

	.member-social-list{
		margin-top: 30px;
		padding-top: 30px;
	}

	.skills-progress-bar{
		margin-bottom: 20px;
	}

	.team-member-counter-item h2{
    	font-size: 36px;
		margin-bottom: 10px;
	}

	.page-pricing{
		padding: 60px 0;
	}

	.page-testimonials{
		padding: 60px 0 30px;
	}

	.page-gallery{
        padding: 60px 0 30px;
    }

	.page-video-gallery{
        padding: 60px 0 30px;
    }

	.page-faqs{
        padding: 60px 0;
    }

	.page-faqs .page-single-faqs{
        margin-bottom: 40px;
    }

	.page-contact-us{
        padding: 60px 0 30px;
    }

	.contact-info-item-list{
		padding-top: 30px;
	}

	.contact-us-form .section-title{
		padding-bottom: 30px;
	}

    .contact-form .form-control{
        padding: 15px;
    }

	.google-map{
        padding: 30px 0 60px;
    }

    .google-map-iframe{
        height: 450px;
    }

	.page-appointment{
    	padding: 60px 0;
	}

	.error-page{
		padding: 60px 0px;
	}
	
	.error-page-image{
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 767px){

	.section-row{
		margin-bottom: 30px;
	}

	.section-title h1{
		font-size: 28px;
	}

	.section-title h2{
		font-size: 26px;
	}

	.hero-info-box{
		max-width: 100%;
        padding: 20px;
    }

	.hero-info-client-content p{
		margin-bottom: 15px;
	}

	.hero-info-review-box{
		padding-top: 20px;
		margin-top: 20px;
	}

	.hero-info-review-box h2{
        font-size: 26px;
    }

	.hero-info-review-box p{
		margin: 5px 0 0;
	}

	.about-us-list ul{
		gap: 10px;
	}

	.about-us-list ul li{
		width: 100%;
	}

	.about-us-item-list{
		padding: 20px;
	}

	.about-us-item{
		width: 100%;
	}

	.about-us-item::before{
		top: auto;
		right: 0;
		bottom: -15px;
		width: 100%;
		height: 1px;
		transform: none;
	}

	.about-us-item:nth-child(2n + 2)::before{
		display: block;
	}

	.about-us-item:last-child::before{
		display: none;
	}

	.about-us-item h2{
        font-size: 22px;
    }

	.about-us-item p{
    	margin: 5px 0 0;
	}

	.about-us-image-box::before{
		right: 40px;
		bottom: 3px;
		width: 50px;
		height: 95px;
	}

	.about-us-image-box-1{
		width: 55%;
	}

	.about-us-image-2{
		margin-bottom: 40px;
	}

	.about-us-image-1 figure{
		border-width: 4px;
		margin-right: -90px;
	}

	.about-us-image-box-2{
		width: 45%;
		margin-top: 60px;
	}

	.about-image-content a{
		font-size: 12px;
		padding: 10px;
	}

	.about-image-content p{
		font-size: 12px;
	}

	.our-services{
		background-position: bottom -5px left;
		background-size: 200px auto;
	}

	.service-item{
		padding: 20px;
	}

	.service-item-content{
		margin-top: 15px;
		padding-top: 15px;
	}

	.service-item-number h2,
	.service-item-content h2{
    	font-size: 18px;
	}

	.service-item-content p{
		margin-top: 5px;
	}

	.section-footer-text ul li{
		font-size: 14px;
	}

	.why-choose-image-box{
		background-position: bottom 30px left 90px;
		background-size: 90px auto;
	}

	.why-choose-image-box-1{
		padding: 0 0 80px 30px;
	}

	.why-choose-image-box-1 .why-choose-image figure{
    	margin-right: -105px;
	}

	.why-choose-image-box-2 .why-choose-image figure{
		border-width: 4px;
		border-radius: 16px 60px;
	}

	.why-choose-image-box-2 .why-choose-image figure img{
		border-radius: 10px 60px;
	}

	.why-choose-cta-box{
		top: 30px;
		max-width: 130px;
		padding: 15px;
	}

	.why-choose-cta-box .icon-box{
		margin-bottom: 15px;
	}

	.why-choose-cta-box .icon-box img{
		max-width: 40px;
	}

	.why-choose-cta-content p{
		font-size: 14px;
		margin: 0 0 5px;
	}

	.why-choose-cta-content h3{
		font-size: 24px;
	}

	.why-choose-info-box,
	.why-choose-counter-box{
		padding: 20px;
	}

	.why-choose-info-box{
		width: 100%;
	}

	.why-choose-info-content h3{
		font-size: 18px;
	}

	.why-choose-info-content p{
		margin: 5px 0 0;
	}

	.why-choose-counter-box{
		width: 100%;
	}

	.why-choose-counter-header h2{
        font-size: 26px;
    }

	.why-choose-counter-body .icon-box{
		margin-bottom: 20px;
	}

	.our-benefit-item{
		padding: 20px;
		gap: 20px;
	}

	.benefit-item-header .icon-box{
		margin-bottom: 20px;
	}

	.benefit-item-content h3{
    	font-size: 18px;
	}

	.benefit-item-content p{
		margin: 5px 0 0;
	}

	.benefit-item-list{
		padding-top: 20px;
	}

	.benefits-working-header h2{
		font-size: 18px;
	}

	.benefit-working-hour-header .icon-box i{
		font-size: 18px;
	}

	.benefit-working-hour-title h3{
		font-size: 18px;
	}

	.our-benefit-footer-list ul{
		gap: 10px;
	}

	.our-benefit-footer-list ul li{
		padding: 7px 8px 7px 22px;
	}

	.our-benefit-footer-list ul li::before{
		width: 4px;
		height: 4px;
		left: 10px;
	}

	.our-feature-image-box::before{
		top: 40px;
		left: 70px;
		width: 50px;
		height: 95px;
	}

	.our-feature-image-box-2{
		padding-bottom: 50px;
	}

	.our-feature-image-box-1 .our-feature-image figure{
		border-width: 4px;
		border-radius: 24px;
	}

	.our-feature-image-box-2 .our-feature-image figure{
		margin-left: -120px;
	}

	.our-feature-image-box-1 .contact-us-circle{
		bottom: 30px;
	}

	.our-feature-image-box-1 .contact-us-circle a{
		border-width: 4px;
	}

	.contact-us-circle a img{
		max-width: 80px;
	}

	.feature-accordion{
		padding: 20px;
	}

	.feature-accordion .accordion-header{
		padding-bottom: 15px;
	}

	.feature-accordion .accordion-header .accordion-button{
		font-size: 16px;
		padding: 0 25px 0 0;
	}

	.feature-accordion .accordion-item .accordion-button::after,
	.feature-accordion .accordion-item .accordion-button.collapsed::after{
		font-size: 20px;
	}

	.feature-accordion .accordion-item .accordion-body{
		padding-top: 15px;
	}

	.our-feature .section-footer-text{
		margin-top: 30px;
    }

	.intro-video-image img{
		aspect-ratio: 1 / 0.72;
	}

	.pricing-item-list{
		gap: 10px;
	}

	.pricing-item{
		width: 100%;
		padding: 20px 10px;
	}

	.pricing-item.highlighted-box{
		padding: 20px;
	}

	.pricing-item-content .pricing-item-title{
		font-size: 18px;
	}

	.pricing-item-content p{
		margin: 5px 0 0;
	}

	.pricing-item-price h2{
        font-size: 28px;
    }

	.pricing-item-price h2 sub{
		font-size: 14px;
	}

	.pricing-item-body-list h3{
        font-size: 18px;
    }

	.pricing-benefit-list{
		margin-top: 30px;
	}

	.pricing-benefit-list ul{
		gap: 10px 15px;
	}

	.pricing-benefit-list ul li{
		font-size: 14px;
	}

	.pricing-benefit-list ul li img{
		max-width: 16px;
		margin-right: 5px;
	}

	.appointment-image-box{
        padding: 20px;
    }

	.appointment-contact-item-list{
		gap: 20px;
	}

	.appointment-contact-item{
		width: 100%;
	}

	.appointment-contact-item-content h3{
		font-size: 18px;
	}

	.appointment-form{
		padding: 20px;
	}

	.book-appointment .section-title h2{
        font-size: 28px;
    }

	.testimonial-item{
		padding: 20px;
	}

	.testimonial-author-content h2{
		font-size: 18px;
	}

	.testimonial-item-rating{
		margin-bottom: 20px;
	}

	.testimonial-item-content p{
		font-size: 16px;
	}

	.faq-cta-box{
		width: 100%;
		min-width: 100%;
	}

	.faq-cta-header{
		padding: 14px 20px;
	}

	.faq-cta-item-list{
		padding: 20px;
	}

	.faq-cta-item-content h3{
		font-size: 18px;
	}

	.faq-accordion .accordion-header .accordion-button{
        font-size: 16px;
        padding: 10px 35px 10px 15px;
    }

	.faq-accordion .accordion-item .accordion-body{
		padding: 10px 15px;
	}

	.faq-accordion .accordion-item .accordion-button::after, 
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		right: 15px;
		font-size: 18px;
	}

	.company-supports-content{
        margin-bottom: 20px;
		justify-content: center;
    }

	.company-supports-content p{
		font-size: 16px;
	}

	.company-supports-content hr{
        display: none;
    }

	.company-supports-logo img{
		max-width: 160px;
		height: 34px;
	}

	.post-item-content h2{
		font-size: 18px;
	}

	.scrolling-content .scrolling-ticker-gallery figure,
	.scrolling-content .scrolling-ticker-gallery img{
		border-radius: 10px;
	}

	.scrolling-content .scrolling-ticker-gallery{
		width: calc((100vw / 2) - 5px);
	}

	.footer-header .section-title{
		width: 100%;
	}
	
	.footer-header .section-title h2{
        font-size: 20px;
    }

	.footer-header .contact-us-circle{
		display: none;
	}

	.footer-links{
		max-width: 100%;
	}

	.footer-links h2{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-contact-item h3{
		font-size: 18px;
	}

	.footer-copyright-text{
        padding: 15px 0;
    }

	.page-header-box h1{
        font-size: 28px;
	}

    .approach-item{
		width: 100%;
		padding: 20px;
	}

	.approach-item-content h3{
    	font-size: 18px;
	}

	.approach-item-content p{
		margin-top: 5px;
	}

	.our-team{
		background-position: bottom -10px right -15px;
        background-size: 200px auto;
	}
	
	.team-item-social-list{
        bottom: 20px;
        left: 20px;
        right: 20px;
    }

	.team-item-content h2{
    	font-size: 18px;
	}

	.team-item-content p{
		margin-top: 15px;
		padding-top: 15px;
	}

	.page-category-list .page-category-list-title,
	.sidebar-cta-header-content h3{
        font-size: 18px;
    }
	
	.sidebar-cta-box{
        padding: 20px;
    }

	.sidebar-cta-content h2{
		font-size: 18px;
	}

	.sidebar-cta-content p{
		margin: 5px 0 0;
	}

	.page-single-image{
        margin-bottom: 20px;
    }

	.service-entry h2{
        font-size: 26px;
    }

    .service-entry h3{
        font-size: 18px;
		margin-bottom: 5px;
    }

	.service-benefits-item{
    	width: 100%;
	}

	.service-benefits-item .icon-box{
    	margin-bottom: 20px;
	}

	.service-benefits-item .icon-box img{
		max-width: 40px;
	}

	.service-intro-video-image figure img{
		aspect-ratio: 1 / 0.7;
	}

	.watch-our-video-circle a img{
		max-width: 90px;
	}

	.post-single-meta ol li,
	.post-single-meta ol li i{
		font-size: 16px;
	}

	.post-image img{
		aspect-ratio: 1 / 0.7;
	}

	.post-entry blockquote{
		padding: 65px 20px 20px 20px;
	}

	.post-entry blockquote p{
		font-size: 16px;
	}

	.post-entry h2{
		font-size: 26px;
	}
	
	.tag-links{
		font-size: 18px;
	}

	.team-single-image figure img{
        aspect-ratio: 1 / 1.159;
    }

	.member-social-list h3,
	.team-member-fact-item-content h3,
	.team-member-counter-item h3{
    	font-size: 18px;
	}

	.team-member-expertise{
        padding: 20px;
    }

	.team-member-fact-body{
		padding: 20px;
	}

	.team-member-fact-item-list{
        gap: 20px;
    }

	.team-member-fact-item,
	.team-member-counter-item{
		width: 100%;
	}

	.team-member-fact-item .icon-box img{
		max-width: 40px;
	}

	.team-member-fact-item-content{
		width: calc(100% - 55px);
	}

	.team-member-counter-list{
		gap: 20px;
	}

	.team-member-counter-item h2{
        font-size: 26px;
    }

	.team-member-counter-item p{
		margin-top: 5px;
	}

	.contact-info-item-list{
		gap: 20px;
	}

	.contact-info-item{
		width: 100%;
	}

	.contact-info-item-content h3{
		font-size: 18px;
	}

	.contact-us-form{
        padding: 20px;
    }

	.google-map-iframe{
        height: 350px;
    }
}

/************************************/
/***    34. CSS accueil - version 2  ***/
/************************************/

.hero-elite{
	position: relative;
	min-height: 100vh;
	align-content: center;
	background-image: url('../images/hero-bg-image-elite.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 220px 0 120px;
}

.hero-elite::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(270deg, transparent 31.22%, rgba(0, 0, 0, 0.64) 74.55%, rgba(0, 0, 0, 0.80) 100%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.hero-elite .container{
	position: relative;
	z-index: 2;
}

.hero-content-elite .section-title .section-sub-title{
	background-color: var(--dark-divider-color);
	border-color: transparent;
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
}

.hero-content-body-elite{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 40px;
}

.hero-client-box-elite{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.hero-client-content-elite h2{
	color: var(--white-color);
	font-size: 16px;
	font-weight: 500;
}

.hero-client-rating-star-elite i{
	color: var(--white-color);
	font-size: 16px;
	margin-right: 5px;
}

.hero-client-content-elite p{
	color: var(--white-color);
	margin: 5px 0 0;
}

.hero-feature-list-elite{
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 50px;
	padding-top: 50px;
}

.hero-feature-list-elite ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
	padding: 0;
	margin: 0;
}

.hero-feature-list-elite ul li{
	position: relative;
	width: calc(50% - 20px);
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5em;
	color: var(--white-color);
	padding-left: 25px;
}

.hero-feature-list-elite ul li::before{
	content: '\2a';
	position: absolute;
	font-family: 'Font Awesome 7 Free';
	font-size: 18px;
	font-weight: 900;
	color: var(--white-color);
	top: 0;
	left: 0;
}

.about-us-elite{
	padding: 120px 0;
}

.about-us-image-box-elite{
	height: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-right: 15px;
}

.about-us-image-box-1-elite{
	width: 54%;
}

.about-us-image-elite{
	height: 100%;
}

.about-us-image-elite figure{
	display: block;
	border-radius: 10px;
}

.about-us-image-elite figure img{
	width: 100%;
	object-fit: cover;
	border-radius: 10px;
}

.about-us-image-box-1-elite .about-us-image-elite figure{
	height: 100%;
	border-radius: 290px 290px 20px 20px;
	margin-right: -154px;
}

.about-us-image-box-1-elite .about-us-image-elite figure img{
	height: 100%;
	aspect-ratio: 1 / 1.432;
	border-radius: 290px 290px 20px 20px;
}

.about-us-image-box-2-elite{
	position: relative;
	width: 46%;
	background-color: var(--secondary-color);
	border-radius: 20px;
	margin: auto 0 100px;
	padding: 10px;
	z-index: 1;
}

.about-us-image-box-2-elite .about-us-image-elite figure img{
	aspect-ratio: 1 / 1.05;
}

.about-us-image-content-elite{
	text-align: center;
	padding: 15px 5px 5px;
}

.about-us-image-content-elite p{
	color: var(--primary-color);
	font-weight: 700;
	margin-bottom: 0;
}

.about-us-content-elite{
	height: 100%;
	align-content: center;
}

.about-us-body-elite{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 4.167vw;
}

.about-body-content-elite{
	width: calc(57% - 2.083vw);
	align-content: center;
}

.about-feature-list-elite ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.about-feature-list-elite ul li{
	position: relative;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.about-feature-list-elite ul li:last-child{
	margin-bottom: 0;
}

.about-feature-list-elite ul li::before{
	content: '\2a';
	position: absolute;
	font-family: 'Font Awesome 7 Free';
	font-size: 20px;
	font-weight: 900;
	color: var(--accent-color);
	top: 0;
	left: 0;
}

.about-us-btn-elite{
	margin-top: 40px;
}

.about-contact-author-box-elite{
	position: relative;
	width: calc(43% - 2.083vw);
	align-content: center;
}

.about-contact-author-box-elite::before{
	content: '';
	position: absolute;
	top: 0;
	left: -2.083vw;	
	height: 100%;
	width: 1px;
	background-color: var(--divider-color);
}

.about-contact-item-elite{
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 30px;
}

.about-contact-item-elite .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.about-contact-item-elite .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.about-contact-item-elite:hover .icon-box::before{
    transform: scale(1);
}

.about-contact-item-elite .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
	z-index: 1;
}

.about-contact-item-content-elite{
	width: calc(100% - 65px);
}

.about-contact-item-content-elite p{
	margin-bottom: 0;
}

.about-contact-item-content-elite h3{
	font-size: 20px;
	margin-top: 5px;
}

.about-contact-item-content-elite h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.about-contact-item-content-elite h3 a:hover{
	color: var(--accent-color);
}

.about-us-author-elite{
	display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
	margin-bottom: 30px;
}

.about-us-author-elite:last-child{
	margin-bottom: 0;
}

.about-us-author-image-elite figure{
	display: block;
	border-radius: 50%;
}

.about-us-author-image-elite img{
	width: 100%;
    max-width: 50px;
}

.about-us-author-content-elite{
	width: calc(100% - 65px);
}

.about-us-author-content-elite h3{
	font-size: 20px;
}

.about-us-author-content-elite p{
	line-height: normal;
	margin: 5px 0 0;
}

.our-services-elite{
	background-image: url('../images/section-bg-image-2.png');
    background-repeat: no-repeat;
    background-position: bottom -20px left;
    background-size: auto;
	padding: 120px 0;
}

.service-item-elite{
	position: relative;
	border-radius: 210px;
	overflow: hidden;
}

.service-item-image-elite figure{
	position: relative;
	display: block;
	border-radius: 210px;
}

.service-item-image-elite figure::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(0deg, rgba(0, 35, 51, 0.50) 0%, rgba(0, 35, 51, 0.50) 100%);
	border-radius: 210px;
	width: 100%;
	height: 100%;
	transform: scale(0);
	visibility: hidden;
	transition: all 0.6s ease-in-out;
}

.service-slider-elite .swiper-slide.swiper-slide-next .service-item-elite .service-item-image-elite figure::before{
	visibility: visible;
	transform: scale(1);
}

.service-item-image-elite figure img{
	width: 100%;
	aspect-ratio: 1 / 1.434;
	object-fit: cover;
	border-radius: 210px;
}

.service-item-body-elite{
	position: absolute;
	top: 50%;
	left: 40px;
	right: 40px;
	transform: translateY(-50%) scale(0);
	text-align: center;
	visibility: hidden;
	transition: all 0.6s ease-in-out;
}

.service-slider-elite .swiper-slide.swiper-slide-next .service-item-elite .service-item-body-elite{
	visibility: visible;
	transform: translateY(-50%) scale(1);
}

.service-item-body-elite .icon-box{
	margin-bottom: 40px;
}

.service-item-body-elite .icon-box img{
	width: 100%;
	max-width: 50px;
}

.service-item-content-elite h2{
	color: var(--white-color);
	font-size: 20px;
}

.service-item-content-elite h2 a{
	color: inherit;
}

.service-item-content-elite p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.service-pagination-elite{
	text-align: center;
	margin-top: 40px;
}

.service-pagination-elite .swiper-pagination-bullet{
	width: 10px;
	height: 10px;
	background: var(--divider-color);
	text-align: center;
	border-radius: 20px;
	opacity: 1;
	margin: 0 4px;
	transition: all 0.3s ease-in-out;
}

.service-pagination-elite .swiper-pagination-bullet-active{
	width: 30px;
	background: var(--accent-color);
}

.our-services-elite .section-footer-text{
	margin-top: 40px;
}

.why-choose-us-elite{
	padding: 120px 0;
}

.why-choose-us-contnet-elite{
	height: 100%;
	align-content: center;
	margin-right: 15px;
}

.why-choose-item-elite{
	border-bottom: 1px solid var(--divider-color);
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin-bottom: 40px;
	padding-bottom: 40px;
}

.why-choose-item-elite:last-child{
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.why-choose-item-elite .icon-box img{
	width: 100%;
	max-width: 50px;
}

.why-choose-item-content-elite{
	width: calc(100% - 65px);
}

.why-choose-item-content-elite h3{
	font-size: 20px;
}

.why-choose-item-content-elite p{
	margin: 10px 0 0;
}

.why-choose-us-btn-elite{
	margin-top: 50px;
}

.why-choose-us-image-box-elite{
	position: relative;
	height: 100%;
}

.why-choose-us-image-elite{
	height: 100%;
}

.why-choose-us-image-elite figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.why-choose-us-image-elite figure img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1.075;
	object-fit: cover;
	border-radius: 20px;
}

.why-choose-item-quote-elite{
	position: absolute;
	left: 55px;
	bottom: 40px;
	max-width: 350px;
	background-color: var(--bg-color);
	border-radius: 20px;
	padding: 30px;
}

.why-choose-item-quote-elite .icon-box{
	position: absolute;
	top: -25px;
	left: -15px;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.why-choose-item-quote-elite .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.why-choose-item-quote-elite:hover .icon-box::before{
    transform: scale(1);
}

.why-choose-item-quote-elite .icon-box img{
	position: relative;
    width: 100%;
    max-width: 30px;
	z-index: 1;
}

.why-choose-item-quote-content-elite h3{
	font-size: 20px;
}

.our-benefits-elite{
	padding: 120px 0;
}

.benefit-item-box-elite{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	background-color: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 20px;
	padding: 10px;
}

.benefit-item-image-box-elite{
	position: relative;
	width: calc(51% - 5px);
}

.benefit-item-image-elite{
	height: 100%;
}

.benefit-item-image-elite figure{
	position: relative;
	height: 100%;
	display: block;
	border-radius: 10px;
}

.benefit-item-image-elite figure::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: var(--primary-color);
	opacity: 20%;
	border-radius: 10px;
}

.benefit-item-image-elite figure img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.68;
	object-fit: cover;
	border-radius: 10px;
}

.benefit-item-image-box-elite .video-play-button-elite{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

.video-play-button-elite a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	cursor: none;
}

.video-play-button-elite a span{
	position: relative;
	width: 70px;
	height: 70px;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.video-play-button-elite a span.bg-effect:before,
.video-play-button-elite a span.bg-effect:after{
	content: '';
	position: absolute;
    width: 160%;
    height: 160%;
	border: 35px solid var(--white-color);
	opacity: 50%;
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
}

.video-play-button-elite a span.bg-effect:after{
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button-elite a span i{
    font-size: 26px;
    color: inherit;
    margin-left: 2px;
}

.video-play-button-elite p{
	font-weight: 600;
	color: var(--white-color);
	margin: 0;
}

.benefit-item-content-box-elite{
	width: calc(49% - 5px);
}

.benefit-item-content-box-elite{
	padding: 50px;
}

.benefit-item-content-box-elite .section-title h2{
	font-size: 30px;
}

.benefit-item-content-box-elite .section-title p{
	margin: 10px 0 0;
}

.benefit-item-list-elite{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.benefit-item-list-elite:last-child{
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.benefit-item-elite{
	position: relative;
	width: calc(50% - 10px);
	padding-left: 25px;
}

.benefit-item-elite::before{
	content: '\2a';
	position: absolute;
	font-family: 'Font Awesome 7 Free';
	font-size: 18px;
	font-weight: 900;
	color: var(--white-color);
	top: 5px;
	left: 0;
}

.benefit-item-elite h3{
	font-size: 20px;
	color: var(--white-color);
}

.benefit-item-elite p{
	color: var(--white-color);
	margin: 5px 0 0;
}

.our-key-fact-elite{
	padding: 120px 0;
}

.key-fact-item-elite{
	position: relative;
	background-color: var(--secondary-color);
	border-radius: 20px;
	min-height: 420px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 50px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.key-fact-item-elite::before{
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	left: 0;
	width: 100%;
	height: 0;
	background: var(--accent-color);
	border-radius: 20px;
	transition: all 0.4s ease-in-out;
	z-index: 0;
}

.key-fact-item-elite:hover:before{
	top: auto;
	height: 100%;
}

.key-fact-item-elite .icon-box{
	position: relative;
	z-index: 1;
}

.key-fact-item-elite .icon-box img{
	width: 100%;
	max-width: 60px;
	transition: all 0.4s ease-in-out;
}

.key-fact-item-elite:hover .icon-box img{
	filter: brightness(0) invert(1);
}

.key-fact-item-body-elite{
	position: relative;
	z-index: 1;
}

.key-fact-item-counter-elite{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;	
}

.key-fact-counter-number-elite{
	width: calc(45% - 10px);
}

.key-fact-counter-number-elite h2{
	font-size: 50px;
	transition: all 0.4s ease-in-out;
}

.key-fact-item-elite:hover .key-fact-counter-number-elite h2,
.key-fact-item-elite:hover .key-fact-counter-content-elite p,
.key-fact-item-elite:hover .key-fact-item-content-elite p{
	color: var(--white-color);
}

.key-fact-counter-content-elite{
	width: calc(55% - 10px);
}

.key-fact-counter-content-elite p{
	margin-bottom: 0;
	transition: all 0.4s ease-in-out;
}

.key-fact-item-content-elite{
	border-top: 1px solid var(--divider-color);
	margin-top: 30px;
	padding-top: 30px;
	transition: all 0.4s ease-in-out;
}

.key-fact-item-elite:hover .key-fact-item-content-elite{
	border-color: var(--dark-divider-color);
}

.key-fact-item-content-elite p{
	margin-bottom: 0;
	transition: all 0.4s ease-in-out;
}

.our-story-elite{
	position: relative;
	min-height: 800px;
	align-content: end;
	padding: 120px 0 80px;
}

.our-story-elite::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.90) 0%, transparent 57%);
	z-index: 1;
}

.our-story-elite .story-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.our-story-elite .story-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.our-story-elite .container{
	position: relative;
	z-index: 1;
}

.our-story-content-elite .section-title{
	margin-bottom: 0;
}

.story-contact-info-item-elite{
	height: 100%;
	align-content: center;
	border: 1px solid var(--dark-divider-color);
	background-color: var(--divider-color);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 20px;
	padding: 30px;
}

.story-contact-info-item-elite .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 30px;
	overflow: hidden;
}

.story-contact-info-item-elite .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--white-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.story-contact-info-item-elite:hover .icon-box::before{
    transform: scale(1);
}

.story-contact-info-item-elite .icon-box img{
    width: 100%;
    max-width: 24px;
	transition: all 0.4s ease-in-out;
}

.story-contact-info-item-elite:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.story-contact-info-content-elite p{
	color: var(--white-color);
	margin-bottom: 0;
}

.story-video-image-item-elite{
	position: relative;
	max-width: max-content;
}

.story-video-image-elite figure{
	position: relative;
	display: block;
	width: 295px;
	height: 205px;
	border-radius: 20px;
	mask-image: url('../images/story-video-image-shape-elite.svg');
	background-image: url('../images/story-video-image-shape-elite.svg');
	mask-repeat: no-repeat;
    mask-size: cover;
    mask-position: center center;
}

.story-video-image-elite figure::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: var(--primary-color);
	opacity: 20%;
}

.story-video-image-elite figure img{
	width: 100%;
    object-fit: cover;
    border-radius: 20px;
}

.story-video-image-item-elite .video-play-button-elite{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50% , -50%);
}

.story-video-image-item-elite .video-play-button-elite a span{
	height: 50px;
	width: 50px;
}

.story-video-image-item-elite .video-play-button-elite a span i{
	font-size: 20px;
}

.our-pricing-elite{
	padding: 120px 0;
}

.pricing-item-elite{
	position: relative;
	background-color: var(--secondary-color);
	border-radius: 20px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 40px;
	overflow: hidden;
}

.pricing-item-header-elite span{
	display: inline-block;
	font-size: 20px;
	font-weight: 500;
	color: var(--primary-color);
	margin-bottom: 30px;
}

.pricing-item-header-elite h2{
	font-size: 40px;
}

.pricing-item-header-elite h2 sub{
	font-size: 16px;
	bottom: 0;
}

.pricing-item-header-elite p{
	margin: 10px 0 0;
}

.pricing-item-body-elite{
	border-top: 1px solid var(--divider-color);
	margin-top: 40px;
	padding-top: 40px;
}

.pricing-item-list-elite h3{
	font-size: 20px;
	margin-bottom: 20px;
}

.pricing-item-list-elite ul{
	list-style: none;
    margin: 0;
    padding: 0;
}

.pricing-item-list-elite ul li{
    position: relative;
    line-height: 1.5em;
    padding-left: 25px;
    margin-bottom: 15px;
}

.pricing-item-list-elite ul li::before{
    content: '\2a';
	position: absolute;
	font-family: 'Font Awesome 7 Free';
	font-size: 18px;
	font-weight: 900;
	color: var(--accent-color);
	top: 0;
	left: 0;
}

.pricing-item-btn-elite{
	margin-top: 40px;
}

.pricing-item-btn-elite .btn-default{
	width: 100%;
	text-align: center;
}

.pricing-item-elite.highlighted-box .pricing-item-header-elite{
	margin-right: 20px;
}

.pricing-item-elite.highlighted-box::after{
	content: 'Popular';
	position: absolute;
	top: 20px;
    right: -75px;
	font-size: 14px;
	font-weight: 500;
	color: var(--white-color);
	background: var(--accent-color);
    width: 220px;
	height: 29px;
	display: flex;
	justify-content: center;
	align-items: center;
	transform: rotate(44deg);
}

.pricing-benefit-list-elite{
	margin-top: 30px;
}

.pricing-benefit-list-elite ul{
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 20px 50px;
}

.pricing-benefit-list-elite ul li{
    display: inline-flex;
    align-items: center;
	color: var(--primary-color);
}

.pricing-benefit-list-elite ul li img{
	width: 100%;
	max-width: 20px;
	margin-right: 10px;
}

.our-testimonials-elite{
	position: relative;
	background-image: url('../images/testimonial-bg-image-elite.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 120px 0;
}

.our-testimonials-elite::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(270deg, rgba(0, 0, 0, 0.80) 0%, rgba(0, 0, 0, 0.48) 42.23%, transparent 81.15%);
	height: 100%;
	width: 100%;
}

.our-testimonials-elite .container{
	position: relative;
	z-index: 2;
}

.testimonial-content-elite .section-title{
	margin-bottom: 80px;
}

.testimonial-slider-elite .swiper-wrapper{
	cursor: none;
}

.testimonial-item-rating-elite{
	margin-bottom: 30px;
}

.testimonial-item-rating-elite i{
	font-size: 20px;
	color: var(--white-color);
}

.testimonial-item-content-elite p{
	font-size: 20px;
	font-weight: 500;
	color: var(--white-color);
	margin-bottom: 0;
}

.testimonial-item-author-elite{
	border-top: 1px solid var(--dark-divider-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-top: 40px;
	padding-top: 40px;
}

.testimonial-author-image-elite figure{
	display: block;
	border-radius: 50%;
}

.testimonial-author-image-elite img{
	width: 100%;
	max-width: 50px;
	object-fit: cover;
	border-radius: 50%;
}

.testimonial-author-content-elite{
	width: calc(100% - 65px);
}

.testimonial-author-content-elite h2{
	font-size: 20px;
	color: var(--white-color);
}

.testimonial-author-content-elite p{
	color: var(--white-color);
	line-height: normal;
	margin: 5px 0 0;
}

.testimonial-btn-elite{
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	align-items: center;
	gap: 20px;
	z-index: 1;
}

.testimonial-slider-elite .testimonial-button-next-elite,
.testimonial-slider-elite .testimonial-button-prev-elite{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--dark-divider-color);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.testimonial-slider-elite .testimonial-button-next-elite:hover,
.testimonial-slider-elite .testimonial-button-prev-elite:hover{
	background: var(--white-color);
}

.testimonial-slider-elite .testimonial-button-next-elite::before,
.testimonial-slider-elite .testimonial-button-prev-elite::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: url('../images/arrow-white.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 16px auto;
	transform: rotate(45deg);
	transition: all 0.4s ease-in-out;
}

.testimonial-slider-elite .testimonial-button-prev-elite::before{
	transform: rotate(225deg);
}

.testimonial-slider-elite .testimonial-button-next-elite:hover::before,
.testimonial-slider-elite .testimonial-button-prev-elite:hover::before{
	filter: brightness(1) invert(1);
}

.our-faqs-elite{
	padding: 120px 0;
}

.faq-box-elite{
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
}

.faq-content-elite{
	width: calc(46% - 30px);
	display: flex;
	flex-direction: column;
}

.faq-image-elite{
	height: 100%;
}

.faq-image-elite figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.faq-image-elite figure img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 0.473;
	object-fit: cover;
	border-radius: 20px;
}

.faq-accordion-elite{
	width: calc(54% - 30px);
	align-content: center;
}

.faq-accordion-elite .accordion-item{
    position: relative;
    background: var(--secondary-color);
    border-radius: 10px;
    margin-bottom: 25px;
    overflow: hidden;
}

.faq-accordion-elite .accordion-item:last-child{
    margin-bottom: 0;
}

.faq-accordion-elite .accordion-item .accordion-header .accordion-button{
	font-size: 18px;
    font-weight: 500;
    line-height: 1.333em;
    color: var(--primary-color);
    padding: 18px 50px 18px 24px;
    transition: all 0.3s ease-in-out;
}

.faq-accordion-elite .accordion-item .accordion-button::after,
.faq-accordion-elite .accordion-item .accordion-button.collapsed::after{
    content: '\2b';
    font-family: 'FontAwesome';
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
	font-size: 20px;
	font-weight: 400;
	color: var(--primary-color);
    transition: all 0.4s ease-in-out;
}

.faq-accordion-elite .accordion-button:not(.collapsed)::after{
	transform: translateY(-50%) rotate(45deg);
}

.faq-accordion-elite .accordion-item .accordion-body{
	border-top: 1px solid var(--divider-color);
    padding: 18px 24px;
}

.faq-accordion-elite .accordion-item .accordion-body p{
    margin: 0;
}

.company-supports-slider-box-elite{
    margin-top: 80px;
}

.company-supports-content-elite{
    display: flex;
    align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-bottom: 40px;
	text-align: center;
}

.company-supports-content-elite hr{
    height: 1px;
	flex-grow: 1;
    color: var(--divider-color);
    opacity: 1;
    margin: 0;
}

.company-supports-content-elite h3{
	font-size: 18px;
}

.company-supports-slider-elite{
	margin: 0 4.167vw;
} 

.company-supports-logo-elite{
	text-align: center;
}

.company-supports-logo-elite img{
	width: 100%;
	max-width: 170px;
	height: 40px;
}

.book-apoointment-elite{
	background-image: url('../images/section-bg-image-2.png');
    background-repeat: no-repeat;
    background-position: bottom -20px left;
    background-size: auto;
	padding: 120px 0;
}

.appointment-content-elite{
	position: sticky;
	top: 30px;
	margin-right: 15px;
}

.appointment-content-elite .section-title{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 40px;
}

.appointment-working-box-elite{
	max-width: 485px;
	background-color: var(--bg-color);
	border-radius: 20px;
	overflow: hidden;
}

.appointment-working-box-elite h2{
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 20px;
	color: var(--white-color);
	background-color: var(--accent-color);
	padding: 21px 30px;
}

.appointment-working-box-elite i{
	font-size: 24px;
	color: var(--white-color);
}

.appointment-working-box-elite ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.appointment-working-box-elite ul li{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	border-bottom: 1px solid var(--divider-color);
	padding: 26px;
}

.appointment-working-box-elite ul li:last-child{
	border: none;
}

.appointment-working-box-elite ul li span{
	min-width: 45%;
}

.appointment-form-elite{
	background-color: var(--bg-color);
	border-radius: 20px;
	padding: 60px;
}

.appointment-form-elite .section-title{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 40px;
}

.appointment-form-elite form .form-group label{
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
	margin-bottom: 15px;
}

.appointment-form-elite .form-control{
	font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--primary-color);
	border: 1px solid var(--divider-color);
    background-color: transparent;
    border-radius: 10px;
    padding: 12px 20px;
    outline: none;
    box-shadow: none;
}

.appointment-form-elite .form-control::placeholder{
	color: var(--text-color);
	opacity: 50%;
}

.book-apoointment-elite input[type="date"]::-webkit-calendar-picker-indicator{
	filter: none;
	opacity: 40%;
    cursor: pointer;
}

input[type="date"]:focus::-webkit-datetime-edit-text,
input[type="date"]:focus::-webkit-datetime-edit-month-field,
input[type="date"]:focus::-webkit-datetime-edit-day-field,
input[type="date"]:focus::-webkit-datetime-edit-year-field,
input[type="date"]:valid::-webkit-datetime-edit-text,
input[type="date"]:valid::-webkit-datetime-edit-month-field,
input[type="date"]:valid::-webkit-datetime-edit-day-field,
input[type="date"]:valid::-webkit-datetime-edit-year-field{
	color: var(--primary-color);
}

.main-footer-elite{
	padding: 100px 0 0;
}

.footer-header-elite{
    border-bottom: 1px solid var(--dark-divider-color);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding-bottom: 80px;
    margin-bottom: 80px;
}

.footer-header-elite .section-title{
	max-width: 640px;
	margin-bottom: 0;
}

.footer-header-elite .section-title h2{
	font-size: 40px;
}

.about-footer-elite{
	max-width: 330px;
}

.footer-logo-elite img{
	width: 100%;
	max-width: 174px;
}

.about-footer-content-elite{
	margin-top: 20px;
}

.about-footer-content-elite p{
	color: var(--white-color);
	margin: 0;
}

.footer-social-links-elite{
	margin-top: 30px;
}

.footer-social-links-elite ul{
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin: 0;
    padding: 0;
}

.footer-social-links-elite ul li a{
    width: 40px;
    height: 40px;
    color: var(--white-color);
    border: 1px solid var(--dark-divider-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.footer-social-links-elite ul li a:hover{
	background: var(--white-color);
	border-color: var(--white-color);
	color: var(--accent-color);
}

.footer-social-links-elite ul li a i{
    font-size: 18px;
    color: inherit;
}

.footer-links-box-elite{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 30px;
	margin-left: 40px;
}

.footer-links-elite{
    max-width: 33%;
}

.footer-links-elite h2{
    font-size: 20px;
    color: var(--white-color);
    margin-bottom: 30px;
}

.footer-links-elite ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-links-elite ul li{
	position: relative;
    color: var(--white-color);
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.footer-links-elite ul li::before{
	content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 400;
    color: var(--white-color);
    top: 0;
    left: 0;
}

.footer-links-elite ul li:last-child{
	margin-bottom: 0;
}

.footer-links-elite ul li a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-links-elite ul li a:hover{
	color: var(--primary-color);
}

.footer-contact-list-elite{
	margin-bottom: 30px;
}

.footer-contact-list-elite:last-child{
	margin-bottom: 0;
}

.footer-contact-list-elite h3{
	color: var(--secondary-color);
	font-size: 16px;
	font-weight: 400;
}

.footer-contact-list-elite p{
	color: var(--white-color);
	font-weight: 500;
	margin: 10px 0 0;
}

.footer-contact-list-elite p a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-contact-list-elite p a:hover{
	color: var(--primary-color);
}

.footer-copyright-elite{
	border-top: 1px solid var(--dark-divider-color);
	text-align: center;
	padding: 60px 0;
	margin-top: 60px;
}

.footer-copyright-text-elite p{
	color: var(--white-color);
	margin-bottom: 0;
}


@media only screen and (max-width: 1024px){

	.hero-elite{
		min-height: 800px;
	}

	.hero-elite::before{
		background: var(--primary-color);
		opacity: 50%;
	}

	.about-us-image-box-elite{
		max-width: 740px;
		height: auto;
		margin: 0 auto 30px;
	}
	
	.about-us-image-elite,
	.about-us-image-box-1-elite .about-us-image-elite figure,
	.about-us-image-box-1-elite .about-us-image-elite figure img,
	.about-us-content-elite{
		height: auto;
	}

	.about-us-image-box-1-elite .about-us-image-elite figure img{
		aspect-ratio: 1 / 1.3;
	}

	.about-us-image-box-2-elite .about-us-image-elite figure img{
		aspect-ratio: 1 / 0.99;
	}

	.our-services-elite{
		background-position: bottom -10px left;
        background-size: 350px auto;
	}

	.service-item-body-elite{
		left: 30px;
		right: 30px;
	}

	.why-choose-us-contnet-elite{
		height: auto;
		margin: 0 0 30px;
	}

	.why-choose-item-elite{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.why-choose-us-btn-elite{
		margin-top: 30px;
	}

	.why-choose-us-image-box-elite{
		height: auto;
		max-width: 740px;
		margin: 0 auto;
	}

	.why-choose-us-image-elite,
	.why-choose-us-image-elite figure,
	.why-choose-us-image-elite figure img{
		height: auto;
	}

	.why-choose-us-image-elite figure img{
		aspect-ratio: 1 / 0.95;
	}

	.benefit-item-content-box-elite{
		padding: 20px;
	}

	.our-story-elite::before{
		background: var(--primary-color);
		opacity: 50%;
	}

	.our-story-content-elite .section-title{
		margin-bottom: 40px;
	}

	.story-video-image-item-elite{
		margin-left: auto;
	}

	.our-testimonials-elite::before{
		background-color: var(--primary-color);
		opacity: 50%;
	}

	.faq-box-elite{
		gap: 30px;
	}

	.faq-content-elite,
	.faq-accordion-elite{
		width: 100%;
	}

	.faq-image-elite,
	.faq-image-elite figure,
	.faq-image-elite figure img{
		height: auto;
	}

	.book-apoointment-elite{
		background-position: bottom -10px left;
        background-size: 350px auto;
	}

	.appointment-content-elite{
		position: initial;
		margin: 0 0 30px;
	}

	.footer-header-elite{
		margin-bottom: 30px;
		padding-bottom: 30px;
	}

	.about-footer-elite{
		max-width: 100%;
		margin-bottom: 30px;
	}

	.about-footer-content-elite{
		margin-top: 15px;
	}

	.footer-social-links-elite{
		margin-top: 20px;
	}

	.footer-links-box-elite{
		margin: 0;
	}

	.footer-links-elite h2{
		margin-bottom: 20px;
	}

	.footer-links-elite ul li{
		margin-bottom: 10px;
	}

	.footer-links-elite ul li::before{
		font-size: 16px;	
	}

	.footer-contact-list-elite{
		margin-bottom: 20px;
	}

	.footer-copyright-elite{
		padding: 30px 0;
		margin-top: 30px;
	}
}

@media only screen and (max-width: 991px){

	.hero-elite{
		padding: 150px 0 60px;
	}

	.hero-client-rating-star-elite i{
		font-size: 14px;
	}

	.hero-feature-list-elite{
		margin-top: 30px;
		padding-top: 30px;
	}

	.hero-feature-list-elite ul{
		gap: 10px;
	}

	.hero-feature-list-elite ul li{
		width: 100%;
	}

	.about-us-elite{
		padding: 60px 0px;
	}

	.about-feature-list-elite ul li{
		font-size: 18px;
		margin-bottom: 10px;
	}

	.about-feature-list-elite ul li::before{
		font-size: 18px;
	}

	.about-us-btn-elite{
		margin-top: 30px;
	}

	.our-services-elite{
		padding: 60px 0;
	}

	.service-item-image-elite figure img{
		aspect-ratio: 1 / 1.35;
	}

	.service-item-image-elite figure::before{
		visibility: visible;
		transform: scale(1);
	}

	.service-item-body-elite{
		right: 30px;
		left: 30px;
		transform: translateY(-50%) scale(1);
		visibility: visible;
	}

	.service-item-body-elite .icon-box{
		margin-bottom: 30px;
	}

	.service-pagination-elite{
		margin-top: 30px;
	}

	.our-services-elite .section-footer-text{
		margin-top: 30px;
	}

	.why-choose-us-elite{
		padding: 60px 0;
	}

	.why-choose-item-quote-elite{
		bottom: 30px;
		left: 45px;
		padding: 20px 20px 20px 30px;
	}

	.our-benefits-elite{
		padding: 60px 0;
	}

	.benefit-item-image-box-elite{
		width: calc(39% - 5px);
	}

	.video-play-button-elite a span{
		height: 50px;
		width: 50px;
	}

	.video-play-button-elite a span i{
		font-size: 20px;
	}

	.benefit-item-content-box-elite{
		width: calc(61% - 5px);
		padding: 15px;
	}

	.benefit-item-content-box-elite .section-title h2{
		font-size: 26px;
	}

	.benefit-item-list-elite{
		gap: 20px;
	}

	.benefit-item-elite{
		width: calc(50% - 10px);
		padding-left: 22px;
	}

	.benefit-item-elite::before{
		font-size: 16px;
	}

	.our-key-fact-elite{
		padding: 60px 0;
	}

	.key-fact-item-elite{
		min-height: auto;
		padding: 30px;
	}

	.key-fact-item-elite .icon-box img{
		max-width: 50px;
	}

	.key-fact-counter-number-elite{
		width: calc(40% - 10px);
	}

	.key-fact-counter-number-elite h2{
		font-size: 38px;
	}

	.key-fact-counter-content-elite{
		width: calc(60% - 10px);
	}

	.our-story-elite{
		min-height: 700px;
		padding: 60px 0;
	}

	.our-story-content-elite .section-title{
		margin-bottom: 30px;
	}

	.our-pricing-elite{
		padding: 60px 0;
	}

	.pricing-item-elite{
		padding: 30px;
	}

	.pricing-item-header-elite span{
		margin-bottom: 20px;
	}

	.pricing-item-header-elite h2{
		font-size: 34px;
	}

	.pricing-item-body-elite{
		padding-top: 30px;
		margin-top: 30px;
	}

	.pricing-item-list-elite h3{
		margin-bottom: 15px;
	}

	.pricing-item-list-elite ul li{
		margin-bottom: 10px;
		padding-left: 22px;
	}

	.pricing-item-list-elite ul li::before{
		font-size: 16px;
	}

	.pricing-item-btn-elite{
		margin-top: 30px;
	}

	.pricing-benefit-list-elite{
		margin-top: 10px;
	}

	.pricing-benefit-list-elite ul{
		gap: 15px 30px;
	}

	.pricing-benefit-list-elite ul li img{
		max-width: 18px;
	}

	.our-testimonials-elite{
		padding: 60px 0;
	}

	.testimonial-content-elite .section-title{
		margin-bottom: 40px;
	}

	.testimonial-item-rating-elite{
		margin-bottom: 20px;
	}

	.testimonial-item-rating-elite i{
		font-size: 18px;
	}

	.testimonial-item-content-elite p{
		font-size: 18px;
	}

	.testimonial-item-author-elite{
		margin-top: 30px;
		padding-top: 30px;
	}

	.our-faqs-elite{
		padding: 60px 0;
	}

	.faq-accordion-elite .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion-elite .accordion-item .accordion-header .accordion-button{
		padding: 15px 45px 15px 20px;
	}

	.faq-accordion-elite .accordion-item .accordion-button::after, 
	.faq-accordion-elite .accordion-item .accordion-button.collapsed::after{
		font-size: 18px;
		right: 20px;
	}

	.faq-accordion-elite .accordion-item .accordion-body{
		padding: 15px 20px;
	}

	.company-supports-slider-box-elite{
		margin-top: 40px;
	}

	.company-supports-content-elite{
        margin-bottom: 30px;
    }

	.company-supports-slider-elite{
		margin: 0;
	}

	.company-supports-logo-elite img{
		max-width: 150px;
		height: 34px;
	}

	.book-apoointment-elite{
		padding: 60px 0;
	}

	.appointment-content-elite .section-title{
		padding-bottom: 30px;
	}

	.appointment-working-box-elite i{
		font-size: 22px;
	}

	.appointment-working-box-elite h2,
	.appointment-working-box-elite ul li{
		padding: 20px;
	}

	.appointment-form-elite{
		padding: 30px;
	}

	.appointment-form-elite .section-title{
		padding-bottom: 30px;
	}

	.appointment-form-elite form .form-group label{
		margin-bottom: 10px;
	}

	.appointment-form-elite .form-control{
		padding: 10px 20px;
	}

	.main-footer-elite{
		padding: 50px 0 0;
	}

	.footer-header-elite .section-title{
		max-width: 500px;
	}

	.footer-header-elite .section-title h2{
		font-size: 30px;
	}
}

@media only screen and (max-width: 767px){

	.hero-content-body-elite{
		gap: 20px;
	}

	.hero-feature-list-elite ul li{
		font-size: 16px;
		padding-left: 22px;
	}

	.hero-feature-list-elite ul li::before{
		font-size: 16px;
	}

	.about-us-image-box-1-elite{
		width: 50%;
	}

	.about-us-image-box-1-elite .about-us-image-elite figure{
		margin-right: -90px;
	}

	.about-us-image-box-2-elite{
		width: 50%;
		border-radius: 14px;
		margin: auto 0 50px;
		padding: 5px;
	}

	.about-us-image-content-elite{
		padding: 5px 0 0;
	}

	.about-us-image-content-elite p{
		font-size: 14px;
	}

	.about-body-content-elite{
		width: 100%;
	}

	.about-feature-list-elite ul li{
		font-size: 16px;
		padding-left: 22px;
	}

	.about-feature-list-elite ul li::before{
		font-size: 16px;
	}

	.about-contact-item-content-elite h3,
	.about-us-author-content-elite h3{
		font-size: 18px;
	}

	.about-contact-item-elite{
		margin-bottom: 20px;
	}

	.about-contact-author-box-elite{
		width: 100%;
	}

	.about-contact-author-box-elite::before{
		top: -15px;
		left: auto;
		width: 100%;
		height: 1px;
	}

	.our-services-elite{
		background-position: bottom -5px left;
        background-size: 200px auto;
	}

	.service-item-body-elite{
		right: 20px;
		left: 20px;
	}

	.service-item-body-elite .icon-box{
		margin-bottom: 20px;
	}

	.service-item-content-elite h2{
		font-size: 18px;
	}

	.service-item-content-elite p{
		margin: 5px 0 0;
	}

	.why-choose-item-content-elite h3{
		font-size: 18px;
	}

	.why-choose-item-content-elite p{
		margin: 5px 0 0;
	}

	.why-choose-item-quote-elite{
		left: 30px;
		bottom: 20px;
		right: 20px;
		border-radius: 14px;
		padding: 15px 15px 15px 20px;
	}

	.why-choose-item-quote-elite .icon-box{
		top: -20px;
		height: 40px;
		width: 40px;
	}

	.why-choose-item-quote-elite .icon-box img{
		max-width: 24px;
	}

	.why-choose-item-quote-content-elite h3{
		font-size: 16px;
	}

	.benefit-item-image-box-elite{
		width: 100%;
	}

	.benefit-item-content-box-elite{
		width: 100%;
		padding: 10px;
	}

	.benefit-item-content-box-elite .section-title h2{
		font-size: 22px;
	}

	.benefit-item-list-elite{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.benefit-item-elite{
		width: 100%;
	}

	.benefit-item-elite h3{
		font-size: 18px;
	}

	.key-fact-item-elite{
		gap: 20px;
		padding: 20px;
	}

	.key-fact-counter-number-elite{
		width: calc(30% - 10px);
	}

	.key-fact-counter-number-elite h2{
		font-size: 26px;
	}

	.key-fact-counter-content-elite{
		width: calc(70% - 10px);
	}

	.key-fact-item-content-elite{
		margin-top: 20px;
		padding-top: 20px;
	}

	.our-story-elite{
		min-height: auto;
	}

	.story-contact-info-item-elite{
		height: auto;
		padding: 20px;
	}

	.story-contact-info-item-elite .icon-box{
		margin-bottom: 20px;
	}

	.story-video-image-item-elite{
		margin: 30px auto 0;
	}

	.pricing-item-elite{
		padding: 20px;
	}

	.pricing-item-header-elite span{
		font-size: 18px;
	}

	.pricing-item-header-elite h2{
		font-size: 28px;
	}

	.pricing-item-header-elite h2 sub{
		font-size: 14px;
	}

	.pricing-item-body-elite{
		padding-top: 20px;
		margin-top: 20px;
	}

	.pricing-item-list-elite h3{
		font-size: 18px;
	}

	.pricing-benefit-list-elite{
		margin-top: 5px;
	}

	.pricing-benefit-list-elite ul{
        gap: 10px 20px;
    }

	.pricing-benefit-list-elite ul li{
		font-size: 14px;
	}
	
	.pricing-benefit-list-elite ul li img{
        max-width: 16px;
        margin-right: 5px;
    }

	.testimonial-item-rating-elite{
		margin-bottom: 20px;
	}

	.testimonial-item-rating-elite i,
	.testimonial-item-content-elite p{
		font-size: 16px;
	}

	.testimonial-item-author-elite{
		margin-top: 20px;
		padding-top: 20px;
	}

	.testimonial-author-content-elite h2{
		font-size: 18px;
	}

	.testimonial-btn-elite{
        position: initial;
        justify-content: center;
        gap: 10px;
        margin-top: 20px;
    }

	.testimonial-slider-elite .testimonial-button-next-elite,
	.testimonial-slider-elite .testimonial-button-prev-elite{
		width: 40px;
		height: 40px;
	}

	.testimonial-slider-elite .testimonial-button-next-elite::before,
	.testimonial-slider-elite .testimonial-button-prev-elite::before{
		background-size: 14px auto;
	}

	.faq-image-elite figure img{
		aspect-ratio: 1 / 0.6;
	}

	.faq-accordion-elite .accordion-item .accordion-header .accordion-button{
		font-size: 16px;
		padding: 10px 38px 10px 15px;
	}

	.faq-accordion-elite .accordion-item .accordion-button::after, 
	.faq-accordion-elite .accordion-item .accordion-button.collapsed::after{
		font-size: 16px;
		right: 15px;
	}

	.faq-accordion-elite .accordion-item .accordion-body{
		padding: 10px 15px;
	}

	.company-supports-content-elite{
		justify-content: center;
        margin-bottom: 20px;
    }

	.company-supports-content-elite h3{
		font-size: 16px;
	}

	.company-supports-content-elite hr{
        display: none;
    }

	.book-apoointment-elite{
		background-position: bottom -5px left;
        background-size: 200px auto;
	}

	.appointment-working-box-elite h2{
		font-size: 18px;
		padding: 15px;
	}

	.appointment-working-box-elite i{
		font-size: 20px;
	}

	.appointment-working-box-elite ul li{
		gap: 20px;
		padding: 15px;
	}

	.appointment-form-elite{
		padding: 20px;
	}

	.footer-header-elite .section-title h2{
		font-size: 20px;
	}

	.footer-links-elite{
		max-width: 100%;
	}

	.footer-links-elite h2{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-contact-list-elite p{
		margin: 5px 0 0;
	}

	.footer-copyright-elite{
		padding: 15px 0;
	}
}

/************************************/
/***   35. CSS accueil - version 3   ***/
/************************************/

.hero-royal{
	position: relative;
	align-content: end;
    padding: 260px 0 80px;
    overflow: hidden;
    z-index: 1;
}

.hero-royal::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(270deg, transparent 0%, rgba(0, 0, 0, 0.90) 100%), linear-gradient(180deg, transparent 47.14%, rgba(0, 0, 0, 0.90) 112.84%);
	z-index: 1;
}

.hero-royal .hero-bg-video{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.hero-royal .hero-bg-video video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero-royal .container{
	position: relative;
	z-index: 2;
}

.hero-content-royal{
	margin-right: 15px;
}

.hero-content-royal .section-title{
	margin-bottom: 0;
}

.hero-content-royal .section-title h1{
	line-height: 1.1em;
}

.hero-content-royal .section-title .section-sub-title{
	background-color: var(--dark-divider-color);
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	border: transparent;
}

.hero-content-royal .section-title p{
	font-size: 18px;
	max-width: 670px;
}

.hero-content-body-royal{
	max-width: 670px;
	border-top: 1px solid var(--dark-divider-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	padding-top: 40px;
	margin-top: 80px;
}

.video-play-button-royal a{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 15px;
	cursor: none;
}

.video-play-button-royal a span{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	color: var(--white-color);
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease-in-out;
}

.hero-content-body-royal .video-play-button-royal a:hover span{
	background-color: var(--white-color);
	color: var(--accent-color);
}

.video-play-button-royal a span.bg-effect:before,
.video-play-button-royal a span.bg-effect:after{
	content: '';
	position: absolute;
    width: 160%;
    height: 160%;
	border: 35px solid var(--white-color);
	opacity: 50%;
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
}

.video-play-button-royal a span.bg-effect:after{
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button-royal a span i{
    font-size: 16px;
    color: inherit;
    margin-left: 2px;
}

.video-play-button-royal p{
	font-size: 16px;
	font-weight: 600;
	color: var(--white-color);
	margin: 0;
}

.hero-client-review-box-royal{
	max-width: max-content;
	border: 1px solid var(--dark-divider-color);
	background-color: var(--divider-color);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	border-radius: 65px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin: 40px 0 0 auto;
	padding: 30px;
}

.hero-client-review-content-royal h2{
	font-size: 46px;
	line-height: 1em;
	color: var(--white-color);
	display: flex;
	align-items: center;
}

.hero-client-review-content-royal .hero-client-rating-star-royal{
	margin-left: 5px;
	line-height: 0;
}

.hero-client-review-content-royal .hero-client-rating-star-royal i{
	font-size: 30px;
}

.hero-client-review-content-royal p{
	color: var(--white-color);
	font-weight: 500;
	margin: 5px 0 0;
}

.hero-info-item-list-royal{
	border-top: 1px solid var(--dark-divider-color);
	display: flex;
	flex-wrap: wrap;
	gap: 4.167vw;
	margin-top: 110px;
	padding-top: 50px;
}

.hero-info-item-royal{
	position: relative;
	width: calc(33.33% - 2.778vw);
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.hero-info-item-royal::before{
	content: '';
	position: absolute;
	top: 0;
	right: -2.083vw;
	background: var(--dark-divider-color);
	width: 1px;
	height: 100%;
}

.hero-info-item-royal:last-child:before{
	display: none;
}

.hero-info-item-royal .icon-box img{
	width: 100%;
	max-width: 50px;
}

.hero-info-item-content-royal{
	width: calc(100% - 65px);
}

.hero-info-item-content-royal h3{
	font-size: 20px;
	color: var(--white-color);
}

.hero-info-item-content-royal p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.about-us-royal{
	padding: 120px 0;
}

.about-us-image-box-royal{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-right: 15px;
}

.about-us-image-box-1-royal{
	width: calc(60% - 10px);
}

.about-us-image-royal{
	height: 100%;
}

.about-us-image-royal figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.about-us-image-royal figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
}

.about-us-image-box-1-royal .about-us-image-royal figure img{
	aspect-ratio: 1 / 1.93;
}

.about-us-image-box-2-royal{
	position: relative;
	width: calc(40% - 10px);
	display: flex;
	flex-direction: column;
	z-index: 1;
}

.about-us-image-box-2-royal .about-us-image-royal figure img{
	aspect-ratio: 1 / 1.685;
}

.about-us-client-box-royal{
	position: relative;
	background: var(--bg-color);
	border: 20px solid var(--bg-color);
	border-radius: 0 0 0 20px;
	border-right: 0;
	border-top: 0;
	margin-left: -100px;
}

.about-us-client-box-royal::before,
.about-us-client-box-royal::after{
	content: '';
	position: absolute;
	width: 20px;
    height: 20px;
	mask: url('../images/image-corner-bg-shape.svg');
	-webkit-mask: url('../images/image-corner-bg-shape.svg');
	background-color: var(--bg-color);
	mask-repeat: no-repeat;
	mask-size: cover;
	z-index: 1;
}

.about-us-client-box-royal:before{
	left: 40px;
    bottom: -40px;
}

.about-us-client-box-royal:after{
	top: 0;
    left: -40px;
}

.about-us-client-body-royal{
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 30px;
}

.about-us-client-header-royal{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 25px;
	margin-bottom: 25px;
}

.about-us-client-header-content-royal{
	margin-bottom: 15px;
}

.about-us-client-header-content-royal p{
	font-weight: 500;
	margin-bottom: 0;
}

.about-us-client-content-royal h2{
	font-size: 46px;
	line-height: 1em;
	margin-bottom: 5px;
}

.about-us-client-content-royal p{
	font-weight: 500;
	margin-bottom: 0;
}

.about-us-client-content-royal .about-us-client-rating-star-royal i{
	font-size: 16px;
	color: var(--accent-color);
}

.about-us-body-royal{
	border-left: 2px solid var(--accent-color);
	background: linear-gradient(270deg, transparent 17.72%, #F6EEE4 100%);
	border-radius: 20px;
	margin-bottom: 30px;
	padding: 30px;
}

.about-us-item-list-royal{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
	margin-bottom: 30px;
}

.about-us-item-royal{
	margin-bottom: 30px;
}

.about-us-item-royal:last-child{
	margin-bottom: 0;
}

.about-us-item-royal h3{
	font-size: 20px;
}

.about-us-item-royal p{
	margin: 10px 0 0;
}

.about-us-body-list-royal ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	padding: 0;
	margin: 0;
}

.about-us-body-list-royal ul li{
	position: relative;
	width: calc(50% - 10px);
	padding-left: 25px;
}

.about-us-body-list-royal ul li::before{
	content: '\2a';
    position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
    top: 0;
    left: 0;
}

.about-us-counter-list-royal{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.about-us-counter-item-royal{
	width: calc(50% - 15px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.about-us-counter-item-royal .icon-box{
	position: relative;
	width: 60px;
	height: 60px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.about-us-counter-item-royal .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.about-us-counter-item-royal:hover .icon-box::before{
    transform: scale(1);
}

.about-us-counter-item-royal .icon-box img{
	position: relative;
    width: 100%;
    max-width: 30px;
	z-index: 1;
}

.about-us-counter-item-content-royal{
	width: calc(100% - 75px);
}

.about-us-counter-item-content-royal h2{
	font-size: 40px;
	line-height: 1em;
}

.about-us-counter-item-content-royal p{
	font-size: 20px;
	font-weight: 500;
	line-height: normal;
	margin: 5px 0 0;
}

.about-us-content-btn-royal{
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

.our-services-royal{
	background-image: url('../images/section-bg-image-2.png');
	background-repeat: no-repeat;
	background-position: bottom -20px left;
	background-size: auto;
	padding: 120px 0;
}

.service-item-royal{
	position: relative;
	height: calc(100% - 30px);
	min-height: 410px;
	background: var(--bg-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	padding: 40px 35px;
	margin-bottom: 30px;
	overflow: hidden;
}

.service-item-royal::before{
	content: '';
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--accent-color);
	border-radius: 999px 999px 0 0;
	width: 100%;
	height: 0;
	transition: all 0.4s ease-in-out;
}

.service-item-royal:hover:before{
	height: 100%;
	border-radius: 20px;
	top: auto;
}

.service-item-royal .icon-box img{
	position: relative;
	width: 100%;
	max-width: 50px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.service-item-royal:hover .icon-box img{
	filter: brightness(0) invert(1);
}

.service-item-body-royal{
	position: relative;
	z-index: 1;
}

.service-item-content-royal h2{
	font-size: 20px;
	transition: all 0.4s ease-in-out;
}

.service-item-content-royal h2 a{
	color: inherit;
}

.service-item-content-royal p{
	margin: 10px 0 0;
	transition: all 0.4s ease-in-out;
}

.service-item-btn-royal{
	position: relative;
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
	margin-top: 30px;
	z-index: 1;
	transition: all 0.4s ease-in-out;
}

.service-item-royal:hover .service-item-btn-royal{
	border-color: var(--dark-divider-color);
}

.service-item-btn-royal .readmore-btn{
	transition: all 0.3s ease-in-out;
}

.service-item-royal:hover .service-item-content-royal h2,
.service-item-royal:hover .service-item-content-royal p,
.service-item-royal:hover .service-item-btn-royal .readmore-btn{
	color: var(--white-color);
}

.service-item-royal:hover .service-item-btn-royal .readmore-btn::before{
	background-color: var(--white-color);
	background-image: url('../images/arrow-accent.svg');
}

.our-feature-royal{
	padding: 120px 0;
}

.feature-item-royal{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 40px;
}

.feature-item-royal:last-child{
	margin-bottom: 0;
}

.feature-item-royal .icon-box img{
	width: 100%;
	max-width: 50px;
	transition: all 0.4s ease-in-out;
}

.feature-item-royal:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.feature-item-content-royal{
	width: calc(100% - 70px);
}

.feature-item-content-royal h3{
	font-size: 20px;
}

.feature-item-content-royal p{
	margin: 10px 0 0;
}

.feature-content-body-royal{
	border-top: 1px solid var(--divider-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 30px;
	padding-top: 40px;
	margin-top: 40px;
}

.feature-contact-item-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.feature-contact-item-royal .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.feature-contact-item-royal .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.feature-contact-item-royal:hover .icon-box::before{
    transform: scale(1);
}

.feature-contact-item-royal .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
	z-index: 1;
}

.feature-contact-item-content-royal p{
	margin-bottom: 0;
}

.feature-contact-item-content-royal h3{
	font-size: 20px;
	margin-top: 5px;
}

.feature-contact-item-content-royal h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.feature-contact-item-content-royal h3 a:hover{
	color: var(--accent-color);
}

.feature-image-box-royal{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-left: 15px;
	padding-left: 40px;
}

.feature-image-box-royal::before{
	content: '';
	position: absolute;
	left: 45px;
	bottom: 50px;
	background-image: url('../images/section-bg-image-1.png');
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	transform: rotate(33deg);
	width: 105px;
	height: 205px;
}

.feature-cta-box-royal{
	position: relative;
	width: 41%;
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 10px;
	z-index: 2;
}

.feature-cta-image-royal{
	margin-bottom: 10px;
}

.feature-cta-image-royal figure{
	display: block;
	border-radius: 10px;
}

.feature-cta-image-royal figure img{
	width: 100%;
	aspect-ratio: 1 / 1.051;
	object-fit: cover;
	border-radius: 10px;
}

.feature-cta-contact-item-list-royal{
	padding: 0 15px;
}

.feature-cta-contact-item-royal{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

.feature-cta-contact-item-royal:last-child{
	margin-bottom: 0;
}

.feature-cta-contact-item-royal .icon-box{
	width: 30px;
	height: 30px;
	border: 2px solid var(--accent-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.feature-cta-contact-item-royal .icon-box img{
	width: 100%;
	max-width: 14px;
	transition: all 0.4s ease-in-out;
}

.feature-cta-contact-item-content-royal{
	width: calc(100% - 45px);
}

.feature-cta-contact-item-content-royal h3{
	font-size: 16px;
}

.feature-cta-contact-item-content-royal h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.feature-cta-contact-item-content-royal h3 a:hover{
	color: var(--accent-color);
}

.feature-image-royal{
	width: 59%;
}

.feature-image-royal figure{
	display: block;
	border-radius: 260px;
	margin-left: -144px;
}

.feature-image-royal figure img{
	width: 100%;
	aspect-ratio: 1 / 1.44;
	object-fit: cover;
	border-radius: 260px;
}

.why-choose-us-royal{
	background-image: url('../images/section-bg-image-3.png');
	background-size: auto;
	background-repeat: no-repeat;
	background-position: bottom -60px left -60px;
	padding: 120px 0;
}

.why-choose-image-royal{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.why-choose-image-royal figure{
	display: block;
	height: 100%;
	border-radius: 20px;
}

.why-choose-image-royal figure img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1.594;
	object-fit: cover;
	border-radius: 20px;
}

.why-choose-client-box-royal{
	position: relative;
	height: calc(100% - 30px);
	border-radius: 20px;
	padding: 40px 35px;
	margin-bottom: 30px;
	overflow: hidden;
}

.why-choose-client-image-royal{
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.why-choose-client-image-royal figure{
	height: 100%;
	position: relative;
	display: block;
	overflow: hidden;
}

.why-choose-client-image-royal figure::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(180deg, transparent 0%, #000 100%);
	width: 100%;
	height: 100%;
}

.why-choose-client-image-royal figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.why-choose-client-body-royal{
	position: relative;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	z-index: 1;
}

.why-choose-client-header-royal .satisfy-client-images{
	margin-bottom: 20px;
}

.why-choose-client-content-royal h3{
	font-size: 20px;
	color: var(--white-color);
}

.why-choose-client-item-royal{
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 30px;
}

.why-choose-client-item-royal h3{
	font-size: 20px;
	color: var(--white-color);
}

.why-choose-client-item-royal p{
	color: var(--white-color);
	margin: 10px 0 0;
}

.why-choose-counter-list-royal{
	display: flex;
	flex-direction: column;
	gap: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.why-choose-counter-item-royal{
	height: 100%;
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	padding: 30px;
	overflow: hidden;
}

.why-choose-counter-item-royal:nth-of-type(odd){
	background-color: var(--accent-color);
}

.why-choose-counter-item-royal:nth-of-type(even){
	background-color: var(--primary-color);
}

.why-choose-counter-item-royal h2{
	font-size: 40px;
	color: var(--white-color);
}

.why-choose-counter-item-royal p{
	color: var(--white-color);
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 20px;
	margin: 0;
}

.why-choose-us-footer-royal{
	margin-top: 30px;
}

.why-choose-footer-list-royal{
	margin-bottom: 20px;
}

.why-choose-footer-list-royal ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	padding: 0;
	margin: 0;
}

.why-choose-footer-list-royal ul li{
	position: relative;
	font-weight: 500;
	line-height: normal;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 10px 16px 10px 32px;
	transition: all 0.4s ease-in-out;
}

.why-choose-footer-list-royal ul li:hover{
	background-color: var(--accent-color);
	color: var(--white-color);
}

.why-choose-footer-list-royal ul li::before{
	content: '';
	position: absolute;
	top: 50%;
	left: 16px;
	transform: translateY(-50%);
	background: var(--accent-color);
	border-radius: 50%;
	width: 6px;
	height: 6px;
	transition: all 0.4s ease-in-out;
}

.why-choose-footer-list-royal ul li:hover:before{
	background: var(--white-color)
}

.why-choose-us-footer-royal .section-footer-text.section-satisfy-img{
	margin-top: 0;
}

.our-team-royal{
	padding: 120px 0;
}

.team-item-royal{
	background-color: var(--secondary-color);
	border-radius: 250px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 15px;
}

.team-item-body-royal{
	height: 100%;
	border: 1px solid var(--divider-color);
	border-radius: 250px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	gap: 30px;
	padding: 40px;
	overflow: hidden;
}

.team-item-content-royal{
	padding: 0 30px;
}

.team-item-content-royal h2{
	font-size: 20px;
}

.team-item-content-royal h2 a{
	color: inherit;
}

.team-item-content-royal p{
	margin: 5px 0 0;
}

.team-item-image-royal{
	max-height: 370px;
	transition: all 0.4s ease-in-out;
}

.team-item-royal:hover .team-item-image-royal{
	transform: translateY(-10px);
}

.team-item-image-royal figure{
	display: block;
	margin: 0 -40px;
}

.team-item-image-royal figure img{
	width: 100%;
	aspect-ratio: 1 / 1.632;
	object-fit: cover;
}

.our-story-royal{
	position: relative;
	padding: 50px;
	overflow: hidden;
}

.our-story-royal::before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: var(--primary-color);
	opacity: 20%;
	width: 100%;
	height: 100%;
	z-index: 1;
}

.our-story-bg-video-royal{
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.our-story-bg-video-royal video{
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.our-story-royal .container-fluid{
	position: relative;
	padding: 0;
	z-index: 2;
}

.our-story-box-royal{
	max-width: 635px;
	min-height: 670px;
	background-color: var(--white-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 50px;
	margin-left: auto;
}

.our-story-box-royal .section-title{
	text-align: center;
}

.story-video-circle-box-royal{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
}

.our-story-box-royal .video-play-button-royal{
	text-align: center;
}

.watch-video-circle-royal img{
	width: 100%;
    max-width: 110px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    animation: infiniterotateroyal 20s infinite linear;
}

@keyframes infiniterotateroyal{
    100%{
		transform: rotate(360deg);
    }
}

.story-video-circle-box-royal .video-play-button-royal{
	margin-left: -35px;
}

.story-video-circle-box-royal .video-play-button-royal a span{
	width: 110px;
	height: 110px;
	background: var(--accent-color);
}

.story-video-circle-box-royal .video-play-button-royal a span i{
	font-size: 30px;
}

.our-story-list-royal{
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 70px;
}

.our-story-list-royal ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 15px 20px;
	padding: 0;
	margin: 0;
}

.our-story-list-royal ul li{
	position: relative;
	width: calc(50% - 10px);
	line-height: 1.5em;
	padding-left: 25px;
}

.our-story-list-royal ul li::before{
	content: "*";
    position: absolute;
    font-family: "Font Awesome 7 Free";
    top: 0px;
    left: 0px;
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
}

.our-pricing-royal{
	padding: 120px 0;
}

.pricing-item-royal{
	background-color: var(--secondary-color);
	border-radius: 20px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 10px;
}

.pricing-item-header-royal{
	background-color: var(--bg-color);
	border-radius: 20px;
	text-align: center;
	padding: 30px 30px 75px;
}

.pricing-item-header-royal .icon-box{
	margin-bottom: 30px;
}

.pricing-item-header-royal .icon-box img{
	width: 100%;
	max-width: 50px;
}

.pricing-item-content-royal h2{
	font-size: 20px;
}

.pricing-item-content-royal p{
	margin: 10px 0 0;
}

.pricing-item-body-royal{
	padding: 0 20px 20px;
}

.pricing-item-price-royal{
	position: relative;
	max-width: 270px;
	text-align: center;
	background-color: var(--secondary-color);
	border-radius: 20px;
	padding: 13px;
	margin: -45px auto 0;
}

.pricing-item-price-royal::before,
.pricing-item-price-royal::after{
	content: '';
	position: absolute;
	top: 25px;
	width: 20px;
    height: 20px;
	mask: url('../images/image-corner-bg-shape.svg');
	-webkit-mask: url('../images/image-corner-bg-shape.svg');
	background-color: var(--secondary-color);
	mask-repeat: no-repeat;
	mask-size: cover;
	z-index: 1;
}

.pricing-item-price-royal:before{
	left: -20px;
    transform: rotate(90deg)
}

.pricing-item-price-royal:after{
    right: -20px;
    transform: rotate(-180deg);
}

.pricing-item-price-royal h2{
	font-size: 40px;
}

.pricing-item-price-royal h2 sub{
	font-size: 16px;
	bottom: 0;
}

.pricing-item-list-royal{
	border-top: 1px solid var(--divider-color);
	padding-top: 30px;
	margin-top: 7px;
}

.pricing-item-list-royal h3{
	font-size: 20px;
	margin-bottom: 20px;
}

.pricing-item-list-royal ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.pricing-item-list-royal ul li{
	position: relative;
	line-height: 1.5em;
	padding-left: 25px;
	margin-bottom: 15px;
}

.pricing-item-list-royal ul li:last-child{
	margin-bottom: 0;
}

.pricing-item-list-royal ul li::before{
	content: "*";
    position: absolute;
    font-family: "Font Awesome 7 Free";
    top: 0px;
    left: 0px;
    font-size: 18px;
    font-weight: 900;
    color: var(--accent-color);
}

.pricing-item-btn-royal{
	margin-top: 40px;
}

.pricing-item-btn-royal .btn-default{
	width: 100%;
	text-align: center;
	padding: 17px;
}

.pricing-item-btn-royal .btn-default::before{
	display: none;
}

.pricing-benefit-list-royal{
	margin-top: 30px;
}

.pricing-benefit-list-royal ul{
	display: flex;
	flex-wrap: wrap;
    justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 20px 50px;
}

.pricing-benefit-list-royal ul li{
    display: inline-flex;
    align-items: center;
	color: var(--primary-color);
}

.pricing-benefit-list-royal ul li img{
	width: 100%;
	max-width: 20px;
	margin-right: 10px;
}

.our-faqs-royal{
	padding: 120px 0;
}

.faqs-content-box-royal{
	height: 100%;
	background-color: var(--secondary-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	padding: 50px;
}

.faqs-contact-list-royal{
	border-top: 1px solid var(--divider-color);
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	padding-top: 30px;
}

.faqs-contact-item-royal{
	position: relative;
	width: calc(50% - 20px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.faqs-contact-item-royal::before{
	content: '';
	position: absolute;
	top: 0;
	right: -20px;
	background: var(--divider-color);
	width: 1px;
	height: 100%;
}

.faqs-contact-item-royal:nth-child(2n + 2):before,
.faqs-contact-item-royal:last-child:before{
	display: none;
}

.faqs-contact-item-royal .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.faqs-contact-item-royal .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: var(--primary-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.faqs-contact-item-royal:hover .icon-box::before{
    transform: scale(1);
}

.faqs-contact-item-royal .icon-box img{
	position: relative;
    width: 100%;
    max-width: 24px;
	z-index: 1;
}

.faqs-contact-item-content-royal{
	width: calc(100% - 65px);
}

.faqs-contact-item-content-royal p{
	margin-bottom: 0;
}

.faqs-contact-item-content-royal h3{
	font-size: 20px;
	margin-top: 5px;
}

.faqs-contact-item-content-royal h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.faqs-contact-item-content-royal h3 a:hover{
	color: var(--accent-color);
}

.faq-accordion-royal{
	height: 100%;
	align-content: center;
	margin-left: 15px;
}

.faq-accordion-royal .accordion-item{
    position: relative;
    background: var(--secondary-color);
    border-radius: 14px;
    margin-bottom: 25px;
    overflow: hidden;
}

.faq-accordion-royal .accordion-item:last-child{
    margin-bottom: 0;
}

.faq-accordion-royal .accordion-header .accordion-button{
	font-size: 18px;
    font-weight: 500;
    line-height: 1.333em;
    background: transparent;
    color: var(--primary-color);
    padding: 18px 55px 18px 30px;
    transition: all 0.4s ease-in-out;
}

.faq-accordion-royal .accordion-item .accordion-button:not(.collapsed){
	background-color: var(--accent-color);
    color: var(--white-color);
}

.faq-accordion-royal .accordion-item .accordion-button::after,
.faq-accordion-royal .accordion-item .accordion-button.collapsed::after{
    content: '\2b';
    font-family: "Font Awesome 7 Free";
    position: absolute;
    right: 30px;
    top: 50%;
    font-size: 20px;
    font-weight: 500;
    transform: translateY(-50%);
    color: var(--primary-color);
    transition: 0.4s ease-in-out;
}

.faq-accordion-royal .accordion-button:not(.collapsed)::after{
    content: '\f068';
	font-weight: 600;
    color: var(--white-color);
}

.faq-accordion-royal .accordion-item .accordion-body{  
    background-color: transparent;  
    padding: 18px 30px;
}

.faq-accordion-royal .accordion-item .accordion-body p{
    margin-bottom: 10px;
}

.faq-accordion-royal .accordion-item .accordion-body p:last-child{
	margin-bottom: 0;
}

.our-testimonials-royal{
	background-image: url('../images/section-bg-image-2.png');
	background-repeat: no-repeat;
	background-position: bottom -40px left;
	background-size: auto;
	padding: 120px 0;
}

.testimonial-slider-royal{
	height: 100%;
}

.testimonial-slider-royal .swiper{
	height: 100%;
}

.testimonial-slider-royal .swiper-wrapper{
	cursor: none;
}

.testimonial-item-royal{
	height: 100%;
	min-height: 450px;
	background-color: var(--bg-color);
	border-radius: 20px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	text-align: center;
	gap: 30px;
	padding: 40px;
}

.testimonial-item-rating-royal i{
	font-size: 16px;
	color: var(--accent-color);
}

.testimonail-item-content-royal p{
	font-size: 20px;
	font-weight: 500;
	color: var(--primary-color);
	margin-bottom: 0;
}

.testimonial-item-author-royal{
	border-top: 1px solid var(--divider-color);
	padding-top: 40px;
	margin-top: 40px;
}

.testimonial-author-image-royal{
	margin-bottom: 20px;
}

.testimonial-author-image-royal figure{
	display: inline-block;
	border-radius: 50%;
}

.testimonial-author-image-royal figure img{
	width: 100%;
	max-width: 60px;
	border-radius: 50%;
}

.testimonial-author-content-royal h2{
	font-size: 20px;
}

.testimonial-author-content-royal p{
	margin: 5px 0 0;
}

.our-testimonials-royal .section-footer-text{
	margin-top: 60px;
}

.main-footer-royal{
	padding: 100px 0 0;
}

.footer-header-royal{
	border-bottom: 1px solid var(--dark-divider-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	padding-bottom: 60px;
	margin-bottom: 60px;
}

.footer-logo-royal img{
	width: 100%;
	max-width: 174px;
}

.footer-menu-royal ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 30px;
	padding: 0;
	margin: 0;
}

.footer-menu-royal ul li{
	line-height: 1.5em;
	color: var(--white-color);
}

.footer-menu-royal ul li a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-menu-royal ul li a:hover{
	color: var(--primary-color);
}

.about-footer-royal{
	max-width: 335px;
}

.about-footer-content-royal h2{
	font-size: 20px;
	color: var(--white-color);
}

.about-footer-content-royal p{
	color: var(--white-color);
	margin: 15px 0 0;
}

.footer-social-links-royal{
	margin-top: 40px;
}

.footer-social-links-royal ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	padding: 0;
	margin: 0;
}

.footer-social-links-royal ul li a{
	width: 40px;
	height: 40px;
	color: var(--white-color);
	border: 1px solid var(--dark-divider-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.footer-social-links-royal ul li a:hover{
	background-color: var(--white-color);
	border-color: var(--white-color);
	color: var(--accent-color);
}

.footer-social-links-royal ul li a i{
	font-size: 18px;
	color: inherit;
}

.footer-links-box-royal{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
	margin-left: 5.208vw;
}

.footer-links-royal{
	max-width: 45%;
}

.footer-links-royal h2{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 25px;
}

.footer-links-royal ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-links-royal ul li{
	position: relative;
	line-height: 1.5em;
	color: var(--white-color);
	padding-left: 25px;
	margin-bottom: 15px;
}

.footer-links-royal ul li:last-child{
	margin-bottom: 0;
}

.footer-links-royal ul li::before{
	content: "*";
    position: absolute;
    font-family: "Font Awesome 7 Free";
    top: 0px;
    left: 0px;
    font-size: 18px;
    font-weight: 900;
    color: var(--white-color);
}

.footer-links-royal ul li a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-links-royal ul li a:hover{
	color: var(--primary-color);
}

.footer-contact-item-royal{
	margin-bottom: 30px;
}

.footer-contact-item-royal:last-child{
	margin-bottom: 0;
}

.footer-contact-item-royal p{
	color: var(--white-color);
	line-height: normal;
	margin: 0 0 10px 0;
}

.footer-contact-item-royal h3{
	font-size: 20px;
	color: var(--white-color);
}

.footer-contact-item-royal h3 a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-contact-item-royal h3 a:hover{
	color: var(--primary-color);
}

.footer-copyright-royal{
	border-top: 1px solid var(--dark-divider-color);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 20px 30px;
	padding: 60px 0;
	margin-top: 60px;
}

.footer-copyright-text-royal p{
	color: var(--white-color);
	margin-bottom: 0;
}

.footer-privacy-policy-royal ul{
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 40px;
	padding: 0;
	margin: 0;
}

.footer-privacy-policy-royal ul li{
	position: relative;
	line-height: 1.5em;
	color: var(--white-color);
}

.footer-privacy-policy-royal ul li::before{
	content: '';
	position: absolute;
	top: 50%;
	right: -22px;
	transform: translateY(-50%) rotate(18deg);
	background: var(--white-color);
	width: 1.5px;
	height: 65%;
}

.footer-privacy-policy-royal ul li:last-child:before{
	display: none;
}

.footer-privacy-policy-royal ul li a{
	color: inherit;
	transition: all 0.4s ease-in-out;
}

.footer-privacy-policy-royal ul li a:hover{
	color: var(--primary-color);
}

@media only screen and (max-width: 1024px){

	.hero-content-royal{
		margin: 0 0 30px;
	}

	.hero-content-body-royal{
		margin-top: 30px;
		padding-top: 30px;
	}

	.hero-client-review-box-royal{
		margin: 0;
	}

	.hero-info-item-list-royal{
		padding-top: 40px;
		margin-top: 40px;
	}

	.about-us-image-box-royal{
		max-width: 740px;
		margin: 0 auto 30px;
	}

	.about-us-image-box-1-royal .about-us-image-royal figure img{
		aspect-ratio: 1 / 1.61;
	}

	.about-us-image-box-2-royal .about-us-image-royal figure img{
		aspect-ratio: 1 / 1.4;
	}

	.our-services-royal{
		background-size: 400px auto;
	}

	.feature-content-royal{
		margin-bottom: 30px;
	}

	.feature-image-box-royal{
		max-width: 605px;
		margin: 0 auto;
	}

	.why-choose-us-royal{
		background-size: 200px auto;
    	background-position: bottom -35px left -30px;
	}

	.why-choose-image-royal figure img{
		aspect-ratio: 1 / 1.15;
	}

	.why-choose-counter-list-royal{
		flex-wrap: wrap;
		flex-direction: initial;
	}

	.why-choose-counter-item-royal{
		width: calc(50% - 15px);
		height: auto;
	}

	.our-story-box-royal{
		min-height: 600px;
		padding: 30px;
	}

	.faqs-content-box-royal{
		height: auto;
		min-height: auto;
		margin-bottom: 30px;
		padding: 30px;
	}

	.faq-accordion-royal{
		height: auto;
		margin: 0;
	}

	.our-testimonials-royal{
		background-size: 400px auto;
		background-position: bottom -30px left;
	}

	.footer-header-royal{
		padding-bottom: 30px;
		margin-bottom: 30px;
	}
	
	.about-footer-royal{
		max-width: 100%;
	}

	.footer-links-box-royal{
		margin-left: 30px;
	}

	.footer-copyright-royal{
		padding: 30px 0;
		margin-top: 30px;
	}
}

@media only screen and (max-width: 991px){

	.hero-royal{
		padding: 150px 0 60px;
	}

	.hero-content-royal .section-title p{
		font-size: 16px;
		max-width: 100%;
	}

	.hero-content-body-royal{
		max-width: 100%;
		padding-top: 30px;
		margin-top: 30px;
	}

	.hero-content-body-royal .video-play-button-royal a span{
		width: 46px;
		height: 46px;
	}

	.hero-client-review-box-royal{
		padding: 20px 30px;
	}
	
	.hero-client-review-content-royal h2{
		font-size: 36px;
	}

	.hero-client-review-content-royal .hero-client-rating-star-royal i{
		font-size: 26px;
	}

	.hero-info-item-list-royal{
		gap: 30px;
		padding-top: 30px;
		margin-top: 30px;
	}

	.hero-info-item-royal{
		width: calc(50% - 15px);
	}

	.hero-info-item-royal::before{
		right: -15px;
	}

	.hero-info-item-royal:nth-child(2n + 2):before{
		display: none;
	}

	.hero-info-item-royal .icon-box img{
		max-width: 40px;
	}

	.hero-info-item-content-royal{
		width: calc(100% - 55px);
	}

	.about-us-royal{
		padding: 60px 0;
	}

	.about-us-client-content-royal h2{
		font-size: 36px;
	}

	.about-us-body-list-royal ul li{
		padding-left: 22px;
	}

	.about-us-body-list-royal ul li::before{
		font-size: 16px;
	}

	.about-us-counter-item-royal .icon-box{
		width: 50px;
		height: 50px;
	}

	.about-us-counter-item-royal .icon-box img{
		max-width: 24px;
	}

	.about-us-counter-item-content-royal{
		width: calc(100% - 65px);
	}

	.about-us-counter-item-content-royal h2{
		font-size: 34px;
	}

	.about-us-counter-item-content-royal p{
		font-size: 18px;
	}

	.about-us-content-btn-royal{
		padding-top: 30px;
		margin-top: 30px;
	}

	.our-services-royal{
		background-size: 260px auto;
		background-position: bottom -10px left;
		padding: 60px 0;
	}

	.service-item-royal{
		min-height: auto;
		padding: 30px;
	}

	.our-feature-royal{
		padding: 60px 0;
	}

	.feature-item-royal{
		margin-bottom: 30px;
	}

	.feature-content-body-royal{
		padding-top: 30px;
		margin-top: 30px;
	}

	.feature-contact-item-royal{
		gap: 10px;
	}

	.feature-contact-item-royal .icon-box{
		width: 46px;
		height: 46px;
	}

	.feature-contact-item-royal .icon-box img{
		max-width: 20px;
	}

	.feature-contact-item-content-royal h3{
		font-size: 18px;
	}
	
	.why-choose-us-royal{
		padding: 60px 0;
	}

	.why-choose-client-box-royal{
		padding: 30px 25px;
	}

	.why-choose-client-content-royal h3{
		font-size: 18px;
	}

	.why-choose-counter-item-royal h2{
		font-size: 34px;
	}

	.why-choose-us-footer-royal{
		margin-top: 10px;
	}

	.why-choose-footer-list-royal{
		margin-bottom: 10px;
	}

	.why-choose-footer-list-royal ul{
		gap: 15px 10px;
	}

	.why-choose-footer-list-royal ul li{
		font-size: 14px;
		padding: 7px 10px 7px 24px;
	}

	.why-choose-footer-list-royal ul li::before{
		left: 10px;
	}

	.our-team-royal{
		padding: 60px 0;
	}

	.team-item-body-royal{
		padding: 30px;
	}

	.team-item-image-royal{
		max-height: 330px;
	}

	.team-item-image-royal figure{
		margin: 0 -30px;
	}

	.our-story-royal{
		padding: 0;
	}

	.our-story-royal::before{
		display: none;
	}

	.our-story-bg-video-royal{
		position: relative;
		height: 450px;
	}

	.our-story-royal .container-fluid{
		padding: 0;
	}

	.our-story-box-royal{
		max-width: 100%;
		min-height: auto;
		border-radius: 0;
		padding: 60px 15px;
	}

	.our-story-list-royal{
		padding-top: 30px;
		margin-top: 30px;
	}

	.our-story-list-royal ul li{
		padding-left: 22px;
	}

	.our-story-list-royal ul li::before{
		font-size: 16px;
	}

	.our-pricing-royal{
		padding: 60px 0;
	}

	.pricing-item-price-royal{
		max-width: 230px;
		margin: -40px auto 0;
	}

	.pricing-item-price-royal:before,
	.pricing-item-price-royal:after{
		top: 20px;
	}

	.pricing-item-price-royal h2{
		font-size: 30px;
	}

	.pricing-item-price-royal h2 sub{
		font-size: 14px;
	}

	.pricing-item-list-royal h3{
		margin-bottom: 15px;
	}

	.pricing-item-list-royal ul li{
		margin-bottom: 10px;
		padding-left: 22px;
	}

	.pricing-item-list-royal ul li::before{
		font-size: 16px;
	}

	.pricing-item-btn-royal{
		margin-top: 30px;
	}

	.pricing-item-btn-royal .btn-default{
		padding: 15px;
	}

	.pricing-benefit-list-royal{
		margin-top: 10px;
	}

	.pricing-benefit-list-royal ul{
		gap: 15px 30px;
	}

	.pricing-benefit-list-royal ul li img{
		max-width: 18px;
	}

	.our-faqs-royal{
		padding: 60px 0;
	}

	.faqs-content-box-royal{
		gap: 30px;
	}

	.faq-accordion-royal .accordion-item{
		margin-bottom: 20px;
	}

	.faq-accordion-royal .accordion-header .accordion-button{
		padding: 13px 45px 13px 20px;
	}

	.faq-accordion-royal .accordion-item .accordion-button::after, 
	.faq-accordion-royal .accordion-item .accordion-button.collapsed::after{
		right: 20px;
	}

	.faq-accordion-royal .accordion-item .accordion-body{
		padding: 13px 20px;
	}

	.our-testimonials-royal{
		background-size: 260px auto;
        background-position: bottom -20px left;
		padding: 60px 0;
	}

	.testimonial-item-royal{
		min-height: 400px;
		padding: 30px;
	}

	.testimonail-item-content-royal p{
		font-size: 18px;
	}

	.testimonial-item-author-royal{
		padding-top: 30px;
		margin-top: 30px;
	}

	.testimonial-author-image-royal{
		margin-bottom: 15px;
	}

	.testimonial-author-image-royal figure img{
		max-width: 50px;
	}

	.our-testimonials-royal .section-footer-text{
		margin-top: 40px;
	}

	.main-footer-royal{
		padding: 50px 0 0;
	}

	.footer-menu-royal ul{
		gap: 10px 20px;
	}

	.about-footer-royal{
		max-width: 100%;
		margin-bottom: 30px;
	}

	.about-footer-content-royal p{
		margin-top: 10px;
	}

	.footer-social-links-royal{
		margin-top: 20px;
	}

	.footer-links-box-royal{
		margin: 0;
	}

	.footer-links-royal h2{
		margin-bottom: 20px;
	}

	.footer-links-royal ul li{
		margin-bottom: 10px;
		padding-left: 22px;
	}

	.footer-links-royal ul li::before{
		font-size: 16px;
	}

	.footer-contact-item-royal{
		margin-bottom: 20px;
	}

	.footer-privacy-policy-royal ul{
		gap: 10px 30px;
	}

	.footer-privacy-policy-royal ul li::before{
		width: 1px;
		right: -15px;
	}
}

@media only screen and (max-width: 767px){

	.video-play-button-royal p{
		font-size: 14px;
	}

	.hero-client-review-box-royal{
		padding: 20px;
	}

	.hero-client-review-content-royal h2{
		font-size: 26px;
	}

	.hero-client-review-content-royal .hero-client-rating-star-royal i{
		font-size: 20px;
	}

	.hero-info-item-royal{
		width: 100%;
	}

	.hero-info-item-royal::before{
		display: none;
	}

	.hero-info-item-content-royal h3{
		font-size: 18px;
	}

	.hero-info-item-content-royal p{
		margin: 5px 0 0;
	}

	.about-us-image-box-royal{
		gap: 10px;
	}

	.about-us-image-box-1-royal{
		width: calc(60% - 5px);
	}

	.about-us-image-box-2-royal{
		width: calc(40% - 5px);
	}

	.about-us-client-box-royal{
		border-width: 8px;
		margin-left: -70px;
	}

	.about-us-client-box-royal:before{
		left: 32px;
		bottom: -28px;
	}

	.about-us-client-box-royal:after{
		left: -28px;
	}

	.about-us-client-body-royal{
		padding: 12px;
	}

	.about-us-client-header-royal{
		padding-bottom: 15px;
		margin-bottom: 15px;
	}

	.about-us-client-header-content-royal{
		margin-bottom: 10px;
	}

	.about-us-client-header-content-royal p{
		font-size: 14px;
	}

	.about-us-client-header-royal .satisfy-client-image figure img{
		max-width: 34px;
	}

	.about-us-client-header-royal .satisfy-client-image.add-more{
		width: 36px;
		height: 36px;
	}

	.about-us-client-content-royal .about-us-client-rating-star-royal i,
	.about-us-client-content-royal p{
		font-size: 12px;
	}

	.about-us-client-content-royal h2{
		font-size: 26px;
	}

	.about-us-clint-rating-star-royal{
		display: block;
	}

	.about-us-body-royal{
		padding: 20px;
	}

	.about-us-item-list-royal{
		padding-bottom: 20px;
		margin-bottom: 20px;
	}

	.about-us-item-royal h3{
		font-size: 18px;
	}

	.about-us-item-royal p{
		margin: 5px 0 0;
	}

	.about-us-body-list-royal ul{
		gap: 15px;
	}

	.about-us-body-list-royal ul li{
		width: 100%;
	}

	.about-us-counter-list-royal{
		gap: 20px;
	}

	.about-us-counter-item-royal{
		width: 100%;
	}

	.about-us-counter-item-content-royal h2{
		font-size: 28px;
	}

	.about-us-counter-item-content-royal p{
		font-size: 16px;
	}

	.service-item-royal{
		padding: 20px;
	}

	.service-item-content-royal h2{
		font-size: 18px;
	}

	.service-item-content-royal p{
		margin: 5px 0 0;
	}

	.service-item-btn-royal{
		padding-top: 20px;
		margin-top: 20px;
	}

	.feature-item-royal{
		gap: 15px;
	}

	.feature-item-royal .icon-box img{
		max-width: 40px;
	}

	.feature-item-content-royal{
		width: calc(100% - 55px);
	}

	.feature-item-content-royal h3{
		font-size: 18px;
	}

	.feature-item-content-royal p{
		margin: 5px 0 0;
	}

	.feature-content-body-royal{
		gap: 20px;
	}

	.feature-image-box-royal{
		padding-left: 0;
	}

	.feature-image-box-royal::before{
		left: 40px;
		bottom: 15px;
		width: 50px;
		height: 95px;
	}

	.feature-cta-box-royal{
		width: 53%;
		border-radius: 14px;
		padding: 5px 5px 10px;
	}

	.feature-cta-contact-item-list-royal{
		padding: 0 10px;
	}

	.feature-cta-contact-item-royal{
		gap: 10px;
	}

	.feature-cta-contact-item-royal .icon-box{
		width: 26px;
		height: 26px;
	}

	.feature-cta-contact-item-royal .icon-box img{
		max-width: 12px;
	}

	.feature-cta-contact-item-content-royal{
		width: calc(100% - 36px);
	}

	.feature-cta-contact-item-content-royal h3{
		font-size: 14px;
	}

	.feature-image-royal{
		width: 47%;
	}

	.feature-image-royal figure{
		margin-left: -115px;
	}

	.why-choose-client-box-royal{
		padding: 20px;
	}

	.why-choose-client-content-royal h3{
		font-size: 16px;
	}

	.why-choose-client-item-royal h3{
		font-size: 18px;
	}

	.why-choose-client-item-royal p{
		margin: 5px 0 0;
	}

	.why-choose-counter-item-royal{
		width: 100%;
		height: auto;
		gap: 20px;
		padding: 20px;
	}

	.why-choose-counter-item-royal h2{
		font-size: 28px;
	}

	.why-choose-footer-list-royal ul li{
		font-size: 14px;
		padding: 7px 10px 7px 20px;
	}

	.why-choose-footer-list-royal ul li::before{
        width: 4px;
        height: 4px;
    }

	.team-item-body-royal{
		padding: 20px;
	}

	.team-item-content-royal{
		padding: 25px 30px 0;
	}

	.team-item-content-royal h2{
		font-size: 18px;
	}

	.team-item-image-royal{
        max-height: 300px;
    }

	.team-item-image-royal figure{
		margin: 0 -20px;
	}

	.our-story-bg-video-royal{
        height: 350px;
    }

	.watch-video-circle-royal img{
		max-width: 90px;
	}

	.story-video-circle-box-royal .video-play-button-royal a span{
		width: 90px;
		height: 90px;
	}

	.story-video-circle-box-royal .video-play-button-royal a span i{
		font-size: 24px;
	}

	.our-story-list-royal ul{
		gap: 10px;
	}

	.our-story-list-royal ul li{
		width: 100%;
	}

	.pricing-item-header-royal{
		padding: 20px 20px 50px;
	}

	.pricing-item-header-royal .icon-box{
		margin-bottom: 20px;
	}

	.pricing-item-content-royal h2{
		font-size: 18px;
	}

	.pricing-item-content-royal p{
		margin: 5px 0 0;
	}

	.pricing-item-body-royal{
		padding: 0 10px 10px;
	}

	.pricing-item-price-royal{
		margin: -30px auto 0;
	}

	.pricing-item-price-royal:before,
	.pricing-item-price-royal:after{
        top: 10px;
    }

	.pricing-item-list-royal h3{
		font-size: 18px;
	}

	.pricing-benefit-list-royal{
		margin-top: 5px;
	}

	.pricing-benefit-list-royal ul{
        gap: 10px 20px;
    }

	.pricing-benefit-list-royal ul li{
		font-size: 14px;
	}
	
	.pricing-benefit-list-royal ul li img{
        max-width: 16px;
        margin-right: 5px;
    }

	.faqs-content-box-royal{
		padding: 20px;
	}

	.faqs-contact-list-royal{
		gap: 20px;
	}

	.faqs-contact-item-royal{
		width: 100%;
	}

	.faqs-contact-item-content-royal h3{
		font-size: 18px;
	}

	.faq-accordion-royal .accordion-header .accordion-button{
        font-size: 16px;
        padding: 10px 35px 10px 15px;
    }

	.faq-accordion-royal .accordion-item .accordion-body{
		padding: 10px 15px;
	}

	.faq-accordion-royal .accordion-item .accordion-button::after, 
	.faq-accordion-royal .accordion-item .accordion-button.collapsed::after{
		right: 15px;
        font-size: 18px;
	}

	.testimonial-slider-royal,
	.testimonial-slider-royal .swiper{
		height: auto;
	}

	.testimonial-item-royal{
		height: auto;
		min-height: auto;
		gap: 20px;
		padding: 20px;
	}

	.testimonail-item-content-royal p{
		font-size: 16px;
	}

	.testimonial-item-author-royal{
		padding-top: 20px;
		margin-top: 20px;
	}

	.testimonial-author-content-royal h2{
		font-size: 18px;
	}

	.footer-header-royal{
		gap: 20px;
	}

	.footer-menu-royal{
		width: 100%;
	}

	.footer-menu-royal ul{
		gap: 10px;
		justify-content: space-between;
	}

	.about-footer-content-royal h2{
		font-size: 18px;
	}

	.footer-links-royal{
		max-width: 100%;
	}

	.footer-links-royal h2{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-contact-item-royal h3{
		font-size: 18px;
		margin-top: 5px;
	}

	.footer-copyright-royal{
		justify-content: center;
		gap: 15px;
		padding: 15px 0;
	}

	.footer-privacy-policy-royal{
		width: 100%;
	}

	.footer-privacy-policy-royal ul{
		justify-content: center;
		gap: 10px 20px;
	}

	.footer-privacy-policy-royal ul li::before{
		right: -10px;
	}
}

/* ============================================================
   Barre de réservation mobile (fixe en bas de l'écran)
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.barre-mobile-reservation { display: none; }

@media (max-width: 991px) {
    .barre-mobile-reservation {
        display: flex;
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 9999;
        box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.15);
    }
    .barre-mobile-reservation a {
        flex: 1 1 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        padding: 15px 8px;
        font-size: 15px;
        font-weight: 600;
        line-height: 1.2;
        text-decoration: none;
        text-align: center;
    }
    .barre-mobile-reservation .btn-reserver {
        background: var(--accent-color);
        color: #ffffff;
    }
    .barre-mobile-reservation .btn-itineraire {
        background: var(--secondary-color);
        color: var(--accent-color);
    }
    /* Réserve un espace en bas de page pour que la barre ne masque rien */
    body { padding-bottom: 58px; }
    /* Remonte le bouton retour en haut au-dessus de la barre s'il existe */
    .scroll-top, .back-to-top, .progress-wrap { bottom: 70px !important; }
}


/* ============================================================
   Casse des libellés : affichage tel qu'écrit (français correct)
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.main-menu ul li a,
.slicknav_nav li a { text-transform: none; }
/* Tous les boutons du site : casse affichée telle qu'écrite */
.btn-default,
.readmore-btn,
.section-title .section-sub-title { text-transform: none; }
/* Les parents à sous-menu ne sont plus des liens : on garde le curseur main */
.main-menu ul li.submenu > a { cursor: pointer; }

/* ============================================================
   Taille du logo dans le menu (agrandi)
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.navbar-brand img {
    height: 70px;   /* ajuster ici pour agrandir/réduire le logo */
    width: auto;
}

/* ============================================================
   Hero : image de fond sur mobile à la place de la vidéo
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.hero-royal .hero-bg-video .hero-bg-image-mobile {
    display: none;
}

@media only screen and (max-width: 991px) {
    .hero-royal .hero-bg-video video {
        display: none;
    }
    .hero-royal .hero-bg-video .hero-bg-image-mobile {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* ============================================================
   Hero : image fixe à la place de la vidéo sur mobile et tablette
   La vidéo est en paysage, l'écran du téléphone en portrait : le
   recadrage automatique coupait le sujet. L'image est cadrée pour
   le portrait, et évite de charger la vidéo sur mobile (data, batterie).
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
@media only screen and (max-width: 991px) {
    .hero-royal .hero-bg-video video {
        display: none;
    }
    .hero-royal .hero-bg-video {
        background-image: url('../images/yogatimesxm-espace-pratique-baie-vitree.webp');
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
    }
}

/* Icônes YogaTimeSxm : pictogrammes adaptés au yoga et contraste homogène */
.icone-yoga-blanche {
    color: #ffffff !important;
    opacity: 1 !important;
    filter: none !important;
}

.icone-yoga-accent {
    color: var(--accent-color) !important;
    opacity: 1 !important;
    filter: none !important;
}

.hero-info-item-royal .icon-box i {
    width: 50px;
    font-size: 43px;
    line-height: 1;
    text-align: center;
    color: #ffffff !important;
}

.about-us-counter-item-royal .icon-box i,
.feature-contact-item-royal .icon-box i,
.appointment-contact-item .icon-box i,
.faqs-contact-item-royal .icon-box i {
    position: relative;
    z-index: 1;
    color: #ffffff !important;
    opacity: 1 !important;
}

.about-us-counter-item-royal .icon-box i {
    font-size: 27px;
}

.service-item-royal .icon-box i,
.feature-item-royal .icon-box i,
.pricing-item-header-royal .icon-box i {
    display: inline-block;
    font-size: 47px;
    line-height: 1;
    color: var(--accent-color) !important;
    opacity: 1 !important;
    transition: color 0.4s ease-in-out, transform 0.4s ease-in-out;
}

.service-item-royal:hover .icon-box i {
    color: #ffffff !important;
}

.feature-item-royal:hover .icon-box i {
    color: var(--primary-color) !important;
}

.feature-contact-item-royal .icon-box i,
.appointment-contact-item .icon-box i,
.faqs-contact-item-royal .icon-box i {
    font-size: 21px;
}

.feature-cta-contact-item-royal .icon-box i {
    font-size: 14px;
    color: var(--accent-color) !important;
    opacity: 1 !important;
}

.pricing-benefit-list-royal ul li i {
    width: 20px;
    min-width: 20px;
    margin-right: 10px;
    font-size: 18px;
    line-height: 1;
    text-align: center;
    color: var(--accent-color) !important;
    opacity: 1 !important;
}

/* Empêche les anciens effets du thème de ternir les pictogrammes blancs. */
.dark-section .icon-box img,
.hero-royal .icon-box img,
.about-us-counter-item-royal .icon-box img,
.feature-contact-item-royal .icon-box img,
.appointment-contact-item .icon-box img,
.faqs-contact-item-royal .icon-box img {
    opacity: 1 !important;
}

/* ============================================================
   Section réservation : contraste des listes sur fond sombre
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.book-appointment.dark-section .appointment-form .about-us-body-list-royal ul li {
    color: #ffffff !important;
}

.book-appointment.dark-section .appointment-form .about-us-body-list-royal ul li::before {
    color: #ffffff !important;
}

/* ============================================================
   Typographie éditoriale : retours à la ligne naturels et lisibles
   Les tailles de caractères restent inchangées.
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */

/* Les titres se répartissent selon le sens de la phrase plutôt que selon
   le simple remplissage de la ligne. Aucun mot n'est coupé arbitrairement. */
.section-title h1,
.section-title h2,
.hero-info-item-content-royal h3,
.service-item-content-royal h2,
.feature-item-content-royal h3,
.pricing-item-content-royal h2,
.pricing-item-list-royal h3,
.appointment-contact-item-content h3,
.faqs-contact-item-content-royal h3,
.testimonial-item-author-content-royal h2,
.post-item-content h2,
.faq-accordion-royal .accordion-button {
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Les textes courants évitent autant que possible une dernière ligne
   composée d'un seul petit mot, tout en restant entièrement fluides. */
.section-title p,
.hero-info-item-content-royal p,
.about-us-item-royal p,
.service-item-content-royal p,
.feature-item-content-royal p,
.pricing-item-content-royal p,
.pricing-item-list-royal li,
.appointment-contact-item-content p,
.faqs-contact-item-content-royal p,
.faq-accordion-royal .accordion-body,
.testimonail-item-content-royal p,
.post-item-content p,
.section-footer-text p,
.our-story-list-royal li,
.pricing-benefit-list-royal li,
.book-appointment .about-us-body-list-royal li {
    text-wrap: pretty;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Le libellé central des cartes de repères pratiques doit rester d'un bloc.
   Le cadre est élargi, pas la police réduite. */
.pricing-item-price-royal {
    width: min(100%, 350px);
    max-width: 350px;
}

.pricing-item-price-royal h2 {
    white-space: nowrap;
    text-wrap: nowrap;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
}

/* Dans le bloc de réservation, trois consignes courtes sont plus lisibles
   l'une sous l'autre que dans deux demi-colonnes trop étroites. */
.book-appointment .appointment-form .about-us-body-list-royal ul {
    gap: 14px;
}

.book-appointment .appointment-form .about-us-body-list-royal ul li {
    width: 100%;
    min-width: 0;
}

/* Les libellés de boutons restent regroupés et ne se cassent pas au milieu. */
.btn-default,
.readmore-btn {
    text-wrap: nowrap;
    white-space: nowrap;
}

/* Sur les très petits écrans, les boutons peuvent reprendre toute la largeur
   disponible mais leur texte demeure intact. */
@media only screen and (max-width: 575px) {
    .appointment-form .about-us-content-btn-royal,
    .pricing-item-btn-royal {
        align-items: stretch;
    }

    .appointment-form .about-us-content-btn-royal .btn-default,
    .pricing-item-btn-royal .btn-default {
        width: 100%;
        justify-content: center;
        text-align: center;
    }
}


/* ==========================================================================
   Page Mentions légales - YogaTimeSxm
   ========================================================================== */
.legal-page{padding:100px 0;}
.legal-page .section-title h2,.legal-card h2,.legal-section h2{text-wrap:balance;}
.legal-page p,.legal-page li{text-wrap:pretty;}
.legal-grid{margin-top:10px;}
.legal-card{height:100%;display:flex;gap:24px;padding:34px;border:1px solid var(--divider-color);border-radius:20px;background:var(--white-color);}
.legal-card-icon{flex:0 0 58px;width:58px;height:58px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--accent-color);color:var(--white-color);font-size:22px;}
.legal-card-content{min-width:0;}
.legal-card-content h2{margin-bottom:16px;}
.legal-card-content p:last-child{margin-bottom:0;}
.legal-card a,.legal-section a{color:var(--accent-color);font-weight:600;}
.legal-card a:hover,.legal-section a:hover{color:var(--primary-color);}
.legal-long-content{margin-top:80px;}
.legal-section{padding:38px 0;border-top:1px solid var(--divider-color);}
.legal-section:last-of-type{border-bottom:1px solid var(--divider-color);}
.legal-section-heading{display:flex;align-items:baseline;gap:18px;margin-bottom:18px;}
.legal-section-number{flex:0 0 auto;color:var(--accent-color);font-weight:700;letter-spacing:.08em;}
.legal-section-heading h2{margin:0;}
.legal-section p:last-child{margin-bottom:0;}
.legal-update{display:flex;align-items:center;gap:12px;margin-top:34px;color:var(--text-color);}
.legal-update i{color:var(--accent-color);}.legal-update p{margin:0;}
@media only screen and (max-width:991px){.legal-page{padding:80px 0}.legal-card{padding:30px}.legal-long-content{margin-top:60px}}
@media only screen and (max-width:767px){.legal-page{padding:60px 0}.legal-card{display:block;padding:26px 22px}.legal-card-icon{margin-bottom:20px}.legal-long-content{margin-top:45px}.legal-section{padding:30px 0}.legal-section-heading{align-items:flex-start;gap:12px}}


/* ============================================================
   Retour en haut avec progression de lecture
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.scroll-progress {
    position: fixed;
    right: 26px;
    bottom: 28px;
    z-index: 9990;
    opacity: 0;
    visibility: hidden;
    transform: translateY(12px);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
}

.scroll-progress.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.scroll-progress .scroll-top {
    --scroll-progress: 0;
    --scroll-color: var(--accent-color);
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    text-decoration: none;
    background: conic-gradient(var(--scroll-color) calc(var(--scroll-progress) * 1%), rgba(209, 66, 0, 0.22) 0);
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.12);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.scroll-progress .scroll-top::after {
    content: '';
    position: absolute;
    inset: 4px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.98);
    box-shadow: inset 0 0 0 1px rgba(209, 66, 0, 0.08);
}

.scroll-progress .scroll-percent {
    position: relative;
    z-index: 1;
    font-family: var(--default-font);
    color: var(--scroll-color);
    font-size: 12px;
    font-weight: 400;
    line-height: 1.625;
    font-variant-numeric: tabular-nums;
}

.scroll-progress .scroll-text,
.scroll-progress .scroll-line,
.scroll-progress .scroll-arrow {
    display: none !important;
}

.scroll-progress .scroll-top:hover,
.scroll-progress .scroll-top:focus-visible {
    transform: translateY(-2px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
}

.scroll-progress .scroll-top:focus-visible {
    outline: 3px solid rgba(209, 66, 0, 0.28);
    outline-offset: 4px;
}

@media (max-width: 991px) {
    .scroll-progress {
        right: 14px;
        bottom: 82px;
    }

    .scroll-progress .scroll-top {
        width: 60px;
        height: 60px;
    }

    .scroll-progress .scroll-top::after {
        inset: 4px;
    }

    .scroll-progress .scroll-percent {
        font-size: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .scroll-progress,
    .scroll-progress .scroll-top {
        transition: none;
    }
}

}


/* ============================================================
   Page contact YogaTimeSxm
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.contact-yoga-content .section-title h2,
.contact-yoga-form .section-title h2,
.contact-location-section .section-title h2 {
    text-wrap: balance;
}

.contact-yoga-content {
    min-height: 100%;
}

.contact-reservation-box {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-top: 42px;
    padding: 28px;
    background: var(--secondary-color);
    border-radius: 20px;
}

.contact-reservation-icon {
    flex: 0 0 52px;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    background: var(--accent-color);
    font-size: 20px;
}

.contact-reservation-content {
    flex: 1;
    min-width: 0;
}

.contact-reservation-content h3 {
    margin: 0 0 8px;
    font-size: 22px;
    text-wrap: balance;
}

.contact-reservation-content p {
    margin: 0;
}

.contact-reservation-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.contact-yoga-form .section-title p {
    margin-top: 12px;
}

.contact-form .form-group > label:not(.form-check-label) {
    display: block;
    margin-bottom: 9px;
    color: var(--primary-color);
    font-size: 15px;
    font-weight: 600;
    line-height: 1.35;
}

.contact-form .champ-optionnel {
    color: var(--text-color);
    font-weight: 400;
}

.contact-form select.form-control {
    min-height: 65px;
    appearance: auto;
}

.contact-form textarea.form-control {
    min-height: 180px;
    resize: vertical;
}

.contact-consentement {
    display: grid;
    grid-template-columns: 22px 1fr;
    align-items: start;
    gap: 11px;
    padding: 0;
}

.contact-consentement .form-check-input {
    position: static;
    float: none;
    width: 20px;
    height: 20px;
    margin: 3px 0 0;
    border: 1px solid rgba(27, 27, 27, 0.3);
    cursor: pointer;
}

.contact-consentement .form-check-input:checked {
    background-color: var(--accent-color);
    border-color: var(--accent-color);
}

.contact-consentement .form-check-label {
    margin: 0;
    color: var(--text-color);
    font-size: 14px;
    line-height: 1.55;
    cursor: pointer;
}

.contact-consentement .form-check-label a {
    color: var(--accent-color);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.contact-honeypot {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.contact-submit-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 20px;
}

.contact-form-note {
    margin: 0;
    color: var(--text-color);
    font-size: 13px;
    line-height: 1.45;
}

#msgSubmit {
    flex-basis: 100%;
    margin: 4px 0 0;
    font-size: 16px;
    line-height: 1.5;
}

.contact-location-section {
    padding-top: 60px;
}

.contact-map-consent {
    position: relative;
    height: 520px;
    background: var(--secondary-color);
}

.contact-map-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 40px 24px;
    text-align: center;
    background:
        radial-gradient(circle at 25% 20%, rgba(209, 66, 0, 0.09), transparent 28%),
        radial-gradient(circle at 80% 75%, rgba(209, 66, 0, 0.07), transparent 30%),
        var(--secondary-color);
}

.contact-map-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    margin-bottom: 22px;
    border-radius: 50%;
    color: #fff;
    background: var(--accent-color);
    font-size: 25px;
}

.contact-map-placeholder h3 {
    margin: 0 0 10px;
    font-size: 26px;
    line-height: 1.25;
}

.contact-map-placeholder p {
    margin: 0;
}

.contact-map-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-top: 24px;
}

.contact-map-consent iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

@media (max-width: 1199px) {
    .contact-yoga-content {
        min-height: auto;
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .page-contact-us {
        padding-top: 60px;
    }

    .contact-info-item-list {
        gap: 24px;
    }

    .contact-info-item::before {
        display: none;
    }

    .contact-reservation-box {
        display: block;
        margin-top: 32px;
        padding: 22px;
    }

    .contact-reservation-icon {
        margin-bottom: 16px;
    }

    .contact-reservation-actions,
    .contact-map-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .contact-reservation-actions .btn-default,
    .contact-map-actions .btn-default {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .contact-yoga-form {
        padding: 26px 20px;
    }

    .contact-form .form-control {
        font-size: 16px;
    }

    .contact-submit-row {
        display: block;
    }

    .contact-submit-row .btn-default {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .contact-form-note {
        margin-top: 14px;
        text-align: center;
    }

    .contact-location-section {
        padding-top: 30px;
    }

    .contact-map-consent {
        height: 390px;
    }

    .contact-map-placeholder {
        padding: 28px 18px;
    }

    .contact-map-placeholder h3 {
        font-size: 22px;
    }
}


/* ============================================================
   Pages prestations YogaTimeSxm
   Copyright Pascal Evrard - Agence afondlacom' - 2026
   ============================================================ */
.page-header-box h1,
.page-service-single h2,
.page-service-single h3,
.page-services h2,
.our-benefits h2,
.our-feature h2,
.our-faqs h2,
.our-testimonials h2,
.accordion-button {
    text-wrap: balance;
    hyphens: none;
}

.service-entry p,
.service-benefits-item-content p,
.section-title-content p,
.accordion-body p,
.testimonial-item-content p,
.testimonail-item-content p,
.service-item-content p {
    text-wrap: pretty;
    hyphens: none;
}

.page-category-list ul li a[aria-current="page"] {
    color: var(--accent-color);
}

.page-category-list ul li a[aria-current="page"]::before {
    transform: translateY(-50%) rotate(45deg);
}

.service-item .icon-box i {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: var(--accent-color);
    font-size: 42px;
    line-height: 1;
    transition: color 0.4s ease-in-out;
}

.service-item-list .service-item.active .icon-box i,
.service-item-list .service-item:hover .icon-box i {
    color: var(--white-color);
}

.benefit-item-header .icon-box i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: var(--accent-color);
    font-size: 40px;
    line-height: 1;
}


.service-benefits-item .icon-box i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    color: var(--accent-color);
    font-size: 40px;
    line-height: 1;
}

.prestation-note {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 28px 0 0;
}

.prestation-note span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 14px;
    border: 1px solid var(--divider-color);
    border-radius: 999px;
    color: var(--primary-color);
    background: var(--secondary-color);
    font-size: 14px;
    line-height: 1.35;
}

.prestation-note i {
    color: var(--accent-color);
}

.prestation-citation {
    margin-top: 26px;
    padding: 20px 22px;
    border-left: 3px solid var(--accent-color);
    background: var(--secondary-color);
    border-radius: 0 14px 14px 0;
}

.prestation-citation p {
    margin: 0;
    font-style: italic;
}

.prestation-image-placeholder figcaption {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
}

.prestation-hours-link {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 3px;
}

@media (max-width: 991px) {
    .page-single-sidebar {
        position: static;
        margin-right: 0;
        margin-bottom: 45px;
    }
}

@media (max-width: 767px) {
    .page-service-single {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .service-benefits-item {
        width: 100%;
    }

    .page-category-list ul {
        padding: 26px 24px;
    }

    .prestation-note {
        align-items: stretch;
        flex-direction: column;
    }

    .prestation-note span {
        width: fit-content;
        max-width: 100%;
    }
}

/* Icône téléphone modernisée : smartphone / iPhone */
.icone-telephone-moderne,
.fa-mobile-screen-button{
    display:inline-block;
    transform:scale(0.88);
    transform-origin:center center;
}

.icone-telephone-moderne{
    color:#fff;
    font-size:24px;
    line-height:1;
}

/* Curseur personnalisé : ordinateur uniquement.
   Smartphone et tablette utilisent le comportement natif du système. */
@media (max-width: 1024px), (hover: none), (pointer: coarse) {
    .cb-cursor {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
    }

    html,
    body,
    body * {
        cursor: auto !important;
    }

    a[href],
    button,
    [role="button"],
    input[type="button"],
    input[type="submit"],
    input[type="reset"],
    .galerie-media-open {
        cursor: pointer !important;
    }

    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="search"],
    input[type="url"],
    input[type="password"],
    textarea {
        cursor: text !important;
    }
}

/* ============================================================
   Gestion des cookies YogaTimeSxm
   ============================================================ */
.cookies-banniere{
    position:fixed;
    z-index:99999;
    left:24px;
    bottom:24px;
    width:400px;
    height:240px;
    box-sizing:border-box;
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border:1px solid rgba(26,26,26,.06);
    border-radius:16px;
    background:#fff;
    box-shadow:0 16px 45px rgba(0,0,0,.14);
    color:var(--primary-color);
    transform:none;
}
.cookies-banniere[hidden],.cookies-modal[hidden]{display:none!important}
.cookies-contenu{
    position:relative;
    z-index:2;
    flex:1 1 auto;
    min-height:0;
    padding:20px 22px 14px;
    max-width:none;
}
.cookies-surtitre{
    margin:0 0 2px;
    color:#6d6d6d;
    font-size:15px;
    line-height:1.2;
    font-weight:400;
}
.cookies-banniere h2,.cookies-preferences h2{
    margin:0 0 10px;
    color:var(--primary-color);
    font-size:30px;
    line-height:1.04;
    letter-spacing:-.03em;
}
.cookies-banniere .cookies-contenu>p:last-child{
    max-width:355px;
    margin:0;
    padding-right:4px;
    font-size:13.5px;
    line-height:1.42;
    color:#5e5e5e;
}
.cookies-decoration{
    position:absolute;
    right:-16px;
    top:-18px;
    width:155px;
    height:92px;
    background:radial-gradient(circle at 75% 10%,#ffd45a 0,#ffc325 45%,#f5ae00 78%,transparent 79%);
    pointer-events:none;
    opacity:.92;
}
.cookies-decoration span{position:absolute;display:block;border-radius:50%;box-shadow:inset 0 -5px 0 rgba(0,0,0,.05)}
.cookies-decoration span:nth-child(1){width:42px;height:42px;left:28px;top:39px;background:#92552f;transform:rotate(-12deg)}
.cookies-decoration span:nth-child(2){width:56px;height:56px;left:61px;top:29px;background:#f39a64}
.cookies-decoration span:nth-child(3){width:38px;height:38px;left:108px;top:43px;background:#ef8759}
.cookies-decoration span:before,.cookies-decoration span:after{
    content:"";
    position:absolute;
    width:4px;
    height:4px;
    border-radius:50%;
    background:rgba(65,40,25,.5);
    box-shadow:11px 7px 0 rgba(255,255,255,.45),20px 18px 0 rgba(65,40,25,.42),6px 23px 0 rgba(255,255,255,.45);
}
.cookies-decoration span:before{left:10px;top:9px}.cookies-decoration span:after{right:9px;bottom:10px}
.cookies-actions-principales{
    display:grid;
    grid-template-columns:1fr 1fr;
    flex:0 0 56px;
    height:56px;
    border-top:1px solid #e5e5e5;
}
.cookies-actions-principales button{
    min-height:56px;
    height:56px;
    border:0;
    background:#fff;
    font-family:var(--accent-font);
    font-size:15px;
    font-weight:700;
    cursor:pointer;
}
.cookies-actions-principales button+button{border-left:1px solid #e5e5e5}
.cookies-btn-choix{color:#616161}.cookies-btn-accepter{color:var(--accent-color)!important}
.cookies-actions-principales button:hover{background:#faf7f3}
.cookies-modal{position:fixed;z-index:100000;inset:0;display:grid;place-items:center;padding:20px}
.cookies-modal-fond{position:absolute;inset:0;background:rgba(21,19,18,.46);backdrop-filter:blur(4px)}
.cookies-preferences{position:relative;z-index:1;width:min(720px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;padding:38px;border-radius:24px;background:#fff;box-shadow:0 22px 80px rgba(0,0,0,.25)}
.cookies-preferences .cookies-surtitre{font-size:17px;color:var(--accent-color);font-weight:700}
.cookies-preferences h2{font-size:36px;margin-bottom:14px}.cookies-intro-preferences{margin:0 0 26px;color:var(--text-color);line-height:1.65}
.cookies-fermer{position:absolute;top:16px;right:18px;width:42px;height:42px;border:0;border-radius:50%;background:var(--secondary-color);color:var(--primary-color);font-size:28px;line-height:1;cursor:pointer}
.cookies-categorie{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;border-top:1px solid var(--divider-color)}
.cookies-categorie h3{margin:0 0 5px;font-size:20px;color:var(--primary-color)}.cookies-categorie p{margin:0;color:var(--text-color);font-size:14px;line-height:1.55}
.cookies-obligatoire{flex:0 0 auto;padding:8px 11px;border-radius:999px;background:var(--secondary-color);font-size:12px;font-weight:700;color:var(--primary-color)}
.cookies-interrupteur{display:flex;flex:0 0 auto;align-items:center;gap:9px;cursor:pointer}.cookies-interrupteur input{position:absolute;opacity:0;pointer-events:none}
.cookies-interrupteur span{position:relative;width:48px;height:28px;border-radius:999px;background:#c7c7c7;transition:.2s}.cookies-interrupteur span:after{content:"";position:absolute;left:4px;top:4px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.18);transition:.2s}
.cookies-interrupteur input:checked+span{background:var(--accent-color)}.cookies-interrupteur input:checked+span:after{transform:translateX(20px)}
.cookies-interrupteur em{font-style:normal;font-size:13px;font-weight:700;color:var(--primary-color)}
.cookies-actions-preferences{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.cookies-actions-preferences button{min-height:46px;padding:10px 16px;border-radius:999px;border:1px solid var(--divider-color);background:#fff;font-family:var(--accent-font);font-weight:700;cursor:pointer}
.cookies-actions-preferences .cookies-btn-enregistrer{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.cookies-actions-preferences .cookies-btn-accepter{border-color:rgba(209,66,0,.28);background:rgba(209,66,0,.06)}
.cookies-note{margin:20px 0 0;color:var(--text-color);font-size:12px;line-height:1.5}.cookies-preferences-ouvertes{overflow:hidden}
.footer-privacy-policy-royal .cookies-lien-gestion{padding:0;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer;text-align:left}.footer-privacy-policy-royal .cookies-lien-gestion:hover{color:#000}
.eversports-attente-consentement{display:flex;min-height:360px;align-items:center;justify-content:center;padding:38px;border-radius:18px;background:var(--secondary-color);text-align:center}
.eversports-attente-interieur{max-width:620px}.eversports-attente-interieur i{display:grid;place-items:center;width:64px;height:64px;margin:0 auto 18px;border-radius:50%;background:#fff;color:var(--accent-color);font-size:27px}.eversports-attente-interieur h3{font-size:27px;margin:0 0 10px}.eversports-attente-interieur p{margin:0 0 20px;line-height:1.65}.eversports-attente-interieur button{border:0}
@media(max-width:767px){
 .cookies-banniere{left:10px;bottom:10px;width:calc(100% - 20px);height:auto;min-height:240px;border-radius:15px}.cookies-contenu{padding:26px 22px 18px}.cookies-surtitre{font-size:16px}.cookies-banniere h2{font-size:31px;margin-bottom:14px}.cookies-banniere .cookies-contenu>p:last-child{font-size:15px;line-height:1.48;max-width:none}.cookies-decoration{width:150px;height:88px;right:-20px;top:-20px;opacity:.72}.cookies-decoration span:nth-child(1){width:40px;height:40px;left:27px;top:40px}.cookies-decoration span:nth-child(2){width:54px;height:54px;left:58px;top:29px}.cookies-decoration span:nth-child(3){width:36px;height:36px;left:104px;top:42px}.cookies-actions-principales{flex-basis:58px;height:58px}.cookies-actions-principales button{min-height:58px;height:58px;font-size:15px}.cookies-preferences{padding:30px 20px 24px;border-radius:20px}.cookies-preferences h2{font-size:29px;padding-right:35px}.cookies-categorie{align-items:flex-start;flex-direction:column;gap:13px}.cookies-actions-preferences{display:grid;grid-template-columns:1fr}.cookies-actions-preferences button{width:100%}.eversports-attente-consentement{min-height:290px;padding:26px 18px}.eversports-attente-interieur h3{font-size:23px}
}

/* F.A.Q YogaTimeSxm : complément léger au template Revoza */
.faq-introduction{
    margin-bottom:40px;
}
.faq-introduction p{
    margin:0;
    font-size:18px;
    line-height:1.7;
}
@media (max-width:991px){
    .faq-introduction{
        margin-top:35px;
        margin-bottom:30px;
    }
}
@media (max-width:767px){
    .faq-introduction p{
        font-size:16px;
        line-height:1.65;
    }
}

/* F.A.Q : typographie française et liens internes */
.page-faqs .page-category-list ul li a{
    text-transform: none;
}
.page-faqs .accordion-body a{
    color: var(--accent-color);
    text-decoration: underline;
    text-underline-offset: 2px;
    text-decoration-thickness: 1px;
}
.page-faqs .accordion-body a:hover,
.page-faqs .accordion-body a:focus{
    color: var(--primary-color);
}

/* Bandeau cookies : dimensions verrouillées sur ordinateur et tablette large */
@media (min-width: 768px){
    .cookies-banniere{
        left:24px !important;
        bottom:24px !important;
        width:400px !important;
        min-width:400px !important;
        max-width:400px !important;
        height:240px !important;
        min-height:240px !important;
        max-height:240px !important;
        box-sizing:border-box !important;
    }
}

/* Photo illustrative : conserver les couleurs naturelles. */
.service-intro-video-image.photo-sans-voile figure::before { content: none; }

/* Page 404 : lotus en harmonie avec les ornements du site. */
.erreur-lotus { display:flex; justify-content:center; align-items:center; gap:clamp(10px,3vw,40px); }
.erreur-lotus span { font-size:clamp(100px,20vw,230px); font-weight:600; line-height:1; color:var(--primary-color); }
.error-page-image .erreur-lotus img { width:clamp(120px,27vw,270px); height:auto; max-width:40%; }

/* Cours vidéo et abonnement mensuel. */
.video-page h1,.video-page h2,.video-page h3{color:var(--primary-color);letter-spacing:-.025em}
.video-hero{padding:210px 0 95px;background:var(--secondary-color)}
.video-hero-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}
.video-hero h1{font-size:clamp(42px,4.5vw,68px);line-height:1.08;margin:22px 0}
.video-lead{font-size:22px;line-height:1.6}.video-hero figure{margin:0;position:relative}.video-hero figure img{width:100%;height:560px;object-fit:cover;border-radius:220px 220px 24px 24px}.video-hero figcaption{margin-top:16px;text-align:center;font-size:15px}
.video-actions{display:flex;align-items:flex-start;flex-direction:column;gap:24px;margin:30px 0 22px}.video-text-link{color:var(--accent-color);font-weight:600}.video-small{font-size:14px;line-height:1.6;max-width:480px}
.video-section{padding:90px 0}.video-section-title{max-width:760px;margin-bottom:42px}.video-page h2{font-size:clamp(30px,3vw,46px);line-height:1.15;margin:16px 0 22px}.video-three{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.video-three article,.video-steps li{border:1px solid var(--divider-color);padding:32px;border-radius:22px}.video-three i{font-size:30px;color:var(--accent-color);margin-bottom:25px}.video-page h3{font-size:24px;line-height:1.25;margin-bottom:16px}.video-three p{margin:0}.video-soft{background:var(--secondary-color)}.video-steps{list-style:none;padding:0;margin:0}.video-steps span{display:block;color:var(--accent-color);font-size:34px;margin-bottom:22px}.video-center{text-align:center;margin-top:40px}.video-access{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:center}.video-access aside{background:var(--secondary-color);padding:36px;border-radius:24px}.video-access aside a{display:block;color:var(--accent-color);margin-top:12px}.video-faq{max-width:950px}.video-faq details{padding:24px 0;border-bottom:1px solid var(--divider-color)}.video-faq summary{font-size:21px;font-weight:600;cursor:pointer;color:var(--primary-color)}.video-faq details p{margin:18px 0 0}.video-faq a{color:var(--accent-color)}
@media(max-width:991px){.video-hero{padding-top:155px}.video-hero-grid{gap:35px}.video-hero figure img{height:440px}.video-three{gap:16px}.video-three article,.video-steps li{padding:24px}.video-access{gap:35px}}
@media(max-width:767px){.video-hero-grid,.video-three,.video-access{grid-template-columns:1fr}.video-hero{padding:140px 0 55px}.video-hero figure img{height:400px}.video-section{padding:55px 0}.video-lead{font-size:20px}.video-actions .btn-default{max-width:100%}}



/* Cours vidéo : même bandeau et mêmes repères que les pages intérieures. */
.page-cours-video .video-hero { padding:90px 0; background:var(--bg-color); }
.page-cours-video .video-title { font-size:clamp(36px,3.5vw,54px); line-height:1.12; margin:20px 0 24px; }
.page-cours-video .video-hero figure img { height:auto; aspect-ratio:3/2; object-fit:cover; border-radius:20px; }
.page-cours-video .video-hero-grid { gap:55px; }
@media(max-width:767px){.page-cours-video .video-hero { padding:55px 0; }.page-cours-video .video-hero-grid { gap:30px; }}

.page-cours-video .video-hero figure img { aspect-ratio:auto; width:100%; max-height:620px; object-fit:contain; border-radius:20px; }

/* Portrait des cours vidéo : angles arrondis sur la photo elle-même. */
.page-cours-video .video-hero figure { text-align:center; }
.page-cours-video .video-hero figure img { display:block; width:auto; max-width:100%; height:auto; max-height:620px; margin:0 auto; object-fit:initial; border-radius:20px; }

/* Aperçu Vimeo : capture réelle dans une fenêtre animée. */
.vimeo-promo{position:relative;padding:20px 0 45px;isolation:isolate;min-width:0}
.vimeo-promo-glow{position:absolute;inset:10% -7% 4%;z-index:-1;background:radial-gradient(ellipse at 30% 30%,rgba(209,66,0,.17),transparent 65%),radial-gradient(ellipse at 80% 80%,rgba(101,117,86,.18),transparent 65%);filter:blur(24px)}
.vimeo-screen{display:block;overflow:hidden;border-radius:20px;background:#fff;border:1px solid rgba(70,65,54,.12);box-shadow:0 30px 65px -22px rgba(41,33,22,.28),0 4px 12px rgba(41,33,22,.06);transform:perspective(1400px) rotateY(-5deg) rotateX(3deg);animation:vimeo-drift 8s ease-in-out infinite;transition:box-shadow .35s}
.vimeo-screen:hover{box-shadow:0 35px 75px -20px rgba(41,33,22,.34)}
.vimeo-screen-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;background:#fff;color:#646358;font-size:11px;border-bottom:1px solid #eee9e2}
.vimeo-window-dots{display:flex;gap:5px}.vimeo-window-dots i{width:7px;height:7px;border-radius:50%;background:#dcd7ce}.vimeo-window-dots i:first-child{background:#d14200}.vimeo-window-dots i:nth-child(2){background:#d8b884}.vimeo-window-dots i:nth-child(3){background:#a1ad94}
.vimeo-screen-lock{font-size:10px;color:#72796a}.vimeo-screen-lock i{margin-right:4px}
.vimeo-screen-picture{position:relative;overflow:hidden}.vimeo-screen-picture>img{display:block;width:100%;height:auto;max-width:100%;border-radius:0;transition:transform .7s}.vimeo-screen:hover .vimeo-screen-picture>img{transform:scale(1.025)}
.vimeo-preview-play{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);width:68px;height:68px;display:grid;place-items:center;border-radius:50%;color:#fff;background:rgba(209,66,0,.94);box-shadow:0 8px 30px rgba(0,0,0,.2);border:5px solid rgba(255,255,255,.65);font-size:20px;transition:background .3s}.vimeo-preview-play i{margin-left:3px}.vimeo-screen:hover .vimeo-preview-play{background:#ac3700}
.vimeo-preview-label{position:absolute;bottom:0;left:0;right:0;padding:35px 20px 16px;background:linear-gradient(transparent,rgba(24,29,23,.9));color:white;font-weight:500;font-size:14px;display:flex;justify-content:space-between;align-items:center}
.vimeo-float-card{position:absolute;bottom:45px;left:-22px;display:flex;gap:12px;align-items:center;padding:17px 23px;background:rgba(255,255,255,.96);border:1px solid #eee8df;border-radius:15px;box-shadow:0 16px 35px rgba(38,37,24,.12);animation:vimeo-badge 7s ease-in-out infinite}.vimeo-float-icon{color:var(--accent-color);font-size:28px}.vimeo-float-card strong{display:block;font-size:14px;color:var(--primary-color)}.vimeo-float-card div>span{font-size:12px;color:#7c7c70}
.vimeo-promo-caption{margin:40px 0 0;text-align:right;font-size:11px;line-height:1.5;color:#7b7c70}.vimeo-promo-caption>span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#8b9a7d;margin-right:5px}
@keyframes vimeo-drift{0%,100%{transform:perspective(1400px) rotateY(-5deg) rotateX(3deg) translateY(0)}50%{transform:perspective(1400px) rotateY(-2deg) rotateX(1deg) translateY(-9px)}}
@keyframes vimeo-badge{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}
@media(max-width:767px){.vimeo-promo{padding:12px 10px 42px}.vimeo-float-card{left:0;bottom:40px;padding:12px 16px}.vimeo-screen-bar{padding:12px 10px;gap:6px;font-size:10px}.vimeo-screen-lock{font-size:9px}.vimeo-promo-caption{margin-top:45px;text-align:center}.vimeo-preview-play{width:56px;height:56px;font-size:16px}}
@media(prefers-reduced-motion:reduce){.vimeo-screen,.vimeo-float-card{animation:none}.vimeo-screen,.vimeo-screen-picture>img{transition:none}}

/* Visibilité équilibrée : vidéos et séances individuelles. */
.deux-parcours{padding:90px 0;background:var(--bg-color)}.deux-parcours .section-title{max-width:850px;margin-bottom:40px}.parcours-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.parcours-card{border:1px solid var(--divider-color);border-radius:24px;overflow:hidden;background:var(--secondary-color);display:flex;flex-direction:column}.parcours-photo{display:block;position:relative;overflow:hidden}.parcours-photo img{width:100%;height:290px;object-fit:cover;object-position:center;transition:transform .5s}.parcours-card:hover .parcours-photo img{transform:scale(1.025)}.parcours-photo>span{position:absolute;left:22px;bottom:20px;background:#fff;padding:9px 15px;border-radius:30px;color:var(--primary-color);font-size:14px;font-weight:600}.parcours-photo i{color:var(--accent-color);margin-right:7px}.parcours-content{padding:32px;display:flex;flex-direction:column;flex:1}.parcours-kicker{display:block;color:var(--accent-color);font-size:14px;font-weight:600;margin-bottom:12px}.parcours-content h3{font-size:30px;margin:0 0 18px;line-height:1.2}.parcours-repere{font-size:14px;color:var(--primary-color);margin-top:8px}.parcours-actions{margin-top:auto;padding-top:16px;display:flex;align-items:flex-start;flex-direction:column;gap:18px}.parcours-download{color:var(--accent-color);font-weight:600;font-size:15px}.parcours-download small{font-size:12px;font-weight:400;margin-left:5px}.brochure-individuelle{padding:30px;background:var(--secondary-color);border:1px solid var(--divider-color);border-radius:20px;margin:35px 0}.brochure-individuelle h3{font-size:25px;line-height:1.25;margin-bottom:15px}.brochure-individuelle p{margin-bottom:22px}.brochure-individuelle>small{display:block;margin-top:12px;font-size:13px}
@media(max-width:767px){.deux-parcours{padding:55px 0}.parcours-grid{grid-template-columns:1fr}.parcours-content{padding:25px}.parcours-photo img{height:240px}.parcours-content h3{font-size:27px}.brochure-individuelle{padding:24px}}
@media(prefers-reduced-motion:reduce){.parcours-photo img{transition:none}}

.parcours-actions { min-height:112px; }
.parcours-photo img[src*='apercu-cours-vimeo'] { object-position:center top; }

/* Deux offres : même hiérarchie, un seul appel principal par carte. */
.parcours-grid{gap:32px}.parcours-card{background:var(--bg-color);border:1px solid var(--divider-color);box-shadow:0 7px 24px rgba(45,40,30,.035)}.parcours-photo img{height:260px}.parcours-photo>span{display:none}.parcours-content{padding:30px 32px 32px}.parcours-content h3{font-size:29px;margin-bottom:16px}.parcours-content>p:not(.parcours-repere){font-size:17px;line-height:1.65;max-width:480px;min-height:58px}.parcours-repere{font-size:13px;color:var(--text-color);padding-top:16px;border-top:1px solid var(--divider-color);margin:8px 0 0}.parcours-actions{min-height:0;margin-top:auto;padding-top:25px;gap:0}.parcours-brochure{display:flex;gap:22px;align-items:center;margin-top:28px;padding:25px 30px;background:var(--secondary-color);border-radius:18px}.parcours-brochure-icon{font-size:32px;color:var(--accent-color);flex-shrink:0}.parcours-brochure>div:nth-child(2){flex:1}.parcours-brochure strong{font-size:17px;font-weight:600;color:var(--primary-color)}.parcours-brochure p{font-size:14px;line-height:1.5;margin:5px 0 0}.parcours-brochure>a{flex-shrink:0;color:var(--accent-color);font-size:15px;font-weight:600;white-space:nowrap}.parcours-brochure>a i{margin-left:12px}.parcours-brochure small{display:block;font-size:11px;color:var(--text-color);font-weight:400;margin-top:5px}
@media(max-width:767px){.parcours-photo img{height:230px}.parcours-content{padding:25px}.parcours-content h3{font-size:26px}.parcours-content>p:not(.parcours-repere){min-height:0}.parcours-brochure{align-items:flex-start;flex-wrap:wrap;padding:24px;gap:16px}.parcours-brochure>div:nth-child(2){flex-basis:calc(100% - 60px)}.parcours-brochure>a{margin-left:48px}}

/* Éviter le cumul des espacements avec la section suivante. */
.deux-parcours { padding-bottom:0; }

/* Lotus discret dans la section accompagnement de l'accueil. */
.feature-image-box-royal::before { background-image:url('../images/section-bg-image-3.png'); background-size:contain; width:155px; height:165px; left:10px; bottom:35px; transform:none; }

/* Branche d'origine, adoucie pour s'accorder aux dessins clairs. */
.feature-image-box-royal::before { background-image:url('../images/section-bg-image-1.png'); width:105px; height:205px; left:45px; bottom:50px; transform:rotate(33deg); filter:sepia(1) saturate(.35) brightness(2.3); opacity:.45; }

.feature-image-box-royal::before { filter:sepia(1) saturate(.4) brightness(1.55); opacity:.85; }

.feature-image-box-royal::before { background-image:url('../images/branche-botanique-claire.png'); background-size:contain; filter:none; opacity:1; }

.feature-image-box-royal::before { opacity:.55; }

.lien-contextuel { text-decoration:underline; text-underline-offset:3px; }

/* Liens contextuels intégrés à la typographie du paragraphe. */
a.lien-contextuel, a.lien-contextuel:visited, a.lien-contextuel:hover, a.lien-contextuel:active { color:inherit; text-decoration:none; font-weight:inherit; }
a.lien-contextuel:focus-visible { outline:2px solid currentColor; outline-offset:3px; }
/* Parcours et enseignants : lecture guidée et cartes du modèle Team. */
.page-equipe-yoga .equipe-reperes{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 36px;padding:18px;background:var(--secondary-color);border-radius:18px}
.page-equipe-yoga .equipe-reperes a{display:block;padding:9px 13px;color:var(--primary-color);font-size:14px;border:1px solid var(--divider-color);border-radius:30px;background:var(--bg-color)}
.page-equipe-yoga .equipe-section{margin-bottom:55px;scroll-margin-top:120px}
.page-equipe-yoga .equipe-section h2{font-size:36px;margin-bottom:24px}
.page-equipe-yoga .equipe-section h3{font-size:24px;margin:30px 0 18px}
.page-equipe-yoga .equipe-section p{line-height:1.8;margin-bottom:22px}
.page-equipe-yoga .equipe-dates{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:28px 0}
.page-equipe-yoga .equipe-dates>div{padding:18px 20px;background:var(--secondary-color);border-radius:16px}
.page-equipe-yoga .equipe-dates strong{display:block;font-size:28px;color:var(--accent-color)}
.page-equipe-yoga .equipe-dates span{font-size:14px}
.page-equipe-yoga .equipe-citation{padding:25px 28px;border-left:3px solid var(--accent-color);background:var(--secondary-color);border-radius:0 16px 16px 0;margin:30px 0}
.page-equipe-yoga .equipe-citation p{font-size:19px;margin-bottom:10px}
.page-equipe-yoga .equipe-citation cite{font-size:14px;font-style:normal}
.page-equipe-yoga .equipe-qualifications{display:grid;gap:20px;margin-bottom:32px}
.page-equipe-yoga .equipe-qualifications article{padding:26px;border:1px solid var(--divider-color);border-radius:20px}
.page-equipe-yoga .equipe-qualifications h3{margin-top:0}
.page-equipe-yoga .equipe-qualifications ul,.page-equipe-yoga .equipe-partenaires{padding-left:20px;list-style:disc}
.page-equipe-yoga .equipe-qualifications li,.page-equipe-yoga .equipe-partenaires li{margin-bottom:12px;line-height:1.7}
.page-equipe-yoga .equipe-qualifications a,.page-equipe-yoga .equipe-partenaires a{color:var(--accent-color);text-decoration:underline;text-underline-offset:4px}
.page-equipe-yoga .equipe-enseignants{padding:100px 0;background:var(--secondary-color);scroll-margin-top:90px}
.page-equipe-yoga .equipe-enseignants .section-title{max-width:850px;margin-bottom:30px}
.page-equipe-yoga .enseignants-filtres{display:flex;flex-wrap:wrap;gap:10px}
.page-equipe-yoga .enseignants-filtres button{background:var(--bg-color);border:1px solid var(--divider-color);border-radius:30px;padding:10px 20px;color:var(--primary-color);font:inherit;min-height:44px;transition:background .2s}
.page-equipe-yoga .enseignants-filtres button.actif{background:var(--accent-color);color:white;border-color:var(--accent-color)}
.page-equipe-yoga .enseignants-compteur{font-size:14px;margin:20px 0}
.page-equipe-yoga .enseignants-grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px}
.page-equipe-yoga .enseignant-carte{margin:0;background:var(--bg-color);border-radius:24px;overflow:hidden;border:1px solid var(--divider-color);transition:transform .25s,box-shadow .25s}
.page-equipe-yoga .enseignant-carte[hidden]{display:none}
.page-equipe-yoga .enseignant-lien{display:block;height:100%;color:var(--primary-color)}
.page-equipe-yoga .enseignant-carte .team-item-image{position:relative;overflow:hidden;border-radius:0}
.page-equipe-yoga .enseignant-carte figure{margin:0;aspect-ratio:5/4;background:#eae5dc;display:flex;align-items:center;justify-content:center;border-radius:0;overflow:hidden}
.page-equipe-yoga .enseignant-carte figure img{width:100%;height:100%;object-fit:contain;aspect-ratio:auto;transition:transform .5s}
.page-equipe-yoga .enseignant-lotus figure{background:var(--bg-color)}
.page-equipe-yoga .enseignant-lotus figure img{width:65%;height:65%;object-fit:contain}
.page-equipe-yoga .enseignant-promotion{position:absolute;left:18px;bottom:16px;padding:7px 13px;background:var(--bg-color);border-radius:30px;font-size:12px;color:var(--primary-color)}
.page-equipe-yoga .enseignant-carte .team-item-content{padding:24px;text-align:left}
.page-equipe-yoga .enseignant-carte h3{font-size:25px;line-height:1.2;margin:0 0 10px}
.page-equipe-yoga .enseignant-carte p{font-size:14px;color:var(--text-color);margin:0 0 22px}
.page-equipe-yoga .enseignant-ouvrir{display:flex;align-items:center;justify-content:space-between;font-size:14px;color:var(--accent-color);font-weight:600}
.page-equipe-yoga .enseignant-carte:has(a):hover{transform:translateY(-5px);box-shadow:0 12px 30px #0000000d}
.page-equipe-yoga a:focus-visible,.page-equipe-yoga button:focus-visible{outline:2px solid var(--accent-color);outline-offset:4px}
@media(max-width:991px){.page-equipe-yoga .enseignants-grille{grid-template-columns:repeat(2,minmax(0,1fr))}.page-equipe-yoga .equipe-enseignants{padding:65px 0}}
@media(max-width:575px){.page-equipe-yoga .enseignants-grille{grid-template-columns:1fr;gap:22px}.page-equipe-yoga .equipe-section h2{font-size:29px}.page-equipe-yoga .equipe-reperes{gap:8px;padding:12px}.page-equipe-yoga .equipe-reperes a{font-size:13px}.page-equipe-yoga .equipe-qualifications article{padding:20px}.page-equipe-yoga .enseignants-filtres button{padding:9px 16px}.page-equipe-yoga .equipe-enseignants{padding:50px 0}}
@media(prefers-reduced-motion:reduce){.page-equipe-yoga .enseignant-carte,.page-equipe-yoga .enseignant-carte img{transition:none}}
.page-equipe-yoga .enseignant-carte{height:100%}
.page-equipe-yoga .enseignant-carte figure::before{content:none}
.page-equipe-yoga .enseignant-carte figure{cursor:inherit}
.page-equipe-yoga .enseignant-promotion{z-index:2}
/* Cadres uniformes, photos intégrales et alignement des cartes. */
.page-equipe-yoga .enseignant-lien{display:flex;flex-direction:column}
.page-equipe-yoga .enseignant-carte .team-item-image{aspect-ratio:4/3;flex:none;background:#eee9e1}
.page-equipe-yoga .enseignant-carte figure{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;background:transparent}
.page-equipe-yoga .enseignant-carte figure img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none!important}
.page-equipe-yoga .enseignant-carte .team-item-content{display:flex;flex-direction:column;flex:1;min-height:190px}
.page-equipe-yoga .enseignant-carte h3{min-height:2.4em}
.page-equipe-yoga .enseignant-ouvrir{margin-top:auto}
.page-equipe-yoga .enseignant-lotus figure img{width:60%;height:75%}
/* Halo diffus pour la lisibilité des titres sur les bandeaux photo. */
.page-header-box h1 { text-shadow:0 0 14px rgba(0,0,0,.70),0 0 32px rgba(0,0,0,.48),0 3px 12px rgba(0,0,0,.40); }
/* Prestations : les images restent dans leur cadre, sans masquer les textes. */
.page-services .service-item-list .service-card-link{display:flex;flex-direction:column;justify-content:flex-start;gap:22px;padding:28px;min-height:0;overflow:hidden}
.page-services .service-item-list .service-card-link .service-item-header{flex:1}
.page-services .service-item-list .service-card-link .service-item-image{position:relative!important;top:auto!important;right:auto!important;bottom:auto!important;left:auto!important;width:100%!important;height:220px!important;transform:none!important;border-radius:18px!important;order:3;flex:none}
.page-services .service-item-list .service-card-link .service-item-image figure{height:100%;border-radius:18px}
.page-services .service-item-list .service-card-link .service-item-image figure::before{content:none}
.page-services .service-item-list .service-card-link .service-item-number h2,.page-services .service-item-list .service-card-link .service-item-content h2{color:var(--primary-color)}
.page-services .service-item-list .service-card-link .service-item-content p{color:var(--text-color);opacity:1;visibility:visible}
.page-services .service-item-list .service-card-link .service-item-content{border-color:var(--divider-color)}
.page-services .service-item-list .service-card-link .icon-box{position:static;order:2}
@media(max-width:575px){.page-services .service-item-list .service-card-link{padding:24px}.page-services .service-item-list .service-card-link .service-item-image{height:210px!important}}
/* Prestations : cartes éditoriales, photographie en pied et rythme compact. */
.page-services .prestations-editoriales{row-gap:28px}
.page-services .prestations-editoriales>div{display:flex}
.page-services .service-item-list .prestation-editoriale{width:100%;height:100%;padding:26px;gap:0;background:#f6eee5;border:1px solid #e9ded1;box-shadow:none;transition:border-color .25s,transform .25s,box-shadow .25s}
.page-services .service-item-list .prestation-editoriale:hover{border-color:var(--accent-color);transform:translateY(-4px);box-shadow:0 12px 28px #51321b0b}
.page-services .service-item-list .prestation-editoriale .service-item-header{display:flex;flex-direction:column;flex:1;min-height:0!important}
.prestation-entete{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}
.prestation-symbole{width:48px;height:48px;display:flex;align-items:center;justify-content:center;border:1px solid #ddcbb9;border-radius:50%;color:var(--accent-color);font-size:23px;background:#fffaf4}
.prestation-numero{font-family:var(--accent-font);font-size:46px;font-weight:500;line-height:1;color:#c9b6a2;letter-spacing:-3px}
.prestation-intention{display:block;font-size:12px;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#86684f;margin-bottom:12px}
.page-services .service-item-list .prestation-editoriale .service-item-content{margin:0;padding:0;border:0;min-height:0!important}
.page-services .service-item-list .prestation-editoriale .service-item-content h2{font-size:26px;line-height:1.15;min-height:60px;margin:0 0 13px;color:var(--primary-color)}
.page-services .service-item-list .prestation-editoriale .service-item-content p{margin:0;font-size:16px;line-height:1.65;color:var(--text-color);min-height:80px}
.prestation-decouvrir{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding-top:22px;color:var(--accent-color);font-size:14px;font-weight:600}
.prestation-fleche{display:flex;align-items:center;justify-content:center;flex:none;width:35px;height:35px;border:1px solid #d9b89f;border-radius:50%;font-size:22px;transition:background .25s,color .25s,transform .25s}
.prestation-editoriale:hover .prestation-fleche,.prestation-video:hover .prestation-fleche{background:var(--accent-color);border-color:var(--accent-color);color:#fff;transform:rotate(8deg)}
.page-services .service-item-list .prestation-editoriale .service-item-image{height:185px!important;margin-top:23px;order:initial;border-radius:15px!important}
.page-services .service-item-list .prestation-editoriale .service-item-image figure{border-radius:15px}
.page-services .service-item-list .prestation-editoriale .service-item-image img{transform:none;transition:transform .55s}
.page-services .service-item-list .prestation-editoriale:hover .service-item-image img{transform:scale(1.035)}
.prestation-editoriale:focus-visible,.prestation-video:focus-visible{outline:3px solid var(--accent-color);outline-offset:5px}
.prestation-video{display:block;width:100%;margin-top:12px;border:1px solid #e2cfba;border-radius:24px;overflow:hidden;background:#eee0cf;color:var(--primary-color)}
.prestation-video-texte{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:end;padding:38px 40px}
.prestation-video h2{font-size:38px;line-height:1.12;margin:0;color:var(--primary-color)}
.prestation-video p{font-size:17px;line-height:1.7;margin:0;max-width:460px;color:var(--text-color)}
.prestation-video .prestation-decouvrir{padding-top:18px}
.prestation-video-photo{height:210px;position:relative;overflow:hidden;background:#d8c8b3}
.prestation-video-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%;filter:none;opacity:1;transition:transform .6s}
.prestation-video-photo>span{position:absolute;bottom:20px;left:40px;padding:9px 17px;border-radius:30px;background:#fffaf4;color:var(--primary-color);font-size:13px}
.prestation-video:hover .prestation-video-photo img{transform:scale(1.02)}
@media(max-width:767px){.page-services .service-item-list .prestation-editoriale{padding:23px}.page-services .service-item-list .prestation-editoriale .service-item-content h2{min-height:0;margin-bottom:16px}.page-services .service-item-list .prestation-editoriale .service-item-content p{min-height:0}.prestation-entete{margin-bottom:20px}.prestation-video-texte{grid-template-columns:1fr;gap:22px;padding:28px}.prestation-video h2{font-size:31px}.prestation-video-photo{height:190px}.prestation-video-photo>span{left:20px;bottom:16px}}
@media(prefers-reduced-motion:reduce){.prestation-editoriale,.prestation-fleche,.prestation-video img{transition:none!important;transform:none!important}}
/* Boutons des prestations : texte complet sur les petits mobiles. */
@media(max-width:767px){
 .prestation-video-texte>div{min-width:0}
 .prestation-decouvrir{min-width:0;max-width:100%}
 .prestation-decouvrir .btn-default{max-width:100%;white-space:normal;line-height:1.35;min-height:46px;font-size:14px;padding:14px 18px 14px 52px;text-transform:none}
 .prestation-decouvrir .btn-default:hover{padding:14px 52px 14px 18px}
}
/* Branche claire des prestations, orientation d'origine conservee. */
body:has(.prestations-editoriales) .our-feature-image-box::before{
 background-image:url('../images/branche-botanique-claire.png');
 background-size:contain;
 opacity:.55;
}
/* Apercu Vimeo : montrer la bande des cours plutot que son en-tete. */
.prestation-video-photo{height:260px}
.prestation-video-photo img{position:absolute;left:50%;top:50%;width:100%;min-width:760px;height:auto;max-width:none;transform:translate(-50%,-60%);object-fit:initial}
.prestation-video:hover .prestation-video-photo img{transform:translate(-50%,-60%) scale(1.02)}
.prestation-video-photo>span{display:none}
@media(max-width:767px){.prestation-video-photo{height:220px}}
@media(max-width:767px){
 .prestation-video-photo{height:180px}
 .prestation-video-photo img{transform:translate(-50%,-56%)}
 .prestation-video:hover .prestation-video-photo img{transform:translate(-50%,-56%) scale(1.02)}
}
