html,
body {
    width: 100%;
    height: 100%;
  }

body {
    font-family: 'Montserrat', sans-serif; font-size: 17px;
	
}

hr {
    max-width: 30px;
    border-color: #ccc;
    border-width: 1px;
	}

hr.light {
    max-width: 50px;
    border-color: #666;
    border-width: 3px;
}


hr.light2 {
    max-width: 30px;
    border-color: #F79805;
    border-width: 5px;
	}

a {
    color: #000;
	-webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
}

a:hover,
a:focus {
  color: #F79805;
  text-decoration: none;
}

a#lien1 {
    color:#fff; 
	-webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
	text-align:left;
	font-size:14px;
	font-family: 'Montserrat', sans-serif;
}


a#lien1:hover,
a#lien1:focus {
  color: #ccc;
  text-decoration: underline;
  font-size:14px
}


h1 {
  font-family: 'Montserrat', sans-serif;
  color: #fff;
 text-shadow: 0 2px 4px rgba(0,0,0,0.6);
}
 
	
h2 {
font-family: 'Montserrat', sans-serif; font-size:30px; color:#fff;  
}
	
h3 {
font-family: 'Montserrat', sans-serif; font-size:50px; color:#fff; 
}

h4 {
font-family: 'Montserrat', sans-serif; font-size:20px; color:#E09C09; 
}

	
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #fff;
}

h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 50%;
}


.small, small {
    font-size: 70%; color:#7D7D7D
}



p {
    font-size: 17px;
}



.bg-1 {
	background-color:#f8f8f8
 
}

.bg-0 {
	background-color:#07205c
 
}

.bg-2 {
	background-color:#ededed;	
}

.bg-3 {
	background-color:#FFFFFF;	
}


.bg-19 {
	
    /* Set a specified height, or the minimum height for the background image */
    min-height: 900px;
	position: relative;
    width: 100%;
 /*   min-height: auto;*/
    text-align: justify;
	background-image:url(../img/bg-19.jpg);
    /* Set background image to fixed (don't scroll along with the page) */
    background-attachment: fixed;
    /* Center the background image */
    background-position: center;
    /* Set the background image to no repeat */
    background-repeat: no-repeat;
    /* Scale the background image to be as large as possible */
    background-size: cover;
}


.bg-19sm {
	background-image: url(../img/bg-19.jpg);
    /* Set a specified height, or the minimum height for the background image */
    min-height: 750px;
    /* Set background image to fixed (don't scroll along with the page) */
    background-attachment: local;
    /* Center the background image */
    background-position: center;
    /* Set the background image to no repeat */
    background-repeat: no-repeat;
    /* Scale the background image to be as large as possible */
    background-size: cover;
}





.bg-22 {
	
    /* Set a specified height, or the minimum height for the background image */
    min-height: 700px;
	position: relative;
    width: 100%;
 /*   min-height: auto;*/
    text-align: justify;
	background-image:url(../img/bg-22.jpg);
    /* Set background image to fixed (don't scroll along with the page) */
    background-attachment: local;
    /* Center the background image */
    background-position: center;
    /* Set the background image to no repeat */
    background-repeat: no-repeat;
    /* Scale the background image to be as large as possible */
    background-size: cover;
}/*pv2*/




.bg-23 {
	background-image: url(../img/bg-23.jpg);
    /* Set a specified height, or the minimum height for the background image */
    min-height: 590px;
    /* Set background image to fixed (don't scroll along with the page) */
    background-attachment: local;
    /* Center the background image */
    background-position: center;
    /* Set the background image to no repeat */
    background-repeat: no-repeat;
    /* Scale the background image to be as large as possible */
    background-size: cover;
}/*lf*/




.bg-24 {
	background-image: url(../img/bg-24.jpg);
    /* Set a specified height, or the minimum height for the background image */
    min-height: 250px;
    /* Set background image to fixed (don't scroll along with the page) */
    background-attachment: local;
    /* Center the background image */
    background-position: center;
    /* Set the background image to no repeat */
    background-repeat: no-repeat;
    /* Scale the background image to be as large as possible */
    background-size: cover;
}



.bg-25 {
	
    /* Set a specified height, or the minimum height for the background image */
    min-height: 700px;
	position: relative;
    width: 100%;
 /*   min-height: auto;*/
    text-align: justify;
	background-image:url(../img/bg-25.jpg);
    /* Set background image to fixed (don't scroll along with the page) */
    background-attachment: local;
    /* Center the background image */
    background-position: center;
    /* Set the background image to no repeat */
    background-repeat: no-repeat;
    /* Scale the background image to be as large as possible */
    background-size: cover;
}/*pv2*/



.text-faded {
     color:#BE3032;
	font-size:15px;
} 



.text-titre3 {
font-family: 'Montserrat', sans-serif;
color : #666;
font-size : 25px;
font-weight : 200;
}

.text-titre4 {
font-family: 'Montserrat', sans-serif;
color : #fff;
font-size : 25px;
font-weight : 200;
}



.text-titre5 {
font-family: 'Montserrat', sans-serif;
color : #666;
font-size : 21px;
font-weight : 200;
}


.text-gris{
	font-family: 'Montserrat', sans-serif;
	color : #666;
	font-size : 18px;
	}

.text-gris2{
	font-family: 'Montserrat', sans-serif;
	color : #666;
	font-size : 20px;
	}

.text-gris3{
	font-family: 'Montserrat', sans-serif;
	color : #666;
	font-size : 18px;
	}

.text-gris2{
	font-family: 'Montserrat', sans-serif;
	color : #666;
	font-size : 20px;
	}
	

.liencommune{
  color:#ffffff;                 /* blanc */
  text-decoration:none;
  transition:color 0.3s ease;
}

.liencommune:hover{
  color:#dcdcdc;                 /* gris clair au survol */
  text-decoration:none;
}

 

.text-bla {
 font-family: 'Montserrat', sans-serif; 
	font-size:20px; 
	color:#fff 
} 


.text-bla3 {
 font-family: 'Montserrat', sans-serif; 
	font-size:25px; 
	color:#fff 
}  


.text-bla4 {
 font-family: 'Montserrat', sans-serif; 
	font-size:15px; 
	color:#fff 
} 


.text-bla5 {
 font-family: 'Montserrat', sans-serif; 
	font-size:22px; 
	color:#fff 
}  


.text-or{
	font-family: 'Montserrat', sans-serif;
	color : #F79805;
	font-size : 35px;
	}

.text-or2{
	font-family: 'Montserrat', sans-serif;
	color : #F79805;
	font-size : 29px;
	}

.text-or3 {
  font-size: 33px;
  font-weight: 700;
  margin-top: 10px;
  margin-bottom: 25px;
  opacity: 0.95;
  color: #BD2F32;
	}


.text-or4{
	font-family: 'Montserrat', sans-serif;
	color : #F79805;
	font-size : 20px;
	
	}

.text-or5{
	font-family: 'Montserrat', sans-serif;
	color : #F79805;
	font-size : 33px;
	}

.text-bleu3 {
  font-size: 33px;
  font-weight: 500;
  margin-top: 10px;
  margin-bottom: 25px;
  opacity: 0.95;
  color: #4F69C4;

}


.text-bleu{
	font-family: 'Montserrat', sans-serif;
	color : #0B4EB5;
	font-size : 33px;
	}

.text-bleu2{
	font-family: 'Montserrat', sans-serif;
	color : #0B4EB5;
	font-size : 23px;
	}

.center-block2 {
    display: block;
    margin-left: auto;
    margin-right:0px;
 }

section {
    padding: 100px 0; 
}

aside {
    padding: 50px 0;
}

.no-padding {
    padding: 0;
}

.padding-10 {
    padding-top:10px; padding-bottom:10px;
	}
	
.padding-20 {
    padding-top:20px; padding-bottom:20px; padding-left:20px; padding-right:20px;
	}

.padding-30 {
    padding-left:30px; padding-right:30px;
	}
	
.padding-top-15 {
    padding-top:15px; padding-bottom:0px;
	}
	
.padding-top-30 {
    padding-top:30px; 
	}
	
.padding-top-50 {
    padding-top:50px;
	}
.padding-top-60 {
    padding-top:60px;
	}

.padding-top-70 {
    padding-top:70px;
	}
	
.padding-top-100 {
   padding-top:100px;
	
		}

.padding-bottom-10 {
    padding-bottom:10px;
	}
	
.padding-bottom-15 {
    padding-bottom:15px;
	}

.padding-bottom-20 {
    padding-bottom:20px;
	}

.padding-bottom-30 {
    padding-bottom:30px;
	}
	
.padding-bottom-40 {
    padding-bottom:40px;
	}
	
.padding-bottom-50 {
    padding-bottom:50px;
	}

.padding-bottom-70 {
    padding-bottom:70px;
	}

	.padding-bottom-100 {
    padding-bottom:100px;
	}



.carousel-fade .carousel-inner .item {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
.carousel-fade .carousel-inner .item,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  opacity: 0;
}
.carousel-fade .carousel-inner .active,
.carousel-fade .carousel-inner .next.left,
.carousel-fade .carousel-inner .prev.right {
  opacity: 1;
}
.carousel-fade .carousel-inner .next,
.carousel-fade .carousel-inner .prev,
.carousel-fade .carousel-inner .active.left,
.carousel-fade .carousel-inner .active.right {
  left: 0;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
}
.carousel-fade .carousel-control {
  z-index: 2;
}
  
.carousel-inner img {
      -webkit-filter: grayscale(0%);
      filter: grayscale(0%); /* make all photos black and white */ 
      width: 100%; /* Set width to 100% */
      margin: auto;
	  
	 }
	 
.carousel-fade .carousel-inner .item {
  -webkit-transition-property: opacity;
  transition-property: opacity;
}
	
 
.carousel-caption p {

	  padding-bottom: 20px;
	  padding-top: 10px; 
	  
  }


.carousel-caption h4 {
      color: #FFF !important; 
	  padding-bottom: 60px;
	  padding-top: 20px; 
	  text-shadow: 1px 1px 15px #000;
	width: 100%;
  }

@media (max-width: 600px) {
	

	
.carousel-caption {
      display: none; /* Hide the carousel text when the screen is less than 600 pixels wide */
	
    }
	
.carousel-inner > .item > a > img, .carousel-inner > .item > img, .img-responsive, .thumbnail a > img, .thumbnail > img {
    display: block;
    max-width: 100%;
    height: auto;
	/*padding-top:50px;  carouselle mobile incompatible ombre portée image */
	
}
  }
  
  
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  padding-left: 0;
  margin-left: -30%;
  text-align: center;
  list-style: none;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  /*margin-bottom: 100px;*/
  margin:1px; 
  text-indent: -999px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
  border: 1px solid #fff;
  border-radius: 10px;
}
  
.carousel-indicators .active {
  width: 12px;
  height: 12px;
/*  margin-bottom: 100px; */
margin:0;
  background-color: #fff;
 
}
  /* carousel bootstrap fin */
.list-group-item:first-child {
      border-top-right-radius: 0;
      border-top-left-radius: 0;
  }
.list-group-item:last-child {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0;
  }


.navbar {
	
   	font-family: 'Montserrat', sans-serif;
	margin-bottom: 0;
	background-color:#fff;
   /* border-bottom: #f79805 solid 3px;*/
    font-size: 14px !important; 
    opacity: 1;color: #000 ;
	font-weight: 700;
}   

.navbar-brand {
  float: left;
  height: 50px;
  padding: 15px 15px;
  font-size: 15px;
  line-height: 20px;
}



@media (min-width: 768px)
.navbar>.container .navbar-brand, .navbar>.container-fluid .navbar-brand {
    margin-left: -15px;
	
}

.navbar-brand>img {
    display: block;
    padding: 0px;
	
}

  
.navbar .navbar-header .navbar-brand:hover,
.navbar .navbar-header .navbar-brand:focus {
        color: #000 
    }
  
.nav > li.active>a,
.nav>li.active>a:focus {
	background-color: #1349c5!important;
	 color: #fff!important;
		}
 

  
.nav > li > a:focus, .nav > li > a:hover {
    text-decoration: none;
    background-color: #f2b705;
	color:#000
}


.nav .open > a, .nav .open > a:focus, .nav .open > a:hover {
    background-color: #FFF; 
    border-color: #000;
	color:#000;	
} 


.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
	line-height: 1.42857143;
    color: #000;
    white-space: nowrap;
	font-size:12px;
} 

.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
    color: #000;
    text-decoration: none;
    background-color: #C5C8D7;
	font-size:12px;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {
    color: #000;
    text-decoration: none;
    background-color: #C5C8D7;
    outline: 0;
}
	

@media (max-width: 767px) {

.dropdown-menu > li > a {
    display: block;
    padding: 3px 20px;
    clear: both;
	line-height: 1.42857143;
    color: #666;
    white-space: nowrap;
	font-size:12px;
}

.dropdown-menu > li > a:focus, .dropdown-menu > li > a:hover {
    color: #666;
    text-decoration: none;
    background-color: #C5C8D7;
	font-size:12px;
}

.dropdown-menu > .active > a, .dropdown-menu > .active > a:focus, .dropdown-menu > .active > a:hover {
    color: #666;
    text-decoration: none;
   background-color: #C5C8D7;
    outline: 0;
}

	}

.navbar-toggle .icon-bar {
  background-color: #333;
} 


header {
    position: relative;
	width: 100%;
	min-height: auto;
    text-align: right;
    color: #fff;
	background-image: url(../img/header.jpg);
	background-repeat:no-repeat;
    background-position: center;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
	border-bottom: solid #0091c9 5px;
}

header .header-content {
    position: relative;
    width: 100%;
    padding: 100px 15px;
    text-align: right;
}

header .header-content .header-content-inner h1 {
    margin-top: 0;
    margin-bottom: 0;
    text-transform: uppercase;
    /*font-weight: 700;*/
}

header .header-content .header-content-inner hr {
    margin: 30px auto;
}

header .header-content .header-content-inner p {
    margin-bottom: 10px;
    font-size: 29px;
    font-weight: 300;
    color: rgba(115,79,116,.9);
}

@media(min-width:768px) {
    header {
        min-height: 100%;
    }

    header .header-content {
        position: absolute;
        top: 50%;
        padding: 0 50px;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    }

    header .header-content .header-content-inner {
        margin-right: auto;
        margin-left: auto;
        max-width: 1000px;
    }

    header .header-content .header-content-inner p {
       /* margin-right: auto;*/
        margin-left: auto;
        max-width: 80%;
        font-size: 20px;
    }
}


.section-heading {
    margin-top: 0;
}

.service-box {
    margin: 50px auto 0;
    max-width: 400px;
}


@media(min-width:992px) {
    .service-box {
        margin: 20px auto 0;
    }
}

.service-box {
    margin: 50px auto 0;
    max-width: 400px;
	background-color: rgba(255,255,255,1.00);
}


@media(min-width:992px) {
    .service-box {
        margin: 20px auto 0;
    }
}

.service-box p {
    margin-bottom: 0;
}

.portfolio-box {
    display: block;
    position: relative;
    margin: 0 auto;
    max-width: 950px;/*650*/
	
}

.portfolio-box .portfolio-box-caption {
    display: block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #fff;
    opacity: 0;
    background: rgba(0,0,0,.9);
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content {
    position: absolute;
    top: 50%;
    width: 100%;
    text-align: center;
    transform: translateY(-50%);
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category,
.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
    padding: 0 13px;
   font-family: 'Lato', sans-serif;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
   
    font-size: 14px;
    font-weight: 600;
}

.portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
    font-size: 18px;
}

.portfolio-box:hover .portfolio-box-caption {
   opacity: 0.7;
	background:#000; 
		
}

@media(min-width:768px) {
    .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-category {
        font-size: 16px;
    }

    .portfolio-box .portfolio-box-caption .portfolio-box-caption-content .project-name {
        font-size: 22px;
    }
}

.call-to-action h2 {
    margin: 0 auto 20px;
}


.no-gutter > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
}


@media (max-width: 767px) {

  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #cdcdcd;
    background-color: transparent;}
	}

.call-to-action h2 {
    margin: 0 auto 20px;
}

.text-primary {
    color: #fff ; 
} 

.text-primary2 {
    color:#F79805;
}


/*.no-gutter > [class*=col-] {
    padding-right: 0;
    padding-left: 0;
}*/

.no-gutter > [class*=col-] {
    padding: 0;
}



.btn-default {
	border-color: #323030;
    color: #fff;
	font-size:15px;
    background-color: #994748;
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
}

.btn-default:hover,
.btn-default:focus,
.btn-default.focus,
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
    border-color: #ededed;
    color: #222;
    background-color: #f2f2f2;
}

.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
    background-image: none;
	
}

.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
    border-color: #fff;
    background-color: #fff;
	
}

.btn-default .badge {
    color: #fff;
    background-color: #222;
	
}

.btn-primary {
    border-color: #f05f40;
    color: #fff;
    background-color: #F63;
    -webkit-transition: all .35s;
    -moz-transition: all .35s;
    transition: all .35s;
} 


.btn-a {
    display: inline-block;
padding: 12px 12px;
margin-bottom: 0;
font-size: 16px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 0px solid #666;
border-radius: 14px;
background-color:#015796;
color:#fff
    }
	

.btn-a:hover,
.btn-a:focus,
.btn-a.focus,
.btn-a:active,
.btn-a.active,
.open > .dropdown-toggle.btn-a {
    border-color: #AEABAB;
    color: #fff;
    background-color: #666;
	border-radius: 14px;
	
}



.btn-b {
display: inline-block;
padding: 12px 12px;
margin-bottom: 0;
font-size: 18px;
font-weight: 400;
line-height: 1.42857143;
text-align: center;
white-space: nowrap;
vertical-align: middle;
-ms-touch-action: manipulation;
touch-action: manipulation;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
background-image: none;
border: 0px solid #666;
border-radius: 14px;
background-color:#F79805;
color:#fff;
    }
	

.btn-b:hover,
.btn-b:focus,
.btn-b.focus,
.btn-b:active,
.btn-b.active,
.open > .dropdown-toggle.btn-b {
    border-color: #AEABAB;
    color: #fff;
    background-color: #666;
	border-radius: 14px;
	
}



.btn-c {
       color: #fff;
    background-color: #BF6FC5;
	font-size:13px;
    } 
	
	.btn-c:hover,
.btn-c:focus,
.btn-c.focus,
.btn-c:active,
.btn-c.active,
.open > .dropdown-toggle.btn-c {
    border-color: #E2BEE7;
    color: #635F60;
    background-color: #E2BEE7;
}



.btn-d {
       color: #fff;
    background-color: #39F;
	font-size:11px;
    } 
	
	.btn-d:hover,
.btn-d:focus,
.btn-d.focus,
.btn-d:active,
.btn-d.active,
.open > .dropdown-toggle.btn-d {
    border-color: #ed431f;
    color: #fff;
    background-color: #999;
}


.btn-e {
       color: #fff;
    background-color: #3CF;
	font-size:11px;
    } 
	
	.btn-e:hover,
.btn-e:focus,
.btn-e.focus,
.btn-e:active,
.btn-e.active,
.open > .dropdown-toggle.btn-e {
    border-color: #ed431f;
    color: #fff;
    background-color: #999;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary.focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    border-color: #ed431f;
    color: #000;
    background-color: #fff;
}

.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
    background-image: none;
}

.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
    border-color: #f05f40; 
    background-color: #f05f40;
}

.btn-primary .badge {
    color: #f05f40;
    background-color: #fff;
}


.btn-xl {
    padding: 15px 30px;
}

::-moz-selection {
    text-shadow: none;
    color: #fff;
    background: #222;
}

::selection {
    text-shadow: none;
    color: #fff;
    background: #222;
}



.thumbnail {
    display: block;
    line-height: 1.42857143;
	background-color:#FFFFFF;
    border: 0px solid #CECCCC;
    border-radius: 4px;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out;
} 


.thumbnail2 {
  display: block;
  line-height: 1.42857143;
  background-color: #f8f7f7;
  border: 0px solid #ccc;
  border-radius: 5px;
  -webkit-transition: border .2s ease-in-out;
  -o-transition: border .2s ease-in-out;
  transition: border .2s ease-in-out;
  min-height: 150px;
	padding-left: 40px;
	padding-right:40px
} 

.thumbnail3 {
    display: block;
	background-color:rgba(000,000,000,.40);
	font-size:25px;
	font-family: 'Poiret One', cursive;
	color:#fff;
	letter-spacing:2px; 
    border-radius: 4px;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out;
}


.thumbnail4 {
    display: block;
	background-color:rgba(000,000,000,.60);
	font-size:25px;
	font-family: 'Poiret One', cursive;
	color:#fff;
	letter-spacing:2px; 
    border-radius: 4px;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out;
	}



.thumbnail5 {
    display: block;
	color:#fff;
	font-size:50px;
    /*line-height: 1.42857143;*/
	background-color:rgba(11,8,8,.30);
	font-family: 'Poiret One', cursive;
 /*   border: 1px solid #ddd;*/
    border-radius: 2px;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out;
} 




.thumbnail6 {
    display: block;
 	padding-left:5px;
	padding-right:5px;
	padding-top:5px;
	padding-bottom:5px;
	background-color:#FFFFFF;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-transition: border .2s ease-in-out;
    -o-transition: border .2s ease-in-out;
    transition: border .2s ease-in-out;
} /*i*/


img::selection {
    color: #fff;
    background: 0 0;
}

img::-moz-selection {
    color: #fff;
    background: 0 0;
}

.img-center {margin:0 auto;}

.img3 {
box-shadow: 1px 3px 4px #666666;
}


.img5 {
	border: 3px solid #fff;
box-shadow: 1px 4px 8px #666666;
}



.img-rounded {
  border-radius: 10px;
	
}



.img-grayscale
{
        filter: grayscale(0);
        -webkit-filter: grayscale(0);
        -moz-filter: grayscale(0);
        -o-filter: grayscale(0);
        -ms-filter: grayscale(0);
		opacity:0.9;
		filter:alpha(opacity=1)
}
.img-grayscale:hover
{
	filter: grayscale(1);
        -webkit-filter: grayscale(1);
        -moz-filter: grayscale(1);
        -o-filter: grayscale(1);
        -ms-filter: grayscale(1);
		opacity:0.9;
		filter:alpha(opacity=1)
}


.img-thumbnail {
  display: inline-block;
  max-width: 100%;
  height: auto;
  padding: 2px;
  line-height: 1.42857143;
  background-color: #fff;
  border-radius: 0px;
  -webkit-transition: all .2s ease-in-out;
       -o-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
  box-shadow: 1px 2px 2px #666666;
}

.img-thumbnail3 {
  display: inline-block;
  max-width: 100%;
  height: auto;
  padding: 0px;
  line-height: 1.42857143;
  background-color: #fff;
 /* border: 0px solid #ddd;*/
  border-radius: 1px;
 /* border: 3px solid #fff;*/ /*ER*/
  -webkit-transition: all .2s ease-in-out;
       -o-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
} 



.img-responsive2{padding-top:0px;}

body {
    webkit-tap-highlight-color: #222;
}


/* ============================= */
/* HERO STRUCTURE */
/* ============================= */

.hero-serrurier {
    padding: 140px 0;
    color: #ffffff;
}

.hero-content {
    padding-left: 8%;
}

/* ============================= */
/* TITRES */
/* ============================= */

.hero-title {
    font-size: 42px;
    font-weight: 700;
}



.hero-title-xs {
    font-size: 28px;
    font-weight: 700;
    text-align: left;
}

/* ============================= */
/* LISTES */
/* ============================= */

.hero-list,
.hero-list-xs {
    list-style: none;
    padding-left: 0;
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: left; /* alignement à gauche */
}

.hero-list li,
.hero-list-xs li {
    display: block;   /* important pour aligner les lignes */
    text-align: left;
    margin-bottom: 10px;
    font-size: 19px;
}

.hero-list li::before,
.hero-list-xs li::before {
    content: "• ";
    color: #f2b705;
    font-size: 20px;
}

/* ============================= */
/* BOUTON ORANGE */
/* ============================= */

.btn-urgence {
    background-color: #f2b705;
    color: #0a234f;
    font-weight: 700;
    padding: 14px 32px;
    border-radius: 4px;
    font-size: 18px;
    transition: 0.3s ease;
    border: none;
}

.btn-urgence:hover {
    background-color: #fff;
    color: #0a234f;
}

.hero-btn-wrapper {
    margin-top: 20px;
}

/* ============================= */
/* RESPONSIVE */
/* ============================= */

@media (max-width: 768px) {
    .hero-serrurier {
        padding: 100px 0;
    }

    .hero-content {
        padding-left: 5%;
        padding-right: 5%;
    }

    .hero-list-xs li {
        font-size: 16px;
    }
}


.hero-subtitle {
    font-size: 29px;      /* ← plus impactant */
    font-weight: 500;
    margin-top: 10px;
    margin-bottom: 25px;
    opacity: 0.95;
	color: #F3A634;
	text-shadow: 0 2px 4px rgba(0,0,0,0.6);

}




/* ============================= */
/* HERO – VOILE PREMIUM GLOBAL */
/* ============================= */

.hero-serrurier{
  position: relative;
  overflow: hidden;
}

/* Voile premium dégradé */
.hero-serrurier:before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;

  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.60) 0%,
    rgba(0,0,0,0.50) 35%,
    rgba(0,0,0,0.35) 65%,
    rgba(0,0,0,0.15) 85%,
    rgba(0,0,0,0.00) 100%
  );

  z-index:1;
}

/* Remet le contenu au-dessus du voile */
.hero-serrurier .container-fluid{
  position: relative;
  z-index:2;
}



.hero-keys-xs {
    position: relative;
    z-index: 2; /* même niveau texte */
    margin-top: 40px;
    text-align: center;
}

.hero-keys-xs img {
    max-width: 280px;
    opacity: 0.85; /* légèrement fondu pour s'intégrer */
}




/* ============================= */
/* HERO – FILIGRANE CLES EN XS   */
/* ============================= */

/* Par défaut : pas de filigrane */
.hero-serrurier{
  position: relative;
}

/* XS uniquement :  les clés en fond */
@media (max-width: 767px){

  /* garde  background existant (bg-19sm) ajout image par-dessus en filigrane */
  .hero-serrurier{
    background-image:
      url('img/img-1.png'),          /* filigrane clés */
      inherit;                       /* garde le bg déjà défini par bg-19sm */
    background-repeat:
      no-repeat,
      inherit;
    background-position:
      center bottom,
      inherit;
    background-size:
      340px auto,                    /* taille des clés (ajuste) */
      inherit;
  }

  /* filigrane discret */
  .hero-serrurier{
    background-blend-mode: normal;
  }

  /* Astuce “filigrane” : baisse l’intensité via un voile interne */
  .hero-serrurier:after{
    content:"";
    position:absolute;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background: rgba(10,35,80,0.10); /* petit voile bleu pour fondre le filigrane */
    z-index:1;
    pointer-events:none;
  }

  /* le contenu reste au-dessus */
  .hero-serrurier .container-fluid{
    position: relative;
    z-index:2;
  }

  /* IMPORTANT : voile premium (before) doit rester visible au-dessus du filigrane */
  .hero-serrurier:before{
    z-index:1;
  }
}


/* ============================= */
/* ZONE CONFIANCE PREMIUM */
/* ============================= */

.zone-confiance {
    padding: 90px 0;
    background: #f5f8fc;
}

.confiance-card {
    background: #ffffff;
    padding: 40px 30px;
    text-align: center;
    border-radius: 6px;
    transition: 0.3s ease;
    box-shadow: 0 8px 20px rgba(0,0,0,0.06);
    margin-bottom: 30px;
}

.confiance-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 35px rgba(0,0,0,0.12);
}

.icon-circle {
    width: 70px;
    height: 70px;
    margin: 0 auto 25px;
    background: #4f69c4;
    color: #f2b705;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.confiance-card h3 {
    font-size: 22px;
    font-weight: 700;
    color: #0a234f;
    margin-bottom: 15px;
}

.highlight {
    font-size: 18px;
    font-weight: 500;
    color: #333;
    line-height: 1.6;
}


#vitrerie .confiance-card .text-or3 {
    color: #C5080B !important;
	font-size: 25px;
}
/* Responsive */

@media (max-width: 768px) {
    .zone-confiance {
        padding: 70px 20px;
    }

    .confiance-card {
        padding: 35px 25px;
    }

    .confiance-card h3 {
        font-size: 20px;
    }

    .highlight {
        font-size: 16px;
    }
}



/* =========================
   ZONE CONFIANCE : cartes même hauteur
========================= */

@media (min-width: 992px){

  .zone-confiance .row-equal{
    display: flex;
    align-items: stretch;
  }

  .zone-confiance .row-equal > [class*="col-"]{
    display: flex;
  }

  .zone-confiance .row-equal .confiance-card{
    width: 100%;
  }

}


/* ============================= */
/* LISTE ASSURANCE PREMIUM */
/* ============================= */

.assurance-list {
    list-style: none;
    padding: 0;
    margin-top: 20px;
    text-align: left;
}

.assurance-list li {
    background: #f5f8fc;
    padding: 12px 15px 12px 40px;
    margin-bottom: 10px;
    border-left: 4px solid #f2b705;
    position: relative;
    font-weight: 500;
    color: #0a234f;
    border-radius: 4px;
}

.assurance-list li:before {
    content: "\2713";
    position: absolute;
    left: 12px;
    top: 10px;
    color: #f2b705;
    font-weight: bold;
}



/* ============================= */
/* SECTION LEGITIMITE */
/* ============================= */

.section-legitimite {
    background: #f7f9fc;
    padding: 90px 0;
}

.legitimite-title {
    font-size: 32px;
    font-weight: 700;
    color: #0a234f;
    margin-bottom: 20px;
}

.legitimite-subtitle {
    font-size: 18px;
    color: #4a5c78;
    max-width: 750px;
    margin: 0 auto 30px auto;
}

.separator-line {
    width: 60px;
    height: 3px;
    background: #f2b705;
    margin: 20px auto 50px auto;
}

.legitimite-points p {
    font-size: 18px;
    color: #0a234f;
    margin-bottom: 15px;
    font-weight: 500;
}

/* Responsive */

@media (max-width: 768px) {
    .legitimite-title {
        font-size: 24px;
    }

    .legitimite-subtitle {
        font-size: 16px;
    }

    .legitimite-points {
        text-align: center;
    }
}

/* ============================= */
/* ZONE SERVICES (BG-22)         */
/* + barre centrale en HTML      */
/* ============================= */

.zone-services{
  position: relative;
  padding: 110px 0;
  color: #ffffff;
}

/* Voile plus fort à droite */
.zone-services:before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:100%; height:100%;
  background: linear-gradient(
    90deg,
    rgba(0,0,0,0.30) 0%,
    rgba(0,0,0,0.36) 40%,
    rgba(0,0,0,0.52) 75%,
    rgba(0,0,0,0.62) 100%
  );
  z-index:1;
  pointer-events:none;
}

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

/* Titres */
.zone-services .services-title{
  font-size: 36px;
  font-weight: 600;
  margin: 0 0 10px 0;
}

.zone-services .text-or2{
  font-size: 22px;
  margin: 0 0 55px 0;
}

/* Alignements colonnes */
.services-left{
  text-align:right;
  padding-right:35px;
}

.services-right{
  text-align:left;
  padding-left:35px;
}

/* LISTES : pas de puces */
.zone-services ul,
.zone-services li{
  list-style: none !important;
}

.zone-services ul{
  padding-left: 0 !important;
  margin: 0 !important;
}

.zone-services li{
  padding-left: 0 !important;
  margin: 0 0 14px 0;
  font-size: 18px;
  line-height: 1.35;
}

.zone-services li:before,
.zone-services li:after{
  content:none !important;
  display:none !important;
}

/* ============================= */
/* BARRE CENTRALE (col-md-2)     */
/* ============================= */

.services-mid{
  position: relative;
  min-height: 260px; /* sécurité si peu de contenu */
}

.services-bar{
  display:block;
  width: 2px;
  height: 100%;
  margin: 0 auto;
  background: rgba(255,255,255,0.35);
  border-radius: 2px;
}

/* Pour que la barre prenne la hauteur du contenu */
.services-row{
  display: flex;
  align-items: stretch;
}


@media (max-width: 991px){
  .services-row{
    display:block;
  }

  .services-left,
  .services-right{
    text-align:left;
    padding:0 15px;
  }

  .zone-services .services-title{
    font-size:28px;
  }
}



/* Espace au-dessus des catégories en majuscules */
.services-list li.text-uppercase {
    margin-top: 25px;
}


.services-list li.text-uppercase:first-child {
    margin-top: 0;
}



/* Espace entre les blocs services en responsive */
@media (max-width: 991px) {
    .services-list > li.text-uppercase {
        margin-top: 25px;
    }
}



@media (max-width: 991px) {
    .services-right {
        margin-top: 40px;
    }
}




/* ===================================== */
/* ZONE PRESENTATION / CONTACT (isolée)  */
/* ===================================== */

.zone-presentation-contact{
  background:#f6f7fb; /* encart clair, premium */
  padding: 90px 0;
}

.zone-presentation-title{
  margin: 10px 0 8px 0;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.5px;
  color: inherit; /* tu gères via tes classes si besoin */
}

.zone-presentation-subtitle{
  margin: 0 auto 35px auto;
  max-width: 780px;
  font-size: 18px;
  opacity: 0.95;
}

.zone-presentation-card{
  background:#ffffff;
  border-radius: 10px;
  padding: 35px 25px;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}

/* Mini-effet simple (desktop) */
@media (min-width: 992px){
  .zone-presentation-card{
    transition: transform .22s ease, box-shadow .22s ease;
  }
  .zone-presentation-card:hover{
    transform: translateY(-3px);
    box-shadow: 0 14px 34px rgba(0,0,0,0.10);
  }
}

/* Images carrées */
.zone-presentation-photos{
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}

.zone-presentation-photo{
  width: calc(50% - 8px);
  background:#eef1f6;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid rgba(10,35,80,0.10);
}

.zone-presentation-photo img{
  width:100%;
  height:auto;
  display:block;
}

/* Texte */
.zone-presentation-text{
  padding-left: 25px;
}

.zone-presentation-h3{
  margin-top: 0;
  margin-bottom: 12px;
  font-weight: 700;
  letter-spacing: .4px;
}

.zone-presentation-p{
  font-size: 17px;
  line-height: 1.55;
  margin-bottom: 18px;
}

.zone-presentation-point{
  margin: 0 0 10px 0;
  font-size: 16px;
}

.zone-presentation-note{
  margin-top: 18px;
  padding: 14px 16px;
  border-left: 4px solid #f2b705; /* ton orange */
  background: rgba(242,183,5,0.08);
  border-radius: 6px;
}

.zone-presentation-note-p{
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
}

.zone-presentation-cta{
  margin-top: 20px;
}

.zone-presentation-small{
  margin-top: 10px;
  font-size: 14px;
  opacity: 0.9;
}

/* Responsive */
@media (max-width: 991px){
  .zone-presentation-text{
    padding-left: 15px;
    padding-top: 25px;
  }
}

@media (max-width: 767px){
  .zone-presentation-contact{
    padding: 70px 0;
  }

  .zone-presentation-title{
    font-size: 28px;
  }

  .zone-presentation-card{
    padding: 25px 18px;
  }

  .zone-presentation-photo{
    width: 100%;
  }
}


.zone-presentation-link{
  color: inherit;
  text-decoration: none;
  border-bottom: 1px dotted rgba(255,255,255,0.35);
}
.zone-presentation-link:hover{
  text-decoration: none;
  border-bottom: 1px solid rgba(255,255,255,0.7);
}



/* ===================================== */
/* ZONE TARIFS (isolée)                  */
/* ===================================== */

.zone-tarifs{
  padding: 90px 0;
}

.tarifs-title{
  margin: 8px 0 10px 0;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 0.5px;
}

.tarifs-subtitle{
  margin: 0 auto 35px auto;
  max-width: 820px;
  font-size: 18px;
  opacity: 0.95;
}

/* carte globale */
.tarifs-card{
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 10px;
  padding: 30px 18px;
}

/* liste */
.tarifs-list{
  padding-left: 20px;
  padding-right: 20px;
}

.tarifs-item{
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 0;
  border-bottom: 1px dashed rgba(255,255,255,0.20);
  font-size: 17px;
}

.tarifs-item-last{
  border-bottom: none;
}

.tarifs-label{
  opacity: 0.95;
}

.tarifs-price{
  font-weight: 700;
  white-space: nowrap;
}

/* bloc infos */
.tarifs-info{
  padding-left: 10px;
  padding-right: 10px;
  margin-top: 10px;
}

.tarifs-info-box{
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 10px;
  padding: 18px 18px;
}

.tarifs-info-title{
  margin: 0 0 12px 0;
  font-weight: 700;
  letter-spacing: 0.4px;
}

.tarifs-bullet{
  margin: 0 0 10px 0;
  font-size: 15px;
  line-height: 1.45;
}

.tarifs-dot{
  display:inline-block;
  width:8px;
  height:8px;
  border-radius: 50%;
  background:#f2b705;
  margin-right: 10px;
  position: relative;
  top: -1px;
}

.tarifs-note{
  margin-top: 14px;
  padding: 12px 12px;
  background: rgba(242,183,5,0.08);
  border-left: 4px solid #f2b705;
  border-radius: 6px;
}

.tarifs-note-p{
  margin: 0;
  font-size: 14px;
  line-height: 1.45;
}

.tarifs-cta{
  margin-top: 16px;
}

.tarifs-cta-small{
  margin-top: 8px;
  font-size: 14px;
  opacity: 0.9;
}

/* responsive */
@media (max-width: 991px){
  .tarifs-card{
    padding: 22px 12px;
  }
  .tarifs-list{
    margin-bottom: 20px;
  }
}

@media (max-width: 767px){
  .zone-tarifs{
    padding: 70px 0;
  }
  .tarifs-title{
    font-size: 28px;
  }
  .tarifs-item{
    font-size: 16px;
  }
}

/* ============================= */
/* POINTILLÉS ENTRE LIBELLÉ & PRIX */
/* ============================= */

.tarifs-item{
  display:flex;
  align-items:baseline;
  margin-bottom:12px;
}

/* Le libellé prend toute la largeur dispo */
.tarifs-label{
  display:flex;
  align-items:baseline;
  flex:1;
  min-width:0;
}

/* Les pointillés apparaissent APRÈS le texte du libellé */
.tarifs-label:after{
  content:"";
  flex:1;
  border-bottom:1px dotted rgba(0,0,0,0.45);
  margin:0 10px 4px 10px; /* 4px pour caler sur la ligne */
}

/* Le prix reste à droite */
.tarifs-price{
  white-space:nowrap;
  font-weight:700;
}

.zone-presentation-contact{
  padding-top:100px !important;
  padding-bottom:150px !important;
}

/* Style pour le cookie-banner */
#cookie-banner {
  position: fixed;
  bottom: 0;
  width: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  color: white;
  text-align: center;
  padding: 15px 10px;
  box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.5);
  z-index: 1000;
  display: flex;
  flex-wrap: wrap; /* Permet de passer sur plusieurs lignes si nÃ©cessaire */
  justify-content: center; /* Centre les Ã©lÃ©ments horizontalement */
  align-items: center; /* Aligne verticalement */
  gap: 10px; /* Espacement entre les Ã©lÃ©ments */
}

/* Style pour le texte */
#cookie-banner p {
  margin: 0;
  flex: 1 1 auto; /* Permet au texte de s'adapter Ã  l'espace disponible */
  font-size: 16px; /* Taille de la police */
  line-height: 1.5; /* AmÃ©liore la lisibilitÃ© */
}

/* Style pour le bouton */
#cookie-banner button {
  background-color: orange;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 10px 20px;
  font-size: 14px;
  cursor: pointer;
  flex-shrink: 0; /* EmpÃªche le bouton de rÃ©trÃ©cir */
}

/* Lien dans le texte */
#cookie-banner a {
  color: orange;
  text-decoration: underline;
}

/* Adaptation pour les petits Ã©crans */
@media (max-width: 768px) {
  #cookie-banner {
    flex-direction: column; /* Les Ã©lÃ©ments se superposent */
    text-align: center; /* Texte centrÃ© */
  }

  #cookie-banner p {
    font-size: 14px; /* RÃ©duction de la taille de la police pour petits Ã©crans */
  }

  #cookie-banner button {
    margin-top: 10px; /* Ajoute un espacement entre le texte et le bouton */
    padding: 8px 15px;
  }
}



/* ============================= */
/* HERO TELEPHONE PREMIUM MOBILE */
/* ============================= */

/* Téléphone en orange */
.hero-phone {
    color: #f2b705;
    font-weight: 700;
    transition: 0.3s ease;
}

/* Effet léger au survol desktop */
.hero-phone:hover {
    color: #ffd24a;
}

/* Version mobile premium */
@media (max-width: 768px) {

    .hero-phone {
        color: #f2b705 !important;
        font-size: 22px;
        font-weight: 800;
        letter-spacing: 1px;
        display: inline-block;
        margin-top: 6px;
    }

    /* Petit effet visuel subtil */
    .hero-phone:after {
        content: "";
        display: block;
        width: 60%;
        height: 3px;
        background: #f2b705;
        margin: 6px auto 0;
        border-radius: 2px;
    }
}



/* ============================= */
/* HERO BUTTON RESPONSIVE FIX */
/* ============================= */

@media (max-width: 768px) {

    .btn-hero-mobile {
        width: auto;
        max-width: 100%;
        padding: 14px 20px;
        font-size: 16px;
        white-space: normal;      /* autorise retour ligne */
        line-height: 1.4;
        text-align: center;
        display: inline-block;
    }

    .hero-btn-wrapper {
        padding-left: 15px;
        padding-right: 15px;
    }
}



/* ============================= */
/* HERO BUTTON FIX XS ACCUEIL */
/* ============================= */

@media (max-width: 768px) {

    .hero-btn-wrapper {
        padding-left: 15px;
        padding-right: 15px;
    }

    .hero-serrurier .btn-xl {
        width: auto;
        max-width: 100%;
        padding: 14px 18px;
        font-size: 16px;
        white-space: normal; /* autorise retour ligne */
        line-height: 1.4;
        display: inline-block;
    }
}



/* ============================= */
/* BOUTON XL - VERSION MOBILE (classe dédiée) */
/* ============================= */

@media (max-width: 768px) {

  .btn-xl-mobile {
    width: 100%;
    max-width: 360px;     /* évite un bouton énorme sur grands téléphones */
    display: block;
    margin: 0 auto;
    padding: 14px 16px;
    font-size: 16px;
    line-height: 1.3;
    white-space: normal;  /* autorise retour ligne */
    text-align: center;
  }

  .btn-xl-mobile .glyphicon {
    margin-right: 8px;
  }
}




/* ============================= */
/* FIX MOBILE : BOUTON XL (ACCUEIL + TARIFS) */
/* ============================= */

@media (max-width: 768px) {

  .btn-xl-fix{
    width: 100%;
    max-width: 360px;      /* évite bouton trop large iPhone */
    display: block;
    margin: 0 auto;
    padding: 14px 16px;
    font-size: 16px;
    line-height: 1.3;
    white-space: normal;   /* autorise retour ligne */
    text-align: center;
  }

  .btn-xl-fix .glyphicon{
    margin-right: 8px;
  }
}



/* ============================= */
/* AVIS + CARTE (CONTACT) */
/* ============================= */

.zone-map-avis { margin-top: 10px; }

.avis-box{
  background:#fff;
  border-radius:12px;
  padding:22px 22px 18px;
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
  text-align:left;
}

.avis-stars{
  font-size:22px;
  line-height:1;
  margin-bottom:8px;
}

.avis-stars .star{ color:#f2b705; }
.avis-stars .star-off{ color:#d9d9d9; }

.avis-note{
  margin:0 0 16px;
  color:#0a234f;
}

.btn-google-avis{
  display:inline-block;
  background:#f2b705;
  color:#0a234f;
  font-weight:700;
  padding:12px 18px;
  border-radius:30px;
  text-decoration:none;
  transition:0.25s ease;
}

.btn-google-avis:hover{
  background:#ffd24a;
  color:#0a234f;
  text-decoration:none;
  transform:translateY(-2px);
  box-shadow:0 10px 20px rgba(0,0,0,0.12);
}

.avis-link-small{
  margin-top:12px;
  font-size:13px;
}

.avis-link-small a{
  color:#4f69c4;
  text-decoration:none;
}

.avis-link-small a:hover{ text-decoration:underline; }

/* Carte */
.map-link{ display:block; }

.img-map-adm{
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,0.14);
  transition:0.25s ease;
}

/* Hover carte */
.map-link:hover .img-map-adm{
  transform:translateY(-3px);
  box-shadow:0 16px 35px rgba(0,0,0,0.20);
}

/* Mobile */
@media (max-width: 767px){
  .avis-box{ text-align:center; }
  .btn-google-avis{ width:100%; }
  .zone-avis-col{ margin-bottom:22px; }
}



/* ============================= */
/* AVIS CLIENTS + CARTE (simple, sans chiffres) */
/* ============================= */

.avis-box-simple{
  background:#ffffff;
  border-radius:12px;
  padding:22px 22px 18px;
  box-shadow:0 8px 20px rgba(0,0,0,0.08);
  text-align:left;
  transition:0.25s ease;
}

.avis-stars{
  font-size:22px;
  line-height:1;
  margin-bottom:10px;
}

.avis-stars .star{
  color:#f2b705;
  text-shadow:0 1px 0 rgba(0,0,0,0.08);
}

.avis-note-simple{
  margin:0 0 16px;
  color:#0a234f;
  font-size:15px;
}

/* Bouton avis */
.btn-avis-clients{
  display:inline-block;
  background:#f2b705;
  color:#0a234f;
  font-weight:800;
  padding:14px 22px;
  border-radius:35px;
  text-decoration:none;
  transition:0.25s ease;
  letter-spacing:0.4px;
}

.btn-avis-clients:hover{
  background:#ffd24a;
  color:#0a234f;
  text-decoration:none;
  transform:translateY(-2px);
  box-shadow:0 12px 28px rgba(0,0,0,0.18);
}

.btn-avis-clients .glyphicon{
  margin-right:8px;
}

/* Lien fiche */
.avis-link-small{
  margin-top:12px;
  font-size:13px;
}

.avis-link-small a{
  color:#4f69c4;
  text-decoration:none;
}

.avis-link-small a:hover{
  text-decoration:underline;
}

/* Carte + hover */
.map-link{ display:block; }

.img-map-adm{
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,0.14);
  transition:0.25s ease;
}

.map-link:hover .img-map-adm{
  transform:translateY(-3px);
  box-shadow:0 16px 35px rgba(0,0,0,0.20);
}

/* Mobile */
@media (max-width: 767px){
  .avis-box-simple{ text-align:center; }
  .btn-avis-clients{ width:100%; text-align:center; }
  .zone-avis-col{ margin-bottom:22px; }
}



/* ============================ */
/* Bloc Cibles Clients */
/* ============================ */

.bloc-cibles {
    display: inline-block;
    background: #1349c5;
    padding: 16px 30px;
    margin-top: 20px;
    margin-bottom: 25px;
    border-radius: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.05);
}

.bloc-cibles-text {
    font-family: 'Montserrat', sans-serif;
    color: #F79805;
    font-size: 22px;
    font-weight: 700;
    letter-spacing: 1px;
    text-align: center;
    display: block;
}

/* Responsive */
@media (max-width: 767px) {
    .bloc-cibles {
        padding: 14px 18px;
    }

    .bloc-cibles-text {
        font-size: 18px;
    }
}




/* ============================ */
/* Cibles clients (isolé, sans impacter bloc-cibles existant) */
/* ============================ */

.cibles-wrap{
  margin-top: 18px;  /* espace avec le bouton au-dessus */
}

.cibles-title{
  margin: 0 0 10px 0; /* réduit l’espace entre le titre et la barre */
}

.cibles-bar{
  display: inline-block;
  background: #0a234f; /* bleu profond */
  padding: 14px 22px;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,0.06);
}

.cibles-bar-text{
  font-family: 'Montserrat', sans-serif;
  color: #ffffff;        /* texte blanc */
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.8px;
  line-height: 1.35;
  display: block;
}

/* Responsive */
@media (max-width: 767px){
  .cibles-wrap{ margin-top: 14px; }
  .cibles-bar{ width: 100%; }
  .cibles-bar-text{
    font-size: 16px;
    letter-spacing: 0.4px;
  }
}



/* ============================= */
/* BANDE DISPONIBILITE (nouvelle) */
/* ============================= */

.dispo-wrap{
  margin: 18px auto 10px auto; /* contrôle l'espace sous le texte */
  max-width: 820px;
}

.dispo-box{
  display: flex;
  align-items: flex-start;
  gap: 14px;
  background: #f6f7fb;
  border: 1px solid rgba(10,35,80,0.10);
  border-left: 5px solid #f2b705;
  border-radius: 10px;
  padding: 14px 16px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.dispo-icon{
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #0a234f;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
}

.dispo-icon .glyphicon{
  color: #f2b705;
  font-size: 18px;
  top: 0; /* bootstrap */
}

.dispo-text{
  color: #0a234f;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
}

.dispo-text-small{
  display: inline-block;
  margin-top: 6px;
  font-size: 14px;
  font-weight: 500;
  color: #4a5c78;
}

/* Mobile */
@media (max-width: 767px){
  .dispo-wrap{ margin: 14px auto 8px auto; }
  .dispo-box{ padding: 12px 14px; }
  .dispo-text{ font-size: 15px; }
  .dispo-text-small{ font-size: 13px; }
}




/* ============================ */
/* CIBLES CLIENTS (PUNCHY + ROBUSTE) */
/* ============================ */

.zone-confiance .cibles2-wrap{
  margin-top: 18px;
}

.zone-confiance .cibles2-title{
  margin: 0 0 12px 0;
  opacity: 1;
}

/* Bandeau PUNCHY */
.zone-confiance .cibles2-bar{
  width: 100%;
  max-width: none !important;
  margin: 0 !important;

  background: linear-gradient(135deg, #f2b705 0%, #f79805 100%) !important;
  border: 0 !important;
  border-radius: 12px;
  padding: 16px 18px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.12);
  position: relative;
  overflow: hidden;
}

/* petit effet “shine” léger */
.zone-confiance .cibles2-bar:before{
  content: "";
  position: absolute;
  top: -40%;
  left: -30%;
  width: 60%;
  height: 180%;
  background: rgba(255,255,255,0.18);
  transform: rotate(18deg);
}

/* Texte blanc, lisible */
.zone-confiance .cibles2-bar-text{
  position: relative;
  font-family: 'Montserrat', sans-serif;
  color: #0a234f !important;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.8px;
  line-height: 1.4;
  display: block;
  text-align: center;
}

.zone-confiance .cibles2-bar-text strong{
  font-weight: 800;
}

/* Option : si tu veux le texte en BLANC au lieu de bleu */
.zone-confiance .cibles2-bar.cibles2-white .cibles2-bar-text{
  color: #ffffff !important;
  text-shadow: 0 1px 0 rgba(0,0,0,0.20);
}

/* Mobile */
@media (max-width: 767px){
  .zone-confiance .cibles2-wrap{ margin-top: 14px; }

  .zone-confiance .cibles2-bar{
    max-width: 100%;
    padding: 14px 14px;
    border-radius: 10px;
  }

  .zone-confiance .cibles2-bar-text{
    font-size: 14px;
    letter-spacing: 0.5px;
  }
}


/* ============================ */
/* BOUTON TARIFS HERO ANIMÉ */
/* ============================ */

.hero-btn-tarif{
  margin-top: 18px;
}

.btn-tarif{
  background: linear-gradient(135deg, #ffffff 0%, #f5f7fa 100%);
  color: #0a234f !important;
  border: 2px solid #f2b705;
  font-weight: 700;
  letter-spacing: 0.8px;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
}

/* Hover propre */
.btn-tarif:hover{
  background: #f2b705;
  color: #0a234f !important;
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.25);
}

/* Effet pulse doux (pas agressif) */
@keyframes pulseTarif {
  0% { box-shadow: 0 0 0 0 rgba(242,183,5, 0.6); }
  70% { box-shadow: 0 0 0 14px rgba(242,183,5, 0); }
  100% { box-shadow: 0 0 0 0 rgba(242,183,5, 0); }
}

.btn-tarif{
  animation: pulseTarif 2.5s infinite;
}

/* Stop animation au hover (plus clean) */
.btn-tarif:hover{
  animation: none;
}

/* Mobile ajustement */
@media (max-width: 767px){
  .btn-tarif{
    width: 100%;
  }
}



/* =========================
   PROFIL (portrait + bloc rassurance)
========================= */

.profil-wrap{
  margin-top: 25px;
}

.profil-card{
  background: #ffffff;
  border-radius: 8px;
  box-shadow: 0 10px 26px rgba(0,0,0,0.06);
  padding: 22px;
  margin-bottom: 25px;
}

.profil-card-text{
  padding: 26px 28px;
}

.profil-photo{
  width: 100%;
  max-width: 400px;
  height: 425px;
  object-fit: cover;
  border-radius: 8px;
  display: block;
  margin: 0 auto;
  border: 1px solid rgba(10,35,79,0.08);
}

.profil-name{
  margin: 0 0 6px 0;
  letter-spacing: 0.6px;
}

.profil-role{
  margin: 0 0 10px 0;
  color: #0a234f;
  font-weight: 700;
}

.profil-note{
  margin: 0 0 14px 0;
  color: #556b8a;
  font-size: 15px;
  line-height: 1.55;
}

.profil-sep{
  margin: 18px auto 10px auto;
  max-width: 180px;
  opacity: 0.9;
}

.profil-points p{
  margin-bottom: 10px;
}

/* Responsive */
@media (max-width: 991px){
  .profil-card-text{
    padding: 22px;
  }
  .profil-photo{
    height: auto;
    max-width: 360px;
  }
}


/* CTA sous portrait */
.profil-cta{
  margin-top: 18px;
}

.btn-full{
  width: 100%;
}



/* =========================
   LISTE PROFIL ISOLÉE
========================= */

.profil-list-clean{
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.profil-list-clean li{
  list-style: none !important;
  margin-bottom: 10px;
  padding-left: 22px;
  position: relative;
  line-height: 1.5;
  color: #0a234f;
  font-size: 15px;
}

/* puce fine dorée */
.profil-list-clean li:before{
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f2b705;
}


/* =========================
   PROFIL – LISTE PUCE PROPRE (centre + texte aligné)
========================= */

.profil-points{
  text-align: center; /* le bloc se centre */
}

.profil-list-clean{
  list-style: none;
  padding-left: 0;
  margin: 0;
  display: inline-block; /* permet de centrer le "bloc liste" */
  text-align: left;      /* mais texte aligné à gauche */
}

.profil-list-clean li{
  position: relative;
  padding-left: 22px;
  margin: 0 0 10px 0;
  font-size: 16px; /* ajuste si tu veux */
  line-height: 1.35;
}

.profil-list-clean li:before{
  content: "•";
  position: absolute;
  left: 0;
  top: 0;
  color: #f2b705;
  font-size: 18px;
}


/* =========================
   ALIGNEMENT COLONNES PROFIL
========================= */

@media (min-width: 992px){

  .profil-wrap{
    display: flex;
    align-items: stretch;
  }

  .profil-wrap > [class*='col-']{
    display: flex;
  }

  .profil-wrap .profil-card{
    width: 100%;
  }

}


.profil-wrap .col-md-4{
  align-items: center;
}



/* =========================
   ICONES PLUS PREMIUM (contour bleu, fond blanc)
========================= */

.icon-circle{
  width: 74px;
  height: 74px;
  margin: 0 auto 22px;
  background: #ffffff;
  border: 2px solid #4f69c4;          /* contour bleu */
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  box-shadow: 0 8px 20px rgba(10,35,79,0.08);
}

/* anneau léger (plus stylisé) */
.icon-circle:after{
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: 50%;
  border: 1px solid rgba(79,105,196,0.25);
}

/* glyphicons dans le cercle */
.icon-circle .glyphicon{
  font-size: 28px;
  color: #4f69c4;
}

/* si tu utilises des images dans icon-circle */
.icon-circle img{
  max-width: 34px;
  height: auto;
  filter: none;
}

/* hover premium */
.confiance-card:hover .icon-circle{
  transform: translateY(-1px);
  box-shadow: 0 14px 30px rgba(10,35,79,0.14);
  border-color: #0a234f;
}

.confiance-card:hover .icon-circle .glyphicon{
  color: #0a234f;
}

/* option : petit accent jaune (très discret) */
.icon-circle .glyphicon:after{
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  margin: 6px auto 0;
  border-radius: 50%;
  background: #f2b705;
  opacity: 0.0; /* désactivé par défaut */
}




/* =========================
   CONTACT v2 (camion à gauche + CTA dessous)
========================= */

.zone-contact-card-v2{
  background:#fff;
  border-radius:14px;
  box-shadow:0 14px 28px rgba(0,0,0,.08);
  overflow:hidden;
}

.zone-contact-left{
  padding:30px;
  text-align:center;
}

.zone-contact-visual{
  border-radius:12px;
  box-shadow:0 10px 20px rgba(0,0,0,.08);
  max-width:100%;
  height:auto;
}

.zone-contact-cta-left{
  margin-top:18px;
}

.zone-contact-right{
  padding:30px 35px;
}

.zone-contact-points-v2 .zone-presentation-point{
  margin-bottom:10px;
}

.label-strong{
  display:inline-block;
  font-weight:700;
  color:#1c4fb8; /* bleu plus visible */
  margin-right:6px;
}

.zone-contact-phone{
  font-weight:800;
  color:#1c4fb8;
  text-decoration:none;
}

.zone-contact-phone:hover{
  text-decoration:underline;
}

.zone-note-v2{
  background:#fff7e6;
  border-left:4px solid #F79805;
  border-radius:10px;
  padding:14px 16px;
  margin-top:16px;
}

.note-accent{ color:#d6452f; }
.note-strong{ color:#1c4fb8; }

.zone-contact-mini{
  margin-top:14px;
  color:#666;
  font-size:14px;
}

.zone-contact-mini-link{
  color:#1c4fb8;
  font-weight:800;
  text-decoration:none;
}

.zone-contact-mini-link:hover{ text-decoration:underline; }

/* =========================
   Bouton outline animé (call / avis / etc.)
========================= */

.btn-outline-anim{
  display:inline-block;
  text-align:center;
  padding:14px 18px;
  border-radius:12px;
  border:2px solid #1c4fb8;
  color:#1c4fb8;
  background:transparent;
  font-family:'Montserrat', sans-serif;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.5px;
  line-height:1.2;
  text-decoration:none !important;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease;
  box-shadow:0 10px 18px rgba(28,79,184,.12);
  position:relative;
}

.btn-outline-anim .glyphicon{
  margin-right:8px;
}

.btn-outline-anim:hover,
.btn-outline-anim:focus{
  background:#1c4fb8;
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 14px 26px rgba(28,79,184,.22);
}

.btn-outline-anim--call{
  animation:pulseOutline 1.7s infinite;
}

.btn-outline-anim--reviews{
  animation:pulseOutline 2.1s infinite;
}

@keyframes pulseOutline{
  0%   { box-shadow:0 10px 18px rgba(28,79,184,.12), 0 0 0 0 rgba(28,79,184,.25); }
  70%  { box-shadow:0 14px 26px rgba(28,79,184,.18), 0 0 0 10px rgba(28,79,184,0); }
  100% { box-shadow:0 10px 18px rgba(28,79,184,.12), 0 0 0 0 rgba(28,79,184,0); }
}

/* =========================
   AVIS + CARTE v2
========================= */

.zone-map-avis-v2{
  margin-top:10px;
}

.zone-avis-title{
  margin-bottom:14px;
}

.avis-box-v2{
  background:#fff;
  border-radius:14px;
  box-shadow:0 14px 28px rgba(0,0,0,.08);
  padding:20px 22px;
}

.avis-stars .star{
  color:#F79805;
  font-size:18px;
  margin-right:2px;
}

.map-link-v2 img{
  border-radius:14px;
  box-shadow:0 14px 28px rgba(0,0,0,.10);
}

/* =========================
   Responsive
========================= */

@media (max-width: 991px){
  .zone-contact-right{ padding:24px; }
  .zone-contact-left{ padding:24px; }
}

@media (max-width: 767px){
  .zone-contact-left{ padding:18px; }
  .zone-contact-right{ padding:18px; }

  .btn-outline-anim{
    width:100%;
    max-width:360px;
  }
}


/* PROFIL LISTE – anti double puce (force la puce unique) */
.profil-list-clean li:before,
.profil-list-clean li::before{
  content: none !important;
  display: none !important;
}

/* puis on remet TA puce, proprement */
.profil-list-clean li{
  position: relative;
  padding-left: 22px;
}

.profil-list-clean li:after{
  content: "";
  position: absolute;
  left: 0;
  top: 8px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f2b705;
}



/* =========================
   tel footer
========================= */
footer a[href^="tel"],
footer a[x-apple-data-detectors],
footer a[x-apple-data-detectors-type="telephone"] {
  color: #ffffff !important;
  text-decoration: none !important;
}

