/* Frontend editor */
.ct-widget.ct-ignition { position:fixed; left:auto; top:auto; right:20px; bottom:100px; 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: auto !important; }

body { 
    font-family:'TTFirsNeue-Medium', sans-serif; 
    background:var(--bg-color); color:var(--text-color);
    counter-reset: item;
    font-size:1.125rem; 
    --blob1-bg:radial-gradient(circle, rgba(164, 110, 245, 1) 0%, rgba(164, 110, 245, 0) 70%); 
    --blob2-bg:radial-gradient(circle, rgba(65, 140, 255, 1) 0%, rgba(65, 140, 255, 0) 70%); 
    --primary-color:#34A0FB;
    --btn-color:#34A0FB;
    --cursor-color:#34A0FB;
    --selection-color:#34A0FB;
}

::selection { background:var(--selection-color); color:#fff; }
:focus, button:focus { outline:none; }
/* html.sr .load-hidden { visibility: hidden; } */

/* Change mode */
body.is-switching *:not(.swiper-wrapper) { transition:none !important; }

body.dark { --bg-color:#212121; --text-color:#fff; --border-color:rgba(255,255,255,0.2); --text-stroke:rgba(255,255,255,0.3); --image-filter:brightness(0) invert(1); }
body.light { --bg-color:#fff; --text-color:#212121; --border-color:rgba(33,33,33,0.2); --text-stroke:rgba(33,33,33,0.5); --image-filter:brightness(0.5); }

body#services-identite-visuelle { --blob1-bg:radial-gradient(circle, rgba(164, 110, 245, 1) 0%, rgba(164, 110, 245, 0) 70%); --blob2-bg:radial-gradient(circle, rgba(65, 140, 255, 1) 0%, rgba(65, 140, 255, 0) 70%);  }
body#services-web { --blob1-bg:radial-gradient(circle, rgba(63, 219, 216, 1) 0%, rgba(63, 219, 216, 0) 70%); --blob2-bg:radial-gradient(circle, rgba(64, 138, 249, 1) 0%, rgba(64, 138, 249, 0) 70%); }
body#services-presse { --blob1-bg:radial-gradient(circle, rgba(74, 171, 252, 1) 0%, rgba(74, 171, 252, 0) 70%); --blob2-bg:radial-gradient(circle, rgba(31, 86, 252, 1) 0%, rgba(31, 86, 252, 0) 70%); }
body#services-marketing { --blob1-bg:radial-gradient(circle, rgba(121, 251, 200, 1) 0%, rgba(121, 251, 200, 0) 70%); --blob2-bg:radial-gradient(circle, rgba(1, 163, 161, 1) 0%, rgba(1, 163, 161, 0) 70%); }
body#services-formations,
body#services-formation { --blob1-bg:radial-gradient(circle, rgba(255, 139, 182, 1) 0%, rgba(255, 139, 182, 0) 70%); --blob2-bg:radial-gradient(circle, rgba(150, 84, 252, 1) 0%, rgba(150, 84, 252, 0) 70%); }

/* Images */
img, svg { 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; line-height:2em; }
p:last-child { margin-bottom:0; }

/* Link */
a { color:inherit; text-decoration:none; }
a:hover { text-decoration:none; color:inherit; }

/* Lists */
ul, ol { margin-bottom:0; padding:0; list-style:none; }

/* Forms */
.invalid-feedback.visible { display:block !important; }

/* Inline elements */
em { font-style:normal; color:var(--text-color); opacity:0.5; font-family:'TTFirsNeue-Italic'; }
b, strong { font-family:'TTFirsNeue-Bold'; font-weight:normal; }
hr { margin:10vh 0; }

/**
 * Bootstrap Overrides
 **/

/* Dropdown */
.dropdown-menu-center { inset:calc(100% + 30px) auto auto 50% !important; transform: translateX(-50%) !important; }

/* buttons */
.btn { border-radius:50px; position:relative; padding:.375rem 1rem; box-shadow:none !important; background:none; border:none; white-space:nowrap; text-decoration:none !important; }
.btn:before { content:''; position:absolute; left:50%; top:50%; width:100%; height:100%; transform:translate(-50%, -50%); transition:all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55); border-radius:50px; z-index:-1; }
.btn svg { transition:all 0.3s ease 0.2s; margin-left:1rem; }
.btn:hover:before { width:calc(100% + 16px); height:calc(100% + 8px); }
.btn:hover svg { transform:rotate(45deg); }

.btn-xs { padding:2px 8px; font-size:0.8rem; }
.btn-lg { padding: 20px 50px; font-size:1.2rem; }

.btn-outline-light { color:var(--text-color); }
.btn-outline-light:before { border:1px solid var(--text-color); }
.btn-outline-light:hover { background:none; color:var(--text-color); }
.btn-outline-light svg { fill:var(--text-color); }

.btn-outline-light.disabled, .btn-outline-light:disabled { color:var(--text-color); }

.btn-primary { color:#fff;  }
.btn-primary:before { border:1px solid var(--btn-color); background:var(--btn-color); }
.btn-primary svg { fill:#fff; }
.btn-primary:hover { background:none; }

.btn.oc-loading { color:transparent; transition:all 0.5s ease 0s; opacity:1; }
.btn.oc-loading:after { content:''; background-image:url(../themes/publipresse/assets/img/tail-spin.svg); position:absolute; left:50%; top:50%; transform:translate(-50%, -50%); display:block; width:1.5em; height:1.5em; background-size:contain; }

[data-cursor="link"] { position:relative; }
[data-cursor="link"].oc-loading:before { content:''; background-image:url(../themes/publipresse/assets/img/tail-spin-primary.svg); position:absolute; left:-1.75rem; top:50%; transform:translateY(-50%); display:block; width:1.5em; height:1.5em; background-size:contain; }

/* Texts */
.text-muted { color:var(--text-color) !important; opacity:0.5; }
.text-primary { color:#34A0FB !important; }

/* Forms */
.form-check-input { box-shadow:none !important; }

.form-switch .form-check-input { background-color:transparent; background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='%23fff'/></svg>") !important; border-color:var(--text-color); }
.form-switch .form-check-input,
.form-switch .form-check-label { cursor:pointer; }

.form-floating:before { content:''; position:absolute; left:0; bottom:0; width:100%; height:1px; background:var(--border-color); }
.form-floating:after { content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--primary-color); transition:all 0.5s ease 0s; }
.form-floating > .form-label { color:var(--border-color); padding:0; height:auto; top:50%; transform:translateY(-50%); margin:0; transition:all 0.3s ease 0s;  }
.form-floating > .form-control { background:none; border-radius:0; border:none; padding:0; color:var(--text-color); }

.form-floating > .form-control:focus { box-shadow:none; }
.form-floating > .form-control:focus~label,
.form-floating > .form-control:not(:placeholder-shown)~label { top:0; transform:translateY(0); font-size:80%; opacity:1; color:var(--text-color); }

.form-floating:focus-within:after { width:100%; }

.form-floating textarea~.form-label { transform:translateY(0); top:0; }

/* Badges */
.badge { font-weight:normal; opacity:0.5; color:var(--text-color); }
.badge.border { border:1px solid var(--text-color) !important; }

/* Borders */
.border { border:1px solid var(--border-color) !important; }

/* Swipers */
.swiper-wrapper { box-sizing:border-box; }

/* Borders */
.border-top,
.border-bottom { border-color:var(--border-color) !important; }

/* Accordions */
.accordion-flush .accordion-header { padding:50px 0; cursor:pointer; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
.accordion-flush .accordion-header:before { content:''; width:30px; height:30px; margin-right:30px; background:url(../themes/publipresse/assets/img/arrow-upright.svg) no-repeat center center / contain; filter:invert(1); transform:rotate(45deg); transition:all 0.5s ease 0s; }
.accordion-flush .accordion-header.collapsed:before { transform:rotate(0) }

.accordion-flush .accordion-collapse { border:none; }
.accordion-flush .accordion-body { padding:0; }

/**
 * Layout
 **/

 /* General */
#page { position:relative; width:100%; overflow:hidden; }

/* Blobs */
.blob { position:fixed; z-index:-1; pointer-events:none; border-radius:100%; filter:blur(30px); }

#blob1 { left:0; top:0; transform:translate(-50%, -50%); width:50vmax; height:50vmax; background:var(--blob1-bg); animation:blob1 70s linear 0s infinite; }
#blob2 { right:0; top:0; transform:translate(50%, -50%); width:75vmax; height:75vmax; background:var(--blob2-bg); animation:blob2 80s linear 0s infinite; }

@keyframes blob1 {
  0% { left:0; top:0; }
  25% { left:20%; top:80%; }
  50% { left:-5%; top:40%; }
  75% { left:-10%; top:90%; }
  100% { left:0; top:0; }
}

@keyframes blob2 {
  0% { right:0; top:120%; }
  25% { right:10%; top:40%; }
  50% { right:-10%; top:-10%; }
  75% { right:10%; top:40%; }
  100% { right:0; top:0; }
}

/* Cursor */
#cursor-dot { position:fixed; pointer-events:none; transform:translate(-50%, -50%); z-index:99999; width:16px; height:16px; background:var(--cursor-color); border-radius:100%; transition:opacity 0.3s ease 0s; }
#cursor.stopmove #cursor-dot { width:6px; height:6px; opacity:1;  }
#cursor.hide #cursor-dot { opacity:0 !important; }
#cursor.left #cursor-dot { transform:translateX(0); }

body.is-mobile #cursor-dot,
body.is-tablet #cursor-dot { left:50% !important; top:50% !important; display:none; }
body.transition #cursor-dot { display:block; }

/* Preloader */
#pace { position:fixed; width:100%; height:100%;  text-align:center; left:0; top:0; z-index:9999; }
#pace .backdrop,
#pace .overlay { content:''; position:absolute; left:0; top:0; width:100%; height:100%; transition:all 1s ease 0s; pointer-events:auto; }
#pace .backdrop {  backdrop-filter:blur(50px); z-index:2; }
#pace .overlay {  background:var(--bg-color); opacity:0.8; z-index:1; }
#pace .caption { position:absolute; left:50%; top:50%; z-index:3; transform:translate(-50%, -50%); width:100px; max-width:80vw; }
#pace .logo { margin-bottom:5vh; opacity:1; }
#pace .logo svg { fill:#fff; width:45px; max-width:80vw;  }
#pace .logo svg .baseline { display:none; }
#pace .pace { user-select: none; z-index: 2000; position: relative; margin:0 auto; height: 3px; width: 80%; background:rgba(112,112,112,0.5); overflow: hidden; opacity:1; }
#pace .pace-progress { box-sizing: border-box; transform: translate3d(0, 0, 0); max-width: 100%; position: fixed; z-index: 2000; display: block; position: absolute; top: 0; right: 100%; height: 3px; width: 100%; background:var(--text-color); opacity:1;}

body.pace-done #pace { pointer-events:none; }
body.pace-done #pace .logo { animation: shake 0.7s cubic-bezier(0.455, 0.030, 0.515, 0.955) both; margin-bottom:8vh; opacity:0; transition:margin 0.5s ease 0.5s, opacity 0.5s ease 0.5s; }
body.pace-done #pace .loader { margin-top:8vh; opacity:0; transition:all 0.5s ease 0.5s;}
body.pace-done #pace .backdrop { backdrop-filter:blur(0); pointer-events:none; }
body.pace-done #pace .overlay { opacity:0; pointer-events:none; }


/* Main */
#main { max-width:100vw; }

/* Header */
#header { background:transparent; backdrop-filter: blur(15px);  -webkit-backdrop-filter: blur(15px); }
#header .row { height:100px; }
#header .logo svg { overflow:visible; }
#header .logo .logo-picto { transform-origin:16.825px 18.025px; }
#header .logo svg:hover .logo-picto { animation: shake 0.7s cubic-bezier(0.455, 0.030, 0.515, 0.955) both; }
#header .logo .logo-picto { transition:all 0.3s ease 0.3s; }
#header .logo .logo-text-wrapper { transition:all 0.3s ease 0.3s; opacity:1; }

body.dark #header .logo .logo-text-wrapper { fill:#fff; }
body.light #header .logo .logo-text path { fill:#212121; }
body.light #header .logo .logo-text-i path { fill:#34a0fb; }

@keyframes shake {
  0%,
  100% { transform: rotate(0deg); }
  10% { transform: rotate(8deg); }
  20%, 40%, 60% { transform: rotate(-10deg); }
  30%, 50%, 70% { transform: rotate(10deg); }
  80% { transform: rotate(-8deg); }
  90% { transform: rotate(8deg); }
}

#header .navigation { color:var(--text-color); }
#header .navigation a { text-decoration:none; }
#header .logo a { display:block; max-width:100%; transition:all 0.5s ease 0s; z-index:10; }

#header .navigation li { position:relative; }
#header .navigation li.active:before { content:''; width:6px; height:6px; border-radius:100%; background:var(--primary-color); position:absolute; left:-18px; top:50%; transform:translateY(-50%); } 
#header .navigation .link { position:relative; }
#header .navigation .link:before { content:''; position:absolute; left:0; bottom:-2px; width:0; height:1px; background:var(--text-color); transition:all 0.5s ease 0s; }
#header .navigation .link:hover:before { width:25px; }
#header .navigation .link:not(.show):before { width:0; }
#header .navigation .dropdown-toggle svg { transition:all 0.5s ease 0s; margin-left:5px; fill:var(--text-color); }
#header .navigation .dropdown-toggle:after { content:none; }
#header .navigation .dropdown-toggle.show svg { transform:rotate(180deg); }
#header .navigation .dropdown-menu { background:var(--bg-color); color:var(--text-color); }
#header .navigation .dropdown-menu svg { margin-left:15px; fill:var(--text-color); }
#header .navigation .dropdown-menu a { position:relative; left:0; transition:all 0.5s ease 0s; }
#header .navigation .dropdown-menu a svg { transition:all 0.3s ease 0.2s; }
#header .navigation .dropdown-menu a:hover { left:15px; }
#header .navigation .dropdown-menu a:hover svg { transform:rotate(45deg); }
#header .navigation .form-check { line-height:normal; }
#header .navigation .form-check-input { transition:all 0.5s ease 0s !important; }
#header .navigation .form-check-label { font-size:0.625rem; min-width:40px; }

.hamburger { margin:0 !important; height:15px; width:20px; }
.hamburger-box { height:15px; width:20px; }
.hamburger-inner, .hamburger-inner:after, .hamburger-inner:before { border-radius:0; background:var(--text-color) !important; width:20px; height:2px; left:auto; right:0; }
.hamburger:not(.is-active) .hamburger-inner { width:15px; transition:all 0.5s ease 0s }
.hamburger:not(.is-active) .hamburger-inner:before { top:-6px; }
.hamburger:not(.is-active) .hamburger-inner:after { bottom:-6px; }

.hamburger:hover { opacity:1 !important; }
.hamburger:not(.is-active):hover .hamburger-inner { width:20px; }


body.light #header .form-switch .form-check-input { background-image:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'><circle r='3' fill='%23212121'/></svg>") !important; }

/* Footer */
#footer { margin-top:10vh; }
#footer .top {  padding:10vh 0 0 0; border-top:1px solid var(--border-color); }
#footer .top .cta { font-size:5rem; line-height:1.2em; transition:all 0.5s ease 0s; position:relative; left:0; display:block; }
#footer .top .cta span { position:relative; left:0; transition:all 0.5s ease 0s; }
#footer .top .cta span:after { content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--text-color); transition:all 0.5s ease 0s; }
#footer .top .cta svg { width:70px; transition:all 0.3s ease 0.1s;}
#footer .top .cta:hover span { left:5vw; }
#footer .top .cta:hover span:after { width:20%; }
#footer .top .cta:hover svg { transform:rotate(45deg); }

#footer .middle { line-height:2em; padding:15vh 0; }
#footer .middle p,
#footer .middle address { margin-bottom:0; }
#footer .middle ul li { display:flex; align-items:center; }
#footer .middle ul li:before { content:''; width:10px; height:10px; border-radius:100%; background:var(--primary-color); margin-right:10px; transition:all 0.5s ease 0s; }
#footer .middle ul li:hover:before { opacity:0; }
#footer .middle .address { background:url(../themes/publipresse/assets/img/marker.svg) no-repeat left 5px; padding-left:30px; }
#footer .middle .gmap { padding-left:30px; }
#footer .middle .gmap a { display:flex; align-items:center; transition:all 0.5s ease 0s; position:relative; left:0; }
#footer .middle .gmap a:after { content:''; display:block; width:16px; height:15px; margin-left:30px; transition:all 0.3s ease 0.1s; background:url(../themes/publipresse/assets/img/arrow-upright.svg) no-repeat center center / contain; filter:var(--image-filter); }
#footer .middle .gmap a:hover { left:15px; }
#footer .middle .gmap a:hover:after { transform:rotate(45deg); }

#footer .bottom { border:1px solid var(--border-color); border-width:1px 0; }
#footer .bottom .swiper-wrapper { transition-timing-function: linear; }
#footer .bottom .swiper-slide img { filter:var(--image-filter); }

#footer .copyright { font-size:0.75rem; }

#landscape { display:none; }

/**
 * General Elements
 **/

/* General */
h1, .h1 { font-size:3.75rem; margin-bottom:1em; }
h2, .h2 { font-size:3.75rem; margin-bottom:1em; }
h3, .h3 { font-size:2.5rem; margin-bottom:1em; }
h4, .h4 { font-size:1.375rem; margin-bottom:1em; }

.uppertitle { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; margin-bottom:2rem; font-size:1.125rem; }
.uppertitle:before { content:''; display:inline-block; width:8px; height:8px; background:var(--primary-color); border-radius:100%; margin-right:10px; }

.bigtitle { font-size:10rem !important; color:transparent; text-stroke:2px ; -webkit-text-stroke:2px var(--text-stroke); white-space:nowrap; margin-left:50vw; }

/* Title animations */
.ml7 { position: relative; overflow: hidden; }
.ml7 .text-wrapper { position: relative; display: inline-block; padding-top: 0.2em; padding-right: 0.05em; padding-bottom: 0.1em; overflow: hidden; }
.ml7 .letter { transform-origin: 0 100%; display: inline-block; line-height: 1em; }

.ml6 { position: relative; overflow: hidden; }
.ml6 .text-wrapper { position: relative; display: inline-block; padding-top: 0.2em; padding-right: 0.05em; padding-bottom: 0.1em; overflow: hidden; }
.ml6 .letter { display: inline-block; line-height: 1em; }

.dotted { position:relative; padding-left:0.8em; }
.dotted:before { content:''; position:absolute; left:0; top:0.6em; width:0.4em; height:0.4em; background:var(--primary-color); border-radius:100%; margin-right:15px; transform:translateY(-50%); }

.navigation button { background:none; padding:0; border:none; margin:0 15px; }

.more { opacity:0.5; text-decoration:none; transition:all 0.5s ease 0s; display:inline-block; }
.more svg { margin-left:15px; transition:all 0.5s ease 0s; }
.more:hover { opacity:1; }
.more:hover svg { margin-left:30px; }

.more.upright svg { transition:all 0.3s ease 0.1s }
.more.upright { color:var(--text-color); }
.more.upright:hover svg { transform:rotate(45deg); }

.back { opacity:0.5; text-decoration:none; font-size:1rem; transition:all 0.5s ease 0s; display:inline-block; }
.back svg { margin-right:15px; transition:all 0.5s ease 0s; }
.back:hover { opacity:1;  }

.padding { padding-top:10vh; padding-bottom:10vh; }
.bigpadding { padding-top:20vh; padding-bottom:20vh; }
.margin { margin-top:10vh; margin-bottom:10vh; }
.bigmargin { margin-top:20vh; margin-bottom:20vh; }
.ptmenu { padding-top:100px; }

.counter { counter-increment: item; }
.counter:before { content:"0"counter(item); color:var(--text-color); opacity:0.3; font-size:80%; margin-right:1em; }

.banner { height:50vh; overflow:hidden; position:relative; }
.banner .lax { margin-top:-150px; height:calc(100% + 150px); object-fit:cover; }

.carousel .caption h3 { margin:0 0 5px 0;  color:#fff; }
.carousel .caption p { color:rgba(255,255,255,0.7); line-height:1.4em; }
.carousel .caption span { padding:10px 15px; background:#212121; display:inline-block; margin-bottom:1px; }
.carousel .number { font-size:5rem; color:var(--text-color); opacity:0.2; }

#bounce .anchor { animation: bounce 4s infinite; display:inline-block; }

@keyframes bounce {
    0%, 10%, 25%, 40%, 50% { transform: translateY(0); }
    20% { transform: translateY(-20px); }
    30% { transform: translateY(-10px); }
}

/* General content rules */
#content img.big { margin:10vh -10vw; max-width:calc(100% + 20vw); width:auto !important; }
#content img.fr-fic.fr-dib { display:block; margin-left:auto; margin-right:auto; margin-top:10vh; margin-bottom:10vh; }
#content h2:not(.bigtitle), #content .h2:not(.bigtitle) { margin-top:2em; font-size:2.5rem; }
#content h3:not(.bigtitle), #content .h3:not(.bigtitle) { margin-top:2em; font-size:1.6rem; }
#content .uppertitle + h2,
#content .uppertitle + h3 { margin-top:0; }
#content ol { counter-reset: item; margin:2em 0; }
#content ol li:not(.swiper-slide) { position:relative; counter-increment: item; margin-bottom:1em; padding-left:60px;}
#content ol li:not(.swiper-slide):before { content:"0"counter(item); color:var(--text-color); opacity:0.3; position:absolute; left:0; top:0; }
#content ul { margin:2em 0; }
#content ul li:not(.swiper-slide) { position:relative; padding-left:30px; margin-bottom:1em; }
#content ul li:not(.swiper-slide):before { content:''; position:absolute; left:0; top:10px; width:8px; height:8px; border-radius:100%; background:var(--primary-color); }
#content .col2 { column-count:2; }
#content .col3 { column-count:3; }
#content table { margin:10vh -10vw; width:calc(100% + 20vw) !important; }
#content table th,
#content table td { padding:10px; border:1px solid var(--border-color); }
#content .back { margin-bottom:30px; }
#content .back svg { margin-right:15px; }
#content p a { text-decoration:underline; }
#content .stats .row { --bs-gutter-x:100px; }
#content .stats .stat { font-size:8.75rem; line-height:1em; white-space:nowrap; }
#content .stats .subtitle { font-size:1rem; line-height:1; font-size:1.5rem; }

/* #content .exergue { padding:30px; border:1px solid var(--text-color); text-align:center; font-size:1.2rem; opacity:0.5; margin:5vh 0; } */
#content .exergue { font-size:3rem; color: transparent !important; text-stroke: 1px var(--text-stroke); -webkit-text-stroke: 1px var(--text-stroke); line-height:1.2em; opacity:1 !important; }
#content .teaser { font-size:1.6rem; color:rgba(255,255,255,0.5); }
#content .teaser p { line-height:1.2em; }

/**
 * Page specific
 **/

/* Accueil */
#accueil #hero h1 { font-size:6.25rem; }
#accueil #hero .picto .rotate-texts { transform-origin:center center; animation: rotate 60s linear infinite; }
#accueil #hero .ti-cursor { color:var(--text-color) !important; }
#accueil #hero .row { height:calc(100vh - 100px); }
@keyframes rotate { 
    from { transform: rotate(0deg); } 
    to { transform: rotate(360deg); } 
}



#accueil #services .bigtitle { writing-mode:vertical-lr; position:absolute; right:0; top:20vh; transform:rotate(180deg); margin:0; }

#accueil #stats .stat { font-size:8.75rem; line-height:1em; }

#accueil #liens .bottom .container { margin-left:0; padding:0; max-width:1320px;}
#accueil #liens .bottom .swiper-wrapper { transition-timing-function: linear; }
#accueil #liens .bottom .swiper-slide img { filter:var(--image-filter); }
#accueil #liens .bottom .cta { display:block; min-width:150px; min-height:150px; width:10vmax; height:10vmax; position:absolute; right:0; top:50%; transform:translateY(-50%); z-index:2; display:flex; align-items:center; justify-content:center; text-align:center; text-decoration:none; padding:10px; }
#accueil #liens .bottom .cta:before { content:''; display:block; width:100%; height:100%; position:absolute; left:0; top:0; z-index:-1; background:var(--bg-color); border-radius:100%; box-shadow: -0px 0px 70px 5px rgba(52,160,251,0.50); transition:all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0s; transform-origin:center center; }
#accueil #liens .bottom .cta:hover:before { transform:scale(1.2); }

/* L'agence */
#agence #equipe .tilt { transform-style: preserve-3d; }
#agence #equipe .caption { position:absolute; left:30px; right:30px; bottom:25px; z-index: 1; font-size:0.9rem; line-height:1.2rem; transform: translateZ(30px); color:#fff; }
#agence #equipe .fonction { color:#6A6A6A; }
#agence #equipe .pole { color:#fff; position:absolute; right:15px; top:15px; background:linear-gradient(45deg, #A46EF5 0%, #418CFF 100%); transform: translateZ(30px); }
#agence #equipe .pole:before { content:none; }
#agence #equipe .pole.web { background:linear-gradient(45deg, #3FDBD8 0%, #408AF9 100%); }
#agence #equipe .pole.pao { background:linear-gradient(45deg, #A46EF5 0%, #418CFF 100%); }
#agence #equipe .pole.presse { background:linear-gradient(45deg, #4AABFC 0%, #1F56FC 100%); }
#agence #equipe .pole.formation { background:linear-gradient(45deg, #FF8BB6 0%, #9654FC 100%); }

/* Services - Presse */
#services-presse #content .sommaire .more { font-size:1.2rem; }
#services-presse #content .journal h2 em { margin-right:30px; }
#services-presse #content .journal ul { margin:10vh 0; }
#services-presse #content .journal ul li { text-align:center; padding:15px 0; border:1px solid var(--border-color); border-width:1px 0 0 0; margin-bottom:0; }
#services-presse #content .journal ul li:before { content:none; }
#services-presse #content .journal ul li:last-child { border-bottom:1px solid var(--border-color); }
#services-presse #content .journal ul li span { opacity:0.3  }
#services-presse #content .journal ul li:first-child span { opacity:1; }

/* Services - Web */
#services-web #content .etapes .swiper-slide { padding:0 50px; }

/* Services - Formations */
#services-formations,
#services-formations-detail,
#services-formations-generalites,
#services-formations-cgv { --cursor-color:#FA75A6; --selection-color:#AA69B0; --btn-color:linear-gradient(90deg, #ff8bb6 0%, #9654fc 100%); --primary-color:#AA69B0; }

/* Listing */
#services-formations #content .formations .row { --bs-gutter-x:100px; }
#services-formations #content .formations .record { margin-bottom:50px; }
#services-formations #content .formations .record .duration { display:flex; flex-direction:row; align-items:center; }
#services-formations #content .formations .record .logo { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; height:100px; }
#services-formations #content .formations .record .logo .white path { fill:#fff; }
#services-formations #content .formations .record .logo .grey path { fill:#fff; opacity:0.5; }
#services-formations #content .formations .record .logo svg { max-width:100%; max-height:60px; }
#services-formations #content .stats .stat { font-size:4.75rem; }
/* Détail */
#services-formations-detail #content .logo { font-size:1.75rem; }
#services-formations-detail #content .logo img { margin:0; max-width:30vw; max-height:100px; }
#services-formations-detail #content h2 { counter-reset: h3; font-size:2.5rem; margin-top:1em; display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
#services-formations-detail #content h2:before { content:''; width:30px; height:30px; margin-right:30px; background:url(../themes/publipresse/assets/img/arrow-upright.svg) no-repeat center center / contain; filter:invert(1); }
#services-formations-detail #content h3 { font-size:1.5rem; margin-top:1em; counter-increment: h3; position:relative; }
#services-formations-detail #content .duration { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; font-size:1.5rem; }
#services-formations-detail #content .disabled { pointer-events:auto; opacity:0.5; }
#services-formations-detail #common h3:before { content:"0"counter(h3); color:var(--text-color); opacity:0.5; margin-right:15px; position:absolute; left:-50px; }
body.light#services-formations-detail #content .qualiopi { filter:invert(1); }

/* Blog */
#blog .tags .btn { opacity:0.5; }
#blog .date { font-size:0.875rem; }

#blog #filters .more { border-bottom:1px solid var(--border-color); }
#blog #filters .more:hover { border-color:var(--text-color); }

#blog #filters .btn { opacity:0.5; }
#blog #filters .btn.active { opacity:1; background:none; color:var(--text-color) }
#blog #records .row { --bs-gutter-x:100px; }

#blog .record .image { overflow:hidden; }
#blog .record .image img { transition:all 0.5s ease 0s; }
#blog .record:hover .image img { transform:scale(1.1) }
#blog .record:hover .more { opacity:1; }
#blog .record:hover .more svg { margin-left:30px; }

#blog-listing #blog .record { height:100%; }
#blog-listing #blog .record a { display:flex; flex-direction:column; height:100%; }
#blog-listing #blog .record .title { margin-top:auto; }

#blog-detail .cb-link { text-align:center; }
#blog-detail .cb-link .btn { width:auto !important; }





/* Contact */
#contact .form { margin-top:10vh; }
#contact .form .hs-email { color:red; }
#contact .emblem svg { animation: rotate 60s linear infinite; }
#contact #footer { margin-top:0; }
#contact #contact_forms_flash { margin-top:30px; }
#contact #contact_forms_flash .close { display:none; }

/* Portfolio - Listing */
#portfolio-listing #records .row { --bs-gutter-x:150px; overflow:visible !important; }
#portfolio-listing #records .column { margin-bottom:10vh; }
/*#portfolio-listing #records .column:nth-child(2) { margin-top:300px; }*/
#portfolio-listing #records .column:last-child { margin-bottom:0; }
#portfolio-listing #records .cta { display:block; max-width:100%; width:600px; height:600px; object-fit:contain; z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; text-decoration:none; }
#portfolio-listing #records .cta:before { content:''; display:block; width:100%; height:100%; position:absolute; left:0; top:0; z-index:-1; background:var(--bg-color); box-shadow: -0px 0px 70px 5px rgba(52,160,251,0.50); transform:scale(0.9); transition:all 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) 0s; transform-origin:center center; }
#portfolio-listing #records .cta:hover:before { transform:scale(1); }
#portfolio-listing #records .record .image { overflow:hidden; }
#portfolio-listing #records .record .image img { transition:all 0.7s ease 0s; }
#portfolio-listing #records .record:hover .image img { transform:scale(1.1); }

/* Portfolio - Details */
#portfolio-detail #content #banner img { min-height:400px; max-height:800px; overflow:hidden; object-fit:cover; }
#portfolio-detail #content h2 { font-size:1.5rem; }
#portfolio-detail #content .slider { padding-top:calc(5vh + 100px); padding-bottom:5vh; }
#portfolio-detail #content .slider .swiper-container { background:#EFF1F8; }
#portfolio-detail #content .slider img { height:calc(100vh - 200px); object-fit:cover; object-position: center top; filter: drop-shadow(0 0 16px rgba(0,0,0,0.16)); }
#portfolio-detail #content .slider .swiper-slide { padding:30px 0; width:auto; }
#portfolio-detail #content .slider .swiper-slide:before { content:none; }

#portfolio-detail #quickmode .metas .row { --bs-gutter-x:5rem; }
#portfolio-detail #quickmode .metas .title { font-size:0.875rem; color:rgba(255,255,255,0.4); font-weight:400; text-transform:uppercase; }
#portfolio-detail #quickmode .metas .title:after { content:''; display:block; width:100%; height:1px; background:rgba(255,255,255,0.4); margin:1rem 0 2rem 0; }
#portfolio-detail #quickmode .metas .tags ul { display:flex; flex-direction:row; align-items:center; justify-content:flex-start; }
#portfolio-detail #quickmode .metas .tags li { padding-left:0; margin-bottom:0; }
#portfolio-detail #quickmode .metas .tags li:before { content:none; }
#portfolio-detail #quickmode .image { margin-top:5rem; }
#portfolio-detail #quickmode .description { margin-top:8rem; }
#portfolio-detail #quickmode .description h2 { font-size:3.5rem; margin:0 0 1em 0; }
/**
 * XXL
 **/
@media (min-width: 1400px) {

}

/**
 * XL
 **/
@media (max-width: 1399px) {
    html { font-size:14px; }
    h1, .h1 { font-size:3rem; }
    h2, .h2 { font-size:3rem; }
    h3, .h3 { font-size:2rem; }

    .ptmenu { padding-top:80px; }

    .stat { font-size:7rem; }

    #header .row { height:80px; }
    #header .navigation li.active:before { left:-12px; }
    
    #accueil #hero h1 { font-size:5rem; }

}

/**
 * LG
 **/
@media (max-width: 1199px) {
    .bigtitle { font-size:10rem !important; }

    .stat { font-size:6rem; }


    #blog #records .row { --bs-gutter-x: 50px; }

    #portfolio-listing #records .cta { height:420px; }
}

/**
 * MD
 **/
@media (max-width: 991px) {
    html { font-size:13px; }

    .btn { padding:0.5rem 1.5rem; font-size:1.385rem; }
    .btn-xs { font-size:0.9rem; padding:2px 8px; }
    .tags .btn { padding:.375rem 1rem; font-size:1rem; }

    .bigtitle { font-size:8rem !important; }

    #header .form-check { margin-bottom:5px; }
    #header .responsive-switch { opacity:0; pointer-events:none; transition:all 0.3s ease 0s; }
    #header .responsive-switch.active { opacity:1; pointer-events:auto; transition-delay:0.3s; }

    #overlay { position:fixed; left:0; top:0; width:100%; height:100vh; transform:translateY(-100%); transition:all 0.5s ease 0s; display:flex; flex-direction:column; align-items:stretch; justify-content:space-between; background:var(--bg-color); overflow:auto; }
    #overlay .container-md { padding-top:calc(10vh + 80px); padding-bottom:10vh;}
    #overlay .menu { font-size:1.385rem; }
    #overlay .menu > li { margin-bottom:5vh; opacity:0; transition:all 1s ease 0s; top:30px; }
    #overlay .menu .link { display:flex; flex-direction:row; align-items:center; justify-content:space-between; }
    #overlay .menu .link svg { transform:rotate(-90deg) scale(1.5); }
    
    #overlay .dropdown-menu { position:relative !important; top:0 !important; background:none !important; box-shadow:none !important; border:none !important; padding:0 0 0 30px !important; max-height:0; overflow:hidden; transition:all 0.5s ease 0s; display:block !important; font-size:1.2rem; }
    #overlay .dropdown-menu.show { max-height:300px; }
    #overlay .dropdown-toggle.show svg { transform:rotate(0) scale(1.5) !important; }
    #overlay .dropdown-menu > li:first-child { margin-top:30px; }

    #overlay .socials { padding:10vh 0; }
    #overlay .socials a { width:50px; height:50px; display:flex; align-items:center; justify-content:center; border:1px solid var(--border-color); padding:10px; border-radius:100%; position:relative; overflow:hidden; }
    #overlay .socials a:before { content:''; position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); background:var(--primary-color); width:0; height:0; transition:all 0.5s ease 0s; z-index:-1; }
    #overlay .socials a:hover:before { width:50px; height:50px; border-radius:100%; }
    #overlay .socials svg { width:16px; height:auto; max-height:16px; }

    body.open #overlay { transform:translateY(0); transition-delay:0.2s; }
    body.open #overlay .menu > li { opacity:1; top:0; }
    body.open #overlay .menu > li:nth-child(1) { transition-delay:0.5s;}
    body.open #overlay .menu > li:nth-child(2) { transition-delay:0.7s;}
    body.open #overlay .menu > li:nth-child(3) { transition-delay:0.9s;}
    body.open #overlay .menu > li:nth-child(4) { transition-delay:1.1s;}
    body.open #overlay .menu > li:nth-child(5) { transition-delay:1.3s;}
    body.open #overlay .menu > li:nth-child(6) { transition-delay:1.5s;}

    body.open #header .logo .logo-picto { fill:var(--text-color); transition-delay:0s; }
    body.open #header .logo .logo-text-wrapper { opacity:0; transition-delay:0s; }

    #accueil #hero h1,
    #footer .top .cta { font-size:4rem; }
    #footer .top .cta svg { width:50px; }

    #footer .copyright { font-size:0.9rem; }

    #portfolio-listing #records .row { --bs-gutter-x:80px; }
    #portfolio-listing #records .cta { height:320px; }
}

/**
 * SM
 **/
@media (max-width: 767px) {
    .container-md { --bs-gutter-x:50px; }

    #accueil #hero h1,
    #footer .top .cta { font-size:4rem; }
    #footer .top .cta svg { width:30px; }

    .stat { font-size:5rem; }

    #stats .bigmargin { margin-top:0; margin-bottom:50px; }
    #stats .bigpadding { padding-top:0; padding-bottom:0; }

    #portfolio-listing #records .row { --bs-gutter-x:50px; }
    #portfolio-listing #records .cta { height:270px; }
    #portfolio-listing #records .column { margin-bottom:5vh; }
    #portfolio-listing #records .column:nth-child(2) { margin-top:150px; }
    

    #agence .eapps-google-reviews-b84f854e-3717-4f1a-906c-6f1242811328-custom-css-hook .bejlln { margin-left:0; }
}

/**
 * XS
 **/
@media (max-width: 575px) {
    html { font-size:12px; }
    .container-md { --bs-gutter-x:30px; }

    .margin { margin-top:5vh; margin-bottom:5vh; }
    .padding { padding-top:5vh; padding-bottom:5vh; }

    .uppertitle { font-size:1.5rem; }

    .carousel .caption span { padding:5px 10px; }


    .bigtitle { font-size:5rem !important; margin-left:30px; margin-right:30px; white-space: normal; }

    h1 br, h2 br, h3 br, h4 br, h5 br, h6 br { display:none; }

    #accueil #hero h1 br { display:inline; }
    #accueil #hero svg { max-width:50%; }
    #accueil #services .swiper-container { padding:0 50px; }
    #accueil #services .swiper-wrapper { flex-direction:column; }
    #accueil #services .swiper-slide { margin-bottom:50px; }
    #accueil #blog .navigation { display:none; }

    #footer .middle .gmap { padding-left:0; }
    #footer .middle { padding:8vh 0; }

    #accueil #services h3 { font-size:1.5rem; }
    #accueil #liens .bottom .cta { position:static; transform:translateY(0); margin:100px auto 0 auto; }
    #accueil #liens { margin-bottom:10vh; }

    #portfolio-listing #records .column { margin-bottom:50px; }
    #portfolio-listing #records .column:nth-child(2) { margin-top:50px; }

    #post #content img { margin: 5vh 0; max-width:100%; }

    #agence #gl img { min-height:300px; }

    
}

/**
 * Special Mobile landscape mode
 **/
@media (orientation: landscape) {
    body.is-mobile { overflow:hidden; }
    body.is-mobile #landscape { position:fixed; left:0; top:0; width:100%; height:100%; background:var(--bg-color); color:#fff; z-index: 99999; display:flex; align-items:center; justify-content:center; text-align:center; }
}