@import url('https://fonts.googleapis.com/css2?family=Montez&display=swap');



* {
  box-sizing: border-box;
}
body {
  position: relative;
  font-family: sans-serif;
  color: #fff;
  font-size: 14px;
  font-weight: 400;
  background-color: #0d0d0d;
  margin: 0;
    background-image: url('/images/cab-fond-menu.jpg'); /* 1. L'URL de votre image */
    background-position: top center;                     /* 2. Positionnement : haut et centré horizontalement */
    background-repeat: no-repeat;                        /* 3. Ne pas répéter l'image */
    background-size: auto;                               /* 4. Taille originale de l'image */
    background-attachment: fixed;                        /* L'image reste fixe lors du défilement */
}

p {
  margin: 0;
}

body.carte {
  width: 100%;
  height: 1920px;
}
body.carte-print {
  width: 100%;
  height: 20.95cm;
  background-color: #fafafa;
  color: black;
}
body.carte-mobile {
  width: 100%;
  height: auto;
  background-color: #fafafa;
  color: black;
}

a {
  color: #9cfff4;
//  color: #ffe305;
  text-decoration: none;
}
a.cadre {
  float: left;
  padding: 1px 6px 0px;
  margin-right: 12px;
  margin-top: 5px;
  font-size: 132%;
  color: #291201;
  background-color: #f6b00e;
  border-radius: 22px;
  text-decoration: none;
}
a.cadre2 {
  padding: 1px 6px 0px;
  color: #291201;
  background-color: #f6b00e;
  border-radius: 4px;
  text-decoration: none;
}
.allergenes {
  padding: 25px 35px;
  font-size: 1.6em;
  background-color: #ab8d62ff;
  color: #eff7ff;
}
  .allergenes i {
    color: #ffde27;
  }

.carte .background-image {
  position: fixed;
  display: block;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
//  background-color: #191919;
//  background-image: url('/images/cab-fond-menu.jpg');
}

.carte .diapo {
  position: fixed;
  display: block;
  width: 1080px;
  height: 1920px;
  top: 0;
  left: 50%; /* Place le bord gauche de la div à 50% de la largeur du viewport */
  transform: translateX(-50%); /* Décale la div de 50% de SA PROPRE largeur vers la gauche */
  z-index: 190;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.carte .content-wrap {
  position: relative;
  display: block;
  width: 1080px;
  height: 1920px;
  top: 0;
  z-index: 2;
  margin: 0px auto;
  background-image: url('/images/cab-fond2.jpg');
  background-color: #191919;
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
  
  padding: 300px 50px 100px;
//  overflow: hidden;
}
.carte .content-menugrid {
  position: relative;
  width: 1080px;
  height: 1920px;
  top: 0;
  z-index: 200;
  margin: 0px auto;
  padding: 0;
  background-image: url('/images/cab-fond-menu.jpg');
	background-color: #191919;
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
  overflow: hidden;

  display: grid;
  aspect-ratio: 1; /* equal height */
//  grid: auto-flow repeat(16, 1fr) / repeat(9, 1fr);
//  grid: auto-flow repeat(5, 1fr) / repeat(4, 1fr);
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-auto-rows: 1fr;
  grid-gap: 6px;
}
  .carte .content-menugrid a {
    display: block;
    vertical-align: middle;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
  }
    .carte .content-menugrid a div {
        display: inline-grid;
        height: 100%;
        width: 100%;
        align-items: center;
        justify-content: center;
    }

.carte-print .content-wrap {
  width: 14.75cm;
  height: 20.95cm;
  border: 20px #eee solid;
  background-image: none;
	background-color: white;
  
  padding: 0.5cm;
  padding-top: 0.2cm;
  padding-left: 2.8cm;
  overflow: visible;
}
.carte-mobile .content-wrap {
  overflow: auto;
  width: 100%;
  min-width: 11cm;
  max-width: 22cm;
  height: auto;
  border: 8px #eee solid;
  background-image: none;
	background-color: white;
  
  padding: 0.5cm;
  padding-top: 0.2cm;
  overflow: visible;
}
#content-carte {
  padding: 25px 0 50px;
}

#swipe {
  position: fixed;
  z-index: 999;
  display: none;
  margin:0;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  background-image: url('/images/cab-swipe.png');
  background-position: center 75%;
  background-repeat: no-repeat;
}
#swipe-blanc {
  position: fixed;
  z-index: 999;
  display: none;
  margin:0;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  background-image: url('/images/cab-swipe-blanc.png');
  background-position: center 50%;
  background-repeat: no-repeat;
}
#spinner {
  position: fixed;
  z-index: 999;
//  display: none; // *** placé sur le html pour éviter un affichage furtif
  margin:0;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  font-size: 200%;
  text-align: center;
  padding-top: 900px;
//  background-color: rgba(0, 0, 0, 0.8);
  color: white;
}
.carte-print #sideimg {
  position: absolute;
  height: 18.5cm;
  top: 2mm;
  left: 2mm;
}
.carte-mobile #mobileimg {
  position: relative;
  max-width: 100%;
  top: 0;
  left: 0;
}

.carte .menu_link {
	display: block;
//	display: inline-block;
//  width: 46%;
  margin: 10px;
	color: white;
  text-align: center;
  text-decoration: none;
  padding: 15px;
  border-radius: 25px;
	background-color: rgba(255, 255, 255, 0.03);
}
.carte .menu_link:hover {
	color: black;
	background-color: rgba(255, 255, 255, 0.33);
}
.carte .menu_link .carte_titre {
  font-size: 20px;
  font-family: sans-serif;
}

.carte .home_link {
  position: absolute;
  display: block;
  opacity: 0;
  top: 10px;
  left: 10px;
  right: 10px;
  color: rgba(0, 0, 0, 0.9);
//  background-color: rgba(255, 255, 255, 0.66);
  height: 300px;
  font-size: 12em;
  text-align: center;
  text-decoration: none;
  font-weight: bold;
  padding-top: 48px;
  border-radius: 25px;
  overflow: hidden;
}
.carte .home_link:hover {
  opacity: 0.25;
}
.carte .home_menu {
  position: absolute;
  top: 10px;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 100;
}
.carte .home_menu.short {
  bottom: unset;
  height: 300px;
}
.carte .home_menu.short:hover {
  border: #8b8b8ba9 3px solid;
  border-radius: 25px;
}

.metallic-shine {
  /* Dégradé de base pour l'aspect métallique */
  background: linear-gradient(to right, #c3c3c36b 0%, #7f7f7fa7 50%, #c3c3c36b 100%);
//  overflow: hidden; /* Important pour contenir le reflet */
  
  /* On applique l'animation de séquence d'opacité */
  animation: opacity-sequence 25s infinite;
  animation-delay: 1s; /* Délai initial de 2 secondes */
}

.metallic-shine::before {
  content: '';
  position: absolute;
  top: 0;
  left: -150%; /* Commence bien en dehors */
  width: 80%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
  transform: skewX(-25deg);

  /* On applique l'animation du reflet, synchronisée sur la même durée */
  animation: shine-sequence 25s infinite;
  animation-delay: 1s; /* Même délai initial */
}
/* Animation pour l'opacité de l'élément principal */
@keyframes opacity-sequence {
  0% { opacity: 0; }
  6% { opacity: 1; }
  /* Maintien de l'opacité pendant le reflet */
  8% { opacity: 1; }
  /* Disparition */
  10% { opacity: 0; }
  /* Reste invisible jusqu'à la fin */
  100% { opacity: 0; }
}

/* Animation pour le reflet sur le pseudo-élément */
@keyframes shine-sequence {
  /* Le reflet ne bouge pas avant l'apparition */
  0% { left: -120%; }
  2% { left: -120%; transform: skewX(-35deg); } /* Début du mouvement du reflet */
  /* Le reflet traverse l'élément pendant */
  8% { left: 120%; transform: skewX(-5deg); } /* Fin du mouvement */
  /* Le reflet reste en dehors pour le reste de l'animation */
  100% { left: 120%; }
}

#menu_sticky {
  position: sticky;
  top: 0;
  z-index: 999;
}
.menu_horizontal {
  display: flex;
//  align-items: stretch;
  gap: 0px;
  overflow-x: scroll;
  overflow-y: auto;
  margin: 5px -50px;

  scrollbar-color: #5e5e5e rgba(0, 0, 0, 0); /* "thumb" "track" */
  scrollbar-width: thin; /* none ou thin */
  
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(8px); /* Adjust the pixel value for more or less blur */
}
.menu_horizontal::-webkit-scrollbar-track {
    background: #00000000; /* Couleur de fond de la "piste" (zone où se déplace le pouce) */
    border-radius: 10px; /* Coins arrondis pour la piste */
}
  .menu_horizontal li {
    display: inline-flex;
    flex: 2;
  }
  .menu_horizontal a.menu_link_h {
    display: inline-grid;
    align-items: center;
    min-width: 280px;
    background-color: rgba(233, 233, 233, 0.75);
    color: rgba(0, 0, 0, 0.85);
    font-size: 30px;
    font-family: sans-serif;
    font-weight: bold;
  }
  .menu_horizontal li i.fa {
    display: inline-grid;
    align-items: center;
    text-align: center;
    width: 60px;
    color: rgba(255, 255, 255, 0.496);
    font-size: 38px;
  }

.lightbox {
  position: relative;
  z-index: 50;
}

.carte .logo-fm {
  height: 0.82em;
  color: yellow;
}
.carte h2 .logo-fm {
  vertical-align: -6%;
  margin-left: 15px;
}
.print_link {
	display: block;
	position: absolute;
	top: 25mm;
  left: 6.4mm;
	width: 2cm;
  z-index: 999;
}
.carte-mobile .print_link {
	display: block;
	position: absolute;
	top: 104px;
  left: auto;
  right: 6mm;
	width: 54px;
  z-index: 999;
}
.print_link a {
	color: rgba(0, 0, 0, 0.8);
	background-color: rgba(255, 255, 255, 0.33);
  text-align: center;
  padding-top: 12px;
  border-radius: 50%;
  opacity: 0.5;
}
.print_link a:hover {
  opacity: 1;
}
@media print {
  .print_link {
    display: none;
  }
}

h1 {
  font-size: 50px;
}

.carte h1, .carte h2,
.carte-print h1, .carte-print h2 {
  padding: 0;
  margin: 0;
  font-family: 'Montez', sans-serif;
  text-align: center;
}
.carte-mobile h1, .carte-mobile h2 {
  margin: 25px 0 10px;
  font-family: 'Montez', sans-serif;
  text-align: center;
}
.carte h1 {
  font-size: 72px;
}
.carte h2 {
  font-size: 46px;
}
.carte-print h1 {
  font-size: 36px;
}
.carte-print h2 {
  font-size: 28px;
}
.carte-print h1:first-of-type,
.carte-print h2:first-of-type {
}
.carte .carte_tarif {
  font-family: sans-serif;
  font-size: 32px; 
}

.btn {
  font-size: 14px;
  font-weight: 400;
}
.btn-border {
  background: transparent;
  border: 1px solid #fff;
  color: #fff !important;
}
.btn-border:hover {
  background: rgba(255, 255, 255, 0.08);
}
.clear {
  clear: both;
}
.row {
  padding: 30px 0;
}
ul {
  margin: 0 0 10px;
  padding: 0;
}
ul li {
  list-style: none;
}
.feature-item ul li {
  list-style: circle inside;
}

.carte li {
  list-style: none;
  font-size: 28px;
  min-height: 65px;
//  text-shadow: white 1px 2px 8px;
}
.carte-print li {
  font-size: 13px;
  min-height: 30px;
}
.carte-mobile li {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: lightgrey 1px solid;
}
.carte li .carte_prix, .carte li .carte_titre {
  display: inline-block;
  position: relative;
}
.carte li .carte_titre {
  position: relative;
//  min-width: 60%;
}
.carte-mobile li .carte_titre {
  min-width: 54%;
}
.carte li .carte_desc {
/*  position: absolute;
  left: 0px;
  bottom: -20px; */
  display: block;
//  width: max-content;
  font-size: 16px;
}
.carte-print li .carte_desc {
  bottom: -12px;
  font-size: 9px;
}
.carte-mobile li .carte_desc {
  position: relative;
  width: auto;
  font-size: 14px;
  bottom: 0px;
  display: block;
}
.carte li .carte_list {
  padding: 3px 25px 10px;
  font-size: 15px;
  line-height: 1.4;
}
.carte-print li .carte_list {
  font-size: 9px;
}
.carte-mobile li .carte_list {
  font-size: 13px;
}
.carte li .carte_tarif {
  font-size: 28px;
  float: right;
}
.carte-print li .carte_tarif {
  font-size: 13px;
}
.carte-mobile li .carte_tarif {
}
.carte li .carte_prix {
  position: relative;
  margin-left: 25px;
  min-width: 94px;
  display: inline-block;
  text-align: right;
}
.carte-print li .carte_prix {
  margin-left: 15px;
  min-width: 42px;
}
.carte li .carte_prix sup {
  font-size: 14px;
}
.carte-print li .carte_prix sup {
  font-size: 10px;
}
.carte li .carte_prix2 {
  position: absolute;
  right: 0px;
  bottom: -15px;
  font-size: 16px;
  opacity: 0.75;
}
.carte li .carte_label {
  position: absolute;
  right: 0px;
  top: -14px;
  font-size: 16px;
}
.carte-print li .carte_label {
  top: -8px;
  font-size: 9px;
}
.carte-mobile li .carte_label {
  top: 30px;
  font-size: 12px;
}
.carte li.carte_text {
  text-align: justify;
  font-size: 24px;
}

.carte .photos {
  height: auto;
}

.carte .photos table {
  border-collapse: collapse;
  width: 100%;
  text-align: center;
  margin-bottom: 30px;
}
.carte .photos img {
  max-width: 100%;
}

.carte .footer {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  height: 38px;
  z-index: 199;
}
.carte .footer_note {
  position: absolute;
  right: 10px;
  bottom: 14px;
  font-size: 14px;
  text-shadow: rgba(0, 0, 0, 0.5) 1px 1px;
}
.carte .footer_note2 {
  position: absolute;
  left: 10px;
  bottom: 14px;
  font-size: 14px;
  text-shadow: rgba(0, 0, 0, 0.5) 1px 1px;
}
.carte-print .footer_note2 {
  position: absolute;
  right: 10px;
  bottom: 8px;
  font-size: 9px;
}

.carte #timer_bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 6px;
}
@keyframes roundtime {
  from { transform: scaleX(1); } to { transform: scaleX(0); } /* More performant than animating `width` */
}
.carte #timer_bar div {
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  animation: roundtime calc(var(--duration) * 1s) linear forwards;
  transform-origin: left center;
}
a:hover,
a:focus {
  text-decoration: none;
  outline: none;
  color: #fff;
  color: #0079aa;
  color: #d2072a;
}
.section {
  padding: 90px 0;
}
.section.module {
  padding-top: 30px;
}
.section + .module {
}
.section-header {
  margin-bottom: 25px;
}
.section-header .section-title {
  font-size: 38px;
  text-transform: uppercase;
  margin-top: 0;
  font-weight: 400;
}
.section-header .section-subtitle {
  font-size: 14px;
  font-weight: 400;
  text-transform: uppercase;
  margin-top: 0;
}
.section-footer {
  margin-top: 60px;
}
.title-small {
  font-size: 38px;
  color: #294784;
  margin-bottom: 30px;
  line-height: 50px;
}
.content-wrap {
  -webkit-transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

.show-menu .content-wrap {
  -webkit-transition-delay: 0.1s;
  transition-delay: 0.1s;
  -webkit-transform: translate3d(-250px, 0, 0);
  transform: translate3d(-250px, 0, 0);
}
.navbar-fixed-top {
  padding: 15px 0;
}

.affix {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
  padding: 0!important;
  background: #522c0bf2 !important;
}
.sticky-navigation .row {
  padding: 0;
}

.navbar.menu-wrap .navbar-header {
  margin: 6px 30px 0 50px;
  float: none;
}
.navbar.menu-wrap {
  position: fixed;
  width: 250px;
  top: 0;
  right: 0;
  min-height: 100%;
  border-radius: 0;
  margin: 0;
  z-index: 9999;
  height: 100%;
  background-color: #653c25;
  -webkit-transform: translate3d(250px, 0, 0);
  transform: translate3d(250px, 0, 0);
  -webkit-transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}
.navbar-nav {
  margin: 0;
  float: none;
}
.navbar .navbar-nav li {
  float: none;
}
.navbar .navbar-nav li a {
  font-family: 'Montez', sans-serif;
  display: block;
  font-size: 14px;
  padding: 15px 20px;
  text-transform: uppercase;
  font-weight: 400;
  transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
}
.navbar .navbar-nav li a:hover,
.navbar .navbar-nav li .active a {
  background: rgba(255, 255, 255, 0.1);
}
.show-menu .navbar.menu-wrap {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 0.8s;
  transition: transform 0.8s;
  -webkit-transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
  transition-timing-function: cubic-bezier(0.7, 0, 0.3, 1);
}

.navbar.menu-wrap .navbar-form {
  padding: 10px 20px;
  margin: 5px 0;
  border: none;
  box-shadow: none;
  display: block;
}
.navbar.menu-wrap .navbar-form .form-control {
  display: block;
  width: 100%;
}

.logo-left {
  color: #fff;
  font-size: 24px;
}
.logo-left i {
  margin-right: 7px;
}
.logo-right {
  margin-bottom: 15px;
  padding: 0;
  float: none;
}

.close-button {
  width: 24px;
  height: 24px;
  position: absolute;
  left: 15px;
  top: 30px;
  overflow: hidden;
  text-indent: 10px;
  border: none;
  background: transparent;
  color: transparent;
}
.close-button::before,
.close-button::after {
  content: '';
  position: absolute;
  width: 3px;
  height: 100%;
  top: 0;
  left: 50%;
  background: #bdc3c7;
}
.close-button::before {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.close-button::after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.close-button:hover:before,
.close-button:hover:after {
  background: #fff;
}

.navbar .navbar-header {
  padding: 13px 0;
}

.menu-icon {
  background: transparent;
  border: none;
  margin-right: 15px;
}
.menu-icon i {
  font-size: 50px;
}
.menu-icon i:hover {
  color: #fff;
}

.hero-area {
  background: url(../img/hero-area.jpg) no-repeat;
  background-size: cover;
  background-position: center center;
  color: #fff;
  overflow: hidden;
  padding: 90px 0;
}
.hero-area.small {
  padding: 60px 0;
}
.hero-area .sticky-navigation {
  background: transparent;
}
.hero-area .contents h1 {
  font-size: 30px;
  font-weight: 100;
  text-shadow: black 0 0 10px;
	display: inline-block;
  background-color: rgba(0,0,16,0.33);
  padding: 0px 0.8ex 0.3ex;
  border-radius: 5px;
}
.hero-area .contents p {
  font-size: 16px;
  font-weight: 400;
  text-transform: uppercase;
  text-shadow: black 0 0 10px;
}
.hero-area .contents .btn {
  margin: 15px;
}
.hero-area .contents .btn-border {
    background-color: rgba(0,0,16,0.33);
}

.btn:hover:not(.btn-primary):not(.btn-link):not(.btn-flat):not(.btn-fab) {
  background-color: rgba(0,0,0,.08);
}

.slider-area {
  margin-top: -1px;
}
.slider-area h1 {
  font-weight: 100;
}
.slider-area p {
  font-weight: 400;
  color: #ffffff;
  text-transform: uppercase;
}
.slider-area .sticky-navigation {
  background: transparent;
}
.slider-area .btn {
  margin: 15px;
}
.slider-area .large_white {
  color: #fff;
}

.framed-left {
	background-color: #e4e4e5;
}
	.framed-left img,
	.framed-right img {
		background-color: #e4e4e5;
		padding: 30px;
	}
	.framed-left img:first-child {
		border-top-right-radius: 40px;
		margin-top: -170px;
	}
.framed-right {
	background-color: #e4e4e5;
}
	.framed-right img:first-child {
		border-top-left-radius: 40px;
		margin-top: -180px;
	}

.main-features {
  background: #fff;
}
.main-features .features {
  margin: 30px 0;
}
.main-features .features .icon {
  float: left;
  text-align: center;
}
.main-features .features .icon i {
  width: 80px;
  height: 80px;
  line-height: 80px;
  border-radius: 50%;
  font-size: 30px;
  color: #294784;
}
.main-features .features h4 {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 700;
  color: #294784;
}
.main-features .features .features-text {
  padding-left: 80px;
}
.main-features .features .features-text p {
  margin: 0;
}

#services {
  background: #fff;
}
#services .services {
  margin: 30px 0;
}
#services .services .icon {
  float: left;
  text-align: center;
}
#services .services .icon i {
  width: 80px;
  height: 80px;
  line-height: 80px;
  border-radius: 50%;
  font-size: 36px;
  color: #294784;
}
#services .services h4 {
  margin-bottom: 10px;
  font-size: 20px;
  font-weight: 700;
  color: #294784;
}
#services .services .services-text {
  padding-left: 80px;
}
#services .services .services-text p {
  margin: 0;
}
#services .title-small {
  text-align: center;
}
#services .btn-lg {
  width: 220px;
  margin-top: 20px;
  margin-right: 15px;
  margin-left: 15px;
  text-transform: uppercase;
}
#services .btn-lg i {
  padding-right: 5px;
}
#services .icon {
  display: inline-block;
  width: 60px;
  height: 60px;
  border-radius: 4px;
  text-align: center;
  position: relative;
  z-index: 1;
  color: #ffffff;
}
#services .content-left,
#services .content-right {
  position: relative;
  top: 60px;
}
#services .content-left span {
  float: right;
  margin-left: 25px;
}
#services .content-right span {
  float: left;
  margin-right: 25px;
}
#services .box-item {
  padding-bottom: 40px;
}
#services .box-item .icon {
  background: #294784;
  text-align: center;
  margin-top: 12px;
  -webkit-transition: background 0.2s, color 0.2s;
  -moz-transition: background 0.2s, color 0.2s;
  transition: background 0.2s, color 0.2s;
}
#services .box-item .icon i {
  color: #fff;
  font-size: 24px;
  line-height: 60px;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
#services .box-item .text h4 {
  color: #444;
  font-weight: 100;
  font-size: 24px;
  line-height: 22px;
  text-transform: uppercase;
}
#services .box-item .text p {
  color: #777;
  font-weight: 300;
  font-size: 14px;
  line-height: 18px;
}
#services .box-item:hover .icon {
  background: #294784;
}
#services .box-item:hover .icon i {
  color: #ffffff;
}
#services .show-box {
  padding: 22px 64px;
}

.why {
  background: url(../img/why-bg.jpg);
  background-size: cover;
  color: #fff;
}
.why .content h2 {
  font-size: 50px;
  line-height: 70px;
  margin-top: 0;
  font-weight: 100;
}
.why .content .list-item li {
  color: #fff;
  line-height: 50px;
  font-size: 18px;
  text-transform: uppercase;
}
.why .content .list-item li i {
  font-size: 22px;
  padding-right: 5px;
  vertical-align: middle;
}
.why img {
  float: right;
}
.why .feature-item {
  padding: 48px 0;
}

.cta {
  background: #294784;
}
.cta .drawer {
  float: left;
  margin-right: 40px;
}
.cta .title-small {
  color: #fff;
}
.cta .subtitle {
  color: #fff;
}
.cta .btn {
  margin: 30px 15px;
}

.bkgnd-gray {
  background: #ecf0f1;
}

.img-gallery .portfolio-item {
  padding: 30px 0;
}
.img-gallery .portfolio figure {
  position: relative;
  overflow: hidden;
  margin: 0;
  width: 100%;
  height: auto;
  text-align: center;
  cursor: pointer;
}
.img-gallery .portfolio figure img {
  width: 100%;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  transition: 0.5s ease 0s;
}
.img-gallery .portfolio figure figcaption {
  position: absolute;
  top: 0;
  width: 100%;
  left: 0;
  height: 100%;
  padding: 50px;
  color: #fff;
}
.img-gallery .portfolio figure figcaption .heading {
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  top: 15%;
  padding: 0px 32px;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  transition: 0.5s ease 0s;
}
.img-gallery .portfolio figure figcaption .heading p {
  padding: 0px 24px;
  font-size: 16px;
}
.img-gallery .portfolio figure .icon {
  position: absolute;
  top: 70%;
  left: 0;
  right: 0;
  margin: auto;
  -webkit-transition: 0.5s ease;
  -moz-transition: 0.5s ease;
  transition: 0.5s ease 0s;
}
.img-gallery .portfolio figure .icon i {
  font-size: 38px;
}
.img-gallery .portfolio figcaption:hover .heading {
  top: 20%;
}
.img-gallery .portfolio figcaption:hover .icon {
  top: 60%;
}
.img-gallery .portfolio figure.effect-julia figcaption {
  background: rgba(63, 81, 181, 0.8);
  opacity: 0;
  -webkit-transition: 1s ease 0.15s;
  -moz-transition: 1s ease 0.15s;
  -o-transition: 1s ease 0.15s;
  transition: 1s ease 0.15s;
}
.img-gallery .portfolio figure.effect-julia figcaption:hover {
  opacity: 1;
}
.img-gallery .portfolio figure.effect-julia:hover img {
  -webkit-transform: scale3d(1.2, 1.3, 1);
  -moz-transform: scale3d(1.2, 1.3, 1);
  transform: scale3d(1.2, 1.3, 1);
}

.other-features {
  padding-bottom: 35px;
}
.other-features .features-content {
  padding: 30px 0;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.other-features .features-content .icon i {
  font-size: 24px;
  color: #ccd0d2;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.other-features .features-content h3 {
  color: #385461;
  line-height: 30px;
  font-size: 24px;
  font-weight: 300;
}
.other-features .features-content p {
  color: #909090;
  line-height: 22px;
  padding: 0px 4px;
}
.other-features .features-content:hover i,
.other-features .features-content:hover h3 {
  color: #294784;
}

.other-services {
  padding-bottom: 35px;
}
.other-services .services-content {
  padding: 30px 0;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.other-services .services-content .icon i {
  font-size: 30px;
  color: #ccd0d2;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}
.other-services .services-content h3 {
  color: #385461;
  line-height: 30px;
  font-size: 24px;
  font-weight: 300;
}
.other-services .services-content p {
  color: #909090;
  line-height: 22px;
  padding: 0px 4px;
}
.other-services .services-content:hover i,
.other-services .services-content:hover h3 {
  color: #294784;
}

.testimonial {
  color: #fff;
  width: 100%;
  background: url(../img/testimonial-bg.jpg);
}
.testimonial.actu {
  padding-top: 40px;
}
.testimonial .section-title {
  font-size: 46px;
}
.testimonial .section-subtitle {
  color: #fff;
  font-size: 13px;
}
.testimonial .carousel-inner p {
  color: #fff;
  letter-spacing: 1px;
  padding: 0px 20px;
}
.testimonial .carousel-inner p a {
  color: #fff;
}
.testimonial .carousel-indicators {
  position: absolute;
  bottom: -40px;
}
.testimonial .carousel-indicators li {
  background-color: #697e88;
  border-color: #697e88;
  margin: 0 5px;
}
.testimonial .carousel-indicators .active {
  background-color: #fff;
  border-color: #fff;
}

.counter-section  {
  background: #ecf0f1;
}
.counter-section .counter-item .icon {
  text-align: center;
}
.counter-section .counter-item .icon i {
  font-size: 54px;
  color: #ccd0d2;
  line-height: 64px;
}
.counter-section .counter-item h5 {
  text-align: center;
  color: #294784;
  font-size: 16px;
  text-transform: uppercase;
  line-height: 32px;
}
.counter-section .counter-item hr {
  width: 50px;
  margin: 0px auto;
  height: 2px;
  background: #653c25;
}
.counter-section .timer {
  font-size: 50px;
  font-weight: 400;
  color: #294784;
  text-transform: uppercase;
  text-align: center;
  line-height: 80px;
}

.catalogue-item-wrapper {
  text-align: center;
}

.caracteristiques {
	min-width: 400px;
	margin: 25px auto;
	background-color: rgba(127, 127, 127, 0.6);
}
.caracteristiques th,
.caracteristiques td {
	padding: 4px 10px;
}
.caracteristiques th {
	color: black;
}
.caracteristiques tr:nth-child(odd) td {
	background-color: rgba(255, 255, 255, 0.6);
}
.caracteristiques tr:nth-child(even) td {
	background-color: rgb(255, 255, 255);
}

.contact-section {
  background: #ecf0f1;
}
.contact-section .info {
}
.contact-section .info .icon {
  margin-bottom: 20px;
}
.contact-section .info .icon i {
  font-size: 24px;
  color: #294784;
}
.contact-section .info h4 {
  color: #385461;
  font-size: 18px;
  font-weight: 400;
}
.contact-section .info p {
  color: #909090;
  margin-bottom: 30px;
}

#contactForm {
  margin-top: 52px;
}
#contactForm i {
  position: absolute;
  right: 15px;
}
#contactForm .form-control {
}
#contactForm .help-block {
	height: 16px;
  margin-bottom: 12px;
}
#contactForm .list-unstyled {
	font-size: 80%;
}
#contactForm #submit {
	float: left;
	margin: 0 10px 0 1px;
}

.france #map-stack {
	position: relative;
}
.map_overlay {
	width: 1px;
	opacity: 0.01;
}

#footer {
  position: relative;
  background: #333;
}
#footer h3 {
  color: #fff;
  font-weight: 700;
}
#footer ul li a {
  color: #ccc;
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  line-height: 28px;
  text-transform: uppercase;
}
#footer ul li a:hover {
  color: #fff;
  margin-left: 4px;
}

#copyright {
  background: #191919;
}
#copyright .copyright-text {
  color: #fff;
  margin-top: 15px;
  text-align: center;
}
#copyright .copyright-text a {
  transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
}

a.lien_pdf {
	display: inline-block;
	padding: 25px;
	padding-left: 70px;
	margin: 5px 0px;
	font-size: 12px;
	line-height: 12px;
	background: transparent url(../img/logo_pdf.png) center left no-repeat;
}
a.lien_pdf:hover {
	background-color: #294784;
	color: #fff;
}

.back-to-top {
  position: absolute;
  top: -28px;
  left: 50%;
  margin: 0px -25px;
}
.back-to-top {
  display: block;
  width: 60px;
  height: 60px;
  line-height: 60px;
  padding: 0;
  margin: 0 -30px;
  color: #fff;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -o-border-radius: 50%;
  text-align: center;
}
.back-to-top i {
  line-height: 56px;
  font-size: 42px;
}
.social {
  display: inline-block;
  margin: 10px 2px;
  color: #fff;
}
.social i {
  width: 48px;
  font-size: 16px;
  height: 48px;
  background: rgba(255, 255, 255, 0.18);
  text-align: center;
  line-height: 48px;
  border-radius: 50%;
  -webkit-transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  transition: all 0.2s linear;
}
.social i:hover {
  color: #fff;
}
.social .fa-facebook:hover {
  background: #3B5998;
}
.social .fa-instagram:hover {
  background: #f4006e;
}
.social .fa-twitter:hover {
  background: #00ACED;
}
.social .fa-google-plus:hover {
  background: #DD4B39;
}
.social .fa-linkedin:hover {
  background: #007BB6;
}
.to_adm {
	float: right;
	color: red;
	z-index: 1000;
	margin-right: -20px;
	margin-top: -14px;
	margin-bottom: -14px;
}
.to_adm2 {
	position: fixed;
	z-index: 11000;
	float: right;
	color: red;
	right: 10px;
	top: 14px;
}
#loader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ffffff;
  z-index: 9999999999;
}
.loader-inner {
  position: animation;
  top: 50%;
  left: 50%;
}
@-webkit-keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
    transform: translate(25px, -50px);
  }
  66% {
    -webkit-transform: translate(50px, 0px);
    transform: translate(50px, 0px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-1 {
  33% {
    -webkit-transform: translate(25px, -50px);
    transform: translate(25px, -50px);
  }
  66% {
    -webkit-transform: translate(50px, 0px);
    transform: translate(50px, 0px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@-webkit-keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
    transform: translate(25px, 50px);
  }
  66% {
    -webkit-transform: translate(-25px, 50px);
    transform: translate(-25px, 50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-2 {
  33% {
    -webkit-transform: translate(25px, 50px);
    transform: translate(25px, 50px);
  }
  66% {
    -webkit-transform: translate(-25px, 50px);
    transform: translate(-25px, 50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@-webkit-keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
    transform: translate(-50px, 0px);
  }
  66% {
    -webkit-transform: translate(-25px, -50px);
    transform: translate(-25px, -50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
@keyframes ball-triangle-path-3 {
  33% {
    -webkit-transform: translate(-50px, 0px);
    transform: translate(-50px, 0px);
  }
  66% {
    -webkit-transform: translate(-25px, -50px);
    transform: translate(-25px, -50px);
  }
  100% {
    -webkit-transform: translate(0px, 0px);
    transform: translate(0px, 0px);
  }
}
.ball-triangle-path {
  position: relative;
  -webkit-transform: translate(-25px, -25px);
  -ms-transform: translate(-25px, -25px);
  transform: translate(-25px, -25px);
}
.ball-triangle-path > div:nth-child(1) {
  -webkit-animation-name: ball-triangle-path-1;
  animation-name: ball-triangle-path-1;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.ball-triangle-path > div:nth-child(2) {
  -webkit-animation-name: ball-triangle-path-2;
  animation-name: ball-triangle-path-2;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.ball-triangle-path > div:nth-child(3) {
  -webkit-animation-name: ball-triangle-path-3;
  animation-name: ball-triangle-path-3;
  -webkit-animation-delay: 0;
  animation-delay: 0;
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}
.ball-triangle-path > div {
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 100%;
  background: #294784;
}
.ball-triangle-path > div:nth-of-type(1) {
  top: 50px;
}
.ball-triangle-path > div:nth-of-type(2) {
  left: 25px;
}
.ball-triangle-path > div:nth-of-type(3) {
  top: 50px;
  left: 50px;
}
