/* Frontend editor */
.ct-widget.ct-ignition { position:fixed; left:auto; top:auto; right:20px; bottom:20px; z-index:10000; transition:all 0.5s ease 0s; }
.ct-widget.ct-ignition .ct-ignition__button { position:static; margin-top:10px;}

.ce-element { outline:2px dashed rgba(243, 156, 18, 0.5); }
.ce-element--focused, .ce-element:focus { outline:2px dashed rgba(243, 156, 18, 1); }
/**
 * General Elements
 **/
html { scroll-behavior: smooth; }
body { font-family:'Crimson Pro'; font-size:1.125rem; color:#5d5d5d; }
body:before { content:''; position:fixed; left:0; top:0; width:100%; height:100%; background:rgba(0,0,0,0.9); opacity:0; pointer-events:none; transition:opacity 0.5s ease 0s; z-index:5; }

:focus, button:focus { outline:none; }


/* Images */
img, svg, video { max-width:100%; height:auto; }
[data-sizes] { display:block; width:100%; }
[data-bg] { background-size:cover; background-repeat:no-repeat; background-position:center center; }

/* Paragraphs */
p { margin-bottom:1em; }
p:last-child { margin-bottom:0; }

/* Link */
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:none; color:var(--pink); }

/* Lists */
ul, ol { margin-bottom:0; padding:0; list-style:none; }
.text ul > li { position:relative; padding-left:20px; margin-bottom:10px; }
.text ul > li:before { content:url(../themes/estellebeaute/assets/img/puce.svg); position:absolute; left:0; }

/* Forms */
.invalid-feedback.visible { display:block !important; }

/* buttons */
button { border:none; background:none; padding:0; }

/* Titles */
h1, .h1 { font-family:'Crimson Pro'; font-size:5rem; font-weight:500; text-transform:uppercase; margin-bottom:1em; letter-spacing: 0.1em; color:var(--dark)}
h2, .h2 { font-family:'Crimson Pro'; font-size:1.563rem; font-weight:500; text-transform:uppercase; margin-bottom:1em; letter-spacing:2px; color:var(--dark)}
h3, .h3 { font-family:'Crimson Pro'; font-size:1.563rem; font-weight:500; text-transform:uppercase; margin-bottom:1em; letter-spacing:2px; color:var(--dark)}

.sign { font-family:'BillieSight'; color:var(--pink); text-transform:none; letter-spacing:0; }

/* Tables */

/* Quote */
blockquote { text-align:center; }
blockquote img { margin-bottom:var(--spacing); }
blockquote p { font-size:2.875rem; text-transform:uppercase; margin-bottom:1em; letter-spacing: 0.1em; }
blockquote footer { font-family:'Poppins'; font-size:1rem; text-transform:uppercase; letter-spacing: 0.27em; }

/**
 * Layout
 **/

 /* Global */
#page { position:relative; width:100%; overflow:hidden; }
#main { margin-top:90px; }

/* Header */
#header { backdrop-filter:blur(15px); position:fixed; left:0; top:0; width:100%; z-index:20; transition: all 0.5s ease 0s; background:rgba(255,255,255,0.5); }
#header .mainrow { height:90px; }
#header .navigation { display:flex; flex-direction:row; align-items:center; justify-content:flex-end; }
#header .hamburger { min-width:25px; height:13px; position:relative; margin-left:5vw; position:relative; z-index: 17; }
#header .hamburger:before,
#header .hamburger:after { content:''; position:absolute; display:block; width:100%; height:4px; border-radius:10px; background:var(--dark); transition:all 0.5s ease 0s; }
#header .hamburger:before { top:0; }
#header .hamburger:after { bottom:0; }
#header .hamburger.is-active:before { top:calc(100% - 4px); }
#header .secondary { font-family:'Poppins'; }
#header .secondary ul { display:flex; flex-direction:row; align-items:center; justify-content:center; }
#header .secondary li { margin-left:5vw; }
#header .secondary a { text-transform:uppercase; font-size:0.938rem; letter-spacing:0.27em; }
#header .booksy-business-link { display:none; }

#header.pinned { transform:translateY(0); }
#header.unpinned { transform:translateY(-100%); }

#header .booksy-widget-container-dialog { height:auto; }

#overlay { position:fixed; left:0; top:0; width:100%; background:#fff; z-index: 15; transform:translateY(-100%); transition:all 0.5s ease 0s; }
#overlay .container-lg { min-height:100vh; display:flex; flex-direction:column; align-items:stretch; justify-content: space-between; }
#overlay .top { margin-bottom:calc(var(--spacing) / 2); }
#overlay .menu .level-1 { margin-bottom:1em; }
#overlay .menu .level-1 > a { font-size:1.563rem; text-transform:uppercase; font-weight:500; color:var(--grey); transition:all 0.3s ease 0s; display:inline-flex; flex-direction:row; align-items:center; justify-content:flex-start; white-space:nowrap; position:relative; left:0; letter-spacing:0.1em; }
#overlay .menu .level-1 > a img { position:fixed; left:50%; top:50%; transform:translate(-50%, -50%); height:100%; object-fit:contain; max-width:30%; opacity:0;  background:#fff; pointer-events: none; z-index:12;}
#overlay .menu .level-1 > a svg { margin-left:10px; fill:var(--grey); transition:all 0.3s ease 0s; min-width:8px; }
#overlay .menu .level-1.active > a { font-style:italic; color:#302A2A; }
#overlay .menu .level-1 > a:hover { color:var(--pink); }
#overlay .menu .with-submenu:hover a { color:var(--dark); left:10px; }
#overlay .menu .level-1 > a:hover svg,
#overlay .menu .with-submenu:hover > a svg { fill:var(--dark); }
#overlay .menu .level-1 > a:hover img { opacity:1; }
#overlay .menu .with-submenu { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
#overlay .menu .submenu { display:flex; flex-direction:row; align-items:center; justify-content:space-evenly; width:100%; position:relative; z-index:8; }
#overlay .menu .level-2 { opacity:0; transition:all 0.5s ease 0s; position:relative; top:10px; }
#overlay .menu .level-2 > a { font-size:0.938rem; font-family: Poppins; font-weight:500; text-transform:uppercase;  }
#overlay .menu .level-2 > a:hover { color:var(--pink); }
#overlay .bottom { font-family:'Poppins'; font-size:0.75rem; color:var(--grey); }
#overlay .bottom ul { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
#overlay .bottom li { margin-right:30px; }

#overlay .menu .level-2:nth-child(1) { transition-delay:0.15s; }
#overlay .menu .level-2:nth-child(2) { transition-delay:0.30s; }
#overlay .menu .level-2:nth-child(3) { transition-delay:0.45s; }
#overlay .menu .level-2:nth-child(4) { transition-delay:0.60s; }
#overlay .menu .level-2:nth-child(5) { transition-delay:0.75s; }
#overlay .menu .level-2:nth-child(6) { transition-delay:0.90s; }
#overlay .menu .level-2:nth-child(7) { transition-delay:0.105s; }
#overlay .menu .level-2:nth-child(8) { transition-delay:0.120s; }
#overlay .menu .with-submenu:hover .level-2 { opacity:1; top:0; }

#overlay .socials { display:flex; flex-direction:row; align-items:center; justify-content:center; margin:30px 0 15px 0;}
#overlay .socials a { margin:0 10px; }

#overlay .block { margin-bottom:calc(var(--spacing) / 2); border-left:1px solid var(--pink); padding-left:15px;  }
#overlay .block strong { font-family:'Poppins'; font-weight:400; text-transform:uppercase; font-size:0.938rem; letter-spacing:4px; display:block; margin-bottom:10px; }
#overlay .block em { color:var(--pink); font-style:normal; }

#overlay.is-mobile .menu .level-1 > a img { display:none !important; }

body.open #overlay { transform:translateY(0); }
body.open:before { opacity:1; pointer-events: auto; }
body.open #header { transform:translateY(0) !important; }


/* Footer */
#footer .more { letter-spacing:0.27em; }

/**
 * Bootstrap overrides
 **/
.container-fluid { padding-left:100px; padding-right:100px; }

/* Buttons */
.btn { border-radius:0; padding:0.5em 1em; font-size:0.625rem; font-weight:400; text-transform:uppercase; font-family:'Poppins'; letter-spacing:2px; }
.btn-outline-primary { border-color:var(--pink); color:var(--pink); }
.btn-outline-primary:hover { background:var(--pink); color:#fff; border-color:var(--pink); }

.btn-outline-secondary { border-color:transparent; color:var(--pink); }
.btn-outline-secondary:hover { border-color:var(--pink); background-color:transparent; color:var(--pink); }

.btn-lg { padding:1rem 2rem; font-size:1rem; }

/* Forms */
.form-floating { position:relative; }
.form-floating:before { content:''; position:absolute; left:0; bottom:0; width:100%; height:1px; background:#9B9B9B; }
.form-floating:after { content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:#000; transition:all 0.5s ease 0s; }
.form-floating .form-control { border:none; border-radius:0; padding:0; }
.form-floating .form-control:focus { box-shadow:none; }
.form-floating label { padding-left:0; padding-right:0; color:#9B9B9B; font-size:1.063rem; }
.form-floating > .form-control:focus ~ label, 
.form-floating > .form-control:not(:placeholder-shown) ~ label, 
.form-floating > .form-select ~ label { transform:scale(0.85) translateY(-1rem); }

.form-floating:focus-within:after { width:100%; }

.invalid-feedback { margin-top:0; margin-bottom:1em; }

.form-check-input:checked { background-color:var(--pink); border-color:var(--pink); }
.form-check-input:focus { box-shadow:none; }

/**
 * Page specific
 **/

/* General Styling */
:root {
    --spacing: 10vmin;
    --dark: #302A2A;
    --pink: #EF818B;
    --grey: #9B9B9B;
    --beige: #EBD8D0;
    --fullheight: calc(100vh - 90px);
}

.padding { padding-top:var(--spacing); padding-bottom:var(--spacing); }
.padding-sm { padding-top:calc(var(--spacing) / 2); padding-bottom:calc(var(--spacing) / 2); }
.padding-xl { padding-top:calc(var(--spacing) * 2); padding-bottom:calc(var(--spacing) * 2); }

.margin { margin-top:var(--spacing); margin-bottom:var(--spacing); }
.margin-sm { margin-top:calc(var(--spacing) / 2); margin-bottom:calc(var(--spacing) / 2); }
.margin-xl { margin-top:calc(var(--spacing) * 2); margin-bottom:calc(var(--spacing) * 2); }

.images.hover { position:relative; }
.images.hover.right { padding-right:50px; text-align:left; }
.images.hover.left { padding-left:50px; text-align:right; }
.images.hover.left img:first-child { position:absolute; left:0; bottom:0; max-width:40%; z-index: 1; }
.images.hover.left img:last-child { filter:blur(5px); }
.images.hover.right img:last-child { position:absolute; right:0; bottom:0; max-width:40%; z-index: 1; }
.images.hover.right img:first-child { filter:blur(5px); }

.images.aside { position:relative; }
.images.aside img { display:inline-block; }
.images.aside.right img:last-child { position:absolute; left:calc(100% + 30px); }
.images.aside.left img:first-child { position:absolute; right:calc(100% + 30px); }

.more { font-family:'Poppins'; text-transform:uppercase; display:inline-flex; flex-direction:row; align-items:center; justify-content:flex-start; margin-top:2em; font-size:0.938rem; padding-right:20px; color:var(--grey); transition:all 0.5s ease 0s; letter-spacing: 0.27em; }
.more:before { content:''; width:6px; height:9px; background:url(../themes/estellebeaute/assets/img/chevron-right-p.svg) no-repeat center center / contain; order:2; position:relative; left:5px; filter:grayscale(1); transition:all 0.5s ease 0s; }
.more:hover { color:var(--pink); }
.more:hover:before { left:10px; filter:grayscale(0) }

.moredot { position:relative; width:32px; height:32px; margin:1rem auto; }
.moredot:before,
.moredot:after { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); }
.moredot:before { content:''; width:10px; height:10px; background:var(--pink); border:1px solid var(--pink); border-radius:100%; transition:all 0.5s ease 0s; }
.moredot:after { content:''; background:url(../themes/estellebeaute/assets/img/chevron-right-p.svg) no-repeat center center / contain; width:9px; height:13px; opacity:0; transition:all 0.5s ease 0.2s; }
.moredot:hover:before, 
a:hover .moredot:before,
a.active .moredot:before { width:30px; height:30px; background:transparent; }
.moredot:hover:after,
a:hover .moredot:after,
a.active .moredot:after { opacity:1; }


.swiper-navigation { display:inline-flex; flex-direction:row; align-items:center; justify-content: center; margin-top:calc(var(--spacing) / 2); }
.swiper-navigation button { width:45px; height:45px; border:1px solid var(--grey); display:inline-flex; align-items:center; justify-content:center; border-radius:100%; transition:all 0.5s ease 0s; }
.swiper-navigation svg { transition:all 0.5s ease 0s; }
.swiper-navigation .prev { margin-right:15px; cursor:pointer; }
.swiper-navigation .next { margin-left:15px; cursor:pointer; }
.swiper-navigation button:hover { background:var(--grey); }
.swiper-navigation button:hover svg { fill:#fff; }

.slider { position:relative; }
.slider .swiper-navigation { position:absolute; z-index: 1; left:0; top:50%; width:100%; display:flex; flex-direction:row; align-items:center; justify-content:space-between; transform:translateY(-50%); margin-top:0; }
.slider .swiper-navigation .prev { margin-left:-50px; }
.slider .swiper-navigation .next { margin-right:-50px; }

/* Accueil */
#accueil #intro { font-size:5rem; padding-top:calc(var(--spacing) + 2em); }
#accueil #intro-animation { position:relative; }
#accueil #intro .left .force-opacity,
#accueil #intro .right .force-opacity { opacity:1 !important; }
#accueil #intro .title { position:absolute; z-index:2; top:-2em; width:100%; text-align: center; }
#accueil #intro .title .text { transition:all 1s ease 0s; }
#accueil #intro .title .sign { font-family:'BillieSight'; text-transform:none; transform:rotate(-5deg); margin-top:30px; color:#fff;  }
#accueil #intro .title.fade { opacity:1; }
#accueil #intro .title.fade .text { opacity:0; }
#accueil #intro .center .image { position:absolute; left:0; top:0; width:100%; height:100%; }
#accueil #intro .center .image img { position:absolute; left:50%; top:0; width:100%; height:100%; object-fit:cover; transform:translateX(-50%); opacity:1; }
#accueil #intro .menu { position:absolute; top:50%; left:50%; width:100vw; z-index:2; transform:translate(-50%, -50%); opacity:0; }
#accueil #intro .menu a { display:block; position:relative; color:var(--dark); }
#accueil #intro .menu h2 { position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); font-size:18rem; color:var(--dark); z-index:1; opacity:0.15; filter:blur(10px); margin:0; }
#accueil #intro .menu h3 { font-size:2.8rem; margin:0; line-height:0.8em; position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); z-index:2; }
#accueil #intro .menu .text { text-transform:uppercase; }
#accueil #intro .menu .sign { font-size:4.3rem; transform:rotate(-3deg); position:relative; left:0.9em; bottom:0.1em; text-transform:lowercase; }
#accueil #intro .menu ul { position:relative; z-index:2; }
#accueil #intro .menu .bg { opacity:0; transition:all 0.5s ease 0s; }
#accueil #intro .menu a:hover .bg { opacity:0.75; }
#accueil #intro .menu .moredot:before { transition:all 0.5s ease 0.2s; }
#accueil #intro .menu .moredot:after { transition:all 0.5s ease 0.4s; }
#accueil #intro .menu a:hover .moredot:before { width:30px; height:30px; background:transparent; }
#accueil #intro .menu a:hover .moredot:after { opacity:1; }

#accueil #marques .item { padding:calc(var(--spacing) * 1.5); color:#fff; height:auto; }
#accueil #marques .item * { transition:opacity 1s ease 0s; }
#accueil #marques .item:before { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background:#000; opacity:0; z-index:-1; }
#accueil #marques .h2 { font-size:2.875rem; color:var(--dark); transition:all 0.5s ease 0s; margin-top:1em; }
#accueil #marques .text { z-index:1; }
#accueil #marques .inner { opacity:0; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-start; height:100%; }
#accueil #marques .number { color:var(--pink); font-family:'Poppins'; }
#accueil #marques .more { color:#fff; }
#accueil #marques .bg { position:absolute; left:0; top:0; width:100%; height:100%; object-fit:cover; z-index:-2; opacity:0; }
#accueil #marques .logo { margin-top:calc(var(--spacing) * 2); text-align:center; filter:brightness(0) invert(1); transition:all 0.5s ease 0s;}
#accueil #marques .description { font-size:1.063rem; line-height:1.6464em; }
#accueil #marques .more:before,
#accueil #marques .more:hover:before { filter:brightness(0) invert(1); }
#accueil #marques .item:hover .h2,
#accueil #marques .item:hover .number,
#accueil #marques.is-mobile .item .h2,
#accueil #marques.is-mobile .item .number { color:#fff; }
#accueil #marques .item:hover:before,
#accueil #marques.is-mobile .item:before { opacity:0.35; }
#accueil #marques .item:hover .bg,
#accueil #marques.is-mobile .item .bg { opacity:1; }
#accueil #marques .item:hover .inner,
#accueil #marques.is-mobile .item .inner { opacity:1; }
#accueil #marques .slider .swiper-navigation button { border-color:#fff; }
#accueil #marques .slider .swiper-navigation button svg { fill:#fff; }
#accueil #marques .slider .swiper-navigation .prev { margin-left:50px; }
#accueil #marques .slider .swiper-navigation .next { margin-right:50px; }


#accueil #videos .row { padding-top:calc(var(--spacing) / 2); padding-bottom:calc(var(--spacing) / 2); }
#accueil #videos .row:nth-child(even) .video { order:1; }
#accueil #videos .row:nth-child(even) .text { order:2; }


/* Institut */
#institut #intro .image { visibility:hidden; }
#institut #intro .title { text-align: center; margin-bottom:0; }
#institut #intro .title:after { content:''; display:block; margin:1em auto -1em auto; width:1px; height:150px; background:var(--pink); }
#institut #intro .mid .center h2 { display:none; }
#institut #intro .subtitle { margin:1em 0 0 0; position:relative; left:100px; }
#institut #intro .row { --bs-gutter-x: 100px; }
#institut #intro .col { margin-bottom:150px; }
#institut #intro .left,
#institut #intro .right { position:relative; top:150px; }
#institut #intro .force-opacity { opacity:1 !important; transform:none !important; }
#institut #intro .center { display:flex; flex-direction:column; align-items:stretch; justify-content:center;  }
#institut #intro .center h2 { position:absolute; bottom:-2em; }
#institut #intro .center .image { position:absolute; left:0; top:0; width:100%; height:80vh; overflow:hidden; }
#institut #intro .center .image img { position:absolute; left:50%; top:50%; width:100vw; height:100vh; max-width:none; object-fit:cover; object-position:center top; transform:translate(-50%, -50%); opacity:1; /*max-height:100vh;*/ }
#institut #intro .center .image .backdrop { content:''; position:absolute; left:0; top:0; width:100%; height:100%; z-index: 2; }
#institut #intro .credo { position:absolute; left:0; top:100%; width:100%; text-align:center; z-index:2; font-size:1rem; color:#fff; text-transform: uppercase; }
#institut #intro .credo .container { padding:0; }
#institut #intro .credo .uppertitle { font-size:0.938rem; font-family:Poppins; letter-spacing: 0.27em;  }
#institut #intro .credo .quote { font-size:2.813rem; margin-top:1em; letter-spacing: 0.1em; }

#institut #soins .row:last-child .image img { width:calc(100% + 8vw); max-width:none; }

#institut #experts h2 { margin-bottom:2em; }
#institut #experts .row { --bs-gutter-x: 100px; position:relative; }
#institut #experts .bg { background:var(--beige); position:relative; padding-bottom:calc(var(--spacing) * 2) }
#institut #experts .bg:before { content:''; position:absolute; left:0; top:0; width:100%; height:100px; background:#fff;  }
#institut #experts .name { margin:1em 0 0 0; text-transform:uppercase; font-size:2.5rem; position:relative; z-index: 1;}
#institut #experts .sign { font-size:4rem; margin-left:1em; margin-top:-0.5em; text-transform:lowercase; }
#institut #experts .swiper-slide { padding:0 40px; }

#institut #marques h2 { margin-bottom:2em; }
#institut #marques .row { --bs-gutter-x: 100px; position:relative; }
#institut #marques .record { display:block; }
#institut #marques .logo { width:420px; height:380px; object-fit: contain; background:var(--beige); padding:30px; }
#institut #marques .swiper-slide { padding:0 15px; }

#institut #avis { position:fixed; right:0; bottom:0; }
#institut .ct-widget.ct-ignition { bottom:100px; }

/* Marques */
#marques #intro .slider { padding:0 30px; }
#marques #intro .sign { font-size:3.375rem; transform:rotate(-5deg); }
#marques #intro .row { --bs-gutter-x: 100px; }
#marques #intro .logo { margin-top:var(--spacing); max-width:60%; margin-left:auto; margin-right:auto; }
#marques #intro .overlay { position:absolute; left:0; top:0; width:100%; height:100%; z-index:2; background:rgba(0,0,0,0.5); display:flex; align-items:center; justify-content: center; color:#fff; text-transform:uppercase; opacity:0; transition:all 0.7s ease 0s; }
#marques #intro .overlay:hover { opacity:1; }

#marques #details .logo { margin-bottom:var(--spacing); }

#marques #details .images .swiper { position:absolute; }
#marques #details .record .images { position:relative; }
#marques #details .images .bg { filter:blur(5px); }
#marques #details .record .images .swiper { max-width:50%;  }
#marques #details .record:nth-child(odd) .images { order:1; padding-right:100px; }
#marques #details .record:nth-child(odd) .text { order:2; }
#marques #details .record:nth-child(odd) .images .swiper { right:0; bottom:0; }
#marques #details .record:nth-child(even) .images { order:2; padding-left:100px; }
#marques #details .record:nth-child(even) .text { order:1; }
#marques #details .record:nth-child(even) .images .swiper { left:0; bottom:0; }

/* Tarifs */
#tarifs #section {  }
#tarifs #section .mainrow { --bs-gutter-x: 100px; }

#tarifs #images img { margin-bottom:30px; }
#tarifs #categories h2 { font-size:2.2rem; margin-bottom:1em; }
#tarifs #categories .item { margin-bottom:1em; }
#tarifs #categories .item .link { display:inline-flex; flex-direction:row; align-items:flex-start; justify-content:flex-start; }
#tarifs #categories .item .name { margin-bottom:0; }
#tarifs #categories .item .sign { font-size:2.375rem; margin:-0.5em 0 0 1em; transform:rotate(-5deg); }
#tarifs #categories .item .moredot { margin-right:1em; }

#tarifs #soins { }
#tarifs #soins h3 { margin:4em 0 2em 0; }
#tarifs #soins .infos { width:70%; }
#tarifs #soins .metas { width:15%; text-align: right; padding-right:30px; }
#tarifs #soins .link { width:15%; }
#tarifs #soins .table,
#tarifs #soins .name { font-size:1.063rem; margin-bottom:0; line-height:1.2em; }
#tarifs #soins .trigger { color:var(--grey); display:flex; flex-direction:row; align-items:center; justify-content: flex-start;  }
#tarifs #soins .trigger,
#tarifs #soins .duration { font-size:0.938rem; }
#tarifs #soins .caret { margin-left:10px; transition:all 0.5s ease 0s; transform:rotate(180deg); }
#tarifs #soins .details { font-family:'Poppins'; font-size:0.8rem; color:var(--grey); }
#tarifs #soins .trigger.collapsed .caret { transform:rotate(0deg); }
#tarifs #soins .duration { color:var(--grey); }
#tarifs #soins tr,
#tarifs #soins td { border:none; }
#tarifs #soins .bottom td { padding-top:0; padding-bottom:1em; }

/* Services */
#services #main { margin-top:0; }
#services #banner { display:flex; flex-direction:column; align-items:stretch; justify-content:flex-end; min-height:700px; height:70vh; }
#services #banner:before { content:''; position:absolute; left:0; top:0; width:100%; height:100%; background: linear-gradient(0deg, rgba(255,255,255,1) 0%, rgba(255,255,255,0) 80%); z-index:2; pointer-events:none; }
#services #banner .container { position:relative; z-index: 2;}

#services #content .title { margin-top:10rem; }
#services #content .title h2 { font-size:2.875rem; }
#services #content .title .number { font-size:20rem; color:var(--pink); opacity:0.2; position:absolute; left:0; width:100%; top:50%; transform:translateY(-60%); z-index: -1;}
#services #content .content:first-of-type { margin-top:0; }
#services #content .content .number { font-size:1.875rem; margin-bottom:1em; padding-left:30%;}
#services #content .content .text { padding:0 var(--spacing); }
#services #content .content .media { position:relative; }
#services #content .content video { width:100%; }
#services #content .content.odd .text { order:1; }
#services #content .content.odd .media { order:2; }
#services #content .content.even .text { order:2; }
#services #content .content.even .media { order:1; }

/* Bons cadeaux */
#bons-cadeaux #cheque .image img { display:none; }
#bons-cadeaux #cheque .image .desktop { display:block; }
#bons-cadeaux #cheque .soin { position:absolute; left:44%; top:28%; width:25%; height:12%; }
#bons-cadeaux #cheque .soin .form-select { border:none; background:transparent; height:100%; }
#bons-cadeaux #cheque .soin .form-select:focus { box-shadow:none; }
#bons-cadeaux #cheque .soin:after { content:''; position:absolute; right:0; top:50%; transform:translateY(-50%); width:20px; height:10px; background:url(../themes/estellebeaute/assets/img/caret.svg) no-repeat center center / contain; }
#bons-cadeaux #cheque .cible { position:absolute; left:52.3%; top:44%; width:18%; height:6.5%; }

#bons-cadeaux #cheque .cible .form-control { background:transparent; border:none; height:100%; }
#bons-cadeaux #cheque .cible .form-control:focus { box-shadow:none; }

#bons-cadeaux #summary .table td { vertical-align: top; }

#commande h1 { margin-bottom:0.5em; }

/* Contact */
#contact #page { overflow:unset; }
#contact #main { margin-top:0; }
#contact #form .image { position:sticky; top:0; }
#contact #form .image img { position:absolute; left:0; top:0; width:100%; height:100%; object-fit: cover; }
#contact #form .form { padding:calc(var(--spacing)); margin-top:90px; }
#contact #form .form .more { margin-top:0; }

#contact #infos .phones a { font-size:1.563rem; color:#5D5D5D; }
#contact #infos .schedules .row > div:first-child { font-family:'Poppins'; font-weight:500; font-size:0.936rem; letter-spacing: 0.27em; text-transform: uppercase; }

#contact #infos .gmap { margin-top:1em; }
#contact #infos .gmap .more a{ font-size:1rem; }
/**
 * XXL
 **/
@media (min-width: 1400px) {

}

/**
 * XL
 **/
@media (max-width: 1399px) {
    h1, .h1 { font-size:4rem; }
    h2, .h2 { font-size:1.4rem; }
    
    blockquote p { font-size:2.3rem; }

    .container-fluid { padding-left:60px; padding-right:60px; }

    #header .secondary li { margin-left:2.5vw; }

    #accueil #intro { font-size:4rem; }
    #accueil #intro .menu h2 { font-size:13rem; }
    #accueil #intro .menu h3 { font-size:2.3rem; }
    #accueil #intro .menu .sign { font-size:3.5rem; }

    #accueil #marques .item { padding:var(--spacing); }
    #accueil #marques .h2 { font-size:2.5rem; }

    #tarifs #categories h2 { font-size:2rem; }
    #tarifs #section .mainrow { --bs-gutter-x:50px; }

    #contact #form .form { padding:calc(var(--spacing) / 2); }

    #institut #intro .title:after { height:100px; margin:0.5em auto -1em auto; }
    #institut #intro .row { --bs-gutter-x:50px; }
    #institut #intro .credo .quote { font-size:2.4rem; }

    #institut #marques .logo { height:300px; }

    #marques #intro .sign { font-size:3rem; }

}

/**
 * LG
 **/
@media (max-width: 1199px) {
    .container-fluid { padding-left:30px; padding-right:30px; }

    #accueil #marques .item { padding:calc(var(--spacing) / 2)}
    #accueil #marques .h2 { font-size:2rem; } 

    #services #content .content.odd .text { padding-left:0; }
    #services #content .content.even .text { padding-right:0; }

    #institut #intro .subtitle { font-size:1rem; }
    #institut #intro .left .subtitle { text-align:right; }
    #institut #intro .row { --bs-gutter-x: 30px; }
    #institut #intro .col { margin-bottom:100px; }

    #institut #experts .name { font-size:2rem; }
    #institut #experts .sign { font-size:3rem; }

    #institut #marques .logo { height:250px; }

    #marques #details .logo { margin-bottom:1em; }

    .slider .swiper-navigation {top: initial; bottom: 0%;}
}

/**
 * MD
 **/
@media (max-width: 991px) {
    blockquote p { font-size:2rem; }

    #overlay .menu .with-submenu { position:relative; display:block; }
    #overlay .menu .submenu { flex-direction:column; position:absolute; right:0; top:50%; transform:translateY(-50%); width:auto; }

    #header .secondary li:first-child { display:none; }
    #header .secondary a { letter-spacing:1px; }

    #accueil #intro .menu h2 { font-size:10rem; }

    #services #content .content .number { display:none }
    #services #content .content.odd .text { padding-right:15px; }
    #services #content .content.even .text { padding-left:15px; }

    #bons-cadeaux #cheque .image .desktop { display:none; }
    #bons-cadeaux #cheque .image .tablet { display:block; }
    #bons-cadeaux #cheque .soin { left:54%; width:34%; }
    #bons-cadeaux #cheque .cible { left:64%; width:26%; }

    #institut #intro .credo .quote { font-size:1.8rem; }

    #marques #intro .sign { font-size:2.5rem; }
}

/**
 * SM
 **/
@media (max-width: 767px) {
    h1, .h1 { font-size:3rem; }
    .container-fluid { padding-left:15px; padding-right:15px; }

    .images.hover,
    .images.aside { margin-bottom:15px; }
    .images.hover.right img:last-child { right:15px; bottom:50%; transform:translateY(50%); }
    .images.hover.left img:first-child { left:15px; bottom:50%; transform:translateY(50%); }

    #overlay .bottom { text-align:center; }
    #overlay .bottom ul { margin-bottom:30px;  }


    #accueil #intro { font-size:3rem; }
    #accueil #intro .menu h2 { font-size:7rem; }
    #accueil #intro .menu h3 { font-size:1.8rem; }
    #accueil #intro .menu .sign { font-size:2.5rem; }

    #accueil #marques .h2 { font-size:1.6rem; }

    #accueil #soins .images { order:1; }
    #accueil #soins .text { order:2; }
    #accueil #videos .video { order:1; margin-bottom:15px; }
    #accueil #videos .text { order:2; }

    #tarifs #section .mainrow { --bs-gutter-x:none; }
    #tarifs #categories { padding:0 15px; margin-bottom:30px; }
    #tarifs #categories h2 { text-align:center; }
    #tarifs #categories ul { display:flex; flex-direction:row; flex-wrap:wrap; }
    #tarifs #categories .item { margin:0 15px 0 0; }
    #tarifs #categories .item h3 { font-size:1.2rem; }
    #tarifs #categories .item .sign { display:none; }
    #tarifs #categories .item .moredot { margin:0 1rem 0 0; }
    #tarifs #categories .item .link { align-items:center; }
    #tarifs #soins { padding:0 30px; }
    #tarifs #soins .position-absolute { position:static !important; padding:0 15px; }
    #tarifs .position-fixed { position:static !important; }

    #services #content .content .media { order:1 !important; margin-bottom:15px; }
    #services #content .content .text { order:2 !important; padding:0 !important; }

    #contact #form .image { position:static; max-height:50vh; }
    #contact #form .image img { position:static; }
    #contact #form .form { margin-top:0; }

    #bons-cadeaux #cheque .image .tablet { display:none; }
    #bons-cadeaux #cheque .image .phone { display:block; }
    #bons-cadeaux #cheque .soin { left:6%; width:82%; height:15%; }
    #bons-cadeaux #cheque .cible { left:31%; width:57%; top:48%; }

    #institut #intro .col { margin-bottom:50px; }
    #institut #experts .name { font-size:1.6rem; }
    #institut #experts .sign { font-size:2.5rem; }
    #institut #experts .swiper-wrapper { justify-content: flex-start !important; }
    #institut #experts .swiper-slide { padding:0; }

    #institut #marques .logo { width:auto; }

    #institut #soins .image { margin-bottom:15px; }
    #institut #soins .images { order:1; margin-bottom:15px; display:flex; flex-direction:row; align-items:flex-end; justify-content:center; }
    #institut #soins .images img { position:static !important; transform:none !important; }
    #institut #soins .text { order:2; }

    #marques #details .images { display:flex; flex-direction:row; align-items:center; justify-content:center; padding:0 15px !important; order:1 !important; }
    #marques #details .images > img,
    #marques #details .images > .swiper { max-width:50%; position:static; }
    #marques #details .logo { margin:1em 0; }
    #marques #details .text { order:2 !important; }

    .slider .swiper-navigation .prev { margin-left:0px; }
    .slider .swiper-navigation .next { margin-right:0px; }

}

/**
 * XS
 **/
@media (max-width: 575px) {
    h1, .h1 { font-size:2rem; }

    blockquote p { font-size:1.6rem; }

    #header .hamburger { margin-right:15px; }

    #overlay { max-height:100vh; overflow-y:auto;  }
    #overlay .block { border-left:none; border-top:1px solid var(--pink); margin:0; padding:15px 0; }
    #overlay .bottom ul { flex-direction:column; }

    #accueil #intro { font-size:2rem; }
    #accueil #intro .vh-100 { max-height:600px; }
    #accueil #intro .menu .bg { display:none; }
    #accueil #intro .menu h3 { position:static; transform:none; }

    #bons-cadeaux #summary .table td.text-end { display:none; }
    
    #institut #intro .row { --bs-gutter-x:15px; }
    #institut #intro .subtitle { display:none; }

    #institut #intro .credo .quote { font-size:1.4rem; }
    #institut #marques .logo { margin:1em auto; }

    .slider .swiper-navigation button  { border-color:#fff;  }
    .slider .swiper-navigation button svg { fill:#fff;  }
    .slider .swiper-navigation .prev { margin-left:10px;  }
    .slider .swiper-navigation .next { margin-right:10px;}

}

/**
 * Height adjustements
 **/
@media (max-height: 800px) { 
    #tarifs #categories .item .sign { display:none; }
    #tarifs #categories .item .moredot { margin:0 15px 0 0; }
}