* {
    margin: 0;
    padding: 0;
}

body {
    font-family: 'Lato';
    padding-top: 50px;
}

a:hover {
    text-decoration: none;
}

img {
    max-width: 100%;
}

.center {
    text-align: center;
    width: 100%;
}


/* Structure CSS */


/* -------- Header -------- */


/* -------- Navigation -------- */


/* -------- Fiche détails -------- */


/* -------- Page MAP -------- */


/* -------- Boutons & socials -------- */


/* -------- Footer -------- */


/* -------- Header -------- */

.upperbar {
    background: #054465;
    position: fixed;
    z-index: 100;
    width: 100%;
    height: 50px;
    top: 0;
    text-align: right;
    border-bottom: 3px solid #00202f;
}

.upperbar .logo {
    width: 70px;
    position: absolute;
    display: block;
    left: 0px;
    z-index: 10;
    bottom: 0px;
}

.upperbar .box-tel {
    float: right;
    background: #ad007a;
    color: white;
    padding: 10px 10px 10px 50px;
    border-radius: 0 0 10px 10px;
    margin-right: 15px;
    position: relative;
    border-bottom: 3px solid #8e0064;
    border-left: 3px solid #8e0064;
    border-right: 3px solid #8e0064;
}

.upperbar .box-tel:before {
    content: '\f095';
    font: normal normal normal 21px/1 FontAwesome;
    display: inline-block;
    position: absolute;
    color: #ad007a;
    left: 9px;
    font-size: 20px;
    margin-right: 15px;
    padding: 5px 8px;
    background: white;
    border-radius: 50px;
}

.upperbar .box-tel p {
    font-size: 14px;
    font-weight: 300;
    margin: 0;
    color: white;
    text-transform: uppercase;
    line-height: 18px;
}

.upperbar .box-tel strong {
    font-size: 16px;
    font-weight: 700;
    display: block;
    line-height: 15px;
}

.upperbar .box-tel em {
    font-size: 12px;
    font-weight: 400;
    font-style: normal;
    line-height: 13px;
    margin-top: 4px;
    display: block;
}

.upperbar .icon-circle {
    width: 45px;
    height: 45px;
    border-radius: 50px;
    background: #004869;
    text-align: center;
    float: left;
    margin-right: 10px;
}

.upperbar .icon-circle .fa {
    color: white;
    font-size: 28px;
    margin-top: 9px;
}

.upperbar .num {
    font-size: 18px;
    font-weight: 900;
    color: #ad007a;
    float: left;
    line-height: 14px;
    margin-top: 8px;
}

.upperbar .txt {
    font-size: 14px;
    color: #717171;
    float: left;
}

.upperbar .link {
    font-size: 12px;
    color: #00bbf5;
    float: left;
    text-decoration: underline;
}

.upperbar .module-phone {
    margin-top: 15px;
    float: right;
    max-width: 300px;
}

.upperbar .module-user {
    display: inline-block;
    margin-left: 35px;
    margin-right: 10px;
    margin-top: 11px;
    float: right;
}

.upperbar .module-user .link {
    background: #49a3cf;
    color: white;
    font-size: 12px;
    border-radius: 5px;
    padding: 5px 15px;
    text-decoration: none;
    font-weight: 600;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.upperbar .module-user .link .fa {
    margin-right: 5px;
}

.upperbar .module-user .link:hover {
    background: white;
    color: #49a3cf;
}

.upperbar .bbgroup {
    position: absolute;
    right: 0;
    top: 0;
    width: 235px;
    height: 92px;
    background: #871770;
    color: #ffffff;
    border-radius: 50px 0 0 50px;
    padding: 20px 25px;
    text-align: center;
}

.upperbar .bbgroup img {
    width: 50px;
    height: 50px;
    display: inline-block;
    float: left;
    margin-right: 10px;
}

.upperbar .bbgroup span {
    font-weight: 700;
    font-size: 17px;
    max-width: 115px;
    display: inline-block;
    line-height: 19px;
    top: 7px;
    position: relative;
}

.upperbar.map nav .main-menu {
    margin-right: 15px;
}

nav .main-menu li.backHome {display: none;}

.upperbar.map nav .main-menu li:nth-child(-n+4) {
    display: none;
}

.upperbar.map.active nav .main-menu li:nth-child(-n+4) {
    display: inline-block;
}
nav .main-menu li:last-child a {
  color: #ffeb3b;
}

.upperbar.map.active nav.nav-map form,
.upperbar.map.active .box-tel {
    display: none;
}

.upperbar.map ::-webkit-input-placeholder {
    /* Chrome/Opera/Safari */
    color: white;
}

.upperbar.map ::-moz-placeholder {
    /* Firefox 19+ */
    color: white;
}

.upperbar.map :-ms-input-placeholder {
    /* IE 10+ */
    color: white;
}

.upperbar.map :-moz-placeholder {
    /* Firefox 18- */
    color: white;
}


/* -------- Navigation -------- */

nav.nav {
  z-index: 10;
  display: inline-block;
  margin-top: 12px;
  float: right;
}

nav .main-menu li {
    display: inline-block;
    margin-left: 30px;
    list-style-type: none;
}

nav .main-menu li a {
    color: white;
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
    opacity: 1;
}

nav .main-menu li a:hover,
nav .main-menu li.active a {
    opacity: 0.5;
}

nav .main-menu li:last-child { height: 40px;}
nav .main-menu li:last-child:hover .sub-menu,
.sub-menu:hover {
  display: block;
}
.sub-menu {
  position: absolute;
  display: none;
  width: 100%;
  left: 0;
  background: #f7fdff;
  border-bottom: 3px solid #358ab2;
  border-top: 7px solid #054465;
  top: 42px;
  padding: 35px;
  z-index: 0;
}

.sub-menu ul li.rubrique {
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  display: block;
}
.sub-menu ul li {
  display: block;
  margin: 0;
}
.sub-menu ul li a {
  color: #054465 !important;
  font-weight: 400;
  text-transform: inherit;
}
.sub-menu ul li a:before {
  content: '\f0e0';
  font: normal normal normal 12px/1 FontAwesome;
  display: inline-block;
  color: #054465;
  margin-right: 10px;
}

.sub-menu ul {
  width: 24%;
  display: inline-grid;
  text-align: left;
  margin: 0 2%;
}

.upperbar.map .btNav {
    display: block;
}

.btNav {
    display: none;
    margin-top: 12px;
    color: white;
    cursor: pointer;
    font-weight: 400;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
    float: right;
    opacity: 1;
}

.btNav:hover {
    opacity: 0.5;
}

.btNav:before {
    content: '\f0c9';
    font: normal normal normal 21px/1 FontAwesome;
    display: inline-block;
    position: relative;
    float: left;
    font-size: 24px;
    margin-right: 15px;
}

.upperbar.active .btNav:before {
    content: '\f00d';
}

nav.nav-map {
    float: left
}

nav.nav-map form {
    padding-left: 30px;
    border-bottom: 3px solid #00202f;
}

nav.nav-map form .btn-group {
    margin-right: 15px;
    border: 0;
}

.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
    background: #209fe3;
    color: white;
}

.btn-group>.btn:last-child:not(:first-child) {
    background: #209fe3;
    color: white;
}

.btn-group>.btn.not-select {
    background: #fff !important;
    color: #054465 !important;
}

.select:before {
    color: white;
    margin-right: 5px;
}

nav.nav-map form input {
    display: inline-block;
}

nav.nav-map form input[type="text"] {
    margin: 0px 15px 0 0px;
    max-width: 235px;
    border: 0px solid white;
    border-bottom: 1px solid #ccc;
    padding: 5px 10px;
    font-size: 12px;
    font-weight: 400;
    color: white;
    outline: none;
    font-style: italic;
    background: transparent;
}

nav.nav-map form .fa {
    display: inline-block;
    margin-right: 10px;
    margin-left: 20px;
    font-size: 21px;
    color: white;
    position: relative;
    top: 3px;
}

nav.nav-map form span {
    color: white;
    font-size: 14px;
    font-weight: 700;
    margin-right: 5px;
    display: inline-block;
    text-transform: uppercase;
}

nav.nav-map form .bt {
    margin-right: 15px;
}

nav.nav-map form h2 {
    color: #054465;
    font-size: 14px;
    font-weight: 900;
    display: inline-block;
    margin: 0;
    position: relative;
    background: #fff;
    top: 0;
    padding: 17px 40px 15px 60px;
}

nav.nav-map form h2:before {
    content: '';
    position: absolute;
    top: 15px;
    right: -10px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 10px 10px;
    border-color: transparent transparent transparent #ffffff;
}

nav.nav-map .menu-map {
    background: #49a3cf;
    display: inline-block;
    width: 14%;
    color: white;
    padding: 20px 20px 0;
    text-transform: uppercase;
    position: absolute;
    min-height: 61px;
    z-index: 10;
    right: 0;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

nav.nav-map .menu-map.active {
    width: 70%;
}

nav.nav-map .menu-map.active span {
    margin-right: 30px;
}

nav.nav-map .menu-map.active ul {
    width: 70%;
}

nav.nav-map .menu-map.active span:before {
    content: '\f18e';
}

nav.nav-map .menu-map.active span:after {
    content: 'Fermer';
}

nav.nav-map .menu-map ul {
    width: 0;
    height: 25px;
    overflow: hidden;
    position: relative;
    float: left;
}

nav.nav-map .menu-map ul li {
    display: inline-block;
    margin-right: 20px;
}

nav.nav-map .menu-map ul li a {
    color: white;
    font-size: 16px;
    font-weight: 400;
}

nav.nav-map .menu-map span {
    cursor: pointer;
    display: block;
    font-weight: 700;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
    float: left;
    margin-right: 0px;
}

nav.nav-map .menu-map span:hover {
    color: #014768;
}

nav.nav-map .menu-map span:hover {
    color: #014768;
}

nav.nav-map .menu-map span:before {
    content: '\f0c9';
    font: normal normal normal 21px/1 FontAwesome;
    display: inline-block;
    position: relative;
    float: left;
    font-size: 24px;
    margin-right: 15px;
}

nav.nav-map .menu-map span:after {
    content: 'Menu';
    font-size: 16px;
}

.filtre-map {
    display: inline-block;
}

.bt-filtre-map,
.bt-phone-map,
.bt-view-map {
    display: none;
}


/* -------- breadcrumb -------- */

.breadcrumb {
    width: 100%;
    border-bottom: 1px solid #dfdfdf;
    padding: 25px 0;
    margin-bottom: 20px;
    background: white;
}

.breadcrumb li {
    display: inline-block;
    margin-right: 5px;
    list-style-type: none;
    font-size: 11px;
    font-weight: 400;
    font-style: italic;
}

.breadcrumb li:after {
    content: '>';
    display: inline-block;
    margin-left: 5px;
}

.breadcrumb li:last-child:after {
    display: none;
}

.breadcrumb li a {
    color: #656565;
    font-size: 12px;
    font-weight: 400;
    font-style: italic;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.breadcrumb li a:hover,
.breadcrumb li.active a {
    color: #ad007a;
}


/* -------- Page Home -------- */

.zone-map {
    height: 600px;
    width: 100%;
    display: block;
    border-bottom: 5px solid #ffffff;
    background: #f3f3f3 url(../images/salon02.jpg) no-repeat left bottom;
    background-size: cover;
    text-align: center;
    padding: 70px 0 0;
    position: relative;
}

.zone-map .logo {
  max-width: 300px;
  display: inline-block;
}

.zone-map.bg-02 {
    background: #f3f3f3 url(../images/salon02.jpg) no-repeat right bottom;
    background-size: cover;
}
.zone-map.bg-03 {
    background: #f3f3f3 url(../images/salon02.jpg) no-repeat left bottom;
    background-size: cover;
}

.zone-map h1 {
    font-size: 30px;
    font-weight: 900;
    color: #004869;
    padding-top: 50px;
    padding-bottom: 10px;
    margin-bottom: 0;
    text-shadow: -1px 0 white, 0 1px white, 1px 0 white, 0 -1px white;
}

.zone-map h2 {
    font-size: 16px;
    font-style: italic;
    font-weight: 700;
    color: white;
    margin-bottom: 10px;
    position: relative;
}

.zone-map h3 {
    font-size: 16px;
    font-style: italic;
    font-weight: 700;
    color: white;
    margin-bottom: 10px;
    position: relative;
}

.zone-map p {
    font-size: 16px;
    font-weight: 400;
    color: #004880;
    display: block;
    margin-bottom: 30px;
}

.zone-map .bubble {
    margin: 20px 0 0;
    background: white;
    border-radius: 20px;
    padding: 35px 200px 30px 130px;
    display: inline-block;
    position: relative;
    -moz-box-shadow: 0px 0px 30px 0px #909090;
    -webkit-box-shadow: 0px 0px 30px 0px #909090;
    -o-box-shadow: 0px 0px 30px 0px #909090;
    box-shadow: 0px 0px 30px 0px #909090;
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#909090, Direction=NaN, Strength=30);
}

.zone-map .bubble:before {
    content: '';
    position: absolute;
    top: -25px;
    left: 50%;
    margin-left: -25px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 25px 25px 25px;
    border-color: transparent transparent #ffffff transparent;
}

.zone-map .bubble .icon-search {
    background: #ad007a;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100px;
    border-radius: 10px 0 0 10px;
}

.zone-map .bubble .icon-search:before {
    content: '\f002';
    font: normal normal normal 28px/1 FontAwesome;
    display: inline-block;
    top: 36px;
    color: white;
    position: relative;
}

.zone-map .bubble .box-tel {
    background: #ad007a;
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    border-radius: 0px 10px 10px 0;
    color: white;
    text-align: left;
    padding: 13px 20px;
    max-width: 175px;
    text-decoration: none;
    -webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    -o-transition: all 0.8s ease;
    -ms-transition: all 0.8s ease;
    transition: all 0.8s ease;
}

.zone-map .bubble .box-tel p {
    font-size: 17px;
    font-weight: 300;
    margin: 0;
    color: white;
    text-transform: uppercase;
    line-height: 18px;
    position: relative;
    margin-bottom: 10px;
}

.zone-map .bubble .box-tel p:before {
  content: '\f0e0';
  font: normal normal normal 28px/1 FontAwesome;
  display: inline-block;
  top: 14px;
  color: white;
  position: absolute;
  right: -45px;
  border-radius: 50px;
  width: 55px;
  height: 55px;
  background: #80045b;
  padding: 12px;
  border: 1px solid #d491c3;
  -webkit-transition: all 0.8s ease;
  -moz-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  -ms-transition: all 0.8s ease;
  transition: all 0.8s ease;
}

.zone-map .bubble .box-tel strong {
    font-size: 20px;
    font-weight: 700;
    display: block;
}

.zone-map .bubble .box-tel em {
    font-size: 14px;
    font-weight: 400;
    font-style: italic;
    line-height: 15px;
    display: block;
}

.zone-map .bubble .box-tel:hover {
  text-decoration: none;
  background: #80045b;
}

.zone-map .bubble .box-tel:hover p:before {
  right: -55px;
  background: #c72096;
}



.zone-map form h2 {
    font-size: 24px;
    color: #014768;
    font-weight: 900;
    text-align: left;
    width: 100%;
    margin-bottom: 10px;
}

.zone-map form input[type="text"] {
    margin: 0px 5px 0 0px;
    max-width: 235px;
    border: 0px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 10px;
    font-size: 12px;
    font-weight: 700;
    color: #303030;
    outline: none;
    font-style: italic;
}

.zone-map form .fa {
    display: inline-block;
    margin-right: 10px;
    font-size: 30px;
    color: #959595;
    position: relative;
    top: 10px;
    float: left;
}

.zone-map form .bt {
    padding: 10px 30px;
    font-weight: 700;
    font-size: 13px;
    display: inline-block;
}

.zone-map form span {
    font-size: 14px;
    color: #014768;
    font-weight: 900;
    margin: 0 5px;
}

.icon-service {
    background: #004869;
    color: white;
    padding: 5px 0 10px;
    margin-bottom: 30px;
}

.icon-service .fa {
    background: white;
    color: #004869;
    padding: 8px 10px;
    border-radius: 50px;
    margin-right: 15px;
    font-weight: 700;
    display: inline-block;
    top: -5px;
    font-size: 24px;
    position: relative;
}

.icon-service p {
    font-size: 16px;
    font-weight: 400;
    line-height: 19px;
    display: inline-block;
    margin-top: 15px;
}

.icon-service p strong {
    font-size: 16px;
    font-weight: 700;
}

.icon-service .col-md-4:after {
    content: '\f105';
    font: normal normal normal 28px/1 FontAwesome;
    display: inline-block;
    position: absolute;
    top: 21px;
    color: white;
    right: 12px;
}

.icon-service .col-md-4:last-child:after {
    display: none;
}

.section-certifie,
.section-courrier {
    background: #f3f3f3;
    padding: 5px 0;
    margin-bottom: 0px;
    border-bottom: 1px solid #c2c2c2;
}

.section-cards h2 {
    width: 100%;
    color: #004465;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 50px;
    text-align: center;
}

.section-cards em {
    color: #999999;
    font-size: 14px;
    font-style: italic;
    width: 100%;
    display: block;
    text-align: center;
}

.section-cards h2:before {
    content: '';
    display: block;
    background: transparent url(../images/icon-card.png) no-repeat 0% 0%;
    background-size: 48px;
    width: 50px;
    height: 50px;
    left: 50%;
    margin-top: 15px;
    margin-left: -25px;
    margin-bottom: 10px;
    clear: both;
    position: relative;
}

.slick-dots {
    width: 100%;
    text-align: center;
}

.slick-dots li {
    list-style-type: none;
    display: inline-block;
    color: transparent;
    margin: 0 5px 20px;
}

.slick-dots li button {
    color: transparent;
    border-radius: 30px;
    border: none;
    width: 12px;
    height: 12px;
    font-size: 1px;
    background: #ccc;
    outline: none;
}

.slick-dots li.slick-active button,
.slick-dots li:hover button {
    background: #ad007a;
}

.item-post,
.item-card {
    background: white;
    border: 1px solid #a8a8a8;
    border-bottom: 3px solid #a8a8a8;
    margin-bottom: 30px;
}

.item-post .cover,
.item-card .cover {
    width: 100%;
    height: 140px;
    overflow: hidden;
    position: relative;
    display: block;
}

.item-post .cover img,
.item-card .cover img {
    position: absolute;
    display: table-cell;
    max-width: inherit;
    left: 50%;
    top: 50%;
    margin: -125px 0 0 -200px;
    transform: scale(0.8);
    -webkit-transition: all 0.8s ease;
    -moz-transition: all 0.8s ease;
    -o-transition: all 0.8s ease;
    -ms-transition: all 0.8s ease;
    transition: all 0.8s ease;
}

.item-post .infos,
.item-card .infos {
    padding: 8px;
    position: relative;
}

.item-post .infos h3,
.item-card .infos h3 {
    margin: 0;
    display: block;
    line-height: 13px;
    margin-bottom: 5px;
}

.item-post .infos h3 a,
.item-card .infos h3 a {
    color: #666;
    font-size: 14px;
    font-weight: 700;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.item-card .infos .city {
    color: #666;
    font-size: 12px;
    font-weight: 400;
    text-transform: uppercase;
}

.item-card .infos .city:before {
    content: '\f041';
    font: normal normal normal 12px/1 FontAwesome;
    display: inline-block;
    margin-right: 5px;
}

.item-card .infos .certif {
    left: inherit;
    right: -4px;
    bottom: 8px;
}

.item-post:hover .cover img,
.item-card:hover .cover img {
    transform: scale(1);
}

.item-post:hover .infos h3 a,
.item-card:hover .infos h3 a {
    color: #49a3cf;
}

.section-services {
    padding-top: 20px;
    padding-bottom: 50px;
    text-align: center;
}

.section-services h2,
.section-services h3 {
    color: #32312a;
    font-size: 36px;
    font-weight: 300;
    width: 100%;
    text-align: center;
}

.section-services h2 strong {
    color: #49a3cf;
}

.section-services p.intro {
    color: #32312a;
    font-size: 24px;
    font-weight: 300;
    padding: 0 14%;
    line-height: 29px;
    margin-bottom: 50px;
}

.section-services p {
    color: #32312a;
    font-size: 18px;
    font-weight: 300;
}

.section-services p a {
    font-weight: 700;
    color: #32312a;
}

.section-services p a:hover {
    color: #49a3cf;
}

.section-services .icon {
    background: #004465;
    width: 80px;
    height: 80px;
    border-radius: 100px;
    display: inline-block;
    position: relative;
}

.section-services .icon .fa {
    position: absolute;
    color: white;
    -webkit-text-stroke-width: 2px;
    text-stroke-width: 2px;
    -webkit-text-stroke-color: #004465;
    text-stroke-color: #004465;
    font-size: 60px;
    left: 30px;
}

.section-services .icon .fa-search-plus {
    left: -1px;
    top: -5px;
}

.section-actus {
    background: #fff;
    padding: 25px 0 45px;
    margin-bottom: 0px;
    border-bottom: 1px solid #c2c2c2;
}

.section-actus h2 {
    width: 100%;
    color: #004465;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}

.section-actus em {
    color: #999999;
    font-size: 14px;
    font-style: italic;
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 50px;
}

.section-actus h2:before {
    content: '\f1ea';
    display: block;
    font: normal normal normal 37px/1 FontAwesome;
    color: #8eacbb;
    width: 50px;
    height: 50px;
    left: 50%;
    margin-top: 15px;
    margin-left: -25px;
    margin-bottom: 10px;
    clear: both;
    position: relative;
}

.section-actus.guide h2:before {
    content: '\f044';
}

.section-actus .bt {
    margin-top: 20px;
}

.section-palliato {
    display:none;
}

.section-palliato a,
.section-palliato a:hover {
    
    text-decoration: none !important;
    
}

.section-actus.guide {
  background: white;
  padding: 25px 0 45px;
  margin-bottom: 0px;
  border-bottom: 1px solid #c2c2c2;
}

.item-post .cover img {
    top: 70%;
    transform: scale(0.9);
}

.item-post .infos {
    padding: 10px 15px;
}

.item-post .infos h3 {
    line-height: 16px;
}

.item-post .infos h3 a {
    font-size: 16px;
}

.item-post .date,
.item-post .badge-pro,
.item-post .badge-post,
.item-post .badge-prime {
    position: absolute;
    font-size: 12px;
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    background: #ad007a;
    padding: 3px 8px;
    left: -4px;
    top: -65px;
    border-left: 4px solid #6c004c;
}

.item-post .badge-prime {
    top: -35px;
    border-left: 4px solid #867f00;
    background: #efe41e;
    color: #104c6a;
}

.item-post .badge-post {
    top: -35px;
    border-left: 4px solid #ad007a;
    background: #f3f3f3;
    color: #104c6a;
}

.home .item-post .badge-post,
.home .item-post .badge-prime {
    top: -65px;
}

.item-post .date {
    top: -35px;
    border-left: 4px solid #104c6a;
    background: #49a3cf;
}

.item-post p {
  color: #32312a;
  font-size: 15px;
  font-weight: 300;
  }

.item-post .badge-pro .fa {
    color: white;
    font-size: 12px;
    margin-right: 5px;
}

.list-actu .post-guide .item-post .infos,
.post-guide .item-post .infos {
  width: 100%;
  padding: 10px 0 0;
}


.op-tvpin {
    position: absolute;
    top: 26%;
    left: 0%;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    text-align: center;
    background: #117fc3;
    color: #fff;
    font-size: 16px;
    border: 3px solid #ffffff45;
    animation-duration: 4s;
    animation-name: slide-left;
    animation-iteration-count: 1;
    margin-left: 10%;
}

.op-tvpin-right {
    position: absolute;
    top: 10%;
    right: 0%;
    width: 140px;
    height: 140px;
    border-radius: 50%;
    text-align: center;
    background: #117fc3;
    color: #fff;
    font-size: 16px;
    border: 3px solid #ffffff45;
    animation-duration: 4s;
    animation-name: slide-right;
    animation-iteration-count: 1;
    margin-right: 4%;
}

.op-tvpin:hover,
.op-tvpin-right:hover {
    background: #054465;
}

.op-tvpin span,
.op-tvpin-right span {
    display: block;
    padding: 22px 15px 0 15px;
    font-weight: bold;
    line-height: 17px;
    color: white;
    margin-top: 5px;
}

.op-tvpin p,
.op-tvpin-right p {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: block;
    padding: 85px 0 0 0;
    color: #fff;
    font-size: 12px;
    z-index: 1;
}

.op-tvpin .fa-angle-up,
.op-tvpin-right .fa-angle-up {
    position: absolute;
    bottom: 0px;
    display: block;
    width: 100%;
    font-size: 28px;
    animation-duration: 1s;
    animation-name: arrow-up;
    animation-iteration-count: infinite;
    color: white;
}


@keyframes arrow-up {
    from {
        bottom: 0;
    }
    to {
        bottom: 10px;
    }
}

@keyframes slide-left {
    from {
        margin-left: -100%;
    }
    50% {
        margin-left: -100%;
    }
    to {
        margin-left: 15%;
    }
}

@keyframes bg-color {
    from {
        background-color: #117fc3;
    }
    50% {
        background-color: #014768;
    }
    to {
        background-color: #117fc3;
    }
}

@keyframes phone {
    from {
        transform: rotate(-30deg);
    }
    15% {
        transform: rotate(30deg);
    }
    30% {
        transform: rotate(-30deg);
    }
    45% {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(0deg);
    }
}


/* -------- Actualités -------- */

.list-actu .section-actus {
    padding-top: 0px;
    border: 0px;
}

.list-actu .section-actus h2:before {
    background: transparent;
    border-radius: 100px;
    padding-top: 30px;
    color: #49a3cf;
    width: 95px;
    height: 80px;
    margin-left: -45px;
    margin-bottom: 0px;
}

.list-actu .head {
    padding: 20px 0 20px;
    margin-bottom: 0px;
    min-height: 200px;
}

.list-actu .head em,
.list-actu .head h2 {
    color: #104c6a;
}

.list-actu .filtre {
    margin-bottom: 50px;
}

.list-actu .filtre span {
    color: #b5b5b5;
    font-size: 12px;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}

.list-actu .filtre ul li {
    list-style-type: none;
    display: inline-block;
    margin-right: 5px;
    margin-bottom: 5px;
}

.list-actu .filtre ul li .tag.cat.prime {
    border-left: 5px solid #867f00;
    background: #efe41e;
    border-radius: 0px;
    color: #104c6a;
}

.list-actu .filtre ul li .tag.cat {
    border-left: 5px solid #d6d6d6;
    background: #b5b5b5;
    border-radius: 0px;
}

.list-actu .filtre ul li .tag.cat:hover,
.list-actu .filtre ul li .tag.cat.active {
    border-left: 5px solid #49a3cf;
    background: #104c6a;
    color: white;
}

.list-actu .subtitle {
    color: #b5b5b5;
    font-size: 18px;
    text-transform: uppercase;
    margin-bottom: 30px;
    display: block;
    letter-spacing: 1px;
}

.list-actu .item-post {
    background: transparent;
    border: 0px;
    border-bottom: 1px solid #ccc;
    padding-bottom: 15px;
    float: left;
    width: 100%;
}

.list-actu .item-post .box-cover {
    width: 35%;
    display: inline-block;
    float: left;
    position: relative;
    margin-top: 8px;
    padding-right: 20px;
}

.list-actu .item-post .box-cover .badge-pro {
    top: inherit;
    bottom: 20px;
}

.list-actu .item-post .box-cover .badge-post,
.list-actu .item-post .box-cover .badge-prime {
    top: inherit;
    bottom: 20px;
}

.list-actu .item-post .cover {
    width: 100%;
    display: inline-block;
    float: left;
}

.list-actu .item-post .infos {
    width: 63%;
    display: inline-block;
    float: left;
    padding: 0;
}

.list-actu .item-post .infos h3 a {
    font-size: 18px;
    line-height: 25px;
}

.list-actu .item-post:hover .infos h3 a {
    color: #104c6a;
}

.list-actu .item-post .content {
    display: none;
}

.list-actu .item-post .content p,
.list-actu .item-post .infos p {
    font-size: 16px;
    color: #666;
    line-height: 20px;
}

.list-actu .item-post .infos .bt {
    background: #d2d2d2;
    color: white;
}

.list-actu .item-post .infos .bt:hover {
    background: #104c6a;
}

.list-actu .item-post .infos .meta {
    width: 100%;
    margin-bottom: 5px;
}

.list-actu .item-post .infos .meta li {
    color: #666;
    font-size: 12px;
    display: inline-block;
    border-right: 1px solid #ccc;
    padding-right: 5px;
    margin-right: 5px;
    position: relative;
}

.list-actu .item-post .infos .meta li a {
    color: #666;
}

.list-actu .item-post .infos .meta li a:hover {
    color: #104c6a;
}

.list-actu .item-post .infos .meta li.author:before,
.list-actu .item-post .infos .meta li .cat:before {
    content: '\f02b';
    display: inline-block;
    font: normal normal normal 12px/1 FontAwesome;
    margin-right: 5px;
    position: relative;
}

.list-actu .item-post .infos .meta li.author:before {
    content: '\f044';
}

.list-actu .item-post .infos .meta li.author {
    cursor: pointer;
}

.list-actu .item-post .infos .meta li.author .bulle {
    position: absolute;
    background: #104c6a;
    color: white;
    text-align: left;
    padding: 8px 12px;
    width: 250px;
    bottom: 30px;
    border-radius: 10px;
    pointer-events: none;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
    display: none;
}

.list-actu .item-post .infos .meta li.author .bulle:before {
    content: '';
    display: block;
    position: absolute;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 0 15px;
    border-color: #104c6a transparent transparent transparent;
    bottom: -10px;
}

.list-actu .item-post .infos .meta li.author:hover .bulle {
    display: block;
}

.list-actu .item-post.open .bt {
    display: none;
}

.list-actu .item-post.open .content {
    display: block;
}

.pagination {
    display: inline-flex;
    margin-top: 20px;
}

.page-link {
    color: #ad007a;
}

.page-link:focus,
.page-link:hover {
    color: white;
    background: #ad007a;
}

.head-post {
    margin-top: -150px;
    position: relative;
    margin-bottom: 40px;
}

.head-post h1 {
    position: absolute;
    color: white;
    font-size: 55px;
    font-weight: 700;
    line-height: 65px;
    max-width: 70%;
    left: 15%;
    z-index: 5;
    top: 35%;
}

.head-post .cat {
    position: absolute;
    color: #49a3cf;
    text-transform: uppercase;
    font-size: 11px;
    font-weight: 700;
    left: 15%;
    z-index: 5;
    letter-spacing: 1px;
    top: 30%;
}

.head-post .cover {
    background: #002346;
}

.head-post .cover img {
    opacity: 0.4;
}

.list-actu .boxMeta {
    margin-bottom: 30px;
}

.list-actu .socials {
    border-top: 1px solid #ccc;
    margin-top: 15px;
    padding: 15px 40px 0;
}

.list-actu .socials li {
    margin: 0 8px;
}

.list-actu .socials li a {
    padding-top: 1px;
    border: 1px solid #9e9e9e;
    color: #9d9d9d;
}

.list-actu .date-post {
    font-family: 'Georgia';
    font-style: italic;
    color: #104c6a;
    font-size: 14px;
    display: block;
    text-align: center;
}

.list-actu .author {
    color: #8c8d8d;
    font-size: 14px;
    display: block;
    text-align: center;
}

.list-actu .bt.white {
    margin: 30px auto;
    display: inline-block;
    font-weight: 400;
    padding: 10px 25px;
}

.content-post {
    margin-bottom: 40px;
}


.content-post ul {
  padding-left: 60px;
  margin-bottom: 20px;
}
.content-post .txt h1,
.content-post .txt h2,
.content-post .txt h3,
.content-post .txt h4,
.content-post .txt h5,
.content-post .txt h6 {
  text-align: left;
}
.content-post .txt h1:before,
.content-post .txt h2:before,
.content-post .txt h3:before,
.content-post .txt h4:before,
.content-post .txt h5:before,
.content-post .txt h6:before {
  display: none;
}
.content-post .txt h3 { font-size: 21px; }
.content-post .txt h4 { font-size: 18px; }
.content-post .txt h5 { font-size: 16px; }
.content-post .txt h6 { font-size: 14px; }

.sidebar {
    border-left: 1px solid #ccc;
}

.sidebar h5 {
    font-size: 12px;
    display: inline-block;
    color: white;
    font-weight: 700;
    text-transform: uppercase;
    background: #ad007a;
    padding: 7px 15px 7px 10px;
    left: -19px;
    position: relative;
    margin-bottom: 25px;
    border-left: 4px solid #6c004c;
}

.sidebar .list-tag li {
    display: inline-block;
    margin: 0 3px 3px 0;
}

.sidebar ul li {
    list-style-type: none;
}

.sidebar .campagne,
.sidebar .list-month {
    margin-bottom: 30px;
}

.sidebar .list-month li {
    display: block;
    width: 100%;
    margin: 0 0px 5px 0;
}

.sidebar .list-month li a {
    font-size: 16px;
    color: #666;
    line-height: 20px;
    font-weight: 700;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
    padding-left: 0px;
}

.sidebar .list-month li a:hover {
    color: #ad007a;
    padding-left: 10px;
}

.sidebar .list-month li a em {
    font-weight: 300;
    font-style: italic;
    margin: 0;
    display: inline;
}


/* -------- FAQ -------- */

.section-faq {
    background: #ad007a url(../images/bg-faq.jpg) no-repeat 50% 50%;
    background-size: cover;
    padding: 25px 0 45px;
    margin-bottom: 40px;
    color: #fff;
    border-bottom: 1px solid #c2c2c2;
}

.section-faq h2 {
    width: 100%;
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}

.section-faq em {
    font-size: 14px;
    font-style: italic;
    width: 100%;
    display: block;
    text-align: center;
    margin-bottom: 50px;
}

.section-faq h2:before {
    content: '\f059';
    display: block;
    font: normal normal normal 37px/1 FontAwesome;
    width: 50px;
    height: 50px;
    left: 50%;
    margin-top: 15px;
    margin-left: -25px;
    margin-bottom: 10px;
    clear: both;
    position: relative;
}

.section-faq .list-questions {
    padding-right: 25px;
    text-align: right;
    border-right: 1px solid white;
}

.section-faq .list-questions h5 {
    font-size: 18px;
    font-weight: 300;
    width: 100%;
    margin-bottom: 30px;
    cursor: pointer;
    padding-right: 25px;
    position: relative;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.section-faq .list-questions h5:hover {
    padding-right: 50px;
}

.section-faq .list-questions h5.active {
    font-weight: 700;
    padding-right: 25px;
}

.section-faq .list-questions h5.active:after {
    content: '';
    position: absolute;
    top: 0px;
    right: -25px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 15px 15px 15px 0;
    border-color: transparent #fff transparent transparent;
}

.section-faq .reponse {
    padding-left: 15px;
}

.reponse:not(.active) {
    display: none;
    opacity: 0;
}


/* --------Contact -------- */

.espace-contact .services-contact {
    background-color: #003c5a;
    border-radius: 30px;
    padding: 60px 70px;
    color: white;
    font-size: 16px;
    line-height: 21px;
    position: relative;
    overflow: hidden;
}

.espace-contact .services-contact h1 {
    font-weight: 300;
}


/* -------- Espace Pro -------- */

.espace-pro {
    padding: 50px 0;
}

.box-pro {
    border-top: 1px solid #ccc;
    padding-top: 50px;
    width: 100%;
}

.box-pro.no-border {
    border-top: 0px solid #ccc;
    padding-top: 0px;
}

.espace-pro .appel-pro {
    background-position: 235px 10px;
}

.espace-pro .appel-pro .col-md-8 {
    padding-left: 250px;
}

.espace-pro .services-plus {
    background-color: #d9cc01;
    border-radius: 30px;
    padding: 60px 70px;
    color: #054465;
    font-size: 16px;
    line-height: 21px;
    position: relative;
    overflow: hidden;
}

.espace-pro .services-plus:before,
.espace-pro .services-plus:after {
    content: '';
    position: absolute;
    background: #e5d901;
    width: 300px;
    height: 300px;
    left: -150px;
    bottom: -5px;
    border-radius: 500px;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.espace-pro .services-plus:before {
    background: #e6d901;
    width: 600px;
    height: 600px;
    left: -100px;
    bottom: -20%;
}

.espace-pro .services-plus:after {
    background: #f0e41e;
    width: 800px;
    height: 800px;
    left: -350px;
    bottom: -17%;
}

.espace-pro .services-plus p {
    margin-bottom: 0px;
    z-index: 5;
    position: relative;
}

.espace-pro .services-plus .one {
    margin-bottom: 25px;
}

.espace-pro .services-plus .two:before,
.espace-pro .services-plus .one:before {
    content: '\f012';
    font: normal normal normal 36px/1 FontAwesome;
    display: inline-block;
    position: relative;
    color: #054465;
    top: 5px;
    float: left;
    margin-right: 20px;
}

.espace-pro .services-plus .two:before {
    content: '\f044';
}

.espace-pro h5 {
    font-size: 36px;
    color: #054465;
    font-weight: 300;
    width: 100%;
    margin: 50px 0 40px;
}

.panel-form form label {
    color: #808080;
    text-align: right;
    font-size: 16px;
    top: 6px;
}

.panel-form form input,
.panel-form form textarea {
    color: #808080;
    background-color: #f1f5f7;
    border-radius: 0;
    padding: 10px 20px;
    outline: none;
    border: 1px solid rgba(0, 0, 0, .15);
    width: 100%;
}

.espace-pro form input[type=checkbox] {
    width: 20px;
    margin-right: 5px;
    display: inline-block;
    position: relative;
    top: -10px;
}

.espace-pro form label.form-check-label {
    text-align: left;
    line-height: 14px;
}

.espace-pro .form-control {
    font-size: 13px;
}

.espace-pro .bt.action {
    background: #49a3cf;
    font-size: 14px;
    border-radius: 0px;
}

.espace-pro .bt.action:hover {
    background: #0a4f6f;
}

.espace-pro form a {
    color: #0a4f6f;
    font-size: 14px;
    margin-bottom: 30px;
    display: inline-block;
    width: 90%;
}

.espace-pro form a:hover {
    color: #49a3cf;
}

.espace-pro #connexion {
    border-bottom: 1px solid #0a4f6f;
    padding-bottom: 50px;
    margin-bottom: 40px;
}


/* -------- Page Standard  -------- */

.txt {
    color: #888888;
    font-isze: 16px;
}

.txt h1,
.txt h2,
.txt h3,
.txt h4,
.txt h5,
.txt h6 {
    margin-bottom: 25px;
    text-transform: uppercase;
    color: #004869;
    font-weight: 700;
}

.txt h1 {
    font-size: 48px;
    margin: 40px 0 80px;
}

.txt p {
    margin-bottom: 40px;
}

.txt a {
    color: #49a3cf;
}


/* -------- Page MAP -------- */

#map {
    position: relative;
    overflow: hidden;
    height: 100%;
    width: 76%;
    margin-left: 24%;
    display: block;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

#map.large {
    width: 100%;
    margin-left: 0%;
}

.boxSearchMap {
    width: 100%;
    height: 700px;
    border-bottom: 5px solid rgb(0, 60, 90);
    position: relative;
    overflow: hidden;
}

.boxSearchMap .ongletSearch.active {
    left: 0;
}

.boxSearchMap .ongletSearch.closeOffres {
    width: 24%;
    background: white;
}

.boxSearchMap .ongletSearch.closeOffres .head-box,
.boxSearchMap .ongletSearch.closeOffres .item.map {
    width: 100%;
}

.boxSearchMap .ongletSearch.closeOffres .head-offre,
.boxSearchMap .ongletSearch.closeOffres .price-offre {
    display: none;
}

.boxSearchMap .ongletSearch {
    position: absolute;
    top: 0;
    left: -24%;
    background: transparent;
    height: 100%;
    width: 40%;
    min-width: 24%;
    border-right: 5px solid rgba(0, 60, 90, 0.58);
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.boxSearchMap .ongletSearch .head .arrow {
    position: absolute;
    right: -50px;
    top: 40px;
    width: 50px;
    height: 60px;
    cursor: pointer;
    background: rgba(0, 60, 90, 0.8);
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    -ms-transition: all 0.4s ease;
    transition: all 0.4s ease;
    color: white;
    text-align: center;
    padding-top: 9px;
}

.boxSearchMap .ongletSearch .head .arrow:before {
    content: '\f036';
    font: normal normal normal 21px/1 FontAwesome;
    display: inline-block;
    position: relative;
    color: white;
    font-size: 28px;
    top: 8px;
}

.boxSearchMap .ongletSearch .head .arrow:hover {
    background: rgba(0, 60, 90, 1);
}

.boxSearchMap .ongletSearch.active .head .arrow:hover:before {
    content: '\f190';
}

.boxSearchMap .ongletSearch .head .arrow:hover:before {
    content: '\f18e';
}

.boxSearchMap .ongletSearch .head .arrow.btOngletOffre {
    top: 110px;
    background: rgba(0, 148, 220, 0.8);
}

.boxSearchMap .ongletSearch .head .arrow.btOngletOffre:before {
    content: '\f153';
}

.boxSearchMap .boxResults {
    float: left;
    width: 100%;
    height: 100%;
    position: relative;
    overflow: auto;
    background: rgba(255, 255, 255, 0.7);
}

.ongletSearch .head {
    background: rgba(0, 148, 220, 0.8);
    float: left;
    width: 100%;
    border-bottom: 5px solid white;
}

.boxSearchMap .head-box,
.boxSearchMap .head-offre {
    float: left;
    width: 60%;
    background: white;
    font-size: 15px;
    font-weight: 700;
    color: #014768;
    z-index: 5;
    min-height: 75px;
    position: relative;
    padding: 10px 25px;
}

.boxSearchMap .head-box span {
    line-height: 19px;
    display: inline-block;
    margin-top: 8px;
    font-weight: 900;
    max-width: 80%;
}

.boxSearchMap .head-box:before {
    content: '';
    display: inline-block;
    background: transparent url(../images/icon-pompe-funebre.png) no-repeat 50% 50%;
    width: 57px;
    height: 57px;
    margin-right: 15px;
    float: left;
}

.boxSearchMap .boxResults ul .head-box {
    width: 100%;
    background: #014768;
    color: #ffffff;
}

.boxSearchMap .boxResults ul {
    margin: 0;
    z-index: 1;
    position: relative;
    background: transparent;
    overflow-y: auto;
    width: 100%;
    padding-bottom: 85px;
}

.boxSearchMap .boxResults ul li {
    list-style-type: none;
    position: relative;
    float: left;
    width: 100%;
}

.boxSearchMap .boxResults ul li.active .item,
.boxSearchMap .boxResults ul li:hover .item {
    background: #cee6f2;
}

.boxSearchMap .boxResults ul li.active .bt.small.devis,
.boxSearchMap .boxResults ul li:hover .bt.small.devis {
    background: #fff000;
    color: #003c5a;
    opacity: 1;
}

.boxSearchMap .boxResults ul li.active .bt.small.devis:hover,
.boxSearchMap .boxResults ul li:hover .bt.small.devis:hover {
    background: white;
}

.item.map,
.price-offre {
    cursor: pointer;
    float: left;
}

.item.map {
    width: 60%;
    min-height: 90px;
}

.price-offre {
    width: 40%;
}

.price-offre .bt.small {
    opacity: 0.5;
}

.price-offre .bt.small:hover {
    opacity: 1;
}

.item.map {
    position: relative;
    border-bottom: 1px solid #dddddd;
    overflow: hidden;
    cursor: pointer;
    padding: 15px;
    background: white;
}

.item .cover {
    position: relative;
    max-width: 115px;
    display: inline-block;
    margin-right: 10px;
    float: left;
}

.certif {
    position: absolute;
    font-size: 10px;
    color: white;
    font-weight: 900;
    text-transform: uppercase;
    background: #ad007a;
    padding: 3px 8px;
    left: -4px;
    bottom: 5px;
}

.certif .fa {
    color: white;
    font-size: 12px;
    margin-right: 5px;
}

.item .infos {
    display: inline-block;
    max-width: 260px;
}

.bulle-map .item .infos {
    margin-top: 15px;
}

.item h4 {
    font-size: 13px;
    color: #014768;
    font-weight: 900;
    text-transform: uppercase;
}

.item .adresse {
    font-size: 12px;
    color: #656565;
    text-transform: uppercase;
    display: inline-block;
    margin-top: -5px;
    line-height: 16px;
}

.item .distance {
    background: #209fe3;
    border-radius: 5px;
    padding: 2px 10px;
    font-size: 10px;
    font-weight: 900;
    color: white;
    text-transform: initial;
    margin-left: 5px;
    display: inline-block;
}

.item .distance:before {
    content: '\f041';
    font: normal normal normal 12px/1 FontAwesome;
    display: inline-block;
    position: relative;
    margin-right: 5px;
}

.item .meta {
    margin-bottom: 10px;
}

.item .meta .num {
    font-size: 21px;
    color: #ad007a;
    font-weight: 900;
    margin-bottom: 5px;
}

.item .meta .num:before {
    content: '\f098';
    font: normal normal normal 21px/1 FontAwesome;
    display: inline-block;
    position: relative;
    margin-right: 10px;
}

.item .meta .mail {
    font-size: 13px;
    color: #49a3cf;
    font-weight: 700;
    width: 49%;
    display: inline-block;
    margin-bottom: 5px;
}

.item .meta .mail:before {
    content: '\f199';
    font: normal normal normal 18px/1 FontAwesome;
    display: inline-block;
    position: relative;
    margin-right: 10px;
}

.item .meta .web {
    font-size: 13px;
    color: #49a3cf;
    font-weight: 700;
    margin-bottom: 5px;
    width: 49%;
    display: inline-block;
}

.item .meta .web:before {
    content: '\f108';
    font: normal normal normal 18px/1 FontAwesome;
    display: inline-block;
    position: relative;
    margin-right: 10px;
}

.item .bt.small {
    display: inline-block;
}

.fiche-details .ratingStar {
    margin-top: -13px;
}

.ratingStar {
    margin-bottom: 5px;
}

.ratingStar .fa {
    display: inline-block;
    color: #d8d8d8;
    font-size: 15px;
}

.ratingStar .fa.active {
    color: #ad007a;
}

.ratingStar a {
    color: #ad007a;
    font-size: 13px;
    font-style: italic;
}

.ratingStar a:hover {
    text-decoration: underline;
    font-weight: 700;
}

.item .bt {
    opacity: 0;
}

li.active .item,
.item:hover {
    background: #cee6f2;
}

li.active .item .bt,
.item:hover .bt {
    opacity: 1;
}

li.active .item .box-bt,
.item:hover .box-bt {
    height: 100%;
}

.boxSearchMap .boxOffres {
    float: left;
    width: 100%;
    position: absolute;
    height: 100%;
    overflow: auto;
    top: 0;
    background: rgba(0, 148, 220, 0.8);
}

.boxSearchMap .boxOffres .listOffres {
    width: 40%;
    float: right;
    padding-top: 85px;
}

.boxSearchMap .head .head-offre {
    width: 40%;
    border-bottom: 0px solid white;
    min-height: 85px;
    color: white;
    padding: 25px 25px 0;
    background: transparent;
}

.boxSearchMap .head .head-offre span {
    line-height: 18px;
    display: inline-block;
    margin-top: -4px;
    font-weight: 700;
}

.boxSearchMap .head .head-offre:before {
    content: '\f200';
    font: normal normal normal 21px/1 FontAwesome;
    display: inline-block;
    position: relative;
    font-size: 30px;
    margin-right: 15px;
    float: left;
}

.boxSearchMap .price-offre {
    text-align: center;
    color: white;
    border-bottom: 1px solid white;
    position: absolute;
    padding: 15px 0 0;
    float: left;
    display: inline-block;
    height: 100%;
    bottom: 0;
    top: 0;
}

.boxSearchMap .price-offre:before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 148, 220, 0.8);
}

.boxSearchMap .listResults li.active .price-offre,
.boxSearchMap .listResults li:hover .price-offre {
    background: rgba(0, 60, 90, 0.6);
}

.boxSearchMap .price-offre .promo {
    position: absolute;
    top: 0px;
    right: 0px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 70px 0 0 70px;
    transform: rotate(180deg);
    border-color: transparent transparent transparent #fff000;
}

.boxSearchMap .price-offre .promo:before {
    content: 'PROMO';
    font-size: 13px;
    font-weight: 900;
    text-transform: uppercase;
    color: #004869;
    top: -36px;
    right: 18px;
    transform: rotate(-135deg);
    position: absolute;
}

.boxSearchMap .price-offre span {
    font-size: 14px;
    font-weight: 700;
}

.boxSearchMap .price-offre .price {
    font-size: 30px;
    font-weight: 900;
    top: -5px;
    position: relative;
}

.boxSearchMap .price-offre em {
    font-size: 12px;
    font-weight: 400;
    top: -10px;
    position: relative;
}

.mCSB_inside>.mCSB_container {
    margin-right: 0px!important;
}


/* -------- Bulle Map -------- */

.bulle-map {
    text-align: center;
    max-width: 200px;
    -moz-box-shadow: 0px 0px 25px 0px #ccc;
    -webkit-box-shadow: 0px 0px 25px 0px #ccc;
    -o-box-shadow: 0px 0px 25px 0px #ccc;
    box-shadow: 0px 0px 25px 0px #ccc;
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#ccc, Direction=NaN, Strength=25);
}

.bulle-map .ratingStar {
    margin-top: 10px;
}

.item.bulle.map {
    width: 100%;
    padding: 15px 0 0;
    border: none;
    min-height: auto;
}

.item.bulle.map .box-bt {
    margin-top: 10px;
}

.item.bulle.map .box-bt .bt.small {
    font-size: 10px;
    padding: 5px 10px;
}

.item.bulle.map .box-bt .bt.small.devis {
    background: #fff000;
    color: #003c5a;
}

.item.bulle.map:hover {
    background: white;
}

.item.bulle.map .bt {
    opacity: 1;
}

.item.bulle.map .adresse {
    line-height: 16px;
}

.item.bulle.map .cover {
    max-width: 100%;
    margin: 0;
}

.item.bulle.map .cover img {
    max-width: 100%;
}

.item.bulle.map .price-offre {
    border-top: 1px solid #ccc;
    padding-top: 15px;
    margin-top: 15px;
    margin-bottom: 15px;
    display: block;
    width: 100%;
    float: left;
}

.item.bulle.map .price-offre {
    width: 100%;
    display: inline-block;
    float: left;
    background: #136790;
    color: white;
    text-align: center;
    padding: 8px 0;
    position: relative;
}

.item.bulle.map .price-offre span {
    font-size: 11px;
    font-weight: 700;
}

.item.bulle.map .price-offre .price {
    font-size: 16px;
    font-weight: 900;
    top: 0px;
    margin: 0 6px;
    position: relative;
}

.item.bulle.map ul li {
    list-style-type: none;
    display: inline-block;
}


/* -------- Fiche détails -------- */

.fiche-details .item {
    padding-bottom: 25px;
    margin-bottom: 30px;
    display: inline-block;
    border-bottom: 1px solid #dfdfdf;
    width: 100%;
}

.fiche-details .item .cover {
    max-width: 230px;
}

.fiche-details .item h1 {
    font-size: 18px;
    color: #014768;
    font-weight: 900;
    text-transform: uppercase;
}

.fiche-details .item .infos {
    display: inline-block;
    max-width: 400px;
}

.fiche-details .item:hover {
    background: white;
}

.fiche-details .item .bt {
    opacity: 1;
}

.section {
    display: inline-block;
    width: 100%;
    padding-bottom: 40px;
    margin-bottom: 40px;
    border-bottom: 1px solid #dfdfdf;
}

.section h1{
    font-size: 31px;
    color: #014768;
    font-weight: 600;
    text-transform: uppercase;
    margin-bottom: 30px;
}

.section h2, .section h3,
.section h4, .section h5 {
    font-size: 24px;
    color: #014768;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 30px;
}
.section h3 {  font-size: 21px; }
.section h4 {  font-size: 18px; }
.section h5 {  font-size: 18px; }

.section h6 {
    font-size: 18px;
    color: #014768;
    font-weight: 300;
    text-transform: uppercase;
    margin-bottom: 15px;
}

.section p {
    font-size: 14px;
    color: #585858;
}

.section p strong {
    font-weight: 700;
    color: #358ab2;
}

.section .galerie {
    display: inline-block;
    width: 100%;
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid #dfdfdf;
}

.section .galerie img {
    margin: 8px 1% 0 0;
    width: 31%;
}

.section .services ul li {
    list-style-type: none;
    margin: 0 3px 3px 0;
    display: inline-block;
}

.section .table.horaires th,
.section .table.horaires td {
    font-size: 13px;
}

.section .table.horaires tr:nth-child(odd) {
    background-color: #fbfbfb;
}

.section .table.horaires thead tr:nth-child(odd) {
    background-color: #fff;
}

.section.devis table td,
.section.devis table th {
    font-size: 13px;
    padding: 8px 15px;
}

.section.devis table .line-up {
    background-color: #054465;
    color: #ffffff;
}

.section.devis table .line-down {
    background-color: #f2f2f2;
    color: #525252;
}

.section.devis .result {
    background: #054465;
    font-size: 16px;
    color: white;
    font-weight: 700;
    padding: 20px 15px;
    margin: 20px 0 0;
    display: inline-block;
    position: relative;
}

.section.devis .result strong {
    float: right;
    font-weight: 900;
    margin-left: 50px;
}

.page-404 {
  padding: 200px 0;
  background: transparent url(../images/404.jpg) no-repeat right 10%;
  background-size: 100%;
}
.page-404 h1 {
  width: 50%;
  font-size: 36px;
  font-weight: 400;
}
.page-404 h1 span {
  font-size: 72px;
  font-weight: 900;
}
.page-404 ul li {
  list-style-type: none;
}
.page-404 p {
  font-size: 16px;
}
.page-404 ul li a {
  font-size: 16px;
  color: #014768;
}
  
  
.letter  {
  margin-top: 40px;
}

.letter h3  {
  font-size: 21px;
  margin-top: 40px;
}

.letter .tag  {
  font-size: 15px;
  padding: 10px 25px;
}

.letter .divider {
  margin: 0px 0 60px;
  width: 50px;
  height: 5px;
  background: #b6d4de;
}
.letter #j24 { background: transparent;}

.letter .zone-map {   
  height: auto;
  width: 100%;
  display: block;
  border: 1px solid #358ab2;
  background: #f7fdff;
  text-align: center;
  padding: 40px 0 0;
  position: relative;
  margin-bottom: 40px;
  }
  
.letter .zone-map h5 { 
  font-size: 15px;
  color: #014768;
  font-weight: 300;
  text-transform: uppercase;
  margin-bottom: 15px;
  text-align: left;
  padding: 0px 25px;
  }
.letter .zone-map p {   text-align: left; }
.letter #form_resultat .bt.action {
  background: #ad007a;
}

.box-fixe .letters {
  height: auto;
  width: 100%;
  display: block;
  border: 1px solid #358ab2;
  background: #f7fdff;
  padding: 30px 30px 15px;
  margin-bottom: 20px;
}

.letter .box-fixe .services h6 {
  font-size: 15px;
}

.letter .zone-map form input[type="text"] { background: #f7fdff;}
.letter .zone-map form .bt {padding: 10px 26px;}
.letter .zone-map form .box {display: block;width:100%;margin-top: 35px;}
  

.services.letters ul li:nth-child(2) a { background: #23779e;}
.services.letters ul li:nth-child(3) a { background: #0e5575;}
.services.letters ul li:nth-child(4) a { background: #013a58;}

.services.letters ul li:nth-child(2) a:hover { background: #013a58;}
.services.letters ul li:nth-child(3) a:hover { background: #013a58;}
.services.letters ul li:nth-child(4) a:hover { background: #001019;}

.item-courrier {
  display: block;
  padding: 20px;
  border: 1px solid #358ab2;
  margin-bottom: 20px;
  background: #f7fdff;
  position: relative;
  padding-left: 60px;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.item-courrier:before {
  content: '\f0e0';
  font: normal normal normal 18px/1 FontAwesome;
  display: block;
  position: absolute;
  background: #b6d4de;
  left: 0px;
  top: 0px;
  color: white;
  height: 100%;
  padding: 40px 10px;
  -webkit-transition: all 0.4s ease;
  -moz-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  -ms-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.item-courrier:hover {
  background: white;
}
.item-courrier:hover:before {
  background: #358ab2;
}

.item-courrier span {
    font-size: 14px;
}
.letter .item-courrier h3 {
  font-size: 21px;
  text-transform: initial;
  font-weight: 400;
  margin: 0px 0 10px;
}


.box-courrier {
  display: block;
  padding: 50px;
  border: 1px solid #358ab2;
  margin-bottom: 0px;
  background: #f7fdff;
  position: relative;
  font-family: 'Kalam';
  font-size: 16px;
  /*color: #aaaaaa !important;*/
  /*text-shadow: 0px 0px 8px #000000 !important;
  -webkit-user-select: none; 
  -webkit-touch-callout: none; 
  -moz-user-select: none; 
  -ms-user-select: none; 
  user-select: none;  */ 
}

.box-courrier.en-clair {
    
    text-shadow: none !important;
  
}

.box-courrier .expeditteur {
  text-align: left;
  width: 100%;
  margin-bottom: 20px;
}
.box-courrier .destinataire {
  text-align: right;
  width: 100%;
}

.box-courrier p {
  font-size: 16px;
  color: #dddddd;
  
}

.box-courrier.en-clair p {
    color: #333 !important;
    
  }
  
.box-courrier p strong {
  font-weight: 400;
  /*color: #49a3cf;*/
}
.box-courrier .details {
  padding: 15px 25px;
  background: #e5f2f8;
}

.liste-courriers-deces{

    margin-top: 10px;
}

.courriers-deces{

    background:transparent url(../images/vignette-courriers-deces.jpg) !important;
    background-size:cover !important;
    padding:5px;
    margin:0;
}

.courriers-deces .demande {
    background-color:#fff;
    opacity:0.6;
    text-align:center;
    padding:15px 10px 15px 10px;
}

.courriers-deces .demande h5{
    color: #ad007a;
    font-weight: 700;
    font-size:1.2rem;
}
.courriers-deces .demande p{
    font-size:0.95rem;
}


/* Mise en veille Promo modifié par tahar
.section.devis .result:after {
  content: 'PROMO';
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  color: #004869;
  top: -10px;
  right: 30px;
  position: absolute;
  background: #ffff00;
  border-radius: 5px;
  padding: 3px 10px;
  border: 1px solid #004869;
  
}
*/

.section.avis {
    border-bottom: 0px;
}

.box-avis {
    border-bottom: 1px solid #ccc;
    margin-bottom: 50px;
    padding-bottom: 20px;
    width: 100%;
    display: block;
}

.box-avis .note {
    font-size: 34px;
}

.box-avis ul {
    padding-top: 5px;
    display: inline-block;
    width: 100%;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    column-gap: 35px;
}

.box-avis ul li {
    list-style-type: none;
    text-align: right;
    margin-bottom: 15px;
    border-bottom: 1px dotted #ccc;
}

.box-avis ul li span {
    float: left;
}

.section.avis .box-avis ul li .ratingStar {
    display: inline-block;
    margin: 0;
}

.section.avis .ratingStar {
    margin-bottom: 15px;
}

.item-avis {
    border-bottom: 1px solid #ccc;
    padding-bottom: 30px;
    margin-bottom: 30px;
}

.item-avis .avatar {
    width: 100px;
    height: 100px;
    margin-bottom: 8px;
}

.avatar {
    overflow: hidden;
    position: relative;
    -moz-border-radius: 60px;
    -webkit-border-radius: 60px;
    -o-border-radius: 60px;
    -ms-border-radius: 60px;
    border-radius: 60px;
    width: 100px;
    height: 100px;
    display: inline-block;
    margin-bottom: 20px;
}

.avatar img {
    width: 100%;
}

.item-avis .name {
    font-size: 16px;
    color: #222222;
    font-family: "Lato";
    font-weight: 700;
    text-transform: uppercase;
}

.item-avis .meta {
    font-size: 11px;
    color: #222222;
    font-family: "Lato";
    font-weight: 300;
    text-transform: uppercase;
}

.item-avis .borderDot {
    border-right: 0px;
    border-left: 2px dotted #c0c0c0;
    padding-left: 40px;
}

.item-avis h4,
.item-avis h4 a {
    font-size: 16px;
    color: #585858;
    font-weight: 700;
    text-transform: uppercase;
    line-height: 20px;
    margin-bottom: 15px;
}

.item-avis p {
    font-size: 14px;
    color: #585858;
    font-family: "Lato";
    font-weight: 400;
    line-height: 18px;
    margin-bottom: 5px;
}

.fiche-details .box-contact {
    background: #e5f2f8;
    border-bottom: 10px solid #054465;
}

.fiche-details .box-contact.promo h5:after {
    content: 'PROMO';
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
    color: #004869;
    top: -10px;
    right: 30px;
    position: absolute;
    background: #ffff00;
    border-radius: 5px;
    padding: 3px 10px;
    border: 1px solid #004869;
}

.fiche-details .box-contact h5 {
    background: #054465;
    font-size: 16px;
    color: white;
    font-weight: 700;
    padding: 20px 15px;
    margin: 0;
}

.fiche-details .box-contact span {
    float: right;
    font-weight: 900;
}

.fiche-details .box-contact .table.resume {
    padding: 10px;
    background: transparent;
    border-bottom: 3px solid #054465;
}

.fiche-details .box-contact .table.resume table {
    border: 1px solid #ccc;
    background: white;
    margin: 0 0 5px;
}

.fiche-details .box-contact .table.resume thead tr {
    background: #054465;
    color: white;
}

.fiche-details .box-contact .table.resume th,
.fiche-details .box-contact .table.resume td {
    font-size: 13px;
}

.fiche-details .box-contact .table.resume tbody tr:nth-child(odd) {
    background-color: white;
}

.fiche-details .box-contact .table.resume a {
    font-size: 11px;
    color: #054465;
    font-weight: 400;
    font-style: italic;
    display: inline-block;
    text-align: right;
    width: 100%;
}

.fiche-details .box-contact .table.resume a:hover {
    text-decoration: underline;
}

.fiche-details .box-contact .box-form {
    padding: 10px;
}

.fiche-details .box-contact .box-form .head-infos {
    padding: 0 5px 10px 65px;
    position: relative;
}

.fiche-details .box-contact .box-form .head-infos h6 {
    font-size: 24px;
    color: #054465;
    font-weight: 300;
}

.fiche-details .box-contact .box-form .head-infos p {
    font-size: 12px;
    color: #747474;
    font-weight: 400;
}

.fiche-details .box-contact .box-form .head-infos .bt.action {
    font-size: 14px;
}

.fiche-details .box-contact .box-form .head-infos:before {
    content: '\f05a';
    font: normal normal normal 48px/1 FontAwesome;
    display: block;
    position: absolute;
    color: #054465;
    left: 5px;
    top: 0;
}

.fiche-details .box-contact .box-form form {
    overflow: hidden;
    height: 0px;
    position: relative;
    padding-right: 5px;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.fiche-details .box-contact .box-form.active form {
    height: 460px;
}

.modal-body form label,
.fiche-details .box-contact .box-form form label {
    color: #808080;
    text-align: right;
    font-size: 13px;
    top: 6px;
}

.modal-body form label.form-check-label,
.fiche-details .box-contact .box-form form label.form-check-label {
    text-align: left;
    line-height: 14px;
}

.modal-body form .btn-group label,
.fiche-details .box-contact .box-form form .btn-group label {
    top: 0;
}

.form-control {
    font-size: 13px;
}

.btn-group {
    border: solid 1px #91b3c4;
    padding: 0px;
    border-radius: 4px;
    margin: 0px;
}

.btn-group,
.btn-group-vertical {
    position: relative;
    display: -webkit-inline-box;
    display: -webkit-inline-flex;
    display: -ms-inline-flexbox;
    display: inline-flex;
    vertical-align: middle;
}

.select:before {
    content: "\f00c";
    font-family: FontAwesome;
}

[data-toggle=buttons]>.btn input[type=checkbox],
[data-toggle=buttons]>.btn input[type=radio],
[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],
[data-toggle=buttons]>.btn-group>.btn input[type=radio] {
    position: absolute;
    clip: rect(0, 0, 0, 0);
    pointer-events: none;
}

.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
    border-radius: 0;
}

.btn-group .btn+.btn,
.btn-group .btn+.btn-group,
.btn-group .btn-group+.btn,
.btn-group .btn-group+.btn-group,
.btn-group-vertical .btn+.btn,
.btn-group-vertical .btn+.btn-group,
.btn-group-vertical .btn-group+.btn,
.btn-group-vertical .btn-group+.btn-group {
    margin-left: -1px;
}

.btn-group-vertical>.btn,
.btn-group>.btn {
    position: relative;
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle) {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
}

.btn-group>.btn:first-child {
    margin-left: 0;
}

.btn-group-vertical>.btn,
.btn-group>.btn {
    position: relative;
    -webkit-box-flex: 0;
    -webkit-flex: 0 1 auto;
    -ms-flex: 0 1 auto;
    flex: 0 1 auto;
}

.btn-group label {
    margin: 0px;
    padding: 8px;
    font-size: 12px;
    font-weight: 300px;
    border: 0px;
    top: 0;
    background: white;
}

.not-select {
    color: #91b3c4;
    background-color: #F6F7F8;
}

.bt-offr-mobile {
    display: none;
}


/* -------- Modal -------- */

.modal-dialog {
    max-width: 550px;
    border: 4px solid #b6b6b6;
    border-radius: 10px;
}

.modal-content {
    background: #fff;
}

.modal-body {
    padding: 10px 25px 25px;
}

.modal-body p {
    font-size: 12px;
    color: #747474;
    font-weight: 400;
}

button.close {
    position: absolute;
    right: 20px;
    top: 15px;
}

.modal-body .card-block {
    border: 2px solid rgb(173, 0, 122);
}

.modal-body .form-group {
    margin-bottom: 10px;
}

.modal-body .card-block input,
.modal-body .card-block select {
    line-height: inherit;
    border: 1px solid #e5f2f8;
    width: 100%;
    background: #e5f2f8;
    font-size: 14px;
    padding: 5px;
    outline: none;
    color: #666666;
}

.modal-body .card-block .bt:hover,
.modal-body .card-block .bt {
    color: white;
}

.modal-body .card-block h2 {
    font-size: 36px;
    font-weight: 300;
    color: #054465;
}

.modal-body .card-block h2:after {
    content: '\f107';
    display: block;
    font: normal normal normal 37px/1 FontAwesome;
    color: #054465;
    width: 50px;
    height: 50px;
    left: 50%;
    margin-top: 5px;
    margin-left: -25px;
    margin-bottom: 10px;
    clear: both;
    position: relative;
}

#visuel_tarificateur {
    margin: 40px 0 0;
    border-radius: 20px;
    padding: 40px 20px 20px;
    display: inline-block;
    position: relative;
    background: #fff100;
}

#visuel_tarificateur:before {
    content: '';
    position: absolute;
    top: -25px;
    left: 50%;
    margin-left: -25px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 25px 25px 25px;
    border-color: transparent transparent #fff100 transparent;
}

#visuel_tarificateur p {
    font-size: 16px;
    text-align: center;
    color: #000000;
    font-weight: 300;
}

#visuel_tarificateur p:before {
    content: '\f1ec';
    display: block;
    font: normal normal normal 37px/1 FontAwesome;
    color: white;
    width: 80px;
    height: 80px;
    left: 15px;
    top: -50px;
    margin-top: 0px;
    margin-bottom: 10px;
    clear: both;
    position: absolute;
    background: #49a3cf;
    border-radius: 100px;
    padding: 20px;
}

#visuel_tarificateur p strong {
    font-weight: 700;
}

.modal-header {
    color: white;
    background: #3285ae;
    /* Old browsers */
    background: -moz-linear-gradient(top, #3285ae 0%, #176489 40%, #095274 100%);
    /* FF3.6-15 */
    background: -webkit-linear-gradient(top, #3285ae 0%, #176489 40%, #095274 100%);
    /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(to bottom, #3285ae 0%, #176489 40%, #095274 100%);
    /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#3285ae', endColorstr='#095274', GradientType=0);
    /* IE6-9 */
    border-bottom: 10px solid #054465;
    margin-bottom: 0px;
    font-weight: 700;
    min-height: 50px;
}

.modal-header:before {
    content: '\f0c5';
    font: normal normal normal 48px/1 FontAwesome;
    display: block;
    position: absolute;
    color: white;
    left: 25px;
    top: 25px;
}

.modal-header .badge {
    text-align: center;
    color: #054465;
    background: #FFEB3B;
    width: 130px;
    padding: 10px 20px;
    display: inline-block;
    position: relative;
    font-weight: bold;
    font-size: 14px;
    font-family: Lato;
}

.modal-header .title {
    width: 350px;
    margin-left: 75px;
}

.modal-header h5 {
    font-weight: 300;
    font-family: 'Lato';
    font-size: 24px;
    text-transform: uppercase;
    margin: 0 0 5px;
}

.modal-header p {
    font-weight: 700;
    font-family: 'Lato';
    font-size: 13px;
    text-transform: uppercase;
    margin: 0;
    letter-spacing: 1px;
}

.modal-header a {
    color: white;
    font-style: italic;
    font-size: 12px;
    top: -3px;
    position: relative;
    font-weight: 400;
    display: inline-block;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.modal-header a:hover {
    text-indent: 15px;
}

.modal-body .head-infos {
    padding: 10px 0px 20px;
    position: relative;
    margin-bottom: 30px;
    border-bottom: 1px solid #b6b6b6;
}

.modal-body .head-infos li {
    list-style-type: none;
    display: inline-block;
    width: 32%;
    font-size: 14px;
    line-height: 18px;
    color: #808080;
    padding: 8px 0 0;
    position: relative;
}

.modal-body .head-infos li:after {
    content: '\f105 ';
    font: normal normal normal 48px/1 FontAwesome;
    display: block;
    position: absolute;
    right: 15px;
    top: 0px;
    color: #b6b6b6;
}

.modal-body .head-infos li:last-child:after {
    display: none;
}

.modal-body .head-infos span {
    font-size: 34px;
    color: #054465;
    font-weight: 700;
    float: left;
    height: 40px;
    top: 8px;
    margin-right: 5px;
    position: relative;
}

.modal-header .close {
    color: #b6b6b6;
    background: white;
    text-shadow: 0 0px 0 #fff;
    opacity: 1;
    border-radius: 50px;
    width: 24px;
    position: absolute;
    top: -10px;
    right: -10px;
}

.modal-header .close:hover {
    color: #054465;
}

.modal-body form {
    width: 370px;
    margin: auto;
}

.box-fixe .modal-body form {
    width: 100%;
}

.box-fixe .form-check {
    width: 68%;
    margin-left: 32%;
}

.box-fixe .modal-body .head-infos span {
    font-size: 26px;
}

.box-fixe .modal-body .head-infos li {
    width: 34%;
    font-size: 12px;
    line-height: 15px;
    padding: 0px 0 0;
}

.box-fixe .modal-body .head-infos li:nth-child(2) {
    width: 28%;
}

.box-fixe .modal-body .head-infos li:after {
    font-size: 25px;
    right: 0px;
    top: 3px;
}

.box-fixe .services h6 {
  font-size: 18px;
  color: #014768;
  font-weight: 300;
  text-transform: uppercase;
  margin-bottom: 15px;
}
.box-fixe .services ul li {
  list-style-type: none;
  display: inline-block;
  margin-bottom: 5px;
}
.box-fixe .services ul li .tag {
    font-size: 14px;
    padding: 5px 15px;
}
.modal-body .form-control {
    max-width: 270px;
    width: 70%;
    background: #f1f5f7;
    padding-left: 35px;
}

.modal-body .lb {
    width: 20%;
    margin-right: 5%;
    position: relative;
}

.cf:after {
    content: '\f2bd';
    font: normal normal normal 18px/1 FontAwesome;
    display: block;
    position: absolute;
    right: -48px;
    top: 2px;
    color: #808080;
}

.cf.sujet:after {
    content: '\f0ea';
}

.cf.email:after {
    content: '\f0e0';
}

.cf.phone:after {
    content: '\f095';
}

.cf.city:after {
    content: '\f1ad';
}

#step02 .modal-header:before {
    top: 20px;
}

#step02 .modal-body .head-infos {
    padding: 10px 0px 20px;
    position: relative;
    margin-bottom: 30px;
    border-bottom: 1px solid #b6b6b6;
    text-align: center;
    font-size: 14px;
}

#step02 .modal-body .head-infos p {
    font-size: 14px;
}

#step02 .modal-body .head-infos strong {
    color: #054465;
}

#step02 .listResults li {
    list-style-type: none;
}

#step02 .listResults {
    padding: 0 0 20px;
    border-bottom: 1px solid #b6b6b6;
    margin-bottom: 25px;
    display: inline-block;
    width: 100%;
    max-height: 320px;
    overflow-y: scroll;
}

#step02 .item.map {
    width: 100%;
}

#step02 .item.map .select-item {
    font-size: 30px;
    position: absolute;
    right: 5px;
    top: 40%;
    margin-top: -35px;
    color: #ccc;
    text-align: center;
    min-width: 100px;
}

#step02 .item.map .select-item span {
    font-size: 12px;
    display: block;
    color: #209fe3;
    line-height: 15px;
    top: 0px;
    position: relative;
}

#step02 .item.map .select-item span strong {
    font-size: 14px;
}

#step02 .item.map .select-item:hover {
    color: #ad007a;
}

#step02 .item.map:hover .select-item,
#step02 .item.map.active .select-item {
    color: #ad007a;
}


/* -------- Boutons, tags & socials -------- */

.bt {
    font-size: 13px;
    background: #014768;
    padding: 7px 20px;
    text-transform: uppercase;
    color: white;
    font-weight: 900;
    border-radius: 5px;
    border: 0;
    outline: none;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.bt:hover {
    background: #3a89af;
    color: white;
}

.bt.white {
    background: white;
    color: #014768;
}

.bt.white:hover {
    background: #49a3cf;
    color: white;
}

.bt.grey {
    background: #959595;
    color: white;
}

.bt.grey:hover {
    background: #3a89af;
    color: white;
}

.bt.blue {
    background: #49a3cf;
    color: white;
}

.bt.blue:hover {
    background: #3a89af;
    color: white;
}

#form_resultat .bt.action { background: #08629a;}
#form_resultat .bt.action:hover { background: #117fc3; }

.bt.action {
    background: #ad007a;
    color: white;
    font-weight: 700;
    cursor: pointer;
    display: inline-block;
}

.bt.action:hover {
    background: #d367b3;
}

.box-bt {
    top: -5px;
    position: relative;
}

.bt.small {
    font-size: 12px;
    font-weight: 700;
    padding: 7px 10px;
    margin: 0 2px;
    position: relative;
    display: inline;
}

.bt.small:visited,
.bt.small:focus,
.bt.small:active {
    color: white;
    text-decoration: none;
}

.bt.small.fiche:before {
    content: 'Plus de détails';
    display: block;
    color: white;
    position: absolute;
    font-size: 11px;
    top: -25px;
    left: 50%;
    margin-left: -50px;
    width: 100px;
    background: #003c5a;
    border-radius: 3px;
    padding: 3px;
    opacity: 0;
}

.bt.small.fiche:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 10px 0 10px;
    border-color: #003c5a transparent transparent transparent;
    position: absolute;
    opacity: 0;
    top: -5px;
    left: 50%;
    margin-left: -10px;
}

.bt.small.fiche:hover:after,
.bt.small.fiche:hover:before {
    opacity: 1;
}

.bt.arrow:before {
    content: '\f18e';
    font: normal normal normal 18px/1 FontAwesome;
    display: inline-block;
    position: relative;
    margin-right: 5px;
    top: 2px;
}

.tag {
    display: inline-block;
    font-size: 12px;
    background: #d2d2d2;
    padding: 3px 15px;
    color: white;
    font-weight: 700;
    border-radius: 5px;
    border: 0;
    outline: none;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.tag.active {
    background: #358ab2;
}

.tag:hover,
.tag.active:hover {
    background: #014768;
    color: white;
}

.socials {
    margin-top: 20px;
}

.socials li {
    list-style-type: none;
    display: inline-block;
    margin: 0 3px;
}

.socials li a {
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50px;
    border: 3px solid #303030;
    text-align: center;
    color: #303030;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.socials li.twitter a:hover {
    color: #00aced;
    border-color: #00aced;
}

.socials li.facebook a:hover {
    color: #3b5998;
    border-color: #3b5998;
}

.socials li.pinterest a:hover {
    color: #cb1f27;
    border-color: #cb1f27;
}

.socials li.linkedin a:hover {
    color: #0274b3;
    border-color: #0274b3;
}

.bt-pro {
    position: absolute;
    right: 0;
    bottom: 0;
    background-color: #d9cd01;
    overflow: hidden;
    border-top: 4px solid white;
    border-left: 4px solid white;
    border-radius: 30px 0 0 0;
    padding: 15px 25px 25px;
    color: #004869;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
    -moz-box-shadow: 00px 00px 20px 0px #aaa;
    -webkit-box-shadow: 00px 00px 20px 0px #aaa;
    -o-box-shadow: 00px 00px 20px 0px #aaa;
    box-shadow: 00px 00px 20px 0px #aaa;
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#aaa, Direction=NaN, Strength=20);
}

.circles,
.circles:before,
.circles:after {
    content: '';
    position: absolute;
    background: #e5d901;
    width: 300px;
    height: 300px;
    left: -150px;
    bottom: -5px;
    border-radius: 500px;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.circles {
    background: #e5d901;
    width: 300px;
    height: 300px;
    left: -150px;
}

.circles:before {
    background: #efe41e;
    width: 200px;
    height: 200px;
    left: 40px;
    bottom: 0px;
}

.circles:after {
    background: #f7f28f;
    width: 200px;
    height: 200px;
    left: 10px;
    bottom: -2px;
}

.bt-pro .fa {
    font-size: 38px;
    display: inline-block;
    float: left;
    margin-right: 10px;
    z-index: 5;
    position: relative;
}

.bt-pro span {
    font-size: 18px;
    display: inline-block;
    line-height: 20px;
    font-weight: 700;
    float: left;
    z-index: 5;
    position: relative;
}

.bt-pro:hover {
    color: #004869;
    padding-bottom: 50px;
    padding-right: 40px;
}

.bt-pro:hover .circles {
    width: 600px;
    height: 600px;
    bottom: -50px;
}

.bt-pro:hover .circles:before {
    width: 550px;
    height: 550px;
    bottom: -60px;
}

.bt-pro:hover .circles:after {
    width: 540px;
    height: 540px;
    bottom: -70px;
    background: #fff207;
}

.bt-pro.fiche {
    bottom: inherit;
    right: inherit;
    border: none;
    border-radius: 20px;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    -o-box-shadow: none;
    box-shadow: none;
    filter: progid: DXImageTransform.Microsoft.Shadow(color=#aaa, Direction=NaN, Strength=0);
    width: 100%;
    display: block;
    position: relative;
    margin-top: 25px;
    padding: 15px 15px 15px 25px;
}

.bt-pro.fiche .fa {
    margin-top: 8px;
    margin-right: 20px;
}

.bt-pro.fiche p {
    font-size: 21px;
    display: inline-block;
    line-height: 20px;
    font-weight: 300;
    float: left;
    z-index: 5;
    position: relative;
    width: 70%;
    margin: 0;
}

.bt-pro.fiche span {
    font-size: 14px;
}

.bt-pro.fiche:hover {
    color: #004869;
    padding-bottom: 15px;
    padding-right: 15px;
}

.bt-pro.fiche .circles {
    left: -100px;
}

.bt-pro.fiche .circles:before {
    left: 40px;
}

.bt-pro.fiche .circles:after {
    left: 0px;
}


/* -------- Footer -------- */

.map-page footer {
    display: none;
}

.appel-pro {
    min-height: 195px;
    background: white url(../images/personnage.png) no-repeat -20px bottom;
}

.appel-pro h3 {
    margin-top: 15px;
    color: #585858;
    font-size: 36px;
    font-weight: 300;
}

.appel-pro p {
    color: #585858;
    font-size: 18px;
    font-weight: 300;
}

.appel-pro p strong {
    color: #585858;
    font-size: 16px;
    font-weight: 700;
}

.appel-pro .bt.blue {
    padding: 20px 30px;
    margin-top: 30px;
    letter-spacing: 1px;
    display: inline-block;
}

footer {
    width: 100%;
    background: #3b3b3b;
    padding: 15px 0 15px;
    position: relative;
}

footer .ml {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    margin-bottom: 20px;
    width: 100%;
}

footer .ml p {
    font-size: 11px;
    margin: 0 0 20px;
}

footer .presentation {
    padding: 20px 0 10px;
}

footer .presentation p {
    text-transform: inherit;
    font-size: 14px;
    line-height: 21px;
    padding: 0 25px;
    margin-bottom: 15px;
}

footer .presentation h4 {
    color: white;
    font-size: 18px;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 10px;
}

footer .presentation ul li {
    list-style-type: none;
}

footer .presentation ul {
    display: inline-block;
    width: 100%;
    -webkit-columns: 2;
    -moz-columns: 2;
    columns: 2;
    column-gap: 15px;
}

footer .presentation ul li a {
    font-size: 13px;
}

footer .presentation ul li a:before {
    content: '\f054';
    font: normal normal normal 13px/1 FontAwesome;
    margin-right: 5px;
}

footer .presentation ul li a:hover {
    color: #49a3cf;
}

.newsletter {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    padding: 25px 0;
    color: white;
}

.newsletter span {
    text-align: center;
    font-family: 'Georgia';
    color: white;
    font-size: 16px;
    background: #3b3b3b;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 30px;
    padding: 0 20px;
    display: inline-block;
    position: relative;
}

.newsletter .divider {
    position: relative;
}

.newsletter .divider:before {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    top: 13px;
}

.newsletter form {
    text-align: center;
}

.newsletter input[type="email"] {
    width: 40%;
    padding: 15px 20px 13px;
    display: inline-block;
    color: #585858;
    font-size: 14px;
    border: none;
}

.newsletter input[type="submit"] {
    color: #48a2ce;
    padding: 11px 20px 11px 50px;
    display: inline-block;
    font-size: 18px;
    font-weight: 700;
    border: none;
    cursor: pointer;
    background: white url(../images/enveloppe.png) no-repeat 15px 49%;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

.newsletter input[type="submit"]:hover {
    background-color: rgba(255, 255, 255, 0.8);
}

.list-fr {
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    margin-bottom: 25px;
    padding: 25px 0;
    color: white;
    display: inline-block;
    width: 100%;
}

.list-ville {
    margin-bottom: 45px;
}

.list-fr h5 {
    width: 100%;
    color: white;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
    text-align: center;
}

.list-fr h5:before {
    content: '';
    display: block;
    background: transparent url(../images/france.png) no-repeat 0% 0%;
    background-size: 62px;
    width: 60px;
    height: 60px;
    left: 50%;
    margin-top: 15px;
    margin-left: -30px;
    margin-bottom: 10px;
    clear: both;
    position: relative;
}

.list-fr h6 {
    color: white;
    font-size: 16px;
    font-style: italic;
    font-weight: 400;
    margin-bottom: 30px;
}

.list-fr ul li {
    list-style-type: none;
}

.list-fr ul {
    display: inline-block;
    width: 100%;
    -webkit-columns: 4;
    -moz-columns: 4;
    columns: 4;
    column-gap: 15px;
    height: 100%;
}

.list-fr ul li a {
    font-size: 12px;
    font-style: italic;
}

.list-fr ul li a:hover {
    color: #49a3cf;
}

footer p {
    font-size: 11px;
    color: white;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 0;
}

footer a {
    color: white;
    -webkit-transition: all 0.4s ease;
    -moz-transition: all 0.4s ease;
    -o-transition: all 0.4s ease;
    transition: all 0.4s ease;
}

footer a:hover {
    color: #49a3cf;
}

footer .socials {
    margin-top: -5px;
    margin-bottom: 0px;
}

footer .socials li a {
    color: #bbbbbb;
    border-color: #bbbbbb;
}

.box-fixe.active {
    position: fixed;
    top: 180px;
}

.letter .box-fixe.active {top: 80px;}


/* -------- Responsive -------- */

@media screen and (max-width: 1750px) {
    .item .infos {
        max-width: 220px;
    }
}

@media screen and (max-width: 1600px) {
    .item .infos {
        max-width: 190px;
    }
}

@media screen and (max-width: 1450px) {
    .boxSearchMap .boxResults ul {
        padding-bottom: 75px;
    }
    .item.map {
        padding: 8px 0 0 5px;
    }
    .item.map h4 {
        font-size: 12px;
        margin-bottom: 5px;
    }
    .item.map .adresse {
        font-size: 10px;
    }
    .item.map .cover {
        max-width: 85px;
    }
    .item.map .infos {
        width: 65%;
    }
    .item.map .ratingStar a {
        font-size: 11px;
    }
    .item.map .ratingStar {
        display: inline-block;
        top: -5px;
        position: relative;
        margin: 0;
    }
    .item.map.bulle .ratingStar {
        top: 0;
        margin: 10px 0 0;
    }
    .item.map .ratingStar .fa {
        font-size: 12px;
    }
    .boxSearchMap .head-box:before {
        width: 35px;
        height: 35px;
        background-size: 100%;
        margin-right: 10px;
    }
    .boxSearchMap .boxResults ul .head-box {
        padding: 7px 25px 0px;
    }
    .boxSearchMap .boxResults ul .head-box br {
        display: none;
    }
    .boxSearchMap .head .head-offre:before {
        font-size: 24px;
        margin-right: 5px;
    }
    .boxSearchMap .head .head-offre {
        min-height: 75px;
        padding: 20px 20px 0;
    }
    .boxSearchMap .price-offre .price {
        font-size: 18px;
    }
    .boxSearchMap .price-offre {
        padding: 5px 0 0;
    }
    .boxSearchMap .price-offre span {
        font-size: 12px;
    }
    .boxSearchMap .price-offre em {
        top: -15px;
    }
    .boxSearchMap .price-offre p {
        font-size: 13px;
        margin: 10px 0;
        line-height: 14px;
    }
    .bt.small {
        font-size: 10px;
        padding: 5px 10px;
    }
    .btn-group label {
        margin: 0px;
        font-size: 11px;
        padding: 7px 5px;
    }
    nav.nav-map .menu-map.active ul {
        width: 75%;
    }
    .upperbar .bbgroup span {
        font-size: 13px;
    }
    .upperbar .col-lg-2 {
        padding: 0;
    }
    .upperbar .socials {
        margin-left: -20px;
    }
    .upperbar .bbgroup {
        width: 190px;
        height: 92px;
        border-radius: 50px 0 0 50px;
        padding: 20px 5px 20px 15px;
    }
    nav.nav-map form h2 {
        font-size: 13px;
        padding: 17px 15px 16px 40px;
    }
    nav.nav-map form input[type="text"] {
        max-width: 150px;
    }
}

@media screen and (max-width: 1270px) {
    .upperbar .socials {
        display: none;
    }
}

@media screen and (max-width: 1200px) {
    .upperbar .socials {
        display: none;
    }
    .upperbar .module-user .icon-circle {
        display: none;
    }
    .icon-service p {
        width: 60%;
    }
    .icon-service .fa {
        top: -25px;
    }
    .icon-service .col-md-4:after {
        top: 40px;
    }
    .boxSearchMap .ongletSearch {
        width: 50%;
    }
    .galerie a {
        width: 30%;
    }
    .item.bulle.map .cover img {
        max-width: 100%;
    }
    .item.bulle-map .distance {
        margin-left: 0px;
        margin-bottom: 15px;
        margin-top: 5px;
        display: inline-block;
    }
    .upperbar .box-tel {
        padding: 10px;
    }
    .upperbar .box-tel:before {
        display: none;
    }
    .upperbar.map nav .main-menu li {
        display: none;
    }
    .upperbar.map.active nav .main-menu li {
        display: inline-block;
    }
    .op-tvpin {
        margin-left: 5%;
    }
    .op-tvpin-right {
        margin-right: 5%;
    }

    @keyframes slide-left {
        from {
            margin-left: -100%;
        }
        50% {
            margin-left: -100%;
        }
        to {
            margin-left: 5%;
        }
    }
    nav .main-menu li {
        margin-left: 14px;
    }
    nav .main-menu li a {
        font-size: 10px;
    }
}

@media screen and (max-width: 1050px) {
  .sub-menu ul {
    float: left;
  }  
  .letter .zone-map {   
    padding: 20px 0 0;
  }
  .letter .zone-map form .bt {
    padding: 10px 10px;
}
}

@media screen and (max-width: 1000px) {
  
   nav .main-menu li.backHome {display: inline-block;}
  
    .op-tvpin,
    .op-tvpin-right {
        top: 5%;
    }
    .upperbar .icon-circle {
        display: none;
    }
    .upperbar .txt {
        font-size: 13px;
    }
    .upperbar .bbgroup span {
        display: none;
    }
    .upperbar .bbgroup {
        width: 100px;
    }
    .box-pro .container {
        width: 100%;
    }
    .head-post h1 {
        font-size: 35px;
        line-height: 40px;
    }
    .boxSearchMap .ongletSearch {
        width: 60%;
    }
    .price-offre {
        width: 35%;
    }
    .boxSearchMap .head .head-offre {
        width: 35%;
        padding: 20px 10px 0;
    }
    .boxSearchMap .head .head-offre:before {
        display: none;
    }
    .item.map {
        width: 65%;
        min-height: 90px;
    }
    .boxSearchMap .head-box,
    .boxSearchMap .head-offre {
        width: 65%;
    }
    .boxSearchMap .price-offre .promo {
        border-width: 50px 0 0 50px;
    }
    .boxSearchMap .price-offre .promo:before {
        font-size: 10px;
        top: -29px;
        right: 13px;
    }
    .map-page footer p {
        width: 80%;
    }
    nav.nav-map .menu-map span:after {
        display: none;
    }
    nav.nav-map .menu-map.active {
        width: 100%;
    }
    nav.nav-map .menu-map span:before {
        margin-right: 5px;
    }
    nav.nav-map .menu-map {
        width: 8%;
        padding: 20px 15px 0;
    }
    .btn-group label {
        font-size: 10px;
    }
    .fiche-details .item .cover {
        max-width: 180px;
    }
    .fiche-details .item h1 {
        font-size: 15px;
    }
    .item .meta .num {
        font-size: 18px;
    }
    .item .meta .mail,
    .item .meta .web {
        width: 100%;
    }
    .fiche-details .box-contact .box-form .head-infos {
        padding: 0px 5px 10px 0px;
    }
    .fiche-details .box-contact .box-form .head-infos:before {
        display: none;
    }
    .fiche-details .box-contact .box-form .head-infos h6 {
        font-size: 18px;
    }
    .fiche-details .box-contact {
        min-width: 230px;
    }
    .fiche-details .box-contact .table.resume td {
        font-size: 11px;
    }
    .fiche-details .box-contact h5 {
        font-size: 13px;
    }
    .bt-pro.fiche p {
        font-size: 15px;
        width: 100%;
    }
    .bt-pro.fiche .fa {
        display: none;
    }
    .box-avis ul li span {
        float: left;
        width: 100%;
    }
    .item.bulle.map .infos {
        width: 100%;
        margin-top: 15px;
    }
    .item.bulle-map .distance {
        margin-left: 0px;
        margin-bottom: 15px;
        margin-top: 5px;
        display: inline-block;
    }
    .item.bulle-map .adresse {
        margin-top: 0;
        line-height: 10px;
    }
    .item.bulle.map .box-footer .price-offre {
        padding: 28px 0;
    }
    .item.bulle.map .box-footer .price-offre span {
        font-size: 11px;
    }
    .item.bulle.map .box-footer .price-offre .price {
        font-size: 21px;
        top: 0px;
    }
    .item.bulle.map .box-footer .box-bt .bt {
        font-size: 10px;
        padding: 10px 6px;
    }
    .item.bulle.map .ratingStar {
        display: block;
    }
    .appel-pro .bt.blue {
        padding: 20px 15px;
        font-size: 11px;
    }
    .list-fr h6 {
        text-align: center;
    }
    .list-fr {
        width: auto;
    }
    .icon-service .fa {
        top: -42px;
    }
    .icon-service p {
        width: 70%;
    }
    .icon-service .col-md-4:after {
        display: none;
    }
    
    .zone-map .bubble .icon-search {
        width: 55px;
    }
    .zone-map form input[type="text"] {
        max-width: 150px;
    }
    .zone-map form .bt {
        padding: 10px 15px;
        font-size: 12px;
    }
    .zone-map .bubble {
        padding: 35px 165px 30px 70px;
    }
    .zone-map .bubble .box-tel {
      padding: 13px 10px;
      max-width: 150px;
    }
    .zone-map .bubble .box-tel p:before {
      top: -35px;
      right: -25px;
    }
    .zone-map .bubble .box-tel p {
        font-size: 12px;
    }
    .zone-map .bubble .box-tel strong {
        font-size: 16px;
    }
    .zone-map .bubble .box-tel em {
        font-size: 12px;
    }
    .upperbar .box-tel p {
        font-size: 12px;
    }
    .upperbar .box-tel strong {
        font-size: 14px;
    }
    .upperbar .box-tel em {
        font-size: 11px;
        margin-top: 2px;
    }
    .upperbar .box-tel {
        padding: 8px 5px;
    }
    
    .btNav {
        display: inline-block;
        float: right;
        margin: 13px 0;
    }
    nav.nav {
        margin: 0;
        width: 100%;
    }
    nav .main-menu {
        width: 100%;
        background: #49a3cf;
        overflow: hidden;
        height: 0px;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
        transition: all 0.4s ease;
    }
    nav .main-menu li {
        width: 100%;
        margin: 0;
    }
    nav .main-menu li a {
        font-size: 14px;
        padding: 15px;
        display: block;
        border-bottom: 1px solid #054465;
    }
    nav .main-menu li a:hover {
        background: #054465;
        border-bottom: 1px solid #054465;
        color: white;
    }
    nav.active .main-menu {
        height: 310px;
    }

    nav .main-menu li:last-child { height: 40px;}
    nav .main-menu li:last-child:hover .sub-menu,
    .sub-menu:hover {
      display: none;
    }
}

@media screen and (max-width: 770px) {
    
    .page-404 h1 {  font-size: 24px; }
    .page-404 h1 span {  font-size: 42px; }
    .page-404 { padding: 200px 0 50px; }
   
    .zone-map .bubble .icon-search {
        display: none;
    }
    .zone-map .bubble {
        padding: 35px 165px 30px 20px;
    }
    .item .box-bt {
        height: 100%;
    }
    .item .bt {
        opacity: 1;
        padding: 5px;
        font-size: 8px;
        max-width: 100px;
        text-align: center;
        line-height: 11px;
    }
    .upperbar .bbgroup {
        width: 190px;
        padding: 20px 0px 20px 10px;
    }
    .upperbar .bbgroup span {
        display: block;
        max-width: 170px;
    }
    .upperbar .module-phone {
        margin-top: 15px;
        float: left;
        max-width: 130px;
        line-height: 17px;
    }
    .box-pro {
        text-align: center;
        padding: 30px;
    }
    .appel-pro {
        background: none;
    }
    footer .presentation p,
    footer p {
        margin-bottom: 35px;
        padding: 0;
    }
    footer .logo {
        margin: 0 auto 25px;
        display: table;
    }
    footer .socials {
        margin: -15px auto 0;
        display: table;
    }
    
    .txt h1 {
        font-size: 38px;
        margin: 0px 0 40px;
    }
    .item-post {
        max-width: 360px;
        margin: 0 auto 30px;
    }
    .item-card {
        max-width: 320px;
        margin: 0 auto 30px;
    }
    .head-post h1 {
        font-size: 30px;
        line-height: 35px;
    }
    .icon-service {
        text-align: center;
    }
    .icon-service .col-md-4:after {
        display: none;
    }
    .section-services p {
        margin-bottom: 40px;
    }
    .boxSearchMap .ongletSearch {
        width: 100%;
    }
    .map-page .socials,
    .map-page .bt-pro,
    .boxSearchMap .ongletSearch .head .arrow {
        display: none;
    }
    .map-page footer p {
        width: 100%;
    }
    .item.map {
        padding: 8px 0 8px 5px;
    }
    nav.nav-map .menu-map {
        height: 70px;
    }
    nav.nav-map form h2,
    nav.nav-map form,
    nav.nav-map form .fa {
        display: none;
    }
    .bt-filtre-map,
    .bt-view-map,
    .bt-phone-map {
        display: inline-block;
        width: 30px;
        height: 30px;
        border-radius: 50px;
        background: #ffffff;
        text-align: center;
        margin-right: 10px;
        float: right;
        margin-top: 10px;
    }
    .bt-filtre-map .fa-close,
    .bt-phone-map .fa-close,
    .bt-view-map .fa-close {
        display: none;
    }
    .bt-filtre-map.off .fa-close,
    .bt-view-map.off .fa-close,
    .bt-phone-map.off .fa-close {
        display: inline-block;
    }
    .bt-filtre-map.off .fa-search,
    .bt-view-map.off .fa-map-signs,
    .bt-phone-map.off .fa-phone {
        display: none;
    }
    .bt-filtre-map .fa,
    .bt-view-map .fa,
    .bt-phone-map .fa {
        color: #003c5a;
        top: 3px;
        position: relative;
    }
    .bt-filtre-map:hover,
    .bt-view-map:hover,
    .bt-phone-map:hover {
        background: #49a3cf;
    }
    .bt-filtre-map:hover .fa,
    .bt-phone-map:hover .fa,
    .bt-view-map:hover .fa {
        color: #ffffff;
    }
    .boxSearchMap .ongletSearch.active.close {
        left: -100%;
    }
    .box-fixe.active {
        position: relative;
        top: 0px;
    }
    .bt-offr-mobile {
        display: block;
        position: fixed;
        bottom: 0;
        width: 100%;
        color: white;
        background: #054465;
        text-align: center;
        padding: 10px;
        font-weight: 700;
        z-index: 10;
    }
    .bt-offr-mobile:hover {
        color: white;
    }
    .bt-offr-mobile.promo:after {
        content: 'PROMO';
        font-size: 11px;
        font-weight: 900;
        text-transform: uppercase;
        color: #004869;
        top: -10px;
        right: 30px;
        position: absolute;
        background: #ffff00;
        border-radius: 5px;
        padding: 3px 10px;
        border: 1px solid #004869;
    }
    .list-actu .item-post {
        max-width: 100%;
    }
    .list-actu .head {
        padding: 5px 0px;
        margin-bottom: 0px;
        min-height: 150px;
    }
    .section-actus .head em {
        margin-bottom: 30px;
    }
    .list-actu .filtre {
        margin-bottom: 20px;
    }
    .sidebar {
        margin: 0 20px;
    }
    .section-actus h2 {
        font-size: 20px;
    }
    .section-faq .list-questions h5.active:after {
        content: '';
        position: absolute;
        top: -5px;
        left: -15px;
        right: inherit;
        border-width: 15px 0px 15px 15px;
        border-color: transparent transparent transparent #fff;
    }
    .section-faq .list-questions h5 {
        padding-left: 15px;
    }
    .section-faq .list-questions h5.active {
        padding-left: 35px;
        padding-right: 0;
    }
    .section-faq .list-questions {
        text-align: left;
        border-right: 0px solid white;
    }
    footer .presentation {
        padding: 20px 20px 10px;
        width: 100%;
    }
    .zone-map p:after {
        bottom: -35px;
        line-height: 16px;
    }
    .icon-service .fa {
        top: -5px;
    }
    .box-fixe.active {
        position: relative;
        top: 0px;
        width: 90% !important;
        margin-bottom: 50px;
    }
    .cf.sujet:after {
        display: none;
    }
    #datedeces {
        padding-left: 10px;
    }
    .upperbar .box-tel {
        display: none;
    }
    .upperbar.phone .box-tel {
        display: inline-block;
    }
    .upperbar.map .btNav {
        margin-left: 20px;
    }
    nav.nav-map.open {
        width: 100%;
        background: #014768;
        top: 50px;
        position: absolute;
        padding: 25px 0;
    }
    nav.nav-map.open form .fa {
        display: inline-block;
    }
    nav.nav-map form .btn-group,
    nav.nav-map form .fa {
        margin: 0;
    }
    nav.nav-map.open form {
        display: block;
        background: #014768;
        border-bottom: 0px solid #00202f;
        padding: 20px 0px 20px 0px;
        text-align: center;
    }
    .boxSearchMap .head-box span {
        max-width: 100%;
        font-size: 13px;
    }
    .letter .box-fixe.active { top: 0px;}
    
    .op-tvpin-right {
        display: none;
        width: 100px;
        height: 100px;
        top: 85%;
        display: none;
    }

    .liste-courriers-deces{

        display:none;
    }

}

@media screen and (max-width: 670px) {
    .upperbar .bbgroup {
        display: none;
    }
    .hide-mobile {
        display: none;
    }

   
}

.btNum {
    display: none;
}

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

    .upperbar { background: transparent; border-bottom: 0 solid transparent;}
    .upperbar .logo, .upperbar .module-user { display: none; }
    .zone-map .logo { max-width: 200px; }
    body { padding: 0px; }
    body.map-page { padding: 40px 0 0; }
    .btNav {
      background: #117fc3;
      border-radius: 10px 0 0 10px;
      width: 50px;
      padding: 10px 0px 10px 15px;
      position: relative;
      z-index: 100;
    }
    nav.active .main-menu {
        height: 372px;
        padding-top: 60px;
    }
    nav.nav { left: 0;}
    .breadcrumb {  width: 80%; }
    .letter .item-courrier h3 {  font-size: 18px; }
    .item-courrier span { font-size: 12px; }
    .section h1 { font-size: 21px;}
    .box-courrier { padding: 30px 15px;}
    .zone-map .logo {
        margin-top: 10px;
    }
    .btNum {
        display: block;
        position: fixed;
        z-index: 1000;
        bottom: 0;
        background: #117fc3;
        width: 100%;
        text-align: center;
        font-weight: bold;
        color: white;
        padding: 15px;
        border-bottom: 5px solid #014768;
        border-top: 3px solid #62bdf5;
        animation-duration: 6s;
        animation-name: bg-color;
        animation-iteration-count: infinite;
    }
    .btNum:hover {
        color: white;
    }
    .btNum:before {
        font-size: 24px;
        font-family: FontAwesome;
        display: inline-block;
        content: "\f2a0";
        position: absolute;
        top: -35px;
        background: #ad007a;
        width: 50px;
        text-align: center;
        height: 50px;
        left: 50%;
        margin-left: -25px;
        padding-top: 3px;
        border-radius: 50px;
        border: 4px solid #b94396;
        animation-duration: 2s;
        transform-origin: 50% 100%;
        animation-delay: 1s;
        animation-name: phone;
        animation-iteration-count: infinite;
    }
    .op-tvpin,
    .op-tvpin-right {
        display: none;
        width: 100px;
        height: 100px;
        top: 85%;
        display: none;
    }
    .op-tvpin span,
    .op-tvpin-right span {
        display: none;
        padding: 10px 15px 0 15px;
        font-weight: bold;
        line-height: 12px;
        margin-top: 5px;
        font-size: 10px;
    }
    .op-tvpin p,
    .op-tvpin-right p {
        display: none;
    }
    .mobile-full {
        width: 100%;
        text-align: center;
        padding: 0 10%;
        display: block;
        flex: 0 0 100%;
        max-width: 100%;
    }
    .upperbar .module-phone {
        margin-top: 9px;
        margin-left: 110px;
        float: right;
        max-width: 220px;
        text-align: right;
    }
    .upperbar:before {
        background: #fff;
    }
    .upperbar .container {
        padding: 8px 0 4px;
    }
    .upperbar .num,
    .upperbar .txt {
        float: right;
        margin: 2px;
    }
    nav {
        position: fixed;
    }
    nav.active {
        width: 100%;
        padding: 0;
    }
    nav .container,
    nav .col-sm-12 {
        padding: 0;
    }
    nav .main-menu li a {
        padding: 15px 30px;
    }
    .newsletter input[type="email"] {
        margin-bottom: 15px;
        width: 100%;
    }
    .txt h1 {
        font-size: 28px;
    }
    .head-post h1 {
        font-size: 25px;
        line-height: 30px;
    }
    .section-faq .list-questions h5 {
        margin-bottom: 15px;
    }
    .section-faq .reponse {
        padding-top: 30px;
    }
    .section-services h2,
    .section-services h3 {
        font-size: 26px;
        padding: 0 10px 20px;
    }
    .section-services p.intro {
        font-size: 19px;
        line-height: 26px;
    }
    .section-services p {
        font-size: 16px;
        line-height: 21px;
    }
    .zone-map h1 {
        font-size: 30px;
        line-height: 38px;
    }
    .zone-map form h2 {
        text-align: center;
    }
    .zone-map {
        height: auto;
        padding: 50px 0;
    }
    .zone-map .bubble {
        padding: 35px 0px 0px 0px;
        width: 90%;
    }
    .zone-map .bubble form {
        padding: 0 20px 20px;
        text-align: center;
        width: 100%;
    }
    .zone-map .bubble .box-tel {
        position: relative;
        border-radius: 0px 0px 10px 10px;
        text-align: center;
        display: block;
        max-width: 100%;
    }
    .zone-map form input[type="text"] {
        max-width: 150px;
        margin-bottom: 25px;
    }
    .zone-map form .bt {
        margin: 0;
    }

    .section-palliato {
        display:inline-block;
        background: white;
        color: #333;
        padding: 5px 5px 0 5px;
        margin-top: 0px;
        margin-bottom: 0;
        border: none;
        text-align: center;
        width:100%;
    }

        
    .section-palliato p {
        font-size: 18px;
        z-index: 1;
        padding-bottom:0;
    }

    .section-palliato a,
    .section-palliato a:hover {
        
        text-decoration: none !important;
        
    }

    

}

@media screen and (max-width: 580px) {
    .zone-map .bubble {
        padding: 20px 0px 0px 0px;
    }
    .zone-map form input[type="text"] {
        margin-bottom: 20px;
    }
    .zone-map {
        padding: 0 0 80px 0;
    }
    .zone-map .bubble .box-tel p {
        margin: 0;
        padding: 0;
    }
    .zone-map h3 {
        width: 70%;
        margin: auto;
    }
    .item.map {
        overflow: inherit;
    }
    .item .bt {
        opacity: 1;
        padding: 5px 10px;
        font-size: 8px;
        max-width: 60px;
        text-align: center;
        line-height: 11px;
    }
    .item .bt.small {
        display: initial;
    }
    .espace-pro h5 {
        margin: 0px 0 30px;
        font-size: 26px;
    }
    .espace-pro form label {
        text-align: left;
    }
    .espace-pro #connexion {
        border-bottom: 0px solid #0a4f6f;
        padding-bottom: 0px;
        margin-bottom: 0px;
    }
    .espace-pro {
        padding: 20px;
    }
    .espace-pro .services-plus,
    .espace-contact .services-contact {
        margin-bottom: 30px;
        padding: 30px 30px;
    }
    .espace-contact .services-contact h1 {
        font-size: 26px;
    }
    .head-post h1 {
        font-size: 18px;
        line-height: 22px;
        max-width: 80%;
        left: 10%;
    }
    .head-post .cat {
        font-size: 10px;
        left: 10%;
        top: 20%;
    }
    .list-actu .head {
        min-height: 100px;
    }
    .head-post {
        margin-top: -90px;
        margin-bottom: 20px;
    }
    .zone-map h1 {
        font-size: 21px;
        line-height: 28px;
        padding: 20px 0 10px;
    }
    .zone-map p {
        padding: 0px 0px 0px;
        line-height: 14px;
        color: transparent;
        margin: 0;
        font-size: 14px;
    }
    .zone-map form h2 {
        font-size: 18px;
        margin-bottom: 15px;
    }
    .zone-map form {
        width: 80%;
    }
    .zone-map form input[type="text"] {
        max-width: 84%;
        margin-bottom: 10px;
        width: 100%;
    }
    .zone-map form span {
        padding: 5px 0;
    }
    .map-page .module-phone,
    nav.nav-map form .bt.white,
    nav.nav-map form span,
    .boxSearchMap .head .head-offre {
        display: none;
    }
    .map-page .upperbar {
        text-align: center;
    }
    .boxSearchMap .head-box span br,
    .boxSearchMap .head-box:before {
        display: none;
    }
    .boxSearchMap .head-box {
        width: 100%;
        min-height: 45px;
    }
    nav.nav-map .menu-map {
        width: 11%;
        max-width: 40px;
        padding: 20px 10px 0;
    }
    nav.nav-map form .btn-group {
        margin-bottom: 5px;
    }
    .item.map .cover {
        max-width: 70px;
    }
    .item.map .infos {
        width: 60%;
    }
    .boxSearchMap .price-offre .price {
        font-size: 21px;
    }
    .boxSearchMap .price-offre em {
        display: none;
    }
    nav.nav-map .menu-map.active {
        width: 100%;
        max-width: 100%;
        min-height: 165px;
    }
    nav.nav-map .menu-map.active ul li {
        display: inline-block;
        margin-right: 20px;
        width: 100%;
        display: block;
        border-bottom: 1px solid #ccc;
        padding: 5px 0;
    }
    nav.nav-map .menu-map.active ul {
        width: 80%;
        height: 110px;
    }
    .section .galerie img {
        margin: 8px 1% 0 0;
        width: 48%;
    }
    .fiche-details .item .cover {
        max-width: 100%;
        margin-bottom: 20px;
    }
    .fiche-details .item .infos {
        display: inline-block;
        max-width: 100%;
        width: 100%;
    }
    .bt-pro.fiche {
        margin-bottom: 20px;
    }
    .item-avis .borderDot {
        padding-top: 20px;
        border-left: 0px dotted #c0c0c0;
    }
    .fiche-details .box-contact {
        min-width: 100%;
    }
    .list-fr ul {
        -webkit-columns: 2;
        -moz-columns: 2;
        columns: 2;
        column-gap: 10px;
    }
    .list-actu .item-post .box-cover {
        width: 100%;
        margin-bottom: 15px;
    }
    .list-actu .item-post .infos {
        width: 100%;
    }
    .list-actu .item-post .infos .meta li.author .bulle {
        width: 200px;
    }
    #step02 .item.map .select-item {
        min-width: 75px;
    }
}

@media screen and (max-width: 450px) {
  
  .page-404 h1 { width: 80%; }
  
    .icon-service p {
        width: 80%;
        text-align: left;
    }
    .modal-header .badge {
        width: 110px;
        padding: 8px 10px;
        top: 65px;
        right: 10px;
        position: absolute;
    }
    .modal-header h5 {
        font-size: 18px;
    }
    .modal-header p {
        font-size: 11px;
    }
    .modal-body .head-infos li {
        font-size: 11px;
        letter-spacing: -0.2px;
    }
    .modal-body .head-infos li:after {
        display: none;
    }
    .modal-body .lb {
        margin-right: 2%;
    }
    .cf:after {
        right: -34px;
    }
    .modal-body .form-control {
        max-width: 210px;
    }
    .form-check {
        width: 90%;
    }
    #step02 .modal-header .badge {
        top: 60px;
    }
    #step02 .item.map .select-item {
        font-size: 34px;
        right: 8px;
    }
    #step02 .modal-body {
        padding: 25px 25px 25px;
    }
    #step02 .modal-body .head-infos p {
        font-size: 13px;
        line-height: 16px;
    }
    .bt.small.fiche {
        display: inline;
        margin: 0;
        padding: 11px 13px;
        top: -6px;
    }
    .boxSearchMap .boxResults ul li .bt.small.devis {
        font-size: 10px;
        padding: 5px;
        width: 65px;
        line-height: 12px;
        display: inline-block;
    }
    .box-fixe.active {
        width: 100% !important;
    }
    .boxSearchMap .price-offre .price {
        font-size: 16px;
    }
    .modal-body .item.map .infos {
        width: 50%;
    }
}

@media screen and (max-width: 400px) {
    .item .box-bt {
        top: 55%;
    }
    .bt {
        margin: 0 10% 10px;
    }
    .modal-content .item.map .infos {
        width: 40%;
    }
    #step02 .item.map .select-item span {
        top: 0px;
    }
    nav.nav-map form .bt {
        margin: 0px;
        padding: 7px 5px;
        font-size: 10px;
    }
    .letter .zone-map form .bt {
      padding: 10px 15px;
    }
    .zone-map form input[type="text"] { max-width: 80%; }
    
}

@media screen and (max-width: 1024px) {
    .cf.sujet:after {
        content: '\f0ea';
        display: none;
    }
}

@media only screen and (min-device-width: 768px) and (max-device-width: 1024px) {
    .list-fr {
        display: none;
    }
}

@media screen and (max-height: 840px) {
    .modal-body .head-infos {
        display: none;
    }
}

@media screen and (max-height: 680px) {
    .modal-body .form-group {
        margin-bottom: 4px;
    }
    .modal-body {
        padding: 8px 25px 10px;
    }
}

@media screen and (max-height: 580px) {
    .modal-body .head-infos {
        display: block;
    }
    .modal-body {
        padding: 8px 25px 20px;
    }
}

@media screen and (max-height: 400px) {
    .btNum {
        display: none;
    }
}

.rating-avis {
    border: none;
    float: left;
    margin: 0;
    padding: 0;
}

.rating-avis>input {
    display: none;
}

.rating-avis>label:before {
    margin: 5px;
    font-size: 1.25em;
    font-family: FontAwesome;
    display: inline-block;
    content: "\f005";
}

.rating-avis>.half:before {
    content: "\f089";
    position: absolute;
}

.rating-avis>label {
    color: #ddd;
    float: right;
    margin: 0;
    padding: 0;
}


/***** CSS Magic to Highlight Stars on Hover *****/

.rating-avis>input:checked~label,

/* show gold star when clicked */

.rating-avis:not(:checked)>label:hover,

/* hover current star */

.rating-avis:not(:checked)>label:hover~label {
    color: #ad007a;
}


/* hover previous stars in list */

.rating-avis>input:checked+label:hover,

/* hover current star when changing rating */

.rating-avis>input:checked~label:hover,
.rating-avis>label:hover~input:checked~label,

/* lighten current selection */

.rating-avis>input:checked~label:hover~label {
    color: #ad007a;
}