/*
* 1. Corrects font size not being inherited in all browsers.
* 2. Addresses margins set differently in IE6/7, FF3+, S5, Chrome.
* 3. Improves appearance and consistency in all browsers.
*/
button,
input,
select,
textarea {
  font-size: 100%; /* 1 */
  margin: 0; /* 2 */
  vertical-align: baseline; /* 3 */
  *vertical-align: middle; /* 3 */
}

/*
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` and `video` controls.
* 2. Corrects inability to style clickable `input` types in iOS.
* 3. Improves usability and consistency of cursor style between image-type `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button; /* 2 */
  cursor: pointer; /* 3 */
}

/* css de base pour les placeholders */
::-webkit-input-placeholder {
  color: #606060;
  font-style: italic;
}
input:-moz-placeholder {
  color: #606060;
  font-style: italic;
}
::-webkit-textarea-placeholder {
  color: #606060;
  font-style: italic;
}
textarea:-moz-placeholder {
  color: #606060;
  font-style: italic;
}

/* pour que safari n'en fasse pas qu'à sa tête */
html {
  -webkit-text-size-adjust: 100%;
}

/* global*/
body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #000;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 13px;
}
strong {
  font-weight: bold;
}
table {
  border: 0;
  padding: 0;
  border-spacing: 0;
  border-collapse: collapse;
}

.clr {
  clear: both;
}
/* cas particulier de legacy markup relou */
br.clr {
  height: 0;
  overflow: hidden;
  display: block;
}
a img {
  border: 0;
}

h2,
h3,
h4 {
  padding: 10px;
  padding: 0.35em;
  margin: 0;
}

/* les vidéos en embed */
iframe {
  max-width: 100%;
}
/* désactivé, car ça redimensionne l'iframe qui est déjà redimensionné en JS
@media screen and (max-width: 640px) { iframe { height:auto; } }
*/

/* class pour masquer certains trucs par défaut */
.nope {
  display: none;
}
.much_block {
  display: block !important;
}

/* boutons */
.btn {
  background: #222;
  color: #fff;
  border-radius: 5px;
  display: inline-block;
  vertical-align: top;
  padding: 5px 10px;
  position: relative;
  border: 0;
  font-size: inherit;
  font-family: inherit;
}
.btn:hover,
.btn:visited:hover,
.btn:focus {
  background: #666;
  color: #fff;
  text-decoration: none;
}

.btn-warning {
  background: #e92600;
  color: #fff;
}
.btn-warning:hover,
.btn-warning:visited:hover,
.btn-warning:focus {
  background: #cc2200;
  color: #fff;
}

.with_bell:after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: url(img/bell_white.png) 0 0 no-repeat;
  background-size: contain;
  width: 20px;
  height: 20px;
  margin: 0 0 0 6px;
}
.with_bell.with_bell_active:after {
  background-image: url(img/bell_active_white.png);
}

/* masthead, header, logo*/
#masthead {
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  position: relative;
}

/*gestion basique des cadres et conteneurs */
div.cadre,
.cadre-in,
#newsletter-abo {
  padding: 1em;
  box-sizing: border-box;
}

/* on force le cassage de mot pour ceux qui font des lignes d'underscore */
.cadre {
  overflow-wrap: break-word;
  word-wrap: break-word;
  word-break: break-word;
}

.ct_left {
  padding: 0;
  margin: 0;
  width: 100%;
  max-width: 660px;
  height: auto;
  overflow: hidden;
}

#content {
  display: table;
  width: 100%;
  border: 0;
}
#ct_main,
#mod_ccweb_cine_jeu_large {
  display: table-cell;
  vertical-align: top;
  width: auto;
}

/* sidebar*/
#mod_ccweb_cine_jeu_large {
  margin: 0;
  padding: 0;
  width: 32%;
  max-width: 310px;
}
#pavevideo {
  overflow: hidden;
  max-width: 100%;
}
.bloc_sidebar {
  box-sizing: border-box;
}
.bloc_sidebar.bs-rch input[type="submit"] {
  display: none;
}
.bloc_sidebar center img {
  display: block;
} /* pas de marge sous les images full width */
.bloc_sidebar img {
  max-width: 100%;
}
/* on scale reCaptcha s'il est dans sidebar */
.bloc_sidebar #rc-imageselect,
.bloc_sidebar .g-recaptcha {
  transform: scale(0.97);
  -webkit-transform: scale(0.97);
  transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
}
.bloc_sidebar .g-recaptcha {
  margin-top: 5px;
}

/* recaptcha dans le contenu */
.ct_left .g-recaptcha {
  margin: 10px 0;
}

/* images responsives */
@media screen and (max-width: 980px) {
  .page-bloc img {
    max-width: 100% !important;
    height: auto !important;
  }
}

@media screen and (max-width: 900px) {
  #maincontent,
  #maincontent-large,
  #maincontent-x-large,
  .ct_left,
  #rightlarge,
  #right {
    width: 100%;
    box-sizing: border-box;
    max-width: 100%;
  }

  #rightlarge,
  #right {
    display: block;
    overflow: hidden;
    height: auto;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }
  .bloc_sidebar {
    width: 100%;
  }
}
@media screen and (max-width: 860px) {
  /* not 2 columns anymore */
  #content,
  #ct_main,
  #mod_ccweb_cine_jeu_large {
    display: block;
    width: 100%;
    max-width: 100%;
    margin-bottom: 1em;
  }
}

/* bloc résa/recharge */
.sb_resa {
  margin-bottom: 0.5em;
}
.sb_resa a {
  display: block;
  padding: 0.75em 0.333333em;
  font-size: 15px;
}
.sb_resa a.sb_bt_resa {
  color: #000;
  background: url(sidebar_resa_express.png) 97% 50% no-repeat;
  padding: 1.15em 0.333333em;
}
.sb_resa a.sb_bt_resa.type_achat {
  background-image: url(sidebar_achat_express.png);
}
.sb_resa a.sb_bt_reload {
  color: #000;
  background: url(sidebar_gestion.png) 97% 50% no-repeat;
}

/* tags */
.tag {
  width: 46px;
  height: 41px;
}

/* menu principal */
.menu_top {
  background: #eee;
  color: #000;
  font-size: 16px;
  text-align: center;
  padding: 0;
  margin: 0;
  position: relative;
}
.menu_top li {
  padding: 0;
  margin: 0;
  list-style: none;
  display: inline-block;
  vertical-align: top;
  position: relative;
}
.menu_top > li > a,
.menu_top > li > strong {
  display: block;
  padding: 0.5em;
  position: relative;
}
.menu_top > li > a:hover,
.menu_top > li > a:visited:hover,
.menu_top > li > a:focus,
.menu_top > li > strong {
  text-decoration: none;
}
/*gestion des menus déroulants*/
.menu_top .sousrubs {
  position: absolute;
  top: 100%;
  left: 0;
  margin: 0;
  min-width: 180px;
  padding: 0 0 1em 0;
  display: none;
  text-align: left;
  z-index: 500;
  background: #eee;
  font-size: 13px;
}
.menu_top .sousrubs li {
  display: block;
  margin: 0;
}
.menu_top .sousrubs li a,
.menu_top .sousrubs li a:visited,
.menu_top .sousrubs li a:link,
.menu_top .sousrubs li strong {
  display: block;
  text-align: left;
  width: 100%;
  padding: 0.25em;
  box-sizing: border-box;
}

@media screen and (min-width: 980px) {
  .menu_top li.sub:hover .sousrubs {
    display: block;
    z-index: 5;
  }
}

@media screen and (max-width: 980px) {
  /* le menu est avec un scroll horizontal par défaut * /
	.menu_top {
		overflow-x:auto;
		white-space:nowrap;
		-webkit-overflow-scrolling: touch; /*permet d'avoir l'inertie sur iOS* /
		-ms-overflow-style: -ms-autohiding-scrollbar;
	}
	/* pas de sous rubriques avec un menu horizontal de base * /
	.menu_top li.sub:hover .sousrubs { display:none; }
	/**/
  #show_menu {
    display: inline-block;
    background: #333;
    color: #fff;
    padding: 10px 10px 10px 35px;
    margin: 0 0 10px 10px;
    position: relative;
  }
  #show_menu:before,
  #show_menu:after {
    content: "";
    width: 13px;
    height: 13px;
    margin: 0;
    background: #fff;
    position: absolute;
    top: 12px;
    left: 12px;
    box-sizing: border-box;
  }
  #show_menu:after {
    border-top: solid 2px #333;
    border-bottom: solid 2px #333;
    height: 7px;
    top: 15px;
  }
  .menu_top {
    height: auto !important;
    display: none;
  }
  .menu_top li {
    display: block;
  }
  .menu_top .sousrubs {
    position: static;
  }
  .menu_top .sousrubs li {
    display: block;
    padding-left: 20px;
  }
}

#mod_ccweb_affiches {
  margin-bottom: 10px;
}
#alt_content {
  padding: 10px 10px 35px 10px;
}

#alt_content .carousel-cell {
  display: inline-block;
  vertical-align: top;
  height: auto;
}
#alt_content .carousel-cell .infos_public,
#alt_content .carousel-cell .infos_duree {
  display: none;
}

#alt_content .carousel {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}
#alt_content .ahwm.carousel-cell {
  position: relative;
  margin: 0 5px;
  text-align: center;
}
#alt_content .ahwm.carousel-cell .filmhover {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  color: #fff;
  box-sizing: border-box;
  padding-top: 20px;
}
#alt_content .ahwm.carousel-cell:hover .filmhover {
  display: block;
}
#alt_content .ahwm.carousel-cell img {
  display: block;
}

/* evenements */
.evenement {
  margin-bottom: 1em;
  overflow: hidden;
  height: auto;
}
body.evenement {
  overflow: auto;
}
.evenement .left {
  margin-right: 1em;
  border: 0;
  float: left;
}
.evenement .right {
  margin-left: 1em;
  border: 0;
  float: right;
}
.evenement .img-center {
  text-align: center;
}
.img-center img {
  max-width: 100% !important;
  height: auto;
}
.evenement .introtext {
  overflow: hidden;
  height: auto;
}
.evenement .introtext .clr {
  display: none;
}

.evt_liens_film {
  padding-top: 10px;
  clear: both;
  text-align: left;
  display: inline-block;
  vertical-align: top;
}
.evt_liens_film a.film,
.evt_liens_film a.resa-link3 {
  display: inline-block;
  vertical-align: top;
  line-height: 1.2;
  background: #ed1b24;
  color: #fff;
  font-size: 15px;
  text-align: center;
  padding: 6px 15px;
  margin: 0 10px 0 0;
}
.evt_liens_film a.resa-link3 .ext_txt_resa_cont {
  vertical-align: top;
  font-weight: 400;
}
.evt_liens_film a.film:hover,
.evt_liens_film a.film:visited:hover,
.evt_liens_film a.film:focus,
.evt_liens_film a.resa-link3:hover,
.evt_liens_film a.resa-link3:visited:hover,
.evt_liens_film a.resa-link3:focus {
  background: #95001a;
  text-decoration: none;
}

.evt_partage {
  text-align: right;
  padding: 0;
  clear: both;
  display: inline-block;
  vertical-align: top;
  float: right;
}
.evt_partage .evt_ptg_titre,
.evt_partage a {
  display: inline-block;
  vertical-align: top;
  width: 30px;
  height: 30px;
  line-height: 30px;
  margin: 0 0.5em 0 0;
  text-decoration: none;
  border-radius: 3px;
}
.evt_partage .evt_ptg_titre {
  width: auto;
}
.evt_partage a.evt_fb {
  background: #3d67a0 url(img/icn_w_fb.png) center center no-repeat;
  background-size: contain;
}
.evt_partage a.evt_gplus {
  background: #dc4e41 url(img/icn_w_gplus.png) center center no-repeat;
  background-size: contain;
}
.evt_partage a.evt_tw {
  background: #55acee url(img/icn_w_tw.png) center center no-repeat;
  background-size: contain;
}
.evt_partage a.evt_mail {
  background: #333 url(img/icn_w_mail.png) center center no-repeat;
  background-size: contain;
}
.evt_partage a.evt_fb:hover,
.evt_partage a.evt_gplus:hover,
.evt_partage a.evt_tw:hover,
.evt_partage a.evt_mail:hover {
  opacity: 0.7;
}

.evenement a.resa-link3 img,
.evt_txt_pour,
.evt_txt_titre_film,
.ext_txt_mtn,
.evt_partage .evt_ptg_titre {
  display: none;
}

/* navigation dans les events */
#actus_nav p {
  display: inline-block;
  padding: 0;
  margin: 0;
}
#actus_nav a,
#actus_nav strong {
  display: inline-block;
  padding: 0.5em 1.25em;
}

@media screen and (max-width: 980px) {
  .evenement .left,
  .evenement .right,
  .evenement .img-center img {
    max-width: 100% !important;
    height: auto !important;
  }
}

@media screen and (max-width: 640px) {
  .evt_liens_film,
  .evt_partage {
    display: block;
    text-align: center;
    float: none;
  }
  .evt_partage {
    padding-top: 0.5em;
  }
}

/* films à l'affiche/prochainement */
.fichefilm-mini-block,
.fichefilm-mini-block .vignette.url,
.fichefilm-mini-block .fichefilm-mini {
  width: 50%;
  float: left;
  overflow: hidden;
  height: auto;
  box-sizing: border-box;
}
.fichefilm-mini-block {
  min-height: 180px;
}
.fichefilm-mini-block .vignette.url {
  width: 37%;
  max-width: 118px;
}
.fichefilm-mini-block .fichefilm-mini {
  width: 63%;
  padding: 0 0 0 0.5em;
  box-sizing: border-box;
}

.fichefilm-mini-block .vignette img {
  width: 100%;
  height: auto;
}
.fichefilm-mini-block .bt-film-small {
  display: inline-block;
  vertical-align: top;
  padding: 3px;
  margin: 0;
}
.fichefilm-mini-block .bt-film-small.btinfos {
  margin-left: 0;
}

.fichefilm-mini-block h4 {
  margin-top: 0;
  padding: 0;
  min-height: 50px;
  height: auto;
}
.fichefilm-mini-block p {
  margin: 0.5em 0;
}

@media screen and (max-width: 600px) {
  .fichefilm-mini-block {
    width: 100%;
    float: none;
    min-height: 0;
    padding-bottom: 1em;
  }
  .ct_main h2 {
    margin: 15px 10px 10px;
  }
  .cadre-in {
    padding-left: 10px;
    padding-right: 10px;
  }
  .fichefilm-mini-block h4 {
    min-height: 0;
  }
}

/* filtre horaires */
#liste-tags {
  padding-left: 0;
}
#liste-tags li {
  display: inline-block;
  vertical-align: middle;
  filter: grayscale(1);
  transform: scale(0.7);
  opacity: 0.7;
}
#liste-tags li:hover,
#liste-tags li:visited:hover,
#liste-tags li:focus {
  opacity: 1;
  filter: none;
}
#liste-tags li.selected {
  opacity: 1;
  filter: none;
  transform: none;
}
#liste-tags .reset {
  margin: 0 0 0 20px;
  text-align: center;
  opacity: 1;
  transform: none;
  filter: none;
}
@media screen and (max-width: 640px) {
  #liste-tags .reset {
    display: block;
    margin: 5px 0 0 0;
    text-align: left;
  }
}

.fichefilm-small-v3 {
  overflow: hidden;
  height: auto;
}
.fichefilm-small-v3 .horaires-affiche,
.fichefilm-small-v3 .horaires-infos-film {
  float: left;
  position: relative;
  margin: 0;
  width: 26%;
}
.fichefilm-small-v3 .horaires-infos-film {
  width: 74%;
  padding: 0 0.5em;
  box-sizing: border-box;
}
.fichefilm-small-v3 .horaires-affiche img {
  width: 100%;
  height: auto;
  margin-left: 10px;
}
.fichefilm-small-v3 span.vote-long {
  top: -5px;
}

.horaires-sortie,
.horaires-duree,
.horaires-genre {
  display: inline-block;
  vertical-align: top;
  padding-right: 10px;
}
.horaires-sortie,
.horaires-casting {
  margin-bottom: 5px;
}

.horaires-casting,
.horaires-realisateur,
.horaires-public {
  display: block;
}

.fichefilm-small-v3 .comment {
  padding-top: 5px;
}

.le-mot-du-cinema {
  padding: 0 6px;
}
.le-mot-du-cinema p {
  margin: 0 0 6px 0;
}

.horaires table {
  width: 100%;
  text-align: center;
}
.col1,
.col2,
.col3,
.col4,
.col5,
.col6,
.col7 {
  vertical-align: top;
}
.fc {
  display: block;
  padding: 0.25em;
} /* span qui remplace les anciennes cellules */
.fchead {
  background: #282828;
  color: #fff;
  display: block;
  padding: 0.25em 0;
} /* span qui remplace les anciennes cellules */

.fc {
  padding: 0 2px;
}
.fc em {
  color: #999;
}
.danslanuitde {
  font-size: 11px;
  font-weight: 700;
}

.today,
.today .fchead {
  background: #e8283f;
  color: #fff;
}
.today .fchead {
  font-weight: 700;
}

.fc em,
.fc .hor,
.fc a {
  padding: 4px 5px;
  display: block;
}
.fc a {
  color: #e8283f;
}
.fc a:hover,
.fc a:visited:hover,
.fc a:focus {
  background: #e8283f;
  color: #fff;
  text-decoration: none;
}

.today a {
  color: #fff;
  padding: 3px 5px;
}
.today a:hover,
.today a:visited:hover,
.today a:focus {
  background: #000;
  color: #fff;
  text-decoration: none;
}

.fchead em {
  padding: 0;
}
.fchead {
  padding: 5px;
}

/* séances complètes */
.fc.complet {
  position: relative;
}
.fc.complet em,
.fc.complet span,
.fc.complet a {
  color: #999;
  text-decoration: line-through !important;
  font-weight: 400;
  font-style: italic;
}
.table.horaires .fc.complet a.resa:hover {
  background: none;
  border: 0;
  color: #999;
  cursor: not-allowed;
}
.fc.complet:before {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 6px 5px;
  border-color: transparent transparent #222 transparent;
  content: "";
  position: absolute;
  top: 18px;
  left: 36px;
  display: none;
}
.fc.complet:after {
  content: "complet";
  font-size: 11px;
  position: absolute;
  top: 24px;
  left: 10px;
  background: #222;
  padding: 5px 7px;
  color: #fff;
  text-transform: uppercase;
  display: none;
}
.fc.complet:hover:before,
.fc.complet:hover:after {
  display: block;
}

/* CSS de base pour les horaires par tags */
.horatags {
  clear: both;
  margin: 0 38px;
  position: relative;
}
.horatags .rowseances {
  margin-bottom: 10px;
  border: solid 1px #333;
  padding-left: 117px;
  box-sizing: border-box;
}

.horatags .ftitre,
.horatags .fhead .fcell {
  background: #3f3f3f;
  color: #fff;
  padding: 5px;
}

.horatags .fcell {
  width: 117px;
  text-align: center;
  border-right: solid 1px #fff;
  box-sizing: border-box;
  padding-bottom: 20px;
}
/* fix pour les webkit qui ne savent pas gérer les pixels... */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  .horatags .fcell {
    border-right: solid 3px #fff;
  }
}
.horatags .fcell:last-child {
  border: 0;
}
.horatags .fcell em {
  color: #727272;
}

.horatags .fcell.cell_tags {
  text-align: left;
}
.horatags .cell_tags .tag {
  width: 46px;
  height: 41px;
}

.horatags .static-banner {
  position: absolute;
  z-index: 1;
  left: 0;
  top: 0;
  bottom: 0;
  background: #fff;
  border-right: solid 1px #333;
}

.hora {
  display: block;
  padding: 3px;
}
.hora.noseance:before {
  content: "-";
  color: #727272;
}

/* horaires par tags - flèches */
.horaires .flickity-viewport {
  min-height: 100px;
}
.horatags .flickity-prev-next-button {
  width: 38px;
  height: 52px;
  border-radius: 5px;
  cursor: pointer;
  color: #333;
}
.horatags .flickity-prev-next-button .arrow {
  fill: #333;
}
.horatags .flickity-prev-next-button.no-svg {
  color: #333;
}
.horatags .flickity-prev-next-button:hover .arrow {
  fill: #ed1b2d;
}
.horatags .flickity-prev-next-button.no-svg:hover {
  color: #ed1b2d;
}
.horatags .flickity-prev-next-button.previous {
  left: -40px;
}
.horatags .flickity-prev-next-button.next {
  right: -40px;
}

@media screen and (max-width: 640px) {
  .fichefilm-small-v3 .horaires-affiche,
  .fichefilm-small-v3 .horaires-infos-film {
    float: none;
    width: 100%;
    display: block;
  }
  .fichefilm-small-v3 .horaires-affiche {
    text-align: center;
  }
  .fichefilm-small-v3 .horaires-affiche img {
    width: 30%;
    height: auto;
  }
  /* 
	pas besoin, il y a flickity
	.horaires table td {
		display:block;
		text-align:left;
		padding:.5em;
	}	
	.horaires table td.passed {
		display:none;
	}
	.fc {
		display:inline-block;
		padding:.15em .25em;
	}
	.fc.fchead {
		min-width:80px;
		box-sizing:border-box;
		padding:.15em .35em;
	} */
}

@media screen and (max-width: 400px) {
  .horatags .fcell {
    width: 100px;
    display: block;
  }

  .horatags {
    margin: 0 30px;
  }
  .horatags .rowseances {
    padding-left: 100px;
  }

  .horatags .flickity-prev-next-button {
    width: 32px;
    height: 52px;
    border-radius: 5px;
    cursor: pointer;
    color: #333;
  }
  .horatags .flickity-prev-next-button.previous {
    left: -34px;
  }
  .horatags .flickity-prev-next-button.next {
    right: -34px;
  }
}

/*boutons sem precedente, suivante et impression horaires */
#horaires_impression_menu .btn .nope {
  display: block;
}

.bt-sem-pro img,
.bt-sem-der img,
.imprime_horaires img {
  display: none;
}
.imprime_horaires,
.bt-sem-pro,
.bt-sem-der {
  display: inline-block;
  vertical-align: top;
  padding: 0 5px 0 0;
}
.imprime_horaires .btn {
  line-height: 31px;
  height: 31px;
  padding: 0 10px;
}
.bt-sem-pro .btn,
.bt-sem-der .btn,
#bouton_retour_emission .btn {
  position: relative;
  line-height: 31px;
  height: 31px;
  padding: 0 10px;
  padding-right: 18px;
}
.bt-sem-der .btn,
#bouton_retour_emission .btn {
  margin-left: 20px;
  padding-right: 10px;
  padding-left: 18px;
}
.bt-sem-pro .btn:after,
.bt-sem-der .btn:after,
#bouton_retour_emission .btn:after {
  /* make two squares (before and after), looking similar to the button */
  content: "";
  position: absolute;
  top: 5px; /* move it down because of rounded corners */
  width: 22px; /* same as height */
  height: 22px; /* button_outer_height / sqrt(2) */
  background: inherit; /* use parent background */
  border: inherit; /* use parent border */
  border-left-color: transparent; /* hide left border */
  border-bottom-color: transparent; /* hide bottom border */
  border-radius: 0px 4px 0px 0px; /* round arrow corner, the shorthand property doesn't accept "inherit" so it is set to 4px */
  -webkit-border-radius: 0px 4px 0px 0px;
  -moz-border-radius: 0px 4px 0px 0px;
}
.bt-sem-pro .btn:after {
  transform: rotate(
    45deg
  ); /* rotate right arrow squares 45 deg to point right */
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
}
.bt-sem-der .btn:after,
#bouton_retour_emission .btn:after {
  transform: rotate(
    225deg
  ); /* rotate left arrow squares 225 deg to point left */
  -webkit-transform: rotate(225deg);
  -moz-transform: rotate(225deg);
  -o-transform: rotate(225deg);
  -ms-transform: rotate(225deg);
}
.bt-sem-pro .btn:after,
.bt-sem-der .btn:after,
#bouton_retour_emission .btn:after {
  /* align the "after" square to the right */
  right: -9px;
}
.bt-sem-pro .btn:after {
  /* bring arrow pointers to front */
  z-index: 1;
}
.bt-sem-der .btn:after,
#bouton_retour_emission .btn:after {
  right: auto;
  left: -9px;
}

/* version sur la page séances */
.seances_print {
  text-align: center;
}

@media screen and (min-width: 980px) {
  .tablehoraireout {
    padding: 0 10px;
  }
}
@media screen and (max-width: 900px) {
  /* pas d'impression sur la version tablette/mobile */
  #horaires_impression_menu .imprime_horaires {
    display: none;
  }
  /* semaine suivante/précédente inutile si horaires glissants * /
	#horaires_impression_menu { display:none; }/**/

  /* version sur la page séances */
  .seances_print {
    display: none;
  }
}

/* dans l'heure */
.fichefilm-dans-l-heure {
  text-decoration: none;
  display: inline-block;
  vertical-align: top;
  width: 24%;
  padding: 0 10px 10px 0;
  box-sizing: border-box;
}
.fichefilm-dans-l-heure img {
  max-width: 100% !important;
}
.fichefilm-dans-l-heure h4 {
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  padding: 0 0 5px 0;
}
@media screen and (max-width: 900px) {
  .fichefilm-dans-l-heure {
    width: 49%;
    text-align: center;
  }
}

/* fiche film */
.ff_titre {
  margin-bottom: 0;
}
.fiche_film {
  padding: 10px;
  overflow: hidden;
  height: auto;
}
.fiche_film .affiche {
  float: left;
  width: 26%;
  margin: 0 10px 10px 0;
}
.affiche {
  max-width: 100%;
  height: auto;
}

.ff_movie_info {
  padding-top: 0;
}
.fiche_film h3 {
  padding-left: 0;
}
.ff_infos_1 {
  float: left;
  width: 45%;
  margin-right: 10px;
}
.ff_director,
.ff_public {
  margin-bottom: 0;
}
.ff_cast,
.ff_runtime_genre,
.ff_dates,
.ff_synopsis {
  margin-top: 0;
}

.ff_infos_2 {
  float: left;
  width: 25%;
  text-align: center;
}
.ff_infos_2 .btn,
.ff_infos_2 .vote {
  margin-bottom: 20px;
}

.ff_synopsis,
.ff_synopsis_title,
.ff_pics_title,
.fiche_film .horaires {
  clear: both;
}
.fiche_film .horaires + .horaires {
  margin-top: 10px;
}

.ff_pics a {
  display: inline-block;
  vertical-align: top;
  margin: 0 10px 10px 0;
}
.ff_pics a img {
  display: block;
}

/* autres films */
.other_movies_title {
  padding: 0 10px;
  margin: 30px 0 0 0;
}
.autres_films {
  padding: 10px;
}
.autres_films a {
  display: inline-block;
  vertical-align: top;
  margin: 0 5px 5px 0;
  max-width: 15.5%;
}
.autres_films img {
  display: block;
  width: 100%;
  height: auto;
}

@media screen and (max-width: 540px) {
  .fiche_film .affiche,
  .ff_infos_1,
  .ff_infos_2 {
    float: none;
    width: 100%;
  }
  #maincontent-large .ff_movie_info {
    margin: 0;
    padding: 0;
  }
  .fiche_film > a:first-of-type {
    display: block;
    text-align: center;
  }
  .ff_tags {
    margin-bottom: 10px;
  }
  .ff_infos_2 .vote,
  .ff_infos_2 .fb_container {
    display: inline-block;
    vertical-align: middle;
    width: 48%;
    margin: 0;
  }
  .ff_synopsis,
  .ff_synopsis_title {
    margin-top: 10px;
  }
  .autres_films a {
    display: inline-block;
    vertical-align: top;
    margin: 0 5px 5px 0;
    max-width: 30%;
  }
}

/* bande annonce */
.video .bouton_retour {
  margin: 0 0 10px 0;
}
#maincontent_v2 {
  padding: 10px;
  background: #fff;
  color: #000;
}

#maincontent_v2 .jwplayer {
  display: block;
  max-width: 100%;
  min-height: 300px;
  vertical-align: top;
  margin: 10px auto;
}
.labelfacebook {
  display: none;
}
#video_v2_bas {
  text-align: center;
  margin: 0 0 20px 0;
}
#video_v2_bas .bloc_facebook,
#video_v2_bas .vote,
#video_v2_bas .info_film,
#video_v2_bas .info_film span {
  display: inline-block;
  vertical-align: top;
  margin: 10px 10px 0 0;
}
#video_v2_bas .info_film span {
  margin-top: 0;
}

.lien_autre_video {
  display: inline-block;
  vertical-align: top;
  padding: 5px;
  margin: 0 5px 5px 0;
  width: 130px;
  text-decoration: none;
}
.lien_autre_video span {
  display: block;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: 11px;
  text-overflow: ellipsis;
  overflow: hidden;
}

@media screen and (max-width: 980px) {
  #maincontent_v2 .jwplayer {
    min-height: 0;
  }

  #maincontent_v2 .jwplayer {
    height: auto !important;
  }
  .jw-media,
  .jwplayer video {
    position: static !important;
  }
}

/* images dans les pages */
.page.cadre img {
  max-width: 100%;
  height: auto;
}

/* dans les galeries d'images (full width + centrage) */
.img_galerie {
  width: 100%;
}
.img_galerie td {
  text-align: center;
}

@media screen and (max-width: 720px) {
  /* events dans les pages  */
  .page_event table,
  .page_event table tr,
  .page_event table td {
    display: block;
  }

  /* players embed */
  .page.cadre .videopanel object {
    max-width: 100%;
    height: 200px;
    margin: 0.5em 0;
  }
}

/* formulaire contact */
#mod_contact {
  padding: 10px;
  box-sizing: border-box;
}
#mod_contact label {
  display: block;
  margin-top: 0.5em;
  font-weight: bold;
}
#mod_contact input {
  margin-bottom: 0.5em;
}

/* sous menu */
#sous_menu {
  margin: 0 0 10px 0;
  background: #fff;
  color: #000;
}
#sous_menu:before {
  content: "Choisissez votre rubrique";
  font-size: 18px;
  display: block;
  padding: 10px;
  background: #222;
  color: #fff;
}
#sous_menu a,
#sous_menu strong {
  display: inline-block;
  vertical-align: top;
  padding: 5px;
}

/* formulaire newsletter */
/*masquage des champs pour simplifier l'inscription*/
#newsletter-abo #civ,
#newsletter-abo #nom,
#newsletter-abo #prenom,
#newsletter-abo #adresse,
#newsletter-abo #codepostal,
#newsletter-abo #ville,
#newsletter-abo #mobil,
#newsletter-abo #naissance,
#newsletter-abo #genre_film,
#newsletter-abo #offres_cinema,
#newsletter-abo #offres_part,
#newsletter-abo #offres_sms {
  display: none;
}

#newsletter-abo #cinema {
  margin-top: 10px;
}
#newsletter-abo #cinemas {
  margin-top: 10px;
}
#newsletter-abo #cinemas label {
  display: inline-flex;
}
#newsletter-abo #cinemas .validation_cine {
  margin: 5px 10px;
  float: left;
}

#newsletter-abo #cinemas #changercinema {
  display: inline-block;
  margin: 5px 0 0 10px;
  font-style: italic;
}

/* votes */
.vote {
  font-size: 11px;
}

span.vote,
span.vote-long {
  position: relative;
  width: 50px;
  height: 10px;
  line-height: 20px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  display: inline-block;
  vertical-align: top;
  background-repeat: repeat-x;
  background-position: left top;
}

/* vote small */
span.vote,
span.vote-long,
span.vote a:hover,
span.vote a:active,
span.vote a:focus,
span.vote .vote-note {
  background-image: url(img/stars_small-2x.png);
  background-image: url(img/stars_small.png) \9; /* IE8 et versions inférieures (car ne gère pas le background size) */
  *background-image: url(img/stars_small.png); /* IE7 et versions inférieures */
  background-size: 10px 30px; /* non géré par IE8 et inférieurs -- la size est définie par la taille du sprite, qu'on divise par 2 */
}
span.vote {
  top: 2px;
}
span.vote a:hover,
span.vote a:active,
span.vote a:focus,
.vote-note {
  background-repeat: repeat-x;
  background-position: left top;
}

/* l'user vote */
span.vote a,
span.vote .vote-note,
span.vote-long a,
span.vote-long .vote-note {
  position: absolute;
  top: 0;
  left: 0;
  text-indent: -1000em;
  height: 10px;
  line-height: 10px;
  outline: none;
  overflow: hidden;
  border: none;
}
span.vote a:hover,
span.vote a:active,
span.vote a:focus,
span.vote-long a:hover,
span.vote-long a:active,
span.vote-long a:focus {
  background-position: left center;
}
a.n1 {
  width: 20%;
  z-index: 6;
}
a.n2 {
  width: 40%;
  z-index: 5;
}
a.n3 {
  width: 60%;
  z-index: 4;
}
a.n4 {
  width: 80%;
  z-index: 3;
}
a.n5 {
  width: 100%;
  z-index: 2;
}
.vote-note {
  z-index: 1;
  background-position: left bottom;
}
span.voter {
  display: none;
}
span.vote-leg span.nbvote {
  font-style: italic;
}

/* vote long */
span.vote-long,
span.vote-long a:hover,
span.vote-long a:active,
span.vote-long a:focus,
span.vote-long .vote-note {
  background-image: url(img/stars-2x.png);
  background-image: url(img/stars.png) \9; /* IE8 et versions inférieures (car ne gère pas le background size) */
  *background-image: url(img/stars.png); /* IE7 et versions inférieures */
  background-size: 17px 75px; /* non géré par IE8 et inférieurs -- la size est définie par la taille du sprite, qu'on divise par 2 */
}
span.vote-long {
  line-height: 25px;
  height: 25px;
  width: 85px;
  overflow: hidden;
  background-repeat: repeat-x;
  background-position: left center;
  top: -3px;
  margin: 0 0 -6px 0;
}
span.vote-long a:hover,
span.vote-long a:active,
span.vote-long a:focus {
  background-repeat: repeat-x;
  background-position: left top;
}
span.vote-long a,
span.vote-long .vote-note {
  height: 25px;
  line-height: 25px;
}
.nbvote.fn {
  display: inline-block;
  vertical-align: middle;
  padding: 2px 0 0 4px;
}
/* fin vote */

/* ne pas faire dépasser les vidéos du conteneur */
.videopanel,
.videopanel img,
.videopanel object,
.videopanel .jwplayer {
  max-width: 100%;
}
.videopanel {
  text-align: center;
}
.videopanel img {
  height: auto !important;
}

.page_event .videopanel {
  margin-bottom: 10px;
}

/* suppression des flèches automatiques dans chrome sur les input de type=number*/
form input[type="number"]::-webkit-outer-spin-button,
form input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* css du slider v2*/
.swipe_cont,
.swipe {
  position: relative;
}
.swipe {
  overflow: hidden;
  visibility: hidden;
  position: relative;
}
#mod_slider_v2 .swipe-wrap {
  height: 380px;
}
.swipe-wrap {
  overflow: hidden;
  position: relative;
}
.swipe-wrap > div {
  /* si on enlève le >, il target les div internes aussi et ça merde*/
  float: left;
  width: 100%;
  position: relative;
  overflow: hidden; /* Pour la version responsive */
}

/* gestion des différents templates*/
.slideContent {
  position: absolute;
  top: 0;
  right: 0;
  width: 300px;
  background: #222;
  color: #fff;
  padding: 7px;
  box-sizing: border-box;
  height: 380px;
}
.gabarit2 .slideContent {
  left: 0;
  right: auto;
}
.gabarit2 img {
  margin-left: 300px;
} /* pour la décaler de dessous le .slideContent, positionné en absolute*/
.gabarit2 .slideContent img {
  margin: 0;
} /* on ne décale pas les tags */
.gabarit3 .slideContent {
  display: none;
}
.gabarit4 .slideContent {
  background: none;
  position: absolute;
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  height: auto;
  width: auto;
  text-align: center;
}
.gabarit4 .slideContent h3,
.gabarit4 .slideContent p {
  display: none;
}
.gabarit4 .btn_slider {
  display: inline-block;
  width: auto;
  font-size: 18px;
  padding: 1em;
}

/*boutons du contenu*/
.btn_slider {
  display: inline-block;
  margin: 0.25em;
  padding: 0.5em;
  font-weight: bold;
  width: auto;
  text-decoration: none;
  border-radius: 0.25em;
  box-sizing: border-box;
}
.btn_slider,
.btn_slider:visited,
.btn_slider:link {
  background: #ebebeb;
  color: #000;
}

.btn_slider:hover,
.btn_slider:visited:hover,
.btn_slider:focus,
.btn_slider:active {
  background: #f8f8f8;
  text-decoration: none;
}

/* puces position*/
.slider_nav {
  position: relative;
  text-align: center;
  font-size: 16px;
  line-height: 1.3;
  color: #697279;
  display: block;
  margin: 0;
  padding: 0.25em 0 0.35em 0;
  width: 100%;
}
.slider_nav li,
.slider_nav .bul {
  padding: 0 4px;
  height: 32px;
  line-height: 22px;
  font-size: 28px;
  overflow: hidden;
  font-style: normal;
  font-family: sans-serif;
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
}
.slider_nav li:hover,
.slider_nav .bul:hover {
  color: #b00;
}
.slider_nav li.on,
.slider_nav .on.bul {
  color: #ccc;
}
/*boutons prev et next - avec les puces */
.bottom .prev-slide,
.bottom .next-slide {
  display: inline-block;
  vertical-align: top;
  position: static;
  width: 36px;
  height: 36px;
  cursor: pointer;
  background-size: contain;
}
/*boutons prev et next - sur les côtés */
.side .prev-slide,
.side .next-slide {
  position: absolute;
  width: 40px;
  height: 150px;
  cursor: pointer;
  top: -270px;
  left: -40px; /* background-size:contain; */
}
.side .next-slide {
  left: auto;
  right: -40px;
}

/* hors desktop, les boutons de flèches passent en petit sur les côtés */
@media screen and (max-width: 980px) {
  .side .prev-slide,
  .side .next-slide {
    display: inline-block;
    position: static;
  }
}

@media screen and (max-width: 640px) {
  #mod_slider_v2 .swipe-wrap {
    height: auto;
  }
  #mod_slider_v2 .swipe-wrap img {
    max-width: 100% !important;
  }
  #mod_slider_v2 .slideContent {
    position: static;
    width: 100%;
    height: auto;
  }
  #mod_slider_v2 .slideContent h3 {
    padding-bottom: 0;
    margin-bottom: 0;
  }
  .gabarit2 img {
    margin-left: 0;
  } /* pas de marge sur les images, quel que soit le gabarit */
}

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
}
.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden;
}
.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box;
}
.mfp-container:before {
  content: "";
  display: inline-block;
  height: 100%;
  vertical-align: middle;
}
.mfp-align-top .mfp-container:before {
  display: none;
}
.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045;
}
.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto;
}
.mfp-ajax-cur {
  cursor: progress;
}
.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out;
}
.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in;
}
.mfp-auto-cursor .mfp-content {
  cursor: auto;
}
.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}
.mfp-loading.mfp-figure {
  display: none;
}
.mfp-hide {
  display: none !important;
}
.mfp-preloader {
  color: #ccc;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044;
}
.mfp-preloader a {
  color: #ccc;
}
.mfp-preloader a:hover {
  color: #fff;
}
.mfp-s-ready .mfp-preloader {
  display: none;
}
.mfp-s-error .mfp-content {
  display: none;
}
button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation;
}
button::-moz-focus-inner {
  padding: 0;
  border: 0;
}
.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #fff;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace;
}
.mfp-close:hover,
.mfp-close:focus {
  opacity: 1;
}
.mfp-close:active {
  top: 1px;
}
.mfp-close-btn-in .mfp-close {
  color: #333;
}
.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%;
}
.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #ccc;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap;
}
.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent;
}
.mfp-arrow:active {
  margin-top: -54px;
}
.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1;
}
.mfp-arrow:before,
.mfp-arrow:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent;
}
.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px;
}
.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7;
}
.mfp-arrow-left {
  left: 0;
}
.mfp-arrow-left:after {
  border-right: 17px solid #fff;
  margin-left: 31px;
}
.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3f3f3f;
}
.mfp-arrow-right {
  right: 0;
}
.mfp-arrow-right:after {
  border-left: 17px solid #fff;
  margin-left: 39px;
}
.mfp-arrow-right:before {
  border-left: 27px solid #3f3f3f;
}
.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px;
}
.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px;
}
.mfp-iframe-holder .mfp-close {
  top: -40px;
}
.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%;
}
.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000;
}
/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto;
}
/* The shadow behind the image */
.mfp-figure {
  line-height: 0;
}
.mfp-figure:after {
  content: "";
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444;
}
.mfp-figure small {
  color: #bdbdbd;
  display: block;
  font-size: 12px;
  line-height: 14px;
}
.mfp-figure figure {
  margin: 0;
}
.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto;
}
.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #f3f3f3;
  word-wrap: break-word;
  padding-right: 36px;
}
.mfp-image-holder .mfp-content {
  max-width: 100%;
}
.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer;
}
@media screen and (max-width: 800px) and (orientation: landscape),
  screen and (max-height: 300px) {
  /** * Remove all paddings around the image on small screen */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0;
  }
  .mfp-img-mobile img.mfp-img {
    padding: 0;
  }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0;
  }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px;
  }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box;
  }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0;
  }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px;
  }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0;
  }
}
@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75);
  }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0;
  }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%;
  }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px;
  }
}
/* End Magnific Popup CSS */
/* modales avec un bg par défaut */
.modale_with_bg {
  position: relative;
  background: #fff;
  color: #000;
  padding: 15px;
  width: 90%;
  max-width: 300px;
  margin: 0 auto;
}

/* le bandeau pour les cookies */
#bandeau_cookies {
  background: #fffc9d;
  color: #000;
  height: auto;
  padding: 0.75em 2.5em 0.75em 0.75em;
  padding: 0.75em;
  line-height: 2.2;
  width: auto;
  margin: 0 auto;
  box-sizing: border-box;
  border: solid 1px #aeab62;
  z-index: 30000;
  text-align: center;
  display: none;
}
#bandeau_cookies a {
  color: #c00;
}
#bandeau_cookies #close_cnil {
  cursor: pointer;
  background: #288dc9;
  color: #fff;
  border-radius: 3px;
  display: inline-block;
  vertical-align: top;
  padding: 0.5em 1em;
  line-height: 1.2;
  margin: 0 0 0 1em;
}
/* pas de bandeau sur affichage dynamique et movie touch */
.mtouch #bandeau_cookies,
.affdyn #bandeau_cookies {
  display: none !important;
}
@media screen and (max-width: 640px) {
  #bandeau_cookies {
    line-height: 1.2;
    padding: 0.35em;
  }
  #bandeau_cookies #close_cnil {
    margin-top: 4px;
  }
}

/* le fil d'arianne de base */
.breadcrumbs {
  text-align: left;
  padding: 1em 0;
  color: #666;
}
.breadcrumbs .sep {
  display: inline-block;
  padding: 0 0.5em;
}
.breadcrumbs a {
  color: #666;
}
.breadcrumbs span h1 {
  display: inline;
  font-size: inherit;
}

/* boutons sociaux de base */
#social_buttons a {
  display: inline-block;
  vertical-align: top;
  margin-right: 5px;
}
#social_buttons a:last-child {
  margin-right: 0;
}
#social_buttons a .s_icon {
  background: url(img/social_sprite.png) 0 0 no-repeat;
  background-size: 240px 120px; /* moitié moins que taille de l'image */
  width: 36px;
  height: 36px;
  display: block;
  margin: 0;
  padding: 0;
}

#social_buttons a.slink_twitter,
#social_buttons a.slink_facebook,
#social_buttons a.slink_youtube,
#social_buttons a.slink_rss,
#social_buttons a.slink_instagram,
#social_buttons a.slink_tiktok {
  background: #999;
}

#social_buttons a.slink_twitter:hover,
#social_buttons a.slink_twitter:visited:hover,
#social_buttons a.slink_twitter:focus {
  background: #2aa9e0;
}
#social_buttons a.slink_facebook:hover,
#social_buttons a.slink_facebook:visited:hover,
#social_buttons a.slink_facebook:focus {
  background: #3b5998;
}
#social_buttons a.slink_youtube:hover,
#social_buttons a.slink_youtube:visited:hover,
#social_buttons a.slink_youtube:focus {
  background: #d52423;
}
#social_buttons a.slink_rss:hover,
#social_buttons a.slink_rss:visited:hover,
#social_buttons a.slink_rss:focus {
  background: #ff6612;
}
#social_buttons a.slink_instagram:hover,
#social_buttons a.slink_instagram:visited:hover,
#social_buttons a.slink_instagram:focus {
  background: #d93175;
}
#social_buttons a.slink_tiktok:hover,
#social_buttons a.slink_tiktok:visited:hover,
#social_buttons a.slink_tiktok:focus {
  background: #000;
}

#social_buttons a.slink_twitter .s_icon {
  background-position: -2px -2px;
}
#social_buttons a.slink_facebook .s_icon {
  background-position: -41px -2px;
}
#social_buttons a.slink_youtube .s_icon {
  background-position: -83px -2px;
}
#social_buttons a.slink_rss .s_icon {
  background-position: -124px -2px;
}
#social_buttons a.slink_instagram .s_icon {
  background-position: -162px -2px;
}
#social_buttons a.slink_tiktok .s_icon {
  background-position: -202px -2px;
}

/* footer */
#footer {
  text-align: center;
  padding: 1em 3em 3em;
}
#footer ul,
#footer li {
  display: inline-block;
  vertical-align: top;
  list-style: none;
  padding: 0;
  margin: 0.25em;
}
#footer li a,
#footer li strong {
  display: block;
  padding: 0.25em 0.5em;
}

/* mod pub apps */
.bs_app .app_info {
  overflow: hidden;
  height: auto;
  padding: 5px 0;
}
.bs_app .app_icon {
  float: left;
  margin: 0 10px 0 0;
  border-radius: 9px;
}
.bs_app .app_info p {
  padding-top: 3px;
}

.bs_app .app_liens {
  text-align: center;
}
.bs_app .app_liens a {
  width: 44%;
  margin: 0 5px 5px 5px;
  display: inline-block;
  vertical-align: top;
  text-align: center;
}
.bs_app .app_liens a img {
  width: auto;
  height: 36px;
}

/* plan d'accès */
#mod_maps {
  height: 300px;
  position: relative;
  z-index: 30;
}

/* BFS - blocs films semaine */
.les_blocs_film {
  padding: 5px;
  box-sizing: border-box;
}
.bloc_film {
  float: left;
  width: 16.66667%;
  height: auto;
  overflow: hidden;
  position: relative;
  padding: 5px;
  box-sizing: border-box;
}
.bloc_film img {
  max-width: 100% !important;
}
.bloc_film h3 {
  display: none;
}
.bloc_film .les_boutons {
  display: none;
  position: absolute;
  top: 5px;
  left: 5px;
  right: 5px;
  bottom: 5px;
  background: #000;
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  padding: 30% 10px;
}
.bloc_film:hover .les_boutons {
  display: block;
}
@media screen and (max-width: 640px) {
  .les_blocs_film {
    padding: 0;
  }
  .bloc_film {
    width: 150px;
  }
}
.flag_new {
  position: absolute;
  top: 10px;
  left: -30px;
  background: yellow;
  color: #000;
  transform: rotate(-30deg);
  padding: 3px 0;
  font-size: 10px;
  font-weight: bold;
  width: 120px;
  text-align: center;
}

/* compte à rebours skin de base */
.countdown {
  text-align: center;
  padding: 1%;
  border-radius: 10px;
}
.ctdn_jours,
.ctdn_heures,
.ctdn_minutes,
.ctdn_secondes {
  display: inline-block;
  vertical-align: top;
  font-size: 10px;
  text-align: center;
  padding: 6px 7px;
  background: #fff;
  color: #000;
  border-radius: 5px;
  margin: 1%;
  width: 22%;
  box-sizing: border-box;
  border: solid 2px #ccc;
}
.ctdn_jours strong,
.ctdn_heures strong,
.ctdn_minutes strong,
.ctdn_secondes strong {
  font-size: 22px;
  font-weight: 700;
  display: block;
  padding: 0 0 3px 0;
  color: #000;
}

/* login fid de base */
#onglet_login a {
  display: block;
}
#form_login_fidelite,
#fidelite_user_menu {
  display: none;
  position: relative;
  padding: 0;
  z-index: 2;
  overflow: hidden;
  height: auto;
}
#login_fidelite a.Help,
#login_fidelite a.SignIn,
#login_fidelite a.logout {
  display: block;
}
#form_login_fidelite.active.ouvert,
#fidelite_user_menu.active.ouvert {
  display: block;
}

/* Autocomplete */
.tt-menu {
  border: solid 1px #a2acb0;
  border-radius: 4px;
  padding: 5px;
  width: 340px;
}
.tt-menu {
  text-align: left;
  background-color: #fff;
  margin: 0;
  padding: 8px 0;
  width: 340px;
  z-index: 3000;
  position: absolute;
}
a.tt-suggestion,
a.tt-suggestion:hover {
  text-decoration: none;
  padding: 6px 12px;
  display: block;
}
.tt-suggestion:hover {
  background-color: #0097cf;
  color: #fff;
  cursor: pointer;
}
.tt-suggestion.tt-cursor {
  background-color: #0097cf;
  color: #fff;
}

/* POP UP */
#pop-up-overlay,
.pop-up-overlay {
  background: #000;
  background: rgba(56, 56, 56, 0.6);
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0px;
  left: 0px;
  z-index: 9000;
}
#pop-up {
  display: none;
  width: 757px;
  height: 264px;
  color: #454545;
  font-family: Arial, sans-serif;
  overflow: hidden;
  background: white;
  z-index: 10000;
  padding: 0 10px;
  border: 2px solid;
  border-radius: 18px;
  z-index: 12000;
}

#pop-up header {
  text-align: center;
  border-bottom: 1px solid #bababa;
  padding: 24px;
}
#pop-up header h2 {
  margin: 0;
  padding: 0;
  color: #454545;
  font-size: 24px;
}

#pop-up #text {
  background: url(pop-up/img/mail.png) no-repeat 10px 21px;
  padding: 24px 4px 24px 78px;
  text-align: left;
}
#pop-up #text p {
  padding: 0;
  margin: 0;
  line-height: 18px;
  font-size: 16px;
}

#pop-up #check {
  width: 100%;
}
#pop-up #check a {
  background-color: #2ec0fe;
  text-align: left;
  border: 1px solid #a7a7a7;
  width: 374px;
  color: #333333;
  border-radius: 10px;
  box-shadow: 0px 0px 0px rgba(0, 0, 0, 1),
    inset 0px 0px 5px rgba(255, 255, 255, 1);
  cursor: pointer;
  text-decoration: none;
}
#pop-up a:nth-child(1) {
  float: left;
}
#pop-up a:nth-child(2) {
  float: right;
}
#pop-up .check-text {
  width: 268px;
  display: block;
  padding: 32px 20px 32px 100px;
}
#pop-up .check-text strong {
  font-size: 22px;
  font-weight: 700;
}
#pop-up .check-text span {
  font-size: 18px;
}
#pop-up #check-text-okay {
  background: url(pop-up/img/okay.png) no-repeat 27px 24px;
}
#pop-up #check-text-okay strong {
  color: #69a61a;
}
#pop-up #check-text-not-okay {
  background: url(pop-up/img/not-okay.png) no-repeat 30px 30px;
}

#pop-up #close {
  cursor: pointer;
  width: 24px;
  height: 24px;
  display: block;
  position: absolute;
  right: 8px;
  top: 8px;
  background-image: url(pop-up/img/close.png);
  background-repeat: no-repeat;
}

/* popup perso */
#pop-up.perso {
  width: 800px;
  height: 538px;
  border-radius: 0;
  border: 0;
  padding: 0;
  margin: 0;
}
#pop-up.perso #img-pop-up {
  width: 800px;
  height: 538px;
  display: block;
}
#pop-up.perso #close {
  top: 0;
  right: 0;
  width: 160px;
  height: 43px;
  background-color: #000;
  color: #fff;
  background-position: 20px 10px;
  background-size: 20px;
}

#pop-up.perso #close:before {
  content: "Fermer";
  font-size: 16px;
  font-weight: bold;
  vertical-align: middle;
  display: block;
  text-align: center;
  padding: 0.75em 0 0.75em 1em;
}

/* un peu de marge par défaut sur le recaptcha invisible */
.recaptcha-holder {
  margin-bottom: 5px;
}

/* Onglet mon compte */
#onglet_login {
  position: absolute;
  top: 10px;
  right: 225px;
}

/* espace client */
#espace-client {
}
#espace-client form {
  padding: 0;
  width: 300px;
  max-width: 100%;
  margin: 0 auto;
}
#espace-client label {
  display: block;
  font-weight: bold;
}
#espace-client .reg_error {
  display: block;
  font-weight: normal;
  background: #fdd;
  padding: 1em 0.5em;
  margin: 2em 0;
}
#espace-client label.error {
  font-weight: normal;
  color: #c00;
}
#espace-client input.error {
  border: 1px solid #ff0000 !important;
  background: #fce8e8;
}
#espace-client div.champ,
#espace-client .champ-bt {
  margin: 0 auto 18px;
}
#espace-client .champ-bt {
  text-align: center;
}
#espace-client .legende-de-champ {
  display: block;
}
#espace-client input[type="text"],
#espace-client input[type="email"],
#espace-client input[type="password"] {
  width: 100%;
}
#espace-client input[type="submit"],
#espace-client input[type="button"] {
  margin-right: 0;
}
#espace-client #se-connecter #lien-mdp-oublie {
  text-align: right;
  padding-top: 0.5em;
}
#mentions_cnil {
  font-size: 10px;
}
#mentions_cnil p {
  margin: 0.4em 0;
}
.ec-lien-home {
  text-align: right;
  padding: 10px;
}
.ec_boutons_home {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.ec_boutons_home .btn {
  flex: 0 0 48%;
  padding: 100px 15px 15px;
  text-align: center;
  margin: 0.5em 0.5em 0;
  display: block;
  box-sizing: border-box;
  background-size: 120px 90px !important;
  background-repeat: no-repeat !important;
  background-position: center 10px !important;
}
.ec_boutons_home .btn.ec_home_data {
  background-image: url(img/ec_icon_data.png);
}
.ec_boutons_home .btn.ec_home_resa {
  background-image: url(img/ec_icon_resa.png);
}
.ec_boutons_home .btn.ec_home_cartes {
  background-image: url(img/ec_icon_carte.png);
}
.ec_boutons_home .btn.ec_home_fid {
  background-image: url(img/ec_icon_fid.png);
}
.ec_boutons_home .btn.ec_home_logout {
  background-image: url(img/ec_icon_logout.png);
}

#espace-client-accueil-chapeau-fid {
  padding: 15px;
  margin: 15px;
  background-color: #eeeeee;
  border-radius: 5px;
}
#espace-client-accueil-chapeau-fid strong {
  color: #e5003b;
}
#espace-client-accueil-chapeau-fid p strong.points {
  color: #006ebf;
}

.carte-qrcode {
  display: block;
  float: left;
  width: 128px;
  height: 128px;
  margin-right: 8px;
}
.carte-enregistree {
  clear: both;
  border: solid 1px #ccc;
  border-radius: 4px;
  height: auto;
  overflow: hidden;
  padding: 8px;
  margin-bottom: 8px;
}
#ajouter-carte {
  clear: both;
}
#espace-client .carte-enregistree form {
  width: auto;
  margin: 5px 0 0 0;
}

#afficher_pass,
#masquer_pass {
  display: inline-block;
  margin-left: 13em;
  cursor: pointer;
}

/* mes résas */
.recap_commande {
  display: flex;
  flex-wrap: wrap;
  border: solid 1px #ccc;
  padding: 10px;
  border-radius: 5px;
  margin: 0 0 20px 0;
}
.ec_resa,
.ctn_qr {
  flex: 0 0 60%;
  margin: 0;
  padding: 5px;
  box-sizing: border-box;
  position: relative;
}
.ctn_qr {
  flex-basis: 40%;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .recap_commande,
  .ec_resa,
  .ctn_qr {
    display: block;
  }
}

.ec_seance {
  font-size: 15px;
  margin-top: 0;
}
.ec_qr {
  max-width: 200px;
  width: auto;
  margin: 0 auto;
  position: relative;
}
.infos_qr {
  margin-bottom: 0;
  color: #666;
  font-style: italic;
  padding: 0 20px;
}

.ec_qr.qr_mask:before {
  content: "Cliquez ici pour afficher le code";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #efefef;
  border: solid 1px #ccc;
  box-sizing: border-box;
  padding: 35% 10% 0 10%;
  text-align: center;
}

.ec_past,
.ec_past + .ctn_qr {
  opacity: 0.5;
}

/* cookies */
.cookie_table,
.cookie_table th,
.cookie_table td {
  border: solid 1px #ccc;
  border-collapse: collapse;
}
.cookie_table th,
.cookie_table td {
  padding: 5px;
}
.cookie_table {
  text-align: left;
}

/* pas de bouton compte client par défaut */
#access_header_espace_client {
  display: none;
}

/* liste des fevt */
.fevt_list {
  padding: 10px 10px 20px 10px;
  display: flex;
  flex-wrap: wrap;
}
.fevt_list .evenement {
  position: relative;
  padding: 10px;
  box-sizing: border-box;
  overflow: hidden;
  flex: 0 0 50%;
}
.fevt_list img {
  height: auto !important;
  max-width: 100% !important;
}
.fevt_list .affiche,
.fevt_list .fevt_aff_ph {
  display: block;
  max-width: 100% !important;
}
.fevt_list .fevt_aff_ph {
  min-height: 200px;
  background: #ccc;
}
.fevt_list .fevt_type {
  display: block;
  vertical-align: middle;
  background: #ddd;
  color: #222;
  padding: 2px 4px;
  float: left;
}
.fevt_list .fevt_type_sans .fevt_type,
.fevt_list .fevt_type_ .fevt_type {
  display: none;
} /* on affiche pas la catégorie sans/vide */

/* fevt pleine page */
.fevent_full .fevt_type {
  display: none;
}
.evenement .clr,
#actus_nav {
  display: none;
}
.fevt_film {
  display: flex;
  margin: 0 20px 20px 20px;
}
.fevt_film img {
  display: block;
}
.desc_fevt {
  padding: 5px 0 5px 0;
  border-bottom: solid 1px #ccc;
  margin: 0 20px 20px;
}
.fevt_infos_film {
  flex-basis: 37%;
  padding: 10px;
}
.seances_liees {
  flex-basis: 42%;
  text-align: left;
  align-self: center;
  padding-left: 30px;
}
.les_films {
  overflow: hidden;
}

.fevt_infos_film p,
.fevt_infos_film h3 {
  margin: 0 0 0.333em 0;
  padding: 0;
}
.fevt_infos_film p {
  font-weight: 700;
}
.fevt_infos_film strong,
.fevt_infos_film .fevt_superbillet_detail {
  font-weight: 400;
}
.fevt_film_liens {
  display: none;
}

.seances_liees p {
  display: inline-block;
  vertical-align: top;
  margin: 10px 20px;
  text-align: center;
  width: auto;
}
.seances_liees .seance_a {
  display: none;
}
.seances_liees .jour_texte {
  color: #da6a18;
  display: block;
  padding-bottom: 3px;
}
.seances_liees .hor {
  background: #fff;
  display: inline-block;
  padding: 6px 15px;
  border-radius: 5px;
  border: solid 1px #ccc;
}
.seances_liees .passed .hor {
  color: #999;
  font-style: italic;
}
.seances_liees .passed {
  display: none;
} /* finalement non affichées */
.seances_liees .hor {
  width: 120px;
  font-size: 18px;
  font-weight: 700;
  color: #000;
}
.seances_liees .hor:hover,
.seances_liees .hor:visited:hover,
.seances_liees .hor:focus {
  text-decoration: none;
  color: #e30015;
  border-color: #e30015;
}
.infos_seance {
  display: block;
}
.infos_seance .tag {
  width: 20px;
  height: auto;
  display: inline-block;
}

.infos_seance .tag-PASS-SANI {
  width: 30px !important;
}

@media screen and (max-width: 980px) {
  .fevt_film {
    flex-wrap: wrap;
  }
  .fevt_film > a {
    flex: 1 0 10%;
  }
  .fevt_film .affiche {
    max-width: 100% !important;
  }
  .fevt_infos_film {
    flex: 1 0 80%;
  }
  .seances_liees {
    flex: 1 1 100%;
    padding: 10px 10px 10px 12%;
  }
}
@media screen and (max-width: 720px) {
  .fevt_film > a {
    flex: 1 0 15%;
  }
  .seances_liees {
    padding-left: 15%;
  }
}
@media screen and (max-width: 640px) {
  .fevt_film > a {
    flex: 1 0 20%;
  }
  .seances_liees {
    padding-left: 20%;
  }
  .fevt_infos_film {
    flex: 1 0 70%;
  }

  .fevt_list {
    display: block;
  }
}
@media screen and (max-width: 320px) {
  .fevt_film {
    flex-direction: column;
  }
  .fevt_film > a,
  .fevt_infos_film,
  .seances_liees {
    flex: 1 1 100%;
    padding: 0 10px;
  }
  .fevt_film > a {
    text-align: center;
    padding: 0;
    max-width: 50%;
    margin: 10px auto;
  }
}

.dns_salle {
  display: flex;
  width: 100%;
}
.dns_salle .dns_it {
  flex: 1 1 33%;
  padding: 0.25em 0.5em;
}

/*On n'affiche pas le tag pour les avants premières en festival*/
.tag-AVANTPFEST {
  display: none;
}

.lsep {
  height: 0;
  overflow: hidden;
  clear: both;
  margin: 15px 0;
}
.lsep.lsolid {
  border-top: solid 1px #000;
}
.lsep.ldot {
  border-top: dotted 1px #000;
}
.lsep.ldash {
  border-top: dashed 1px #000;
}

.lsep.lsepal_l {
  margin-left: 0;
}
.lsep.lsepal_m {
  margin-left: auto;
  margin-right: auto;
}
.lsep.lsepal_r {
  margin-left: auto;
  margin-right: 0;
}

.bppdf {
  text-align: center;
}

/* ajouts nouveaux template */
/* gestion du sticky */
#header.sticky {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
}
.dfp-skin #header.sticky {
  position: static;
} /* en static pour ne pas bouger */
.dfp-skin #masthead {
  padding-top: 0 !important;
} /* masthead sans padding vu que le header reste en place */

/* barre annexe */
.headsec_cinemas,
.headsec_cinemas li {
  list-style: none;
  padding: 0;
  margin: 0;
  display: inline-block;
}

/* portail - liste cinés fid et autre */
.lc_liste,
.lc_liste .lc_cine {
  margin: 0;
  padding: 0;
  list-style: none;
}
.lc_liste .lc_cine a {
  display: block;
  padding: 0.25em;
  margin: 0.25em 0;
  border-bottom: solid 1px #ccc;
}
.lc_liste .lc_cine:last-child a {
  border: 0;
}

/* Publicités */
div.megaban {
  text-align: center;
}

/* modale alerte résa film */
.modale_dispo_resa #alerte_dispo_resa_captcha {
  margin-bottom: 10px;
}
.modale_dispo_resa input[type="text"],
.modale_dispo_resa input[type="email"],
.modale_dispo_resa input[type="submit"] {
  width: 100%;
  display: block;
  margin: 0 0 10px;
  max-width: 100%;
}
#alerte_dispo_resa_msg,
#alerte_dispo_resa_form_email-error {
  padding: 10px;
  color: #fff;
  transition: opacity 1s ease-in-out;
}
#alerte_dispo_resa_msg.success {
  background: seagreen;
}
#alerte_dispo_resa_msg.error,
#alerte_dispo_resa_form_email-error {
  background: crimson;
}