/*-----------------------------------------------------------------------------------
	CESE_MENU_INTERACTIF_3D
	About: A shiny new Blocs website.
	Author: eric
	Version: 1.0
	Built with Blocs
-----------------------------------------------------------------------------------*/
body{
	margin:0;
	padding:0;
    background:transparent;
    overflow-x:hidden;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.page-container{overflow: hidden;} /* Prevents unwanted scroll space when scroll FX used. */
a,button{transition: background .3s ease-in-out;outline: none!important;} /* Prevent blue selection glow on Chrome and Safari */
a:hover{text-decoration: none; cursor:pointer;}
.scroll-fx-lock-init{position:fixed!important;top: 0;bottom: 0;left: :0;right: 0;z-index:99999;} /* ScrollFX Lock */
.blocs-grid-container{display: grid!important;grid-template-columns: 1fr 1fr;grid-template-rows: auto auto;column-gap: 1.5rem;row-gap: 1.5rem;} /* CSS Grid */
nav .dropdown-menu .nav-link{color:rgba(0,0,0,0.6)!important;} /* Maintain Downdown Menu Link Color in Navigation */
[data-bs-theme="dark"] nav .dropdown-menu .nav-link{color:var(--bs-dropdown-link-color)!important;} /* Maintain Downdown Menu Link Color in Navigation in Darkmode */


/* Preloader */

.page-preloader{position: fixed;top: 0;bottom: 0;width: 100%;z-index:100000;background:#FFFFFF url("img/pageload-spinner.gif") no-repeat center center;animation-name: preloader-fade;animation-delay: 2s;animation-duration: 0.5s;animation-fill-mode: both;}
.preloader-complete{animation-delay:0.1s;}
@keyframes preloader-fade {0% {opacity: 1;visibility: visible;}100% {opacity: 0;visibility: hidden;}}

/* = Blocs
-------------------------------------------------------------- */

.bloc{
	width:100%;
	clear:both;
	background: 50% 50% no-repeat;
	padding:0 20px;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	background-size: cover;
	position:relative;
	display:flex;
}
.bloc .container{
	padding-left:0;
	padding-right:0;
}

/* = Full Screen Blocs 
-------------------------------------------------------------- */

.bloc-fill-screen{
	min-height:100vh;
	display: flex;
	flex-direction: column;
	padding-top:20px;
	padding-bottom:20px;
}
.bloc-fill-screen > .container{
	align-self: flex-middle;
	flex-grow: 1;
	display: flex;
	flex-wrap: wrap;
}
.bloc-fill-screen > .container > .row{
	flex-grow: 1;
	align-self: center;
	width:100%;
}
.bloc-fill-screen .fill-bloc-top-edge, .bloc-fill-screen .fill-bloc-bottom-edge{
	flex-grow: 0;
}
.bloc-fill-screen .fill-bloc-top-edge{
	align-self: flex-start;
}
.bloc-fill-screen .fill-bloc-bottom-edge{
	align-self: flex-end;
}

/* = Full Width Blocs 
-------------------------------------------------------------- */

.full-width-bloc{
	padding-left:0;
	padding-right:0;
}
.full-width-bloc .row{
	margin-left:0;
	margin-right:0;
}
.full-width-bloc .container{
	width:100%;
	max-width:100%!important;
}
.full-width-bloc .carousel img{
	width:100%;
	height:auto;
}


/* Edge Dividers */

.bloc-shape-divider{
	position: absolute;
	width:100%;
	text-align:center;
	left:0;
	right:0;
	z-index: 0;
	display: flex;
	pointer-events: none;
}
.svg-divider{
	width:100%;
	height:100px;
	fill:#000000;
}
.bloc-divider-top{
	top:-1px;
	align-items: flex-start;
}
.bloc-divider-bottom{
	bottom:-1px;
	align-items: flex-end;
}


/* Bloc Mask */

.bloc-bg-mask{
	position: absolute;
	width:100%;
	height: 100%;
	text-align:center;
	left:0;
	right:0;
	top:0;
	bottom:0;
	z-index: 0;
	display: flex;
	pointer-events: none;
	align-items: flex-start;
}
.svg-mask{
	width:100%;
	height: 100%;
	fill-rule: evenodd;
	fill:#000000;
}


/* Flip Edge Divider */

.bloc-divider-flip-x svg{
	transform:scale(-1,1);
}
.bloc-divider-flip-y svg{
	transform:scale(1,-1);
}
.bloc-divider-flip-x.bloc-divider-flip-y svg{
	transform:scale(-1,-1);
}


/* Dark theme */

.d-bloc{
	color:rgba(255,255,255,.7);
}
.d-bloc button:hover{
	color:rgba(255,255,255,.9);
}
.d-bloc .icon-round,.d-bloc .icon-square,.d-bloc .icon-rounded,.d-bloc .icon-semi-rounded-a,.d-bloc .icon-semi-rounded-b{
	border-color:rgba(255,255,255,.9);
}
.d-bloc .divider-h span{
	border-color:rgba(255,255,255,.2);
}
.d-bloc .a-btn,.d-bloc .navbar a, .d-bloc a .icon-sm, .d-bloc a .icon-md, .d-bloc a .icon-lg, .d-bloc a .icon-xl, .d-bloc h1 a, .d-bloc h2 a, .d-bloc h3 a, .d-bloc h4 a, .d-bloc h5 a, .d-bloc h6 a, .d-bloc p a{
	color:rgba(255,255,255,.6);
}
.d-bloc .a-btn:hover,.d-bloc .navbar a:hover,.d-bloc a:hover .icon-sm, .d-bloc a:hover .icon-md, .d-bloc a:hover .icon-lg, .d-bloc a:hover .icon-xl, .d-bloc h1 a:hover, .d-bloc h2 a:hover, .d-bloc h3 a:hover, .d-bloc h4 a:hover, .d-bloc h5 a:hover, .d-bloc h6 a:hover, .d-bloc p a:hover{
	color:rgba(255,255,255,1);
}
.d-bloc .navbar-toggle .icon-bar{
	background:rgba(255,255,255,1);
}
.d-bloc .btn-wire,.d-bloc .btn-wire:hover{
	color:rgba(255,255,255,1);
	border-color:rgba(255,255,255,1);
}
.d-bloc .card{
	color:rgba(0,0,0,.5);
}
.d-bloc .card button:hover{
	color:rgba(0,0,0,.7);
}
.d-bloc .card icon{
	border-color:rgba(0,0,0,.7);
}
.d-bloc .card .divider-h span{
	border-color:rgba(0,0,0,.1);
}
.d-bloc .card .a-btn{
	color:rgba(0,0,0,.6);
}
.d-bloc .card .a-btn:hover{
	color:rgba(0,0,0,1);
}
.d-bloc .card .btn-wire, .d-bloc .card .btn-wire:hover{
	color:rgba(0,0,0,.7);
	border-color:rgba(0,0,0,.3);
}

/* Row Margin Offsets */

.voffset{
	margin-top:30px;
}


/* = NavBar
-------------------------------------------------------------- */

/* Navbar Icon */
.svg-menu-icon{
	fill: none;
	stroke: rgba(0,0,0,0.5);
	stroke-width: 2px;
	fill-rule: evenodd;
}
.navbar-dark .svg-menu-icon{
	stroke: rgba(255,255,255,0.5);
}
.menu-icon-thin-bars{
	stroke-width: 1px;
}
.menu-icon-thick-bars{
	stroke-width: 5px;
}
.menu-icon-rounded-bars{
	stroke-width: 3px;
	stroke-linecap: round;
}
.menu-icon-filled{
	fill: rgba(0,0,0,0.5);
	stroke-width: 0px;
}
.navbar-dark .menu-icon-filled{
	fill: rgba(255,255,255,0.5);
}
.navbar-toggler-icon{
	background: none!important;
	pointer-events: none;
	width: 33px;
	height: 33px;
}
/* Handle Multi Level Navigation */
.dropdown-menu .dropdown-menu{
	border:none}
@media (min-width:576px){
	
.navbar-expand-sm .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-sm .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:768px){
	.navbar-expand-md .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-md .dropdown-menu .submenu-left{
	right:100%;
	left:auto}}@media (min-width:992px){
	.navbar-expand-lg .dropdown-menu .dropdown-menu{
	border:1px solid rgba(0,0,0,.15);
	position:absolute;
	left:100%;
	top:-7px}.navbar-expand-lg .dropdown-menu .submenu-left{
	right:100%;
	left:auto}
}
/* = Bric adjustment margins
-------------------------------------------------------------- */

.mg-md{
	margin-top:10px;
	margin-bottom:20px;
}

/* = Buttons
-------------------------------------------------------------- */

.btn-d,.btn-d:hover,.btn-d:focus{
	color:#FFF;
	background:rgba(0,0,0,.3);
}

/* Prevent ugly blue glow on chrome and safari */
button{
	outline: none!important;
}



/* Image Frame */
.img-frame,.img-frame-md,.img-frame-lg,.img-frame-rd,.img-frame-rd-md,.img-frame-rd-lg{
	background:#FFF;
	border:1px solid rgba(0,0,0,0.1);
	box-shadow:0 2px 2px rgba(0,0,0,0.05);
	padding:4px;
}
.img-frame{
	border-radius:3px;
}
.img-frame-md,.img-frame-lg{
	border-radius:6px;
}
.img-frame-md,.img-frame-rd-md{
	padding:8px;
}
.img-frame-lg,.img-frame-rd-lg{
	padding:14px;
}
/*  Image Protection */
.img-protected{
	-webkit-touch-callout: none;
}
/*  Image Scale */
.img-fluid-up{
	min-width: 100%;
	height: auto;
}



.card-sq, .card-sq .card-header, .card-sq .card-footer{
	border-radius:0;
}
.card-rd{
	border-radius:30px;
}
.card-rd .card-header{
	border-radius:29px 29px 0 0;
}
.card-rd .card-footer{
	border-radius:0 0 29px 29px;
}





/* ScrollToTop button */

.scrollToTop{
	width:36px;
	height:36px;
	padding:5px;
	position:fixed;
	bottom:20px;
	right:20px;
	opacity:0;
	z-index:999;
	transition: all .3s ease-in-out;
	pointer-events:none;
}
.showScrollTop{
	opacity: 1;
	pointer-events:all;
}
.scroll-to-top-btn-icon{
	fill: none;
	stroke: #fff;
	stroke-width: 2px;
	fill-rule: evenodd;
	stroke-linecap:round;
}

/* = Custom Styling
-------------------------------------------------------------- */

h1,h2,h3,h4,h5,h6,p,label,.btn,a{
	font-family:"Helvetica";
}
.container{
	max-width:1140px;
}
.img-style{
	width:134px;
	height:830px;
}
.img-5-style{
	width:200px;
	height:160px;
}
.img-6-style{
	width:166px;
}
.img-7-style{
	width:170px;
}
.h1-style{
	font-size:30px;
}
.h1-bloc-2-style{
	font-size:30px;
}
.navbar-logo{
	text-transform:none;
	text-decoration:none;
	font-size:20px;
}
.btn-retour-style{
	font-weight:bold;
	width:100%;
}
.blocs-card-width{
	width:25%;
}
.img-padding-right{
	padding-right:0px;
	border-radius:0px 0px 0px 0px;
	width:100px;
}
.bloc-divider-t-fill{
	fill:var(--swatch-var-1739);
}
.bloc-fill{
	fill:var(--swatch-var-3999);
}
.bloc-bloc-3-fill{
	fill:#FEFFFF;
}
.row-margin-left{
	margin-left:110px;
	padding-left:421px;
	margin-right:-1px;
	padding-right:15px;
	width:88.42%;
}
.h4-style{
	font-size:16px;
}
.h4-vue-des-blocs-style{
	font-size:16px;
}
.h4-bloc-2-style{
	font-size:16px;
}
.h4-4-style{
	font-size:16px;
}
.h4-5-style{
	font-size:16px;
}
.h4-6-style{
	font-size:16px;
}
.h4-7-style{
	font-size:16px;
}
.h1-bloc-3-style{
	font-size:30px;
}
.h4-vue-masse-style{
	font-size:16px;
}
.h4-9-style{
	font-size:16px;
}
.h4-bloc-3-style{
	font-size:16px;
}
.h4-11-style{
	font-size:16px;
}
.navbar-brand img{
	width:70px;
}
.quote-text{
	font-size:26px;
	font-style:italic;
}
.h1-bloc-0-style{
	font-size:25px;
}
.h4-bloc-5-style{
	width:95%;
	font-size:13px;
}
.bloc-divider-t-bloc-0-fill{
	fill:#000000;
}
.img-2-style{
	height:900px;
}
.bloc-divider-b-fill{
	fill:var(--swatch-var-1739);
}
.divider-margin-left{
	margin-left:auto;
	margin-right:auto;
	width:100%;
}
.img-bloc-1-style{
	width:1200px;
}
.img-22-style{
	height:112px;
}
.html-widget-style{
	height:755px;
}
.h4-13-style{
	font-size:13px;
}
.h6-style{
	font-size:14px;
	width:100%;
}
.h6-vue-masse-orho-style{
	font-size:14px;
}
.h6-bloc-4-style{
	font-size:14px;
}
.h6-4-style{
	font-size:14px;
}
.h6-5-style{
	font-size:14px;
	width:100%;
}
.h6-6-style{
	font-size:14px;
}
.h4-bloc-0-style{
	font-size:16px;
}
.h6-vue-des-blocs-style{
	font-size:14px;
}
.h6-2-style{
	font-size:14px;
}
.h1-bloc-1-style{
	font-family:Helvetica;
	font-size:30px;
}
.bloc-divider-b-bloc-2-fill{
	fill:var(--swatch-var-1739);
	height:100px;
}
.bloc-divider-t-bloc-2-fill{
	fill:var(--swatch-var-1739);
	height:210px;
}
.bloc-bloc-1-fill{
	fill:var(--swatch-var-1515);
}
.bloc-bloc-4-fill{
	fill:var(--swatch-var-3999);
}
.bloc-bloc-5-fill{
	fill:var(--swatch-var-1515);
}
.bloc-bloc-7-fill{
	fill:var(--swatch-var-1515);
}
.bloc-0-fill{
	fill:var(--swatch-var-1515);
}
.bloc-0-bloc-7-fill{
	fill:var(--swatch-var-1515);
}
.bloc-13522-fill{
	fill:var(--swatch-var-1515);
}
.bloc-bloc-12-fill{
	fill:var(--swatch-var-4004);
}
.bloc-0-bloc-12-fill{
	fill:var(--swatch-var-4004);
}
.bloc-5302-fill{
	fill:var(--swatch-var-1515);
}
.bloc-25916-fill{
	fill:var(--swatch-var-1515);
}
.h1-2-style{
	font-size:30px;
}
.h1-cese---2026-style{
	font-size:15px;
}
.h1-6-style{
	font-size:15px;
}
.bloc-divider-t-style{
	height:160px;
}
.p-style{
	font-size:25px;
}
.bloc-divider-t-bloc-5-style{
	height:160px;
}
.h1-bloc-7-style{
	font-size:25px;
}
.bloc-divider-t-bloc-7-style{
	height:160px;
}
.h1-10-style{
	font-size:25px;
}
.bloc-divider-t-0-style{
	height:160px;
}
.h1-11-style{
	font-size:25px;
}
.bloc-divider-t-0-bloc-7-style{
	height:160px;
}
.h1-11-bloc-7-style{
	font-size:25px;
}
.bloc-divider-t-49469-style{
	height:160px;
}
.bloc-divider-t-bloc-12-style{
	height:160px;
}
.bloc-divider-b-style{
	height:100px;
}
.h4-10-style{
	font-size:16px;
}
.row-style{
	width:100%;
}

/* = Colour
-------------------------------------------------------------- */

/* Swatch Variables */
:root{
	
	--swatch-var-2628:#FF2600;
	
	--swatch-var-1739:rgba(0,0,0,1.00);
	
	--swatch-var-5517:rgba(255,147,0,1.00);
	
	--swatch-var-798:rgba(255,0,0,1.00);
	
	--swatch-var-853:#7C7C7C;
	
	--swatch-var-3748:rgba(255,255,255,1.0);
	
	--swatch-var-351:rgba(255,255,255,1.00);
	
	--swatch-var-1515:rgba(71,1,1,1.00);
	
	--swatch-var-3999:rgba(48,0,0,1.00);
	
	--swatch-var-130:rgba(254,255,255,1.00);
	
	--swatch-var-4004:rgba(148,17,0,1.00);
	
}


/* Background colour styles */

.bgc-3999{
	background-color:var(--swatch-var-3999);
}
.bgc-4004{
	background-color:var(--swatch-var-4004);
}
.bgc-1515{
	background-color:var(--swatch-var-1515);
}

/* Text colour styles */

.tc-130{
	color:var(--swatch-var-130)!important;
}
.tc-3748{
	color:var(--swatch-var-3748)!important;
}
.tc-351{
	color:var(--swatch-var-351)!important;
}

/* Bloc image backgrounds */



/* = Additional CSS
-------------------------------------------------------------- */

/* 1. ÉTAT NORMAL (Repos) */
img.miniature-chanfrein {
  box-sizing: border-box !important;
  border-radius: 5px !important; 
  outline: 3px solid white !important; /* Bord blanc initial */
  outline-offset: -3px !important; 
  display: block !important;
  width: 100% !important;
  height: auto !important;
  /* Transition fluide pour le zoom, le bord et l'ombre */
  transition: transform 0.3s ease, outline 0.3s ease, box-shadow 0.3s ease !important; 
  cursor: pointer;
  position: relative;
  z-index: 1;
}

/* 2. AU SURVOL (Zoom + Soulèvement + Bord Rouge + Ombre) */
img.miniature-chanfrein:hover {
  /* Change le bord en rouge vif */
  outline: 3px solid #FF0000 !important; 
  
  /* GROSSIT (scale 1.05 = +5%) et SE SOULEVE (translateY -8px) */
  transform: scale(1.05) translateY(-8px) !important; 
  
  /* Ajoute une belle ombre portée pour le relief */
  box-shadow: 0 15px 30px rgba(0,0,0,0.4) !important; 
  
  /* Passe au-dessus des autres éléments voisins */
  z-index: 10 !important; 
}

/* 3. AU CLIC (Léger enfoncement) */
img.miniature-chanfrein:active {
  transform: scale(1.02) translateY(-4px) !important;
  box-shadow: 0 8px 15px rgba(0,0,0,0.3) !important;
}

img.miniature-chanfrein {
  /* FIXE LA TAILLE : Remplacez 200px par la taille réelle de votre image carrée */
  width: 85px !important; 
  height: 60px !important; 
  
  /* CENTRE L'IMAGE : Si le texte est plus large, l'image restera au milieu */
  margin-left: auto !important;
  margin-right: auto !important;
  
  /* GARDE LE RENDU CARRÉ : Évite la déformation */
  object-fit: cover !important; 
  
  /* VOS STYLES (Bord blanc + Radius) */
  border-radius: 5px !important; 
  outline: 3px solid white !important; 
  outline-offset: -3px !important; 
}

/* Style pour l'image 245x173 */
img.image-format-specifique {
  /* Dimensions forcées pour éviter les sauts de taille */
  width: 245px !important;
  height: 173px !important;
  object-fit: cover !important;
  display: block !important;

  /* Bordure blanche INTERNE */
  box-sizing: border-box !important;
  outline: 4px solid white !important; /* Épaisseur 4px */
  outline-offset: -4px !important;    /* Force à l'intérieur */
  
  /* Arrondi */
  border-radius: 10px !important;     /* Radius de 10px */
  
  /* Animation (reprend vos réglages précédents) */
  transition: all 0.3s ease !important;
  cursor: pointer;
}

/* Effet au survol (Bord rouge + Zoom + Soulèvement) */
img.image-format-specifique:hover {
  outline: 4px solid #FF0000 !important; /* Passe au rouge */
  transform: scale(1.05) translateY(-5px) !important;
  box-shadow: 0 10px 20px rgba(0,0,0,0.3) !important;
  z-index: 10 !important;
}


/* Style spécifique pour miniatures 100x100 */
img.miniature-100 {
  /* VERROUILLAGE DU FORMAT */
  width: 100px !important;
  height: 100px !important;
  object-fit: cover !important; /* Pour que l'image remplisse le carré sans se déformer */
  display: block !important;

  /* BORD BLANC INTERNE (4px et Radius 10px) */
  box-sizing: border-box !important;
  border-radius: 10px !important; 
  outline: 4px solid white !important; 
  outline-offset: -4px !important; 
  
  /* ANIMATION */
  transition: all 0.3s ease !important;
  cursor: pointer;
  position: relative;
  z-index: 1;
}

/* EFFET AU SURVOL (Rouge + Zoom + Soulèvement) */
img.miniature-100:hover {
  outline: 4px solid #FF0000 !important; /* Passe au rouge vif */
  transform: scale(1.10) translateY(-5px) !important; /* Zoom un peu plus fort (10%) car l'image est petite */
  box-shadow: 0 10px 20px rgba(0,0,0,0.4) !important;
  z-index: 10 !important;
}

/* EFFET AU CLIC */
img.miniature-100:active {
  transform: scale(1.05) translateY(-2px) !important;
}



/* = Bloc Padding Multi Breakpoint
-------------------------------------------------------------- */

@media (min-width: 576px) {
    .bloc-xxl-sm{padding:200px 20px;}
    .bloc-xl-sm{padding:150px 20px;}
    .bloc-lg-sm{padding:100px 20px;}
    .bloc-md-sm{padding:50px 20px;}
    .bloc-sm-sm{padding:20px;}
    .bloc-no-padding-sm{padding:0 20px;}
}
@media (min-width: 768px) {
    .bloc-xxl-md{padding:200px 20px;}
    .bloc-xl-md{padding:150px 20px;}
    .bloc-lg-md{padding:100px 20px;}
    .bloc-md-md{padding:50px 20px;}
    .bloc-sm-md{padding:20px 20px;}
    .bloc-no-padding-md{padding:0 20px;}
}
@media (min-width: 992px) {
    .bloc-xxl-lg{padding:200px 20px;}
    .bloc-xl-lg{padding:150px 20px;}
    .bloc-lg-lg{padding:100px 20px;}
    .bloc-md-lg{padding:50px 20px;}
    .bloc-sm-lg{padding:20px;}
    .bloc-no-padding-lg{padding:0 20px;}
}


/* = Mobile adjustments 
-------------------------------------------------------------- */
@media (max-width: 1024px)
{
    .bloc.full-width-bloc, .bloc-tile-2.full-width-bloc .container, .bloc-tile-3.full-width-bloc .container, .bloc-tile-4.full-width-bloc .container{
        padding-left: 0; 
        padding-right: 0;  
    }
}
@media (max-width: 991px)
{
    .container{width:100%;}
    .bloc{padding-left: constant(safe-area-inset-left);padding-right: constant(safe-area-inset-right);} /* iPhone X Notch Support*/
    .bloc-group, .bloc-group .bloc{display:block;width:100%;}
}
@media (max-width: 767px)
{
    .bloc-tile-2 .container, .bloc-tile-3 .container, .bloc-tile-4 .container{
        padding-left:0;padding-right:0;
    }
    .btn-dwn{
       display:none; 
    }
    .voffset{
        margin-top:5px;
    }
    .voffset-md{
        margin-top:20px;
    }
    .voffset-lg{
        margin-top:30px;
    }
    form{
        padding:5px;
    }
    .close-lightbox{
        display:inline-block;
    }
    .blocsapp-device-iphone5{
	   background-size: 216px 425px;
	   padding-top:60px;
	   width:216px;
	   height:425px;
    }
    .blocsapp-device-iphone5 img{
	   width: 180px;
	   height: 320px;
    }
}

@media (max-width: 991px){
	.blocs-card-width{
		width:50%;
	}
	
}

@media (max-width: 767px){
	.blocs-card-width{
		width:50%;
	}
	.quote-text{
		font-size:22px;
	}
	
}

@media (max-width: 575px){
	.navbar-logo{
		font-size:18px;
	}
	.blocs-card-width{
		width:100%;
	}
	.quote-text{
		font-size:18px;
	}
	.footer-link{
		text-align:center;
	}
	
}

