/**
 * General
 **/

/* Hamburger */
.hamburger:hover { opacity:1; }
.hamburger:focus { outline:none; }

/* Contextual */
.ct-widget.ct-ignition { position:fixed; left:auto; top:auto; right:20px; bottom:20px; transition:all 0.5s ease 0s; }
.ct-widget.ct-ignition .ct-ignition__button { position:static; margin-top:10px;}

[data-contextual] { position:relative; overflow:hidden; }
[data-contextual] .contextual { position:absolute; right:10px; top:10px; text-align:center; font-size:14px;  list-style:none; margin:0; padding:0; opacity:0; visibility:hidden; transform:translateY(-35px); transition:all 0.5s ease 0s; }
[data-contextual] .contextual li { float:left; margin:0; padding:0; }
[data-contextual] .contextual a { display:block; width:24px; height:24px; line-height:24px; color:#fff; border-radius:50%; margin-left:5px; transition:all 0.2s ease 0s; }
[data-contextual] .contextual .edit { background:#2980b9; }
[data-contextual] .contextual .edit:hover { transform:scale(1.2); }
[data-contextual] .contextual .add { background:#27ae60; }
[data-contextual] .contextual .add:hover { transform:scale(1.2); }

.editor .ct-widget.ct-ignition { bottom:40px; }
.editor [data-contextual] .contextual { opacity:1; visibility:visible; z-index:100; transform:translateY(0); }
.editor [data-contextual],
.editor [data-editable],
.editor [data-fixture] { outline:2px dashed #f39c12; }

/* Pagination */
.pagination { margin:30px 0; text-align:center; }
.pagination .loading { position: relative; }
.pagination .loading:before { content:''; position:absolute; left:0; top:0; width:100%; height:100%; z-index:2; background:#fff; }
.pagination .loading:after { font-family:'Font Awesome 5 Regular'; content:"\f3f4"; display:inline-block; width:24px; height:24px; line-height:24px; animation:fa-spin 2s infinite linear; position:absolute; left:50%; top:50%; margin-top:-12px; margin-left:-12px; z-index:3; }

.pagination.simple ul { margin:0; padding:0; }
.pagination.simple li { display:inline-block; margin:0 2px; }
.pagination.simple i { line-height:inherit; }
.pagination.simple a { display:block; width:30px; height:30px; line-height:30px; border:1px solid #ccc; color:#777; }
.pagination.simple a.active { background:rgba(0,0,0,0.1); }

.pagination.scroll { text-align:center; }

.pagination.dropdown { display:flex; justify-content:flex-end; }



/**
 * Responsive
 * Modifier le media query en selon du besoin
 **/
@media (min-width: 1px) {
  
  .hamburger { display:inline-block; }
  .menu { z-index:5; transition:all 0.5s ease 0s; overflow:hidden; background:rgba(0,0,0,0.5); display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .menu ul { opacity:0; transition:all 0.4s ease 0.3s; transform:translateY(30px); list-style:none; margin:0; padding:0;  }
  .open .menu ul { opacity:1; transform:translateY(0); }
  
  /**
   * Fullscreen
   **/
  .fullscreen .menu { position:fixed; left:0; top:0; width:100%; height:100%; }
  .fullscreen .hamburger { z-index: 10; }
  
  /* Fullscreen Fade */
  .fullscreen.fade .menu { opacity:0; visibility:hidden; }
  .fullscreen.fade.open .menu { opacity:1; visibility:visible; }
  
  /* Fullscreen Top */
  .fullscreen.top .menu { transform:translateY(-100%); }
  .fullscreen.top.open .menu { transform:translateY(0); }
  
  /* Fullscreen Right */
  .fullscreen.right .menu { transform:translateX(100%); }
  .fullscreen.right.open .menu { transform:translateX(0); }
  
  /* Fullscreen Bottom */
  .fullscreen.bottom .menu { transform:translateY(100%); }
  .fullscreen.bottom.open .menu { transform:translateY(0); }
  
  /* Fullscreen Left */
  .fullscreen.left .menu { transform:translateX(-100%); }
  .fullscreen.left.open .menu { transform:translateX(0); }
  
  /**
   * Over
   **/
   
  .over .menu { position:fixed; }
  .over .hamburger { z-index: 10; }
  
  /* Over Top */
  .over.top .menu { left:0; top:0; width:100%; height:auto; transform:translateY(-100%); }
  .over.top.open .menu { transform:translateY(0); }
  
  /* Over Right */
  .over.right .menu { right:0; top:0; width:300px; height:100%; transform:translateX(100%); }
  .over.right.open .menu { transform:translateX(0); }
  
  /* Over Bottom */
  .over.bottom .menu { left:0; bottom:0; width:100%; height:auto; transform:translateY(100%); }
  .over.bottom.open .menu { transform:translateY(0); }
  
  /* Over Left */
  .over.left .menu { left:0; top:0; width:300px; height:100%; transform:translateX(-100%); }
  .over.left.open .menu { transform:translateX(0); }
  
  /**
   * Push
   **/
   
  .push { transition:all 0.5s ease 0s; }
  .push.open { overflow:hidden; }
  .push .menu { position:fixed; }
  
  /* Push Top */
  .push.top .menu { left:0; top:0; height:300px; width:100%; transform:translateY(-100%); overflow-y:hidden; }
  .push.top.open { transform:translateY(300px); }
  
  /* Push Right */
  .push.right .menu { right:0; top:0; height:100vh; width:300px; transform:translateX(100%); overflow-x:hidden; }
  .push.right.open { transform:translateX(-300px); }
  
  /* Push Bottom */
  .push.bottom .menu { left:0;margin-top:100vh; height:300px; width:100%; overflow-y:hidden; }
  .push.bottom.open { transform:translateY(-300px); }
  
  /* Push Left */
  .push.left .menu { left:0; top:0; height:100vh; width:300px; transform:translateX(-100%); overflow-x:hidden; }
  .push.left.open { transform:translateX(300px); }
}
/**
 * General Elements
 **/

body { font-family:'Montserrat'; color:#818181; line-height:2em;  }
:focus { outline:none; }

/* Titles */
h1 { font-weight:bold; font-size:40px; color:#87004e; background:url(../themes/charmehotel/assets/img/arrow-bottom.png) no-repeat center bottom; line-height:1.2em; }
h2 { font-size:30px; font-weight:700; color:#87004e; margin-bottom:40px; }
h3 { font-size:24px; color:#87004e; font-weight:700;  }
h4 { }
h5 { }
h6 { }

/* Links */
a { }
a:visited { }
a:hover { text-decoration:none; }
a:focus { text-decoration:none; }

strong, b { color:#87004e; }

/* Images */
img { max-width:100%; height:auto; }
img[data-sizes="auto"] { display: block; width: 100%; }

/* Buttons */
.btn { border:3px solid #3b3a3b; color:#3b3a3b; display:inline-block; background:transparent; padding:15px 30px; text-align:center; font-weight:bold; font-size:22px; transition:all 0.5s ease 0s; cursor:pointer; }
.btn:hover { border-color:#87004e; color:#87004e; }

.hide { display:none; }

/* Forms */
.field.textfield { position:relative; margin-bottom:30px; }
.field.textfield input { border:3px solid #000; }
.field.textfield label { position:absolute; left:15px; top:50%; transform:translateY(-50%); transition:all 0.5s ease 0s; }
.field.textfield.active input { border-color:#87004e; }
.field.textfield.active label { opacity:0; margin-left:15px;}

.field.textarea label { position:absolute; left:13px; top:13px; transition:all 0.5s ease 0s; }
.field.textarea textarea { border:3px solid #000; }
.field.textarea.active label { opacity:0; margin-left:15px; }
.field.textarea.active textarea { border-color:#87004e; }

.field.submit { text-align:center; }
.field.submit .btn { padding-left:80px; padding-right:80px; }

#AVP label {margin-bottom: 0; line-height: 1.5em; margin-top: .5em;}
.unline {display: flex; flex-direction: row;}
#rate {width: 100%;}

.popup-fancybox .title {font-size:30px; font-weight:700; color:#87004e;}
.bandeau {display: flex; flex-direction: row; align-items: center; justify-content: center; padding:10px; background-color: #87004e; color: #fff; width: 100%;}
.bandeau strong {color: #fff; }



/**
 * Layout
 **/
 
/* Preloader */
#accueil:before { content:''; position:fixed; left:0; top:0; width:100%; opacity:1; height:100%; z-index:1000; background:#e9e7e3 url(../themes/charmehotel/assets/img/pace-bg.png) no-repeat center center; transition:opacity 1s ease 0s, height 0s ease 1s; ; }
#accueil.pace-running:before {  }
#accueil.pace-done:before { opacity:0; height:0; }
#accueil .pace { border:none; background:url(../themes/charmehotel/assets/img/logo-xs-p.png) no-repeat center top; padding-top:170px; }
#accueil .pace .pace-progress { background:#87004e; border:none; height:2px; top:auto; bottom:0; }

 
/* Header */
#header { padding:20px 50px; }
#header .row { justify-content:space-between; align-items:center; }
#header .logo { text-align:center; }

#header .hamburger { padding:0; position:absolute; top:27px; z-index:20; }
#header .hamburger .text { position:relative; bottom:5px; margin-left:10px; text-transform:uppercase; color:#87004e; font-weight:600; }
#header .hamburger-inner, #header .hamburger-inner:after, #header .hamburger-inner:before { background:#87004e; }

#header .blocs { display:flex; flex-direction:row; justify-content: flex-end; align-items:center; }
#header .blocs .switcher .field { display:flex; flex-direction:row; align-items:center; margin:0; }
#header .blocs .switcher label { margin-right:15px; font-size:14px; text-transform:uppercase; color:#87004e; font-weight:600; }

#header .navigation { position:static; }
#header .menu { list-style:none; background:none; background:#fff; box-shadow:1px 0px 3px rgba(0,0,0,0.025); }
#header .menu ul { padding:0; margin:0; width:100%; }
#header .menu li { margin:10px 0; }
#header .menu a { font-weight:600; color:#3b3a3b; padding-left:60px; position:relative; transition:all 0.5s ease 0s; }
#header .menu a:before { content:'';  width:50px; height:2px; background:#87004e; display:block; position:absolute; left:0; bottom:4px; opacity:0; transition:all 0.5s ease 0s; }
#header .menu .active a, #header .menu a:hover { color:#87004e; }
#header .menu .active a:before, #header .menu a:hover:before { opacity:1; }
#header .menu .buttons { width:100%; padding:0 60px; }
#header .menu .btn { border:2px solid transparent; color:#fff; margin:15px 0; font-size:14px; padding:10px 15px; display:block; width:100%; }
#header .menu .btn.visite { background:#2a2a2a; color:#fff; }
#header .menu .btn.reservation { background:#87004e; color:#fff; }
#header .menu .btn:before { content:none; }

#header .address { text-align:center; margin-top:30px; }
#header .address img { margin-bottom:20px; }
#header .address b { color:#87004e; font-weight:600; }

.select2-container--default .select2-results__option--highlighted[aria-selected] { background-color:#87004e; }

body.open #header .hamburger { position:fixed; top:47px; }

/* Footer */
#footer .newsletter .field.textfield input { border-color:transparent; }
#footer .footer-top { background:#e9e7e3 url(../themes/charmehotel/assets/img/footer-bg.png) no-repeat center top; padding:80px 0 50px 0; }
#footer .footer-top h2 { color:#87004e; font-size:36px; background:url(../themes/charmehotel/assets/img/arrow-bottom.png) no-repeat center bottom; text-align:center; padding-bottom:50px; font-weight:bold; }
#footer .footer-bottom { padding:50px 0; text-align:center; font-weight:500; color:#3b3a3b; font-weight:600; }
#footer .footer-bottom img {  }
#footer .footer-bottom a { color:#87004e; }
#footer .maps { text-align:center; }
#footer .maps .btn { margin:30px 0; color:#000; font-size:14px; padding:10px 15px; }
#footer .maps .btn:hover { color:#87004e; }
/**
 * Pages
 **/

/* General */
.intro { padding:70px 0; font-size:18px; }
.intro h1 { text-align:center; padding-bottom:50px; margin-bottom:40px; }
.intro h2 { margin-top:80px; }
.intro p { line-height:2.5em; text-align:justify; }
.intro a { color:#87004e; }
.intro .details { font-size:12px; }

.rubriques .col { margin-bottom:30px; display:flex; flex-direction:column; justify-content:space-between; }
.rubriques .reserver { display:flex; flex-direction:column; }
.rubriques .reserver .inner { background:#87004e; text-align:center; padding:30px; color:#fff; flex-grow:1; }
.rubriques .reserver .fields { padding:0 30px; }
.rubriques .reserver h2 { color:#fff; font-size:26px; }
.rubriques .reserver label { font-size:14px; }
.rubriques .reserver .field.active label { opacity:1; margin:0; }
.rubriques .reserver form { text-align:left; }
.rubriques .reserver input { padding:5px; border-color:transparent !important; }
.rubriques .reserver .date { position:relative; }
.rubriques .reserver .date label { position:static; transform:none; }
.rubriques .reserver .date:after { content:'\f073'; font-family:'Font Awesome 5 Regular'; position:absolute; right:15px; bottom:6px; color:#3b3a3b; font-size:20px; }
.rubriques .reserver .field { margin-bottom:5px; margin-left:auto; margin-right:auto; text-align:left; font-weight:600; }
.rubriques .reserver .field.select .select2-selection { height:44px; }
.rubriques .reserver .field.select .select2-selection__rendered { line-height:44px; }
.rubriques .reserver .btn { width:100%; margin-top:15px; }
.rubriques .reserver .childs .row { align-items:center; line-height:1em; }
.rubriques .reserver .childs .col-md-6 { display:flex; }
.rubriques .reserver .childs .fields { margin-bottom:0; }
.rubriques .reserver .childs label { font-size:12px; }
.rubriques .reserver .childs .field.select .select2-selection__rendered { line-height:20px; }
.rubriques .reserver .childs .field.select .select2-selection { height:20px; }
.rubriques .reserver .childs .field.select .select2-selection__arrow { height:20px; }
.rubriques .reserver .childs .select2-container--default .select2-selection--single { background:#69003d; }
.rubriques .reserver .childs .select2-container--default .select2-selection--single .select2-selection__rendered { color:#fff; font-size:12px; }
.rubriques .reserver .childs .select2-container--default .select2-selection--single .select2-selection__arrow b { border-color:#fff transparent transparent transparent; }

#select2-ages1-results, #select2-ages2-results, #select2-ages3-results { background:#69003d; }
#select2-ages1-results .select2-results__option, 
#select2-ages2-results .select2-results__option, 
#select2-ages3-results .select2-results__option { padding:0; font-size:12px; color:#fff; background:none; }
#select2-ages1-results .select2-results__option--highlighted[aria-selected],
#select2-ages2-results .select2-results__option--highlighted[aria-selected],
#select2-ages3-results .select2-results__option--highlighted[aria-selected] { background:rgba(255,255,255,0.5); }

.rubriques .image { position:relative; }
.rubriques .image h2 { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); text-align:center; color:#fff; white-space:nowrap; font-size:28px; }
.rubriques ul { list-style:none; font-weight:600; color:#3b3a3b; padding:0 30px; margin:15px 0; }
.rubriques a { color:#3b3a3b; }
.rubriques a:hover { color:#87004e; }
.rubriques p { margin:30px 0; }
.rubriques .btn { display:block; }

.faq { margin:80px 0; }
.faq .btn { border:2px solid #fff; padding:15px 40px; color:#fff; font-size:20px; position:absolute; left:50%; bottom:50px; transform:translateX(-50%); }

.logos { margin:80px 0; }
.logos .row { align-items:center; justify-content:center; text-align:center; }
.logos .contextual .add { display:none; }


.newsletter { padding:50px 0; background:#87004e; }
.newsletter .row { align-items:center; }
.newsletter .field { margin-bottom:0; }
.newsletter h2 { color:#fff; font-size:30px; letter-spacing:1px; margin-bottom:0; }
.newsletter .btn { border:2px solid transparent; background:#590e39; color:#fff; padding:10px 20px; text-align:center; display:block; width:100%; }

.slider .swiper-wrapper { box-sizing:border-box; }
.slider .caption { position:absolute;  text-shadow:1px 1px 5px rgba(0,0,0,0.50); left:50%; top:40%; transform:translate(-50%, -50%); color:#fff; text-align:center; background:url(../themes/charmehotel/assets/img/logo-xs-w.png) no-repeat center top; padding-top:150px; } 
.slider .caption .title { font-size:48px; font-weight:900; margin-bottom:15px; }
.slider .caption .subtitle { font-size:24px; font-weight:600; }
.slider .nav { position:absolute; top:40%; left:50%; transform:translate(-50%, -50%); z-index:2; display:flex; flex-direction:row; justify-content:space-between; width:100%; }
.slider .prevnext { width:17px; height:30px; cursor:pointer; }
.slider .prev { background:url(../themes/charmehotel/assets/img/arrow-left.png) no-repeat center center; }
.slider .next { background:url(../themes/charmehotel/assets/img/arrow-right.png) no-repeat center center; }
.slider .swiper-pagination { position:static; margin:30px 0; }
.slider .swiper-pagination-bullet { background:url(../themes/charmehotel/assets/img/bullet.png) no-repeat center top; width:17px; height:17px; background-size:16px 32px; border:none; opacity:1; }
.slider .swiper-pagination-bullet-active { background-position:center bottom; }
.slider .contextual .add { display:none; }

/* Tourisme */
#tourisme .intro p { padding-bottom:40px; margin-bottom:40px; border-bottom:1px solid #d7d7d7; }
#tourisme .intro p:last-child { border-bottom:none; margin:0; padding:0; }
#tourisme .sortie { margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid #d7d7d7; }
#tourisme .sortie p:last-child { margin:0; }
#tourisme .sortie:last-child { border-bottom:none; }
#tourisme .sortie ul { list-style:none; margin:0; padding:0; }
#tourisme .sortie ul li { background:url(../themes/charmehotel/assets/img/puce.png) no-repeat left center; padding-left:30px; }
#tourisme .sortie ul.contextual { list-style:none; }
#tourisme .sortie ul.contextual li { margin:0; background:none; padding:0; }

/* Offres spéciales */
#offres-speciales .offres { margin-bottom:80px; }
#offres-speciales .offre { margin-bottom:40px; padding-bottom:40px; border-bottom:1px solid #d7d7d7;  }
#offres-speciales .offre:last-child { border-bottom:none; margin:0; padding:0;  }
#offres-speciales .offre p:last-child { margin-bottom:0; }
#offres-speciales .offre ul { list-style:none; margin:0; padding:0; }
#offres-speciales .offre ul li { background:url(../themes/charmehotel/assets/img/puce.png) no-repeat left center; padding-left:30px; }


/* Séminaires */
#seminaires .intro h2 { font-size:22px; margin:40px 0; font-weight:700; }
#seminaires .intro ul { list-style:none; margin:30px 0 30px 20px; padding:0; }
#seminaires .intro ul li { background:url(../themes/charmehotel/assets/img/puce.png) no-repeat left center; padding-left:30px; }

/* FAQ */
#faq .intro h2 { font-size:20px; margin-top:20px; margin-bottom:15px; padding-top:20px; border-top:1px solid #d7d7d7; }
#faq .intro h2:first-child { border-top:none; }

/* Actualites */
.blog { padding:60px 0; }
.blog h1 { text-align:center; padding-bottom: 50px; margin-bottom: 40px; }
.blog .post { margin-bottom:80px; }
.blog .post .row { justify-content: space-between; }
.blog .post h2 { color:#3b3a3b;  font-size:24px; margin-bottom:20px; }

/* Contact */
#contact .intro p { text-align:center; }
#contact .maps { text-align:center; }
#contact .maps .btn { margin-top:40px; color:#000; }
#contact .maps .btn:hover { color:#87004e; }
#contact .contact h2 { font-weight:bold; font-size:40px; color:#87004e; background:url(../themes/charmehotel/assets/img/arrow-bottom.png) no-repeat center bottom; line-height:1.2em; text-align:center; padding-bottom:50px; margin-bottom:40px; }


.mentions-legales table { margin:20px 0; width:100%; }
.mentions-legales table th, .mentions-legales table td { padding:10px; border:1px solid #eee; }
/**
 * Large devices (desktops, less than 1200px)
 **/
@media (max-width: 1199px) {
  
  .bandeau-texte {
  display: inline-block;
  white-space: nowrap;
  animation: defilement 15s linear infinite;
}

  @keyframes defilement {
    0% {
      transform: translateX(100%);
    }
    100% {
      transform: translateX(-100%);
    }
  }
  
}

/**
 * Medium devices (tablets, less than 992px)
 **/
@media (max-width: 991px) {

}

/**
 * Small devices (landscape phones, less than 768px)
 **/
@media (max-width: 767px) {
  h1 { font-size:30px; }
  h2 { font-size:24px; }
  h3 { font-size:20px; }
  
  #header { padding-left:0; padding-right:0; }
  #header .blocs .switcher label { display:none; }
  .rubriques .image img { width:100%; }
  .faq .btn { padding:15px 20px; }
  #offres-speciales .offre img { margin-bottom:15px; }
  #tourisme .sortie img { margin-bottom:15px; }
  .logos img { margin-bottom:20px; }
  
  .slider .caption { padding-top:0; background:none; top:50%; }
  .slider .caption .title { font-size:26px; margin-bottom:0; }
  .slider .caption .subtitle { font-size:18px; }
  .slider .swiper-pagination { display:none; }
  .slider .nav { top:50%; transform:translate(-50%, -50%); }
  .rubriques .reserver .date:after { content:none; }
}

/**
 * Extra small devices (portrait phones, less than 544px)
 **/
@media (max-width: 575px) {
  body { font-size:14px; }
  h2 { font-size:20px; }
  h3 { font-size:16px; }
  #header .hamburger .text { display:none; }
  #header .menu { padding-top:50px; }
  .slider .caption { padding-top:0; background:none; top:50%; }
  .slider .caption .title { font-size:20px; margin-bottom:0; }
  .slider .caption .subtitle { font-size:12px; }
  .slider .swiper-pagination { display:none; }
  .slider .nav { top:50%; transform:translate(-50%, -50%); }
  .slider .prevnext { width:10px; height:24px; background-size:contain; }
  
  .intro { font-size:14px; padding:40px 0; }
  .intro h1 { font-size:22px; margin-bottom:30px; padding-bottom:45px; }
  .intro h2 { margin-top:40px; }
  .intro p { line-height:2em; }
  .faq .btn { font-size:14px; padding:5px 10px; bottom:30px; }
  
  .logos { margin:40px 0; }
  
  #footer .footer-top { padding:40px 0 20px 0; }
  #footer .footer-top h2 { font-size:22px; margin-bottom:20px; padding-bottom:25px; }
  
  #tourisme .intro p { margin-bottom:20px; padding-bottom:20px; }
  #offres-speciales .intro p { margin-bottom:20px; padding-bottom:20px; }
  
  #tourisme .sortie { margin-bottom:20px; padding-bottom:20px; }
  #offres-speciales .offre { margin-bottom:20px; padding-bottom:20px; }
}